mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-02 01:45:31 +00:00
throw an exception instead of crashing (ray test bug)
This commit is contained in:
parent
aa0100bc08
commit
3f0b610f2c
1 changed files with 9 additions and 2 deletions
|
@ -219,6 +219,13 @@ namespace Physic
|
||||||
RigidBody* body = RigidBodyMap[name];
|
RigidBody* body = RigidBodyMap[name];
|
||||||
if(body != NULL)
|
if(body != NULL)
|
||||||
{
|
{
|
||||||
|
broadphase->getOverlappingPairCache()->removeOverlappingPairsContainingProxy(body->getBroadphaseProxy(),dispatcher);
|
||||||
|
std::map<std::string,PhysicActor*>::iterator it = PhysicActorMap.begin();
|
||||||
|
for(;it!=PhysicActorMap.end();it++)
|
||||||
|
{
|
||||||
|
it->second->internalGhostObject->getOverlappingPairCache()->removeOverlappingPairsContainingProxy(body->getBroadphaseProxy(),dispatcher);
|
||||||
|
it->second->externalGhostObject->getOverlappingPairCache()->removeOverlappingPairsContainingProxy(body->getBroadphaseProxy(),dispatcher);
|
||||||
|
}
|
||||||
dynamicsWorld->removeRigidBody(RigidBodyMap[name]);
|
dynamicsWorld->removeRigidBody(RigidBodyMap[name]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -291,11 +298,11 @@ namespace Physic
|
||||||
{
|
{
|
||||||
if(resultCallback.m_collisionFilterGroup == COL_WORLD)
|
if(resultCallback.m_collisionFilterGroup == COL_WORLD)
|
||||||
{
|
{
|
||||||
name = static_cast<RigidBody*>(resultCallback.m_collisionObject)->mName;
|
name = dynamic_cast<RigidBody&>(*resultCallback.m_collisionObject).mName;
|
||||||
}
|
}
|
||||||
if(resultCallback.m_collisionFilterGroup == COL_ACTOR_EXTERNAL || resultCallback.m_collisionFilterGroup == COL_ACTOR_INTERNAL)
|
if(resultCallback.m_collisionFilterGroup == COL_ACTOR_EXTERNAL || resultCallback.m_collisionFilterGroup == COL_ACTOR_INTERNAL)
|
||||||
{
|
{
|
||||||
name = static_cast<PairCachingGhostObject*>(resultCallback.m_collisionObject)->mName;
|
name = dynamic_cast<PairCachingGhostObject&>(*resultCallback.m_collisionObject).mName;
|
||||||
}
|
}
|
||||||
d = resultCallback.m_closestHitFraction;
|
d = resultCallback.m_closestHitFraction;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue