XEEN: Fix playing music when on Dark Side

This commit is contained in:
Paul Gilbert 2017-12-27 23:50:41 -05:00
parent 6bbfebdf0e
commit 26c096d39d
3 changed files with 6 additions and 3 deletions

View File

@ -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 };

View File

@ -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);
}

View File

@ -318,6 +318,7 @@ private:
public:
bool _musicOn;
Common::String _currentMusic, _priorMusic;
int _musicSide;
public:
Music();
~Music();