Bugfix [#25960] Action/NLA Editor issues with animdata context
authorJoshua Leung <aligorith@gmail.com>
Tue, 19 Apr 2011 13:01:50 +0000 (13:01 +0000)
committerJoshua Leung <aligorith@gmail.com>
Tue, 19 Apr 2011 13:01:50 +0000 (13:01 +0000)
commit94b99b5d4a7c20cf2f4488b599e74619a7c860a6
tree3ab0c737968a6d739e72b2a990eedbbdc329ac57
parentc4debb1c642af4f97818d1e33986223b69b0aa6d
Bugfix [#25960] Action/NLA Editor issues with animdata context

Actions now get tagged with an ID-code, which is used to determine
what ID-blocks they can be assigned to. This ensures that material
actions cannot be assigned to the object-level for example.

* Action lists in general will now show only the actions that can be
set for that particular slot. This prevents selection of invalid
actions, and helps cut down the list of actions.
** An exception here is the Add Action Clip in NLA Editor, which will
show all actions but will only add where appropriate. This is because
it's not easy/possible to tell in advance which blocktypes to filter
for when building this list. (TODO?)

* The "Action Editor" is now strictly for object-level action
editing+setting now. This avoids repeateded confusion by people who
try using this to view their shapekey actions, which should go to the
Shape Key Editor instead!
** A context switcher for the legitimate times where this capability
might come in handy is still being investigated.

* "Floating" actions (i.e. actions in some action_library.blend) are
NOT able to be automatically tagged until they are assigned to some
datablocks (i.e. loaded onto the rig + played back once). It is
possible to write scripts that check for certain RNA-paths and "guess"
what datablocks they work on, but it is recommended that you load up
the Datablocks Viewer, and go through such actions by hand, setting
the "ID Root Type" property as appropriate per action.
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/space_nla/nla_edit.c
source/blender/makesdna/DNA_action_types.h
source/blender/makesrna/intern/rna_action.c
source/blender/makesrna/intern/rna_animation.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_nla.c
source/blender/makesrna/intern/rna_space.c