- GEdon't crash when attempting to add constraint on game objects without physics controller
- GEimproved some physics -> graphics synchronization issues
- small experiment with game engine timing to smooth framerate/reduce tearing
Doing NULL pointer paranoia check in time.
It's completely pointless calling the function with null pointer,
but who knows.
At least it does not crash then.
Multires operations now pay attention to vertex flags, so both selection and
hiding are propagated up and down the levels.
Note: only the lowest level of detail for vertex flags is retained when
switching levels. E.g., after selecting vertices at the highest level, then
switching to the lowest level, then back to the highest level, the vertex
selection will have changed. (This is a potentially fixable issue.)
Now it is possible to mirror selected keyframes in the action editor;
either over the current frame or the vertical axis.
Hotkey is: SHIFT M (like in ipo editor).
although it has a lot of noise. Not to mention our bad string code gives
a load of warnings.
I've reviewed specifically:
- file reading/write
- dna and library code
- node system
- entire render module
Done a couple of files in src/ too, seemed to be nice errors.
Actually no real bug, but unfinished work in Composite:
The ZCombine node only accepted images, no value inputs for sockets.
Now only the first (top) input socket should be an image, the other ones
can use constant color or values too. Nice way to split an image in
foreground and background.
Also: added an output socket for the resulting Z value.
Do note that zcombone is aliased, no AA or sample info is available.
That's for another time.
- Outliner now shows hierarchy for Libraries, indicating which Library
files invoked loading another.
- SHIFT+F1 "Append" browser has a Library menu, allowing to directly browse
into all open library files. This will prevent accidents like re-opening
a same .blend via another path.
Another bug from the tracker, reported by Mike Stramba.
A duplicated Py_XDECREF in the wrong place made assigning
arrays from Vector objects not work.
Also, fixed nasty bug in C API of idproperties (the function
to look up a property from a group was broken). Fixed a memory
leak too.
In addition, made "del group['property']" delete properties
from group; previously this would just crash (or at least it
should have). Added a small addition to the example in the
epydocs for IDGroup.
didn't keep in mind the pose channels could change order...
Note the disabled code in readfile.c; will be finished later. It's for
debugging library dependencies.
- WeightPaint used 'max vertices' as 'max faces' for paint, so some faces
could not be painted on. (bug introduced last week, with global undo)
- Bake Render: when no Image window open, baking crashed.
More referenced library issues: if an Object loses the Armature (because
for example the linked file removed it) the Object still had the Pose and
posemode flag set, crashing Blender.
The first incarnation assumed that proxies were local objects per
definition. Unfortunately that makes it impossible to - for example -
reference-link an entire Scene with proxies, to be used as a special
character set.
This commit makes the proxy implementation also a bit more clear.
Related work: the scene-sets were not executed fully or correctly for
the dependency graph. That happens now (in 3d view) as well.
ACTWIDTH is a macro that tries to get actwidth from the active
SpaceAction (G.saction->actwidth). This should solve any potential
problems with having two action editors open editing shapekey
actions.
Also, I've fixed a compiler warning caused by erwin's constraint
commit. Wrong ui call for button.
at the request of Aardbei in the forums eliminating the mouse centering on startup - Matt if there is a 'good reason' for the centering (asking on IRC no one had one), feel free to revert it back
Now time-markers work in all time-related spaces (i.e. Ipo,
Action Editor, NLA editor, TimeLine, Sound). The hotkeys and
functionality set should be the same for each of these modes
(with a few exceptions still). I've had to change a few hotkeys
here and there, so hopefully they aren't too bad.
Marker Operations:
MKEY - Add Marker
SHIFT MKEY - Rename marker (was CTRL MKEY)
XKEY - Delete Marker
PAGE UP - Jump to next marker
PAGE DOWN - Jump to previous marker
CTRL A - Select all markers
SHIFT G - Transform markers (NLA, IPO, Action)
G - Transform markers (Sound, Timeline)
CTRL SHIFT D - Duplicate markers (NLA, IPO, Action)
SHIFT D - Duplicate markers (Sound, Timeline)
BKEY - select markers and other keyframes (if any)
I've also made a few little tool additions to NLA and Action editors:
* NLA editor - Snap To Frame.
Now with the option to offset strip so that it starts at the current frame.
Added menus for this.
* Action editor - Snap To Frame
A few new menus for this too
Although we will delay the main Rigid Body user interface after 2.43 release early 2007, I need some constraint data/UI to make progress with COLLADA Physics.
Added RigidBody constraint UI
LR_ALTKEY+LR_CTRLKEY+LR_SHIFTKEY+ P will bake rigidbody
Contribution by RCRuiz, Ramon Carlos.
Fixed the bug of "print type(property)" crashed blender;
just needed to add PyType_Ready init code for all ID property
python types; I made a function IDProp_Init_Types and put
code to call it in types_initAll().
Also added GPL/BL headers to idproperty files.
Compiling blender was broken because
the member proxy_layer didn't exist in bPose.
Added it (and appropriate pad vars) into the struct.
Since the member is meant to copy armature layers,
I made it a short; this did however require adding
two pad vars, another short and an int.
ton: please check to make sure it's all right.
Misspelled __members__ __member__ in IDProperty's
getattr function; this made "print dir(prop)" not
work. Eventually I need to replace the whole thing
with getsetters.
Still need to find out why "print type(a_property)" crashes
blender. :S
IDProperties was doing a name check where it shouldn't;
thise made executing "prop['value'] = something" not work
if the property 'value' already existed. Fixed it by
making the code replace existing properties, like it
should.
- Proxy Armature: armature layer (visible bones) is now saved in proxy, so
on file reload the layer settings are restored
- bugreport: disabling subsurf (for view) didn't change the total amounts
in header.
-t <threads>
It overrides the settings as saved in scenes. Only works for background
rendering, to force thread amounts to match the cpus in system.
For funny jokers: amount is clipped for MAXTHREADS :)
- removed warnings in attributes.cpp,
- and a first Klockwork bug fix: removed NULL returns in ntl_ray.h,
several other issues mentioned in the Klockwork report
are either hard to fix or not really errors...
Removed all limitations from render code for maximum threads. The only
define for this now is in BLI_threads.h, and currently set to 8.
Note that each thread renders an entire tile, and also allocates the
buffers for the tiles, so; more threads might work better with smaller
tiles.
IMPORTANT: node system won't work yet with more than 2 threads! So, don't
try material nodes or compositing with over 2 threads. That I'll commit
later today.
What does work (should work :) is AO and soft shadow now.
This bug was caused by broken's recent patch to make the Curve modifier
determine its axis from the modifier panel, rather than the object's track
axis. In the case where a Curve modifier is applied by parenting the object
to the curve, the curve axis needs to be copied from the object's track axis
in modifiers_getVirtualModifierList(). This commit adds the necessary copy.
Vertex/Face/Frame duplication now draws using OpenGL display lists. Makes
drawing go much faster (2-5 times, depending on size of duplicated object).
This system uses boundbox checks too, so outside of view it draws faster.
Note for face duplication: I've fixe a bug for incorrect alignment when
the parent was rotated when a parenting happened, the 'inverse parent
correction matrix' then messed up alignment. For face duplication it now
works OK, but for vertex-dupli not... need a way to fix this backwards
compatible.
center, rotated according to face edges, and optionally with scale of the
face.
http://www.blender3d.org/cms/Face_Duplicator.828.0.html
Also: bugfix in undo/redo for relinking data to the UI. It was not checking
for Library data, accidentally linking non-library data with same names.