[Scummvm-tracker] [ScummVM :: Bugs] #13419: SCUMM: FT: Garbled graphics when Ripburger is running away
ScummVM :: Bugs
trac at scummvm.org
Sat Apr 16 16:27:26 UTC 2022
#13419: SCUMM: FT: Garbled graphics when Ripburger is running away
----------------------+----------------------------
Reporter: AndywinXp | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCUMM
Version: | Resolution:
Keywords: | Game: Full Throttle
----------------------+----------------------------
Comment (by eriktorbjorn):
It looks to me like it's already pretty close to decoding it correctly. I
can fix the rendering with this not-really-a-workaround:
{{{
diff --git a/engines/scumm/gfx.cpp b/engines/scumm/gfx.cpp
index c3633121eb6..366103010c3 100644
--- a/engines/scumm/gfx.cpp
+++ b/engines/scumm/gfx.cpp
@@ -3557,8 +3557,17 @@ void Gdi::drawStripBasicV(byte *dst, int dstPitch,
const byte *src, int height,
byte bit;
int8 inc = -1;
+ // Not meant as a serious workaround!!!
+ if (height == 120) {
+ height += 6;
+ // _vertStripNextInc can't be modified here. Replaced it
with
+ // keeping track of the old dst value instead.
+ // _vertStripNextInc += (6 * dstPitch);
+ }
+
int x = 8;
do {
+ byte *oldDst = dst;
int h = height;
do {
FILL_BITS;
@@ -3579,7 +3588,7 @@ void Gdi::drawStripBasicV(byte *dst, int dstPitch,
const byte *src, int height,
color += inc;
}
} while (--h);
- dst -= _vertStripNextInc;
+ dst = oldDst + 1;
} while (--x);
}
}}}
So it looks like it's getting the height of the image wrong somehow? This
is what it looks like for me with the modification:
[[Image(scummvm-ft-00002.png)]]
--
Ticket URL: <https://bugs.scummvm.org/ticket/13419#comment:7>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list