From 2d98b72858794e5ecf246180bb3cd51334513eae Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 8 Oct 2009 07:57:26 +0000 Subject: Restore the engine state stored within SciGui during loading once more, since it gets replaced during loading. Fixes loading (a regression from #44730) svn-id: r44771 --- engines/sci/engine/savegame.cpp | 2 ++ engines/sci/gui/gui.h | 3 +++ engines/sci/gui32/gui32.h | 3 +++ 3 files changed, 8 insertions(+) (limited to 'engines/sci') 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; -- cgit v1.2.3