diff options
author | Torbjörn Andersson | 2005-11-01 18:52:21 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-11-01 18:52:21 +0000 |
commit | 934fe916205c15eab37ac866c83156609205574e (patch) | |
tree | 6459fa55d529f036f6f9cc60a3e50be5bbf101be | |
parent | c3ef43fd6bf00f1285c3ba067e9f686559656eac (diff) | |
download | scummvm-rg350-934fe916205c15eab37ac866c83156609205574e.tar.gz scummvm-rg350-934fe916205c15eab37ac866c83156609205574e.tar.bz2 scummvm-rg350-934fe916205c15eab37ac866c83156609205574e.zip |
Clear the sound queue when starting a cutscene. They usually (always?)
herald a change of scene, so it should be ok. And it keeps the crackling
fire at the end from playing over the end credits and the End of Game
dialog afterwards.
(If we change the sound engine to do looping manually, instead of letting
the mixer handle it, the looping will not be seamless and we'll still get
the crackling fire over the dialog after the credits.)
This change is probably safe for 0.8.1, assuming we make one.
svn-id: r19387
-rw-r--r-- | sword1/logic.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sword1/logic.cpp b/sword1/logic.cpp index de12a60c1e..886bc59448 100644 --- a/sword1/logic.cpp +++ b/sword1/logic.cpp @@ -942,6 +942,10 @@ int Logic::fnSetPaletteToCut(Object *cpt, int32 id, int32 c, int32 d, int32 e, i int Logic::fnPlaySequence(Object *cpt, int32 id, int32 sequenceId, int32 d, int32 e, int32 f, int32 z, int32 x) { + // A cutscene usually (always?) means the room will change. In the + // meantime, we don't want any looping sound effects still playing. + _sound->quitScreen(); + if ((SwordEngine::_systemVars.cutscenePackVersion == 1) && (sequenceId == SEQ_CREDITS)) { CreditsPlayer player(_system, _mixer); player.play(); |