Commit: 5a51b93aa59897bb36ce82d0d571d8ea39358793
Author: Martin Felke
Date:   Fri Jan 2 15:15:01 2015 +0100
Branches: fracture_modifier
https://developer.blender.org/rB5a51b93aa59897bb36ce82d0d571d8ea39358793

fix: restore kinematic state for regular triggered rigidbodies always now, they 
very likely were kinematic before, user must disable triggered checkbox if this 
is not desired

===================================================================

M       source/blender/blenkernel/intern/rigidbody.c

===================================================================

diff --git a/source/blender/blenkernel/intern/rigidbody.c 
b/source/blender/blenkernel/intern/rigidbody.c
index 73dc91c..895d784 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -3221,10 +3221,10 @@ static void restoreKinematic(RigidBodyWorld *rbw)
 
        /*restore kinematic state of shards if object is kinematic*/
        for (go = rbw->group->gobject.first; go; go = go->next) {
-               if ((go->ob) && (go->ob->rigidbody_object) && 
(go->ob->rigidbody_object->flag & RBO_FLAG_KINEMATIC))
+               if ((go->ob) && (go->ob->rigidbody_object) && 
(go->ob->rigidbody_object->flag & (RBO_FLAG_KINEMATIC | 
RBO_FLAG_USE_KINEMATIC_DEACTIVATION)))
                {
                        FractureModifierData *fmd = 
(FractureModifierData*)modifiers_findByType(go->ob, eModifierType_Fracture);
-                       if (fmd)
+                       if (fmd && go->ob->rigidbody_object->flag & 
RBO_FLAG_KINEMATIC)
                        {
                                MeshIsland* mi;
                                for (mi = fmd->meshIslands.first; mi; mi = 
mi->next)
@@ -3236,8 +3236,9 @@ static void restoreKinematic(RigidBodyWorld *rbw)
                                        }
                                }
                        }
-                       else
-                       {
+                       else if (go->ob->rigidbody_object->flag & 
RBO_FLAG_USE_KINEMATIC_DEACTIVATION)
+                       {       /* restore regular triggered objects back to 
kinematic at all, they very likely were kinematic before...
+                                * user has to disable triggered if behavior is 
not desired */
                                go->ob->rigidbody_object->flag |= 
RBO_FLAG_KINEMATIC;
                                go->ob->rigidbody_object->flag |= 
RBO_FLAG_NEEDS_VALIDATE;
                        }

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

Reply via email to