Opened 17 years ago

Closed 17 years ago

Last modified 13 months ago

#8130 closed patch

SAM: Fix for graphics glitch

Reported by: eriktorbjorn Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Sam and Max

Description

This patch fixes a graphics glitch at the Ball of Twine:

* Walk Sam to the foot of the stairs to the gondola platform.

* Wait until Max stops walking. He should now be standing in the parking lot.

* Walk Sam up the stairs. As the camera moves to the right, you should see a partially drawn Max appear on the right side of the screen.

This happens because Max is drawn with _xpos < 0, so he "wraps around" to the right side.

It's possible/probable that it fixes other similar bugs - I've made the change in all the codecs, not just the one that causes the Sam & Max glitch - but this is the only one I know how to trigger in any reliable way.

An alternative fix would probably be to make _xpos unsigned. I'm not suggesting we actually do it this way since it's not human-readable, but it could explain why the code was reverse-engineered to only clip against the right edge of the screen.

Oh, and the same thing probably applies to AKOS as well, but I don't know of any test cases for it.

Ticket imported from: #639699. Ticket imported from: patches/235.

Attachments (2)

costume-clipping.diff (1.5 KB ) - added by eriktorbjorn 17 years ago.
Patch against a November 16 CVS snapshot
akos-clipping.diff (1.0 KB ) - added by eriktorbjorn 17 years ago.
Patch against a November 16 CVS snapshot

Download all attachments as: .zip

Change History (6)

by eriktorbjorn, 17 years ago

Attachment: costume-clipping.diff added

Patch against a November 16 CVS snapshot

comment:1 by eriktorbjorn, 17 years ago

I should point out that I've done little or no regression testing, but it seems like an obviously correct fix to me. (A sure sign that I've missed something. ;-)

by eriktorbjorn, 17 years ago

Attachment: akos-clipping.diff added

Patch against a November 16 CVS snapshot

comment:2 by eriktorbjorn, 17 years ago

See also bug report #639115 ("sam and max leave ghosts").

comment:3 by fingolfin, 17 years ago

Owner: set to fingolfin
Status: newclosed

comment:4 by digitall, 13 months ago

Component: Engine: SCUMM
Game: Sam and Max
Note: See TracTickets for help on using tickets.