NES palette fixes from Quietust.

Some fixes of gray background for NES. Though maybe proper approach
would be to add global vars instead of checking every time.

svn-id: r17190
This commit is contained in:
Eugene Sandulenko 2005-03-21 01:15:30 +00:00
parent d1e46a5420
commit 11a1f9bb00
3 changed files with 17 additions and 7 deletions

View file

@ -878,12 +878,16 @@ void CharsetRenderer::restoreCharsetBg() {
}
} else {
// Clear area
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);
}
}
}

View file

@ -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);
}

View file

@ -1052,6 +1052,9 @@ void ScummEngine_v2::o2_drawSentence() {
sentenceline.bottom = virtscr[2].topline + 8;
sentenceline.left = 0;
sentenceline.right = 319;
if (_features & GF_NES)
restoreBG(sentenceline, 0x1d);
else
restoreBG(sentenceline);
drawString(2, (byte*)sentence);
@ -1514,6 +1517,9 @@ void ScummEngine_v2::setUserState(byte state) {
rect.bottom = virtscr[2].topline + 8 * 88;
rect.left = 0;
rect.right = 319;
if (_features & GF_NES)
restoreBG(rect, 0x1d);
else
restoreBG(rect);
// Draw all verbs and inventory