diff options
Diffstat (limited to 'engines/queen/queen.cpp')
-rw-r--r-- | engines/queen/queen.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp index 46a0f42f36..148e40af80 100644 --- a/engines/queen/queen.cpp +++ b/engines/queen/queen.cpp @@ -177,7 +177,12 @@ void QueenEngine::update(bool checkPlayerInput) { _graphics->update(_logic->currentRoom()); _logic->update(); - _input->delay(); + int frameDelay = (_lastUpdateTime + Input::DELAY_NORMAL - _system->getMillis()); + if (frameDelay <= 0) { + frameDelay = 1; + } + _input->delay(frameDelay); + _lastUpdateTime = _system->getMillis(); if (!_resource->isInterview()) { _display->palCustomScroll(_logic->currentRoom()); @@ -333,7 +338,7 @@ int QueenEngine::go() { if (ConfMan.hasKey("save_slot") && canLoadOrSave()) { loadGameState(ConfMan.getInt("save_slot")); } - _lastSaveTime = _system->getMillis(); + _lastSaveTime = _lastUpdateTime = _system->getMillis(); _quit = false; while (!_quit) { if (_logic->newRoom() > 0) { |