diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2009-04-27 20:40:26 +0400 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2009-04-27 20:40:26 +0400 |
commit | c56ee09c48b4d29dabe1c7daa2133777c27944f6 (patch) | |
tree | dbe0483edfd35e6b9a470cd8ca61b50d4db92a2d /source/gameengine/Ketsji/KX_BulletPhysicsController.cpp | |
parent | 369c8b8055da5f43f52158fc629b6bb4e112d8a8 (diff) |
BGE bug #18624: Collision detection fails on parented objects. Partial fix, parented shape now moves with the parent but still the parent near detector detects the child only in the zone where it was parented.
Diffstat (limited to 'source/gameengine/Ketsji/KX_BulletPhysicsController.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_BulletPhysicsController.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp b/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp index bc5a64d36a8..891317e64a1 100644 --- a/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp +++ b/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp @@ -361,6 +361,7 @@ void KX_BulletPhysicsController::SuspendDynamics(bool ghost) btBroadphaseProxy* handle = body->getBroadphaseHandle(); m_savedCollisionFlags = body->getCollisionFlags(); m_savedMass = GetMass(); + m_savedDyna = m_bDyna; m_savedCollisionFilterGroup = handle->m_collisionFilterGroup; m_savedCollisionFilterMask = handle->m_collisionFilterMask; m_savedActivationState = body->getActivationState(); @@ -370,6 +371,7 @@ void KX_BulletPhysicsController::SuspendDynamics(bool ghost) btCollisionObject::CF_STATIC_OBJECT|((ghost)?btCollisionObject::CF_NO_CONTACT_RESPONSE:(m_savedCollisionFlags&btCollisionObject::CF_NO_CONTACT_RESPONSE)), btBroadphaseProxy::StaticFilter, btBroadphaseProxy::AllFilter ^ btBroadphaseProxy::StaticFilter); + m_bDyna = false; } } @@ -384,6 +386,7 @@ void KX_BulletPhysicsController::RestoreDynamics() m_savedCollisionFilterGroup, m_savedCollisionFilterMask); body->forceActivationState(m_savedActivationState); + m_bDyna = m_savedDyna; } } |