aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/gameDetector.cpp16
-rw-r--r--common/gameDetector.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/common/gameDetector.cpp b/common/gameDetector.cpp
index 1698d1f8fe..312102aa58 100644
--- a/common/gameDetector.cpp
+++ b/common/gameDetector.cpp
@@ -83,6 +83,9 @@ static const char USAGE_STRING[] =
"\t--multi-midi - enable combination Adlib and native MIDI\n"
"\t--native-mt32 - true Roland MT-32 (disable GM emulation)\n"
"\t--aspect-ratio - enable aspect ratio correction\n"
+#ifndef DISABLE_SKY
+ "\t--floppy-intro - Use floppy version intro for Beneath a Steel Sky CD\n"
+#endif
"\n"
"The meaning of long options can be inverted by prefixing them with \"no-\",\n"
"e.g. \"--no-aspect-ratio\".\n"
@@ -163,6 +166,10 @@ GameDetector::GameDetector() {
_amiga = false;
_language = 0;
+#ifndef DISABLE_SKY
+ _floppyIntro = false;
+#endif
+
_talkSpeed = 60;
_debugMode = 0;
_debugLevel = 0;
@@ -260,6 +267,10 @@ void GameDetector::updateconfig() {
exit(-1);
}
+#ifndef DISABLE_SKY
+ _floppyIntro = g_config->getBool("floppy_intro", _floppyIntro);
+#endif
+
if ((val = g_config->get("language")))
if ((_language = parseLanguage(val)) == -1) {
printf("Error in the config file: invalid language.\n");
@@ -469,6 +480,11 @@ void GameDetector::parseCommandLine(int argc, char **argv) {
} else if (!strcmp (s, "aspect-ratio")) {
_aspectRatio = long_option_value;
g_config->setBool ("aspect_ratio", _aspectRatio);
+#ifndef DISABLE_SKY
+ } else if (!strcmp (s, "floppy-intro")) {
+ _floppyIntro = long_option_value;
+ g_config->setBool ("floppy_intro", _floppyIntro);
+#endif
} else {
goto ShowHelpAndExit;
}
diff --git a/common/gameDetector.h b/common/gameDetector.h
index 697d05c7c4..a563c3c9e9 100644
--- a/common/gameDetector.h
+++ b/common/gameDetector.h
@@ -120,6 +120,8 @@ public:
bool _amiga;
int _language;
+ bool _floppyIntro;
+
uint16 _talkSpeed;
uint16 _debugMode;
uint16 _debugLevel;