aboutsummaryrefslogtreecommitdiff
path: root/scumm/charset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/charset.cpp')
-rw-r--r--scumm/charset.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/scumm/charset.cpp b/scumm/charset.cpp
index 98d0b8810d..57684f5441 100644
--- a/scumm/charset.cpp
+++ b/scumm/charset.cpp
@@ -1781,8 +1781,14 @@ void CharsetRendererNES::printChar(int chr) {
_hasMask = true;
_textScreenID = vs->number;
}
- dst = (byte *)_vm->gdi._textSurface.pixels + _top * _vm->gdi._textSurface.pitch + _left;
- drawBits1(_vm->gdi._textSurface, dst, charPtr, drawTop, origWidth, origHeight);
+
+ if (_ignoreCharsetMask || !vs->hasTwoBuffers) {
+ dst = vs->getPixels(_left, drawTop);
+ drawBits1(*vs, dst, charPtr, drawTop, origWidth, origHeight);
+ } else {
+ dst = (byte *)_vm->gdi._textSurface.pixels + _top * _vm->gdi._textSurface.pitch + _left;
+ drawBits1(_vm->gdi._textSurface, dst, charPtr, drawTop, origWidth, origHeight);
+ }
if (_str.left > _left)
_str.left = _left;