diff options
-rw-r--r-- | scumm/imuse_digi/dimuse.cpp | 2 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse.h | 3 | ||||
-rw-r--r-- | scumm/imuse_digi/dimuse_music.cpp | 32 |
3 files changed, 18 insertions, 19 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp index 736e456c76..3c58872e33 100644 --- a/scumm/imuse_digi/dimuse.cpp +++ b/scumm/imuse_digi/dimuse.cpp @@ -68,7 +68,7 @@ void IMuseDigital::resetState() { _curMusicSeq = 0; _curMusicCue = 0; memset(_attributes, 0, sizeof(_attributes)); - _curSeqAtribPos = 0; + _nextSeqToPlay = 0; } void IMuseDigital::callback() { diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h index 8320104c95..61a4c8da4c 100644 --- a/scumm/imuse_digi/dimuse.h +++ b/scumm/imuse_digi/dimuse.h @@ -84,8 +84,7 @@ private: bool _pause; int _attributes[188]; - int _curSeqAtribPos; - + int _nextSeqToPlay; int _curMusicState; int _curMusicSeq; int _curMusicCue; diff --git a/scumm/imuse_digi/dimuse_music.cpp b/scumm/imuse_digi/dimuse_music.cpp index bf6480a409..e6aa7e0c3a 100644 --- a/scumm/imuse_digi/dimuse_music.cpp +++ b/scumm/imuse_digi/dimuse_music.cpp @@ -120,24 +120,24 @@ void IMuseDigital::setDigMusicSequence(int seqId) { if (num != 0) { if (_curMusicSeq == 0) { playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true); - _curSeqAtribPos = 0; + _nextSeqToPlay = 0; _attributes[DIG_SEQ_OFFSET + num] = 1; } else { if ((_digSeqMusicTable[_curMusicSeq].opcode == 4) || (_digSeqMusicTable[_curMusicSeq].opcode == 6)) { - _curSeqAtribPos = num; + _nextSeqToPlay = num; return; } else { playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true); - _curSeqAtribPos = 0; + _nextSeqToPlay = 0; _attributes[DIG_SEQ_OFFSET + num] = 1; } } } else { - if (_curSeqAtribPos != 0) { - playDigMusic(_digSeqMusicTable[_curSeqAtribPos].name, &_digSeqMusicTable[_curSeqAtribPos], 0, true); - _attributes[DIG_SEQ_OFFSET + _curSeqAtribPos] = 1; - num = _curSeqAtribPos; - _curSeqAtribPos = 0; + if (_nextSeqToPlay != 0) { + playDigMusic(_digSeqMusicTable[_nextSeqToPlay].name, &_digSeqMusicTable[_nextSeqToPlay], 0, true); + _attributes[DIG_SEQ_OFFSET + _nextSeqToPlay] = 1; + num = _nextSeqToPlay; + _nextSeqToPlay = 0; } else { if (_curMusicState != 0) { playDigMusic(_digStateMusicTable[_curMusicState].name, &_digStateMusicTable[_curMusicState], _curMusicState, true); @@ -257,24 +257,24 @@ void IMuseDigital::setComiMusicSequence(int seqId) { if (num != 0) { if (_curMusicSeq == 0) { playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true); - _curSeqAtribPos = 0; + _nextSeqToPlay = 0; _attributes[COMI_SEQ_OFFSET + num] = 1; } else { if ((_comiSeqMusicTable[_curMusicSeq].opcode == 4) || (_comiSeqMusicTable[_curMusicSeq].opcode == 6)) { - _curSeqAtribPos = num; + _nextSeqToPlay = num; return; } else { playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true); - _curSeqAtribPos = 0; + _nextSeqToPlay = 0; _attributes[COMI_SEQ_OFFSET + num] = 1; } } } else { - if (_curSeqAtribPos != 0) { - playComiMusic(_comiSeqMusicTable[_curSeqAtribPos].name, &_comiSeqMusicTable[_curSeqAtribPos], 0, true); - _attributes[COMI_SEQ_OFFSET + _curSeqAtribPos] = 1; - num = _curSeqAtribPos; - _curSeqAtribPos = 0; + if (_nextSeqToPlay != 0) { + playComiMusic(_comiSeqMusicTable[_nextSeqToPlay].name, &_comiSeqMusicTable[_nextSeqToPlay], 0, true); + _attributes[COMI_SEQ_OFFSET + _nextSeqToPlay] = 1; + num = _nextSeqToPlay; + _nextSeqToPlay = 0; } else { if (_curMusicState != 0) { playComiMusic(_comiStateMusicTable[_curMusicState].name, &_comiStateMusicTable[_curMusicState], _curMusicState, true); |