Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#1090 closed defect (fixed)

SAM: Music stops at Bumpusville

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

Description

Sam & Max, English "talkie" version, latest CVS snapshot.

At Bumpusville, if I leave the house and then enter it again the music stops. Did it do that in the original, as well?

Ticket imported from: #780918. Ticket imported from: bugs/1090.

Attachments (1)

samnmax.s12 (67.6 KB ) - added by eriktorbjorn 17 years ago.
Savegame just before going to Bumpusville

Download all attachments as: .zip

Change History (6)

by eriktorbjorn, 17 years ago

Attachment: samnmax.s12 added

Savegame just before going to Bumpusville

comment:1 by eriktorbjorn, 17 years ago

Owner: set to SF/jamieson630

comment:2 by SF/jamieson630, 17 years ago

This is due to the check at the bottom of IMuseInternal::ImSetTrigger(). (I'd give a line number, but at the moment my local module is heavily modified from CVS.) An attempt to set up a "start song" command to fire on a trigger will cause that song to stop playing if it's already playing. This fixes some carnival music issues, but is probably something of a hack.

In Bumpusville, a trigger is set up to start the "interior" music once the "exterior" music is finished. Once you're inside the house, though, the "interior" music continues playing even if you walk back outside. Consequently, when you enter the house again, the "interior" music is set to start on a trigger, and since it's already playing, it gets stopped.

There are two ways to deal with this:

(1) Remove the check mentioned. This may cause carnival music regressions, but I suspect the behavior of the carnival music can be fixed in other ways.

(2) Refuse to set up a trigger for a song that's not currently playing. In this case, since the "exterior" music is not playing, the trigger should not be set up. I have this vague recollection, however, that in certain areas triggers for a song may be set up just before a song starts playing. I used to have the iMuse triggers tracked in each Player object, until I discovered that sometimes a trigger needs to be remembered when there's not even a Player object for that song yet.

Since I can't recall under what circumstances the latter situation occurs, I will focus on making the former change and then just trying to fix up whatever carnival music breaks as a result.

comment:3 by SF/jamieson630, 17 years ago

Status: newclosed

comment:4 by SF/jamieson630, 17 years ago

Fixed in latest CVS. Closing.

comment:5 by SF/jamieson630, 17 years ago

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