dominus icon

Untitled

dominus | PRO | 02/05/21 03:42:30 PM UTC | 0 ⭐ | 852 👁️ | Never ⏰ | []
text |

2.2 KB

|

None

|

0 👍

/

0 👎

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<unsigned char[]> 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();
 

Comments