[Scummvm-tracker] [ScummVM :: Bugs] #12734: SCUMM: Missing sentence when Rapp gives the map piece
ScummVM :: Bugs
trac at scummvm.org
Tue Jul 13 08:32:43 UTC 2021
#12734: SCUMM: Missing sentence when Rapp gives the map piece
----------------------------+---------------------------
Reporter: dwatteau | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCUMM
Version: | Keywords:
Game: Monkey Island 2 |
----------------------------+---------------------------
(This was discovered by Threepwang.)
How to reproduce:
1. Start any version of Monkey Island 2 with the 1978 boot-code (any
platform, any language, the 1991 release or the Ultimate Edition… as far
as I can say).
2. Open Rapp's coffin, and apply Ash-2-Life on his ashes.
3. Choose dialog option 2 (saying that the gas is now off).
4. Rapp gives you his part of the map.
5. When receiving it, Guybrush should say something, but no text is
displayed. If you play the Ultimate Edition, you'll hear the associated
vocal sample, though, but the text itself is still missing.
This also happens with the original interpreter.
(Note: which sentence Guybrush is supposed to say depends of the number of
map pieces you already own. All of these sentences work as intended when
you're not triggering them with Rapp.)
I think it's a bug in the original script, as in Bug #2215 for Indy4
(where commit 549eb83986a works around it in ScummVM).
The associated script is LFLF_0019/ROOM/LSCR_0203:
{{{
...
(14) print(7,[Text(sound(0x3B5222F, 0xA) + "Now I can rest in the
folds of the earth^")]);
(AE) WaitForMessage();
(14) print(7,[Text(sound(0x3B6A5B6, 0xA) + "^like a Steamin' Weenie in
a soft, fresh bun.")]);
(AE) WaitForMessage();
(14) print(7,[Text(sound(0x3B85B7C, 0xA) + "Ahhh^")]);
(AE) WaitForMessage();
(80) breakHere();
(A8) if (VAR_OVERRIDE) {
(05) drawObject(199);
(29) setOwnerOf(1139,0);
(29) setOwnerOf(1139,15);
(29) setOwnerOf(1138,0);
(29) setOwnerOf(1138,15);
(29) setOwnerOf(1142,0);
(29) setOwnerOf(1142,15);
(**) }
(58) endOverride();
(14) print(255,[Text(" ")]);
(10) VAR_RESULT = getObjectOwner(200);
(88) if (VAR_RESULT != VAR_EGO) {
(25) pickupObject(200,0);
(1A) Bit[366] = 1;
(**) }
(0A) startScript(109,[200]); # <==
(**) }
(**) }
(58) endOverride();
(14) print(255,[Text(" ")]);
(0A) startScript(204,[Bit[586]]);
(80) breakHere();
}}}
Script 109 is the one starting Guybrush's sentences upon obtaining a part
of the map.
Some calls to WaitForMessage() or breakHere() are maybe missing there, but
I'm not sure as I don't really understand how this works.
--
Ticket URL: <https://bugs.scummvm.org/ticket/12734>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list