mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-03 18:45:32 +00:00
Don't delete physics object if it was never created.
This commit is contained in:
parent
0e0ad97a91
commit
ba1a42ec05
2 changed files with 5 additions and 2 deletions
|
@ -93,6 +93,7 @@ void CSVRender::Object::update()
|
|||
Ogre::Quaternion yr (Ogre::Radian (-reference.mPos.rot[1]), Ogre::Vector3::UNIT_Y);
|
||||
Ogre::Quaternion zr (Ogre::Radian (-reference.mPos.rot[2]), Ogre::Vector3::UNIT_Z);
|
||||
|
||||
mPhysicsObject = mReferenceId;
|
||||
mPhysics->addObject("meshes\\" + model, mBase->getName(), mReferenceId, reference.mScale, position, xr*yr*zr);
|
||||
}
|
||||
}
|
||||
|
@ -134,7 +135,7 @@ const CSMWorld::CellRef& CSVRender::Object::getReference() const
|
|||
CSVRender::Object::Object (const CSMWorld::Data& data, Ogre::SceneNode *cellNode,
|
||||
const std::string& id, bool referenceable, CSVWorld::PhysicsSystem *physics,
|
||||
bool forceBaseToZero)
|
||||
: mData (data), mBase (0), mForceBaseToZero (forceBaseToZero), mPhysics(physics)
|
||||
: mData (data), mBase (0), mForceBaseToZero (forceBaseToZero), mPhysics(physics), mPhysicsObject("")
|
||||
{
|
||||
mBase = cellNode->createChildSceneNode();
|
||||
|
||||
|
@ -156,7 +157,8 @@ CSVRender::Object::~Object()
|
|||
{
|
||||
clear();
|
||||
|
||||
mPhysics->removeObject(mBase->getName());
|
||||
if(mPhysicsObject != "")
|
||||
mPhysics->removeObject(mBase->getName());
|
||||
|
||||
if (mBase)
|
||||
mBase->getCreator()->destroySceneNode (mBase);
|
||||
|
|
|
@ -32,6 +32,7 @@ namespace CSVRender
|
|||
NifOgre::ObjectScenePtr mObject;
|
||||
bool mForceBaseToZero;
|
||||
CSVWorld::PhysicsSystem *mPhysics;
|
||||
std::string mPhysicsObject;
|
||||
|
||||
/// Not implemented
|
||||
Object (const Object&);
|
||||
|
|
Loading…
Reference in a new issue