aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorathrxx2011-09-17 21:13:14 +0200
committerathrxx2011-09-17 21:15:46 +0200
commit149fdbfb60b90d6659cc4ad426335e376b707311 (patch)
tree7375c855e1184d08f499b3a2b3c5cb666b0adff9
parent0d1d974e14f80dda31e306716b4f9e779c6c35fc (diff)
downloadscummvm-rg350-149fdbfb60b90d6659cc4ad426335e376b707311.tar.gz
scummvm-rg350-149fdbfb60b90d6659cc4ad426335e376b707311.tar.bz2
scummvm-rg350-149fdbfb60b90d6659cc4ad426335e376b707311.zip
SCUMM FM-TOWNS: fix another regression
(pcm sound effects broken in 69adb13c2f3cadd4dac2bba8164aa0b8a9400abc)
-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);