diff options
-rw-r--r-- | engines/sci/engine/savegame.cpp | 2 | ||||
-rw-r--r-- | engines/sci/gui/gui.h | 3 | ||||
-rw-r--r-- | engines/sci/gui32/gui32.h | 3 |
3 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 1af29c6fa9..199c27e1a6 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -794,6 +794,8 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { // Message state: retval->_msgState = s->_msgState; + retval->_gui->resetEngineState(retval); + return retval; } diff --git a/engines/sci/gui/gui.h b/engines/sci/gui/gui.h index dc03182024..58a6da8075 100644 --- a/engines/sci/gui/gui.h +++ b/engines/sci/gui/gui.h @@ -94,6 +94,9 @@ public: virtual bool debugUndither(bool flag); virtual bool debugShowMap(int mapNo); + // FIXME: Don't store EngineState + virtual void resetEngineState(EngineState *s) { _s = s; } + private: EngineState *_s; SciGuiScreen *_screen; diff --git a/engines/sci/gui32/gui32.h b/engines/sci/gui32/gui32.h index 4714295c1f..5f04436fcd 100644 --- a/engines/sci/gui32/gui32.h +++ b/engines/sci/gui32/gui32.h @@ -86,6 +86,9 @@ public: bool debugUndither(bool flag); bool debugShowMap(int mapNo); + // FIXME: Don't store EngineState + virtual void resetEngineState(EngineState *newState) { s = newState; } + private: EngineState *s; bool _usesOldGfxFunctions; |