Opened 2 years ago
Closed 2 months ago
#15036 closed feature request (wontfix)
SCUMM: Re-enable the missing answering machine message in Sam&Max
| Reported by: | GermanTribun | Owned by: | dwatteau |
|---|---|---|---|
| Priority: | normal | Component: | Engine: SCUMM |
| Version: | Keywords: | ||
| Cc: | Game: | Sam and Max |
Description
As TCRF wrote here about Sam & Max,
https://tcrf.net/Sam_%26_Max_Hit_the_Road#Local_Script_205_in_Room_7
the answering machine in the office actually has four messages, but for whatever reason, only three of those are picked at random. Is the fourth message also in the monster.sou? If yes, can the randomizer include all four of the messages?
Change History (5)
comment:1 by , 2 years ago
comment:3 by , 2 months ago
| Owner: | set to |
|---|---|
| Resolution: | → fixed |
| Status: | new → closed |
The next ScummVM release will have an Enhancement for those who want to restore it -- only in the floppy release though, for the reasons given above, as I agree with erik's reasoning.
Thanks!
comment:4 by , 2 months ago
| Resolution: | fixed → wontfix |
|---|---|
| Status: | closed → pending |
Well, I've actually undid the previous change.
The floppy release did have the proper getRandomNumber() max value set. Then, when they did the talkie release, they both changed the getRandomNumber() value, and they chose not to voice it.
So, it seems it was cut from the talkie release on purpose, and not by accident (as initially thought). And the current de facto policy is that we don't want the Enhancements to include changes clearly going _against_ original intent.
comment:5 by , 2 months ago
| Status: | pending → closed |
|---|

At least in the English CD version of the game, the other messages have a sound, like this:
(I don't remember off-hand what the parameters to sound() are, but I think the first one is the exact offset into the monster.sou file, or something like that.)
The fourth message, however, does not:
[04CE] (B4) printLine.msg("<beep> Snork! <Grunt>" + wait() + "SQUEEEE!!!!" + wait() + "<Scronk> Yib!" + wait() + "<Click>")I suppose it could be enabled for the floppy versions with something like this:
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp index 4229dd37e5c..85614396dbe 100644 --- a/engines/scumm/script_v6.cpp +++ b/engines/scumm/script_v6.cpp @@ -1525,7 +1525,12 @@ void ScummEngine_v6::o6_loadRoomWithEgo() { void ScummEngine_v6::o6_getRandomNumber() { int rnd = _rnd.getRandomNumber(0x7fff); - rnd = rnd % (pop() + 1); + int max = pop(); + + if (enhancementEnabled(kEnhRestoredContent) && _game.id == GID_SAMNMAX && strcmp(_game.variant, "Floppy") == 0 && _currentRoom == 7 && vm.slot[_currentScript].number == 205) + max = 4; + + rnd = rnd % max; if (VAR_RANDOM_NR != 0xFF) VAR(VAR_RANDOM_NR) = rnd; push(rnd);But I don't own even a single floppy version, so I can't test it.