aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics
diff options
context:
space:
mode:
authorFilippos Karapetis2013-01-11 00:49:34 +0200
committerFilippos Karapetis2013-01-11 02:24:18 +0200
commit41725ab7434d9b4dd65074c5e59011dfe277c65a (patch)
tree95fd8c8123c725c9ce7691b7aac0ac2e40061f2b /engines/sci/graphics
parent81d614e63ade8fdd1a04368e62a2fc460076b1d1 (diff)
downloadscummvm-rg350-41725ab7434d9b4dd65074c5e59011dfe277c65a.tar.gz
scummvm-rg350-41725ab7434d9b4dd65074c5e59011dfe277c65a.tar.bz2
scummvm-rg350-41725ab7434d9b4dd65074c5e59011dfe277c65a.zip
SCI: Fix the night time palette in QFG4
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r--engines/sci/graphics/frameout.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index dca6441e85..220a7ed712 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -686,7 +686,13 @@ void GfxFrameout::kernelFrameout() {
_paint32->fillRect(it->planeRect, it->planeBack);
_coordAdjuster->pictureSetDisplayArea(it->planeRect);
- _palette->drewPicture(it->pictureId);
+ // Invoking drewPicture() with an invalid picture ID in SCI32 results in
+ // invalidating the palVary palette when a palVary effect is active. This
+ // is quite obvious in QFG4, where the day time palette is incorrectly
+ // shown when exiting the caves, and the correct night time palette
+ // flashes briefly each time that kPalVaryInit is called.
+ if (it->pictureId != 0xFFFF)
+ _palette->drewPicture(it->pictureId);
FrameoutList itemList;