* Find first unused frame function was failing to correctly detect
conflicts with the lower bound due to the way that markers are not
stored in sorted order. Fixed by performing additional search passes.
* Fixed some update bugs where there were missing notifiers. Most
noticable when the poselib is being viewed in an Action Editor
Visual Keyframing was broken by r.34685, which used another method
which, at the time, appeared to work perfectly fine. Apparently not.
Also, extend/fixed visual keying to work for axis-angle rotations too.
Needs some testing, but should probably work
* Adding methods KX_GameObject.stopAction() and KX_GameObject.isPlayingAction().
* Made all layer arguments optional. This means I had to change setActionFrame(layer, frame) to setActionFrame(frame, layer=0). This seems a little backwards to me, but I guess that's what you get with optional arguments. Also, this will break existing scripts.
* Made sure to check user supplied layer values on all action methods. Previously this was only done for playAction().
* Fixed a few newline issues.
keyframe lines are wrapped up nicely by it
Ideally it could be made so that it only became wide when it is on a
frame with a keyframe, though that could end up causing performance
problems, so this will have to do (if a bit "chunky" looking at
times).
* Keyframe lines were being drawn too short when frame number box was
enabled. The code for drawing this was modifying the View2D view-space
to get it's stuff in the right place, but the timeline code was not
accounting for this.
* In order to make the time ticks more visible outside the frame
range, I've moved the start/end frame drawing stuff in timeline to
occur after the grid drawing, and to draw semi-transparent, just like
the preview range curtains in the other animation editors
* When a track is being solo'd, all other channels for that block are
drawn darker
* Strips in non-solo tracks are drawn flat shaded instead of with
shading
* Mute toggles are hidden (they wouldn't affect the result)
Added some new star icons for the "solo" toggles in NLA editor.
Unfortunately they look a tad scruffy alongside some of the other
icons, although they should hopefully turn out to be more descriptive
(especially when combined with some drawing tweaks I've got in the
pipeline...)
wrong entries if obdata selected
In this case, the problem was that there were some lingering F-Curves
that were unselected by still had "active" flags set (a problem caused
by the old filtering channel visible vs list visible bug). Now,
"active" flag is treated separately from "selected" flag (bringing
this back into line with bones), leaving no confusion.
blocks and Objects from add_element
These two chunks were significantly large that they really needed to
be placed into their own functions to allow for easier source
navigation.
As per my proposal (http://lists.blender.org/pipermail/bf-
committers/2011-July/032553.html), I've split outliner.c into several
new files based on the purpose of the relevant code.
* outliner_tree.c - building outliner structure
* outliner_draw.c - outliner drawing (including toggle buttons and
their handling)
* outliner_edit.c - all operators for toggling stuff, and/or hotkey
accessed operators. Also KeyingSet and Driver operators go here
* outliner_tools.c - all operators and callbacks used for handling RMB
click on items
* outliner_select.c - stuff for selecting rows, and handling the
active/selected toggling stuff
In a few cases, the split hasn't been totally clear-cut due to cross-
dependencies and other spaghetti. However, in a few cases, I have
managed to remove the need for some of the prototypes that were needed
in the past by judicious reshuffling of functions, which also makes it
easier to actually find what you're looking for.
* Objects are now always rotated in the directions of the hair paths
* Secondary fix: particle size wasn't updated for hair particles, so dupliobject size couldn't be change after the hair was edited
* Noise is now considered an animated texture as it changes with every frame
* Converted a few places in particles code to use the particle system's own random table instead of BLI_frand.
It was a regression introduced in rev36301. Average normal calcilation
used to fail due to triangular faces which are too slight.
Do not use triangles with too small area for average normal calculation.
This patch attempts to clean up and document the GPU buffers
code. There are a few bug fixes as well.
Patch reviewed here: http://codereview.appspot.com/4631052/
Summary:
* Bugfix: make GPU_buffer_copy_normal convert from shorts to floats
correctly, also fixed the use of cached face normal CustomData.
* Bugfix: changed the `mat_nr' field of GPUBufferMaterial from char to
short.
* Changed color buffer setup to not alloc a temporary copy of color
data, just passes the MCol data in directly.
* Changed the GPU buffer pool code to make clearer what operates
specifically on the global pool.
* Lots of refactoring for GPU_drawobject_new; should operate mostly
the same (except got rid of one unecessary allocation), just split
into more functions and without macros now.
* Converted some #defines into enumerations.
* Made some stuff private, pulled out of header file.
* Deleted unused function GPU_buffer_pool_free_unused().
* Removed GPU_interleaved_setup and related #defines. (I think this
was used for editmode VBOs, but those were disabled.)
* Added lots of comments.
* Added a few comments in the code signed `--nicholas' to note places
where I am unsure about design or usage, would be good to address
these better.
* Code formatting changed to be more consistent with the rest of
Blender.
* Renamed some fields and variables to be more consistent with
Blender's naming conventions.
* Renamed some fields and variables to use more descriptive names,
e.g. renamed `redir' to `mat_orig_to_new'.
* Removed print outs with DEBUG_VBO -- don't feel too strongly about
this one, just not used elsewhere in Blender, could be easily added
back if others disagree though.
* Moved the PBVH drawing code down to the bottom of the file, before
was sitting in the middle of the other VBO code
Softbody was still using a flag to determine if it should use the final or
deform derivedmesh, but this wans't exposed in the UI. Others systems use the
collision modifier, now softbody uses it also to get vertices and faces, but
with own collision code.