aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2003-08-30 09:42:29 +0000
committerTravis Howell2003-08-30 09:42:29 +0000
commit144b9ed71ccecac2fa0070b32a084b611cf9b0fc (patch)
tree73307e87b6c69a21810a603efb45ae94e4a444c0 /scumm
parent5fe5bd2e0d0f562ff931b22009ed787d61a8fb7e (diff)
downloadscummvm-rg350-144b9ed71ccecac2fa0070b32a084b611cf9b0fc.tar.gz
scummvm-rg350-144b9ed71ccecac2fa0070b32a084b611cf9b0fc.tar.bz2
scummvm-rg350-144b9ed71ccecac2fa0070b32a084b611cf9b0fc.zip
Alter last commit, since looping would never be stopped on Mac version.
svn-id: r9919
Diffstat (limited to 'scumm')
-rw-r--r--scumm/sound.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index efe7fe67a3..2b81e9fbe1 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -434,13 +434,15 @@ void Sound::playSound(int soundID) {
}
+ // Used in Amiga verisons of indy3ega and loom
+ // Used in Mac. version of indy3ega
if (((_scumm->_features & GF_OLD_BUNDLE) && (_scumm->_gameId == GID_INDY3)) || ((_scumm->_features & GF_AMIGA) && (_scumm->_version == 3))) {
if ((READ_BE_UINT16(ptr + 26) == 0x0001) || READ_BE_UINT16(ptr + 26) == 0x00FF) {
size = READ_BE_UINT16(ptr + 12);
rate = 11000;
sound = (char *)malloc(size);
memcpy(sound,ptr + READ_BE_UINT16(ptr + 8),size);
- if (READ_BE_UINT16(ptr + 16) || READ_BE_UINT16(ptr + 6)) {
+ if ((_scumm->_features & GF_AMIGA) && (READ_BE_UINT16(ptr + 16) || READ_BE_UINT16(ptr + 6))) {
// the first check is for pitch-bending looped sounds (i.e. "pouring liquid", "biplane dive", etc.)
// the second check is for simple looped sounds
_scumm->_mixer->playRaw(NULL,sound,size,rate,SoundMixer::FLAG_AUTOFREE | SoundMixer::FLAG_LOOP,soundID,READ_BE_UINT16(ptr + 10) - READ_BE_UINT16(ptr + 8),READ_BE_UINT16(ptr + 14));
@@ -742,7 +744,7 @@ void Sound::stopSound(int a) {
_scumm->_imuse->stopSound(a);
} else if (_scumm->_playerV2) {
_scumm->_playerV2->stopSound (a);
- } else if (((_scumm->_features & GF_OLD_BUNDLE) && (_scumm->_gameId == GID_INDY3)) || ((_scumm->_features & GF_AMIGA) && (_scumm->_version == 3))) {
+ } else if ((_scumm->_features & GF_AMIGA) && (_scumm->_version == 3)) {
// this handles stopping looped sounds for now
_scumm->_mixer->stopID(a);
}