[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
Mon Aug 19 05:25:40 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):

 Just to clarify, if we don't want to rely on `gGameTime` working the same
 way in the English version as in the non-English version, my aim was to
 rewrite

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

 into

 {{{

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

 making it a hybrid of the two scripts. There's already 3 bytes that can be
 saved by using the shorter form of the `bnt` instruction, but m-kiewitz
 suggested it may be possible to optimize even the earlier parts of the
 script. If so, that should simplify the patch and I might give that
 another try. But I read SCI byte code much the same way as I read German:
 slowly, often incorrectly, and my vocabulary is vanishingly small.

 I guess we should be thankful Sierra didn't add an optimization pass to
 their compiler!
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15303#comment:39>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list