From 1f4e54f93066b6ecd793b1a70cc6036530023a7f Mon Sep 17 00:00:00 2001
From: Travis Howell <kirben@scummvm.org>
Date: Thu, 18 Dec 2003 10:47:12 +0000
Subject: [PATCH] Make fade a config optiom Make sure non-English/German
 versions of simon1talkie start with subtitles enabled.

svn-id: r11736
---
 simon/simon.cpp | 13 +++++++++++--
 simon/simon.h   |  1 +
 simon/vga.cpp   |  3 ++-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/simon/simon.cpp b/simon/simon.cpp
index 3e01ea345e8..918f12c0fd6 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -338,6 +338,7 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
 	_dump_images = 0;
 	_speech = false;
 	_subtitles = false;
+	_fade = true;
 	_mouse_cursor = 0;
 	_vga_var9 = 0;
 	_script_unk_1 = 0;
@@ -541,8 +542,15 @@ SimonEngine::SimonEngine(GameDetector *detector, OSystem *syst)
 	_debugMode = ConfMan.hasKey("debuglevel");
 	_debugLevel = ConfMan.getInt("debuglevel");
 	_language = Common::parseLanguage(ConfMan.get("language"));
-	_subtitles = ConfMan.getBool("subtitles");
 
+	if (!(_game & GF_SIMON2) && _language > 1) {
+		if (ConfMan.hasKey("_subtitles") && ConfMan.getBool("_subtitles") == 0)
+			_subtitles = 0;
+	} else
+		_subtitles = ConfMan.getBool("subtitles");
+
+	if (ConfMan.hasKey("fade") && ConfMan.getBool("fade") == 0)
+		_fade = 0;
 	if (ConfMan.hasKey("slow_down") && ConfMan.getInt("slow_down") >= 1)
 		_speed = ConfMan.getInt("slow_down");
 
@@ -2431,7 +2439,8 @@ void SimonEngine::o_fade_to_black() {
 		palette_fadeout((uint32 *)_video_buf_1 + 32 + 16 + 144 + 16, 48);
 
 		_system->set_palette(_video_buf_1, 0, 256);
-		_system->update_screen();
+		if (_fade)
+			_system->update_screen();
 		delay(5);
 	} while (--i);
 
diff --git a/simon/simon.h b/simon/simon.h
index e2c95f1829f..aaa402687a1 100644
--- a/simon/simon.h
+++ b/simon/simon.h
@@ -200,6 +200,7 @@ protected:
 	bool _dump_images;
 	bool _speech;
 	bool _subtitles;
+	bool _fade;
 	byte _mouse_cursor;
 	bool _vga_var9;
 	int16 _script_unk_1;
diff --git a/simon/vga.cpp b/simon/vga.cpp
index 8ae84de003e..d86970d16c3 100644
--- a/simon/vga.cpp
+++ b/simon/vga.cpp
@@ -1717,7 +1717,8 @@ void SimonEngine::vc_62_palette_thing() {
 		for (i = NUM_PALETTE_FADEOUT; i != 0; --i) {
 			palette_fadeout((uint32 *)_video_buf_1, _video_num_pal_colors);
 			_system->set_palette(_video_buf_1, 0, _video_num_pal_colors);
-			_system->update_screen();
+			if (_fade)
+				_system->update_screen();
 			delay(5);
 		}