2 Anim Bugfixes:
authorJoshua Leung <aligorith@gmail.com>
Wed, 23 Sep 2009 13:09:09 +0000 (13:09 +0000)
committerJoshua Leung <aligorith@gmail.com>
Wed, 23 Sep 2009 13:09:09 +0000 (13:09 +0000)
* Loading old (2.4x) files with keyframes now inits them properly so that keyframes are tagged as normal keyframes not breakdowns

* TrackTo consraint was flagged wrongly for adding it with a target. This meant that the target didn't get set when using the Ctrl-Shift-C hotkey.

source/blender/blenkernel/intern/ipo.c
source/blender/editors/object/object_constraint.c

index 62f44d92d25c10f83fc7db18d7375527ec0546d7..dd7904b478234c7c08d3e54d3119a8d27375f7fd 100644 (file)
@@ -1214,6 +1214,9 @@ static void icu_to_fcurves (ListBase *groups, ListBase *list, IpoCurve *icu, cha
                                        /* interpolation can only be constant... */
                                        dst->ipo= BEZT_IPO_CONST;
                                        
+                                       /* 'hide' flag is now used for keytype - only 'keyframes' existed before */
+                                       dst->hide= BEZT_KEYTYPE_KEYFRAME;
+                                       
                                        /* correct values, by checking if the flag of interest is set */
                                        if ( ((int)(dst->vec[1][1])) & (abp->bit) )
                                                dst->vec[0][1]= dst->vec[1][1]= dst->vec[2][1] = 1.0f;
@@ -1264,6 +1267,9 @@ static void icu_to_fcurves (ListBase *groups, ListBase *list, IpoCurve *icu, cha
                                if (icu->ipo != IPO_MIXED)
                                        dst->ipo= icu->ipo;
                                        
+                               /* 'hide' flag is now used for keytype - only 'keyframes' existed before */
+                               dst->hide= BEZT_KEYTYPE_KEYFRAME;
+                                       
                                /* correct values for euler rotation curves - they were degrees/10 */
                                // XXX for now, just make them into radians as RNA sets/reads directly in that form
                                if ( ((icu->blocktype == ID_OB) && ELEM3(icu->adrcode, OB_ROT_X, OB_ROT_Y, OB_ROT_Z)) ||
index eee6659c6b2769868093284cf70c8fa135863999..efdef5063312cc57c5e002a562ef09b2bbb7b67f 100644 (file)
@@ -919,7 +919,6 @@ static short get_new_constraint_target(bContext *C, int con_type, Object **tar_o
                /* restricted target-type constraints -------------- */
                /* NOTE: for these, we cannot try to add a target object if no valid ones are found, since that doesn't work */
                        /* curve-based constraints - set the only_curve and only_ob flags */
-               case CONSTRAINT_TYPE_TRACKTO:
                case CONSTRAINT_TYPE_CLAMPTO:
                case CONSTRAINT_TYPE_FOLLOWPATH:
                        only_curve= 1;