Commit Graph

4682 Commits

Author SHA1 Message Date
Nathan Letwory
fad7121ca3 Apply [#25296] Fix for [#24636]
Bug reported by Dominique Lorre
Fix submitted by Jeroen Bakker

When importing COLLADA files, the name of a custom data layer can be longer than 32 bytes. Make sure only 32 bytes are copied.
2010-12-19 20:23:30 +00:00
Ton Roosendaal
b8e47fd160 Bugfix #25301
Preview render for node shaders broke, caused by localizing 
materials last week, to prevent thread crashes. Fixed now.
Also added a temp fix to draw color-management corrected
node previews default. Will follow scene setting tomorrow.

Also: SSS in nodes doesn't render yet. Was issue in 2.4 too...
2010-12-19 20:12:12 +00:00
Ton Roosendaal
686420b15d Option "Make Single user" now also makes animations local.
Note that the menu option "Animation" only was working for
Object level animations, so I've changed the many name
accordingly.
2010-12-19 13:50:31 +00:00
Janne Karhu
d920bf5072 Mistake in previous own commit, checking the wrong cache frame. 2010-12-18 21:16:37 +00:00
Ton Roosendaal
e93a7aa849 FILTER="^\[[ 0123456789][ 0123456789][ 0123456789]\%] \|Linking \(C\|CXX\) static library\|Building \(C\|CXX\) object \|Built target "
Bugfix #25280

Image: sequence option was hardcoded to assume "first frame" was always
picture "001". Made it impossible to have a sequence of images starting
with picture like "000"

Note that by allowing to render a first frame as 000 in Blender, things
mess up a bit here. Things work now as follows:

- Start Frame = 1 : Image 001 on frame 1
- Start Frame = 0 : Image 001 on frame 0
- Start Frame =-1 : Image 000 on frame 0 ;)

This is of course the lack of proper control for image sequences.
Definite something to work on; best idea I have now is a new setting
that defines the Image Number to be "first frame". That way you can
map that number on any Blender frame. Or it makes it more confusing? :)

For the doc department: the proper meaning of "Start Frame" now is:

"The blender frame a sequence starts playing, assuming the sequence
starts with image #1"

Tooltop was fixed accordingly

(Also fixed 'remove doubles' to show more precision in toolbar)
2010-12-18 18:56:21 +00:00
Janne Karhu
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
Janne Karhu
a934116298 Fix for [#25282] Crash when weting initial mesh pressets with a smoke simulation 2010-12-18 09:46:52 +00:00
Janne Karhu
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
Brecht Van Lommel
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
Campbell Barton
fd90685a48 remove some paranoid NULL checks, since the pointers are used already. 2010-12-17 19:05:10 +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
Campbell Barton
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
Ton Roosendaal
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
Janne Karhu
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
Peter Schlaile
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
Peter Schlaile
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
Campbell Barton
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
Ton Roosendaal
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
Nicholas Bishop
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
Campbell Barton
7e10a9e6ce ensure pasted graph keys are always selected. 2010-12-15 17:36:08 +00:00
Janne Karhu
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
Ton Roosendaal
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
Janne Karhu
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
Nicholas Bishop
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
Sergey Sharybin
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
Ton Roosendaal
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
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
Sergey Sharybin
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
Janne Karhu
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
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
Ton Roosendaal
826cf81d34 Unlinking material crashed, missing NULL check. 2010-12-12 17:59:48 +00:00
Janne Karhu
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
Janne Karhu
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
Campbell Barton
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
Diego Borghetti
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
Ton Roosendaal
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
Campbell Barton
071b61259b increase grease pencil user count when copying objects. 2010-12-08 14:40:14 +00:00
Janne Karhu
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
Janne Karhu
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
Joshua Leung
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
Campbell Barton
46990b4904 fix for own mistake, reported [#25076] Creating new empty crashes Blender 2010-12-07 08:52:12 +00:00
Campbell Barton
1e57d8c4e7 bugfix [#25073] Rendered image goes dim when saved from python batch script 2010-12-07 05:39:14 +00:00
Campbell Barton
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
Campbell Barton
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
Ton Roosendaal
2c7a2a6a41 Sync fix with render branch. Solves crash with ob->bb not found. 2010-12-06 17:41:12 +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
Campbell Barton
9668c29ba0 bpath iterator updates
- loop over sequencer plugin and texture voxel paths.
- fix leak in python bpy.utils.blend_path() and use PyUnicode_DecodeFSDefault() to ensure correct paths with different encodings.
- operators to make paths absolute & relative now redraw the view.
2010-12-05 23:14:48 +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