diff options
author | Johannes Schickel | 2011-08-19 14:39:35 +0200 |
---|---|---|
committer | Johannes Schickel | 2011-08-19 14:39:35 +0200 |
commit | 0d887aa2459db04daddfd2a150f1d1ae4499091b (patch) | |
tree | 3a51b05146748561b6cad66c55d6ac2c5e4e74a6 | |
parent | 1e0b05ff992665467f762d61947a51407d1f1c41 (diff) | |
download | scummvm-rg350-0d887aa2459db04daddfd2a150f1d1ae4499091b.tar.gz scummvm-rg350-0d887aa2459db04daddfd2a150f1d1ae4499091b.tar.bz2 scummvm-rg350-0d887aa2459db04daddfd2a150f1d1ae4499091b.zip |
SCUMM: Fix AdLib output in (MI2/)Indy4 Amiga.
Indy4 Amiga features only ROL tracks, thus with
69adb13c2f3cadd4dac2bba8164aa0b8a9400abc the MIDI -> AdLib conversion was
broken. Fixed that now by allowing ROL tracks to be played on AdLib output for
Amiga games.
This probably also affected Monkey Island 2 Amiga, but I don't have it to test.
-rw-r--r-- | engines/scumm/sound.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/scumm/sound.cpp b/engines/scumm/sound.cpp index 5aded50600..d8235206f8 100644 --- a/engines/scumm/sound.cpp +++ b/engines/scumm/sound.cpp @@ -1157,14 +1157,16 @@ int ScummEngine::readSoundResource(ResId idx) { // 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 priority 2 for the Mac output since - // we're doing GM -> AdLib conversion. - if ((_sound->_musicType == MDT_ADLIB || _sound->_musicType == MDT_TOWNS) && pri != 10 && pri != 2) + // 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) pri = -1; debugC(DEBUG_RESOURCE, " tag: %s, total_size=%d, pri=%d", tag2str(tag), size, pri); - if (pri > best_pri) { best_pri = pri; best_size = size; |