aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorJohannes Schickel2009-07-29 19:39:03 +0000
committerJohannes Schickel2009-07-29 19:39:03 +0000
commitd1cce09149d72c3ad85995e9f4a9d90ff4a33400 (patch)
tree3cc9b39b7233d20498298339be32f185711d0430 /engines/scumm
parent2205541e863101ec324372a864dc73a36730de99 (diff)
downloadscummvm-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.cpp14
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));