diff options
Diffstat (limited to 'sword1/logic.cpp')
| -rw-r--r-- | sword1/logic.cpp | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/sword1/logic.cpp b/sword1/logic.cpp index 660ee3517c..571535465d 100644 --- a/sword1/logic.cpp +++ b/sword1/logic.cpp @@ -34,6 +34,7 @@ #include "sword1/music.h" #include "sword1/swordres.h" #include "sword1/animation.h" +#include "sword1/credits.h" #include "sword1/debug.h" @@ -940,37 +941,13 @@ 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) { - static const char *sequence_list[20] = { - "ferrari", // 0 CD2 ferrari running down fitz in sc19 - "ladder", // 1 CD2 george walking down ladder to dig sc24->sc$ - "steps", // 2 CD2 george walking down steps sc23->sc24 - "sewer", // 3 CD1 george entering sewer sc2->sc6 - "intro", // 4 CD1 intro sequence ->sc1 - "river", // 5 CD1 george being thrown into river by flap & g$ - "truck", // 6 CD2 truck arriving at bull's head sc45->sc53/4 - "grave", // 7 BOTH george's grave in scotland, from sc73 + from sc38 $ - "montfcon", // 8 CD2 monfaucon clue in ireland dig, sc25 - "tapestry", // 9 CD2 tapestry room beyond spain well, sc61 - "ireland", // 10 CD2 ireland establishing shot europe_map->sc19 - "finale", // 11 CD2 grand finale at very end, from sc73 - "history", // 12 CD1 George's history lesson from Nico, in sc10 - "spanish", // 13 CD2 establishing shot for 1st visit to Spain, europe_m$ - "well", // 14 CD2 first time being lowered down well in Spai$ - "candle", // 15 CD2 Candle burning down in Spain mausoleum sc59 - "geodrop", // 16 CD2 from sc54, George jumping down onto truck - "vulture", // 17 CD2 from sc54, vultures circling George's dead body - "enddemo", // 18 --- for end of single CD demo - "credits", // 19 CD2 credits, to follow "finale" sequence - // etc. - }; - - MoviePlayer player(_screen, _mixer, _system); - - player.play(sequence_list[sequenceId]); - - //_scriptVars[NEW_PALETTE] = 1; - /* the logic usually calls fnFadeDown before playing the sequence, so we have to - set NEW_PALETTE now to force a palette refresh */ + if ((SwordEngine::_systemVars.cutscenePackVersion == 1) && (sequenceId == SEQ_CREDITS)) { + CreditsPlayer player(_system, _mixer); + player.play(); + } else { + MoviePlayer player(_screen, _mixer, _system); + player.play(sequenceId); + } return SCRIPT_CONT; } |
