[Scummvm-tracker] [ScummVM :: Bugs] #10530: SCUMM: Zak McKracken (FM-Towns) - Cutscene stack overflow after ending

ScummVM :: Bugs trac at scummvm.org
Fri Jun 3 21:22:09 UTC 2022


#10530: SCUMM: Zak McKracken (FM-Towns) - Cutscene stack overflow after ending
---------------------+----------------------------
Reporter:  d0k3      |       Owner:  (none)
    Type:  defect    |      Status:  new
Priority:  normal    |   Component:  Engine: SCUMM
 Version:            |  Resolution:
Keywords:  FM-Towns  |        Game:  Zak McKracken
---------------------+----------------------------
Comment (by dwatteau):

 I tried reproducing this by triggering the ending credits this way in the
 debugger:

 {{{
 room 25
 script 139 run
 }}}

 but I couldn't reproduce the problem with the German patch.

 I see that this fan translation added a `\013` (or `\x0D`) character at
 the end of every string inside the game. This is probably because they
 used scummtr to do the translation, with its `-w` option for CRLF line
 returns during the initial export, but they probably forgot to use it
 during the import, causing the insertion of real `\r` carriage returns
 inside the game strings.

 I'm not sure the game is happy with this. Padded strings that should end
 with `@@@` now end with `@@@\013`. Internal sequences such as
 `\255\004\175\000\255\002` now become `\255\004\175\000\255\002\013`,
 which is unexpected. ScummVM prints this kind of warnings with this
 version, for example:

 {{{
 '!RNING: findVirtScreen(200) failed, therefore printChar cannot print '
 }}}

 I'm not sure the stack overflow came from there, but I think it's quite
 possible. I'm  not aware of a similar problem with the original English
 version or with the French fan translations I know (but the German version
 also changed some other objects, such as as Zak's floor).

 The strings inside the la-patches.de fan translation could maybe be fixed
 with something like this:

 {{{
 scummtr -g zaktowns -c -of tmp.txt
 perl -pi -e 's/\\013$//' tmp.txt
 scummtr -g zaktowns -c -if tmp.txt
 }}}

 but then all past saves for this version would be invalidated, I believe.

 With no way to reproduce this at the moment, and knowing than this fan
 translation has a problem in its string format, I don't think ScummVM can
 do much about this...
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/10530#comment:6>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list