[Scummvm-tracker] [ScummVM :: Bugs] #15895: SCI: KQ6: Crash on looking at Rotten Tomato (CD Windows)

ScummVM :: Bugs trac at scummvm.org
Thu Apr 24 05:03:13 UTC 2025


#15895: SCI: KQ6: Crash on looking at Rotten Tomato (CD Windows)
----------------------------+-----------------------------
Reporter:  darkmage0707077  |       Owner:  (none)
    Type:  defect           |      Status:  new
Priority:  normal           |   Component:  Engine: SCI
 Version:                   |  Resolution:
Keywords:                   |        Game:  King's Quest 6
----------------------------+-----------------------------
Comment (by eriktorbjorn):

 I can reproduce it with ScummVM 2.9, but not with the development version.
 This seems to be the commit that fixed it?

 {{{
 commit fdd1d1644ce1c8c756b0cf0702553cb37a58cec0
 Author: athrxx <athrxx at scummvm.org>
 Date:   Tue Dec 17 15:43:45 2024 +0100

     SCI: (KQ6WinCD) - fix hires drawing glitches

     (items 1- 3 from bug ticket no. 15594)

     I have added redrawing functionality for the hires GFX from the
     original interpreter. I guess the original only needed that code
     to handle WM_PAINT messages (= full window redraw). It also
     does actually call a redraw in kDisposeWindow, the same way I
     implemented it here, to refresh the inventory. But that is really
     only needed for the speech+text mode which isn't supported
     in the original. Maybe they ditched the mode only after they
     had already implemented that, who knows...

     I have also improved the workaround for the out-of-bounds
     portraits to catch the case from the bug ticket.

     I added a check in kDisposeWindow. It isn't strictly necessary,
     but it it makes the code easier to understand.

     I also renamed a var that I had previously renamed in a way
     that makes no sense. I had renamed it from `upscaledHiresRect'
     to 'portraitRect' since it is neither upscaled nor hires (it is just a
     lowres rect). But it isn't a portrait rect either. The portraits get
     drawn elsewhere. It's more likely to be a picture frame, a GUI
     control or an inventory item.

  engines/sci/engine/kgraphics.cpp |   6 ++
  engines/sci/graphics/paint16.cpp | 126
 +++++++++++++++++++++++++++++----------
  engines/sci/graphics/paint16.h   |  16 ++++-
  engines/sci/graphics/screen.cpp  |   3 +-
  engines/sci/graphics/screen.h    |  15 -----
  5 files changed, 117 insertions(+), 49 deletions(-)
 }}}

 But I don't know if that can be safely backported to 2.9, in case there is
 a 2.9.1 later?
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15895#comment:4>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list