aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/detection.cpp')
-rw-r--r--engines/kyra/detection.cpp86
1 files changed, 85 insertions, 1 deletions
diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index 46dfec84ff..be4523a2e0 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -30,6 +30,7 @@
#include "common/config-manager.h"
#include "common/system.h"
#include "common/savefile.h"
+#include "common/translation.h"
#include "engines/advancedDetector.h"
@@ -50,11 +51,94 @@ const char *const directoryGlobs[] = {
0
};
+const ADExtraGuiOptionsMap gameGuiOptions[] = {
+ // Kyrandia 3 options
+
+ // I18N: Studio audience adds an applause and cheering sounds whenever
+ // Malcolm makes a joke.
+ {
+ GAMEOPTION_KYRA3_AUDIENCE,
+ {
+ _s("Studio audience"),
+ _s("Enable studio audience"),
+ "studio_audience",
+ true
+ }
+ },
+
+ // I18N: When enabled, this option allows the user to skip text and cutscenes.
+ {
+ GAMEOPTION_KYRA3_SKIP,
+ {
+ _s("Skip support"),
+ _s("Allow text and cutscenes to be skipped"),
+ "skip_support",
+ true
+ }
+ },
+
+ // I18N: Helium mode makes people sound like they've inhaled Helium.
+ {
+ GAMEOPTION_KYRA3_HELIUM,
+ {
+ _s("Helium mode"),
+ _s("Enable helium mode"),
+ "helium_mode",
+ false
+ }
+ },
+
+#ifdef ENABLE_LOL
+ // LoL options
+
+ // I18N: When enabled, this option makes scrolling smoother when changing
+ // from one screen to another.
+ {
+ GAMEOPTION_LOL_SCROLLING,
+ {
+ _s("Smooth scrolling"),
+ _s("Enable smooth scrolling when walking"),
+ "smooth_scrolling",
+ true
+ }
+ },
+
+ // I18N: When enabled, this option changes the cursor when it floats to the
+ // edge of the screen to a directional arrow. The player can then click to
+ // walk towards that direction.
+ {
+ GAMEOPTION_LOL_CURSORS,
+ {
+ _s("Floating cursors"),
+ _s("Enable floating cursors"),
+ "floating_cursors",
+ false
+ }
+ },
+#endif
+
+#ifdef ENABLE_EOB
+ // EoB options
+
+ {
+ GAMEOPTION_EOB_HPGRAPHS,
+ {
+ _s("HP bar graphs"),
+ _s("Enable hit point bar graphs"),
+ "hpbargraphs",
+ true
+ }
+ },
+#endif
+
+ AD_EXTRA_GUI_OPTIONS_TERMINATOR
+};
+
} // End of anonymous namespace
class KyraMetaEngine : public AdvancedMetaEngine {
public:
- KyraMetaEngine() : AdvancedMetaEngine(adGameDescs, sizeof(KYRAGameDescription), gameList) {
+ KyraMetaEngine() : AdvancedMetaEngine(adGameDescs, sizeof(KYRAGameDescription), gameList, gameGuiOptions) {
_md5Bytes = 1024 * 1024;
_maxScanDepth = 2;
_directoryGlobs = directoryGlobs;