aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/gfx.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 08f8f7e79c..71dbe9e03b 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -447,7 +447,12 @@ void Scumm::setPaletteFromPtr(byte *ptr)
b = *ptr++;
// This comparison might look wierd, but it's what the disassembly (DOTT) says!
- if ((_features & GF_AFTER_V7) || (i <= 15 || r < 252 || g < 252 || b < 252)) {
+ // FIXME: Fingolfin still thinks it looks weird: the value 252 = 4*63 clearly comes from
+ // the days 6/6/6 palettes were used, OK. But it breaks MonkeyVGA, so I had to add a
+ // check for that. And somebody before me added a check for V7 games, turning this
+ // off there, too... I wonder if it hurts other games, too? What exactly is broken
+ // if we remove this patch?
+ if ((_features & GID_MONKEY_VGA) || (_features & GF_AFTER_V7) || (i <= 15 || r < 252 || g < 252 || b < 252)) {
*dest++ = r;
*dest++ = g;
*dest++ = b;