[Scummvm-tracker] [ScummVM :: Bugs] #3208: INDY3: Minor Graphics Glitch (script/data bug)
ScummVM :: Bugs
trac at scummvm.org
Thu May 26 13:11:24 UTC 2022
#3208: INDY3: Minor Graphics Glitch (script/data bug)
---------------------------+------------------------------
Reporter: SF/mthreepwood | Owner: (none)
Type: defect | Status: new
Priority: low | Component: Engine: SCUMM
Version: | Resolution:
Keywords: original | Game: Indiana Jones 3
---------------------------+------------------------------
Comment (by dwatteau):
If I apply the following diff to `Gdi::drawStrip()`
{{{
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index d033d1f3d5f..501bc7eb1f2 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -1979,4 +1979,16 @@ bool Gdi::drawStrip(byte *dstPtr, VirtScreen *vs,
int x, int y, const int width,
}
+ // WORKAROUND bug #3208: in all 256-color versions of Indy3, the
tapestry in
+ // one of the first rooms of Castle Brunwald has a strange
vertical purple line
+ // at the bottom of its first 'strip'. We work around this by not
printing the
+ // last pixels of that strip, since fortunately the wall behind
this tapestry
+ // is already fully drawn behind this object.
+ if (_vm->_game.id == GID_INDY3 && (_vm->_game.features &
GF_OLD256) && _vm->_currentRoom == 135
+ && vs->number == kMainVirtScreen && smapLen == 6146 &&
width == 104 && height == 104 && stripnr == 0
+ && x == 24 && y == 0 && offset == 0x38 /*&&
_vm->_enableEnhancements*/) {
+ // XXX: is `height - 10` really safe for unkDecode11()??
+ return decompressBitmap(dstPtr, vs->pitch, smap_ptr +
offset, height - 10);
+ }
+
return decompressBitmap(dstPtr, vs->pitch, smap_ptr + offset,
height);
}
}}}
then I can hide the bottom pixels of this strip, but I'm really unsure
about cheating on the height value given to `unkDecode11()`. For example,
if I use `height - 8` instead, then the room sometimes glitch a bit, or a
lot, or then I trigger some `variable (writing)` assertions when
repeatedly leaving/entering the room. I'm probably corrupting something,
so this approach looks too risky.
--
Ticket URL: <https://bugs.scummvm.org/ticket/3208#comment:10>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list