aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2015-04-27 20:50:37 +0200
committerMartin Kiewitz2015-04-27 20:50:37 +0200
commit02dd8cffcc9e649c1cfc5bbcb5d2517c63f6f321 (patch)
tree41a386b01971ec37981c9b6aa5222cb0e544b013 /engines
parent139bdec3ba3811e1dec00527caaba0d5c3fedcaa (diff)
downloadscummvm-rg350-02dd8cffcc9e649c1cfc5bbcb5d2517c63f6f321.tar.gz
scummvm-rg350-02dd8cffcc9e649c1cfc5bbcb5d2517c63f6f321.tar.bz2
scummvm-rg350-02dd8cffcc9e649c1cfc5bbcb5d2517c63f6f321.zip
SCI: move SCI32 plane clear to gamestate_restore()
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/savegame.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 3d934410c3..8fca7eabca 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -134,13 +134,6 @@ void SegManager::saveLoadWithSerializer(Common::Serializer &s) {
// Reset _scriptSegMap, to be restored below
_scriptSegMap.clear();
-
-#ifdef ENABLE_SCI32
- // Clear any planes/screen items currently showing so they
- // don't show up after the load.
- if (getSciVersion() >= SCI_VERSION_2)
- g_sci->_gfxFrameout->clear();
-#endif
}
s.skip(4, VER(14), VER(18)); // OBSOLETE: Used to be _exportsAreWide
@@ -926,14 +919,17 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
// reset ports is one of the first things we do, because that may free() some hunk memory
// and we don't want to do that after we read in the saved game hunk memory
- if (ser.isLoading()) {
- // reset ports
- if (g_sci->_gfxPorts)
- g_sci->_gfxPorts->reset();
- // clear screen
- if (g_sci->_gfxScreen)
- g_sci->_gfxScreen->clear();
- }
+ if (g_sci->_gfxPorts)
+ g_sci->_gfxPorts->reset();
+ // clear screen
+ if (g_sci->_gfxScreen)
+ g_sci->_gfxScreen->clear();
+#ifdef ENABLE_SCI32
+ // Also clear any SCI32 planes/screen items currently showing so they
+ // don't show up after the load.
+ if (getSciVersion() >= SCI_VERSION_2)
+ g_sci->_gfxFrameout->clear();
+#endif
s->reset(true);
s->saveLoadWithSerializer(ser); // FIXME: Error handling?