diff options
-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(); |