From ee565c0bae8fd7ca09c39c785995a53b0539ca7e Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Sun, 21 Nov 2004 17:47:05 +0000 Subject: Applied one of my suggested fixes for bug #1060568. Let's see if it causes any regressions... svn-id: r15855 --- scumm/gfx.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'scumm') diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index 1d16b28077..bfca3f6385 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -746,10 +746,7 @@ void CharsetRenderer::restoreCharsetBg() { byte *screenBuf = vs->getPixels(0, 0); if (vs->hasTwoBuffers && _vm->_currentRoom != 0 && _vm->isLightOn()) { - if (vs->number == kMainVirtScreen) { - // Clean out the charset mask - memset(_vm->gdi._textSurface.pixels, CHARSET_MASK_TRANSPARENCY, _vm->gdi._textSurface.pitch * _vm->gdi._textSurface.h); - } else { + if (vs->number != kMainVirtScreen) { // Restore from back buffer const byte *backBuf = vs->getBackPixels(0, 0); blit(screenBuf, vs->pitch, backBuf, vs->pitch, vs->w, vs->h); @@ -758,6 +755,11 @@ void CharsetRenderer::restoreCharsetBg() { // Clear area memset(screenBuf, 0, vs->h * vs->pitch); } + + if (vs->hasTwoBuffers) { + // Clean out the charset mask + memset(_vm->gdi._textSurface.pixels, CHARSET_MASK_TRANSPARENCY, _vm->gdi._textSurface.pitch * _vm->gdi._textSurface.h); + } } } -- cgit v1.2.3