#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)
Change History (19)
by , 16 years ago
Attachment: | samnmax.s01 added |
---|
by , 16 years ago
Attachment: | samnmax.s02 added |
---|
The first save is when inserting the key, this one a sec before
comment:4 by , 16 years ago
Summary: | Glinch after Bruno's flee from Bumpusville → SAM: Glinch after Bruno's flee from Bumpusville |
---|
comment:5 by , 16 years ago
Summary: | SAM: Glinch after Bruno's flee from Bumpusville → SAM: Glitch after Bruno's flee from Bumpusville |
---|
comment:7 by , 16 years ago
Priority: | normal → low |
---|
comment:9 by , 16 years ago
Priority: | low → normal |
---|
comment:10 by , 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 , 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 , 16 years ago
Owner: | set to |
---|---|
Status: | new → closed |
comment:13 by , 3 years ago
Status: | closed → new |
---|
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 , 3 years ago
Owner: | changed from | to
---|---|
Resolution: | → fixed |
Status: | new → closed |
The PR has been merged, so this can be closed again as fixed. Thanks for your work dwatteau!
Save game a moment before the glinch happens