[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