Opened 16 years ago

Closed 3 years ago

Last modified 3 years ago

#3832 closed defect (fixed)

SAM: Glitch after Bruno's flee from Bumpusville

Reported by: SF/cpt_wesker Owned by: bluegr
Priority: normal Component: Engine: SCUMM
Version: Keywords: original
Cc: Game: Sam and Max

Description

ScummVM 0.12pre (Jul 25 2008 20:22:38), Win32 Sam and Max Hit the Road, Talkie CD version, English, MD5: d917f311a448e3cc7239c31bddb00dd2

The glinch basically occurs when the back door through with the Giraffe Girl and Bruno escape, closes. Part of Bruno's back (buttocks?) and his heel are left on the screen where the door used to be. The glinch disappers only when exiting Bumpusville and returning back.

I enclose a save game exactly before this had happened and another save just before inserting the key that triggers the cutscene before the glinch. I'll also include screenshots.

--------------------------------------------------

P.S. You guys are doing a splendid job. Congrats and thanks for everything. I hope this tiny bug is fixable, if it's not, it's all the same. It's one of the few glinches I encountered when testing the new version, the other one being #1496566 in the circus and in the inn. The "bruno's back glinch" happens every time I play the game and is always noticable, in the original and while playing the game with ScummVM.

Cheers and thanks in advance

Ticket imported from: #2028711. Ticket imported from: bugs/3832.

Attachments (4)

samnmax.s01 (43.2 KB ) - added by SF/cpt_wesker 16 years ago.
Save game a moment before the glinch happens
samnmax.s02 (42.1 KB ) - added by SF/cpt_wesker 16 years ago.
The first save is when inserting the key, this one a sec before
glinch.jpg (88.5 KB ) - added by SF/cpt_wesker 16 years ago.
The shot of the glinch
beforeglinch.jpg (97.3 KB ) - added by SF/cpt_wesker 16 years ago.
Before the cutscene

Download all attachments as: .zip

Change History (19)

by SF/cpt_wesker, 16 years ago

Attachment: samnmax.s01 added

Save game a moment before the glinch happens

by SF/cpt_wesker, 16 years ago

Attachment: samnmax.s02 added

The first save is when inserting the key, this one a sec before

comment:1 by SF/cpt_wesker, 16 years ago

File Added: samnmax.s02

by SF/cpt_wesker, 16 years ago

Attachment: glinch.jpg added

The shot of the glinch

comment:2 by SF/cpt_wesker, 16 years ago

File Added: glinch.jpg

by SF/cpt_wesker, 16 years ago

Attachment: beforeglinch.jpg added

Before the cutscene

comment:3 by SF/cpt_wesker, 16 years ago

File Added: beforeglinch.jpg

comment:4 by SF/cpt_wesker, 16 years ago

Summary: Glinch after Bruno's flee from BumpusvilleSAM: Glinch after Bruno's flee from Bumpusville

comment:5 by SF/cpt_wesker, 16 years ago

Summary: SAM: Glinch after Bruno's flee from BumpusvilleSAM: Glitch after Bruno's flee from Bumpusville

comment:6 by SF/cpt_wesker, 16 years ago

"glinch"= "glitch" i don't use that word often. sorry

comment:7 by SF/cpt_wesker, 16 years ago

Priority: normallow

comment:8 by sev-, 16 years ago

Please, do not play with the priorities

comment:9 by sev-, 16 years ago

Priority: lownormal

comment:10 by eriktorbjorn, 16 years ago

As you say, this happens in the original interpreter as well. I guess no one noticed because Bruno's colour matches that of the wall pretty closely. This is what that part of the script looks like in the English CD version:

[05CD] (BA) talkActor(:sound:"It's at Evelyn Morrison's Savage Jungle Inn, in picturesque Half Life, Nevada.":wait:"Bigfoots--",11) [063C] (A9) wait.waitForMessage() [063E] (BA) talkActor(:sound:"--and their dates--",12) [0666] (A9) wait.waitForMessage() [0668] (BA) talkActor(:sound:"Only!",11) [0682] (A9) wait.waitForMessage() [0684] (9D) actorOps.setCurActor(12) [0689] (9D) actorOps.setIgnoreBoxes() [068B] (7E) walkActorTo(12,47,142) [0695] (A9) wait.waitForActor(-7,12) [069C] (9D) actorOps.setCurActor(6) [06A1] (9D) actorOps.init() [06A3] (9D) actorOps.setCostume(243) [06A8] (9D) actorOps.setScale(255) [06AD] (9D) actorOps.setIgnoreBoxes() [06AF] (9D) actorOps.setAlwayZClip(1) [06B4] (7F) putActorInXY(6,160,100,47) [06C1] (82) animateActor(6,250) [06C8] (82) animateActor(6,6) [06CF] (7F) putActorInXY(12,0,0,0) [06DC] (CA) delayFrames(23) [06E0] (7F) putActorInXY(11,0,0,0) [06ED] (CA) delayFrames(28) [06F1] (B6) printDebug.begin() [06F3] (B6) printDebug.msg(:sound:" ") [0707] (70) setState(451,0) [070E] (43) bitvar2 = 0 [0714] (82) animateActor(2,249) [071B] (BA) talkActor(:sound:"Let's go.",2)

So it seems like Bruno is actor 11, and Trixie is actor 12. They're both removed from the scene by the script. However, the animation of both Bruno and Trixie leaving the scene is apparently all carried by actor 6, which is not removed. I confirmed this by adding the following to o6_setState() in my local copy of the source code:

if (_game.id == GID_SAMNMAX && obj == 451 && state == 0) { Actor *a = derefActor(6, "WORKAROUND: Bug #2028711"); a->putActor(0, 0, 0); }

That fixes the glitch, but I'm NOT suggesting it as a patch. Basically, I was just looking for a script opcode after the animation to trigger on, and there may be better ways than that to work around it.

comment:11 by sev-, 16 years ago

This bugreport has been moved to Wiki to relevant Engine/TODO page. When the bug will be resolved, an appropriate message will be posted here and the bugreport link removed from Wiki

comment:12 by sev-, 16 years ago

Owner: set to sev-
Status: newclosed

comment:13 by dwatteau, 3 years ago

Status: closednew

I'm reopening this, since I've submitted a PR for it:
https://github.com/scummvm/scummvm/pull/3830

(This actually mainly follows eriktorbjorn's original suggestion above.)

comment:14 by bluegr, 3 years ago

Owner: changed from sev- to bluegr
Resolution: fixed
Status: newclosed

The PR has been merged, so this can be closed again as fixed. Thanks for your work dwatteau!

comment:15 by bluegr, 3 years ago

...and of course, thanks for your work on this too, eriktorbjorn!

Note: See TracTickets for help on using tickets.