diff options
Diffstat (limited to 'engines/sci/gui/gui_screen.cpp')
-rw-r--r-- | engines/sci/gui/gui_screen.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/sci/gui/gui_screen.cpp b/engines/sci/gui/gui_screen.cpp index 36826c77ba..c4429e57c9 100644 --- a/engines/sci/gui/gui_screen.cpp +++ b/engines/sci/gui/gui_screen.cpp @@ -204,8 +204,12 @@ void SciGuiScreen::dither() { for (y = 0; y < _height; y++) { for (x = 0; x < _width; x++) { color = *screenPtr; - color = ((x^y) & 1) ? color >> 4 : color & 0x0F; - *screenPtr++ = color; *displayPtr++ = color; + if (color & 0xF0) { + color ^= color << 4; + color = ((x^y) & 1) ? color >> 4 : color & 0x0F; + *screenPtr = color; *displayPtr = color; + } + screenPtr++; displayPtr++; } } } |