[Scummvm-tracker] [ScummVM :: Bugs] #15165: Leisure Suit Larry 6 Freeze during Electric Shock cutscene

ScummVM :: Bugs trac at scummvm.org
Thu Jun 13 20:31:29 UTC 2024


#15165: Leisure Suit Larry 6 Freeze during Electric Shock cutscene
--------------------------+-----------------------------------
Reporter:  tacoadventure  |       Owner:  (none)
    Type:  defect         |      Status:  new
Priority:  normal         |   Component:  Engine: SCI
 Version:                 |  Resolution:
Keywords:                 |        Game:  Leisure Suit Larry 6
--------------------------+-----------------------------------
Comment (by sluicebox <22204938+sluicebox@…>):

 In [changeset:"90f8cb2613c2f6a895ce0853f568d9c55b641575" 90f8cb26]:
 {{{#!CommitTicketReference repository=""
 revision="90f8cb2613c2f6a895ce0853f568d9c55b641575"
 SCI: Implement SCI1.1 AudioLoc behavior

 - Fixes LSL6 CD (SCI16 version) Electroshock freeze, bug #15165
 - Improves LB2 CD "Ra Ra Amon Ra" chant scene

 Neither of these scenes are perfectly reproduced in ScummVM yet, but
 they are better than they were. They accidentally rely on precise
 undocumented/undiscovered audio driver behavior when digital sound
 and speech are played at the same time and interrupt each other.

 These scripts do conflicting things that had no effect in the original
 floppy versions, but caused conflicts once CD speech was added later.
 They still appeared to work, but only by accident, and so no one would
 have noticed the problems at the time. When LSL6 was ported to SCI32,
 the Electroshock script was discovered and rewritten to be normal.

 This commit implements two missing pieces of interpreter behavior:

 1. processUpdateCues stops the sound if it's a digital sample and
    the audio driver's AudioLoc function returns -1. To replicate
    this, we query our two separate components that play digital
    samples and speech.

 2. kDoAudio(AudioLoc) returns the audio driver's AudioLoc result.
    SSCI's audio driver could have been playing a digital sample or
    speech, but we do these in two separate components, and we were
    only querying one of them. Now we query both and produce the
    same results as the original.
 }}}
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15165#comment:14>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list