aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven.cpp
diff options
context:
space:
mode:
authorBastien Bouclet2018-06-18 21:33:56 +0200
committerBastien Bouclet2018-06-29 13:31:54 +0200
commitdc93e5bb6a220773add19bd0eb04f0ffca685279 (patch)
tree86dfca70e9186dd430cf46f6f91dc2c0e7bbc5b1 /engines/mohawk/riven.cpp
parent86e0089cc6233964ca8ac858f627e0572078b199 (diff)
downloadscummvm-rg350-dc93e5bb6a220773add19bd0eb04f0ffca685279.tar.gz
scummvm-rg350-dc93e5bb6a220773add19bd0eb04f0ffca685279.tar.bz2
scummvm-rg350-dc93e5bb6a220773add19bd0eb04f0ffca685279.zip
MOHAWK: RIVEN: Add more options to the main menu
Diffstat (limited to 'engines/mohawk/riven.cpp')
-rw-r--r--engines/mohawk/riven.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 1a2e0c3b60..7a8dcbef1f 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -243,19 +243,7 @@ void MohawkEngine_Riven::doFrame() {
pauseGame();
break;
case Common::KEYCODE_F5:
- runDialog(*_optionsDialog);
- if (_optionsDialog->getLoadSlot() >= 0)
- loadGameStateAndDisplayError(_optionsDialog->getLoadSlot());
- if (_optionsDialog->getSaveSlot() >= 0)
- saveGameStateAndDisplayError(_optionsDialog->getSaveSlot(), _optionsDialog->getSaveDescription());
-
- if (hasGameEnded()) {
- // Attempt to autosave before exiting
- tryAutoSaving();
- }
-
- _gfx->setTransitionMode((RivenTransitionMode) _vars["transitionmode"]);
- _card->initializeZipMode();
+ runOptionsDialog();
break;
case Common::KEYCODE_r:
// Return to the main menu in the demo on ctrl+r
@@ -703,6 +691,22 @@ void MohawkEngine_Riven::setGameEnded() {
_gameEnded = true;
}
+void MohawkEngine_Riven::runOptionsDialog() {
+ runDialog(*_optionsDialog);
+ if (_optionsDialog->getLoadSlot() >= 0)
+ loadGameStateAndDisplayError(_optionsDialog->getLoadSlot());
+ if (_optionsDialog->getSaveSlot() >= 0)
+ saveGameStateAndDisplayError(_optionsDialog->getSaveSlot(), _optionsDialog->getSaveDescription());
+
+ if (hasGameEnded()) {
+ // Attempt to autosave before exiting
+ tryAutoSaving();
+ }
+
+ _gfx->setTransitionMode((RivenTransitionMode) _vars["transitionmode"]);
+ _card->initializeZipMode();
+}
+
bool ZipMode::operator== (const ZipMode &z) const {
return z.name == name && z.id == id;
}