Commit Graph

1413 Commits

Author SHA1 Message Date
Campbell Barton
a15189f845 fix for clang static check warnings.
- convertblender.c, remove assignments to unused vars.
- readfile.c, fix 2 possible crashes. null pointers were being checked for then used later without checking.
- space_graph.c, use switch statement for automatic color assignment rather then a float array.
2011-01-06 01:35:07 +00:00
Campbell Barton
5f64450726 remove assignments which are unused. 2011-01-06 01:29:13 +00:00
Xavier Thomas
a2d055af14 Fix bug #25471 2011-01-04 04:56:27 +00:00
Joshua Leung
f7857ec81b 2.4x <-> 2.5 Regression Fixes: Shapekey Problems
This commit partially fixes the problems with Shapekeys from older
files, as seen from the Regression suite (relative.blend and
dolphin.blend in particular).

In older files, keyblock->slidermax was never truly set to 1.0 even
though the UI may have shown such a value (which was bizzarely being
sourced from somewhere else). Hence, after loading the files in 2.5,
the shapekeys wouldn't animate, as the value would get clamped between
0 and 0.

To fix this, I've added a version patch which corrects these
situations in old files, and I've adjusted the slider-RNA code so that
it is not possible to set up such clamping anymore.

TODO:
The fixes detailed here only make it possible for these files to work
again in 2.5. However, I haven't been able to find a way to get the
files to actually work in 2.5 without manually changing the active
shapekey (per object) after loading the files with these patches
applied. Possibly it's just some depsgraph magic needed, unless
there's still some other evil voodoo in the shapekey code
2011-01-03 11:58:19 +00:00
Ton Roosendaal
118667c1bf Small feature for debugging pleasure:
The svn revision nr is saved in Blender file header now.
Can only be retrieved with running blender -d now.
2011-01-02 13:33:32 +00:00
Janne Karhu
9f88e0faeb Fix for [#25427] cloth or soft body crash un Undo
* Argh my bad, sorry about this!
* Now only the actual data array is saved to avoid constant re-allocations, but no relations to active data are kept.
* Also reverted Ton's quick fix for the crash as it's not needed anymore.
2011-01-02 03:55:26 +00:00
Ton Roosendaal
803e9a2908 Bugfix #25427
Serious *bad* crash in undo introduced by commit Janne dec 21st.

Time window now stores some kind of cache for fluids/cloth, but
it's pointing (in SpaceTime) to data inside Objects. (Not ID).

That's really not allowed... this commit fixes crashes but the
cache code really needs to be redesigned. I'm also afraid this
crash is going to frustrate everyone using physics...
2010-12-31 12:37:30 +00:00
Brecht Van Lommel
683694b520 Fix crash on load with a particular startup.blend, don't know how to redo
creating it, but this should be set to NULL on read.
2010-12-31 11:55:11 +00:00
Ton Roosendaal
f543fe1500 Bugfix #25341
Child-of constraint issue: on adding, it wasn't checking owner
correctly for Bones, resulting in a constraint working in wrong
space; it looked as if transform was applied double when moving
the object. Only adding via Py API went wrong btw.

Also found a silly check for drawing constraints, which caused
constraint initialization to happen for every object on every
redraw!

Implementation note: con->flag CONSTRAINT_SPACEONCE was only used
for child-of constraints in Bones, so I've patched it on file
reading to always set the flag. Marked with XXX, so it can be
removed one day. Now at least things get corrected well for
imported armatures.
2010-12-23 13:16:56 +00:00
Campbell Barton
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
Ton Roosendaal
ff7d106da4 Related to previous commit: Custom shapes for Bones now increase user
counter for linked objects.
2010-12-22 16:44:28 +00:00
Campbell Barton
b0f87a1746 rename addlisttolist() to BLI_movelisttolist()
name was misleading because the list items were removed from the source list.
(no functional changes)
2010-12-21 14:49:34 +00:00
Nathan Letwory
a8febab31b Workaround for blenderplayer not linking on linux with scons.
Maybe as a next big, uncool project would be: solve bad level calls.
2010-12-21 00:21:42 +00:00
Campbell Barton
f90a2123ee no functional change: only check against OB_RECALC_ALL but don't use for assignment.
Makes adding new flags give ambiguous results and also makes it less easy to tell whats intended.
In some places it looks like OB_RECALC_TIME should be left out too.
2010-12-17 15:51:42 +00:00
Janne Karhu
f7c60cab96 Fix for [#25202] Blender crashes when opening smoke simulations made with Blender 2.55.1 r33530
* Since r33398 smoke only uses one pointcache, but old versions want two caches so save new files with a fake second pointcache.
2010-12-16 16:09:23 +00:00
Dalai Felinto
3ae56ea1b3 small tweak, moving /* put compatibility code here until next subversion bump */ {} to a distinct (right) place
when doing a version bump, please remember to do that.
2010-12-15 22:46:43 +00:00
Sergey Sharybin
143573f507 Fix #25241: Wordwrap memory leak /w Undo
Looks like drawcache shouldn't be freed when restoring screen because spaces
aren't freeing and could still use caches.
2010-12-15 21:25:54 +00:00
Janne Karhu
7bf5d9449c "Fix" for [#25184] Forces for growing hair - update inconsistency - as discussed with Jahka on Saturday on IRC
* New option to "Regrow hair" for each frame.
* This was perhaps more a feature request, but there was a similar useful feature called "animated hair" in particles at some point.
* The previous behavior for hair growing was inconsistent to say the least, so this is a nice option to have.
2010-12-13 10:45:24 +00:00
Joshua Leung
d09bc78e6b Reshuffled AnimData reading functions in writefile.c as per an old
comment I'd left in there before this code had been merged back from
NLA-SoC branch
2010-12-13 08:08:09 +00:00
Joshua Leung
1474b32456 Lattices now have AnimData
This allows manual (point by point) animation of their control verts,
although many other settings cannot really be animated with any
visible effects yet. Interestingly, lattices also had IPO block
pointers, though they were never really used (AFAIK).

Todo:
- Animation Editor support has yet to be added. I've got a few other
things to add to, so will group those changes together.
2010-12-13 06:31:49 +00:00
Campbell Barton
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
Campbell Barton
4dceafc928 bugfix [#24995] Object rotation seems to be applied incorrectly
- Object actuator rotation was being scaled by: (1/0.02)*2*PI/360 == 0.872, since revision 2. 
- Remove scaling and use do_versions to adjust existing files.
2010-12-06 07:45:07 +00:00
Campbell Barton
a724918cf3 bugfix [#22663] object material slots not updated for library data 2010-12-06 02:32:16 +00:00
Campbell Barton
60063d5383 - converted path cleaning on file load to use bPath Iterator functions - image & font and sequence paths were being cleaned but not multires, voxel & sound paths.
- skip fixing file paths on undo.
- simplify bpath alloc and free functions, also pass Main structure so as not to rely on G.main, (needed for file load).
2010-12-06 00:52:30 +00:00
Campbell Barton
2f366d1544 use BLI_strnlen rather then strlen when comparing against fixed lengths. 2010-12-05 23:50:55 +00:00
Brecht Van Lommel
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
Ton Roosendaal
cadd08b16f Bug fix #21900
Issue with Library linking: if you already have libraries linked in,
and you attempt to link more data, using internally already linked
stuff (like a group with group links) the linkage would fail. It did
resolve on save-load though.

There's a long commented history in this code explaining it. I found
out it was because of manual step-by-step linking versus normal file
reads. In the first case, the "lib pointer map" was missing references.
2010-12-04 15:45:16 +00:00
Campbell Barton
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
Ton Roosendaal
f94dd65999 Bugfix #25010
When loading files without UI (quit.blend) you got memory-free errors
for fileselect. Pointers were NULLed where not needed.
2010-12-02 18:27:04 +00:00
Ton Roosendaal
f4205498a9 Bugfix #24890
Particle cache reading: crash when loading .blend on a different
endian system, code was dumping arrays in .blend without DNA.

General warning for devs: avoid generic write_data and dynamic
arrays in DNA.
2010-12-01 15:58:45 +00:00
Campbell Barton
ad0dd98f26 fix for some mistakes in recent commit. 2010-12-01 02:40:13 +00:00
Janne Karhu
17cd5811e7 Smoke now uses only one point cache where both normal and high resolution smoke are stored together:
* Separate caches were causing quite a lot of problems both in principle and practice.
* For example it doesn't really make sense to have different frame ranges for normal and high resolution smoke, but this was fully possible before.
* Also to fully bake the smoke you had to do a "Bake All Dynamics", which completely defeats the whole point of the feature!
* As a result of this change the smoke cache usage is much much simpler and less error prone.
* This is quite a big change, but hopefully there should be less rather than more problems as a result :)

Some other related changes:
* Changing the cache name now works for disk caches properly too, it now just renames the cache files so should be faster too!
* Smoke is now always forced to disk cache with step 1 on file load as there were some strange cases where smoke was trying to use memory cache.
* Disabled smoke debug prints from console.
* Disabled changing smoke parameters when smoke is baked.

Note to users: The unfortunate side effect of this is that old high resolution simulations have to be baked again, but in return you get much better and more logical functionality. Sorry none the less!
2010-11-30 21:31:18 +00:00
Campbell Barton
e8397e6193 include headers in cmake source, added a script to check for consistency, reporting missing headers & C files.
this is important so IDE's using CMake integration always get blender headers. - QtCreator & MSVC for eg, probably others too.
2010-11-29 04:35:56 +00:00
Brecht Van Lommel
c7c034fedb Fix #24782: proxy armature Layer state not saved with file. Was in 2.4x but
not ported to 2.5x, implemented a bit different now to fit RNA better.
2010-11-24 14:05:53 +00:00
Campbell Barton
4235a9ff02 when fail to read a blend, report the filepath too, less confusing when chaining together multiple blends. 2010-11-24 12:17:26 +00:00
Janne Karhu
4aeeee8819 Cached smoke wasn't being drawn on file load before going to simulation start frame. 2010-11-23 14:04:05 +00:00
Ton Roosendaal
6e5ccba6da Bugfix #24801
- Reading 2.4x files could cause print "missing region type".
  Appeared the 2.50 do_versions patch differed from default region
  definitions
- Sometimes editors showed wrong button for type browsing.
  Was because variable wasn't correctly reset on saves.
2010-11-20 16:00:36 +00:00
Campbell Barton
51dcbdde03 use 'const char *' by default with RNA functions except when the value is flagged as PROP_THICK_WRAP.
Also use const char in many other parts of blenders code.

Currently this gives warnings for setting operator id, label and description since these are an exception and allocated beforehand.
2010-11-17 09:45:45 +00:00
Campbell Barton
7e0f9229d6 fix for fix, r33086.
- incorrect range check broke ZYX euler rotations, use MIN/MAX constants so this doesn't happen again.
- BGE Armature PyAPI also wasn't using correct min/max with rotation modes.
- clamp on file read rather then when calling the rotation functions, so developers don't use invalid args without realizing it.
- added assert() checks for debug builds so invalid axis constants don't slip through.
2010-11-16 01:19:37 +00:00
Campbell Barton
43f396218f move report/operator view out of the 'Console' into the 'Info' space (file menu).
Ton will work on moving the File menu out of the Info space before release.

notes.
- reply Operator isn't working anymore.
- UI for reports is commented out so its not mixed with the file menu.
2010-11-11 13:36:57 +00:00
Ton Roosendaal
4c12298832 Bugfix #20812 (and probably others)
Issue: in user preferences window, using file selecting caused the
the userpref window to be saved, and not closing.

Reason: design error (by me) in using screen->full tag for denoting
a temporarily screen (like file window). Fixed by using a new 
screen->temp variable for it.

System remained unstable though, noticed another issue with freeing
temp screens in wrong places. Seems nice stable now! Will check on
the wiki for relarted issues now.
2010-11-09 14:54:59 +00:00
Campbell Barton
db4c2b8016 remove unused scene members 'jumpframe' and 'ima' 2010-11-09 10:40:03 +00:00
Campbell Barton
66b274766a minor c90 compat edits. (no functional changes). 2010-11-05 13:37:18 +00:00
Campbell Barton
e179c92a27 tedious string copying changes
- use sizeof() in more places.
- fixed some off by 1 bugs copying strings. setting curve font family for instance was 1 char too short.
- replace strncpy and strcpy with BLI_strncpy
2010-11-05 07:35:21 +00:00
Joshua Leung
52865a5140 Bugfix #24535: File saved with NLA Strip in Tweakmode crashes on reload
Now the active strip doesn't just get cleared on fileload, but is relinked properly. 

I had originally intended that files shouldn't be able to be saved with NLA data still in Tweakmode, but this turns out to be a bit more troublesome to get working as that would make undo keep popping out of this mode too.

Also reverting 32743 (bugfix for 24418), which was a hack around this.
2010-11-05 00:09:45 +00:00
Campbell Barton
dba1904f65 bugfix [#24518] Blender wont compile with -Wall -Werror and COLLADA support
fix included in report from Martijn Berger (mberger)
made some small changes.

- use ints rather then unsigned long for printing, values are not likely to be very large.
- CMake remove strict flags from collada build dir since I had warnings in the collada headers.
- added xml2 to collada libraries else I couldnt get collada building.
2010-11-03 22:44:39 +00:00
Campbell Barton
81fe9d2d04 workaround [#24392] 2d Image paint editor: no clone/smear/soften tools etc
the brush system matches the brush mode with the object mode, but this doesn't work for 2D image view paint.
since the poll() function doesnt have access to the context, for now just check if no paint modes are active, default to texture paint.
2010-11-03 21:23:02 +00:00
Campbell Barton
3367ef8b65 initialize structs to zero rather then using memset(). 2010-10-31 15:39:37 +00:00
Campbell Barton
2777ba74b0 remove include paths which dont exist, fix for doc upload script which was getting the blender version twice and not working sometimes. 2010-10-27 13:52:12 +00:00
Nathan Letwory
2f0f257410 Revert /WX here until fix in Blender.py is done. 2010-10-27 10:45:36 +00:00