aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorPaweł Kołodziejski2004-06-20 15:28:11 +0000
committerPaweł Kołodziejski2004-06-20 15:28:11 +0000
commit83d4d9058ec17d6c51e07c498b09b3dfe72fabe3 (patch)
tree9d98a82e088a7fd860a621cc5f81524f499563df /scumm
parent3fd30cda0cf4c87475963058a3a6329edc7fc521 (diff)
downloadscummvm-rg350-83d4d9058ec17d6c51e07c498b09b3dfe72fabe3.tar.gz
scummvm-rg350-83d4d9058ec17d6c51e07c498b09b3dfe72fabe3.tar.bz2
scummvm-rg350-83d4d9058ec17d6c51e07c498b09b3dfe72fabe3.zip
trackOffset is obsolote, added few debugs, added flush sounds while smush plying to prevent overload tracks
svn-id: r13974
Diffstat (limited to 'scumm')
-rw-r--r--scumm/imuse_digi/dimuse.cpp3
-rw-r--r--scumm/imuse_digi/dimuse.h1
-rw-r--r--scumm/imuse_digi/dimuse_script.cpp3
-rw-r--r--scumm/imuse_digi/dimuse_sndmgr.h2
-rw-r--r--scumm/smush/smush_player.cpp3
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();