diff options
Diffstat (limited to 'engines/xeen/dialogs/dialogs_control_panel.cpp')
-rw-r--r-- | engines/xeen/dialogs/dialogs_control_panel.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/xeen/dialogs/dialogs_control_panel.cpp b/engines/xeen/dialogs/dialogs_control_panel.cpp index 177c7785f8..80d1715ff7 100644 --- a/engines/xeen/dialogs/dialogs_control_panel.cpp +++ b/engines/xeen/dialogs/dialogs_control_panel.cpp @@ -61,9 +61,10 @@ int ControlPanel::execute() { w.writeString("\xB""000\t000\x1"); w.update(); + events.updateGameCounter(); + intf.draw3d(false, false); + do { - events.updateGameCounter(); - intf.draw3d(false, false); w.writeString("\r"); drawButtons(&w); w.writeString(text); @@ -80,7 +81,7 @@ int ControlPanel::execute() { checkEvents(_vm); if (_vm->shouldExit()) return 0; - } while (!_buttonValue && !events.timeElapsed()); + } while (!_buttonValue && events.timeElapsed() < 2); switch (_buttonValue) { case Common::KEYCODE_q: @@ -97,11 +98,11 @@ int ControlPanel::execute() { sound.playFX(51); if (g_vm->getGameID() == GType_WorldOfXeen) { - map._loadDarkSide = false; + map._loadCcNum = 0; map.load(28); party._mazeDirection = DIR_EAST; } else { - map._loadDarkSide = true; + map._loadCcNum = 1; map.load(29); party._mazeDirection = DIR_SOUTH; } @@ -169,7 +170,8 @@ int ControlPanel::execute() { intf.drawParty(true); if (result == 3) { - saves.loadGame(); + if (g_vm->canLoadGameStateCurrently()) + saves.loadGame(); } else if (result == 4) { saves.saveGame(); } |