aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/fullpipe.cpp7
-rw-r--r--engines/fullpipe/stateloader.cpp3
2 files changed, 10 insertions, 0 deletions
diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp
index c2d4106d3f..37c7699ce7 100644
--- a/engines/fullpipe/fullpipe.cpp
+++ b/engines/fullpipe/fullpipe.cpp
@@ -275,9 +275,16 @@ Common::Error FullpipeEngine::run() {
if (ConfMan.hasKey("boot_param"))
scene = convertScene(ConfMan.getInt("boot_param"));
+ if (ConfMan.hasKey("save_slot"))
+ scene = -1;
+
if (!loadGam("fullpipe.gam", scene))
return Common::kNoGameDataFoundError;
+ if (ConfMan.hasKey("save_slot")) {
+ _gameLoader->readSavegame(getSavegameFile(ConfMan.getInt("save_slot")));
+ }
+
#if 0
loadAllScenes();
#endif
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp
index 30c7bc87a9..78674d1fe9 100644
--- a/engines/fullpipe/stateloader.cpp
+++ b/engines/fullpipe/stateloader.cpp
@@ -317,6 +317,9 @@ bool FullpipeEngine::loadGam(const char *fname, int scene) {
setMusicAllowed(_gameLoader->_gameVar->getSubVarAsInt("MUSIC_ALLOWED"));
+ if (scene == -1)
+ return true;
+
if (scene) {
_gameLoader->loadScene(726);
_gameLoader->gotoScene(726, TrubaLeft);