#1091 closed defect (fixed)
SAM: Conroy doesn't stop singing when escaping cutscene
Reported by: | eriktorbjorn | Owned by: | Kirben |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | 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)
Change History (13)
by , 21 years ago
Attachment: | samnmax.s12 added |
---|
comment:1 by , 20 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 , 20 years ago
Owner: | set to |
---|
comment:3 by , 20 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 , 20 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.
comment:5 by , 20 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 , 20 years ago
Seems to work. At least for the two particular scenes we've discussed so far.
comment:7 by , 20 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 , 20 years ago
Status: | new → closed |
---|
comment:9 by , 20 years ago
Thanks for the suggestions, they made the patch much more simpler. I added altered patch to ScummVM cvs.
comment:10 by , 20 years ago
Resolution: | → fixed |
---|
Savegame right before going to Bumpusville