diff options
author | Travis Howell | 2004-07-15 05:44:57 +0000 |
---|---|---|
committer | Travis Howell | 2004-07-15 05:44:57 +0000 |
commit | 84e77997d3531dcd89c81bf95cae6852f7385765 (patch) | |
tree | 6955aabfc46b02a3383e3a3a471095b02136c1d4 /scumm | |
parent | fc0ee149383c5ab294bf37ef7de40a9478ff61f4 (diff) | |
download | scummvm-rg350-84e77997d3531dcd89c81bf95cae6852f7385765.tar.gz scummvm-rg350-84e77997d3531dcd89c81bf95cae6852f7385765.tar.bz2 scummvm-rg350-84e77997d3531dcd89c81bf95cae6852f7385765.zip |
Fix music volume regression in HE games.
svn-id: r14215
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v6he.cpp | 10 | ||||
-rw-r--r-- | scumm/sound.cpp | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp index 69a3a0d622..01f752e1bb 100644 --- a/scumm/script_v6he.cpp +++ b/scumm/script_v6he.cpp @@ -27,6 +27,7 @@ #include "scumm/actor.h" #include "scumm/charset.h" +#include "scumm/imuse.h" #include "scumm/intern.h" #include "scumm/object.h" #include "scumm/resource.h" @@ -1108,16 +1109,19 @@ void ScummEngine_v6he::o6_writeFile() { void ScummEngine_v6he::o6_soundOps() { byte subOp = fetchScriptByte(); - int volume = pop(); + int arg = pop(); switch (subOp) { case 0xde: - _mixer->setMusicVolume(volume); + if (_heversion == 60) + _imuse->set_music_volume(arg); + else + _mixer->setChannelVolume(_sound->_musicChannelHandle, arg); break; case 0xe0: // Fatty Bear's Birthday surprise uses this when playing the // piano, but only when using one of the digitized instruments. // See also o6_startSound(). - _sound->setOverrideFreq(volume); + _sound->setOverrideFreq(arg); break; } } diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 2be3532c37..aff38e969c 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -801,7 +801,7 @@ void Sound::stopSound(int a) { // Stop current music if (_currentMusic) _vm->_mixer->stopID(_currentMusic); - else if (_vm->_imuse) + else _vm->_imuse->stopSound(_vm->_imuse->getSoundStatus(-1)); } } |