diff options
-rw-r--r-- | engines/illusions/duckman/scriptopcodes_duckman.cpp | 2 | ||||
-rw-r--r-- | engines/illusions/sound.cpp | 9 | ||||
-rw-r--r-- | engines/illusions/sound.h | 2 |
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(); |