aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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));
}
}