diff --git a/gamemgr/sigame.cc b/gamemgr/sigame.cc index fc2bca22..f4e59cb1 100644 --- a/gamemgr/sigame.cc +++ b/gamemgr/sigame.cc @@ -44,6 +44,7 @@ #include "array_size.h" #include "exult.h" #include "touchui.h" +#include "Configuration.h" using std::cout; using std::endl; @@ -256,6 +257,8 @@ void SI_Game::play_intro() { bool speech = audio->is_audio_enabled() && audio->is_speech_enabled(); bool speech_n_subs = Audio::get_ptr()->is_speech_with_subs(); + bool si_extended; + config->value("config/gameplay/si_extended", si_extended); gwin->clear_screen(true); @@ -290,10 +293,9 @@ void SI_Game::play_intro() { // Castle Outside -#if 0 // Start Music - audio->start_music(R_SINTRO, 0, false); -#endif + if (!si_extended) + audio->start_music(R_SINTRO, 0, false); size_t size; unique_ptr buffer; @@ -304,11 +306,12 @@ void SI_Game::play_intro() { audio->copy_and_play(buffer.get() + 8, size - 8, false); } -#if 0 - playfli fli1(INTRO_DAT, PATCH_INTRO, 1); -#else - playfli fli1(BUNDLE_EXULT_SI_FLX, EXULT_SI_FLX, EXULT_SI_FLX_EXT_INTRO_CASTLE_FLC); -#endif + if (!si_extended) + playfli fli1(INTRO_DAT, PATCH_INTRO, 1); + else + playfli fli1(BUNDLE_EXULT_SI_FLX, EXULT_SI_FLX, EXULT_SI_FLX_EXT_INTRO_CASTLE_FLC); + + fli1.info(); fli1.play(win, 0, 1, 0, 0); @@ -331,18 +334,17 @@ void SI_Game::play_intro() { } -#if 0 - for (int j = 0; j < 50; j++) { - num = get_frame(); + if (!si_extended) { + for (int j = 0; j < 50; j++) { + num = get_frame(); if (prev != num) for (int i = 0; i < num + 1; i++) fli1.play(win, i, i, next); -#else - for (int j = 0; j < 25; j++) { + } else{ + for (int j = 0; j < 25; j++) { num = get_frame(); - next = fli1.play(win, j, j, next) + 30; -#endif - + next = fli1.play(win, j, j, next) + 30; + } if (jive) sifont->center_text(ibuf, centerx, centery + 50, get_text_msg(dick_castle)); else @@ -354,7 +356,7 @@ void SI_Game::play_intro() { if (wait_delay(1, 0, 1)) throw UserBreakException(); - } + } for (int j = 0; j < 10; j++) { num = get_frame();