diff options
author | Paweł Kołodziejski | 2004-03-23 22:51:44 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2004-03-23 22:51:44 +0000 |
commit | dbf56846c929d2f7a00fc47368cdda2c1af13ba3 (patch) | |
tree | c60be1eea378f2cd12ec47d54c5e6f32909e279c /scumm/imuse_digi | |
parent | e2a5b67e4251d1f851dec457ead7520d180ceeac (diff) | |
download | scummvm-rg350-dbf56846c929d2f7a00fc47368cdda2c1af13ba3.tar.gz scummvm-rg350-dbf56846c929d2f7a00fc47368cdda2c1af13ba3.tar.bz2 scummvm-rg350-dbf56846c929d2f7a00fc47368cdda2c1af13ba3.zip |
changed a little hook id code
svn-id: r13374
Diffstat (limited to 'scumm/imuse_digi')
-rw-r--r-- | scumm/imuse_digi/dimuse.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/scumm/imuse_digi/dimuse.cpp b/scumm/imuse_digi/dimuse.cpp index ab01d34438..4cc351f575 100644 --- a/scumm/imuse_digi/dimuse.cpp +++ b/scumm/imuse_digi/dimuse.cpp @@ -211,9 +211,17 @@ void IMuseDigital::switchToNextRegion(int track) { if (jumpId != -1) { int region = _sound->getRegionIdByJumpId(_track[track].soundHandle, jumpId); if (region != -1) { - _track[track].curRegion = region; - debug(5, "switchToNextRegion-sound(%d) jump to %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId); - _track[track].curHookId = 0; + int sampleHookId = _sound->getJumpHookId(_track[track].soundHandle, jumpId); + if (sampleHookId != 0) { + if (_track[track].curHookId == sampleHookId) { + _track[track].curRegion = region; + debug(5, "switchToNextRegion-sound(%d) jump to %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId); + _track[track].curHookId = 0; + } + } else { + _track[track].curRegion = region; + debug(5, "switchToNextRegion-sound(%d) jump to %d region, curHookId: %d", _track[track].soundId, _track[track].curRegion, _track[track].curHookId); + } } } |