Menu

#3832 SAM: Glitch after Bruno's flee from Bumpusville

Sam and Max
closed-later
5
2009-01-08
2008-07-26
cpt. wesker
No

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

Discussion

  • cpt. wesker

    cpt. wesker - 2008-07-26

    Save game a moment before the glinch happens

     
  • cpt. wesker

    cpt. wesker - 2008-07-26

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

     
  • cpt. wesker

    cpt. wesker - 2008-07-26

    Logged In: YES
    user_id=2159231
    Originator: YES

    File Added: samnmax.s02

     
  • cpt. wesker

    cpt. wesker - 2008-07-26

    The shot of the glinch

     
  • cpt. wesker

    cpt. wesker - 2008-07-26

    Logged In: YES
    user_id=2159231
    Originator: YES

    File Added: glinch.jpg

     
  • cpt. wesker

    cpt. wesker - 2008-07-26

    Before the cutscene

     
  • cpt. wesker

    cpt. wesker - 2008-07-26

    Logged In: YES
    user_id=2159231
    Originator: YES

    File Added: beforeglinch.jpg

     
  • cpt. wesker

    cpt. wesker - 2008-07-26
    • summary: Glinch after Bruno's flee from Bumpusville --> SAM: Glinch after Bruno's flee from Bumpusville
     
  • cpt. wesker

    cpt. wesker - 2008-07-26
    • summary: SAM: Glinch after Bruno's flee from Bumpusville --> SAM: Glitch after Bruno's flee from Bumpusville
     
  • cpt. wesker

    cpt. wesker - 2008-07-26

    Logged In: YES
    user_id=2159231
    Originator: YES

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

     
  • cpt. wesker

    cpt. wesker - 2008-07-27
    • priority: 5 --> 3
     
  • cpt. wesker

    cpt. wesker - 2008-07-27
    • priority: 3 --> 1
     
  • Eugene Sandulenko

    Logged In: YES
    user_id=166507
    Originator: NO

    Please, do not play with the priorities

     
  • Eugene Sandulenko

    • priority: 1 --> 5
     
  • Torbjörn Andersson

    Logged In: YES
    user_id=577918
    Originator: NO

    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(🔉"It's at Evelyn Morrison's Savage Jungle Inn, in picturesque Half Life, Nevada.":wait:"Bigfoots--",11)
    [063C] (A9) wait.waitForMessage()
    [063E] (BA) talkActor(🔉"--and their dates--",12)
    [0666] (A9) wait.waitForMessage()
    [0668] (BA) talkActor(🔉"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(🔉" ")
    [0707] (70) setState(451,0)
    [070E] (43) bitvar2 = 0
    [0714] (82) animateActor(2,249)
    [071B] (BA) talkActor(🔉"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.

     
  • Eugene Sandulenko

    • assigned_to: nobody --> sev
    • status: open --> closed-later
     
  • Eugene Sandulenko

    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

     
MongoDB Logo MongoDB