diff options
Diffstat (limited to 'engines/xeen/music.cpp')
-rw-r--r-- | engines/xeen/music.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/engines/xeen/music.cpp b/engines/xeen/music.cpp index ae3d5aba83..c4e4f7b4c3 100644 --- a/engines/xeen/music.cpp +++ b/engines/xeen/music.cpp @@ -179,7 +179,7 @@ void MusicDriver::playFX(uint effectId, const byte *data) { } void MusicDriver::playSong(const byte *data) { - _musDataPtr = data; + _musDataPtr = _musStartPtr = data; _musSubroutines.clear(); _musCountdownTimer = 0; _field1E = true; @@ -473,8 +473,9 @@ bool AdlibMusicDriver::musInjectMidi(const byte *&srcP, byte param) { } bool AdlibMusicDriver::musPlayInstrument(const byte *&srcP, byte param) { + byte instrument = *srcP++; if (param < 7) - playInstrument(param, _musInstrumentPtrs[param]); + playInstrument(param, _musInstrumentPtrs[instrument]); return false; } @@ -576,9 +577,7 @@ const uint AdlibMusicDriver::WAVEFORMS[24] = { /*------------------------------------------------------------------------*/ -Music::Music(Audio::Mixer *mixer) : _mixer(mixer), _musicDriver(nullptr), - _songData(nullptr) { - _mixer = mixer; +Music::Music() : _musicDriver(nullptr), _songData(nullptr) { _musicDriver = new AdlibMusicDriver(); loadEffectsData(); } |