diff options
author | Ines Almeida <britalmeida@gmail.com> | 2014-06-24 18:44:34 +0400 |
---|---|---|
committer | Ines Almeida <britalmeida@gmail.com> | 2015-02-19 14:20:18 +0300 |
commit | 528514c3938429e99dc59d756cbcc46a7c6d8dce (patch) | |
tree | 0ff2b90ab8e3b8be2e4e07b38346c5139122e639 /source/gameengine/Converter/BL_BlenderDataConversion.cpp | |
parent | b7033e3d4ea53590d38594914660f6d9343eac52 (diff) |
bge physics: disallowing compound collisions for soft bodies
Closes D610, T40427, T30630
Cherrypicked from local squash
Conflicts:
release/scripts/startup/bl_ui/properties_game.py
Diffstat (limited to 'source/gameengine/Converter/BL_BlenderDataConversion.cpp')
-rw-r--r-- | source/gameengine/Converter/BL_BlenderDataConversion.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index c6140743950..22ad5e1671b 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -1389,16 +1389,14 @@ static void BL_CreatePhysicsObjectNew(KX_GameObject* gameobj, } bool isCompoundChild = false; - bool hasCompoundChildren = !parent && (blenderobject->gameflag & OB_CHILD); + bool hasCompoundChildren = !parent && (blenderobject->gameflag & OB_CHILD) && !(blenderobject->gameflag & OB_SOFT_BODY); /* When the parent is not OB_DYNAMIC and has no OB_COLLISION then it gets no bullet controller - * and cant be apart of the parents compound shape */ + * and cant be apart of the parents compound shape, same goes for OB_SOFT_BODY */ if (parent && (parent->gameflag & (OB_DYNAMIC | OB_COLLISION))) { - - if ((parent->gameflag & OB_CHILD) != 0 && (blenderobject->gameflag & OB_CHILD)) - { + if( (parent->gameflag & OB_CHILD)!=0 && (blenderobject->gameflag & OB_CHILD) && !(parent->gameflag & OB_SOFT_BODY)) { isCompoundChild = true; - } + } } if (processCompoundChildren != isCompoundChild) return; |