Opened 21 years ago
Closed 21 years ago
#1070 closed defect (fixed)
MM: Jail Door Closes
Reported by: | SF/segra | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Maniac Mansion |
Description
Latest CVS Version,
When you walk down to the reactor and unlock the door using the old rusty key, the door opens. But when you try and walk through the door the door closes. You can walk away and its fine, but as soon as you try and walk through the door it closes.
The game is still completable with this problem, its just annoying at times.
Attached is a savegame at the door, just unlock and try and enter.
Ticket imported from: #776807. Ticket imported from: bugs/1070.
Attachments (1)
Change History (7)
by , 21 years ago
Attachment: | maniac.s04 added |
---|
comment:1 by , 21 years ago
comment:3 by , 21 years ago
Component: | → Engine: SCUMM |
---|---|
Game: | → Maniac Mansion |
comment:4 by , 21 years ago
The problem is this: the sentence script of the door tries to close the door then put you into the next screen. Visually that would look as if you are put into the prison and then the door slams shut behind you.
To close the door, it uses doSentence - on the same object. So that verb/sentence is executed, the door is closed, then the sentence script is quit - quit completely! I.e. instead of returning from the recursion, to finish its work (i.e. loading the next room) it stops after closing the door. Which manifests as the problem we see.
My guess is that our doSentence opcode in V2 still isn't quite right. Also the "recursion" flag handling for V2 might be flawed .
comment:5 by , 21 years ago
Line 1567 of script_v2.cpp is stopObjectScript(object, recursive);
commenting out this line fix's this problem, it also fixs bug #771483
Not sure if this is going to help you fix the problem or not, just thought i would let you know ;)
comment:6 by , 21 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Problem also occurs in original (non enhanced) version