[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