[Scummvm-git-logs] scummvm master -> 6278aa250a1c65ab035e453d67340ac5a699d6df

dreammaster dreammaster at scummvm.org
Mon Jul 17 04:10:14 CEST 2017

This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

6278aa250a TITANIC: Workaround music being lost leaving Arboretum in Winter

Commit: 6278aa250a1c65ab035e453d67340ac5a699d6df
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-07-16T21:58:53-04:00

Commit Message:
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.

Changed paths:

diff --git a/engines/titanic/game/gondolier/gondolier_mixer.cpp b/engines/titanic/game/gondolier/gondolier_mixer.cpp
index e4110ec..7aff606 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;

More information about the Scummvm-git-logs mailing list