From 2f0a07f6b91e3ecd07cce1b6dd6bb1d1da610c1f Mon Sep 17 00:00:00 2001 From: James Brown Date: Sat, 9 Mar 2002 12:39:13 +0000 Subject: [PATCH] Proper fix for Indy3 intro background. svn-id: r3709 --- gfx.cpp | 5 ++--- script_v1.cpp | 12 +++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/gfx.cpp b/gfx.cpp index 38185d00af8..4734dba4821 100644 --- a/gfx.cpp +++ b/gfx.cpp @@ -46,7 +46,7 @@ void Scumm::getGraphicsPerformance() { void Scumm::initScreens(int a, int b, int w, int h) { int i; - + for (i=0; i<3; i++) { nukeResource(rtBuffer, i+1); nukeResource(rtBuffer, i+5); @@ -951,8 +951,7 @@ void Scumm::redrawBGStrip(int start, int num) { warning("Screen Y size %d < Room height %d", _curVirtScreen->height, _scrHeight); - } - _curVirtScreen->height = _scrHeight; // FIXME: Indy3 Hack + } gdi.drawBitmap(getResourceAddress(rtRoom, _roomResource)+_IM00_offs, _curVirtScreen, s, 0, _curVirtScreen->height, s, num, 0); diff --git a/script_v1.cpp b/script_v1.cpp index 06ca5c26dfe..b881cca4cbc 100644 --- a/script_v1.cpp +++ b/script_v1.cpp @@ -1722,11 +1722,13 @@ void Scumm::o5_roomOps() { { a = getVarOrDirectByte(0x80); b = getVarOrDirectByte(0x40); - if(_gameId == GID_INDY3_256 && a == 16 && b == 0) /* FIXME*/ - { - fetchScriptByte(); - fetchScriptByte(); - fetchScriptByte(); + if(_gameId == GID_INDY3_256 && a == 16 && b == 0) /* FIXME */ + { + // Set screen height + c = fetchScriptByte(); + d = fetchScriptByte(); + e = fetchScriptByte(); + initScreens(0,a,320,c); return; } }