diff options
author | md5 | 2011-05-12 04:34:20 +0300 |
---|---|---|
committer | md5 | 2011-05-12 04:34:20 +0300 |
commit | 3b75ff9132a01b08ddc6f4828f8a27705bebb790 (patch) | |
tree | d1e958579d4f2699f24e3ce1ed26bf8854fc4876 | |
parent | 69b1485a22dc2b8a2cfe0bd10edcbaad0da0cf6e (diff) | |
download | scummvm-rg350-3b75ff9132a01b08ddc6f4828f8a27705bebb790.tar.gz scummvm-rg350-3b75ff9132a01b08ddc6f4828f8a27705bebb790.tar.bz2 scummvm-rg350-3b75ff9132a01b08ddc6f4828f8a27705bebb790.zip |
SCI: Added a warning for SCI0 games like in bug #3297881
LB1 Amiga doesn't contain MT-32 music tracks. Added a warning for this
situation
-rw-r--r-- | engines/sci/sound/midiparser_sci.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp index 18652f0678..95b165468d 100644 --- a/engines/sci/sound/midiparser_sci.cpp +++ b/engines/sci/sound/midiparser_sci.cpp @@ -221,6 +221,7 @@ byte *MidiParser_SCI::midiFilterChannels(int channelMask) { byte command = 0, lastCommand = 0; int delta = 0; int midiParamCount = 0; + bool containsMidiData = false; _mixedData = outData; @@ -247,6 +248,9 @@ byte *MidiParser_SCI::midiFilterChannels(int channelMask) { } } if ((1 << curChannel) & channelMask) { + if (curChannel != 0xF) + containsMidiData = true; + if (command != kEndOfTrack) { // Write delta while (delta > 240) { @@ -304,6 +308,11 @@ byte *MidiParser_SCI::midiFilterChannels(int channelMask) { *outData++ = 0x00; *outData++ = 0x00; + // This occurs in the music tracks of LB1 Amiga, when using the MT-32 + // driver (bug #3297881) + if (!containsMidiData) + warning("MIDI parser: the requested SCI0 sound has no MIDI note data for the currently selected sound driver"); + return _mixedData; } |