diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/supernova/supernova.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp index e1293c452d..cde54ab193 100644 --- a/engines/supernova/supernova.cpp +++ b/engines/supernova/supernova.cpp @@ -143,11 +143,14 @@ Common::Error SupernovaEngine::run() { CursorMan.showMouse(true); while (_gameRunning) { + uint32 start = _system->getMillis(); updateEvents(); _gm->executeRoom(); _console->onFrame(); _system->updateScreen(); - _system->delayMillis(_delay); + int end = _delay - (_system->getMillis() - start); + if (end > 0) + _system->delayMillis(end); } //deinit timer/sound/.. |