diff options
Diffstat (limited to 'source/blender/blenkernel/intern/anim_sys.c')
-rw-r--r-- | source/blender/blenkernel/intern/anim_sys.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index 8daaaab62d4..44d73a7f5b4 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -207,12 +207,6 @@ AnimData *BKE_copy_animdata (AnimData *adt) /* *********************************** */ /* KeyingSet API */ -/* NOTES: - * It is very likely that there will be two copies of the api - one for internal use, - * and one 'operator' based wrapper of the internal API, which should allow for access - * from Python/scripts so that riggers can automate the creation of KeyingSets for their rigs. - */ - /* Finding Tools --------------------------- */ /* Find the first path that matches the given criteria */ @@ -299,18 +293,25 @@ void BKE_keyingset_add_destination (KeyingSet *ks, ID *id, const char group_name KS_Path *ksp; /* sanity checks */ - if ELEM(NULL, ks, rna_path) + if ELEM(NULL, ks, rna_path) { + printf("ERROR: no Keying Set and/or RNA Path to add destination with \n"); return; + } /* ID is optional for relative KeyingSets, but is necessary for absolute KeyingSets */ if (id == NULL) { - if (ks->flag & KEYINGSET_ABSOLUTE) + if (ks->flag & KEYINGSET_ABSOLUTE) { + printf("ERROR: No ID provided for absolute destination. \n"); return; + } } /* don't add if there is already a matching KS_Path in the KeyingSet */ - if (BKE_keyingset_find_destination(ks, id, group_name, rna_path, array_index, groupmode)) + if (BKE_keyingset_find_destination(ks, id, group_name, rna_path, array_index, groupmode)) { + if (G.f & G_DEBUG) + printf("ERROR: destination already exists in Keying Set \n"); return; + } /* allocate a new KeyingSet Path */ ksp= MEM_callocN(sizeof(KS_Path), "KeyingSet Path"); @@ -1263,6 +1264,7 @@ static void animsys_evaluate_nla (PointerRNA *ptr, AnimData *adt, float ctime) dummy_strip.act= adt->action; dummy_strip.remap= adt->remap; + /* action range is calculated taking F-Modifiers into account (which making new strips doesn't do due to the troublesome nature of that) */ calc_action_range(dummy_strip.act, &dummy_strip.actstart, &dummy_strip.actend, 1); dummy_strip.start = dummy_strip.actstart; dummy_strip.end = (IS_EQ(dummy_strip.actstart, dummy_strip.actend)) ? (dummy_strip.actstart + 1.0f): (dummy_strip.actend); |