[Scummvm-cvs-logs] CVS: scummvm/scumm/imuse_digi dimuse.cpp,1.49,1.50 dimuse.h,1.31,1.32 dimuse_music.cpp,1.15,1.16 dimuse_tables.cpp,1.14,1.15

Pawel Kolodziejski aquadran at users.sourceforge.net
Tue Mar 2 12:56:06 CET 2004


Update of /cvsroot/scummvm/scummvm/scumm/imuse_digi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25297/imuse_digi

Modified Files:
	dimuse.cpp dimuse.h dimuse_music.cpp dimuse_tables.cpp 
Log Message:
synced local imuse. many bug fixes, and few new bugs :)

Index: dimuse.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse.cpp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- dimuse.cpp	28 Feb 2004 12:58:10 -0000	1.49
+++ dimuse.cpp	2 Mar 2004 20:35:48 -0000	1.50
@@ -73,12 +73,6 @@
 
 	for (l = 0; l < MAX_DIGITAL_TRACKS;l ++) {
 		if (_track[l].used) {
-			if (_track[l].waitForEndSeq) {
-				if ((_curMusicState != 0) && (_curMusicSeq == 0))
-					_track[l].waitForEndSeq = false;
-				else
-					continue;
-			}
 			if (_track[l].stream2) {
 				if (!_track[l].handle.isActive() && _track[l].started) {
 					debug(5, "IMuseDigital::callback(): stoped sound: %d", _track[l].soundId);
@@ -88,12 +82,11 @@
 					continue;
 				}
 			} else if (_track[l].stream) {
-				if ((_track[l].toBeRemoved)) {
+				if (_track[l].toBeRemoved) {
 					debug(5, "IMuseDigital::callback(): stoped sound: %d", _track[l].soundId);
 					_track[l].stream->finish();
 					_track[l].stream = NULL;
 					_sound->closeSound(_track[l].soundHandle);
-					_curMusicSeq = 0;
 					_track[l].used = false;
 					continue;
 				}
@@ -229,7 +222,7 @@
 	_track[track].regionOffset = 0;
 }
 
-void IMuseDigital::startSound(int soundId, const char *soundName, int soundType, int soundGroup, AudioStream *input, bool sequence, int hookId, int volume, bool wait) {
+void IMuseDigital::startSound(int soundId, const char *soundName, int soundType, int soundGroup, AudioStream *input, int hookId, int volume) {
 	Common::StackLock lock(_mutex, g_system, "IMuseDigital::startSound()");
 	debug(5, "IMuseDigital::startSound(%d)", soundId);
 	int l;
@@ -252,8 +245,6 @@
 			_track[l].trackOffset = 0;
 			_track[l].mod = 0;
 			_track[l].toBeRemoved = false;
-			_track[l].sequence = sequence;
-			_track[l].waitForEndSeq = wait;
 
 			int bits = 0, freq = 0, channels = 0, mixerFlags = 0;
 
@@ -370,18 +361,36 @@
 	}
 }
 
+void IMuseDigital::refreshScripts() {
+	bool found = false;
+	{
+		Common::StackLock lock(_mutex, g_system, "IMuseDigital::refreshScripts()");
+		for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
+			if ((_track[l].used) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
+				found = true;
+			}
+		}
+	}
+
+	if ((!found) && (_curMusicSeq != 0)) {
+		parseScriptCmds(0x1001, 0, 0, 0, 0, 0, 0, 0);
+	}
+}
+
 void IMuseDigital::stopAllSounds(bool waitForStop) {
-	Common::StackLock lock(_mutex, g_system, "IMuseDigital::stopAllSounds()");
 	debug(5, "IMuseDigital::stopAllSounds");
-	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
-		if (_track[l].used) {
-			if (_track[l].stream) {
-				_track[l].toBeRemoved = true;
-			} else if (_track[l].stream2)
-				_vm->_mixer->stopHandle(_track[l].handle);
+	{
+		Common::StackLock lock(_mutex, g_system, "IMuseDigital::stopAllSounds()");
+		for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
+			if (_track[l].used) {
+				if (_track[l].stream) {
+					_track[l].toBeRemoved = true;
+				} else if (_track[l].stream2)
+					_vm->_mixer->stopHandle(_track[l].handle);
+			}
 		}
 	}
-/*
+
 	if (waitForStop) {
 		bool used;
 		do {
@@ -392,14 +401,14 @@
 			}
 			g_system->delay_msecs(10);
 		} while (used);
-	}*/
+	}
 }
 
 void IMuseDigital::fadeOutMusic(int fadeDelay) {
 	Common::StackLock lock(_mutex, g_system, "IMuseDigital::fadeOutMusic()");
 	debug(5, "IMuseDigital::fadeOutMusic");
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
-		if ((_track[l].used) && (!_track[l].waitForEndSeq) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
+		if ((_track[l].used) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
 			_track[l].volFadeDelay = fadeDelay;
 			_track[l].volFadeDest = 0;
 			_track[l].volFadeStep = (_track[l].volFadeDest - _track[l].vol) * 60 * 40 / (1000 * fadeDelay);
@@ -474,31 +483,31 @@
 		if ((_vm->_gameId == GID_DIG) && (_vm->_features & GF_DEMO)) {
 			if (b == 1) {
 				fadeOutMusic(200);
-				startMusic(1, false, 127, false);
+				startMusic(1, 127);
 			} else {
 				if (getSoundStatus(2) == 0) {
 					fadeOutMusic(200);
-					startMusic(2, false, 127, false);
+					startMusic(2, 127);
 				}
 			}
 		} else if ((_vm->_gameId == GID_CMI) && (_vm->_features & GF_DEMO)) {
 			if (b == 2) {
 				fadeOutMusic(120);
-				startMusic("in1.imx", 2002, false, 0, 127, false);
+				startMusic("in1.imx", 2002, 0, 127);
 			} else if (b == 4) {
 				fadeOutMusic(120);
-				startMusic("in2.imx", 2004, false, 0, 127, false);
+				startMusic("in2.imx", 2004, 0, 127);
 			} else if (b == 8) {
 				fadeOutMusic(120);
-				startMusic("out1.imx", 2008, false, 0, 127, false);
+				startMusic("out1.imx", 2008, 0, 127);
 			} else if (b == 9) {
 				fadeOutMusic(120);
-				startMusic("out2.imx", 2009, false, 0, 127, false);
+				startMusic("out2.imx", 2009, 0, 127);
 			} else if (b == 16) {
 				fadeOutMusic(120);
-				startMusic("gun.imx", 2016, false, 0, 127, false);
+				startMusic("gun.imx", 2016, 0, 127);
 			} else {
-				warning("imuse digital: set state unknown for cmi demo: %d, room: %d", b, this->_vm->_currentRoom);
+				warning("imuse digital: set state unknown for cmi demo: %d, room: %d", b, _vm->_currentRoom);
 			}
 		} else if (_vm->_gameId == GID_DIG) {
 			setDigMusicState(b);
@@ -526,6 +535,7 @@
 		break;
 	case 0x1003: // ImuseSetAttribute
 		debug(5, "ImuseSetAttribute (%d, %d)", b, c);
+		assert((_vm->_gameId == GID_DIG) || (_vm->_gameId == GID_FT));
 		if (_vm->_gameId == GID_DIG) {
 			assert(b >= 0 && b < 11);
 			_attributesTable[b] = c;
@@ -607,7 +617,7 @@
 	int soundId = -1;
 
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
-		if ((_track[l].used) && (!_track[l].waitForEndSeq) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
+		if ((_track[l].used) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
 			soundId = _track[l].soundId;
 		}
 	}
@@ -642,7 +652,7 @@
 	int soundId = -1;
 
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
-		if ((_track[l].used) && (!_track[l].waitForEndSeq) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
+		if ((_track[l].used) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
 			soundId = _track[l].soundId;
 		}
 	}
@@ -660,7 +670,7 @@
 	int soundId = -1;
 
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
-		if ((_track[l].used) && (!_track[l].waitForEndSeq) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
+		if ((_track[l].used) && (_track[l].soundGroup == IMUSE_MUSIC) && (!_track[l].volFadeUsed)) {
 			soundId = _track[l].soundId;
 		}
 	}

Index: dimuse.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse.h,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- dimuse.h	20 Jan 2004 00:21:24 -0000	1.31
+++ dimuse.h	2 Mar 2004 20:35:48 -0000	1.32
@@ -53,11 +53,9 @@
 		bool used;
 		bool toBeRemoved;
 		bool started;
-		bool waitForEndSeq;
 		int32 regionOffset;
 		int32 trackOffset;
 		int32 dataOffset;
-		bool sequence;
 		int curRegion;
 		int curHookId;
 		int soundGroup;
@@ -79,7 +77,7 @@
 	ImuseDigiSndMgr *_sound;
 	bool _pause;
 
-	int _attributesTable[11];
+	int _attributesTable[12];
 	int _attributesState[97];
 	int _attributesSeq[91];
 	int _curSeqAtribPos;
@@ -91,7 +89,7 @@
 	static void timer_handler(void *refConf);
 	void callback();
 	void switchToNextRegion(int track);
-	void startSound(int soundId, const char *soundName, int soundType, int soundGroup, AudioStream *input, bool sequence, int hookId, int volume, bool wait);
+	void startSound(int soundId, const char *soundName, int soundType, int soundGroup, AudioStream *input, int hookId, int volume);
 
 	int32 getPosInMs(int soundId);
 	void getLipSync(int soundId, int syncId, int32 msPos, int32 &width, int32 &height);
@@ -102,32 +100,41 @@
 	void setFtMusicState(int stateId);
 	void setFtMusicSequence(int seqId);
 	void setFtMusicCuePoint(int cueId);
-	void playFtMusic(const char *songName, int opcode, int volume, bool sequence, bool wait);
+	void playFtMusic(const char *songName, int opcode, int volume);
 
 	void setComiMusicState(int stateId);
 	void setComiMusicSequence(int seqId);
-	void playComiMusic(const char *songName, const imuseComiTable *table, int atribPos, bool sequence, bool wait);
+	void playComiMusic(const char *songName, const imuseComiTable *table, int atribPos, bool sequence);
 
 	void setDigMusicState(int stateId);
 	void setDigMusicSequence(int seqId);
-	void playDigMusic(const char *songName, const imuseDigTable *table, int atribPos, bool sequence, bool wait);
+	void playDigMusic(const char *songName, const imuseDigTable *table, int atribPos, bool sequence);
 
 public:
 	IMuseDigital(ScummEngine *scumm);
 	virtual ~IMuseDigital();
 
 	void startVoice(int soundId, AudioStream *input)
-		{ debug(5, "startVoiceStream(%d)", soundId); startSound(soundId, NULL, 0, IMUSE_VOICE, input, false, 0, 127, false); }
+		{ debug(5, "startVoiceStream(%d)", soundId); startSound(soundId, NULL, 0, IMUSE_VOICE, input, 0, 127); }
 	void startVoice(int soundId, const char *soundName)
-		{ debug(5, "startVoiceBundle(%s)", soundName); startSound(soundId, soundName, IMUSE_BUNDLE, IMUSE_VOICE, NULL, false, 0, 127, false); }
-	void startMusic(int soundId, bool sequence, int volume, bool wait)
-		{ debug(5, "startMusicResource(%d)", soundId); startSound(soundId, NULL, IMUSE_RESOURCE, IMUSE_MUSIC, NULL, sequence, 0, volume, wait); }
-	void startMusic(const char *soundName, int soundId, bool sequence, int hookId, int volume, bool wait)
-		{ debug(5, "startMusicBundle(%s)", soundName); startSound(soundId, soundName, IMUSE_BUNDLE, IMUSE_MUSIC, NULL, sequence, hookId, volume, wait); }
+		{ debug(5, "startVoiceBundle(%s)", soundName); startSound(soundId, soundName, IMUSE_BUNDLE, IMUSE_VOICE, NULL, 0, 127); }
+	void startMusic(int soundId, int volume)
+		{ debug(5, "startMusicResource(%d)", soundId); startSound(soundId, NULL, IMUSE_RESOURCE, IMUSE_MUSIC, NULL, 0, volume); }
+	void startMusic(const char *soundName, int soundId, int hookId, int volume)
+		{ debug(5, "startMusicBundle(%s)", soundName); startSound(soundId, soundName, IMUSE_BUNDLE, IMUSE_MUSIC, NULL, hookId, volume); }
 	void startSfx(int soundId)
-		{ debug(5, "startSfx(%d)", soundId); startSound(soundId, NULL, IMUSE_RESOURCE, IMUSE_SFX, NULL, false, 0, 127, false); }
+		{ debug(5, "startSfx(%d)", soundId); startSound(soundId, NULL, IMUSE_RESOURCE, IMUSE_SFX, NULL, 0, 127); }
 	void startSound(int soundId)
 		{ error("MusicEngine::startSound() Should be never called"); }
+	void resetState() {
+		_curMusicState = 0;
+		_curMusicSeq = 0;
+		_curMusicCue = 0;
+		memset(_attributesSeq, 0, sizeof(_attributesSeq));
+		memset(_attributesState, 0, sizeof(_attributesState));
+		memset(_attributesTable, 0, sizeof(_attributesTable));
+		_curSeqAtribPos = 0;
+	}
 
 	void setVolume(int soundId, int volume);
 	void setPan(int soundId, int pan);
@@ -138,6 +145,7 @@
 	void stopAllSounds(bool waitForStop);
 	void pause(bool pause);
 	void parseScriptCmds(int a, int b, int c, int d, int e, int f, int g, int h);
+	void refreshScripts();
 	int getSoundStatus(int sound) const;
 	int32 getCurMusicPosInMs();
 	int32 getCurVoiceLipSyncWidth();
@@ -160,6 +168,7 @@
 	int16 soundId;
 	char name[20];
 	byte param;
+	byte hookId;
 	char filename[13];
 };
 

Index: dimuse_music.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_music.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- dimuse_music.cpp	22 Jan 2004 00:00:31 -0000	1.15
+++ dimuse_music.cpp	2 Mar 2004 20:35:48 -0000	1.16
@@ -44,14 +44,17 @@
 		}
 		num = l;
 
+		assert(_digStateMusicMap[num].unk1 >= 0 && _digStateMusicMap[num].unk1 < 11);
 		int val2 = _attributesTable[_digStateMusicMap[num].unk1];
 		if (val2 == 0) {
+			assert(_digStateMusicMap[num].unk3 >= 0 && _digStateMusicMap[num].unk3 < 11);
 			if (_attributesTable[_digStateMusicMap[num].unk3] != 0) {
 				num = _digStateMusicMap[num].unk4;
 			} else {
 				num = _digStateMusicMap[num].musicTableIndex;
 			}
 		} else {
+			assert(_digStateMusicMap[num].unk1 >= 0 && _digStateMusicMap[num].unk2 < 11);
 			int val = _attributesTable[_digStateMusicMap[num].unk2];
 			if (val == 0) {
 				num = _digStateMusicMap[num].musicTableIndex + val2;
@@ -66,17 +69,11 @@
 	if (_curMusicState == num)
 		return;
 
-	bool wait = false;
-
-	if (_curMusicSeq != 0) {
-		wait = true;
-	}
-
-	if ((_curMusicSeq == 0) || (wait)) {
+	if (_curMusicSeq == 0) {
 		if (num == 0)
-			playDigMusic(NULL, &_digStateMusicTable[num], num, false, wait);
+			playDigMusic(NULL, &_digStateMusicTable[0], 0, false);
 		else
-			playDigMusic(_digStateMusicTable[num].name, &_digStateMusicTable[num], num, false, wait);
+			playDigMusic(_digStateMusicTable[num].name, &_digStateMusicTable[num], num, false);
 	}
 
 	_curMusicState = num;
@@ -104,7 +101,7 @@
 
 	if (num != 0) {
 		if (_curMusicSeq == 0) {
-			playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true, false);
+			playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true);
 			_curSeqAtribPos = 0;
 			_attributesSeq[num] = 1;
 		} else {
@@ -112,22 +109,22 @@
 				_curSeqAtribPos = num;
 				return;
 			} else if (_digSeqMusicTable[_curMusicSeq].opcode == 6) {
-				playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true, false);
+				playDigMusic(_digSeqMusicTable[num].name, &_digSeqMusicTable[num], 0, true);
 				_curSeqAtribPos = 0;
 				_attributesSeq[num] = 1;
 			}
 		}
 	} else {
 		if (_curSeqAtribPos != 0) {
-			playDigMusic(_digSeqMusicTable[_curSeqAtribPos].name, &_digSeqMusicTable[num], 0, true, false);
+			playDigMusic(_digSeqMusicTable[_curSeqAtribPos].name, &_digSeqMusicTable[_curSeqAtribPos], 0, true);
 			_attributesSeq[_curSeqAtribPos] = 1;
-			_curSeqAtribPos = 0;
 			num = _curSeqAtribPos;
+			_curSeqAtribPos = 0;
 		} else {
-			if (_curMusicState != 0)
-				playDigMusic(_digStateMusicTable[_curMusicState].name, &_digSeqMusicTable[num], _curMusicState, false, false);
-			else
-				playDigMusic(NULL, &_digStateMusicTable[num], _curMusicState, false, false);
+			if (_curMusicState != 0) {
+				playDigMusic(_digStateMusicTable[_curMusicState].name, &_digStateMusicTable[_curMusicState], _curMusicState, true);
+			} else
+				playDigMusic(NULL, &_digStateMusicTable[0], 0, true);
 			num = 0;
 		}
 	}
@@ -135,7 +132,7 @@
 	_curMusicSeq = num;
 }
 
-void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table, int atribPos, bool sequence, bool wait) {
+void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table, int atribPos, bool sequence) {
 	int hookId = 0;
 
 	if (songName != NULL) {
@@ -157,7 +154,16 @@
 		if ((atribPos != 0) && (hookId == 0)) {
 			if (table->param != 0)
 				atribPos = table->param;
-			hookId = _attributesSeq[atribPos];
+			hookId = _attributesState[atribPos];
+			if (table->hookId != 0) {
+				if ((hookId != 0) && (table->hookId <= 1)) {
+					_attributesState[atribPos] = hookId + 1;
+					if (table->hookId < hookId + 1)
+						_attributesState[atribPos] = 1;
+				} else {
+					_attributesState[atribPos] = 2;
+				}
+			}
 		}
 	}
 
@@ -176,13 +182,14 @@
 		case 3:
 			if ((!sequence) && (table->param != 0)) {
 				if (table->param == _digStateMusicTable[_curMusicState].param) {
-					startMusic(table->filename, table->soundId, sequence, 0, 127, wait);
+					startMusic(table->filename, table->soundId, 0, 127);
 				} 
 			} else {
-				startMusic(table->filename, table->soundId, sequence, hookId, 127, wait);
+				startMusic(table->filename, table->soundId, hookId, 127);
 			}
+			break;
 		case 4:
-			startMusic(table->filename, table->soundId, sequence, 0, 127, wait);
+			startMusic(table->filename, table->soundId, hookId, 127);
 			break;
 	}
 }
@@ -205,17 +212,11 @@
 	if (_curMusicState == num)
 		return;
 
-	bool wait = false;
-
-	if (_curMusicSeq != 0) {
-		wait = true;
-	}
-
-	if ((_curMusicSeq == 0) || (wait)) {
+	if (_curMusicSeq == 0) {
 		if (num == 0)
-			playComiMusic(NULL, &_comiStateMusicTable[num], num, false, wait);
+			playComiMusic(NULL, &_comiStateMusicTable[0], 0, false);
 		else
-			playComiMusic(_comiStateMusicTable[num].name, &_comiStateMusicTable[num], num, false, wait);
+			playComiMusic(_comiStateMusicTable[num].name, &_comiStateMusicTable[num], num, false);
 	}
 
 	_curMusicState = num;
@@ -241,7 +242,7 @@
 
 	if (num != 0) {
 		if (_curMusicSeq == 0) {
-			playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true, false);
+			playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true);
 			_curSeqAtribPos = 0;
 			_attributesSeq[num] = 1;
 		} else {
@@ -249,22 +250,22 @@
 				_curSeqAtribPos = num;
 				return;
 			} else if (_comiSeqMusicTable[_curMusicSeq].opcode == 6) {
-				playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true, false);
+				playComiMusic(_comiSeqMusicTable[num].name, &_comiSeqMusicTable[num], 0, true);
 				_curSeqAtribPos = 0;
 				_attributesSeq[num] = 1;
 			}
 		}
 	} else {
 		if (_curSeqAtribPos != 0) {
-			playComiMusic(_comiSeqMusicTable[_curSeqAtribPos].name, &_comiSeqMusicTable[num], 0, true, false);
+			playComiMusic(_comiSeqMusicTable[_curSeqAtribPos].name, &_comiSeqMusicTable[_curSeqAtribPos], 0, true);
 			_attributesSeq[_curSeqAtribPos] = 1;
-			_curSeqAtribPos = 0;
 			num = _curSeqAtribPos;
+			_curSeqAtribPos = 0;
 		} else {
-			if (_curMusicState != 0)
-				playComiMusic(_comiStateMusicTable[_curMusicState].name, &_comiSeqMusicTable[num], _curMusicState, false, false);
-			else
-				playComiMusic(NULL, &_comiStateMusicTable[num], _curMusicState, false, false);
+			if (_curMusicState != 0) {
+				playComiMusic(_comiStateMusicTable[_curMusicState].name, &_comiStateMusicTable[_curMusicState], _curMusicState, true);
+			} else
+				playComiMusic(NULL, &_comiStateMusicTable[0], 0, true);
 			num = 0;
 		}
 	}
@@ -272,18 +273,18 @@
 	_curMusicSeq = num;
 }
 
-void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *table, int atribPos, bool sequence, bool wait) {
+void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *table, int atribPos, bool sequence) {
 	int hookId = 0;
 
 	if ((songName != NULL) && (atribPos != 0)) {
-		hookId = _attributesSeq[atribPos];
+		hookId = _attributesState[atribPos];
 		if (table->hookId != 0) {
 			if ((hookId != 0) && (table->hookId <= 1)) {
-				_attributesSeq[atribPos] = hookId + 1;
+				_attributesState[atribPos] = hookId + 1;
 				if (table->hookId < hookId + 1)
-					_attributesSeq[atribPos] = 1;
+					_attributesState[atribPos] = 1;
 			} else {
-				_attributesSeq[atribPos] = 2;
+				_attributesState[atribPos] = 2;
 			}
 		}
 	}
@@ -301,30 +302,31 @@
 			break;
 		case 1:
 			fadeOutMusic(120);
-			startMusic(table->filename, table->soundId, sequence, 0, 1, wait);
+			startMusic(table->filename, table->soundId, 0, 1);
 			setFade(table->soundId, 127, 120);
 			break;
 		case 2:
 			fadeOutMusic(table->fadeDelay);
-			startMusic(table->filename, table->soundId, sequence, table->hookId, 127, wait);
+			startMusic(table->filename, table->soundId, table->hookId, 127);
 			break;
 		case 3:
 			if ((!sequence) && (table->param != 0)) {
 				if (table->param == _comiStateMusicTable[_curMusicState].param) {
 					fadeOutMusic(table->fadeDelay);
-					startMusic(table->filename, table->soundId, sequence, 0, 127, wait);
-				} 
+					startMusic(table->filename, table->soundId, 0, 127);
+				}
 			} else {
 				fadeOutMusic(table->fadeDelay);
-				startMusic(table->filename, table->soundId, sequence, table->hookId, 127, wait);
+				startMusic(table->filename, table->soundId, hookId, 127);
 			}
+			break;
 		case 4:
 			fadeOutMusic(120);
-			startMusic(table->filename, table->soundId, sequence, 0, 127, wait);
+			startMusic(table->filename, table->soundId, table->hookId, 127);
 			break;
 		case 12:
 			fadeOutMusic(table->fadeDelay);
-			startMusic(table->filename, table->soundId, sequence, table->hookId, 127, wait);
+			startMusic(table->filename, table->soundId, table->hookId, 127);
 			break;
 	}
 }
@@ -338,17 +340,11 @@
 	if (_curMusicState == stateId)
 		return;
 
-	bool wait = false;
-
-	if (_curMusicSeq != 0) {
-		wait = true;
-	}
-
-	if ((_curMusicSeq == 0) || (wait)) {
+	if (_curMusicSeq == 0) {
 		if (stateId == 0)
-			playFtMusic(NULL, 0, 0, false, wait);
+			playFtMusic(NULL, 0, 0);
 		else
-			playFtMusic(_ftStateMusicTable[stateId].audioName, _ftStateMusicTable[stateId].opcode, _ftStateMusicTable[stateId].volume, false, wait);
+			playFtMusic(_ftStateMusicTable[stateId].audioName, _ftStateMusicTable[stateId].opcode, _ftStateMusicTable[stateId].volume);
 	}
 
 	_curMusicState = stateId;
@@ -358,19 +354,20 @@
 	if (seqId > 52)
 		return;
 
-	debug(5, "Sequence music: %s, %s", _ftSeqNames[seqId].name);
+	debug(5, "Sequence music: %s", _ftSeqNames[seqId].name);
 
 	if (_curMusicSeq == seqId)
 		return;
 
 	if (seqId == 0) {
 		if (_curMusicState == 0)
-			playFtMusic(NULL, 0, 0, true, false);
-		else
-			playFtMusic(_ftStateMusicTable[seqId].audioName, _ftStateMusicTable[seqId].opcode, _ftStateMusicTable[seqId].volume, true, false);
+			playFtMusic(NULL, 0, 0);
+		else {
+			playFtMusic(_ftStateMusicTable[_curMusicState].audioName, _ftStateMusicTable[_curMusicState].opcode, _ftStateMusicTable[_curMusicState].volume);
+		}
 	} else {
 		int seq = (seqId - 1) * 4;
-		playFtMusic(_ftSeqMusicTable[seq].audioName, _ftSeqMusicTable[seq].opcode, _ftSeqMusicTable[seq].volume, false, false);
+		playFtMusic(_ftSeqMusicTable[seq].audioName, _ftSeqMusicTable[seq].opcode, _ftSeqMusicTable[seq].volume);
 	}
 
 	_curMusicSeq = seqId;
@@ -390,10 +387,10 @@
 		return;
 
 	if (cueId == 0)
-		playFtMusic(NULL, 0, 0, true, false);
+		playFtMusic(NULL, 0, 0);
 	else {
 		int seq = ((_curMusicSeq - 1) + cueId) * 4;
-		playFtMusic(_ftSeqMusicTable[seq].audioName, _ftSeqMusicTable[seq].opcode, _ftSeqMusicTable[seq].volume, true, false);
+		playFtMusic(_ftSeqMusicTable[seq].audioName, _ftSeqMusicTable[seq].opcode, _ftSeqMusicTable[seq].volume);
 	}
 
 	_curMusicCue = cueId;
@@ -411,7 +408,7 @@
 	return -1;
 }
 
-void IMuseDigital::playFtMusic(const char *songName, int opcode, int volume, bool sequence, bool wait) {
+void IMuseDigital::playFtMusic(const char *songName, int opcode, int volume) {
 	fadeOutMusic(200);
 
 	switch(opcode) {
@@ -423,8 +420,9 @@
 		case 3:
 			{
 				int soundId = getSoundIdByName(songName);
-				if (soundId != -1)
-					startMusic(soundId, sequence, volume, wait);
+				if (soundId != -1) {
+					startMusic(soundId, volume);
+				}
 			}
 			break;
 	}

Index: dimuse_tables.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/imuse_digi/dimuse_tables.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- dimuse_tables.cpp	18 Jan 2004 19:42:55 -0000	1.14
+++ dimuse_tables.cpp	2 Mar 2004 20:35:48 -0000	1.15
@@ -152,142 +152,142 @@
 };
 
 const imuseDigTable _digStateMusicTable[] = {
-	{0, 1000, "STATE_NULL",          0, ""},
-	{0, 1001, "stateNoChange",       0, ""},
-	{3, 1100, "stateAstShip",        2, "ASTERO~1.IMU"},
-	{3, 1120, "stateAstClose",       2, "ASTERO~2.IMU"},
-	{3, 1140, "stateAstInside",      0, "ASTERO~3.IMU"},
-	{3, 1150, "stateAstCore",        0, "ASTERO~4.IMU"},
-	{3, 1200, "stateCanyonClose",    0, "CANYON~1.IMU"},
-	{3, 1205, "stateCanyonClose_m",  0, "CANYON~2.IMU"},
-	{3, 1210, "stateCanyonOver",     0, "CANYON~3.IMU"},
-	{3, 1220, "stateCanyonWreck",    0, "CANYON~4.IMU"},
-	{3, 1300, "stateNexusCanyon",   10, "NEXUS(~1.IMU"},
-	{3, 1310, "stateNexusPlan",     10, "NEXUS(~1.IMU"},
-	{3, 1320, "stateNexusRamp",     10, "NEXUS(~2.IMU"},
-	{3, 1330, "stateNexusMuseum",   10, "NEXUS(~3.IMU"},
-	{3, 1340, "stateNexusMap",      10, "NEXUS(~4.IMU"},
-	{3, 1350, "stateNexusTomb",     10, "NE3706~5.IMU"},
-	{3, 1360, "stateNexusCath",     10, "NE3305~5.IMU"},
-	{3, 1370, "stateNexusAirlock",   0, "NE2D3A~5.IMU"},
-	{3, 1380, "stateNexusPowerOff",  0, "NE8522~5.IMU"},
-	{3, 1400, "stateMuseumTramNear", 0, "TRAM(M~1.IMU"},
-	{3, 1410, "stateMuseumTramFar",  0, "TRAM(M~2.IMU"},
-	{3, 1420, "stateMuseumLockup",   0, "MUSEUM~1.IMU"},
-	{3, 1433, "stateMuseumPool",    22, "MUSEUM~2.IMU"},
-	{3, 1436, "stateMuseumSpire",   22, "MUSEUM~3.IMU"},
-	{3, 1440, "stateMuseumMuseum",  22, "MUSEUM~4.IMU"},
-	{3, 1450, "stateMuseumLibrary",  0, "MUB575~5.IMU"},
-	{3, 1460, "stateMuseumCavern",   0, "MUF9BE~5.IMU"},
-	{3, 1500, "stateTombTramNear",   0, "TRAM(T~1.IMU"},
-	{3, 1510, "stateTombBase",      28, "TOMB(A~1.IMU"},
-	{3, 1520, "stateTombSpire",     28, "TOMB(A~2.IMU"},
-	{3, 1530, "stateTombCave",      28, "TOMB(A~3.IMU"},
-	{3, 1540, "stateTombCrypt",     31, "TOMB(C~1.IMU"},
-	{3, 1550, "stateTombGuards",    31, "TOMB(C~2.IMU"},
-	{3, 1560, "stateTombInner",      0, "TOMB(I~1.IMU"},
-	{3, 1570, "stateTombCreator1",   0, "TOMB(C~3.IMU"},
-	{3, 1580, "stateTombCreator2",   0, "TOMB(C~4.IMU"},
-	{3, 1600, "statePlanTramNear",   0, "TRAM(P~1.IMU"},
-	{3, 1610, "statePlanTramFar",    0, "TRAM(P~2.IMU"},
-	{3, 1620, "statePlanBase",      38, "PLAN(A~1.IMU"},
-	{3, 1630, "statePlanSpire",     38, "PLAN(A~2.IMU"},
-	{3, 1650, "statePlanDome",       0, "PLAN(D~1.IMU"},
-	{3, 1700, "stateMapTramNear",    0, "TRAM(M~3.IMU"},
-	{3, 1710, "stateMapTramFar",     0, "TRAM(M~4.IMU"},
-	{3, 1720, "stateMapCanyon",     43, "MAP(AM~1.IMU"},
-	{3, 1730, "stateMapExposed",    43, "MAP(AM~2.IMU"},
-	{3, 1750, "stateMapNestEmpty",  43, "MAP(AM~4.IMU"},
-	{3, 1760, "stateMapNestMonster", 0, "MAP(MO~1.IMU"},
-	{3, 1770, "stateMapKlein",       0, "MAP(KL~1.IMU"},
-	{3, 1800, "stateCathTramNear",   0, "TRAM(C~1.IMU"},
-	{3, 1810, "stateCathTramFar",    0, "TRAM(C~2.IMU"},
-	{3, 1820, "stateCathLab",       50, "CATH(A~1.IMU"},
-	{3, 1830, "stateCathOutside",   50, "CATH(A~2.IMU"},
-	{3, 1900, "stateWorldMuseum",   52, "WORLD(~1.IMU"},
-	{3, 1901, "stateWorldPlan",     52, "WORLD(~2.IMU"},
-	{3, 1902, "stateWorldTomb",     52, "WORLD(~3.IMU"},
-	{3, 1903, "stateWorldMap",      52, "WORLD(~4.IMU"},
-	{3, 1904, "stateWorldCath",     52, "WO3227~5.IMU"},
-	{3, 1910, "stateEye1",           0, "EYE1~1.IMU"},
-	{3, 1911, "stateEye2",           0, "EYE2~1.IMU"},
-	{3, 1912, "stateEye3",           0, "EYE3~1.IMU"},
-	{3, 1913, "stateEye4",           0, "EYE4~1.IMU"},
-	{3, 1914, "stateEye5",           0, "EYE5~1.IMU"},
-	{3, 1915, "stateEye6",           0, "EYE6~1.IMU"},
-	{3, 1916, "stateEye7",           0, "EYE7~1.IMU"},
-	{0,   -1,  "",                   0, ""}
+	{0, 1000, "STATE_NULL",          0, 0, ""},
+	{0, 1001, "stateNoChange",       0, 0, ""},
+	{3, 1100, "stateAstShip",        2, 0, "ASTERO~1.IMU"},
+	{3, 1120, "stateAstClose",       2, 0, "ASTERO~2.IMU"},
+	{3, 1140, "stateAstInside",      0, 0, "ASTERO~3.IMU"},
+	{3, 1150, "stateAstCore",        0, 2, "ASTERO~4.IMU"},
+	{3, 1200, "stateCanyonClose",    0, 1, "CANYON~1.IMU"},
+	{3, 1205, "stateCanyonClose_m",  0, 0, "CANYON~2.IMU"},
+	{3, 1210, "stateCanyonOver",     0, 1, "CANYON~3.IMU"},
+	{3, 1220, "stateCanyonWreck",    0, 1, "CANYON~4.IMU"},
+	{3, 1300, "stateNexusCanyon",   10, 0, "NEXUS(~1.IMU"},
+	{3, 1310, "stateNexusPlan",     10, 0, "NEXUS(~1.IMU"},
+	{3, 1320, "stateNexusRamp",     10, 0, "NEXUS(~2.IMU"},
+	{3, 1330, "stateNexusMuseum",   10, 0, "NEXUS(~3.IMU"},
+	{3, 1340, "stateNexusMap",      10, 0, "NEXUS(~4.IMU"},
+	{3, 1350, "stateNexusTomb",     10, 0, "NE3706~5.IMU"},
+	{3, 1360, "stateNexusCath",     10, 0, "NE3305~5.IMU"},
+	{3, 1370, "stateNexusAirlock",   0, 0, "NE2D3A~5.IMU"},
+	{3, 1380, "stateNexusPowerOff",  0, 1, "NE8522~5.IMU"},
+	{3, 1400, "stateMuseumTramNear", 0, 1, "TRAM(M~1.IMU"},
+	{3, 1410, "stateMuseumTramFar",  0, 0, "TRAM(M~2.IMU"},
+	{3, 1420, "stateMuseumLockup",   0, 0, "MUSEUM~1.IMU"},
+	{3, 1433, "stateMuseumPool",    22, 1, "MUSEUM~2.IMU"},
+	{3, 1436, "stateMuseumSpire",   22, 2, "MUSEUM~3.IMU"},
+	{3, 1440, "stateMuseumMuseum",  22, 2, "MUSEUM~4.IMU"},
+	{3, 1450, "stateMuseumLibrary",  0, 0, "MUB575~5.IMU"},
+	{3, 1460, "stateMuseumCavern",   0, 0, "MUF9BE~5.IMU"},
+	{3, 1500, "stateTombTramNear",   0, 1, "TRAM(T~1.IMU"},
+	{3, 1510, "stateTombBase",      28, 2, "TOMB(A~1.IMU"},
+	{3, 1520, "stateTombSpire",     28, 2, "TOMB(A~2.IMU"},
+	{3, 1530, "stateTombCave",      28, 2, "TOMB(A~3.IMU"},
+	{3, 1540, "stateTombCrypt",     31, 1, "TOMB(C~1.IMU"},
+	{3, 1550, "stateTombGuards",    31, 1, "TOMB(C~2.IMU"},
+	{3, 1560, "stateTombInner",      0, 1, "TOMB(I~1.IMU"},
+	{3, 1570, "stateTombCreator1",   0, 0, "TOMB(C~3.IMU"},
+	{3, 1580, "stateTombCreator2",   0, 0, "TOMB(C~4.IMU"},
+	{3, 1600, "statePlanTramNear",   0, 1, "TRAM(P~1.IMU"},
+	{3, 1610, "statePlanTramFar",    0, 0, "TRAM(P~2.IMU"},
+	{3, 1620, "statePlanBase",      38, 2, "PLAN(A~1.IMU"},
+	{3, 1630, "statePlanSpire",     38, 2, "PLAN(A~2.IMU"},
+	{3, 1650, "statePlanDome",       0, 0, "PLAN(D~1.IMU"},
+	{3, 1700, "stateMapTramNear",    0, 1, "TRAM(M~3.IMU"},
+	{3, 1710, "stateMapTramFar",     0, 0, "TRAM(M~4.IMU"},
+	{3, 1720, "stateMapCanyon",     43, 2, "MAP(AM~1.IMU"},
+	{3, 1730, "stateMapExposed",    43, 2, "MAP(AM~2.IMU"},
+	{3, 1750, "stateMapNestEmpty",  43, 2, "MAP(AM~4.IMU"},
+	{3, 1760, "stateMapNestMonster", 0, 0, "MAP(MO~1.IMU"},
+	{3, 1770, "stateMapKlein",       0, 0, "MAP(KL~1.IMU"},
+	{3, 1800, "stateCathTramNear",   0, 1, "TRAM(C~1.IMU"},
+	{3, 1810, "stateCathTramFar",    0, 0, "TRAM(C~2.IMU"},
+	{3, 1820, "stateCathLab",       50, 1, "CATH(A~1.IMU"},
+	{3, 1830, "stateCathOutside",   50, 1, "CATH(A~2.IMU"},
+	{3, 1900, "stateWorldMuseum",   52, 0, "WORLD(~1.IMU"},
+	{3, 1901, "stateWorldPlan",     52, 0, "WORLD(~2.IMU"},
+	{3, 1902, "stateWorldTomb",     52, 0, "WORLD(~3.IMU"},
+	{3, 1903, "stateWorldMap",      52, 0, "WORLD(~4.IMU"},
+	{3, 1904, "stateWorldCath",     52, 0, "WO3227~5.IMU"},
+	{3, 1910, "stateEye1",           0, 0, "EYE1~1.IMU"},
+	{3, 1911, "stateEye2",           0, 0, "EYE2~1.IMU"},
+	{3, 1912, "stateEye3",           0, 0, "EYE3~1.IMU"},
+	{3, 1913, "stateEye4",           0, 0, "EYE4~1.IMU"},
+	{3, 1914, "stateEye5",           0, 0, "EYE5~1.IMU"},
+	{3, 1915, "stateEye6",           0, 0, "EYE6~1.IMU"},
+	{3, 1916, "stateEye7",           0, 0, "EYE7~1.IMU"},
+	{0,   -1,  "",                   0, 0, ""}
 };
 
 const imuseDigTable _digSeqMusicTable[] = {
-	{0, 2000, "SEQ_NULL",            0, ""},
-	{0, 2005, "seqLogo",             0, ""},
-	{0, 2010, "seqIntro",            0, ""},
-	{6, 2020, "seqExplosion1b",      0, ""},
-	{3, 2030, "seqAstTunnel1a",      0, "SEQ(AS~1.IMU"},
-	{6, 2031, "seqAstTunnel2b",      0, ""},
-	{4, 2032, "seqAstTunnel3a",      0, "SEQ(AS~2.IMU"},
-	{5, 2040, "seqToPlanet1b",       0, ""},
-	{4, 2045, "seqArgBegin",         0, "SEQ(AR~1.IMU"},
-	{4, 2046, "seqArgEnd",           0, "SEQ(AR~2.IMU"},
-	{4, 2050, "seqWreckGhost",       0, "SEQ(GH~1.IMU"},
-	{4, 2060, "seqCanyonGhost",      0, "SEQ(GH~2.IMU"},
-	{0, 2070, "seqBrinkFall",        0, ""},
-	{4, 2080, "seqPanUpCanyon",      0, "SEQ(PA~1.IMU"},
-	{6, 2091, "seqAirlockTunnel1b",  0, ""},
-	{6, 2100, "seqTramToMu",         0, ""},
-	{6, 2101, "seqTramFromMu",       0, ""},
-	{6, 2102, "seqTramToTomb",       0, ""},
-	{6, 2103, "seqTramFromTomb",     0, ""},
-	{6, 2104, "seqTramToPlan",       0, ""},
-	{6, 2105, "seqTramFromPlan",     0, ""},
-	{6, 2106, "seqTramToMap",        0, ""},
-	{6, 2107, "seqTramFromMap",      0, ""},
-	{6, 2108, "seqTramToCath",       0, ""},
-	{6, 2109, "seqTramFromCath",     0, ""},
-	{0, 2110, "seqMuseumGhost",      0, ""},
-	{0, 2120, "seqSerpentAppears",   0, ""},
-	{0, 2130, "seqSerpentEats",      0, ""},
-	{6, 2140, "seqBrinkRes1b",       0, ""},
-	{4, 2141, "seqBrinkRes2a",       0, "SEQ(BR~1.IMU"},
-	{3, 2150, "seqLockupEntry",      0, "SEQ(BR~1.IMU"},
-	{0, 2160, "seqSerpentExplodes",  0, ""},
-	{4, 2170, "seqSwimUnderwater",   0, "SEQ(DE~1.IMU"},
-	{4, 2175, "seqWavesPlunge",      0, "SEQ(PL~1.IMU"},
-	{0, 2180, "seqCryptOpens",       0, ""},
-	{0, 2190, "seqGuardsFight",      0, ""},
-	{3, 2200, "seqCreatorRes1.1a",   0, "SEQ(CR~1.IMU"},
-	{6, 2201, "seqCreatorRes1.2b",   0, ""},
-	{6, 2210, "seqMaggieCapture1b",  0, ""},
-	{3, 2220, "seqStealCrystals",    0, "SEQ(BR~1.IMU"},
-	{0, 2230, "seqGetByMonster",     0, ""},
-	{6, 2240, "seqKillMonster1b",    0, ""},
-	{3, 2250, "seqCreatorRes2.1a",   0, "SEQ(CR~2.IMU"},
-	{6, 2251, "seqCreatorRes2.2b",   0, ""},
-	{4, 2252, "seqCreatorRes2.3a",   0, "SEQ(CR~3.IMU"},
-	{0, 2260, "seqMaggieInsists",    0, ""},
-	{0, 2270, "seqBrinkHelpCall",    0, ""},
-	{3, 2280, "seqBrinkCrevice1a",   0, "SEQ(BR~2.IMU"},
-	{3, 2281, "seqBrinkCrevice2a",   0, "SEQ(BR~3.IMU"},
-	{6, 2290, "seqCathAccess1b",     0, ""},
-	{4, 2291, "seqCathAccess2a",     0, "SEQ(CA~1.IMU"},
-	{3, 2300, "seqBrinkAtGenerator", 0, "SEQ(BR~1.IMU"},
-	{6, 2320, "seqFightBrink1b",     0, ""},
-	{6, 2340, "seqMaggieDies1b",     0, ""},
-	{6, 2346, "seqMaggieRes1b",      0, ""},
-	{4, 2347, "seqMaggieRes2a",      0, "SEQ(MA~1.IMU"},
-	{0, 2350, "seqCreatureFalls",    0, ""},
-	{5, 2360, "seqFinale1b",         0, ""},
-	{3, 2370, "seqFinale2a",         0, "SEQ(FI~1.IMU"},
-	{6, 2380, "seqFinale3b1",        0, ""},
-	{6, 2390, "seqFinale3b2",        0, ""},
-	{3, 2400, "seqFinale4a",         0, "SEQ(FI~2.IMU"},
-	{3, 2410, "seqFinale5a",         0, "SEQ(FI~3.IMU"},
-	{3, 2420, "seqFinale6a",         0, "SEQ(FI~4.IMU"},
-	{3, 2430, "seqFinale7a",         0, "SE3D2B~5.IMU"},
-	{6, 2440, "seqFinale8b",         0, ""},
-	{4, 2450, "seqFinale9a",         0, "SE313B~5.IMU"},
-	{0,   -1, "",                    0, ""}
+	{0, 2000, "SEQ_NULL",            0, 0, ""},
+	{0, 2005, "seqLogo",             0, 0, ""},
+	{0, 2010, "seqIntro",            0, 0, ""},
+	{6, 2020, "seqExplosion1b",      0, 0, ""},
+	{3, 2030, "seqAstTunnel1a",      0, 0, "SEQ(AS~1.IMU"},
+	{6, 2031, "seqAstTunnel2b",      0, 0, ""},
+	{4, 2032, "seqAstTunnel3a",      0, 0, "SEQ(AS~2.IMU"},
+	{5, 2040, "seqToPlanet1b",       0, 0, ""},
+	{4, 2045, "seqArgBegin",         0, 0, "SEQ(AR~1.IMU"},
+	{4, 2046, "seqArgEnd",           0, 0, "SEQ(AR~2.IMU"},
+	{4, 2050, "seqWreckGhost",       0, 0, "SEQ(GH~1.IMU"},
+	{4, 2060, "seqCanyonGhost",      0, 0, "SEQ(GH~2.IMU"},
+	{0, 2070, "seqBrinkFall",        0, 0, ""},
+	{4, 2080, "seqPanUpCanyon",      0, 0, "SEQ(PA~1.IMU"},
+	{6, 2091, "seqAirlockTunnel1b",  0, 0, ""},
+	{6, 2100, "seqTramToMu",         0, 0, ""},
+	{6, 2101, "seqTramFromMu",       0, 0, ""},
+	{6, 2102, "seqTramToTomb",       0, 0, ""},
+	{6, 2103, "seqTramFromTomb",     0, 0, ""},
+	{6, 2104, "seqTramToPlan",       0, 0, ""},
+	{6, 2105, "seqTramFromPlan",     0, 0, ""},
+	{6, 2106, "seqTramToMap",        0, 0, ""},
+	{6, 2107, "seqTramFromMap",      0, 0, ""},
+	{6, 2108, "seqTramToCath",       0, 0, ""},
+	{6, 2109, "seqTramFromCath",     0, 0, ""},
+	{0, 2110, "seqMuseumGhost",      0, 0, ""},
+	{0, 2120, "seqSerpentAppears",   0, 0, ""},
+	{0, 2130, "seqSerpentEats",      0, 0, ""},
+	{6, 2140, "seqBrinkRes1b",       0, 0, ""},
+	{4, 2141, "seqBrinkRes2a",       0, 0, "SEQ(BR~1.IMU"},
+	{3, 2150, "seqLockupEntry",      0, 0, "SEQ(BR~1.IMU"},
+	{0, 2160, "seqSerpentExplodes",  0, 0, ""},
+	{4, 2170, "seqSwimUnderwater",   0, 0, "SEQ(DE~1.IMU"},
+	{4, 2175, "seqWavesPlunge",      0, 0, "SEQ(PL~1.IMU"},
+	{0, 2180, "seqCryptOpens",       0, 0, ""},
+	{0, 2190, "seqGuardsFight",      0, 0, ""},
+	{3, 2200, "seqCreatorRes1.1a",   0, 0, "SEQ(CR~1.IMU"},
+	{6, 2201, "seqCreatorRes1.2b",   0, 0, ""},
+	{6, 2210, "seqMaggieCapture1b",  0, 0, ""},
+	{3, 2220, "seqStealCrystals",    0, 0, "SEQ(BR~1.IMU"},
+	{0, 2230, "seqGetByMonster",     0, 0, ""},
+	{6, 2240, "seqKillMonster1b",    0, 0, ""},
+	{3, 2250, "seqCreatorRes2.1a",   0, 0, "SEQ(CR~2.IMU"},
+	{6, 2251, "seqCreatorRes2.2b",   0, 0, ""},
+	{4, 2252, "seqCreatorRes2.3a",   0, 0, "SEQ(CR~3.IMU"},
+	{0, 2260, "seqMaggieInsists",    0, 0, ""},
+	{0, 2270, "seqBrinkHelpCall",    0, 0, ""},
+	{3, 2280, "seqBrinkCrevice1a",   0, 0, "SEQ(BR~2.IMU"},
+	{3, 2281, "seqBrinkCrevice2a",   0, 0, "SEQ(BR~3.IMU"},
+	{6, 2290, "seqCathAccess1b",     0, 0, ""},
+	{4, 2291, "seqCathAccess2a",     0, 0, "SEQ(CA~1.IMU"},
+	{3, 2300, "seqBrinkAtGenerator", 0, 0, "SEQ(BR~1.IMU"},
+	{6, 2320, "seqFightBrink1b",     0, 0, ""},
+	{6, 2340, "seqMaggieDies1b",     0, 0, ""},
+	{6, 2346, "seqMaggieRes1b",      0, 0, ""},
+	{4, 2347, "seqMaggieRes2a",      0, 0, "SEQ(MA~1.IMU"},
+	{0, 2350, "seqCreatureFalls",    0, 0, ""},
+	{5, 2360, "seqFinale1b",         0, 0, ""},
+	{3, 2370, "seqFinale2a",         0, 0, "SEQ(FI~1.IMU"},
+	{6, 2380, "seqFinale3b1",        0, 0, ""},
+	{6, 2390, "seqFinale3b2",        0, 0, ""},
+	{3, 2400, "seqFinale4a",         0, 0, "SEQ(FI~2.IMU"},
+	{3, 2410, "seqFinale5a",         0, 0, "SEQ(FI~3.IMU"},
+	{3, 2420, "seqFinale6a",         0, 0, "SEQ(FI~4.IMU"},
+	{3, 2430, "seqFinale7a",         0, 0, "SE3D2B~5.IMU"},
+	{6, 2440, "seqFinale8b",         0, 0, ""},
+	{4, 2450, "seqFinale9a",         0, 0, "SE313B~5.IMU"},
+	{0,   -1, "",                    0, 0, ""}
 };
 
 const imuseComiTable _comiStateMusicTable[] = {





More information about the Scummvm-git-logs mailing list