diff options
author | James Brown | 2002-11-09 09:59:25 +0000 |
---|---|---|
committer | James Brown | 2002-11-09 09:59:25 +0000 |
commit | 5923a9f5e3a5f410dc0230b11c53f2e08d1b6351 (patch) | |
tree | 7569253d5c7eadf4162bcdb8e2e7b03d5a59d079 | |
parent | 4db6c3b7688a651236c179ccbe64d893cea4f518 (diff) | |
download | scummvm-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
-rw-r--r-- | scumm/gfx.cpp | 16 |
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); } |