Opened 17 years ago

Closed 17 years ago

Last modified 12 years ago

#420 closed defect

MI2: Lockup after stealing the fish

Reported by: eriktorbjorn Owned by:
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 2

Description

In revision 1.124 of script_v1.cpp the following hack
to o5_getDist() was removed:

/* FIXME: Fix for monkey 2, dunno what's wrong in
scummvm */
if (_gameId == GID_MONKEY2 &&
vm.slot[_currentScript].number == 40 && r < 60)
r = 60;

I don't know about then or right now, but at least in
the August 16 CVS snapshot this was still needed, or
ScummVM will lock up when you leave the kitchen in
Elaine's manor, after stealing the fish.

I think what happens if that ScummVM tries to move the
chef towards you, but gets stuck before he can get
close enough. These are the scripts that are repeating
forever:

Script 41: [2E] o5_delay()
Script 40: [4D] o5_walkActorToActor()
Script 40: [AE] o5_wait()
Script 40: [18] o5_jumpRelative()
Script 40: [49] o5_faceActor()
Script 40: [83] o5_getActorRoom()
Script 40: [3] o5_getActorRoom()
Script 40: [88] o5_isNotEqual()
Script 40: [74] o5_getDist()
Script 40: [78] o5_isGreater()
Script 40: [18] o5_jumpRelative()
Script 40: [A] o5_startScript()

I've attached a savegame. If that doesn't work, try
starting the game in room 54. But then you'll have to
go through the trouble of distracting the chef first.

Ticket imported from: #597022. Ticket imported from: bugs/420.

Attachments (1)

monkey2.s01 (41.0 KB ) - added by eriktorbjorn 17 years ago.
Savegame in the kitchen

Download all attachments as: .zip

Change History (7)

by eriktorbjorn, 17 years ago

Attachment: monkey2.s01 added

Savegame in the kitchen

comment:1 by eriktorbjorn, 17 years ago

Component: Engine: SCUMM
Game: Monkey Island 2

comment:2 by fingolfin, 17 years ago

OK, I think we removed that exactly because we didn't know
anymore what it was fixing. So now that we know what, we can
either re-add it, with a pointer to this bug report, or we
can try to properly fix the issue :-)

comment:3 by fingolfin, 17 years ago

Summary: MONKEY2: Lockup after stealing the fishMI2: Lockup after stealing the fish

comment:4 by SF/ender, 17 years ago

Well, I've readded the fixme. For now I will close this bug, the fixme points
to it if anyone feels like reopening it and tackling the REAL cause in the
future.

comment:5 by SF/ender, 17 years ago

Status: newclosed

comment:6 by eriktorbjorn, 12 years ago

I wonder if this workaround is still needed. I tried reproducing it a while ago (while trying Fingolfin's timer patch in bug report #1861582), and I failed both with and without the patch.

Note: See TracTickets for help on using tickets.