aboutsummaryrefslogtreecommitdiff
path: root/scumm/sound.cpp
diff options
context:
space:
mode:
authorTravis Howell2004-07-13 01:40:47 +0000
committerTravis Howell2004-07-13 01:40:47 +0000
commitae70a7034e7760338b7f10fd915f5e5f8946c270 (patch)
treed20a8d96760560907d8853b387a4d48396872c7b /scumm/sound.cpp
parenteb44bbc7273e50c2ed7ae8bdc9717329fe9796ff (diff)
downloadscummvm-rg350-ae70a7034e7760338b7f10fd915f5e5f8946c270.tar.gz
scummvm-rg350-ae70a7034e7760338b7f10fd915f5e5f8946c270.tar.bz2
scummvm-rg350-ae70a7034e7760338b7f10fd915f5e5f8946c270.zip
Stop music when requested in HE games.
Fix sfx status for HE games. svn-id: r14200
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r--scumm/sound.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index 8c914f6741..b2964f1782 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -708,7 +708,7 @@ int Sound::isSoundRunning(int sound) const {
if (_vm->_features & GF_HUMONGOUS) {
if (sound == -2 || sound == 10001) {
- return isSfxFinished();
+ return !isSfxFinished();
} else if (sound == -1 || sound == 10000 || sound == _currentMusic) {
// getSoundStatus(), with a -1, will return the
// ID number of the first active music it finds.
@@ -793,6 +793,10 @@ void Sound::stopSound(int a) {
// Stop current sfx
} else if (a == -1 || a == 10000) {
// Stop current music
+ if (_currentMusic)
+ _vm->_mixer->stopID(_currentMusic);
+ else if (_vm->_imuse)
+ _vm->_imuse->stopSound(_vm->_imuse->getSoundStatus(-1));
}
}