aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorMax Horn2010-02-23 22:41:20 +0000
committerMax Horn2010-02-23 22:41:20 +0000
commitda95a9820362f50477b35f9f95fd299eacfd04b2 (patch)
tree8a75233e7799a35fd3e958b041f4f6f7165fa6e4 /engines/sci
parented11cd3980f9539404b7ce19adf76d3d539c2235 (diff)
downloadscummvm-rg350-da95a9820362f50477b35f9f95fd299eacfd04b2.tar.gz
scummvm-rg350-da95a9820362f50477b35f9f95fd299eacfd04b2.tar.bz2
scummvm-rg350-da95a9820362f50477b35f9f95fd299eacfd04b2.zip
SCI: Stop storing EngineState in SciGui32
svn-id: r48117
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/savegame.cpp1
-rw-r--r--engines/sci/graphics/gui32.cpp18
-rw-r--r--engines/sci/graphics/gui32.h6
-rw-r--r--engines/sci/sci.cpp2
4 files changed, 9 insertions, 18 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 7e713f3d81..64a0079542 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -1014,7 +1014,6 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
#ifdef ENABLE_SCI32
if (g_sci->_gui32) {
- g_sci->_gui32->resetEngineState(retval);
g_sci->_gui32->init();
} else {
#endif
diff --git a/engines/sci/graphics/gui32.cpp b/engines/sci/graphics/gui32.cpp
index 9e0b7f68e0..13bf062efb 100644
--- a/engines/sci/graphics/gui32.cpp
+++ b/engines/sci/graphics/gui32.cpp
@@ -46,17 +46,17 @@
namespace Sci {
-SciGui32::SciGui32(EngineState *state, GfxScreen *screen, GfxPalette *palette, GfxCache *cache, GfxCursor *cursor)
- : _s(state), _screen(screen), _palette(palette), _cache(cache), _cursor(cursor) {
+SciGui32::SciGui32(SegManager *segMan, SciEvent *event, GfxScreen *screen, GfxPalette *palette, GfxCache *cache, GfxCursor *cursor)
+ : _screen(screen), _palette(palette), _cache(cache), _cursor(cursor) {
- _coordAdjuster = new GfxCoordAdjuster32(_s->_segMan);
+ _coordAdjuster = new GfxCoordAdjuster32(segMan);
g_sci->_gfxCoordAdjuster = _coordAdjuster;
- _cursor->init(_coordAdjuster, _s->_event);
- _compare = new GfxCompare(_s->_segMan, g_sci->getKernel(), _cache, _screen, _coordAdjuster);
+ _cursor->init(_coordAdjuster, event);
+ _compare = new GfxCompare(segMan, g_sci->getKernel(), _cache, _screen, _coordAdjuster);
g_sci->_gfxCompare = _compare;
- _paint32 = new GfxPaint32(g_sci->getResMan(), _s->_segMan, g_sci->getKernel(), _coordAdjuster, _cache, _screen, _palette);
+ _paint32 = new GfxPaint32(g_sci->getResMan(), segMan, g_sci->getKernel(), _coordAdjuster, _cache, _screen, _palette);
g_sci->_gfxPaint = _paint32;
- _frameout = new GfxFrameout(_s->_segMan, g_sci->getResMan(), _coordAdjuster, _cache, _screen, _palette, _paint32);
+ _frameout = new GfxFrameout(segMan, g_sci->getResMan(), _coordAdjuster, _cache, _screen, _palette, _paint32);
g_sci->_gfxFrameout = _frameout;
}
@@ -67,10 +67,6 @@ SciGui32::~SciGui32() {
delete _coordAdjuster;
}
-void SciGui32::resetEngineState(EngineState *s) {
- _s = s;
-}
-
void SciGui32::init() {
}
diff --git a/engines/sci/graphics/gui32.h b/engines/sci/graphics/gui32.h
index 603b9e24d4..99eb03b321 100644
--- a/engines/sci/graphics/gui32.h
+++ b/engines/sci/graphics/gui32.h
@@ -41,7 +41,7 @@ class GfxPaint32;
class SciGui32 {
public:
- SciGui32(EngineState *s, GfxScreen *screen, GfxPalette *palette, GfxCache *cache, GfxCursor *cursor);
+ SciGui32(SegManager *segMan, SciEvent *event, GfxScreen *screen, GfxPalette *palette, GfxCache *cache, GfxCursor *cursor);
~SciGui32();
void init();
@@ -50,12 +50,8 @@ public:
void drawRobot(GuiResourceId robotId);
- // FIXME: Don't store EngineState
- void resetEngineState(EngineState *s);
-
protected:
GfxCursor *_cursor;
- EngineState *_s;
GfxScreen *_screen;
GfxPalette *_palette;
GfxCache *_cache;
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index 5284275d81..8e8fa4220b 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -194,7 +194,7 @@ Common::Error SciEngine::run() {
_gfxPaint16 = 0;
_gfxPorts = 0;
_gui = 0;
- _gui32 = new SciGui32(_gamestate, screen, palette, cache, cursor);
+ _gui32 = new SciGui32(_gamestate->_segMan, _gamestate->_event, screen, palette, cache, cursor);
} else {
#endif
_gfxPorts = new GfxPorts(segMan, screen);