diff options
author | Bastien Bouclet | 2018-06-18 21:33:56 +0200 |
---|---|---|
committer | Bastien Bouclet | 2018-06-29 13:31:54 +0200 |
commit | dc93e5bb6a220773add19bd0eb04f0ffca685279 (patch) | |
tree | 86dfca70e9186dd430cf46f6f91dc2c0e7bbc5b1 /engines/mohawk/riven.cpp | |
parent | 86e0089cc6233964ca8ac858f627e0572078b199 (diff) | |
download | scummvm-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.cpp | 30 |
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; } |