diff options
author | Johannes Schickel | 2009-07-29 19:39:03 +0000 |
---|---|---|
committer | Johannes Schickel | 2009-07-29 19:39:03 +0000 |
commit | d1cce09149d72c3ad85995e9f4a9d90ff4a33400 (patch) | |
tree | 3cc9b39b7233d20498298339be32f185711d0430 /engines/scumm | |
parent | 2205541e863101ec324372a864dc73a36730de99 (diff) | |
download | scummvm-rg350-d1cce09149d72c3ad85995e9f4a9d90ff4a33400.tar.gz scummvm-rg350-d1cce09149d72c3ad85995e9f4a9d90ff4a33400.tar.bz2 scummvm-rg350-d1cce09149d72c3ad85995e9f4a9d90ff4a33400.zip |
Fix regression, which prevented saving in COMI.
svn-id: r42900
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/saveload.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp index aa046dc6dd..aa4dce470e 100644 --- a/engines/scumm/saveload.cpp +++ b/engines/scumm/saveload.cpp @@ -92,6 +92,13 @@ bool ScummEngine::canLoadGameStateCurrently() { if (_game.heversion >= 60) return false; + // COMI always disables saving/loading (to tell the truth: + // the main menu) via its scripts, thus we need to make an + // exception here. This the same forced overwriting of the + // script decisions as in ScummEngine::processKeyboard. + if (_game.id == GID_CMI) + return true; + return (VAR_MAINMENU_KEY == 0xFF || VAR(VAR_MAINMENU_KEY) != 0); } @@ -111,6 +118,13 @@ bool ScummEngine::canSaveGameStateCurrently() { if (_game.heversion >= 60) return false; + // COMI always disables saving/loading (to tell the truth: + // the main menu) via its scripts, thus we need to make an + // exception here. This the same forced overwriting of the + // script decisions as in ScummEngine::processKeyboard. + if (_game.id == GID_CMI) + return true; + // SCUMM v4+ doesn't allow saving in room 0 or if // VAR(VAR_MAINMENU_KEY) to set to zero. return (VAR_MAINMENU_KEY == 0xFF || (VAR(VAR_MAINMENU_KEY) != 0 && _currentRoom != 0)); |