From cd84daf7f85646d9c4ae08dae1582a4238547d50 Mon Sep 17 00:00:00 2001 From: Paweł Kołodziejski Date: Tue, 1 Jan 2008 15:05:27 +0000 Subject: experimental change to prevent play first region with fade out if jump opcode is attached svn-id: r30117 --- engines/scumm/imuse_digi/dimuse.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'engines/scumm') diff --git a/engines/scumm/imuse_digi/dimuse.cpp b/engines/scumm/imuse_digi/dimuse.cpp index dba7e921b8..2f097e6c0e 100644 --- a/engines/scumm/imuse_digi/dimuse.cpp +++ b/engines/scumm/imuse_digi/dimuse.cpp @@ -385,6 +385,7 @@ void IMuseDigital::switchToNextRegion(Track *track) { } int num_regions = _sound->getNumRegions(track->soundDesc); + int previous_region = track->curRegion; if (++track->curRegion == num_regions) { flushTrack(track); @@ -404,7 +405,7 @@ void IMuseDigital::switchToNextRegion(Track *track) { int fadeDelay = (60 * _sound->getJumpFade(soundDesc, jumpId)) / 1000; if (sampleHookId != 0) { if (track->curHookId == sampleHookId) { - if (fadeDelay != 0) { + if (fadeDelay != 0 && previous_region != -1) { Track *fadeTrack = cloneToFadeOutTrack(track, fadeDelay); if (fadeTrack) { fadeTrack->dataOffset = _sound->getRegionOffset(fadeTrack->soundDesc, fadeTrack->curRegion); @@ -418,7 +419,7 @@ void IMuseDigital::switchToNextRegion(Track *track) { track->curHookId = 0; } } else { - if (fadeDelay != 0) { + if (fadeDelay != 0 && previous_region != -1) { Track *fadeTrack = cloneToFadeOutTrack(track, fadeDelay); if (fadeTrack) { fadeTrack->dataOffset = _sound->getRegionOffset(fadeTrack->soundDesc, fadeTrack->curRegion); -- cgit v1.2.3