Opened 21 years ago

Closed 13 years ago

#1529 closed defect

MANIAC V1: Disappearing New Kid verb (hack-in-cvs)

Reported by: SF/ender Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords: script
Cc: Game: Maniac Mansion

Description

As mentioned by a user on the forum ( http://sourceforge.net/forum/forum.php?thread_id=1039372&forum_id=115756), when taking the last dime from Wierd Ed's piggybank and getting thrown in jail, the "New Kid" verb does not reappear after the cutscene.

This is hacked around in CVS, although a proper fix would be better. The current hack is in script_v2's ::writeVar() and simply to run script 164 after script 89 gets var[175].

See the comments in said //hack for more information. To reproduce, use the following save and pick up the dime in the piggy-bank.

Ticket imported from: #915575. Ticket imported from: bugs/1529.

Attachments (1)

maniac.s06 (4.5 KB ) - added by SF/ender 21 years ago.
V1 Maniac-English save

Download all attachments as: .zip

Change History (8)

by SF/ender, 21 years ago

Attachment: maniac.s06 added

V1 Maniac-English save

comment:1 by fingolfin, 21 years ago

Summary: Maniac: Disappearing New Kid verb (hack-in-cvs)MANIAC: Disappearing New Kid verb (hack-in-cvs)

comment:2 by Kirben, 19 years ago

Actually the problem is that script 116 is killed by the exit script of room 26, when script 89 is switching to room 4. After script 89 is completed, script 116 should continue, to enable the New Kid verb and redraw the verbs.

This is just like the buying lotto bug in Zak McKracken.

comment:3 by fingolfin, 18 years ago

The lotto bug has been fixed in the meantime, by Kirben (freezeCount was handled incorrectly).

So does this still occur, I wonder?

comment:4 by fingolfin, 18 years ago

Seems the bug still occurs. Too bad.

comment:5 by fingolfin, 14 years ago

Summary: MANIAC: Disappearing New Kid verb (hack-in-cvs)MANIAC V1: Disappearing New Kid verb (hack-in-cvs)

comment:6 by bluegr, 13 years ago

Status: newclosed

comment:7 by bluegr, 13 years ago

As it is, this bug is serving as a reminder of a situation that is currently handled with a hack. It's been a long time (about 7 years) since the original bug report, so as it is right now, it doesn't serve any real purpose being open.

The hack for this is in scumm/script_v2.cpp, lines 1188 - 1194, inside function o2_stopScript():

if (_game.id == GID_MANIAC && _roomResource == 26 && vm.slot[_currentScript].number == 10001) { // FIXME: Nasty hack for bug #915575 // Don't let the exit script for room 26 stop the script (116), when // switching to the dungeon (script 89) if ((script == 116) && isScriptRunning(89)) return; }

Since this bug has been pending as a reminder for so long, I'm closing this as "Later" - especially since the aforementioned hack allows the scene to continue normally. People interested in resolving the hack can always check the relevant FIXME in the code, which points back to this bug.

Closing as "Later"

Note: See TracTickets for help on using tickets.