diff options
-rw-r--r-- | scumm/scummvm.cpp | 2 | ||||
-rw-r--r-- | scumm/sound.cpp | 30 |
2 files changed, 17 insertions, 15 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 23c15d1c2b..e3543de13b 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -629,7 +629,7 @@ Scumm::Scumm (GameDetector *detector, OSystem *syst) _imuse = NULL; _playerV2 = NULL; } else if (_features & GF_OLD_BUNDLE) { - if ((_features & GF_AMIGA) || ((_version == 1) && (_gameId == GID_MANIAC))) + if ((_version == 1) && (_gameId == GID_MANIAC)) _playerV2 = NULL; else _playerV2 = new Player_V2(this); diff --git a/scumm/sound.cpp b/scumm/sound.cpp index c7c2a2eb84..ca4bfbb468 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -489,21 +489,23 @@ void Sound::playSound(int soundID) { if ((_scumm->_features & GF_AMIGA) && (_scumm->_version == 3)) { // experimental support for Indy3 Amiga sound effects - if (READ_BE_UINT16(ptr + 26) == 0x00FF) // looped sound - // TODO: support looping sounds - // ptr + 14 seems to be looping duration - flags = 0; - else if (READ_BE_UINT16(ptr + 26) == 0x0001) // nonlooped sound - flags = 0; // - else if (READ_BE_UINT16(ptr + 26) == 0x0101) // background music - // TODO: support music + bool amigatest = (READ_LE_UINT16(ptr + 26) == 0x0001) || (READ_LE_UINT16(ptr + 26) == 0x0001) + || (READ_LE_UINT16(ptr + 26) == 0x00FF); + if (amigatest) { + if (READ_BE_UINT16(ptr + 26) == 0x00FF) // looped sound + // TODO: support looping sounds + // ptr + 14 seems to be looping duration + flags = 0; + else if (READ_BE_UINT16(ptr + 26) == 0x0001) // nonlooped sound + flags = 0; // + else if (READ_BE_UINT16(ptr + 26) == 0x0101) // background music + // TODO: support music + return; + size = READ_BE_UINT16(ptr + 12); + rate = 11000; + _scumm->_mixer->playRaw(NULL, ptr + 28, size, rate, flags, soundID); return; - else - debug(3,"Unknown sound type detected!"); - size = READ_BE_UINT16(ptr + 12); - rate = 11000; - _scumm->_mixer->playRaw(NULL, ptr + 28, size, rate, flags, soundID); - return; + } } if (_scumm->_features & GF_OLD_BUNDLE) { |