aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2005-03-23 04:22:11 +0000
committerEugene Sandulenko2005-03-23 04:22:11 +0000
commite2f33c69ab00835f74467765b92e07a69fc76fd1 (patch)
treec0e8e0b98189f2641e0845d4e88b03529831bfea
parentdd9ecfe1c0589db9a5e81c41d2118bc426cb5a43 (diff)
downloadscummvm-rg350-e2f33c69ab00835f74467765b92e07a69fc76fd1.tar.gz
scummvm-rg350-e2f33c69ab00835f74467765b92e07a69fc76fd1.tar.bz2
scummvm-rg350-e2f33c69ab00835f74467765b92e07a69fc76fd1.zip
Fix MM NES text rendering so old messages are cleared up correctly.
svn-id: r17202
-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;