From 149fdbfb60b90d6659cc4ad426335e376b707311 Mon Sep 17 00:00:00 2001 From: athrxx Date: Sat, 17 Sep 2011 21:13:14 +0200 Subject: SCUMM FM-TOWNS: fix another regression (pcm sound effects broken in 69adb13c2f3cadd4dac2bba8164aa0b8a9400abc) --- engines/scumm/sound.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'engines') 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); -- cgit v1.2.3