diff --git a/apps/openmw/engine.cpp b/apps/openmw/engine.cpp index 51d1f79b29..b7480cc3cf 100644 --- a/apps/openmw/engine.cpp +++ b/apps/openmw/engine.cpp @@ -51,8 +51,9 @@ bool OMW::Engine::frameStarted(const Ogre::FrameEvent& evt) // global scripts mEnvironment.mGlobalScripts->run (mEnvironment); - // passing of time (30 times as fast as RL time) - mEnvironment.mWorld->advanceTime ((mEnvironment.mFrameDuration*30)/3600); + // passing of time + mEnvironment.mWorld->advanceTime ( + mEnvironment.mFrameDuration*mEnvironment.mWorld->getTimeScaleFactor()/3600); return true; } diff --git a/apps/openmw/mwworld/world.cpp b/apps/openmw/mwworld/world.cpp index f93b81890e..301111d060 100644 --- a/apps/openmw/mwworld/world.cpp +++ b/apps/openmw/mwworld/world.cpp @@ -358,4 +358,9 @@ namespace MWWorld { mSkyManager->setMoonColour (red); } + + float World::getTimeScaleFactor() const + { + return mGlobalVariables->getInt ("timescale"); + } } diff --git a/apps/openmw/mwworld/world.hpp b/apps/openmw/mwworld/world.hpp index 2873a69d14..d94e9d766d 100644 --- a/apps/openmw/mwworld/world.hpp +++ b/apps/openmw/mwworld/world.hpp @@ -103,6 +103,8 @@ namespace MWWorld int getSecundaPhase() const; void setMoonColour (bool red); + + float getTimeScaleFactor() const; }; }