diff options
Diffstat (limited to 'engines/tsage/sound.cpp')
-rw-r--r-- | engines/tsage/sound.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/engines/tsage/sound.cpp b/engines/tsage/sound.cpp index 0b77628801..2139056770 100644 --- a/engines/tsage/sound.cpp +++ b/engines/tsage/sound.cpp @@ -2456,7 +2456,7 @@ void ASound::unPrime() { _action = NULL; } -void ASound::fade(int fadeDest, int fadeSteps, int fadeTicks, bool stopAfterFadeFlag, Action *action) { +void ASound::fade(int fadeDest, int fadeSteps, int fadeTicks, bool stopAfterFadeFlag, EventHandler *action) { if (action) _action = action; @@ -2485,10 +2485,19 @@ void ASoundExt::signal() { } } -void ASoundExt::fadeOut2(Action *action) { +void ASoundExt::fadeOut2(EventHandler *action) { fade(0, 10, 10, true, action); } +void ASoundExt::changeSound(int soundNum) { + if (isPlaying()) { + _soundNum = soundNum; + fadeOut2(this); + } else { + fadeSound(soundNum); + } +} + /*--------------------------------------------------------------------------*/ SoundDriver::SoundDriver() { |