diff options
author | Paweł Kołodziejski | 2008-01-14 17:26:49 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2008-01-14 17:26:49 +0000 |
commit | f15b41596b39deb141a2550d82727659128e11af (patch) | |
tree | 263f7d9d1336758e00b7674bf2ff81c52c980c40 /engines/scumm/imuse_digi/dimuse_music.cpp | |
parent | d167ad4066ce1e8365e04de24cd09202a1e99e37 (diff) | |
download | scummvm-rg350-f15b41596b39deb141a2550d82727659128e11af.tar.gz scummvm-rg350-f15b41596b39deb141a2550d82727659128e11af.tar.bz2 scummvm-rg350-f15b41596b39deb141a2550d82727659128e11af.zip |
implement special case for playing music with beginning offset where other one stopped
svn-id: r30483
Diffstat (limited to 'engines/scumm/imuse_digi/dimuse_music.cpp')
-rw-r--r-- | engines/scumm/imuse_digi/dimuse_music.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/scumm/imuse_digi/dimuse_music.cpp b/engines/scumm/imuse_digi/dimuse_music.cpp index db33f4a355..08c7fe6ae0 100644 --- a/engines/scumm/imuse_digi/dimuse_music.cpp +++ b/engines/scumm/imuse_digi/dimuse_music.cpp @@ -167,8 +167,10 @@ void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table } } - if (!songName) + if (!songName) { fadeOutMusic(120); + return; + } switch (table->transitionType) { case 0: @@ -184,8 +186,7 @@ void IMuseDigital::playDigMusic(const char *songName, const imuseDigTable *table _stopingSequence = true; if ((!sequence) && (table->attribPos != 0) && (table->attribPos == _digStateMusicTable[_curMusicState].attribPos)) { - fadeOutMusic(108); - startMusic(table->filename, table->soundId, 0, 127); + fadeOutMusicAndStartNew(108, table->filename, table->soundId); } else { fadeOutMusic(108); startMusic(table->filename, table->soundId, hookId, 127); @@ -291,8 +292,10 @@ void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *tab } } - if (!songName) + if (!songName) { fadeOutMusic(120); + return; + } switch (table->transitionType) { case 0: @@ -323,8 +326,7 @@ void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *tab _stopingSequence = true; if ((!sequence) && (table->attribPos != 0) && (table->attribPos == _comiStateMusicTable[_curMusicState].attribPos)) { - fadeOutMusic(table->fadeOutDelay); - startMusic(table->filename, table->soundId, 0, 127); + fadeOutMusicAndStartNew(table->fadeOutDelay, table->filename, table->soundId); } else if (table->transitionType == 12) { fadeOutMusic(table->fadeOutDelay); startMusic(table->filename, table->soundId, table->hookId, 127); |