aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/sound.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/sound.cpp')
-rw-r--r--engines/scumm/sound.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp
index d8235206f8..ba8c6e2277 100644
--- a/engines/scumm/sound.cpp
+++ b/engines/scumm/sound.cpp
@@ -1150,19 +1150,20 @@ int ScummEngine::readSoundResource(ResId idx) {
if ((_sound->_musicType == MDT_PCSPK || _sound->_musicType == MDT_PCJR) && pri != 11)
pri = -1;
- // We only allow ADL resources when AdLib or FM-Towns is used as
- // primary audio output. This fixes some odd sounds when Indy and
- // Sophia leave Atlantis with the submarine in Indy4. (Easy to
- // check with bootparam 4061 in the CD version). It seems the game
- // only contains a ROL resource for sound id 60. Formerly we tried
- // to play that via the AdLib or FM-Towns audio driver resulting
- // in strange noises. Now we behave like the original did.
+ // We only allow ADL, SBL and TOWS resources when AdLib
+ // or FM-Towns is used as primary audio output. This fixes some
+ // odd sounds when Indy and Sophia leave Atlantis with the
+ // submarine in Indy4. (Easy to check with bootparam 4061 in
+ // the CD version). It seems the game only contains a ROL resource
+ // for sound id 60. Formerly we tried to play that via the AdLib
+ // or FM-Towns audio driver resulting in strange noises. Now we
+ // behave like the original did.
// We make an exception for Macintosh, which uses priority 2 for
// its sound resources, and Amiga games, which feature only ROL
// resources, since we are a doing Midi -> AdLib conversion for
// these.
- if ((_sound->_musicType == MDT_ADLIB || _sound->_musicType == MDT_TOWNS) && pri != 10
- && pri != 2 && _game.platform != Common::kPlatformAmiga)
+ if ((_sound->_musicType == MDT_ADLIB || _sound->_musicType == MDT_TOWNS) && pri != 16
+ && pri != 15 && pri != 10 && pri != 2 && _game.platform != Common::kPlatformAmiga)
pri = -1;
debugC(DEBUG_RESOURCE, " tag: %s, total_size=%d, pri=%d", tag2str(tag), size, pri);