Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#1091 closed defect (fixed)

SAM: Conroy doesn't stop singing when escaping cutscene

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

Description

English CD "talkie" version, latest CVS snapshot.

If I hit escape during the Conroy cutscene, after he
has started singing, the cutscene ends in the sense
that Conroy leaves the stage. But his song keeps going
to the bitter end.

(I thought for sure that this had to be a regression,
but apparently it isn't. I guess I must have hit escape
*before* he started singing every time before.)

Ticket imported from: #780922. Ticket imported from: bugs/1091.

Attachments (3)

samnmax.s12 (67.6 KB ) - added by eriktorbjorn 16 years ago.
Savegame right before going to Bumpusville
sound.txt (2.6 KB ) - added by Kirben 15 years ago.
Patch
song.txt (3.2 KB ) - added by Kirben 15 years ago.
New Patch

Download all attachments as: .zip

Change History (13)

by eriktorbjorn, 16 years ago

Attachment: samnmax.s12 added

Savegame right before going to Bumpusville

comment:1 by Kirben, 15 years ago

It seems like sound calls via unkMessage1() should only stop
the previous sound, if VAR(VAR_V6_SOUNDMODE) = 1. But
that is based on just looking at the Conroy Bumpus song, I
don't know what other areas require the previous sounds to
be stopped, so this could cause regressions.
Please try the attached patch and see if it causes regressions
in other scenes that would be effected.

comment:2 by Kirben, 15 years ago

Owner: set to Kirben

by Kirben, 15 years ago

Attachment: sound.txt added

Patch

comment:3 by eriktorbjorn, 15 years ago

The only case I can remember off-hand in Sam & Max where I
think the previous sound effect ought to be stopped is early
in the game, when some guy gets thrown out of Flint's
office. With this patch, the "stretching" sound isn't stopped.

comment:4 by eriktorbjorn, 15 years ago

I forgot to say that I have no idea how this scene sounds
with the original interpreter, so I can't say for certain
what is right and what is wrong.

by Kirben, 15 years ago

Attachment: song.txt added

New Patch

comment:5 by Kirben, 15 years ago

I think VAR(9) refers to the sound channel.
So we should keep sound effects on two different channels,
stopping only the sound channel required and not all sound
effects.
Try this new patch.

comment:6 by eriktorbjorn, 15 years ago

Seems to work. At least for the two particular scenes we've
discussed so far.

comment:7 by fingolfin, 15 years ago

Any particular reason you added two PlayingSoundHandle vars, instead
of using sound IDs (like the code currently does) ? I.e. you could simply
use two different IDs (like 77777 and 77778) depending on the channel.
Something like this:
if (mode == 1 && (_vm->_gameId == GID_TENTACLE
|| (_vm->_gameId == GID_SAMNMAX))) {
id = 777777 + _curSndMode;
_vm->_mixer->stopID(id);
}
Also, since you yourself say it refers to a sound *channel*, why not
name the vars accordingly? Instead of "_curSndMode" call it
"_talk_sound_channel" (that way it'll also match the name of the other
"talk_sound_*" variables).

comment:8 by Kirben, 15 years ago

Status: newclosed

comment:9 by Kirben, 15 years ago

Thanks for the suggestions, they made the patch much more
simpler. I added altered patch to ScummVM cvs.

comment:10 by Kirben, 15 years ago

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