[Scummvm-tracker] [ScummVM :: Bugs] #15303: SCI: LSL5: Timed message skipped during LSL5 coffee scene (symptom of a bigger problem?)

ScummVM :: Bugs trac at scummvm.org
Tue Aug 6 07:34:46 UTC 2024


#15303: SCI: LSL5: Timed message skipped during LSL5 coffee scene (symptom of a
bigger problem?)
-------------------------+-----------------------------------
Reporter:  eriktorbjorn  |       Owner:  (none)
    Type:  defect        |      Status:  new
Priority:  normal        |   Component:  Engine: SCI
 Version:                |  Resolution:
Keywords:                |        Game:  Leisure Suit Larry 5
-------------------------+-----------------------------------
Comment (by eriktorbjorn):

 Here's how the English version of LSL5 does it:

 {{{
         (method (doit)
                 (if (> (GetTime) ticks)
                         (self dispose: disposeWhenDone)
                         (return)
                 )
                 (if eyes
                         (self cycle: eyes)
                 )
                 (if mouth
                         (self cycle: mouth)
                 )
         )
 }}}

 Here's how the German, French, Spanish, and Italian versions do it (pun
 not intended):

 {{{
         (method (doit)
                 (if (> (- gGameTime ticks) 0)
                         (self dispose: disposeWhenDone)
                         (return)
                 )
                 (if eyes
                         (self cycle: eyes)
                 )
                 (if mouth
                         (self cycle: mouth)
                 )
         )
 }}}

 Could that be something they did to fix the problem? The `gGameTime`
 variable is also present in the English version, so it wasn't added
 specifically for these. But mathematics on overflowing integers makes my
 head hurt. Here's how the EGA DOS version does it:

 {{{
         (method (doit)
                 (if (and (> gGameTime ticks) (< (- gGameTime ticks)
 28672))
                         (self dispose: disposeWhenDone)
                         (return)
                 )
                 (if eyes
                         (self cycle: eyes)
                 )
                 (if mouth
                         (self cycle: mouth)
                 )
         )
 }}}

 Which seems just bizarre to me. It's as if someone stumbled over the bug
 once and added a quick-and-dirty hack for it, which was then rejected by
 whoever made the VGA version.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15303#comment:22>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list