diff options
author | Joshua Leung <aligorith@gmail.com> | 2008-01-10 04:36:22 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2008-01-10 04:36:22 +0300 |
commit | 38a33eb7da8211c16fa63f73aa3d4a3e5d7773c3 (patch) | |
tree | c02ba2f994b734e06b8e590d188e3e25acbfb7d6 /source/blender/src/editipo.c | |
parent | 5b0b214407bd79d499eb79c46e5277578ba1ced0 (diff) |
== Auto-Keyframing Refactor (Peach Request) ==
Refactored Auto-Keyframing to make it easier to add more options. There are now three "states" for auto-keying: off, add/replace keys, replace keys.
Description of modes:
1) No auto-keying is done
2) Add new keyframes or replace existing ones if possible (old behaviour)
3) Only modify existing keys, but not insert new ones.
Internally, I've moved the auto-keying settings out of G.flag and U.uiflag and moved them into their own variables in Userdef, and provided some macros to access those easily. As a result, old auto-keying settings are currently lost.
Also, removed the manual calls to insertkey done in pose-relax. The reason auto-keying didn't work before was because the bones didn't have the BONE_TRANSFORM flag applied. Now, these are set temporarily.
Todo(s):
* Make icons for the TimeLine header menu (currently just a text menu)
* Add version-patches for old files
* Double-check code for all places that use auto-keying (i.e. PoseLib)
Diffstat (limited to 'source/blender/src/editipo.c')
-rw-r--r-- | source/blender/src/editipo.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/src/editipo.c b/source/blender/src/editipo.c index f66e3bfc22c..bf0bfaef595 100644 --- a/source/blender/src/editipo.c +++ b/source/blender/src/editipo.c @@ -2533,7 +2533,7 @@ void insertkey(ID *id, int blocktype, char *actname, char *constname, int adrcod int vartype; int matset=0; - if ((G.flags&G_AUTOMATKEYS)&&(match_adr_constraint(id, blocktype, actname, adrcode))) { + if ((IS_AUTOKEY_FLAG(AUTOMATKEY))&&(match_adr_constraint(id, blocktype, actname, adrcode))) { matset=insertmatrixkey(id, blocktype, actname, constname, adrcode); } if (matset==0) { |