diff options
author | Torbjörn Andersson | 2006-10-21 12:22:30 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2006-10-21 12:22:30 +0000 |
commit | 86d3f30347d5ee7ee67a4f16d5043b9bef0539db (patch) | |
tree | 3f270953f9946c7975ccfca7756bad26a763a4a5 | |
parent | f95f5ed13356233b1f1976c6a793b6e104373a4d (diff) | |
download | scummvm-rg350-86d3f30347d5ee7ee67a4f16d5043b9bef0539db.tar.gz scummvm-rg350-86d3f30347d5ee7ee67a4f16d5043b9bef0539db.tar.bz2 scummvm-rg350-86d3f30347d5ee7ee67a4f16d5043b9bef0539db.zip |
Dummy handler for music commands 0xA and 0xB to keep Elvira1 from crashing. It
also seems to restore the missing first note of the intro music.
svn-id: r24406
-rw-r--r-- | engines/agos/midiparser_s1d.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/engines/agos/midiparser_s1d.cpp b/engines/agos/midiparser_s1d.cpp index fca369dfda..268012d5bc 100644 --- a/engines/agos/midiparser_s1d.cpp +++ b/engines/agos/midiparser_s1d.cpp @@ -45,7 +45,7 @@ protected: bool _no_delta; protected: - void parseNextEvent (EventInfo &info); + void parseNextEvent(EventInfo &info); void resetTracking(); uint32 readVLQ2(byte * &data); @@ -97,6 +97,15 @@ void MidiParser_S1D::parseNextEvent(EventInfo &info) { info.length = 0; break; + case 0xA: + case 0xB: + // I'm not sure what these are meant to do, or what the + // parameter is. Elvira 1 needs them, though, and who am I to + // argue with her? + info.basic.param1 = *(_position._play_pos++); + info.basic.param2 = 0; + break; + case 0xC: info.basic.param1 = *(_position._play_pos++); info.basic.param2 = 0; @@ -112,7 +121,7 @@ void MidiParser_S1D::parseNextEvent(EventInfo &info) { info.length = 0; break; } - // OTherwise fall through to default. + // Otherwise fall through to default. default: debug(6, "MidiParser_S1D: Unexpected byte 0x%02X found", (int) info.command()); |