Commit Graph

11497 Commits

Author SHA1 Message Date
b58dbbd51b Extreme makeover of pointcache code:
* Pointcache code was quite ugly looking and complicated, so here are mostly just cosmetic adjustments, but some improved logic also.
* Slight cleanup of pointcache ui too.
* Shouldn't have any functional changes what so ever, so poke me right away if something seems off.
2010-12-18 15:03:31 +00:00
3368a595da Merged changes in the trunk up to revision 33765. 2010-12-18 11:49:12 +00:00
a934116298 Fix for [#25282] Crash when weting initial mesh pressets with a smoke simulation 2010-12-18 09:46:52 +00:00
ee762ce93f Fix for mistake in own commit
* Was a bit too eager to clean up, so all particles got reset when changing a particle value when animation was playing.
2010-12-18 09:32:27 +00:00
8b28c24d16 Fix #25272: shrinkwrap with dependency cycle could lead to eternal
loop and increasing memory usage.

Modifiers should never call mesh_get_derived_final or similar, only
use ob->derivedFinal if it exists, if the dependencies are set correct
and there are no cycles, it will be there.
2010-12-17 20:13:54 +00:00
fd90685a48 remove some paranoid NULL checks, since the pointers are used already. 2010-12-17 19:05:10 +00:00
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
902b239aa8 no functional changes: SETLOOPER macro assumed a scene was defined called 'sce' used to loop over, now make this an argument, helps to make it clear what's going on. 2010-12-17 15:37:59 +00:00
e5e039d626 Bugfix #25264
Bad user counting went on, ID users could be set zero whilst
having Fake user set. Also ensured the code using the BKE
calls for increment/decrement.
2010-12-17 14:20:20 +00:00
48abe2a27f Big fix: particle pointcache was cleared fully on any particle setting change
* Now only the cache after current frame is cleared.
* Probably own fault from my last commit.
2010-12-17 13:13:32 +00:00
0ec7f95245 == Sequencer ==
Sequence effect rendering of color generator did some rather strange 
fall through, because of a missing break statement. (Noone got hurt, but 
better add that break, just in case)
2010-12-17 08:53:49 +00:00
9f3edfecfc This fixes
[#25011] Opacity IPO not refreshing with still images

(should be better named: animation of any prefiltering parameters using 
still images didn't work out as expected)

And this issue by private mail by Ton:

"I tried to debug a memory-free error; very simple case:

- add image strip
- click on strip at 2 places
- quit blender"
2010-12-17 08:08:35 +00:00
a140fdcbdb SVN maintenance. 2010-12-16 23:24:25 +00:00
eecfc0fbb2 bugfix [#25208] randomize transform doesn't work on objects with keyframes
Surprising this wasnt noticed in a much more obvious case:
 - Key Location, Move, Rotate, Undo-Rotate >> Resets to keyed location as well.

This was happening because DAG_on_load_update() was called on read_undosave(), flagging 'ob->adt->recalc |= ADT_RECALC_ANIM;'

Fix by adding an option to DAG_on_load_update(), not to recalculate time flags.
2010-12-16 19:26:54 +00:00
fef0549ea5 SVN maintenance.
Plus some typo fixes in comments.
2010-12-16 19:05:47 +00:00
919d341321 Bugfix #24976 revisited
Multi-layer images: clicking on the "Source" popup freed all memory
for multilayers, even when choosing the same "File" entry again.
Now it should work :)
2010-12-16 13:43:20 +00:00
e15f34b35f Fixed bug [#22634] sculpting/multires and wireframe display mode glitches
Added a call to flush sculpting face grid changes out to ccgsubsurf's
other data (in particular, to edge grids)

Hopefully correct fix this time :)
2010-12-16 03:39:51 +00:00
7e10a9e6ce ensure pasted graph keys are always selected. 2010-12-15 17:36:08 +00:00
6b2b56c35e Fix for [#25218] No smoke is emitted when particle system starts and ends on same frame
* Depsgraph wasn't updated properly for smoke flow collision object dependencies.
* Smoke also wasn't properly using the actual emission frame of the flow particles.
* There was a lot of bloated logic in some parts of particle code so this fix turned into a small scale cleanup operation.
** As a result particle updating and cache usage should be a bit more stable too.
2010-12-15 17:05:34 +00:00
bc64d8dcd8 Bugfix, irc report:
Stamp info was calling log10 on zero, when end-frame was zero.
Caused crash! Thanks Sergey for report.
2010-12-15 16:15:52 +00:00
35fa581403 BKE_assert(), only prints the error unless cmake define WITH_ASSERT_ABORT is enabled and it will call abort().
made this option advanced so people don't enable along with other features.
2010-12-15 10:22:26 +00:00
2dc61df9ea Fix for [#25206] Particles system can't start at frame 0
* The basic problem is that frame 0 can't be cached, so the correct solution is to read frame 1 and interpolate backwards from that state.
2010-12-14 15:49:36 +00:00
98f642dd31 Fixed bug #23922, Sculpting - Textured display draws incorrectly
Root cause is that some drawing modes don't work with PBVH
drawing. Worked around by adding a call to update mesh normals from
the PBVH so that sculpted changes appear correctly in those
"unsupported" modes. (They'll still draw much more slowly than solid,
but should at least appear correct now.)
2010-12-14 03:30:30 +00:00
991eac85ff Initial implementation of mdisps layer interpolation
Sculpt data shouldn't be lost when making topology changes without
quads<->tris face converison.

General idea:
- Go through all grid points of each corner and convert per-corner
  coordiante to per-face cooredinate
- Apply weights and convert new point to per-corner coordinate
- Use bilinear interpolation to get needed displacement vector

Some additional work was necessery:
- Two neighbour corners could have different displacements along common
  boundary. multires_mdisp_smooth_bounds() makes displacement "symmetrical"
- Point could change it's corner, so displacement vector should be flipped
  in some way. In some cases it's not only flipping, because corner could
  be mapped with some rotation. It's not solved for triangular faces yet,
  so only z-axis displacement would be interpolated for tris.

More limitations:
- Interpolation will give incorrect result after quad<->triangle
  face conversion.
- When face normal was fillped displacement would change it's direction too.
2010-12-13 21:22:30 +00:00
4d5afa04f8 Bugfix #23420
Compositor/Image viewer
In 2.4x viewer nodes had animation playback. Not restored yet.
However, when loading such older files the viewer never showed
any result.
2010-12-13 18:22:59 +00:00
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
c85adcc2e4 Use mdisps layer from edit_mesh when adding/removing multires modifier
when object is in edit mode.
2010-12-13 10:24:05 +00:00
4cd06a6526 Fix for [#25185] Toggling hair dynamics without deleting cache leaves hair disattached when mesh animation is controlled by deformers - discussed with Jahka on IRC on Sat 2010-12-13 09:39:14 +00:00
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
826cf81d34 Unlinking material crashed, missing NULL check. 2010-12-12 17:59:48 +00:00
1ad15c37aa avoid possible errors, surround bit shifted defines with brackets. 2010-12-12 01:33:12 +00:00
f610c9b8a2 Bug fix: child particles weren't always updated correctly
* Calling update_children(..) is very light if there's nothing to update, so it doesn't matter if it's called every time the particle system is updated.
2010-12-10 10:34:12 +00:00
fe19e5336b Fix for [#25095] Particle systems and object with collision modifier bug
* Collisions didn't take emitter object layer into account
2010-12-10 08:29:46 +00:00
b27f52ce24 bugfix [#25154] .MXF files should be included as a known video file type in the sequencer
[#25159] Vertex locations dont read correctly and are not labeled correctly in the properties bar.

- non rna buttons can now have units set.
- calls with invalid units system now raises an assert().
- include .mxf in filter.
2010-12-10 04:10:21 +00:00
545cc4803e Change the BLF_aspect function to handle 3d text.
This is need to properly handle 3d text (dalai work on GE), before
the BLF_aspect only take one argument, and the result was a call to:
	glScalef(aspect, aspect, 1.0)

Now the three value are store in the font (x, y and z) and also
need to be enable using BLF_enable(BLF_ASPECT).

By default all the code that don't have BLF_ASPECT enable work with
a scale of 1.0 (so nothing change to the current UI).

I also remove all the call of BLF_aspect(fontid, 1.0) found in
the editors, because is disable by default, so no need any more.

Campbell the only thing to check is the python api, right now
I modify the api to from:
	BLF_aspect(fontid, aspect)
to:
	BLF_aspect(fontid, aspect, aspect, 1.0)

This is to avoid break the api, but now you need add the BLF_ASPECT
option to the function py_blf_enable and in some point change
py_blf_aspect to take 3 arguments.
2010-12-09 22:27:55 +00:00
ad35b37f2d Bugfix #25120 and #25119 and numerous future bugs!
Two isses:
- Material assigning to MetaBalls used wrong pointer
  (copy paste error, casting badly).
- Checking for node-material used wrong RNA pointer
  (confusing void stuff going on here!)

The error leads to corruption in data and/or random
crashes. Better update svn now!
2010-12-09 15:49:05 +00:00
071b61259b increase grease pencil user count when copying objects. 2010-12-08 14:40:14 +00:00
40af167b09 Bug fix: normal (from particles) child particles didn't use the rough parameters properly
* Also child particles didn't do particle trail properly.
2010-12-08 11:02:56 +00:00
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
1a8665ac45 Fix for [#25079] Duplicating object with particles system on it make Blender crashs
* pointcache->cached_frames wasn't set to NULL when copying pointcaches
* also set pointcache->edit to null just in case
2010-12-07 22:17:58 +00:00
d3f9b0d05a Bugfix #25049: Compositing Nodes not Keyframable
An error seems to have been introduced to the node-tree building at some point, which means that the ID-type for data-attached node trees was incorrect (i.e. scene->nodetree->id.name = NTREE_COMPOSIT instead of ID_NT). 

This in turn meant that the ID AnimData availability poll would fail, as the ID-type could not be determined.
2010-12-07 10:15:09 +00:00
46990b4904 fix for own mistake, reported [#25076] Creating new empty crashes Blender 2010-12-07 08:52:12 +00:00
1e57d8c4e7 bugfix [#25073] Rendered image goes dim when saved from python batch script 2010-12-07 05:39:14 +00:00
d624d1cbdd pass along the context to extension functions, this was already being done in all cases except for the render engine.
this allows python to NULL its internal context while scripts are not running.
2010-12-07 04:12:15 +00:00
48614fbc2a Added an assert() check for normalized quats which exposed a number of bugs where normalized quat was incorrectly assumed.
This would have made bug #25003 very simple to find.

- Objects had their quats normalized when calculating their matrix, this is inconstant with pose bones and isn't useful for animation.
  Also it wasn't normalizing the delta rotation so these would give bad rotations.

- Converting between rotation modes BKE_rotMode_change_values() assumed normal length quat. changing quat to euler rotation for eg could change the bone.

- Clear rotation and transform were not normalizing the quat when 4d loc was disabled on quat rotation, corrected and also made it so the quat scale is restored after conversion so animations curves dont jump.

There is 1 case in mat3_to_quat_is_ok() where quat_to_mat3 on an unnormalized quat is needed, for this I had to add an ugly static function quat_to_mat3_no_assert(), but overall its worthwhile IMHO to be able to find incorrect use of rotation conversion.
2010-12-07 01:56:32 +00:00
2c7a2a6a41 Sync fix with render branch. Solves crash with ob->bb not found. 2010-12-06 17:41:12 +00:00
a724918cf3 bugfix [#22663] object material slots not updated for library data 2010-12-06 02:32:16 +00:00
8a2eb1f590 * Merged changes in the trunk up to revision 33492.
* Fixed a bug in listing all style modules in source/blender/blenlib/intern/bpath.c.
2010-12-06 01:23:18 +00:00
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
2f366d1544 use BLI_strnlen rather then strlen when comparing against fixed lengths. 2010-12-05 23:50:55 +00:00