aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-07-15 05:44:57 +0000
committerTravis Howell2004-07-15 05:44:57 +0000
commit84e77997d3531dcd89c81bf95cae6852f7385765 (patch)
tree6955aabfc46b02a3383e3a3a471095b02136c1d4 /scumm
parentfc0ee149383c5ab294bf37ef7de40a9478ff61f4 (diff)
downloadscummvm-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.cpp10
-rw-r--r--scumm/sound.cpp2
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));
}
}