aboutsummaryrefslogtreecommitdiff
path: root/sky/sky.cpp
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-12 05:26:23 +0000
committerRobert Göffringmann2003-07-12 05:26:23 +0000
commitcb48b4fca0b6a1fc816ba6cb49f497476ebcd534 (patch)
treec4d00b32183c1e6e2c7ed04dbfac1e6b5ea70870 /sky/sky.cpp
parent8cc3d5e39c5b7eafca87366f6d4b9f70be9967f4 (diff)
downloadscummvm-rg350-cb48b4fca0b6a1fc816ba6cb49f497476ebcd534.tar.gz
scummvm-rg350-cb48b4fca0b6a1fc816ba6cb49f497476ebcd534.tar.bz2
scummvm-rg350-cb48b4fca0b6a1fc816ba6cb49f497476ebcd534.zip
implemented -x command line option
svn-id: r8926
Diffstat (limited to 'sky/sky.cpp')
-rw-r--r--sky/sky.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/sky/sky.cpp b/sky/sky.cpp
index 3a444da83e..25e51c40a1 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -179,14 +179,15 @@ void SkyState::go() {
initialise();
- bool introSkipped;
- if (_systemVars.gameVersion != 267) // don't do intro for floppydemo
- introSkipped = !intro();
- else introSkipped = false;
+ bool introSkipped = false;
+ if (!_quickLaunch) {
+ if (_systemVars.gameVersion != 267) // don't do intro for floppydemo
+ introSkipped = !intro();
- _skyDisk->flushPrefetched();
+ _skyDisk->flushPrefetched();
- loadBase0();
+ loadBase0();
+ }
if (introSkipped)
_skyControl->restartGame();
@@ -266,6 +267,15 @@ void SkyState::initialise(void) {
if (_systemVars.gameVersion == 288)
SkyCompact::patchFor288();
+
+ uint16 result = 0;
+ if (_detector->_save_slot >= 0)
+ result = _skyControl->quickXRestore(_detector->_save_slot);
+
+ if (result == GAME_RESTORED)
+ _quickLaunch = true;
+ else
+ _quickLaunch = false;
}
void SkyState::initItemList() {