Opened 20 years ago

Closed 20 years ago

Last modified 3 months ago

#1675 closed defect (fixed)

INDY3VGA: Lockup during conversation with drunken nazi

Reported by: SF/sgt-nukem Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Indiana Jones 3

Description

Maybe this is only related to the german version.

While talking to the drunken nazi, when he wants to show the way to the kitchen, the cutscene never finishes. The animations (i.e. "fluid bubbles" over nazi) still work though.

ScummVM 0.6.0 Win32 (Windows XP SP1)

Ticket imported from: #985948. Ticket imported from: bugs/1675.

Attachments (1)

indy3.s07 (6.1 KB ) - added by SF/sgt-nukem 20 years ago.
savegame for IndyVGA german

Download all attachments as: .zip

Change History (7)

comment:1 by SF/sgt-nukem, 20 years ago

Summary: Lockup during conversation with drunken naziINDY3VGA: Lockup during conversation with drunken nazi

by SF/sgt-nukem, 20 years ago

Attachment: indy3.s07 added

savegame for IndyVGA german

comment:2 by SF/sgt-nukem, 20 years ago

Added a savegame. Choosing the first answer, the nazi wants to show where the kitchen is, then Indy says something like "I can't reach this." (in german of course), then the game hangs forever.

comment:3 by fingolfin, 20 years ago

Fixed in CVS. This was a really odd bug, I must say :-). Apparently the "sz" in "Schloss" ("Schlo") was encoded badly. That cause the string which the guard is supposed to say to be not properly terminated. As a result, part of the script was skipped, leading to the lockup.

Yet another script bug in the original game data which we successfully correct. yippie :-)

comment:4 by fingolfin, 20 years ago

Owner: set to fingolfin
Resolution: fixed
Status: newclosed

comment:5 by dwatteau, 3 months ago

In 853c0a98:

SCUMM: Improve Trac#1675 and Trac#2715 bugfixes for German Indy3

  • Fix an off-by-one in resStrLen() return value, and apply its workaround for Trac#2715 too.
  • Merge the two convertMessageToString() workarounds into a single one, and fix another off-by-one in the Trac#1675 case.
  • Restrict both workarounds to the German release of Indy3 (DOS release checked against my own copy, Amiga release tested by gabberhead).
  • Restrict both workarounds to the two rooms using the wrong byte for the German Eszett character -- but don't limit it to a particular script number, because the faulty lines can be triggered by some global scripts too (e.g. highlighting a dialogue option).

This should fix the following problems:

  • the use-case in Trac#2715 still triggering a fatal "string escape sequence 32 unknown" error in convertMessagetoString(), when one highlights the "Woher weiß ich, daß SIE kein Spion sind?" line.
  • the missing full stop at the end of the "…irgendwo hier im Schloß." line from the drunk guard.

comment:6 by AndywinXp, 3 months ago

In 03d1631b:

SCUMM: Avoid erroring out on invalid control codes

This matches the actual behavior from every SCUMM version.
This should properly fix the crashes in #1675 and #2715.

Note: See TracTickets for help on using tickets.