aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/midiparser_s1d.cpp13
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());