diff options
author | Paweł Kołodziejski | 2008-01-01 15:05:27 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2008-01-01 15:05:27 +0000 |
commit | cd84daf7f85646d9c4ae08dae1582a4238547d50 (patch) | |
tree | a172cb4d34ac2d742d5ce5911fe0734a0b96c315 /engines/scumm | |
parent | 79a9074548e0e988344cab3842a134559da0c8b5 (diff) | |
download | scummvm-rg350-cd84daf7f85646d9c4ae08dae1582a4238547d50.tar.gz scummvm-rg350-cd84daf7f85646d9c4ae08dae1582a4238547d50.tar.bz2 scummvm-rg350-cd84daf7f85646d9c4ae08dae1582a4238547d50.zip |
experimental change to prevent play first region with fade out if jump opcode is attached
svn-id: r30117
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/imuse_digi/dimuse.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
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); |