aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game
diff options
context:
space:
mode:
authorPaul Gilbert2017-07-16 21:58:53 -0400
committerPaul Gilbert2017-07-16 21:58:53 -0400
commit6278aa250a1c65ab035e453d67340ac5a699d6df (patch)
treea1d2eb60d8b42c36914f9503d673ad3b35464fc2 /engines/titanic/game
parentc55132baea3adf06d00f2fe011f855dbe65b166f (diff)
downloadscummvm-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')
-rw-r--r--engines/titanic/game/gondolier/gondolier_mixer.cpp7
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;