Skip to content

Commit

Permalink
SCUMM: Fix strange noise in Indy4 outro with AdLib/FM-Towns output.
Browse files Browse the repository at this point in the history
Formerly we tried to play back a ROL resource on AdLib in this case, since the
game does not contain a ADL resource for the sound the game tries to play here.
The original does not exhibit this behavior, thus I changed it to behave the
same now.

Big thanks to eriktorbjorn for noticing and finding the cause of this problem.
Also thanks to Kirben for checking how the original behaved and _athrxx for
checking the FM-Towns version of Indy4.
  • Loading branch information
Johannes Schickel committed Jul 17, 2011
1 parent 8800794 commit 69adb13
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions engines/scumm/sound.cpp
Expand Up @@ -1148,6 +1148,16 @@ int ScummEngine::readSoundResource(ResId idx) {
if ((_musicType == MDT_PCSPK || _musicType == MDT_PCJR || _musicType == MDT_CMS) && 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.
if ((_musicType == MDT_ADLIB || _musicType == MDT_TOWNS) && pri != 10)
pri = -1;

debugC(DEBUG_RESOURCE, " tag: %s, total_size=%d, pri=%d", tag2str(tag), size, pri);


Expand Down

0 comments on commit 69adb13

Please sign in to comment.