Commit Graph

109 Commits

Author SHA1 Message Date
Campbell Barton
6a9a49f8af bugfix for grease pencil freeing order.
it was freed before objects which would then decrease its usercount - accessing freed memory.

Also fixed error in own last commit.
2010-10-29 07:11:45 +00:00
Campbell Barton
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00
Campbell Barton
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
Campbell Barton
25bbf99a79 replace SIDE_OF_LINE macro with line_point_side_v2() inline function.
made a number of files build without unused warnings.
2010-10-15 05:18:45 +00:00
Campbell Barton
8a4fe62843 misc fixes found with clang's static checker. 2010-10-07 10:04:07 +00:00
Campbell Barton
629c19ff87 bugfix [#23593] using material_slot.material=material_slot.material.copy() causes inescapable loop and blender to hang 2010-09-06 11:29:23 +00:00
Campbell Barton
df4dd70d7b various utf8 compatibility fixes
- OBJ import/export now work with non utf8 paths. (all exporters and importers need changes like this)
- strip non utf8 chars from new ID blocks (also applies to renaming)
- set the file rename button to allow non-utf8 chars.
2010-08-30 08:28:48 +00:00
Campbell Barton
2462d4976b possible fix [#23331] Hidden Bones Contribute to Axis Normal
cant redo this bug but noticed a number of places where bone selection/hidden state isn't being set properly.
2010-08-22 10:52:30 +00:00
Campbell Barton
6e141b7331 own commit to fix a naming bug caused a new bug. 2010-08-22 07:11:40 +00:00
Campbell Barton
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
Campbell Barton
1280b6f902 - add back prefix for ID lists (LF) for linked and fake user for search fields.
- remove debug print for left/right name flipping & commented test from the sequencer.
2010-07-31 01:06:08 +00:00
Campbell Barton
449f8ce4fe bugfix [#22859] Multi-user images cant be made into single user in texure panel.
turns out this isnt exactly a bug since support was never written for this but may as well support it.
now rna/py can do image.copy() too.
2010-07-30 06:09:23 +00:00
Campbell Barton
bd30c4da8a [#22876] Add new scene, stacker ".00" bug
fix for r30441, (reverted for the beta), splitIDname wasnt returning the correct string length.
2010-07-23 04:41:27 +00:00
Brecht Van Lommel
edeef8bcd7 Revert revision 30441: [#22876] Add new scene, stacker ".00" bug
This commit broke unique datablock naming, tried to fix it properly but the
code here is too tricky to change now, will just reopen the bug report.
2010-07-21 10:39:51 +00:00
Campbell Barton
fd31436897 spelling correction: alredy --> already 2010-07-17 18:08:14 +00:00
Campbell Barton
02ef91a619 [#22876] Add new scene, stacker ".00" bug
finding duplicates is a bit faster now too since it doesnt split the name and number before comparing ID's prefix.
2010-07-17 16:17:30 +00:00
Joshua Leung
faf1c9a4bb Bugfix #22685: Screen update slow, animation player ALT-A, files created with 2.4x
Modifiers were being mistakenly recalculated at every frame as long as the object had animation, slowing things down due to incorrect depsgraph recalc tags.

Renamed OB_RECALC -> OB_RECALC_ALL to reduce future confusion. During this process, I noticed a few dubious usages of OB_RECALC, so it's best to use this commit as a guide of places to check on. Apart from the place responsible for this bug, I haven't changed any OB_RECALC -> OB_RECALC_OB/DATA in case that introduces more unforseen bugs now, making it more difficult to track the problems later (rename + value change can be confusing to identify the genuine typos).
2010-07-05 03:55:28 +00:00
Campbell Barton
9cbbc9d3af rename some rna properties filename --> filepath
* filename == "foo.ext"
 * filepath == "/path/to/and/including/foo.ext"

this was alredy followed in some places not not everywhere.
2010-06-02 17:58:28 +00:00
Campbell Barton
5e74542bb6 use size_t for MEM_allocN_len as well as some of its callers 2010-04-29 21:46:25 +00:00
Campbell Barton
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
Campbell Barton
2910d75f2c svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27875:27895 2010-03-31 07:22:18 +00:00
Brecht Van Lommel
71446eea57 * Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
  by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
  Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
  /usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
  by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
  bpy.data.images.load(), missed this call.

(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
Campbell Barton
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
Campbell Barton
546ca400d8 removed unused includes, except for physics and particle related files 2010-03-21 13:42:25 +00:00
Campbell Barton
1708ac0723 rename some functions to use easier to understand names.
'BLI_makestringcode' --> 'BLI_path_rel'
'BLI_convertstringcwd' --> 'BLI_path_cwd'
'BLI_convertstringframe' --> 'BLI_path_frame'
'BLI_convertstringframe_range' --> 'BLI_path_frame_range'
'BLI_make_cwdpath' --> 'BLI_path_cwd'
2010-03-09 17:36:23 +00:00
Campbell Barton
c0f56503bf disallow naming ID datablocks an empty string, this wont work, you cant select them in the ID user input and it can mess up writing files based on names.
also fixed some warnings.
2010-03-06 18:21:57 +00:00
Campbell Barton
83fd3fbb43 copy animdata and id-props when copying material node tree's to avoid double memory frees or node trees sharing animdata when they shouldnt. 2010-02-15 08:50:04 +00:00
Campbell Barton
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Joshua Leung
78934da5c4 A few minor code cleanup tweaks for recent commits in animation code, to better follow conventions elsewhere here :) 2010-01-30 05:08:42 +00:00
Campbell Barton
3946ae56ac deleting objects which were driver targets would crash blender.
added a utility function BKE_animdata_main_cb
which loops over all AnimData's of all ID's
2010-01-29 21:16:21 +00:00
Campbell Barton
78798ba4df rename free_group to free_group_objects since it doesnt free the group its self. 2010-01-12 13:42:13 +00:00
Campbell Barton
bce42d6b5e group instance still didnt work in some cases, now tag ID flag when linking as well as appending so its easy to know if an ID is newly added or not. 2010-01-07 16:19:38 +00:00
Campbell Barton
5cd837a562 * speedup for animating bones, in one scene with sintel and a dragon animated its over 4x faster.
* utility function BLI_findstring to avoid listbase lookup loops everywhere.
  eg: 
    ListBase *lb= objects= &CTX_data_main(C)->object;
    Object *ob= BLI_findstring(lb, name, offsetof(ID, name) + 2);

* made some more math functions use const's, (fix warnings I made in previous commits)
2009-12-29 15:40:26 +00:00
Matt Ebb
03c1e4374b Fix for [#20032] outliner cuts off long names after pasing them
The system that ensures unique ID names chopped off the end 
of the name to add a number suffix (.001 or so) regardless of 
whether it already had a number or not. In this particular case, 
(no suffix number) it now just shaves off the last letter of the 
name until it's unique.

I've been testing this patch here for a while, and seems to work 
properly, if anyone would like to have a quick look over this 
commit and doublecheck, that would be great too.
2009-12-28 01:31:47 +00:00
Joshua Leung
9f7038c5a7 * Warning fixes for previous commit for Modifier renaming.
* Removed some old code (depsgraph) that was already commented out
2009-10-09 12:16:58 +00:00
Joshua Leung
2a21c1acbe Animato: Bugfixes
* #19501: Only the first user of multi-user IPO's were getting converted to AnimData. 
Now, this AnimData gets converted multiple times - once for each user. This will mean that multi-user actions will no longer be multi-user after conversion though, although this could be fixed manually if there really is such a need.

* #19503: Nasty memory leaks when duplicating objects with AnimData
Fixed a few little oversights made when coding the copying code for NLA-data (which resulted in exponential copying-loops of doom), and sanitised the AnimData copying code for ID-blocks to be simpler to manage.
2009-09-30 04:59:14 +00:00
Brecht Van Lommel
4539bb9a98 Link/Append, small changes:
* Added separate menu items for Link and Append.
* Change some OPERATOR_FINISHED to OPERATOR_CANCELLED.
* Remove some IPO specific hacks, these are no longer ID blocks,
  so not necessary to take into account.
* Some comment and code formatting tweaks.
2009-09-14 12:30:49 +00:00
Andrea Weikert
9a25d22326 2.5 filebrowser
Appending and Linking 
* Linking Operator, invokes filebrowser for Append/Link
* Separated the append/link function into three parts:
** BLO_library_append_begin finds main for appending
** BLO_library_append_named_part appends one Object,Group, Material, ...
** BLO_library_append_end actually reads and expands the libraries

NOTE 1:
I also changed the returned properties for the filebrowser operators to the following convention:
"path" - the full path to a file or directory, means what is in directory + filename buttons in filebrowser
"directory" - the content of the directory button in filebrowser
"filename" - the content of the filename button in filebrowser
Usually only path should be required, but in some cases it might be more convenient to retrieve the parts separately.

Ton, Brecht: If you have time to take a look, let me know if anything needs to be fixed.
2009-09-12 19:54:39 +00:00
Brecht Van Lommel
3daa283604 2.5: Object module
* Split object_edit.c into multiple files:
  object_add.c, object_edit.c, object_hook.c, object_relations.c,
  object_select.c, object_transform.c.
* Rename files to have consistent object_ and mball_ prefix:
  object_shapekey.c, object_lattice.c, object_vgroup.c, mball_edit.c.
* Added operators:
  * vertex group menu and set active
  * apply location, rotation, scale, visual transform (location is new)
  * make local
  * make vertex parent
  * move to layer
  * convert to curve/mesh (not finished yet)
* Many small fixes for marked issues, but still much code to be cleaned
  up here...
2009-09-09 11:52:56 +00:00
Brecht Van Lommel
5dd9f7635a 2.5
Make local and make single user are back for ID template.

Internally these calls got unified, id_make_local and
id_copy are now used to do these operations for all types
that support it. Also reveals that for some ID types the
implementation is still missing.

Further, some small changes:

* unlink_text is now in blenkernel.
* copy_group was implemented.
* ID template now has an open operator again.
* fix preview to not change material reference count,
  even if temporary it shows up with threaded preview.
* id_unlink unifies unlink for text, object and group.
2009-09-04 21:02:43 +00:00
Joerg Mueller
6c5c58e057 2.5: Sound branch merge!
See mailing list for additional information.
2009-08-09 21:16:39 +00:00
Campbell Barton
bc093b4cc4 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22205:22290 2009-08-07 04:41:15 +00:00
Campbell Barton
e7c53e20a1 gameObject -> blenderObject mapping was being created but wasnt needed.
Added utility func tag_main for (un)tagging every ID in a Main database with LIB_DOIT.
2009-08-07 03:51:28 +00:00
Brecht Van Lommel
1b1667018e UI:
* Added Constraints template and Add Constraint operator.
* Added toggle=True/False parameter to uiItemR, to get a
  toggle button (actual button) rather than an "option"
  button (checkbox) 
* Added OPTION/OPTIONN button type, to distinguish with
  TOG/TOGN.

RNA:
* Make all modifier pointers editable, including correct updates.
* Added notifiers and updates to constraints.
* Fix a stack corruption, pointed out by Andrea, and potentially
  causing crashes.
2009-05-27 00:03:49 +00:00
Brecht Van Lommel
af02a0aa4e UI
* Headers and menus can now be created in python.
* Replaced the uiMenuItem functions to create menus with equivalent
  uiItem functions using a layout, removing duplicated code.
* More uiItem functions are now exposed to python.
* The text editor header, panels and one of its menus are now created
  in space_text.py.
* Buttons window data context icon new changes depending on active
  object.

Issues
* Icons are not wrapped yet, hardcoded ints at the moment.
* The ID browse template is unfinished.
2009-04-22 18:39:44 +00:00
Ton Roosendaal
74b12d1d6d 2.5
Patch from Joshua, converting Grease Pencil to 2.5.
All GP data now is an ID block, allowing re-use, link and append.
For better contextual control within 2.5, these GP ID's will get
linked to actual data, like NodeTrees, Scenes, Images or Objects.
That will ensure Undo works, and opens up exciting new use cases
as well. :)

Patch note: on reading files, GPencils linked from editors will
get moved to the main library, using standard naming (indicating
where it was used), and with "Fake User" set. That way the user
can manually relink the pencils where appropriate.
We can check on just linking GP to some default, like 3d window
pencils to Scene? Nice to experiment with.

Notes for Joshua:
- for reading old GPencil, it has to use old code as well, meaning
  to tread data as "indirect data, within another ID".
- Saving ID data means the chunk in file BHead needs the ID_GD code,
  and not "DATA", which indicates 'indirect data'. That's the file
  format spec.
- I've added do_versions_gpencil_2_50(), feel free to further tweak
  things here, like linking things to scene or so.
- Formerly GPencil saved 2.50 files won't convert gpencil
2009-04-20 10:13:55 +00:00
Ton Roosendaal
1122b60f31 2.5
Animsys: added integrated copy of animdata in copy_libblock().
-> by default animdata-copy should relink ID data like Action,
   and put a facility to really duplicate it in other code.
   (single_user_animdata or so)
2009-01-30 14:23:31 +00:00
Joshua Leung
a017982074 Animato - Basic version patching support
This is work-in-progress patching support for converting animation saved in old system to work in the new one. 

* Only IPOs/Actions directly attached to Objects + Shapekeys are converted for now. More types will follow...
* This is currently done as a step outside of do_versions() due to problems with various pointers not having been resolved yet, but which are necessary for correct resolution of issues such as drivers... However, the current code does illustrate how the data should be converted to give best results/compat between the two systems.
* Still need to get the converted data working with depsgraph correctly. Currently, some of my testfiles work, but the BBB files still don't.
2009-01-22 10:53:22 +00:00
Joshua Leung
53ae509cc5 2.5 - AnimSys Data management stuff...
* Removed nAction struct. We'll be using good ol' bAction structs again, but putting new data in a different list. Apart from that, the data is similar enough to do so.

* Rearranged code in DNA_action_types.h while renaming the structs to avoid confusion over what is currently in use...

* Added freeing and AnimData execution loops for many other ID-types too. (NOTE: I've added AnimData in NodeTree struct too, but it's not clear to me where the relevant data-management calls should go in Nodes code).

* File writing code should now only write the new data to files
2009-01-18 10:41:45 +00:00
Joshua Leung
023765eb48 2.5 - AnimData fixes
* Made AnimData blocks be stored as pointer instead of directly in the ID-datablock, so that fewer files will need to be recompiled everytime some animation settings change.

* Tried to fix some of the compiler errors that pop up in Yafray code. If this commit doesn't fix it, just disable Yafray code for now (WITH_BF_YAFRAY=0 for scons)...
2009-01-17 05:36:58 +00:00