Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#270 closed defect (fixed)

SAM: Glitches in Cut-Scene (Stealing Wig)

Reported by: SF/linnard Owned by: SF/painelf
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Sam and Max

Description

ScummVM 0.2.0 Release Built on May 15 2002 01:04:49 Linux-SDL Sam 'n' Max Hit The Road, CD-Talkie US

When in the cut-scene as Sam is stealing Conroy's wig, the Conroy Eggplant appears in place and starts sinking while Sam is still bouncing it in his hand (the fake head just blinks out). The Indiana Jones music does not play, either.

Ticket imported from: #556564. Ticket imported from: bugs/270.

Attachments (1)

samnmax.s04 (65.3 KB ) - added by SF/linnard 18 years ago.
Conroy's Room, with Eggplant

Download all attachments as: .zip

Change History (11)

comment:1 by SF/ender, 18 years ago

Please attach a saved game before this point. The music is due to the different iMUSE implementation of Sam and Max (see the bug above, 'Sam and Max: iMUSE transitions'.

Assigning this to Yazoo, as this sounds like a BOMP problem (maybe scaling, Yaz?)

comment:2 by SF/ender, 18 years ago

Component: Engine: SCUMM
Game: Sam and Max
Owner: set to vincenthamm

comment:3 by SF/linnard, 18 years ago

Remove reference to music missing--I was using -eseq, which apparently doesn't work on my card, so none of the music was playing.

I'll get a save game as soon as I've got time to play through the game again (ScummVM autosaved JUST after that point for me, nice app). Should be later today.

comment:4 by SF/linnard, 18 years ago

Save uploaded.

Use the Eggplant in the inventory on the Toupee to the right to trip the cutscene.

by SF/linnard, 18 years ago

Attachment: samnmax.s04 added

Conroy's Room, with Eggplant

comment:5 by fingolfin, 18 years ago

Summary: Glitches in Cut-Scene (Stealing Wig)SAM: Glitches in Cut-Scene (Stealing Wig)

comment:6 by SF/painelf, 18 years ago

I'm taking a stab at this.

This bug is periodic; about %15 of the time it will work perfectly on my MSVC debug build (english talkie). I have been unable to reproduce steps that will always lead to expected behaviour.

Regular actor animation code appears to be used for the animations.

I debugged Actor::setActorCostume under both expected and unexpected behaviour. This over a timeframe of 10 seconds or thereabouts.

Expected behaviour: actor, costume --------------- max, 341 sam, 342 sam, 343 sam, 344 eggplant, 347 sam, 345

Unexpected behaviour: actor, costume --------------- max, 341 sam, 342 eggplant, 347 sam, 343 sam, 344 sam, 345

As you can see, the eggplant costume gets set before Sam is done doing his stuff. Gonna keep diggin'.

comment:7 by SF/painelf, 18 years ago

I have steps that will give me expected behaviour in around 30% of the runs.

"The eggplant costume gets set before Sam is done doing his stuff." Right. As noted below there are three actors in the room, and for each actor a script is running.

One of the scripts (haven't checked which actor) sets the eggplant costume prematurely. The scripts contains a call to o6_breakMaybe (delay a number of frames) to wait before setting the costume.

Trouble is, under expected and unexpected behaviour the script seems to contain different frame delay values!

For expected behaviour the script says

01 6C 00 CA

and for unexpected

01 0B 00 CA

How did that 0B 00 get in there?

comment:8 by SF/painelf, 18 years ago

Owner: changed from vincenthamm to SF/painelf

comment:9 by SF/painelf, 18 years ago

Whoops -- on initializing a new ScriptSlot (Scumm::RunScript ()) the newfield member would not be reset. This would cause the script to inheret the value from the last script that ran.

comment:10 by SF/painelf, 18 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.