aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui/gui_screen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/gui/gui_screen.cpp')
-rw-r--r--engines/sci/gui/gui_screen.cpp20
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