forked from mirror/openmw-tes3mp
Merge pull request #339 from OpenMW/master while resolving conflicts
# Conflicts: # apps/openmw/engine.cpp
This commit is contained in:
commit
28e1947f23
2 changed files with 24 additions and 25 deletions
|
@ -108,12 +108,14 @@ void OMW::Engine::executeLocalScripts()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OMW::Engine::frame(float frametime)
|
bool OMW::Engine::frame(float frametime)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
mStartTick = mViewer->getStartTick();
|
mStartTick = mViewer->getStartTick();
|
||||||
|
|
||||||
|
mEnvironment.setFrameDuration(frametime);
|
||||||
|
|
||||||
// update input
|
// update input
|
||||||
mEnvironment.getInputManager()->update(frametime, false);
|
mEnvironment.getInputManager()->update(frametime, false);
|
||||||
|
|
||||||
|
@ -121,7 +123,7 @@ void OMW::Engine::frame(float frametime)
|
||||||
// If we are not currently rendering, then RenderItems will not be reused resulting in a memory leak upon changing widget textures (fixed in MyGUI 3.3.2),
|
// If we are not currently rendering, then RenderItems will not be reused resulting in a memory leak upon changing widget textures (fixed in MyGUI 3.3.2),
|
||||||
// and destroyed widgets will not be deleted (not fixed yet, https://github.com/MyGUI/mygui/issues/21)
|
// and destroyed widgets will not be deleted (not fixed yet, https://github.com/MyGUI/mygui/issues/21)
|
||||||
if (!mEnvironment.getInputManager()->isWindowVisible())
|
if (!mEnvironment.getInputManager()->isWindowVisible())
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
// sound
|
// sound
|
||||||
if (mUseSound)
|
if (mUseSound)
|
||||||
|
@ -257,8 +259,9 @@ void OMW::Engine::frame(float frametime)
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
{
|
{
|
||||||
std::cerr << "Error in framelistener: " << e.what() << std::endl;
|
std::cerr << "Error in frame: " << e.what() << std::endl;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
OMW::Engine::Engine(Files::ConfigurationManager& configurationManager)
|
OMW::Engine::Engine(Files::ConfigurationManager& configurationManager)
|
||||||
|
@ -817,29 +820,9 @@ void OMW::Engine::go()
|
||||||
frameTimer.setStartTick();
|
frameTimer.setStartTick();
|
||||||
dt = std::min(dt, 0.2);
|
dt = std::min(dt, 0.2);
|
||||||
|
|
||||||
bool guiActive = mEnvironment.getWindowManager()->isGuiMode();
|
|
||||||
|
|
||||||
/*
|
|
||||||
Start of tes3mp change (major)
|
|
||||||
|
|
||||||
Whether the GUI is active should have no relevance in multiplayer, so the guiActive
|
|
||||||
boolean is always set to false instead
|
|
||||||
*/
|
|
||||||
guiActive = false;
|
|
||||||
/*
|
|
||||||
End of tes3mp change (major)
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!guiActive)
|
|
||||||
simulationTime += dt;
|
|
||||||
|
|
||||||
mViewer->advance(simulationTime);
|
mViewer->advance(simulationTime);
|
||||||
|
|
||||||
mEnvironment.setFrameDuration(dt);
|
if (!frame(dt))
|
||||||
|
|
||||||
frame(dt);
|
|
||||||
|
|
||||||
if (!mEnvironment.getInputManager()->isWindowVisible())
|
|
||||||
{
|
{
|
||||||
OpenThreads::Thread::microSleep(5000);
|
OpenThreads::Thread::microSleep(5000);
|
||||||
continue;
|
continue;
|
||||||
|
@ -852,6 +835,22 @@ void OMW::Engine::go()
|
||||||
mEnvironment.getWorld()->updateWindowManager();
|
mEnvironment.getWorld()->updateWindowManager();
|
||||||
|
|
||||||
mViewer->renderingTraversals();
|
mViewer->renderingTraversals();
|
||||||
|
|
||||||
|
bool guiActive = mEnvironment.getWindowManager()->isGuiMode();
|
||||||
|
|
||||||
|
/*
|
||||||
|
Start of tes3mp change (major)
|
||||||
|
|
||||||
|
Whether the GUI is active should have no relevance in multiplayer, so the guiActive
|
||||||
|
boolean is always set to false instead
|
||||||
|
*/
|
||||||
|
guiActive = false;
|
||||||
|
/*
|
||||||
|
End of tes3mp change (major)
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!guiActive)
|
||||||
|
simulationTime += dt;
|
||||||
}
|
}
|
||||||
|
|
||||||
mEnvironment.limitFrameRate(frameTimer.time_s());
|
mEnvironment.limitFrameRate(frameTimer.time_s());
|
||||||
|
|
|
@ -118,7 +118,7 @@ namespace OMW
|
||||||
|
|
||||||
void executeLocalScripts();
|
void executeLocalScripts();
|
||||||
|
|
||||||
void frame (float dt);
|
bool frame (float dt);
|
||||||
|
|
||||||
/// Load settings from various files, returns the path to the user settings file
|
/// Load settings from various files, returns the path to the user settings file
|
||||||
std::string loadSettings (Settings::Manager & settings);
|
std::string loadSettings (Settings::Manager & settings);
|
||||||
|
|
Loading…
Reference in a new issue