aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2009-10-03 23:56:49 +0000
committerWillem Jan Palenstijn2009-10-03 23:56:49 +0000
commit0ed87062ed776e8d182eac16157b2c7b48796843 (patch)
tree44337a4687b8dc88dca6dfd2335e11abfac76f98 /engines
parentea66b759168b5f3fb9a49ef92771190b6ea99745 (diff)
downloadscummvm-rg350-0ed87062ed776e8d182eac16157b2c7b48796843.tar.gz
scummvm-rg350-0ed87062ed776e8d182eac16157b2c7b48796843.tar.bz2
scummvm-rg350-0ed87062ed776e8d182eac16157b2c7b48796843.zip
SCI: Add hack to gui to fix loading
svn-id: r44581
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/savegame.cpp3
-rw-r--r--engines/sci/gui/gui.h3
-rw-r--r--engines/sci/gui32/gui32.h3
3 files changed, 9 insertions, 0 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 8747ba31b8..dd2daaeb75 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -796,6 +796,9 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
// Message state:
retval->_msgState = s->_msgState;
+ retval->gui = s->gui;
+ retval->gui->resetEngineState(retval);
+
return retval;
}
diff --git a/engines/sci/gui/gui.h b/engines/sci/gui/gui.h
index 092121de62..713db08bd5 100644
--- a/engines/sci/gui/gui.h
+++ b/engines/sci/gui/gui.h
@@ -37,6 +37,9 @@ public:
SciGUI();
virtual ~SciGUI();
+ // FIXME: Don't store EngineState
+ virtual void resetEngineState(EngineState *s) { _s = s; }
+
virtual void init(bool oldGfxFunctions);
virtual int16 getTimeTicks();
diff --git a/engines/sci/gui32/gui32.h b/engines/sci/gui32/gui32.h
index d986883849..5f4fe360af 100644
--- a/engines/sci/gui32/gui32.h
+++ b/engines/sci/gui32/gui32.h
@@ -30,6 +30,9 @@ public:
SciGUI32(OSystem *system, EngineState *s);
~SciGUI32();
+ // FIXME: Don't store EngineState
+ virtual void resetEngineState(EngineState *s) { this->s = s; }
+
void init(bool oldGfxFunctions);
int16 getTimeTicks();