[Scummvm-cvs-logs] SF.net SVN: scummvm: [30604] scummvm/trunk/engines/scumm/imuse_digi
aquadran at users.sourceforge.net
aquadran at users.sourceforge.net
Mon Jan 21 23:06:14 CET 2008
Revision: 30604
http://scummvm.svn.sourceforge.net/scummvm/?rev=30604&view=rev
Author: aquadran
Date: 2008-01-21 14:06:14 -0800 (Mon, 21 Jan 2008)
Log Message:
-----------
final fix for bug #1757010
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-21 21:39:30 UTC (rev 30603)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.cpp 2008-01-21 22:06:14 UTC (rev 30604)
@@ -97,7 +97,7 @@
_curMusicCue = 0;
memset(_attributes, 0, sizeof(_attributes));
_nextSeqToPlay = 0;
- _stopingSequence = false;
+ _stopingSequence = 0;
_triggerUsed = false;
}
Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse.h
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse.h 2008-01-21 21:39:30 UTC (rev 30603)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse.h 2008-01-21 22:06:14 UTC (rev 30604)
@@ -84,7 +84,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;
+ int _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-21 21:39:30 UTC (rev 30603)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_music.cpp 2008-01-21 22:06:14 UTC (rev 30604)
@@ -184,7 +184,7 @@
return;
}
if (table->transitionType == 4)
- _stopingSequence = true;
+ _stopingSequence = 1;
if ((!sequence) && (table->attribPos != 0) &&
(table->attribPos == _digStateMusicTable[_curMusicState].attribPos)) {
fadeOutMusicAndStartNew(108, table->filename, table->soundId);
@@ -194,7 +194,7 @@
}
break;
case 6:
- _stopingSequence = true;
+ _stopingSequence = 1;
break;
}
}
@@ -305,7 +305,7 @@
setHookIdForMusic(table->hookId);
break;
case 9:
- _stopingSequence = true;
+ _stopingSequence = 1;
setHookIdForMusic(table->hookId);
break;
case 2:
@@ -319,7 +319,7 @@
if (getCurMusicSoundId() == table->soundId)
return;
if (table->transitionType == 4)
- _stopingSequence = true;
+ _stopingSequence = 1;
if (table->transitionType == 2) {
fadeOutMusic(table->fadeOutDelay);
startMusic(table->filename, table->soundId, table->hookId, 127);
Modified: scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp
===================================================================
--- scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp 2008-01-21 21:39:30 UTC (rev 30603)
+++ scummvm/trunk/engines/scumm/imuse_digi/dimuse_script.cpp 2008-01-21 22:06:14 UTC (rev 30604)
@@ -210,9 +210,11 @@
if (_stopingSequence) {
debug(5, "refreshScripts() Force restore music state");
- // disabled that, it seems help for fix bug #1757010
- //parseScriptCmds(0x1001, 0, 0, 0, 0, 0, 0, 0);
- _stopingSequence = false;
+ // small delay, it seems help for fix bug #1757010
+ if (_stopingSequence++ > 120) {
+ parseScriptCmds(0x1001, 0, 0, 0, 0, 0, 0, 0);
+ _stopingSequence = 0;
+ }
}
bool found = false;
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