diff options
Diffstat (limited to 'engines/sci/gui/gui_screen.cpp')
-rw-r--r-- | engines/sci/gui/gui_screen.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/engines/sci/gui/gui_screen.cpp b/engines/sci/gui/gui_screen.cpp index 672b0775eb..36826c77ba 100644 --- a/engines/sci/gui/gui_screen.cpp +++ b/engines/sci/gui/gui_screen.cpp @@ -90,10 +90,6 @@ void SciGuiScreen::putPixel(int x, int y, byte drawMask, byte color, byte priori int offset = _baseTable[y] + x; if (drawMask & SCI_SCREEN_MASK_VISUAL) { - if (!_s->resMan->isVGA()) { - // EGA output (16 colors, dithered) - color = ((x^y) & 1) ? color >> 4 : color & 0x0F; - } *(_visualScreen + offset) = color; _displayScreen[_baseDisplayTable[y] + x] = color; } @@ -198,4 +194,20 @@ void SciGuiScreen::restoreBitsScreen(Common::Rect rect, byte *&memoryPtr, byte * } } +// Currently not really done, its supposed to be possible to only dither _visualScreen +void SciGuiScreen::dither() { + int y, x; + byte color; + byte *screenPtr = _visualScreen; + byte *displayPtr = _displayScreen; + + 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; + } + } +} + } // End of namespace Sci |