Opened 18 years ago

Closed 17 years ago

#266 closed defect (fixed)

SAM: Inventory icon appears centered

Reported by: SF/jbergstrom Owned by: SF/ender
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Sam and Max

Description

ScummVM 0.2.0
English CD-Rom talkie
Win32

The inventory box icon appears occasionally centered
on the screen.

Ticket imported from: #556496. Ticket imported from: bugs/266.

Change History (12)

comment:1 by SF/ender, 18 years ago

Can you narrow this down to specific reproducable events
where it occurs?

comment:2 by SF/jbergstrom, 18 years ago

I think it happens quite randomly, but at least once it
happened in the Vortex inverted gravity room - and
somewhere else as well, but I just can't remember where...

comment:3 by SF/linnard, 18 years ago

It's definetly in the Mystery Vortex, in the Upside-Down
Room. Periodically it'll show up mis-aligned in wide areas
(like the area in front of the The Biggest Ball of Twine In
The World), but this seems random.

comment:4 by SF/logicdeluxe, 18 years ago

I also noticed it at gator golf sometimes.
It is not exactly centered in all cases, since I once
noticed a scene (though I don't remember where it was
exactly) where it appeared too far to the left, partialy
outside the screen so that only the right edge of the icon
can be seen.

comment:5 by SF/linnard, 18 years ago

Entering the parking lot at the World's Largest Ball Of
Twine from the Museum sometimes causes the left overset.

In a conversation (I believe with one of the employees at
a Snuckey's), it appeared as the left-most dialogue option
(the ! button). Only once, though, and I've been unable
to duplicate.

comment:6 by fingolfin, 17 years ago

Summary: Inventory icon appears centeredSAM: Inventory icon appears centered

comment:7 by fingolfin, 17 years ago

Endy, can you tell me how that inventory icon is drawn by
chance? I.e. is it drawn compleltly by the script code, or
what else is responsible for this? I guess if I knew I could
look into this and some other related issues :-)

comment:8 by SF/painelf, 17 years ago

Dunno if this helps, but the inventory is an actor, and its
position seems to be set in runEntryScript(); in
Scumm::startScene().

I'm going to keep diggin'.

comment:9 by SF/painelf, 17 years ago

A bit more info: The inventory is placed in the room with an
0x7f opcode, which make sense since that translates to
putActorInRoom().

comment:10 by SF/painelf, 17 years ago

Look in east and ye shall find in west.

I submitted a fix for this. The trouble was, it seems, that
o6_loadRoomWithEgo() would access and set the camera
position members directly - but this would not run the
VAR_SCROLL_SCRIPT script and update the
VAR_CAMERA_POS_X position. Hence the inventory was
left hanging under certain circumstances.

That's the short version anyway.

comment:11 by SF/ender, 17 years ago

Owner: set to SF/ender
Resolution: fixed
Status: newclosed

comment:12 by SF/ender, 17 years ago

Thanks, fixed :)

Note: See TracTickets for help on using tickets.