[Scummvm-cvs-logs] SF.net SVN: scummvm: [30463] scummvm/trunk/engines/scumm/imuse_digi

aquadran at users.sourceforge.net aquadran at users.sourceforge.net
Sun Jan 13 01:10:30 CET 2008


Revision: 30463
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30463&view=rev
Author:   aquadran
Date:     2008-01-12 16:10:30 -0800 (Sat, 12 Jan 2008)

Log Message:
-----------
added missing stoppingSequence to music transitions. still i'm not sure if it trigger properly in our imuse implementation

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp
    scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2008-01-12 23:54:19 UTC (rev 30462)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp	2008-01-13 00:10:30 UTC (rev 30463)
@@ -100,6 +100,7 @@
 	_curMusicCue = 0;
 	memset(_attributes, 0, sizeof(_attributes));
 	_nextSeqToPlay = 0;
+	_stopingSequence = false;
 }
 
 void IMuseDigital::saveOrLoad(Serializer *ser) {

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.h	2008-01-12 23:54:19 UTC (rev 30462)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.h	2008-01-13 00:10:30 UTC (rev 30463)
@@ -134,6 +134,7 @@
 	int32 _curMusicState;	// current or previous id of music
 	int32 _curMusicSeq;		// current or previous id of sequence music
 	int32 _curMusicCue;		// current cue for current music. used in FT
+	bool _stopingSequence;
 
 	int32 makeMixerFlags(int32 flags);
 	static void timer_handler(void *refConf);

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp	2008-01-12 23:54:19 UTC (rev 30462)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp	2008-01-13 00:10:30 UTC (rev 30463)
@@ -172,7 +172,6 @@
 	switch (table->transitionType) {
 		case 0:
 		case 5:
-		case 6:
 			break;
 		case 3:
 		case 4:
@@ -186,6 +185,9 @@
 				startMusic(table->filename, table->soundId, hookId, 127);
 			}
 			break;
+		case 6:
+			_stopingSequence = true;
+			break;
 	}
 }
 
@@ -288,7 +290,10 @@
 			fadeOutMusic(120);
 			break;
 		case 8:
+			setHookId(table->soundId, table->hookId);
+			break;
 		case 9:
+			_stopingSequence = true;
 			setHookId(table->soundId, table->hookId);
 			break;
 		case 1:

Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp	2008-01-12 23:54:19 UTC (rev 30462)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp	2008-01-13 00:10:30 UTC (rev 30463)
@@ -200,6 +200,12 @@
 void IMuseDigital::refreshScripts() {
 	Common::StackLock lock(_mutex, "IMuseDigital::refreshScripts()");
 	debug(5, "refreshScripts()");
+
+	if (_stopingSequence) {
+		parseScriptCmds(0x1001, 0, 0, 0, 0, 0, 0, 0);
+		_stopingSequence = false;
+	}
+
 	bool found = false;
 	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {
 		Track *track = _track[l];


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list