aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions
diff options
context:
space:
mode:
authorEric Fry2018-05-05 22:01:16 +1000
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit2be02752218955374b5de881fc6f310097c09cbb (patch)
tree4890e6d5e9411a556e9fa681a4842f7e56ea745b /engines/illusions
parentd3fbb0e8b97fbefa8a4ca019ea8689a98fcdc62b (diff)
downloadscummvm-rg350-2be02752218955374b5de881fc6f310097c09cbb.tar.gz
scummvm-rg350-2be02752218955374b5de881fc6f310097c09cbb.tar.bz2
scummvm-rg350-2be02752218955374b5de881fc6f310097c09cbb.zip
ILLUSIONS: Connect up midi fade to MidiPlayer object
Diffstat (limited to 'engines/illusions')
-rw-r--r--engines/illusions/duckman/scriptopcodes_duckman.cpp2
-rw-r--r--engines/illusions/sound.cpp9
-rw-r--r--engines/illusions/sound.h2
3 files changed, 12 insertions, 1 deletions
diff --git a/engines/illusions/duckman/scriptopcodes_duckman.cpp b/engines/illusions/duckman/scriptopcodes_duckman.cpp
index db8a7a8b15..a2303b0887 100644
--- a/engines/illusions/duckman/scriptopcodes_duckman.cpp
+++ b/engines/illusions/duckman/scriptopcodes_duckman.cpp
@@ -633,7 +633,7 @@ void ScriptOpcodes_Duckman::opStopMidiMusic(ScriptThread *scriptThread, OpCall &
void ScriptOpcodes_Duckman::opFadeMidiMusic(ScriptThread *scriptThread, OpCall &opCall) {
ARG_INT16(duration);
ARG_INT16(finalVolume);
- // TODO _vm->fadeMidiMusic(2, finalVolume, duration, opCall._threadId);
+ _vm->_soundMan->fadeMidiMusic(finalVolume, duration);
}
void ScriptOpcodes_Duckman::opAddMenuChoice(ScriptThread *scriptThread, OpCall &opCall) {
diff --git a/engines/illusions/sound.cpp b/engines/illusions/sound.cpp
index 9379bf16c9..307d40a36b 100644
--- a/engines/illusions/sound.cpp
+++ b/engines/illusions/sound.cpp
@@ -152,6 +152,11 @@ void MidiPlayer::sendToChannel(byte channel, uint32 b) {
_channelsTable[channel]->send(b);
}
+void MidiPlayer::fade(int16 finalVolume, int16 duration) {
+ //TODO fade here.
+ debug(0, "Fade midi. finalVolume: %d, duration: %d", finalVolume, duration);
+}
+
// VoicePlayer
VoicePlayer::VoicePlayer() {
@@ -355,4 +360,8 @@ void SoundMan::stopMidiMusic() {
_midiPlayer->stop();
}
+void SoundMan::fadeMidiMusic(int16 finalVolume, int16 duration) {
+ _midiPlayer->fade(finalVolume, duration);
+}
+
} // End of namespace Illusions
diff --git a/engines/illusions/sound.h b/engines/illusions/sound.h
index 7979978c62..d2da8ed48e 100644
--- a/engines/illusions/sound.h
+++ b/engines/illusions/sound.h
@@ -53,6 +53,7 @@ public:
void pause(bool p);
void play(const Common::String &filename);
+ void fade(int16 finalVolume, int16 duration);
// The following line prevents compiler warnings about hiding the pause()
// method from the parent class.
@@ -114,6 +115,7 @@ public:
void playMidiMusic(uint32 musicId);
void stopMidiMusic();
+ void fadeMidiMusic(int16 finalVolume, int16 duration);
bool cueVoice(const char *voiceName);
void stopCueingVoice();