diff options
| -rw-r--r-- | scumm/imuse_digi/dimuse.cpp | 3 | ||||
| -rw-r--r-- | scumm/imuse_digi/dimuse.h | 1 | ||||
| -rw-r--r-- | scumm/imuse_digi/dimuse_script.cpp | 3 | ||||
| -rw-r--r-- | scumm/imuse_digi/dimuse_sndmgr.h | 2 | ||||
| -rw-r--r-- | scumm/smush/smush_player.cpp | 3 | 
5 files changed, 8 insertions, 4 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp index 73beb1a9d2..48c4f51213 100644 --- a/scumm/imuse_digi/dimuse.cpp +++ b/scumm/imuse_digi/dimuse.cpp @@ -106,7 +106,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {  		MKLINE(Track, started, sleByte, VER(31)),  		MKLINE(Track, priority, sleInt32, VER(31)),  		MKLINE(Track, regionOffset, sleInt32, VER(31)), -		MKLINE(Track, trackOffset, sleInt32, VER(31)), +		MK_OBSOLETE(Track, trackOffset, sleInt32, VER(31), VER(31)),  		MKLINE(Track, dataOffset, sleInt32, VER(31)),  		MKLINE(Track, curRegion, sleInt32, VER(31)),  		MKLINE(Track, curHookId, sleInt32, VER(31)), @@ -125,6 +125,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {  	ser->_load_ref = NULL;  	ser->saveLoadEntries(this, mainEntries); +  	for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) {  		Track *track = _track[l];  		ser->saveLoadEntries(track, trackEntries); diff --git a/scumm/imuse_digi/dimuse.h b/scumm/imuse_digi/dimuse.h index c73c6abd13..4c214e3e8b 100644 --- a/scumm/imuse_digi/dimuse.h +++ b/scumm/imuse_digi/dimuse.h @@ -62,7 +62,6 @@ private:  		bool souStream;  		int32 priority;  		int32 regionOffset; -		int32 trackOffset;  		int32 dataOffset;  		int32 curRegion;  		int32 curHookId; diff --git a/scumm/imuse_digi/dimuse_script.cpp b/scumm/imuse_digi/dimuse_script.cpp index 72e77d655c..c372c9c034 100644 --- a/scumm/imuse_digi/dimuse_script.cpp +++ b/scumm/imuse_digi/dimuse_script.cpp @@ -160,6 +160,7 @@ void IMuseDigital::parseScriptCmds(int a, int b, int c, int d, int e, int f, int  }  void IMuseDigital::flushTracks() { +	debug(5, "flushTracks()");  	for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) {  		Track *track = _track[l];  		if (track->used && track->readyToRemove) { @@ -180,6 +181,7 @@ void IMuseDigital::flushTracks() {  }  void IMuseDigital::refreshScripts() { +	debug(5, "refreshScripts()");  	bool found = false;  	for (int l = 0; l < MAX_DIGITAL_TRACKS; l++) {  		Track *track = _track[l]; @@ -189,6 +191,7 @@ void IMuseDigital::refreshScripts() {  	}  	if (!found && (_curMusicSeq != 0)) { +		debug(5, "refreshScripts() Start Sequence");  		parseScriptCmds(0x1001, 0, 0, 0, 0, 0, 0, 0);  	}  } diff --git a/scumm/imuse_digi/dimuse_sndmgr.h b/scumm/imuse_digi/dimuse_sndmgr.h index e4043fb56c..732615dce9 100644 --- a/scumm/imuse_digi/dimuse_sndmgr.h +++ b/scumm/imuse_digi/dimuse_sndmgr.h @@ -34,7 +34,7 @@ class BundleMgr;  class ImuseDigiSndMgr {  public: -#define MAX_IMUSE_SOUNDS 10 +#define MAX_IMUSE_SOUNDS 24  #define IMUSE_RESOURCE 1  #define IMUSE_BUNDLE 2 diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp index 08c2e5c84f..b20aac5322 100644 --- a/scumm/smush/smush_player.cpp +++ b/scumm/smush/smush_player.cpp @@ -1134,7 +1134,7 @@ void SmushPlayer::play(const char *filename, const char *directory, int32 offset  		_middleAudio = true;  	} -	while (true) { +	for (;;) {  		_vm->parseEvents();  		_vm->processKbd(true);  		if (_updateNeeded) { @@ -1156,6 +1156,7 @@ void SmushPlayer::play(const char *filename, const char *directory, int32 offset  		if (_vm->_videoFinished || _vm->_quit || _vm->_saveLoadFlag)  			break;  		_vm->_system->delay_msecs(10); +		_vm->_imuseDigital->flushTracks();  	};  	release();  | 
