[Scummvm-tracker] [ScummVM :: Bugs] #13378: SCUMM: SAMNMAX: Timing Problems in German CD Intro

ScummVM :: Bugs trac at scummvm.org
Thu Mar 31 08:28:31 UTC 2022


#13378: SCUMM: SAMNMAX: Timing Problems in German CD Intro
-------------------------+----------------------------
Reporter:  GermanTribun  |       Owner:  (none)
    Type:  defect        |      Status:  new
Priority:  normal        |   Component:  Engine: SCUMM
 Version:                |  Resolution:
Keywords:                |        Game:  Sam and Max
-------------------------+----------------------------
Comment (by eriktorbjorn):

 Oops, I just realized my workaround doesn't actually check ''which''
 variable the script tries to set. This should be better:

 {{{
 diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp
 index f763b967056..f07218786e9 100644
 --- a/engines/scumm/script.cpp
 +++ b/engines/scumm/script.cpp
 @@ -648,6 +648,27 @@ void ScummEngine::writeVar(uint var, int value) {
                         }
                 }

 +               // WORKAROUND bug #13378: For whatever reason, the German
 and
 +               // Italian talkie versions (I can't check the floppy
 versions)
 +               // set the game to run much too fast in some parts of the
 intro.
 +               // Some differences are natural because of the different
 lengths
 +               // of the spoken lines, but 1 or 2 is too fast.
 +               //
 +               // Any modifications here depend on knowing if the script
 will
 +               // set the timer value back to something sensible
 afterwards.
 +
 +               if (_game.id == GID_SAMNMAX &&
 vm.slot[_currentScript].number == 65 && var == VAR_TIMER_NEXT &&
 _enableEnhancements) {
 +                       // "Wirst Du brutzeln, wie eine grobe Bratwurst!"
 +                       if (value == 1 && _language == Common::DE_DEU)
 +                               value = 4;
 +
 +                       // Max beats up the scientist. This was probably
 to
 +                       // match the subtitles to the speech better, but
 it
 +                       // makes the animation look strange.
 +                       if (value == 2 && _language == Common::IT_ITA)
 +                               return;
 +               }
 +
                 _scummVars[var] = value;

                 // Unlike the PC version, the Macintosh version of Loom
 appears
 }}}

 (This also adjusts the timing for the German "Wirst Du brutzeln" line a
 little bit.)

 I have an idea for how to possibly fix the timing while Max is beating up
 the scientist a bit, but I'm not sure if it will work out yet.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13378#comment:11>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list