From 75a736bbc86deacad64d9d7fc72901f19ed2846e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 13 Oct 2017 19:54:01 -0400 Subject: TITANIC: Workaround for wrong ambient music on load --- engines/titanic/sound/auto_music_player_base.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/engines/titanic/sound/auto_music_player_base.cpp b/engines/titanic/sound/auto_music_player_base.cpp index 3737782c44..a22a113329 100644 --- a/engines/titanic/sound/auto_music_player_base.cpp +++ b/engines/titanic/sound/auto_music_player_base.cpp @@ -21,6 +21,7 @@ */ #include "titanic/sound/auto_music_player_base.h" +#include "titanic/game_manager.h" namespace Titanic { @@ -69,9 +70,19 @@ bool CAutoMusicPlayerBase::TimerMsg(CTimerMsg *msg) { } bool CAutoMusicPlayerBase::LoadSuccessMsg(CLoadSuccessMsg *msg) { - if (_isEnabled) + if (_isEnabled) { + // WORKAROUND: A problem was encountered with the EmbLobby music player + // not getting turned off when room was left, so was turned on again + // when loading a savegame elsewhere. This guards against it + CRoomItem *newRoom = getGameManager()->getRoom(); + if (findRoom() != newRoom) { + _isEnabled = false; + return true; + } + playAmbientSound(_filename, _volumeMode, _initialMute, true, 0, Audio::Mixer::kMusicSoundType); + } return true; } -- cgit v1.2.3