aboutsummaryrefslogtreecommitdiff
path: root/scumm/gfx.cpp
diff options
context:
space:
mode:
authorJames Brown2002-11-09 09:59:25 +0000
committerJames Brown2002-11-09 09:59:25 +0000
commit5923a9f5e3a5f410dc0230b11c53f2e08d1b6351 (patch)
tree7569253d5c7eadf4162bcdb8e2e7b03d5a59d079 /scumm/gfx.cpp
parent4db6c3b7688a651236c179ccbe64d893cea4f518 (diff)
downloadscummvm-rg350-5923a9f5e3a5f410dc0230b11c53f2e08d1b6351.tar.gz
scummvm-rg350-5923a9f5e3a5f410dc0230b11c53f2e08d1b6351.tar.bz2
scummvm-rg350-5923a9f5e3a5f410dc0230b11c53f2e08d1b6351.zip
This should fix the DOTT white-background bug. Someone please confirm this for me :)
svn-id: r5471
Diffstat (limited to 'scumm/gfx.cpp')
-rw-r--r--scumm/gfx.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 77f62b4695..e263d1dfe3 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -458,10 +458,20 @@ void Scumm::setPaletteFromPtr(byte *ptr)
dest = _currentPalette;
- for (i = 0; i < numcolor * 3; i++) {
- *dest++ = *ptr++;
+ for (i = 0; i < numcolor; i++) {
+ r = *ptr++;
+ g = *ptr++;
+ b = *ptr++;
+
+ // This comparison might look wierd, but it's what the disassembly (DOTT) says!
+ if ((_features & GF_AFTER_V7) || (<= 15 || r < 252 || g < 252 || b < 252)) {
+ *dest++ = r;
+ *dest++ = g;
+ *dest++ = b;
+ } else {
+ dest += 3;
+ }
}
-
setDirtyColors(0, numcolor - 1);
}