aboutsummaryrefslogtreecommitdiff
path: root/engines/queen/queen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/queen/queen.cpp')
-rw-r--r--engines/queen/queen.cpp9
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) {