diff options
author | Colin Snover | 2017-10-06 13:15:16 -0500 |
---|---|---|
committer | Colin Snover | 2017-10-06 22:11:02 -0500 |
commit | 42180527c4d9df920ab1b77c78e9c5e36b93b74d (patch) | |
tree | 9b158852223d15af7b5e6edabd37f77866bdf0cb /engines/sci/sound | |
parent | 93c8044f690306e23b5b3eb621207fbf57682c40 (diff) | |
download | scummvm-rg350-42180527c4d9df920ab1b77c78e9c5e36b93b74d.tar.gz scummvm-rg350-42180527c4d9df920ab1b77c78e9c5e36b93b74d.tar.bz2 scummvm-rg350-42180527c4d9df920ab1b77c78e9c5e36b93b74d.zip |
SCI32: Fix music volume not being restored after speech in Torin
This was a regression introduced by
d556dcc57bf50a03d81ab7a1ef59a9e5758465bf.
Diffstat (limited to 'engines/sci/sound')
-rw-r--r-- | engines/sci/sound/music.cpp | 8 | ||||
-rw-r--r-- | engines/sci/sound/soundcmd.cpp | 4 |
2 files changed, 3 insertions, 9 deletions
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index 5530952dcf..b2bd72e669 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -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); diff --git a/engines/sci/sound/soundcmd.cpp b/engines/sci/sound/soundcmd.cpp index 5a1c2c0825..54fdcf5f8f 100644 --- a/engines/sci/sound/soundcmd.cpp +++ b/engines/sci/sound/soundcmd.cpp @@ -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; |