diff options
author | Johannes Schickel | 2008-03-28 00:53:54 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-03-28 00:53:54 +0000 |
commit | b033c5f605559854e92bda06ffd54ec132a3c22c (patch) | |
tree | c6def4e073b4f54d926b10a66f7ce904836fe066 /engines/kyra/kyra_v1.cpp | |
parent | a1ec44cef2284a285a17f22136ffd285a26af42f (diff) | |
download | scummvm-rg350-b033c5f605559854e92bda06ffd54ec132a3c22c.tar.gz scummvm-rg350-b033c5f605559854e92bda06ffd54ec132a3c22c.tar.bz2 scummvm-rg350-b033c5f605559854e92bda06ffd54ec132a3c22c.zip |
Implemented savegame loading via command line params -x/--save-slot.
svn-id: r31281
Diffstat (limited to 'engines/kyra/kyra_v1.cpp')
-rw-r--r-- | engines/kyra/kyra_v1.cpp | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/engines/kyra/kyra_v1.cpp b/engines/kyra/kyra_v1.cpp index fa5c84c610..08fdd117cc 100644 --- a/engines/kyra/kyra_v1.cpp +++ b/engines/kyra/kyra_v1.cpp @@ -318,12 +318,14 @@ int KyraEngine_v1::go() { } else { setGameFlag(0xF3); setGameFlag(0xFD); - setGameFlag(0xEF); - seq_intro(); - if (_quitFlag) - return 0; - if (_skipIntroFlag && _abortIntroFlag) - resetGameFlag(0xEF); + if (_gameToLoad == -1) { + setGameFlag(0xEF); + seq_intro(); + if (_quitFlag) + return 0; + if (_skipIntroFlag && _abortIntroFlag) + resetGameFlag(0xEF); + } startup(); resetGameFlag(0xEF); mainLoop(); @@ -398,16 +400,21 @@ void KyraEngine_v1::startup() { error("Could not load \"_NPC.EMC\" script"); snd_playTheme(1); - enterNewScene(_currentCharacter->sceneId, _currentCharacter->facing, 0, 0, 1); + if (_gameToLoad == -1) { + enterNewScene(_currentCharacter->sceneId, _currentCharacter->facing, 0, 0, 1); - if (_abortIntroFlag && _skipIntroFlag) { - _menuDirectlyToLoad = true; - _screen->setMouseCursor(1, 1, _shapes[0]); - _screen->showMouse(); - buttonMenuCallback(0); - _menuDirectlyToLoad = false; - } else - saveGame(getSavegameFilename(0), "New game"); + if (_abortIntroFlag && _skipIntroFlag) { + _menuDirectlyToLoad = true; + _screen->setMouseCursor(1, 1, _shapes[0]); + _screen->showMouse(); + buttonMenuCallback(0); + _menuDirectlyToLoad = false; + } else + saveGame(getSavegameFilename(0), "New game"); + } else { + loadGame(getSavegameFilename(_gameToLoad)); + _gameToLoad = -1; + } } void KyraEngine_v1::mainLoop() { |