diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index cf140a7d67b..9a9b16b46b9 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -878,12 +878,16 @@ void CharsetRenderer::restoreCharsetBg() { } } else { // Clear area - memset(screenBuf, 0, vs->h * vs->pitch); + if (_vm->_features & GF_NES) + memset(screenBuf, 0x1d, vs->h * vs->pitch); + else + 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); + memset(_vm->gdi._textSurface.pixels, (_vm->_features & GF_NES) ? 0x1d : + CHARSET_MASK_TRANSPARENCY, _vm->gdi._textSurface.pitch * _vm->gdi._textSurface.h); } } } diff --git a/scumm/palette.cpp b/scumm/palette.cpp index 411b4067a38..86e629f8c4c 100644 --- a/scumm/palette.cpp +++ b/scumm/palette.cpp @@ -60,7 +60,7 @@ void ScummEngine::setupNESPalette() { setPalColor(0x1A,0x00,0x92,0x00); setPalColor(0x1B,0x00,0xB6,0x6D); setPalColor(0x1C,0x00,0x92,0x92); - setPalColor(0x1D,0x00,0x00,0x00); + setPalColor(0x1D,0x24,0x24,0x24); setPalColor(0x1E,0x00,0x00,0x00); setPalColor(0x1F,0x00,0x00,0x00); @@ -77,7 +77,7 @@ void ScummEngine::setupNESPalette() { setPalColor(0x2A,0x00,0xFF,0x00); setPalColor(0x2B,0x49,0xFF,0xDB); setPalColor(0x2C,0x00,0xFF,0xFF); - setPalColor(0x2D,0x00,0x00,0x00); + setPalColor(0x2D,0x49,0x49,0x49); setPalColor(0x2E,0x00,0x00,0x00); setPalColor(0x2F,0x00,0x00,0x00); @@ -94,7 +94,7 @@ void ScummEngine::setupNESPalette() { setPalColor(0x3A,0x92,0xFF,0x6D); setPalColor(0x3B,0x49,0xFF,0xDB); setPalColor(0x3C,0x92,0xDB,0xFF); - setPalColor(0x3D,0x00,0x00,0x00); + setPalColor(0x3D,0x92,0x92,0x92); setPalColor(0x3E,0x00,0x00,0x00); setPalColor(0x3F,0x00,0x00,0x00); } diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 1f121d44d72..bcc58c74174 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -1052,7 +1052,10 @@ void ScummEngine_v2::o2_drawSentence() { sentenceline.bottom = virtscr[2].topline + 8; sentenceline.left = 0; sentenceline.right = 319; - restoreBG(sentenceline); + if (_features & GF_NES) + restoreBG(sentenceline, 0x1d); + else + restoreBG(sentenceline); drawString(2, (byte*)sentence); } @@ -1514,7 +1517,10 @@ void ScummEngine_v2::setUserState(byte state) { rect.bottom = virtscr[2].topline + 8 * 88; rect.left = 0; rect.right = 319; - restoreBG(rect); + if (_features & GF_NES) + restoreBG(rect, 0x1d); + else + restoreBG(rect); // Draw all verbs and inventory redrawVerbs();