Revision: 28569
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28569
Author:   joeedh
Date:     2010-05-04 13:54:44 +0200 (Tue, 04 May 2010)

Log Message:
-----------
proxy rigs now properly recall the active bone correctly on file load

Modified Paths:
--------------
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/blenloader/intern/writefile.c
    branches/render25/source/blender/makesdna/DNA_action_types.h
    branches/render25/source/blender/makesdna/DNA_modifier_types.h

Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c       
2010-05-04 11:30:21 UTC (rev 28568)
+++ branches/render25/source/blender/blenloader/intern/readfile.c       
2010-05-04 11:54:44 UTC (rev 28569)
@@ -2221,6 +2221,12 @@
        /* always rebuild to match proxy or lib changes */
        rebuild= ob->proxy || (ob->id.lib==NULL && arm->id.lib);
 
+       if (ob->proxy && pose->proxy_act_bone[0]) {
+               Bone *bone = get_named_bone(arm, pose->proxy_act_bone);
+               if (bone)
+                       arm->act_bone = bone;
+       }
+
        for (pchan = pose->chanbase.first; pchan; pchan=pchan->next) {
                lib_link_constraints(fd, (ID *)ob, &pchan->constraints);
                
@@ -11664,7 +11670,6 @@
        PartEff *paf;
        int a;
 
-
        expand_doit(fd, mainvar, ob->data);
        
        for (md=ob->modifiers.first; md; md=md->next) {

Modified: branches/render25/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/writefile.c      
2010-05-04 11:30:21 UTC (rev 28568)
+++ branches/render25/source/blender/blenloader/intern/writefile.c      
2010-05-04 11:54:44 UTC (rev 28569)
@@ -1268,6 +1268,14 @@
                        write_sensors(wd, &ob->sensors);
                        write_controllers(wd, &ob->controllers);
                        write_actuators(wd, &ob->actuators);
+
+                       if (ob->type == OB_ARMATURE) {
+                               bArmature *arm = ob->data;
+                               if (arm && ob->pose && arm->act_bone) {
+                                       strcpy(ob->pose->proxy_act_bone, 
arm->act_bone->name);
+                               }
+                       }
+
                        write_pose(wd, ob->pose);
                        write_defgroups(wd, &ob->defbase);
                        write_constraints(wd, &ob->constraints);

Modified: branches/render25/source/blender/makesdna/DNA_action_types.h
===================================================================
--- branches/render25/source/blender/makesdna/DNA_action_types.h        
2010-05-04 11:30:21 UTC (rev 28568)
+++ branches/render25/source/blender/makesdna/DNA_action_types.h        
2010-05-04 11:54:44 UTC (rev 28569)
@@ -344,6 +344,7 @@
        void *ikparam;                          /* IK solver parameters, 
structure depends on iksolver */ 
        
        bAnimVizSettings avs;           /* settings for visualisation of bone 
animation */
+       char proxy_act_bone[32];           /*proxy active bone name*/
 } bPose;
 
 

Modified: branches/render25/source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- branches/render25/source/blender/makesdna/DNA_modifier_types.h      
2010-05-04 11:30:21 UTC (rev 28568)
+++ branches/render25/source/blender/makesdna/DNA_modifier_types.h      
2010-05-04 11:54:44 UTC (rev 28569)
@@ -83,6 +83,7 @@
        struct ModifierData *next, *prev;
 
        int type, mode;
+       int stackindex, pad;
        char name[32];
        
        /* XXX for timing info set by caller... solve later? (ton) */


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to