Opened 16 years ago

Closed 16 years ago

Last modified 12 years ago

#1194 closed defect (fixed)

MI1demo: plank behind the kitchen

Reported by: SF/logicdeluxe Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 1

Description

ScummVM 0.5.3cvs (Aug 27 2003 16:57:28)
Guybrush keeps kicking the plank all the time until he
goes somewhere else.
This happens with the standalone EGA and Amiga demos
and also with Passport to Adventures. But works fine
with the full versions where this bug was there a long
time ago. Maybe it is related to that.

Ticket imported from: #795937. Ticket imported from: bugs/1194.

Change History (7)

comment:1 by Kirben, 16 years ago

Owner: set to SF/ender

comment:2 by Kirben, 16 years ago

Bug #554122 was the earlier bug in full version of Monkey
Island.
Endy, could you have a look at this issue ? since it looks like
you fixed the other bug long ago.

comment:3 by SF/ender, 16 years ago

Yikes, that was a long time ago. Can you clarify your
"works fine with the full version"? The EGA version is a
full version - do you mean it does not occur with the VGA
version?

comment:4 by SF/logicdeluxe, 16 years ago

With "full versions" I mean all of them, including the EGA
version. I checked it with EGA, VGA, enhanced CD and with
the Amiga version. I don't know about resources from other
systems like mac though.

comment:5 by fingolfin, 16 years ago

What happens here: a script checks the distance of guybrush to a
specific object. If that distance is less than 3, the plank is
"activated". So after you stepped on the plank, in regular Monkey
EGA (non-demo), we get this (I added some printf's):

(294,131); (298, 134) -> (297,133); dist (3, 2)
Get dist 1 - 902: 3

The first two coordinate pairs are the coords of actor 1 and obj
902 (printed from getObjActToObjActDist). The third are the
coordinates of object 902 after adjustXYToBeInBox() has been
applied. Finally the resulting x/y distance are shown (the
maximum of which is the final distance)

For PASS now, we get:
(294,131); (296, 133) -> (296,133); dist (2, 2)
Get dist 1 - 307: 2

Since this distance is less than 3, the plank will be triggered again
and again and again. Note that Guybrush's pos is identical to that
in the regular MonkeyEGA, however the position of the target
object differs.

Also note that obj 307 is used instead of obj 902, but that is
irrelevant (room & costume ids also differ, but that is no surprise,
given that PASS combines three game demos into one data set).

comment:6 by fingolfin, 16 years ago

Owner: changed from SF/ender to fingolfin
Resolution: fixed
Status: newclosed

comment:7 by eriktorbjorn, 12 years ago

Fingolfin asked me check if the workaround for this bug is still necessary. Apparently it is. At least in the "Passport" demo.

Note: See TracTickets for help on using tickets.