SCI: Properly reset the palVary signal when loading (bug #3575569)

This commit is contained in:
Filippos Karapetis 2012-11-15 14:57:55 +02:00
parent 2c8cd2d653
commit fb0788d12f
2 changed files with 3 additions and 7 deletions

View File

@ -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);

View File

@ -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();