aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/imuse_digi/dimuse.cpp3
-rw-r--r--engines/scumm/imuse_digi/dimuse_track.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp
index 778c1a6593..0d13ffb513 100644
--- a/engines/scumm/imuse_digi/dimuse.cpp
+++ b/engines/scumm/imuse_digi/dimuse.cpp
@@ -158,13 +158,14 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {
}
ser->saveLoadEntries(track, trackEntries);
if (ser->isLoading()) {
+ _track[l]->trackId = l;
if (!track->used)
continue;
if ((track->toBeRemoved) || (track->souStreamUsed) || (track->curRegion == -1)) {
track->used = false;
continue;
}
-
+
// TODO: The code below has a lot in common with that in IMuseDigital::startSound.
// Try to refactor them to reduce the code duplication.
diff --git a/engines/scumm/imuse_digi/dimuse_track.cpp b/engines/scumm/imuse_digi/dimuse_track.cpp
index 513e7ab60f..4ba0153a93 100644
--- a/engines/scumm/imuse_digi/dimuse_track.cpp
+++ b/engines/scumm/imuse_digi/dimuse_track.cpp
@@ -341,6 +341,7 @@ IMuseDigital::Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDel
return NULL;
}
+ assert(track->trackId < 8);
fadeTrack = _track[track->trackId + MAX_DIGITAL_TRACKS];
if (fadeTrack->used) {