diff options
author | Paul Gilbert | 2017-07-16 21:58:53 -0400 |
---|---|---|
committer | Paul Gilbert | 2017-07-16 21:58:53 -0400 |
commit | 6278aa250a1c65ab035e453d67340ac5a699d6df (patch) | |
tree | a1d2eb60d8b42c36914f9503d673ad3b35464fc2 /engines/titanic/game/gondolier | |
parent | c55132baea3adf06d00f2fe011f855dbe65b166f (diff) | |
download | scummvm-rg350-6278aa250a1c65ab035e453d67340ac5a699d6df.tar.gz scummvm-rg350-6278aa250a1c65ab035e453d67340ac5a699d6df.tar.bz2 scummvm-rg350-6278aa250a1c65ab035e453d67340ac5a699d6df.zip |
TITANIC: Workaround music being lost leaving Arboretum in Winter
When you change the Arboretum to Winter and exit, it changes to
a special FrozenArboretum room with the river and everything frozen.
Both the regular and frozen Arboretum rooms have a GondolierMixer..
when leavin one for the other, it's meant to do a two second fadeout
and then the new room's mixer takes over. This doesn't work for
ScummVM currently - it may be due to the simplicity of the QMixer
implementation. So to work around it for the forseeable future,
I've set the TurnOff times to 0 seconds so the old mixer's sounds
are immediately and properly stopped, letting the new mixer take over.
Diffstat (limited to 'engines/titanic/game/gondolier')
-rw-r--r-- | engines/titanic/game/gondolier/gondolier_mixer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/titanic/game/gondolier/gondolier_mixer.cpp b/engines/titanic/game/gondolier/gondolier_mixer.cpp index e4110ec8f4..7aff606331 100644 --- a/engines/titanic/game/gondolier/gondolier_mixer.cpp +++ b/engines/titanic/game/gondolier/gondolier_mixer.cpp @@ -104,9 +104,12 @@ bool CGondolierMixer::TurnOn(CTurnOn *msg) { } bool CGondolierMixer::TurnOff(CTurnOff *msg) { + // TODO: The stopSound calls should really be 2 seconds, + // but doing so stops the changeover of mixers working when + // going from the Arboretum room to FrozenArboretum. if (_soundHandle1 != -1) { if (isSoundActive(_soundHandle1)) - stopSound(_soundHandle1, 2); + stopSound(_soundHandle1, 0); _soundHandle1 = -1; _soundActive = false; @@ -114,7 +117,7 @@ bool CGondolierMixer::TurnOff(CTurnOff *msg) { if (_soundHandle2 != -1) { if (isSoundActive(_soundHandle2)) - stopSound(_soundHandle2, 2); + stopSound(_soundHandle2, 0); _soundHandle2 = -1; _soundActive = false; |