Blender Git Loki
Git Commits -> Revision 308b567
Revision 308b567 by Joshua Leung (master) June 5, 2009, 11:51 (GMT) |
NLA SoC: NLA-Evaluation Bugfixes * Fixed an evil bug where the last frame of a strip was always incorrectly evaluated. This was because these frames were not being included in the strip's 'range' as defined by the IN_RANGE() testing macro, which only considers the given range as an open interval (i.e. non-inclusive of boundary points). I've added a new macro, IN_RANGE_INCL(), which is inclusive of boundary points, since this is a common test in many other parts of the code. * When an AnimData block is in 'tweaking' mode, the tracks following (and including the active track) are now correctly skipped during evaluation. * Finished coding the option of setting a single NLA-track per NLA-block to play 'solo' (i.e. only that track is enabled for evaluation). To enable this, simply click on one of the grey 'dots' beside the NLA-track names, turning this dot yellow. The 'yellow' dot means that the track will play by itself (even the 'active action' gets silenced). Only one track per AnimData block can play solo at a time. To disable, simply click on the 'yellow' dot again. NOTE: this currently uses the View3D layer-status icons. We probably need some special ones for these later (coloured vs grey star?) * Also (not related to evaluation) made the selection operators for the NLA Editor only work when not in tweaking mode, since in tweaking mode they can potentially result in data being resolved inappropriately when leaving tweaking mode. |
Commit Details:
Full Hash: 308b567e9c2c36ddb3e9571e4d064a8954f83607
SVN Revision: 20647
Parent Commit: 5c21c17
Lines Changed: +84, -13
7 Modified Paths:
/source/blender/blenkernel/BKE_nla.h (+4, -0) (Diff)
/source/blender/blenkernel/BKE_utildefines.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/anim_sys.c (+24, -10) (Diff)
/source/blender/blenkernel/intern/nla.c (+32, -0) (Diff)
/source/blender/editors/space_nla/nla_channels.c (+18, -1) (Diff)
/source/blender/editors/space_nla/nla_intern.h (+3, -0) (Diff)
/source/blender/editors/space_nla/nla_select.c (+2, -2) (Diff)
/source/blender/blenkernel/BKE_utildefines.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/anim_sys.c (+24, -10) (Diff)
/source/blender/blenkernel/intern/nla.c (+32, -0) (Diff)
/source/blender/editors/space_nla/nla_channels.c (+18, -1) (Diff)
/source/blender/editors/space_nla/nla_intern.h (+3, -0) (Diff)
/source/blender/editors/space_nla/nla_select.c (+2, -2) (Diff)