forked from mirror/openmw-tes3mp
fixed a bug in phyiscs update code
This commit is contained in:
parent
91ea36509d
commit
7b5d24c853
2 changed files with 12 additions and 8 deletions
|
@ -165,11 +165,15 @@ void MWScene::moveObject (const std::string& handle, const Ogre::Vector3& positi
|
||||||
|
|
||||||
if(updatePhysics)//TODO: is it an actor?
|
if(updatePhysics)//TODO: is it an actor?
|
||||||
{
|
{
|
||||||
OEngine::Physic::RigidBody* body = eng->getRigidBody(handle);
|
if (OEngine::Physic::RigidBody* body = eng->getRigidBody(handle))
|
||||||
|
{
|
||||||
|
// TODO very dirty hack to avoid crash during setup -> needs cleaning up to allow
|
||||||
|
// start positions others than 0, 0, 0
|
||||||
btTransform tr = body->getWorldTransform();
|
btTransform tr = body->getWorldTransform();
|
||||||
tr.setOrigin(btVector3(position.x,position.y,position.z));
|
tr.setOrigin(btVector3(position.x,position.y,position.z));
|
||||||
body->setWorldTransform(tr);
|
body->setWorldTransform(tr);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MWScene::rotateObject (const std::string& handle, const Ogre::Quaternion& rotation)
|
void MWScene::rotateObject (const std::string& handle, const Ogre::Quaternion& rotation)
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace MWWorld
|
||||||
|
|
||||||
bool DoingPhysics::isDoingPhysics()
|
bool DoingPhysics::isDoingPhysics()
|
||||||
{
|
{
|
||||||
return sCounter>0 || sSuppress>0;
|
return sCounter>0 && sSuppress==0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SuppressDoingPhysics::SuppressDoingPhysics()
|
SuppressDoingPhysics::SuppressDoingPhysics()
|
||||||
|
|
Loading…
Reference in a new issue