GUI: Allow game option checkboxes to be disabled

Depending on other game option checkboxes. This is used to
enable/disable the semi-smooth scrolling checkboxes for FM Towns Loom,
since it's only used when smooth scrolling is enabled.
This commit is contained in:
Torbjörn Andersson 2022-03-28 09:50:07 +02:00 committed by Torbjörn Andersson
parent 0f4881214b
commit e06f3c9a5a
43 changed files with 471 additions and 152 deletions

View File

@ -53,7 +53,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("TV emulation"),
_s("Emulate composite output to an NTSC TV"),
"ntsc",
true
true,
0,
0
}
},
@ -63,7 +65,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Color graphics"),
_s("Use color graphics instead of monochrome"),
"color",
false
false,
0,
0
}
},
@ -73,7 +77,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Color graphics"),
_s("Use color graphics instead of monochrome"),
"color",
true
true,
0,
0
}
},
@ -83,7 +89,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Show scanlines"),
_s("Darken every other scanline to mimic the look of a CRT"),
"scanlines",
false
false,
0,
0
}
},
@ -93,7 +101,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Always use sharp monochrome text"),
_s("Do not emulate NTSC artifacts for text"),
"monotext",
true
true,
0,
0
}
},

View File

@ -252,7 +252,7 @@ struct ADExtraGuiOptionsMap {
ExtraGuiOption option; /*!< The associated option. */
};
#define AD_EXTRA_GUI_OPTIONS_TERMINATOR { 0, { 0, 0, 0, 0 } }
#define AD_EXTRA_GUI_OPTIONS_TERMINATOR { 0, { 0, 0, 0, 0, 0, 0 } }
/**
* A @ref MetaEngineDetection implementation based on the Advanced Detector code.

View File

@ -86,7 +86,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
@ -96,7 +98,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use an alternative palette"),
_s("Use an alternative palette, common for all Amiga games. This was the old behavior"),
"altamigapalette",
false
false,
0,
0
}
},
@ -106,7 +110,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Mouse support"),
_s("Enables mouse support. Allows to use mouse for movement and in game menus."),
"mousesupport",
true
true,
0,
0
}
},
@ -116,7 +122,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use Hercules hires font"),
_s("Uses Hercules hires font, when font file is available."),
"herculesfont",
false
false,
0,
0
}
},
@ -126,7 +134,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Pause when entering commands"),
_s("Shows a command prompt window and pauses the game (like in SCI) instead of a real-time prompt."),
"commandpromptwindow",
false
false,
0,
0
}
},
@ -136,7 +146,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Add speed menu"),
_s("Add game speed menu (similar to PC version)"),
"apple2gs_speedmenu",
false
false,
0,
0
}
},

View File

@ -52,7 +52,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Sitcom mode"),
_s("Game will add laughter after actor's line or narration"),
"sitcom",
false
false,
0,
0
}
},
{
@ -61,7 +63,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Shorty mode"),
_s("Game will shrink the actors and make their voices high pitched"),
"shorty",
false
false,
0,
0
}
},
{
@ -70,7 +74,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Frame limiter high performance mode"),
_s("This mode may result in high CPU usage! It avoids use of delayMillis() function."),
"nodelaymillisfl",
false
false,
0,
0
}
},
{
@ -79,7 +85,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Max frames per second limit"),
_s("This mode targets a maximum of 120 fps. When disabled, the game targets 60 fps"),
"frames_per_secondfl",
false
false,
0,
0
}
},
{
@ -88,7 +96,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Disable McCoy's quick stamina drain"),
_s("When running, McCoy won't start slowing down as soon as the player stops clicking the mouse"),
"disable_stamina_drain",
false
false,
0,
0
}
},
AD_EXTRA_GUI_OPTIONS_TERMINATOR

View File

@ -53,7 +53,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Skip support"),
_s("Allow cutscenes to be skipped"),
"skip_support",
true
true,
0,
0
}
},
AD_EXTRA_GUI_OPTIONS_TERMINATOR

View File

@ -113,7 +113,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Color Blind Mode"),
_s("Enable Color Blind Mode by default"),
"enable_color_blind",
false
false,
0,
0
}
},
@ -124,7 +126,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable Text to Speech"),
_s("Use TTS to read text in the game (if TTS is available)"),
"tts_enabled",
false
false,
0,
0
}
},
#endif

View File

@ -105,7 +105,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Color Blind Mode"),
_s("Enable Color Blind Mode by default"),
"enable_color_blind",
false
false,
0,
0
}
},
@ -116,7 +118,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable Text to Speech for Objects and Options"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled_objects",
false
false,
0,
0
}
},
@ -126,7 +130,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable Text to Speech for Subtitles"),
_s("Use TTS to read the subtitles (if TTS is available)"),
"tts_enabled_speech",
false
false,
0,
0
}
},
#endif

View File

@ -113,7 +113,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"original_menus",
false
false,
0,
0
}
},

View File

@ -51,7 +51,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
{
@ -60,7 +62,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use transparent dialog boxes in 16 color scenes"),
_s("Use transparent dialog boxes in 16 color scenes even if the original game version did not support them"),
"transparentdialogboxes",
false
false,
0,
0
}
},

View File

@ -382,14 +382,48 @@ ExtraGuiOptionsWidget::ExtraGuiOptionsWidget(GuiObject *containerBoss, const Com
for (uint i = 0; i < _options.size(); i++) {
Common::String id = Common::String::format("%d", i + 1);
uint32 cmd = _options[i].groupLeaderId ? kClickGroupLeaderCmd : 0;
_checkboxes.push_back(new CheckboxWidget(widgetsBoss(),
_dialogLayout + ".customOption" + id + "Checkbox", _(_options[i].label), _(_options[i].tooltip)));
_dialogLayout + ".customOption" + id + "Checkbox", _(_options[i].label), _(_options[i].tooltip), cmd));
}
}
ExtraGuiOptionsWidget::~ExtraGuiOptionsWidget() {
}
void ExtraGuiOptionsWidget::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) {
switch (cmd) {
case kClickGroupLeaderCmd: {
byte groupLeaderId = 0;
for (uint i = 0; i < _checkboxes.size(); i++) {
if (_checkboxes[i] == (CheckboxWidget *)sender) {
groupLeaderId = _options[i].groupLeaderId;
break;
}
}
if (!groupLeaderId)
break;
// We have found the "group leader" checkbox. Enable or disable
// all checkboxes in the group. Theoretically, this could mean
// that we disable another group leader, so its group should
// also be disabled. But that seems overkill for now.
for (uint i = 0; i < _options.size(); i++) {
if (_options[i].groupId == groupLeaderId) {
_checkboxes[i]->setEnabled(data != 0);
}
}
break;
}
default:
OptionsContainerWidget::handleCommand(sender, cmd, data);
break;
}
}
Common::String ExtraGuiOptionsWidget::dialogLayout(const Common::String &domain) {
if (ConfMan.getActiveDomainName().equals(domain)) {
return "GlobalConfig_Engine_Container";
@ -417,7 +451,7 @@ void ExtraGuiOptionsWidget::load() {
bool ExtraGuiOptionsWidget::save() {
// Set the state of engine-specific checkboxes
for (uint i = 0; i < _options.size() && i < _checkboxes.size(); i++) {
ConfMan.setBool(_options[i].configOption, _checkboxes[i]->getState(), _domain);
ConfMan.setBool(_options[i].configOption, _checkboxes[i]->isEnabled() && _checkboxes[i]->getState(), _domain);
}
return true;

View File

@ -93,10 +93,17 @@ private:
};
class ExtraGuiOptionsWidget : public OptionsContainerWidget {
public:
enum {
kClickGroupLeaderCmd = 'CGLC'
};
public:
ExtraGuiOptionsWidget(GuiObject *widgetsBoss, const Common::String &name, const Common::String &domain, const ExtraGuiOptions &options);
~ExtraGuiOptionsWidget() override;
virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
// OptionsContainerWidget API
void load() override;
bool save() override;

View File

@ -298,7 +298,9 @@ static const ExtraGuiOption drasculaExtraGuiOption = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
};
class DrasculaMetaEngineDetection : public AdvancedMetaEngineDetection {

View File

@ -54,7 +54,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
@ -64,7 +66,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Use bright palette mode"),
_s("Display graphics using the game's bright palette"),
"bright_palette",
true
true,
0,
0
}
},
@ -75,7 +79,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Enable Text to Speech for Objects, Options, and the Bible Quote"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled_objects",
false
false,
0,
0
}
},
@ -85,7 +91,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Enable Text to Speech for Subtitles"),
_s("Use TTS to read the subtitles (if TTS is available)"),
"tts_enabled_speech",
false
false,
0,
0
}
},
#endif

View File

@ -238,13 +238,17 @@ const ExtraGuiOptions GlkMetaEngineDetection::getExtraGuiOptions(const Common::S
_s("Enable Text to Speech"),
_s("Use TTS to read the text"),
"speak",
false
false,
0,
0
};
static const ExtraGuiOption ttsSpeakInputOptions = {
_s("Also read input text"),
_s("Use TTS to read the input text"),
"speak_input",
false
false,
0,
0
};
options.push_back(ttsSpeakOptions);
options.push_back(ttsSpeakInputOptions);

View File

@ -41,7 +41,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable Text to Speech"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled",
false
false,
0,
0
}
},
AD_EXTRA_GUI_OPTIONS_TERMINATOR

View File

@ -69,7 +69,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Load user patch (unsupported)"),
_s("Load an user patch. Please note that the ScummVM team doesn't provide support for using such patches."),
"datausr_load",
false
false,
0,
0
}
},
{
@ -78,7 +80,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Show FPS"),
_s("Show the current FPS-rate, while you play."),
"show_fps",
false
false,
0,
0
}
},

View File

@ -275,7 +275,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Fast movie speed"),
_s("Play movies at an increased speed"),
"fast_movie_speed",
false
false,
0,
0
}
},
@ -285,7 +287,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
@ -295,7 +299,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Easier AI"),
_s("Decrease the difficulty of AI puzzles"),
"easier_ai",
false
false,
0,
0
}
},
@ -305,7 +311,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Updated Credits Music"),
_s("Play the song The Final Hour during the credits instead of reusing MIDI songs"),
"credits_music",
false
false,
0,
0
}
},

View File

@ -123,7 +123,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable cheat mode"),
_s("Debug info and level selection becomes available"),
"hypercheat",
false
false,
0,
0
}
},

View File

@ -46,7 +46,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Gore Mode"),
_s("Enable Gore Mode when available"),
"enable_gore",
false
false,
0,
0
}
},
@ -56,7 +58,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Gore Mode"),
_s("Enable Gore Mode when available"),
"enable_gore",
true
true,
0,
0
}
},

View File

@ -190,14 +190,18 @@ static const ExtraGuiOption hypnoExtraGuiOptionCheats = {
_s("Enable cheats"),
_s("Allow cheats using the C key."),
"cheats",
false
false,
0,
0
};
static const ExtraGuiOption hypnoExtraGuiOptionRestoredContent = {
_s("Enable restored content"),
_s("Add additional content that is not enabled the original implementation."),
"restored",
false
false,
0,
0
};
class HypnoMetaEngineDetection : public AdvancedMetaEngineDetection {

View File

@ -61,7 +61,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Studio audience"),
_s("Enable studio audience"),
"studio_audience",
true
true,
0,
0
}
},
@ -72,7 +74,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Skip support"),
_s("Allow text and cutscenes to be skipped"),
"skip_support",
true
true,
0,
0
}
},
@ -83,7 +87,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Helium mode"),
_s("Enable helium mode"),
"helium_mode",
false
false,
0,
0
}
},
@ -97,7 +103,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Smooth scrolling"),
_s("Enable smooth scrolling when walking"),
"smooth_scrolling",
true
true,
0,
0
}
},
@ -110,7 +118,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Floating cursors"),
_s("Enable floating cursors"),
"floating_cursors",
false
false,
0,
0
}
},
@ -122,7 +132,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Suggest save names"),
_s("Autogenerated naming suggestions for savegames"),
"auto_savenames",
false
false,
0,
0
}
},
@ -135,7 +147,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("HP bar graphs"),
_s("Enable hit point bar graphs"),
"hpbargraphs",
true
true,
0,
0
}
},
@ -146,7 +160,9 @@ const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Fight Button L/R Swap"),
_s("Left button to attack, right button to pick up items"),
"mousebtswap",
false
false,
0,
0
}
},

View File

@ -44,7 +44,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("TTS Narrator"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_narrator",
false
false,
0,
0
}
},

View File

@ -62,7 +62,9 @@ static const ExtraGuiOption introMusicDigital = {
_s("Play a digital soundtrack during the opening movie"),
_s("If selected, the game will use a digital soundtrack during the introduction. Otherwise, it will play MIDI music."),
"intro_music_digital",
true
true,
0,
0
};
const ExtraGuiOptions MadeMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {

View File

@ -62,7 +62,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Easy mouse interface"),
_s("Shows object names when hovering the mouse over them"),
"EasyMouse",
true
true,
0,
0
}
},
@ -72,7 +74,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Animated inventory items"),
_s("Animated inventory items"),
"InvObjectsAnimated",
true
true,
0,
0
}
},
@ -82,7 +86,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Animated game interface"),
_s("Animated game interface"),
"TextWindowAnimated",
true
true,
0,
0
}
},
@ -92,7 +98,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Naughty game mode"),
_s("Naughty game mode"),
"NaughtyMode",
true
true,
0,
0
}
},
@ -102,7 +110,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Graphics dithering"),
_s("Graphics dithering"),
"GraphicsDithering",
true
true,
0,
0
}
},*/
@ -113,7 +123,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("TTS Narrator"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_narrator",
false
false,
0,
0
}
},
#endif

View File

@ -71,6 +71,8 @@ struct ExtraGuiOption {
const char *tooltip; /*!< Option tooltip shown when the mouse cursor hovers over it. */
const char *configOption; /*!< confMan key, e.g. "fullscreen". */
bool defaultState; /*!< Default state of the checkbox (checked or not). */
byte groupId; /*!< Id for the checkbox's group, or 0 for no group. */
byte groupLeaderId; /*!< When this checkbox is unchecked, disable all checkboxes in this group. One leader per group. */
};
/**

View File

@ -212,7 +212,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Widescreen mod"),
_s("Enable widescreen rendering in fullscreen mode."),
"widescreen_mod",
false
false,
0,
0
}
},

View File

@ -134,21 +134,27 @@ static const ExtraGuiOption neverhoodExtraGuiOption1 = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
};
static const ExtraGuiOption neverhoodExtraGuiOption2 = {
_s("Skip the Hall of Records storyboard scenes"),
_s("Allows the player to skip past the Hall of Records storyboard scenes"),
"skiphallofrecordsscenes",
false
false,
0,
0
};
static const ExtraGuiOption neverhoodExtraGuiOption3 = {
_s("Scale the making of videos to full screen"),
_s("Scale the making of videos, so that they use the whole screen"),
"scalemakingofvideos",
false
false,
0,
0
};

View File

@ -44,7 +44,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Alternative intro"),
_s("Use an alternative game intro (CD version only)"),
"alt_intro",
false
false,
0,
0
}
},

View File

@ -31,7 +31,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Skip EGA dithering pass (full color backgrounds)"),
_s("Skip dithering pass in EGA games, graphics are shown with full colors"),
"disable_dithering",
false
false,
0,
0
}
},
@ -41,7 +43,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable high resolution graphics"),
_s("Enable high resolution graphics/content"),
"enable_high_resolution_graphics",
true
true,
0,
0
}
},
@ -51,7 +55,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable black-lined video"),
_s("Draw black lines over videos to increase their apparent sharpness"),
"enable_black_lined_video",
false
false,
0,
0
}
},
@ -62,7 +68,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use high-quality video scaling"),
_s("Use linear interpolation when upscaling videos, where possible"),
"enable_hq_video",
true
true,
0,
0
}
},
#endif
@ -73,7 +81,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use high-quality \"LarryScale\" cel scaling"),
_s("Use special cartoon scaler for drawing character sprites"),
"enable_larryscale",
true
true,
0,
0
}
},
@ -83,7 +93,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Prefer digital sound effects"),
_s("Prefer digital sound effects instead of synthesized ones"),
"prefer_digitalsfx",
true
true,
0,
0
}
},
@ -93,7 +105,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
// Jones in the Fast Lane - CD audio tracks or resource.snd
@ -103,7 +117,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use CD audio"),
_s("Use CD audio instead of in-game audio, if available"),
"use_cdaudio",
true
true,
0,
0
}
},
@ -114,7 +130,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use Windows cursors"),
_s("Use the Windows cursors (smaller and monochrome) instead of the DOS ones"),
"windows_cursors",
false
false,
0,
0
}
},
@ -125,7 +143,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use silver cursors"),
_s("Use the alternate set of silver cursors instead of the normal golden ones"),
"silver_cursors",
false
false,
0,
0
}
},
@ -136,7 +156,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable content censoring"),
_s("Enable the game's built-in optional content censoring"),
"enable_censoring",
false
false,
0,
0
}
},
@ -147,7 +169,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Upscale videos"),
_s("Upscale videos to double their size"),
"enable_video_upscale",
true
true,
0,
0
}
},
@ -158,7 +182,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use RGB rendering"),
_s("Use RGB rendering to improve screen transitions"),
"rgb_rendering",
false
false,
0,
0
}
},
@ -169,7 +195,9 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Use per-resource modified palettes"),
_s("Use custom per-resource palettes to improve visuals"),
"palette_mods",
false
false,
0,
0
}
},
@ -180,19 +208,23 @@ const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable bearded musicians"),
_s("Enable graphics that were disabled for legal reasons"),
"enable_bearded_musicians",
false
false,
0,
0
}
},
#ifdef USE_TTS
{
GAMEOPTION_TTS,
{
_s("Enable Text to Speech"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled",
false
}
{
GAMEOPTION_TTS,
{
_s("Enable Text to Speech"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled",
false,
0,
0
}
},
#endif

View File

@ -175,49 +175,63 @@ static const ExtraGuiOption comiObjectLabelsOption = {
_s("Show Object Line"),
_s("Show the names of objects at the bottom of the screen"),
"object_labels",
true
true,
0,
0
};
static const ExtraGuiOption mmnesObjectLabelsOption = {
_s("Use NES Classic Palette"),
_s("Use a more neutral color palette that closely emulates the NES Classic"),
"mm_nes_classic_palette",
false
false,
0,
0
};
static const ExtraGuiOption fmtownsTrimTo200 = {
_s("Trim FM-TOWNS games to 200 pixels height"),
_s("Cut the extra 40 pixels at the bottom of the screen, to make it standard 200 pixels height, allowing using 'aspect ratio correction'"),
"trim_fmtowns_to_200_pixels",
false
false,
0,
0
};
static const ExtraGuiOption macV3LowQualityMusic = {
_s("Play simplified music"),
_s("This music was presumably intended for low-end Macs, and uses only one channel."),
"mac_v3_low_quality_music",
false
false,
0,
0
};
static const ExtraGuiOption smoothScrolling = {
_s("Enable smooth scrolling"),
_s("(instead of the normal 8-pixels steps scrolling)"),
"smooth_scroll",
true
true,
0,
1
};
static const ExtraGuiOption semiSmoothScrolling = {
_s("Allow semi-smooth scrolling"),
_s("Allow scrolling to be less smooth during the fast camera movement in the intro."),
"semi_smooth_scroll",
false
false,
1,
0
};
static const ExtraGuiOption enableEnhancements {
_s("Enable game-specific enhancements"),
_s("Allow ScummVM to make small enhancements to the game, usually based on other versions of the same game."),
"enable_enhancements",
true
true,
0,
0
};
const ExtraGuiOptions ScummMetaEngineDetection::getExtraGuiOptions(const Common::String &target) const {

View File

@ -58,7 +58,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
@ -68,7 +70,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Pixellated scene transitions"),
_s("When changing scenes, a randomized pixel transition is done"),
"fade_style",
true
true,
0,
0
}
},
@ -78,7 +82,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Don't show hotspots when moving mouse"),
_s("Only show hotspot names after you actually click on a hotspot or action button"),
"help_style",
false
false,
0,
0
}
},
@ -88,7 +94,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Show character portraits"),
_s("Show portraits for the characters when conversing"),
"portraits_on",
true
true,
0,
0
}
},
@ -98,7 +106,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Slide dialogs into view"),
_s("Slide UI dialogs into view, rather than simply showing them immediately"),
"window_style",
true
true,
0,
0
}
},
@ -108,7 +118,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Transparent windows"),
_s("Show windows with a partially transparent background"),
"transparent_windows",
true
true,
0,
0
}
},
@ -119,7 +131,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("TTS Narrator"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_narrator",
false
false,
0,
0
}
},
#endif

View File

@ -36,7 +36,9 @@ static const ExtraGuiOption skyExtraGuiOption = {
_s("Floppy intro"),
_s("Use the floppy version's intro (CD version only)"),
"alt_intro",
false
false,
0,
0
};
struct SkyVersion {

View File

@ -375,7 +375,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Load modded assets"),
_s("Enable loading of external replacement assets."),
"enable_assets_mod",
true
true,
0,
0
}
},
{
@ -384,7 +386,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable linear filtering of the backgrounds images"),
_s("When linear filtering is enabled the background graphics are smoother in full screen mode, at the cost of some details."),
"use_linear_filtering",
true
true,
0,
0
}
},
{
@ -393,7 +397,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable font anti-aliasing"),
_s("When font anti-aliasing is enabled, the text is smoother."),
"enable_font_antialiasing",
true
true,
0,
0
}
},

View File

@ -41,7 +41,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Improved mode"),
_s("Removes some repetitive actions, adds possibility to change verbs by keyboard"),
"improved",
true
true,
0,
0
}
},
@ -51,7 +53,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable Text to Speech"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled",
false
false,
0,
0
}
},

View File

@ -32,7 +32,9 @@ static const ExtraGuiOption sword2ExtraGuiOption = {
_s("Show object labels"),
_s("Show labels for objects on mouse hover"),
"object_labels",
false
false,
0,
0
};
class Sword2MetaEngineDetection : public MetaEngineDetection {

View File

@ -47,7 +47,9 @@ static const ExtraGuiOption sword25ExtraGuiOption = {
_s("Use English speech"),
_s("Use English speech instead of German for every language other than German"),
"english_speech",
false
false,
0,
0
};
class Sword25MetaEngineDetection : public AdvancedMetaEngineDetection {

View File

@ -212,7 +212,9 @@ static const ExtraGuiOption toltecsExtraGuiOption = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
};
class ToltecsMetaEngineDetection : public AdvancedMetaEngineDetection {

View File

@ -219,7 +219,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
AD_EXTRA_GUI_OPTIONS_TERMINATOR

View File

@ -673,7 +673,9 @@ static const ExtraGuiOption OptWallCollision = {
_s("Enable wall collisions"),
_s("Enable the original wall collision damage"),
"wallcollision",
false
false,
0,
0
};
// this only changes the menu and doesn't change the autosave behaviour - as scummvm is handling this now
@ -681,70 +683,90 @@ static const ExtraGuiOption OptDisableSaveMenu = {
_s("Disable save menu"),
_s("The original only had autosaves. This allows you to save whenever you want."),
"useautosaving",
false
false,
0,
0
};
static const ExtraGuiOption OptDebug = {
_s("Enable debug mode"),
_s("Enable the debug mode"),
"debug",
false
false,
0,
0
};
static const ExtraGuiOption OptUseCD = {
_s("Enable audio CD"),
_s("Enable the original audio cd track"),
"usecd",
false
false,
0,
0
};
static const ExtraGuiOption OptSound = {
_s("Enable sound"),
_s("Enable the sound for the game"),
"sound",
true
true,
0,
0
};
static const ExtraGuiOption OptVoices = {
_s("Enable voices"),
_s("Enable the voices for the game"),
"voice",
true
true,
0,
0
};
static const ExtraGuiOption OptText = {
_s("Enable text"),
_s("Enable the text for the game"),
"displaytext",
true
true,
0,
0
};
static const ExtraGuiOption OptMovies = {
_s("Enable movies"),
_s("Enable the cutscenes for the game"),
"movie",
true
true,
0,
0
};
static const ExtraGuiOption OptMouse = {
_s("Enable mouse"),
_s("Enable the mouse for the UI"),
"mouse",
true
true,
0,
0
};
static const ExtraGuiOption OptUSAVersion = {
_s("Use the USA version"),
_s("Enable the USA specific version flags"),
"version",
false
false,
0,
0
};
static const ExtraGuiOption OptHighRes = {
_s("Enable high resolution"),
_s("Enable a higher resolution for the game"),
"usehighres",
false
false,
0,
0
};
#ifdef USE_TTS
@ -752,7 +774,9 @@ static const ExtraGuiOption OptTextToSpeech = {
_s("TTS Narrator"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_narrator",
false
false,
0,
0
};
#endif

View File

@ -55,7 +55,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
AD_EXTRA_GUI_OPTIONS_TERMINATOR
@ -66,27 +68,35 @@ static const ExtraGuiOption COMMON_OPTIONS[] = {
_s("Enable frame skipping"),
_s("Allow the game to skip animation frames when running too slow."),
"frameSkip",
false
false,
0,
0
},
{
_s("Enable frame limiting"),
_s("Limits the speed of the game to prevent running too fast."),
"frameLimit",
true
true,
0,
0
},
{
_s("Enable cheats"),
_s("Allow cheats by commands and a menu when player is clicked."),
"cheat",
false
false,
0,
0
},
{
_s("Enable high resolution"),
_s("Enable a higher resolution for the game"),
"usehighres",
false
false,
0,
0
},
{ nullptr, nullptr, nullptr, false }
{ nullptr, nullptr, nullptr, false, 0, 0 }
};
static const ExtraGuiOption U8_OPTIONS[] = {
@ -94,33 +104,43 @@ static const ExtraGuiOption U8_OPTIONS[] = {
_s("Play foot step sounds"),
_s("Plays sound when the player moves."),
"footsteps",
true
true,
0,
0
},
{
_s("Enable jump to mouse position"),
_s("Jumping while not moving targets the mouse cursor rather than direction only."),
"targetedjump",
true
true,
0,
0
},
{
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
},
{
_s("Enable font replacement"),
_s("Replaces game fonts with rendered fonts"),
"font_override",
false
false,
0,
0
},
{
_s("Enable font anti-aliasing"),
_s("When font anti-aliasing is enabled, the text is smoother."),
"font_antialiasing",
false
false,
0,
0
},
{ nullptr, nullptr, nullptr, false }
{ nullptr, nullptr, nullptr, false, 0, 0 }
};
static const ExtraGuiOption CAMERA_WITH_SILENCER = {
@ -128,12 +148,14 @@ static const ExtraGuiOption CAMERA_WITH_SILENCER = {
_s("Camera moves with Silencer"),
_s("Camera tracks the player movement rather than snapping to defined positions."),
"camera_on_player",
true
true,
0,
0
};
static const ExtraGuiOption REMORSE_OPTIONS[] = {
CAMERA_WITH_SILENCER,
{ nullptr, nullptr, nullptr, false }
{ nullptr, nullptr, nullptr, false, 0, 0 }
};
static const ExtraGuiOption REGRET_OPTIONS[] = {
@ -142,9 +164,11 @@ static const ExtraGuiOption REGRET_OPTIONS[] = {
_s("Always enable Christmas easter-egg"),
_s("Enable the Christmas music at any time of year."),
"always_christmas",
true
true,
0,
0
},
{ nullptr, nullptr, nullptr, false }
{ nullptr, nullptr, nullptr, false, 0, 0 }
};
} // End of namespace Ultima

View File

@ -52,7 +52,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Show FPS-counter"),
_s("Show the current number of frames per second in the upper left corner"),
"show_fps",
false
false,
0,
0
},
},
@ -62,7 +64,9 @@ static const ADExtraGuiOptionsMap gameGuiOptions[] = {
_s("Sprite bilinear filtering (SLOW)"),
_s("Apply bilinear filtering to individual sprites"),
"bilinear_filtering",
false
false,
0,
0
}
},

View File

@ -55,7 +55,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Show item costs in standard inventory mode"),
_s("Shows item costs in standard inventory mode, allowing the value of items to be compared"),
"ShowItemCosts",
false
false,
0,
0
}
},
@ -65,7 +67,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("More durable armor"),
_s("Armor won't break until character is at -80HP, rather than merely -10HP"),
"DurableArmor",
false
false,
0,
0
}
},

View File

@ -50,7 +50,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use original save/load screens"),
_s("Use the original save/load screens instead of the ScummVM ones"),
"originalsaveload",
false
false,
0,
0
}
},
@ -60,7 +62,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Double FPS"),
_s("Increase framerate from 30 to 60 FPS"),
"doublefps",
false
false,
0,
0
}
},
@ -70,7 +74,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Enable Venus"),
_s("Enable the Venus help system"),
"venusenabled",
true
true,
0,
0
}
},
@ -80,7 +86,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Disable animation while turning"),
_s("Disable animation while turning in panorama mode"),
"noanimwhileturning",
false
false,
0,
0
}
},
@ -90,7 +98,9 @@ static const ADExtraGuiOptionsMap optionsList[] = {
_s("Use high resolution MPEG video"),
_s("Use MPEG video from the DVD version instead of lower resolution AVI"),
"mpegmovies",
true
true,
0,
0
}
},