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:
parent
9c73fa6b6d
commit
d2b3c1dbac
@ -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)
|
||||||
|
@ -77,6 +77,7 @@ namespace MWWorld
|
|||||||
bool mSky;
|
bool mSky;
|
||||||
Environment& mEnvironment;
|
Environment& mEnvironment;
|
||||||
int mNextDynamicRecord;
|
int mNextDynamicRecord;
|
||||||
|
bool bCollision;
|
||||||
|
|
||||||
Cells mCells;
|
Cells mCells;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user