diff options
author | Paul Gilbert | 2017-12-27 23:50:41 -0500 |
---|---|---|
committer | Paul Gilbert | 2017-12-27 23:50:41 -0500 |
commit | 26c096d39df27e8460af6ff8c28f381ca90e0422 (patch) | |
tree | 20c074c2cb6ac2aaf8655cb3d5c6c2297102eca5 | |
parent | 6bbfebdf0e0cb5e94ee38eaa4c6c83a4e70cdeae (diff) | |
download | scummvm-rg350-26c096d39df27e8460af6ff8c28f381ca90e0422.tar.gz scummvm-rg350-26c096d39df27e8460af6ff8c28f381ca90e0422.tar.bz2 scummvm-rg350-26c096d39df27e8460af6ff8c28f381ca90e0422.zip |
XEEN: Fix playing music when on Dark Side
-rw-r--r-- | engines/xeen/map.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/music.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/music.h | 1 |
3 files changed, 6 insertions, 3 deletions
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp index ac5b511f22..2b954f5afa 100644 --- a/engines/xeen/map.cpp +++ b/engines/xeen/map.cpp @@ -1174,6 +1174,7 @@ void Map::load(int mapId) { // Handle loading miscellaneous sprites for the map if (_isOutdoors) { // Start playing relevant music + sound._musicSide = isDarkCc; Common::String musName; if (_vm->_files->_isDarkCc) { @@ -1205,8 +1206,9 @@ void Map::load(int mapId) { _surfaceSprites[i].load(Res.SURFACE_NAMES[_mazeData[0]._surfaceTypes[i]]); } } else { - if (isDarkCc || mapId == 125 || mapId == 126 || mapId == 127) + if (files._isDarkCc && (mapId == 125 || mapId == 126 || mapId == 127)) files.setGameCc(0); + sound._musicSide = files._isDarkCc; // Start playing relevant music const int MUS_INDEXES[] = { 1, 2, 3, 4, 3, 5 }; diff --git a/engines/xeen/music.cpp b/engines/xeen/music.cpp index 0ebb8ac02f..1e9f6e2fbc 100644 --- a/engines/xeen/music.cpp +++ b/engines/xeen/music.cpp @@ -655,7 +655,7 @@ const uint AdlibMusicDriver::WAVEFORMS[24] = { /*------------------------------------------------------------------------*/ Music::Music() : _musicDriver(nullptr), _songData(nullptr), - _effectsData(nullptr), _musicOn(true) { + _effectsData(nullptr), _musicOn(true), _musicSide(0) { _musicDriver = new AdlibMusicDriver(); } @@ -738,7 +738,7 @@ void Music::playSong(const Common::String &name, int param) { _priorMusic = _currentMusic; _currentMusic = name; - File f(name); + File f(name, _musicSide); playSong(f); } diff --git a/engines/xeen/music.h b/engines/xeen/music.h index 085c85ac7f..126b079677 100644 --- a/engines/xeen/music.h +++ b/engines/xeen/music.h @@ -318,6 +318,7 @@ private: public: bool _musicOn; Common::String _currentMusic, _priorMusic; + int _musicSide; public: Music(); ~Music(); |