Properly wipe out animation trails in MM NES. It appeared that it

just uses different constants for VAR_CURRENT_LIGHTS. So now it
uses proper double buffering as well

svn-id: r17159
This commit is contained in:
Eugene Sandulenko 2005-03-15 21:15:37 +00:00
parent 968e900a0f
commit b8ee09d21b
2 changed files with 5 additions and 8 deletions

View File

@ -214,10 +214,7 @@ void ScummEngine::initScreens(int b, int h) {
}
}
if (_features & GF_NES) // FIXME: is it really one-buffer?
initVirtScreen(kMainVirtScreen, 0, b, _screenWidth, h - b, false, true);
else
initVirtScreen(kMainVirtScreen, 0, b, _screenWidth, h - b, true, true);
initVirtScreen(kMainVirtScreen, 0, b, _screenWidth, h - b, true, true);
initVirtScreen(kTextVirtScreen, 0, 0, _screenWidth, b, false, false);
initVirtScreen(kVerbVirtScreen, 0, h, _screenWidth, _screenHeight - h, false, false);
@ -1884,8 +1881,7 @@ void Gdi::drawStripNES(byte *dst, int dstPitch, int stripnr, int height) {
// debug(0,"NES room data %i (not 128) pixels high!\n",height);
height = 16;
}
if (x > 63)
{
if (x > 63) {
debug(0,"NES tried to render invalid strip %i",stripnr);
return;
}

View File

@ -1274,9 +1274,10 @@ void ScummEngine_v2::o2_lights() {
// 0 Darkness
// 1 Flashlight
// 2 Lighted area
if (a == 2)
// 11 and 12 are used by NES version
if (a == 2 || a == 11)
VAR(VAR_CURRENT_LIGHTS) = 11;
else if (a == 1)
else if (a == 1 || a == 12)
VAR(VAR_CURRENT_LIGHTS) = 4;
else
VAR(VAR_CURRENT_LIGHTS) = 0;