#5394 closed defect (fixed)
MMC64: Crash when trying to use the radio unit (Funkgerät)
Reported by: | SF/zaurak | Owned by: | Kirben |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Maniac Mansion |
Description
Version:ScummVM 1.2.0pre 52840 (Sep 21 2010 17:06:49) System: Windows XP Game: Maniac Mansion C64 (German language) playing with Dave, Syd & Bernard
To complete the game using the path by calling the meteor police, it is necessary to use the radio unit (Benutz Funkgerät) to call them.
If Bernard uses the radio unit (Benutz Funkgerät) and types in the number of the meteor police (1138), which is noted at the wall notice (Fahndungsanzeige), ScummVM crashes reporting:
"convertMessageToString(): string escape sequence 252 unknown!"
Therefore the game is not completable using this path,
Ticket imported from: #3077966. Ticket imported from: bugs/5394.
Attachments (1)
Change History (7)
by , 14 years ago
Attachment: | maniaca.s14 added |
---|
comment:1 by , 14 years ago
This bug relates to the telephone as well. After the keypad (room 43) script is executed (number typed) the method scummLoop() will call handleMouseOver() which in turn calls drawSentence() where convertMessageToString() (with drawString()) is executed. convertMessageToString() crashes as it gets a cryptic malformed string as input (something like "Gehe zu $§Ö²Ä³ÖJ!?!!") .
The corrupted string is created by drawSentenceWord() which is called by drawSentence() to retrieve the name of the active object. Unfortunately the active object is set to the last key typed on the keypad (here the key "8", _activeObject=173, _activeObjectIndex=11) so getObjOrActorName() searches for the name of a key which just points to garbage.
I don't know what is the best way to fix this. It seems as if _activeObject(Index) has to be set to the currently pressed key, otherwise the script will not work. Maybe the activeObject could be set to the radio unit (object=135, index=8) or telephone after script execution (rather dirty solution) or getObjOrActorName() could handle the keys of the keypad separately (maybe the easiest solution) or the call to drawSentence() could be prevented at all.
comment:4 by , 14 years ago
Fixed in ScummVM SVN, by the patch provided by segra.
Use the next daily snapshot of ScummVM SVN.
comment:5 by , 14 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:6 by , 14 years ago
Works fine using ScummVM 1.3.0svn53822 (Oct 25 2010 23:36:48). Game is completable using the path by calling the meteor police.
Savegame: Use radio unit (Benutz Funkgerät) and type in the meteor police number (1138)