From 4cd8cf7f527553abad86c07c8ebbb2ba8b5d3699 Mon Sep 17 00:00:00 2001 From: Yohann Ferreira Date: Mon, 11 Apr 2011 21:56:38 +0200 Subject: Implemented a simple non-blocking fadeOutAndPlay system. It's currently used when changing maps. Resolves: TMW-Mantis: #750. Reviewed-by: Thorbjorn. Conflicts: src/game.cpp src/sound.cpp src/sound.h --- src/game.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index d5ac15ef3..3c3067bbf 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1430,7 +1430,12 @@ void Game::changeMap(const std::string &mapPath) std::string oldMusic = mCurrentMap ? mCurrentMap->getMusicFile() : ""; std::string newMusic = newMap ? newMap->getMusicFile() : ""; if (newMusic != oldMusic) - sound.playMusic(newMusic); + { + if (newMusic.empty()) + sound.fadeOutMusic(); + else + sound.fadeOutAndPlayMusic(newMusic); + } if (mCurrentMap) mCurrentMap->saveExtraLayer(); -- cgit v1.2.3-60-g2f50