[Scummvm-tracker] [ScummVM :: Bugs] #14907: SCI: KQ7: Crash on reaching chapter 4

ScummVM :: Bugs trac at scummvm.org
Sat Feb 10 11:32:58 UTC 2024


#14907: SCI: KQ7: Crash on reaching chapter 4
-----------------------+-----------------------------
Reporter:  Tricky1975  |       Owner:  (none)
    Type:  defect      |      Status:  new
Priority:  normal      |   Component:  Engine: SCI
 Version:              |  Resolution:
Keywords:              |        Game:  King's Quest 7
-----------------------+-----------------------------
Comment (by sluicebox):

 I have investigated this and I am 99% sure there is no ScummVM bug and
 that this is a local problem. I suspect it involves the game being played
 directly off of CD. I recommend copying the files to your hard drive. I
 suspect your current environment is failing at basic file I/O. That would
 create what appears to be random errors.

 The error message states that Sound 4076 has zero bytes. In fact, Sound
 4076 has 38 bytes. That suggests a local problem.

 As you can see, this isn't a MIDI parsing issue. There's nothing to parse!

 I start these investigations with the game scripts. There is only one
 reference to "4076" in KQ7. It's in script 4050, as our error message
 says: https://github.com/sluicebox/sci-
 scripts/blob/main/kq7-dos-1.51/src/rm4050.sc

 {{{

 sChapter4IntroScript:changeState(3)

         (screamSound number: 4076 loop: 1 play:)
 }}}


 Just from that text we can see that we're in the right script, and that we
 should expect a scream to play, not a MIDI. Indeed, this script is
 supposed to play *Audio* 4076, a digital sample of Rosella screaming, not
 *Sound* 4076, a 38 byte silent MIDI. In SCI2, kDoSoundInit uses an Audio
 resource if it exists, otherwise it uses a Sound resource. That means the
 the game should never be using Sound 4076 at all; it only does that if the
 scream resource is missing.

 These two distinct failures suggests that all of this is a unique local
 problem. Basic file I/O failure would explain both. Taking the CD out of
 the equation will hopefully fix this. (But again, I recommend switching to
 2.00b anyway)
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14907#comment:9>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list