diff --git a/apps/openmw/mwrender/renderingmanager.cpp b/apps/openmw/mwrender/renderingmanager.cpp index 65665350f..4e8118c02 100644 --- a/apps/openmw/mwrender/renderingmanager.cpp +++ b/apps/openmw/mwrender/renderingmanager.cpp @@ -154,6 +154,8 @@ void RenderingManager::update (float duration){ mRendering.update(duration); mLocalMap->updatePlayer( mRendering.getCamera()->getRealPosition(), mRendering.getCamera()->getRealDirection() ); + + checkUnderwater(); } void RenderingManager::waterAdded (MWWorld::Ptr::CellStore *store){ if(store->cell->data.flags & store->cell->HasWater){ @@ -311,9 +313,9 @@ void RenderingManager::toggleLight() setAmbientMode(); } -void RenderingManager::checkUnderwater(float y){ +void RenderingManager::checkUnderwater(){ if(mWater){ - mWater->checkUnderwater(y); + mWater->checkUnderwater( mRendering.getCamera()->getRealPosition().y ); } } diff --git a/apps/openmw/mwrender/renderingmanager.hpp b/apps/openmw/mwrender/renderingmanager.hpp index 12d9cb3e9..880070717 100644 --- a/apps/openmw/mwrender/renderingmanager.hpp +++ b/apps/openmw/mwrender/renderingmanager.hpp @@ -91,7 +91,7 @@ class RenderingManager: private RenderingInterface { void moveObject (const MWWorld::Ptr& ptr, const Ogre::Vector3& position); void scaleObject (const MWWorld::Ptr& ptr, const Ogre::Vector3& scale); void rotateObject (const MWWorld::Ptr& ptr, const::Ogre::Quaternion& orientation); - void checkUnderwater(float y); + void checkUnderwater(); /// \param store Cell the object was in previously (\a ptr has already been updated to the new cell). void moveObjectToCell (const MWWorld::Ptr& ptr, const Ogre::Vector3& position, MWWorld::Ptr::CellStore *store); diff --git a/apps/openmw/mwworld/world.cpp b/apps/openmw/mwworld/world.cpp index f0b846c5a..63d54ea92 100644 --- a/apps/openmw/mwworld/world.cpp +++ b/apps/openmw/mwworld/world.cpp @@ -535,7 +535,6 @@ namespace MWWorld { //std::cout << "X:" << ptr.getRefData().getPosition().pos[0] << " Z: " << ptr.getRefData().getPosition().pos[1] << "\n"; - mRendering->checkUnderwater( ptr.getRefData().getPosition().pos[2]); Ptr::CellStore *currentCell = mWorldScene->getCurrentCell(); if (currentCell) {