aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/midiparser_sci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/sound/midiparser_sci.cpp')
-rw-r--r--engines/sci/sound/midiparser_sci.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/sound/midiparser_sci.cpp b/engines/sci/sound/midiparser_sci.cpp
index 69e9c61a62..e6f5e38741 100644
--- a/engines/sci/sound/midiparser_sci.cpp
+++ b/engines/sci/sound/midiparser_sci.cpp
@@ -37,7 +37,8 @@ enum SciMidiCommands {
kEndOfTrack = 0xFC,
kSetReverb = 0x50,
kMidiHold = 0x52,
- kUpdateCue = 0x60
+ kUpdateCue = 0x60,
+ kResetOnPause = 0x4C
};
// MidiParser_SCI
@@ -57,6 +58,7 @@ MidiParser_SCI::MidiParser_SCI(SciVersion soundVersion) :
_signalToSet = 0;
_dataincAdd = false;
_dataincToAdd = 0;
+ _resetOnPause = false;
_channelsUsed = 0;
}
@@ -176,7 +178,7 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
// Also, sci/sound/iterator/iterator.cpp, function BaseSongIterator::parseMidiCommand()
switch (info.basic.param1) {
case kSetReverb:
- // TODO: Not implemented yet
+ ((MidiPlayer *)_driver)->setReverb(info.basic.param2);
break;
case kMidiHold:
// Check if the hold ID marker is the same as the hold ID
@@ -200,6 +202,9 @@ void MidiParser_SCI::parseNextEvent(EventInfo &info) {
break;
}
break;
+ case kResetOnPause:
+ _resetOnPause = info.basic.param2;
+ break;
// Unhandled SCI commands
case 0x46: // LSL3 - binoculars
case 0x61: // Iceman (Adlib?)