[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse_music.cpp,1.21,1.22
Pawel Kolodziejski
aquadran at users.sourceforge.net
Wed Apr 7 00:31:04 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22175
Modified Files:
dimuse_music.cpp
Log Message:
corections to music code
Index: dimuse_music.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_music.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- dimuse_music.cpp 6 Apr 2004 19:46:43 -0000 1.21
+++ dimuse_music.cpp 7 Apr 2004 07:17:16 -0000 1.22
@@ -89,7 +89,7 @@
if (_curMusicSeq == 0) {
if (num == 0)
- playDigMusic(NULL, &_digStateMusicTable[0], 0, false);
+ playDigMusic(NULL, &_digStateMusicTable[0], num, false);
else
playDigMusic(_digStateMusicTable[num].name, &_digStateMusicTable[num], num, false);
}
@@ -123,10 +123,10 @@
_curSeqAtribPos = 0;
_attributes[DIG_SEQ_OFFSET + num] = 1;
} else {
- if ((_digSeqMusicTable[_curMusicSeq].opcode == 4) && (_digSeqMusicTable[_curMusicSeq].opcode == 6)) {
+ if ((_digSeqMusicTable[_curMusicSeq].opcode == 4) || (_digSeqMusicTable[_curMusicSeq].opcode == 6)) {
_curSeqAtribPos = num;
return;
- } else if (_digSeqMusicTable[_curMusicSeq].opcode == 6) {
+ } else {
playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true);
_curSeqAtribPos = 0;
_attributes[DIG_SEQ_OFFSET + num] = 1;
@@ -142,7 +142,7 @@
if (_curMusicState != 0) {
playDigMusic(_digStateMusicTable[_curMusicState].name, &_digStateMusicTable[_curMusicState], _curMusicState, true);
} else
- playDigMusic(NULL, &_digStateMusicTable[0], 0, true);
+ playDigMusic(NULL, &_digStateMusicTable[0], _curMusicState, true);
num = 0;
}
}
@@ -185,28 +185,25 @@
}
}
+ fadeOutMusic(120);
+
if (table->filename[0] == 0) {
- fadeOutMusic(120);
return;
}
- fadeOutMusic(120);
-
switch(table->opcode) {
case 0:
case 5:
case 6:
break;
case 3:
+ case 4:
if ((!sequence) && (table->param != 0)) {
if (table->param == _digStateMusicTable[_curMusicState].param) {
startMusic(table->filename, table->soundId, 0, 127);
- }
- } else {
- startMusic(table->filename, table->soundId, hookId, 127);
+ return;
+ }
}
- break;
- case 4:
startMusic(table->filename, table->soundId, hookId, 127);
break;
}
@@ -232,7 +229,7 @@
if (_curMusicSeq == 0) {
if (num == 0)
- playComiMusic(NULL, &_comiStateMusicTable[0], 0, false);
+ playComiMusic(NULL, &_comiStateMusicTable[0], num, false);
else
playComiMusic(_comiStateMusicTable[num].name, &_comiStateMusicTable[num], num, false);
}
@@ -260,14 +257,14 @@
if (num != 0) {
if (_curMusicSeq == 0) {
- playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true);
+ playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[0], 0, true);
_curSeqAtribPos = 0;
_attributes[COMI_SEQ_OFFSET + num] = 1;
} else {
- if ((_comiSeqMusicTable[_curMusicSeq].opcode == 4) && (_comiSeqMusicTable[_curMusicSeq].opcode == 6)) {
+ if ((_comiSeqMusicTable[_curMusicSeq].opcode == 4) || (_comiSeqMusicTable[_curMusicSeq].opcode == 6)) {
_curSeqAtribPos = num;
return;
- } else if (_comiSeqMusicTable[_curMusicSeq].opcode == 6) {
+ } else {
playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true);
_curSeqAtribPos = 0;
_attributes[COMI_SEQ_OFFSET + num] = 1;
@@ -283,7 +280,7 @@
if (_curMusicState != 0) {
playComiMusic(_comiStateMusicTable[_curMusicState].name, &_comiStateMusicTable[_curMusicState], _curMusicState, true);
} else
- playComiMusic(NULL, &_comiStateMusicTable[0], 0, true);
+ playComiMusic(NULL, &_comiStateMusicTable[0], _curMusicState, true);
num = 0;
}
}
@@ -295,6 +292,8 @@
int hookId = 0;
if ((songName != NULL) && (atribPos != 0)) {
+ if (table->param != 0)
+ atribPos = table->param;
hookId = _attributes[COMI_STATE_OFFSET + atribPos];
if (table->hookId != 0) {
if ((hookId != 0) && (table->hookId <= 1)) {
@@ -328,24 +327,21 @@
startMusic(table->filename, table->soundId, table->hookId, 127);
break;
case 3:
+ case 4:
+ case 12:
+ fadeOutMusic(table->fadeOut60TicksDelay);
if ((!sequence) && (table->param != 0)) {
if (table->param == _comiStateMusicTable[_curMusicState].param) {
- fadeOutMusic(table->fadeOut60TicksDelay);
startMusic(table->filename, table->soundId, 0, 127);
}
} else {
- fadeOutMusic(table->fadeOut60TicksDelay);
- startMusic(table->filename, table->soundId, hookId, 127);
+ if (table->opcode == 12) {
+ startMusic(table->filename, table->soundId, table->hookId, 127);
+ } else {
+ startMusic(table->filename, table->soundId, hookId, 127);
+ }
}
break;
- case 4:
- fadeOutMusic(120);
- startMusic(table->filename, table->soundId, table->hookId, 127);
- break;
- case 12:
- fadeOutMusic(table->fadeOut60TicksDelay);
- startMusic(table->filename, table->soundId, table->hookId, 127);
- break;
}
}
More information about the Scummvm-git-logs
mailing list