- 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.
I should have talked to joeedh before committing last time...
This is an another attempt to fix the mingw long commandline
issue on all versions of windows (I didn't realize that the
2k in Win2k refered to the length of the commandline).
In this version, I break libsrc.a up so that no archive has
more than 30 object files (adjustable with one line of
code). I also fudge the priority numbers to ensure correct
linking. This was done in a "guess the number" way until
it worked, so please test and please check for correctness.
- Now baking itself is threaded too (like for render, max 2 cpus. Moving
this to 4 cpus is on todo. Goes twice as fast!
- fix: ESC from bake was broken...
- other fix: toolbox menus didn't treat sublevel string lengths OK,
truncating items like for Group library names.
This update changes Object.properties to Object.game_properties
(as discussed) so .properties can be used for ID Properties.
This should be fine as, after all, .properties was undocumented anyway :)
* Fixed#5294 unselectable objects catching repeated selection clicks in front
of other objects
* Invisible objects stay invisible when other objects are edited
After using Manipulator on poses, the undopush was called too early,
resulting in a LOCK flag to be saved in Armature.
Effect was that after undo, the pose didn't show actions.
3D Window "Transform properties" was using bad globals for buttons, this
caused things not work with multiple 3d windows open, and (in editmode)
set one panel to "Local" and the other to "Global".
Also:
- added undo push for moving bone to a layer
- protected Ikey for posemode to not show a menu without selection
When linking a referenced (Library) Image to a texture face, it wasn't
tagged to become saved in file. So you lost data.
Also fixed: tooltip for the "Li" icons was wrong.
freed. Windows nicely crashes then.
Also: added human readable string in fileglobal, so you can check the
subversion in a file manually too. Rule:
- Find GLOB chunk (first chunk after REND now)
- skip sizeof BHead, 20 bytes in 32bits, or 24 in 64 bits
- there's 4 characters showing subversion, right now it reads " 1".
PET Connectivity calculation code had a bug that only occured on really large scale meshes which caused a hang (infinite loop).
Fixed by raising the threshold to prevent float errors.
Next to the release code, a subversion number is written in the file
now. This is in the chunk GLOB, which is now in beginning of file.
Subversions can be used to have finer control over do_versions(), so you
don't have to wait for a release to patch stuff nicely. We can also
increase these subversions regularly to denote important changes.
If a subversion is not 0, it's being printed in the header, so a user can
also verify the state. (We might even tag cvs for it?).
Next to this, a minimum version and subversion number are written too.
From now on, if you change files in a way a past binary cannot read this
nicely anymore, you should set these minima to the current version.
This was especially added for the new mesh layers, which will not work
for older binaries once we make 2.43.
Ancient bug: texteditor input was limited to "isprint()" characters, the
default non-accented simple ascii set. I've removed that.
Now we still have a conflict with hotkey handling, so ALT+character input
won't work. But, for keyboards that have special character keys from itself,
this patch will allow typing them in Text now.
Array Modifier type "path length" didn't force a path calculation on load.
Note that this is still improper handling in Blender... an exception that
has to move to the depsgraph.
DNA definition of Sculpt structs in Scene were not properly aligned,
causing memory errors on quit ("Memoryblock reconstruct: end corrupt").
More testing reveiled padding errors in two other DNA_ includes, for
sound and gamelogic. Both potentially crashers... and caused by
commenting out struct members with a C++ comment, that seems to not
work...
I've revived the DNA padding test method, which saves out a simple C
file you can compile to see where padding issues are. This now works
as follows:
- change line 991 in makesdna.c to become (1) (true).
- recompile makesdna.c
- you now have a padding.c in the same dir as makesdna.c
- compile it, command line: "gcc -o padding padding.c"
- now run it (./padding), and it will print out errors, if there are.
For me, the DNA files are now 100% padding free. Might be interesting to
check it in 64 bits though!