aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-12-11 05:19:57 +0000
committerTravis Howell2006-12-11 05:19:57 +0000
commitd8cb3dc42dac35e93a32c9e7afbf37694850927a (patch)
treef35670597cff390d2e84473ec5a18bc8359aba38 /engines/scumm/scumm.cpp
parent97e2c59dbbae9728f081f6d781c9b7de6a17f060 (diff)
downloadscummvm-rg350-d8cb3dc42dac35e93a32c9e7afbf37694850927a.tar.gz
scummvm-rg350-d8cb3dc42dac35e93a32c9e7afbf37694850927a.tar.bz2
scummvm-rg350-d8cb3dc42dac35e93a32c9e7afbf37694850927a.zip
Use VAR_GAME_LOADED values from original COMI, when loading or saving temporary game
svn-id: r24834
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 3e52b8ba25..dd60877827 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1897,25 +1897,23 @@ void ScummEngine::scummLoop_handleSaveLoad() {
const char *errMsg = 0;
char filename[256];
+ if (_game.version == 8 && _saveTemporaryState)
+ VAR(VAR_GAME_LOADED) = 0;
+
if (_saveLoadFlag == 1) {
success = saveState(_saveLoadSlot, _saveTemporaryState);
if (!success)
errMsg = "Failed to save game state to file:\n\n%s";
- // Ender: Disabled for small_header games, as can overwrite game
- // variables (eg, Zak256 cashcard values). Temp disabled for V8
- // because of odd timing issue with scripts and the variable reset
- if (success && _saveTemporaryState && !(_game.features & GF_SMALL_HEADER) && _game.version < 8)
+ if (success && _saveTemporaryState && VAR_GAME_LOADED != 0xFF && _game.version <= 7)
VAR(VAR_GAME_LOADED) = 201;
} else {
success = loadState(_saveLoadSlot, _saveTemporaryState);
if (!success)
errMsg = "Failed to load game state from file:\n\n%s";
- // Ender: Disabled for small_header games, as can overwrite game
- // variables (eg, Zak256 cashcard values).
- if (success && _saveTemporaryState && !(_game.features & GF_SMALL_HEADER))
- VAR(VAR_GAME_LOADED) = 203;
+ if (success && _saveTemporaryState && VAR_GAME_LOADED != 0xFF)
+ VAR(VAR_GAME_LOADED) = (_game.version == 8) ? 1 : 203;
}
makeSavegameName(filename, _saveLoadSlot, _saveTemporaryState);