Opened 22 years ago

Closed 22 years ago

#266 closed defect (fixed)

SAM: Inventory icon appears centered

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


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, 22 years ago

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

comment:2 by SF/jbergstrom, 22 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, 22 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, 22 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, 22 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, 22 years ago

Summary: Inventory icon appears centeredSAM: Inventory icon appears centered

comment:7 by fingolfin, 22 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, 22 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, 22 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, 22 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, 22 years ago

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

comment:12 by SF/ender, 22 years ago

Thanks, fixed :)

Note: See TracTickets for help on using tickets.