Commit Graph

5395 Commits

Author SHA1 Message Date
26104c7611 - Silencing some gcc warnings (yay! I can finally use this setup
again)
- Graph Editor "Active Keyframe" panel now displays more descriptive
error messages. In particular, hopefully this helps to alert users of
the default generator modifier for Driver F-Curves
- The first F-Modifier added to a list is now set to be active one for
that list.
2010-12-28 06:18:56 +00:00
71da1e96d1 Drivers Code Cleanups and UI Tweaks:
- Adding drivers from the UI (not from py-scripts though) will now
automatically add a "Transform Channel" driver variable to the newly
created drivers. This makes setting up drivers a bit more convenient
for the most commonly used case.

- Drivers now report their errors using the Reports system instead of
writing these directly to the console.

- Clarified some comments to be more insightful about the "why's" of
some design decisions, and related formatting/cleanup tweaks
- Reduced scope of "path" vars to just the scope they're required in

- Removed some unused defines from a failed experiment in the original
Keying Sets code ("templates" and "template flags") which was
superseeded by the more flexible + nicer "Builtin KeyingSets"
2010-12-28 05:45:15 +00:00
b2be78c0cc Bugfix #25392
Compositor: Texture node didn't use texture-nodes itself.
Now composites initialize texture nodes correctly.

Also reviewed the fix for crashing texture nodes for displace.
It appears texture nodes also are used for sculpt/paint 
brushes, in these cases it can be allowed again. But, don't
do this during rendering for now!
2010-12-27 19:26:38 +00:00
31eadb358d Fix for IRC reported bug from lmg:
VBO enabled, GLSL shading and bevel modifier leads to crash when entering edit mode

Bevel modifier doe not support remapping still, so added check about original index
in cdDM_drawFacesTex_common. Now it works like VBO-less drawing for that special case.
2010-12-26 13:01:02 +00:00
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
c046ae14be Fix for multiple modifier stack calculations per frame.
Since 2.5x blender has been using CD_MASK_BAREMESH for updating objects since object_handle_update() no longer has access to G.curscreen to calculate the mask from viewports.

The problem with this is after an initial calculation, CD_MASK_MTFACE may be required on draw, so it would recalculate the modifier stack multiple times per frame.
One case which caused this is armature animated mesh with texface in a dupligroup.

Fix this by having customdata_mask member in the scene, this isn't great design but at least fixes the bug and only changes a few files.
2010-12-23 04:16:31 +00:00
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
2811707b92 Fixed stupid typo with detecting corners of source mdisp.
Haven't noticed before because destination is a copy of source for now,
so there would be always the same count of corners.
2010-12-22 21:38:06 +00:00
01bb474d4f Audio: Function to get channel count of a sound, for [#25062] Sound Actuator - Positional Audio. 2010-12-22 16:07:57 +00:00
9d756fb761 Fix for [#25339] Rendering Fluid's Float Particals cause crash when utilizng raytracing
* Fluidsim particles hadn't really been working at all for who knows how long, even in viewport!
2010-12-22 09:30:13 +00:00
fae8dc5a73 Error/Warning report flipping.
An operator Error throws up a menu, a Warning only a flashy header print.
In mesh editmode the menus for simple failures got very annoying, like
"Already a face" for Fkey on a face.

Proposal is to use warning for contextual failures, like:
- wrong selection
- unsupported combination
- wrong modes

And use errors for cases you really need user attention, for example when
issues are invisble or potentially damaging work.
- Memory failures
- Files not found

List can grow in future :) let's test this for mesh now.
I'll tackle this for other ops later after review.

(Also changed: loopcut disabled when editmode shows deformed result)
2010-12-21 15:10:09 +00:00
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
97197b54cf Bugfix #25309
Code cleanup to allow switching active output nodes in Compositor
made shader nodes output not set correctly.

Now you can have multiple output nodes in shaders too, and switch
on click-activate.
2010-12-20 11:08:29 +00:00
09debd69ba change the resolution for new surfaces to 4x4, since 12x12 used to be the total number of subdivisions along the U/V of the nurbs surface but now its multiplied by the number of segments. 2010-12-20 07:45:24 +00:00
96974a9575 bugfix [#25310] Twice applied modifier with Convert to mesh with several multi-user objects 2010-12-20 07:21:08 +00:00
3bed4cbf2b fix [#25283] Edge length display difficult to read
- made theme colors for mesh edge len & face angle/area display.
- use %g rather then %f for float display, trims unneeded zeros.
- store cached 2d and 3d text color as bytes rather then floats, compare when drawing to avoid setting the context.
- use unsigned char for more color functions, avoids casting to glColorubv().
2010-12-20 03:59:22 +00:00
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
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
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
d920bf5072 Mistake in previous own commit, checking the wrong cache frame. 2010-12-18 21:16:37 +00:00
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
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
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