SCI32: Fix music volume not being restored after speech in Torin
This was a regression introduced by
d556dcc57b
.
This commit is contained in:
parent
93c8044f69
commit
42180527c4
2 changed files with 3 additions and 9 deletions
|
@ -626,13 +626,7 @@ void SciMusic::soundStop(MusicEntry *pSnd) {
|
|||
|
||||
void SciMusic::soundSetVolume(MusicEntry *pSnd, byte volume) {
|
||||
assert(volume <= MUSIC_VOLUME_MAX);
|
||||
if (pSnd->isSample) {
|
||||
#ifdef ENABLE_SCI32
|
||||
if (_soundVersion >= SCI_VERSION_2_1_EARLY) {
|
||||
g_sci->_audio32->setVolume(ResourceId(kResourceTypeAudio, pSnd->resourceId), pSnd->soundObj, volume);
|
||||
}
|
||||
#endif
|
||||
} else if (pSnd->pMidiParser) {
|
||||
if (!pSnd->isSample && pSnd->pMidiParser) {
|
||||
Common::StackLock lock(_mutex);
|
||||
pSnd->pMidiParser->mainThreadBegin();
|
||||
pSnd->pMidiParser->setVolume(volume);
|
||||
|
|
|
@ -739,8 +739,8 @@ reg_t SoundCommandParser::kDoSoundSetVolume(EngineState *s, int argc, reg_t *arg
|
|||
#ifdef ENABLE_SCI32
|
||||
// SSCI unconditionally sets volume if it is digital audio
|
||||
if (_soundVersion >= SCI_VERSION_2_1_EARLY && musicSlot->isSample) {
|
||||
_music->soundSetVolume(musicSlot, value);
|
||||
} else
|
||||
g_sci->_audio32->setVolume(ResourceId(kResourceTypeAudio, musicSlot->resourceId), musicSlot->soundObj, value);
|
||||
}
|
||||
#endif
|
||||
if (musicSlot->volume != value) {
|
||||
musicSlot->volume = value;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue