1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-09 09:39:53 +00:00

Collision may be working correctly

This commit is contained in:
Jason Hooks 2012-01-29 18:13:43 -05:00
parent 9c73fa6b6d
commit d2b3c1dbac
2 changed files with 9 additions and 2 deletions

View File

@ -148,7 +148,7 @@ namespace MWWorld
const std::string& master, const boost::filesystem::path& resDir, const std::string& master, const boost::filesystem::path& resDir,
bool newGame, Environment& environment, const std::string& encoding) bool newGame, Environment& environment, const std::string& encoding)
: mRendering (renderer,resDir, physEng, environment),mPlayer (0), mLocalScripts (mStore), mGlobalVariables (0), : mRendering (renderer,resDir, physEng, environment),mPlayer (0), mLocalScripts (mStore), mGlobalVariables (0),
mSky (false), mEnvironment (environment), mNextDynamicRecord (0), mCells (mStore, mEsm, *this) mSky (false), bCollision(false), mEnvironment (environment), mNextDynamicRecord (0), mCells (mStore, mEsm, *this)
{ {
mPhysEngine = physEng; mPhysEngine = physEng;
@ -183,10 +183,15 @@ namespace MWWorld
} }
void World::makeNewPlayer(){ void World::makeNewPlayer(){
bool initialCollision = bCollision;
if(bCollision)
toggleCollisionMode();
MWRender::Player* play = &(mRendering.getPlayer()); MWRender::Player* play = &(mRendering.getPlayer());
delete mPlayer; delete mPlayer;
mPlayer = new MWWorld::Player (play, mStore.npcs.find ("player"), *this); mPlayer = new MWWorld::Player (play, mStore.npcs.find ("player"), *this);
mPhysics->addActor (mPlayer->getPlayer().getRefData().getHandle(), "", Ogre::Vector3 (0, 0, 0)); mPhysics->addActor (mPlayer->getPlayer().getRefData().getHandle(), "", Ogre::Vector3 (0, 0, 0));
if(initialCollision)
toggleCollisionMode();
} }
World::~World() World::~World()
@ -619,7 +624,8 @@ namespace MWWorld
bool World::toggleCollisionMode() bool World::toggleCollisionMode()
{ {
return mPhysics->toggleCollisionMode(); bCollision = mPhysics->toggleCollisionMode();
return bCollision;
} }
bool World::toggleRenderMode (RenderMode mode) bool World::toggleRenderMode (RenderMode mode)

View File

@ -77,6 +77,7 @@ namespace MWWorld
bool mSky; bool mSky;
Environment& mEnvironment; Environment& mEnvironment;
int mNextDynamicRecord; int mNextDynamicRecord;
bool bCollision;
Cells mCells; Cells mCells;