From b8ee09d21b21cfe42a12e1b92651495826080ea2 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 15 Mar 2005 21:15:37 +0000 Subject: [PATCH] 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 --- scumm/gfx.cpp | 8 ++------ scumm/script_v2.cpp | 5 +++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp index b3807d85fed..d0cc1a297c9 100644 --- a/scumm/gfx.cpp +++ b/scumm/gfx.cpp @@ -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; } diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 6532999659d..a509a01f91d 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -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;