Revision: 48399
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48399
Author:   miikah
Date:     2012-06-29 11:19:29 +0000 (Fri, 29 Jun 2012)
Log Message:
-----------
Fix #31948: dynamic paint substeps do not work for objects parented to armatures

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c

Modified: trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c       
2012-06-29 11:16:17 UTC (rev 48398)
+++ trunk/blender/source/blender/blenkernel/intern/dynamicpaint.c       
2012-06-29 11:19:29 UTC (rev 48399)
@@ -33,6 +33,7 @@
 #include "BLI_utildefines.h"
 
 #include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
 #include "DNA_constraint_types.h"
 #include "DNA_dynamicpaint_types.h"
 #include "DNA_group_types.h" /*GroupObject*/
@@ -46,6 +47,7 @@
 #include "DNA_texture_types.h"
 
 #include "BKE_animsys.h"
+#include "BKE_armature.h"
 #include "BKE_bvhutils.h"   /* bvh tree        */
 #include "BKE_blender.h"
 #include "BKE_cdderivedmesh.h"
@@ -528,11 +530,6 @@
                        }
                }
        }
-       /* for curve following objects, parented curve has to be updated too */
-       if (ob->type == OB_CURVE) {
-               Curve *cu = ob->data;
-               BKE_animsys_evaluate_animdata(scene, &cu->id, cu->adt, frame, 
ADT_RECALC_ANIM);
-       }
 
        /* was originally OB_RECALC_ALL - TODO - which flags are really 
needed??? */
        ob->recalc |= OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME;
@@ -547,6 +544,18 @@
        else
                BKE_object_where_is_calc_time(scene, ob, frame);
 
+       /* for curve following objects, parented curve has to be updated too */
+       if (ob->type == OB_CURVE) {
+               Curve *cu = ob->data;
+               BKE_animsys_evaluate_animdata(scene, &cu->id, cu->adt, frame, 
ADT_RECALC_ANIM);
+       }
+       /* and armatures... */
+       if (ob->type == OB_ARMATURE) {
+               bArmature *arm = ob->data;
+               BKE_animsys_evaluate_animdata(scene, &arm->id, arm->adt, frame, 
ADT_RECALC_ANIM);
+               BKE_pose_where_is(scene, ob);
+       }
+
        return 0;
 }
 

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

Reply via email to