Undo revision 23130 which was a merge with 2.5, a messy one because I did something...
[blender.git] / source / blender / editors / transform / transform_conversions.c
index 1a0b166..57a77ae 100644 (file)
@@ -917,7 +917,7 @@ static short pose_grab_with_ik(Object *ob)
        Bone *bonec;
        short tot_ik= 0;
 
-       if ((ob==NULL) || (ob->pose==NULL) || (ob->flag & OB_POSEMODE)==0)
+       if ((ob==NULL) || (ob->pose==NULL) || (ob->mode & OB_MODE_POSE)==0)
                return 0;
 
        arm = ob->data;
@@ -1217,8 +1217,7 @@ static void createTransArmatureVerts(bContext *C, TransInfo *t)
 
 static void createTransMBallVerts(bContext *C, TransInfo *t)
 {
-       // TRANSFORM_FIX_ME
-#if 0
+       MetaBall *mb = (MetaBall*)t->obedit->data;
        MetaElem *ml;
        TransData *td;
        TransDataExtension *tx;
@@ -1227,7 +1226,7 @@ static void createTransMBallVerts(bContext *C, TransInfo *t)
        int propmode = t->flag & T_PROP_EDIT;
 
        /* count totals */
-       for(ml= editelems.first; ml; ml= ml->next) {
+       for(ml= mb->editelems->first; ml; ml= ml->next) {
                if(ml->flag & SELECT) countsel++;
                if(propmode) count++;
        }
@@ -1244,7 +1243,7 @@ static void createTransMBallVerts(bContext *C, TransInfo *t)
        Mat3CpyMat4(mtx, t->obedit->obmat);
        Mat3Inv(smtx, mtx);
 
-       for(ml= editelems.first; ml; ml= ml->next) {
+       for(ml= mb->editelems->first; ml; ml= ml->next) {
                if(propmode || (ml->flag & SELECT)) {
                        td->loc= &ml->x;
                        VECCOPY(td->iloc, td->loc);
@@ -1285,7 +1284,6 @@ static void createTransMBallVerts(bContext *C, TransInfo *t)
                        tx++;
                }
        }
-#endif
 }
 
 /* ********************* curve/surface ********* */
@@ -2416,7 +2414,7 @@ static void UVsToTransData(SpaceImage *sima, TransData *td, TransData2D *td2d, f
 
 static void createTransUVs(bContext *C, TransInfo *t)
 {
-       SpaceImage *sima = (SpaceImage*)CTX_wm_space_data(C);
+       SpaceImage *sima = CTX_wm_space_image(C);
        Image *ima = CTX_data_edit_image(C);
        Scene *scene = CTX_data_scene(C);
        TransData *td = NULL;
@@ -4900,7 +4898,7 @@ void special_aftertrans_update(TransInfo *t)
                //      allqueue(REDRAWBUTSEDIT, 0);
 
        }
-       else if(G.f & G_PARTICLEEDIT) {
+       else if(t->scene->basact && (ob = t->scene->basact->object) && ob->mode & OB_MODE_PARTICLE_EDIT) {
                ;
        }
        else {
@@ -4959,9 +4957,9 @@ static void createTransObject(bContext *C, TransInfo *t)
        set_trans_object_base_flags(C, t);
 
        /* count */
+#if 0 // TRANSFORM_FIX_ME
        CTX_DATA_BEGIN(C, Object*, ob, selected_objects)
        {
-#if 0 // TRANSFORM_FIX_ME
                /* store ipo keys? */
                if ((ob->id.lib == 0) && (ob->ipo) && (ob->ipo->showkey) && (ob->ipoflag & OB_DRAWKEY)) {
                        elems.first= elems.last= NULL;
@@ -4975,12 +4973,14 @@ static void createTransObject(bContext *C, TransInfo *t)
                        if(elems.first==NULL)
                                t->total++;
                }
-#endif
 //             else {
                        t->total++;
 //             }
        }
        CTX_DATA_END;
+#else
+       t->total= CTX_DATA_COUNT(C, selected_objects);
+#endif
 
        if(!t->total) {
                /* clear here, main transform function escapes too */
@@ -5234,18 +5234,18 @@ void createTransData(bContext *C, TransInfo *t)
                        t->poseobj = ob;        /* <- tsk tsk, this is going to give issues one day */
                }
        }
-       else if (ob && (ob->flag & OB_POSEMODE)) {
+       else if (ob && (ob->mode & OB_MODE_POSE)) {
                // XXX this is currently limited to active armature only...
                // XXX active-layer checking isn't done as that should probably be checked through context instead
                createTransPose(C, t, ob);
        }
-       else if (G.f & G_WEIGHTPAINT) {
+       else if (ob && (ob->mode & OB_MODE_WEIGHT_PAINT)) {
                /* exception, we look for the one selected armature */
                CTX_DATA_BEGIN(C, Object*, ob_armature, selected_objects)
                {
                        if(ob_armature->type==OB_ARMATURE)
                        {
-                               if(ob_armature->flag & OB_POSEMODE)
+                               if(ob_armature->mode & OB_MODE_POSE)
                                {
                                        createTransPose(C, t, ob_armature);
                                        break;
@@ -5254,7 +5254,7 @@ void createTransData(bContext *C, TransInfo *t)
                }
                CTX_DATA_END;
        }
-       else if (G.f & G_PARTICLEEDIT && PE_can_edit(PE_get_current(scene, ob))) {
+       else if (ob && (ob->mode & OB_MODE_PARTICLE_EDIT) && PE_can_edit(PE_get_current(scene, ob))) {
                createTransParticleVerts(C, t);
 
                if(t->data && t->flag & T_PROP_EDIT) {