1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-20 06:23:52 +00:00

connected object-manipulator functions in world to physics interface

This commit is contained in:
Marc Zinnschlag 2011-01-27 09:46:54 +01:00
parent 9a5a6eac2b
commit 5486c70edf

View file

@ -21,6 +21,7 @@
#include "refdata.hpp" #include "refdata.hpp"
#include "globals.hpp" #include "globals.hpp"
#include "doingphysics.hpp"
namespace namespace
{ {
@ -745,14 +746,17 @@ namespace MWWorld
if (MWRender::CellRender *render = searchRender (ptr.getCell())) if (MWRender::CellRender *render = searchRender (ptr.getCell()))
{ {
render->deleteObject (ptr.getRefData().getHandle());
ptr.getRefData().setHandle ("");
if (mActiveCells.find (ptr.getCell())!=mActiveCells.end()) if (mActiveCells.find (ptr.getCell())!=mActiveCells.end())
{ {
Class::get (ptr).disable (ptr, mEnvironment); Class::get (ptr).disable (ptr, mEnvironment);
mEnvironment.mSoundManager->stopSound3D (ptr); mEnvironment.mSoundManager->stopSound3D (ptr);
if (!DoingPhysics::isDoingPhysics())
mScene.removeObject (ptr.getRefData().getHandle());
} }
render->deleteObject (ptr.getRefData().getHandle());
ptr.getRefData().setHandle ("");
} }
} }
} }
@ -778,6 +782,9 @@ namespace MWWorld
if (mCurrentCell->cell->data.gridX!=cellX || mCurrentCell->cell->data.gridY!=cellY) if (mCurrentCell->cell->data.gridX!=cellX || mCurrentCell->cell->data.gridY!=cellY)
{ {
changeCell (cellX, cellY, mPlayer->getPlayer().getCellRef().pos); changeCell (cellX, cellY, mPlayer->getPlayer().getCellRef().pos);
if (!DoingPhysics::isDoingPhysics())
mScene.moveObject (ptr.getRefData().getHandle(), Ogre::Vector3 (x, y, z));
} }
} }
} }