From bc311445f815b9b9ede9a55e0c6d895d20ec72cc Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Fri, 2 Apr 2010 18:48:17 +0000 Subject: SCI: change actual setting of palette, fixes gk1 palette issue when talking to grace indirectly caused by r47955, seems to also fix jones palette issue, could cause regressions svn-id: r48474 --- engines/sci/graphics/palette.cpp | 8 ++++++-- engines/sci/graphics/palette.h | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp index b50bf49b4b..af080df281 100644 --- a/engines/sci/graphics/palette.cpp +++ b/engines/sci/graphics/palette.cpp @@ -192,10 +192,14 @@ void GfxPalette::set(Palette *sciPal, bool force, bool forceRealMerge) { bool paletteChanged; if (force || sciPal->timestamp != systime) { - paletteChanged = merge(sciPal, &_sysPalette, force, forceRealMerge); + _sysPaletteChanged |= merge(sciPal, &_sysPalette, force, forceRealMerge); sciPal->timestamp = _sysPalette.timestamp; - if (paletteChanged && _screen->_picNotValid == 0 && systime != _sysPalette.timestamp) + if (_sysPaletteChanged && _screen->_picNotValid == 0) { // && systime != _sysPalette.timestamp) { + // Removed timestamp checking, because this shouldnt be needed anymore. I'm leaving it commented just in + // case this causes regressions setOnScreen(); + _sysPaletteChanged = false; + } } } diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h index 224c03965b..46fec48739 100644 --- a/engines/sci/graphics/palette.h +++ b/engines/sci/graphics/palette.h @@ -75,6 +75,8 @@ private: uint32 _palVaryStart; uint32 _palVaryEnd; + bool _sysPaletteChanged; + Common::Array _schedules; }; -- cgit v1.2.3