[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