Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Bolsee <benoit.bolsee@online.be>2009-04-27 20:40:26 +0400
committerBenoit Bolsee <benoit.bolsee@online.be>2009-04-27 20:40:26 +0400
commitc56ee09c48b4d29dabe1c7daa2133777c27944f6 (patch)
treedbe0483edfd35e6b9a470cd8ca61b50d4db92a2d /source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
parent369c8b8055da5f43f52158fc629b6bb4e112d8a8 (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.cpp3
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;
}
}