aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/palette.cpp8
-rw-r--r--engines/sci/graphics/palette.h2
2 files changed, 8 insertions, 2 deletions
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<PalSchedule> _schedules;
};