From fb0788d12ffd4fedaa5019d47c547f538d25ff7c Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 15 Nov 2012 14:57:55 +0200 Subject: SCI: Properly reset the palVary signal when loading (bug #3575569) --- engines/sci/engine/savegame.cpp | 7 ++----- engines/sci/graphics/palette.h | 3 +-- 2 files changed, 3 insertions(+), 7 deletions(-) (limited to 'engines') diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 2a39f24ecd..b2d95c599e 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -696,8 +696,9 @@ void GfxPalette::saveLoadWithSerializer(Common::Serializer &s) { s.syncAsSint32LE(_palVaryPaused); } + _palVarySignal = 0; + if (s.isLoading() && _palVaryResourceId != -1) { - _palVarySignal = 0; palVaryInstallTimer(); } } @@ -878,10 +879,6 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) { } } - // Remove the palVary effect timer, if there is one running currently. - // Fixes bug #3575569. - g_sci->_gfxPalette->palVaryRemoveTimer(); - // We don't need the thumbnail here, so just read it and discard it Graphics::skipThumbnail(*fh); diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h index 1ca1f2dbb7..e974781d49 100644 --- a/engines/sci/graphics/palette.h +++ b/engines/sci/graphics/palette.h @@ -105,8 +105,6 @@ public: byte findMacIconBarColor(byte r, byte g, byte b); bool colorIsFromMacClut(byte index); - void palVaryRemoveTimer(); - #ifdef ENABLE_SCI32 bool loadClut(uint16 clutId); byte matchClutColor(uint16 color); @@ -116,6 +114,7 @@ public: private: void palVaryInit(); void palVaryInstallTimer(); + void palVaryRemoveTimer(); bool palVaryLoadTargetPalette(GuiResourceId resourceId); static void palVaryCallback(void *refCon); void palVaryIncreaseSignal(); -- cgit v1.2.3