1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-30 10:36:42 +00:00

don't run udpates if no game is running

This commit is contained in:
Marc Zinnschlag 2013-11-16 17:46:48 +01:00
parent ec5b2e9a7e
commit c5f81e3508

View file

@ -92,30 +92,31 @@ bool OMW::Engine::frameRenderingQueued (const Ogre::FrameEvent& evt)
MWBase::Environment::get().getSoundManager()->update(frametime); MWBase::Environment::get().getSoundManager()->update(frametime);
// global scripts // global scripts
MWBase::Environment::get().getScriptManager()->getGlobalScripts().run(); if (MWBase::Environment::get().getStateManager()->isGameRunning())
{
MWBase::Environment::get().getScriptManager()->getGlobalScripts().run();
bool changed = MWBase::Environment::get().getWorld()->hasCellChanged(); bool changed = MWBase::Environment::get().getWorld()->hasCellChanged();
// local scripts // local scripts
executeLocalScripts(); // This does not handle the case where a global script causes a cell executeLocalScripts(); // This does not handle the case where a global script causes a
// change, followed by a cell change in a local script during the same // cell change, followed by a cell change in a local script during
// frame. // the same frame.
// passing of time if (changed) // keep change flag for another frame, if cell changed happened in local script
if (!MWBase::Environment::get().getWindowManager()->isGuiMode()) MWBase::Environment::get().getWorld()->markCellAsUnchanged();
MWBase::Environment::get().getWorld()->advanceTime(
frametime*MWBase::Environment::get().getWorld()->getTimeScaleFactor()/3600);
if (!MWBase::Environment::get().getWindowManager()->isGuiMode())
MWBase::Environment::get().getWorld()->advanceTime(
frametime*MWBase::Environment::get().getWorld()->getTimeScaleFactor()/3600);
if (changed) // keep change flag for another frame, if cell changed happend in local script // update actors
MWBase::Environment::get().getWorld()->markCellAsUnchanged(); MWBase::Environment::get().getMechanicsManager()->update(frametime,
MWBase::Environment::get().getWindowManager()->isGuiMode());
// update actors // update world
MWBase::Environment::get().getMechanicsManager()->update(frametime, MWBase::Environment::get().getWorld()->update(frametime, MWBase::Environment::get().getWindowManager()->isGuiMode());
MWBase::Environment::get().getWindowManager()->isGuiMode()); }
// update world
MWBase::Environment::get().getWorld()->update(frametime, MWBase::Environment::get().getWindowManager()->isGuiMode());
// update GUI // update GUI
Ogre::RenderWindow* window = mOgre->getWindow(); Ogre::RenderWindow* window = mOgre->getWindow();