aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2014-10-19 23:44:45 +0200
committerWillem Jan Palenstijn2014-10-19 23:44:45 +0200
commit1860c2107adb4d08ce6d5a360b47bf5c19392713 (patch)
tree79594c9cc84627582f43b513eb285541dfa523c4
parentd3475fe3b699d6d2d8cd87b1b1b480e685717c74 (diff)
downloadscummvm-rg350-1860c2107adb4d08ce6d5a360b47bf5c19392713.tar.gz
scummvm-rg350-1860c2107adb4d08ce6d5a360b47bf5c19392713.tar.bz2
scummvm-rg350-1860c2107adb4d08ce6d5a360b47bf5c19392713.zip
SCI: Add notes
-rw-r--r--engines/sci/engine/kfile.cpp2
-rw-r--r--engines/sci/engine/savegame.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index cb8ba7a565..c56eb09482 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -922,6 +922,8 @@ reg_t kRestoreGame(EngineState *s, int argc, reg_t *argv) {
// path is never followed in these two cases (restoring game from the menu, or restoring a game
// from the ScummVM launcher). Thus, we perform the calls to enable the menus ourselves here.
// These two are needed when restoring from the launcher
+ // FIXME: The original interpreter saves and restores the menu state, so these attributes
+ // are automatically reset there. We may want to do the same.
g_sci->_gfxMenu->kernelSetAttribute(257 >> 8, 257 & 0xFF, SCI_MENU_ATTRIBUTE_ENABLED, TRUE_REG); // Sierra -> About Jones
g_sci->_gfxMenu->kernelSetAttribute(258 >> 8, 258 & 0xFF, SCI_MENU_ATTRIBUTE_ENABLED, TRUE_REG); // Sierra -> Help
// The rest are normally enabled from room1::init
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index cdcdcc41e5..9decc4cef6 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -844,6 +844,8 @@ bool gamestate_save(EngineState *s, Common::WriteStream *fh, const Common::Strin
if (voc)
voc->saveLoadWithSerializer(ser);
+ // TODO: SSCI (at least JonesCD, presumably more) also stores the Menu state
+
return true;
}