Help text translation through Crowdin, phase 1.

Help texts can be activated for some menu items using Select / RShift.
These text items were hardcoded in msg_hash_us.c (and related translations).
This commit changes the simple text items to get the source from msg_hash_us.h
(or its translations).
This commit is contained in:
zoltanvb 2023-01-02 08:07:54 +01:00 committed by LibretroAdmin
parent 3047561621
commit a5431dd965
3 changed files with 405 additions and 599 deletions

View File

@ -62,6 +62,9 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
"When slot is not 0, path will be <path><d>, \n"
"where <d> is slot number.");
break;
case RARCH_ENABLE_HOTKEY:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_ENABLE_HOTKEY), len);
break;
default:
if (string_is_empty(s))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
@ -74,206 +77,94 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
switch (msg)
{
case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
snprintf(s, len, "Login details for your \n"
"Retro Achievements account. \n"
" \n"
"Visit retroachievements.org and sign up \n"
"for a free account. \n"
" \n"
"After you are done registering, you need \n"
"to input the username and password into \n"
"RetroArch.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_ACCOUNTS_RETRO_ACHIEVEMENTS), len);
break;
case MENU_ENUM_LABEL_USER_LANGUAGE:
snprintf(s, len, "Localizes the menu and all onscreen messages \n"
"according to the language you have selected \n"
"here. \n"
" \n"
"Requires a restart for the changes \n"
"to take effect. \n"
" \n"
"Note: not all languages might be currently \n"
"implemented. \n"
" \n"
"In case a language is not implemented, \n"
"we fallback to English.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_USER_LANGUAGE), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
snprintf(s, len, "Configuration file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_CONFIG), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
snprintf(s, len, "Compressed archive file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_COMPRESSED_ARCHIVE), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
snprintf(s, len, "Recording configuration file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_RECORD_CONFIG), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
snprintf(s, len, "Database cursor file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_CURSOR), len);
break;
case MENU_ENUM_LABEL_FILE_CONFIG:
snprintf(s, len, "Configuration file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_CONFIG), len);
break;
case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
snprintf(s, len,
"Select this to scan the current directory \n"
"for content.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_SCAN_THIS_DIRECTORY), len);
break;
case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
snprintf(s, len,
"Select this to set this as the directory.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_USE_THIS_DIRECTORY), len);
break;
case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
snprintf(s, len,
"Some cores might have \n"
"a shutdown feature. \n"
" \n"
"If this option is left disabled, \n"
"selecting the shutdown procedure \n"
"would trigger RetroArch being shut \n"
"down. \n"
" \n"
"Enabling this option will load a \n"
"dummy core instead so that we remain \n"
"inside the menu and RetroArch won't \n"
"shutdown.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_DUMMY_ON_CORE_SHUTDOWN), len);
break;
case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
snprintf(s, len,
"Some cores might need \n"
"firmware or bios files. \n"
" \n"
"If this option is disabled, \n"
"it will try to load even if such \n"
"firmware is missing.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_CHECK_FOR_MISSING_FIRMWARE), len);
break;
case MENU_ENUM_LABEL_PARENT_DIRECTORY:
snprintf(s, len,
"Go back to the parent directory.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_PARENT_DIRECTORY), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS:
snprintf(s, len,
"Open Windows permission settings to enable \n"
"the broadFileSystemAccess capability.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_OPEN_UWP_PERMISSIONS), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
snprintf(s, len,
"Shader preset file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_SHADER_PRESET), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
snprintf(s, len,
"Shader file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_SHADER), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
snprintf(s, len,
"Remap controls file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_REMAP), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
snprintf(s, len,
"Cheat file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_CHEAT), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
snprintf(s, len,
"Overlay file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_OVERLAY), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
snprintf(s, len,
"Database file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_RDB), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
snprintf(s, len,
"TrueType font file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_FONT), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
snprintf(s, len,
"Plain file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_PLAIN_FILE), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
snprintf(s, len,
"Video. \n"
" \n"
"Select it to open this file with the \n"
"video player.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_MOVIE_OPEN), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
snprintf(s, len,
"Music. \n"
" \n"
"Select it to open this file with the \n"
"music player.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_MUSIC_OPEN), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
snprintf(s, len,
"Image file.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_IMAGE), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
snprintf(s, len,
"Image. \n"
" \n"
"Select it to open this file with the \n"
"image viewer.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
snprintf(s, len,
"Libretro core. \n"
" \n"
"Selecting this will associate this core \n"
"to the game.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
snprintf(s, len,
"Libretro core. \n"
" \n"
"Select this file to have RetroArch load this core.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_CORE), len);
break;
case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
snprintf(s, len,
"Directory. \n"
" \n"
"Select it to open this directory.");
break;
case MENU_ENUM_LABEL_CACHE_DIRECTORY:
snprintf(s, len,
"Cache Directory. \n"
" \n"
"Content decompressed by RetroArch will be \n"
"temporarily extracted to this directory.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FILE_BROWSER_DIRECTORY), len);
break;
case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
snprintf(s, len,
"Influence how input polling is done inside \n"
"RetroArch. \n"
" \n"
"Early - Input polling is performed before \n"
"the frame is processed. \n"
"Normal - Input polling is performed when \n"
"polling is requested. \n"
"Late - Input polling is performed on \n"
"first input state request per frame.\n"
" \n"
"Setting it to 'Early' or 'Late' can result \n"
"in less latency, \n"
"depending on your configuration.\n\n"
"Will be ignored when using netplay.");
break;
case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
snprintf(s, len,
"Offset for where messages will be placed \n"
"onscreen. Values are in range [0.0, 1.0].");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_INPUT_POLL_TYPE_BEHAVIOR), len);
break;
case MENU_ENUM_LABEL_CORE_LIST:
snprintf(s, len,
"Load Core. \n"
" \n"
"Browse for a libretro core \n"
"implementation. Where the browser \n"
"starts depends on your Core Directory \n"
"path. If blank, it will start in root. \n"
" \n"
"If Core Directory is a directory, the menu \n"
"will use that as top folder. If Core \n"
"Directory is a full path, it will start \n"
"in the folder where the file is.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_CORE_LIST), len);
break;
case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
snprintf(s, len,
@ -386,35 +277,10 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
}
break;
case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
snprintf(s, len,
"Load Content. \n"
"Browse for content. \n"
" \n"
"To load content, you need a \n"
"'Core' to use, and a content file. \n"
" \n"
"To control where the menu starts \n"
"to browse for content, set \n"
"'File Browser Directory'. \n"
"If not set, it will start in root. \n"
" \n"
"The browser will filter out \n"
"extensions for the last core set \n"
"in 'Load Core', and use that core \n"
"when content is loaded.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_LOAD_CONTENT_LIST), len);
break;
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
snprintf(s, len,
"Loading content from history. \n"
" \n"
"As content is loaded, content and libretro \n"
"core combinations are saved to history. \n"
" \n"
"The history is saved to a file in the same \n"
"directory as the RetroArch config file. If \n"
"no config file was loaded in startup, history \n"
"will not be saved or loaded, and will not exist \n"
"in the main menu.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_LOAD_CONTENT_HISTORY), len);
break;
case MENU_ENUM_LABEL_VIDEO_DRIVER:
{
@ -518,79 +384,16 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
snprintf(s, len,
"Load Shader Preset. \n"
" \n"
" Load a shader preset directly. \n"
"The menu shader menu is updated accordingly. \n"
" \n"
"If the preset uses scaling methods which are nott \n"
"simple, (i.e. source scaling, same scaling \n"
"factor for X/Y), the scaling factor displayed \n"
"in the menu might not be correct.");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PREPEND:
snprintf(s, len,
"Prepend Shader Preset. \n"
" \n"
" Prepend a shader preset before the currently \n"
"loaded one. \n");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_APPEND:
snprintf(s, len,
"Append Shader Preset. \n"
" \n"
" Append a shader preset after the currently \n"
"loaded one. \n");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_SHADER_PRESET), len);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
snprintf(s, len,
"Scale for this pass. \n"
" \n"
"The scale factor accumulates, i.e. 2x \n"
"for first pass and 2x for second pass \n"
"will give you a 4x total scale. \n"
" \n"
"If there is a scale factor for last \n"
"pass, the result is stretched to \n"
"screen with the filter specified in \n"
"'Default Filter'. \n"
" \n"
"If 'Don't Care' is set, either 1x \n"
"scale or stretch to fullscreen will \n"
"be used depending if it's not the last \n"
"pass or not.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_SHADER_SCALE_PASS), len);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
snprintf(s, len,
"Shader Passes. \n"
" \n"
"RetroArch allows you to mix and match various \n"
"shaders with arbitrary shader passes, with \n"
"custom hardware filters and scale factors. \n"
" \n"
"This option specifies the number of shader \n"
"passes to use. If you set this to 0, and use \n"
"Apply Shader Changes, you use a 'blank' shader. \n"
" \n"
"The Default Filter option will affect the \n"
"stretching filter.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_SHADER_NUM_PASSES), len);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
snprintf(s, len,
"Path to shader. \n"
" \n"
"All shaders must be of the same \n"
"type (i.e. CG, GLSL or HLSL). \n"
" \n"
"Set Shader Directory to set where \n"
"the browser starts to look for \n"
"shaders.");
break;
case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
snprintf(s, len,
"Determines how configuration files \n"
"are loaded and prioritized.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_SHADER_PASS), len);
break;
case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
snprintf(s, len,
@ -615,93 +418,22 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
snprintf(s, len,
"Hardware filter for this pass. \n"
" \n"
"If 'Don't Care' is set, 'Default \n"
"Filter' will be used.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_SHADER_FILTER_PASS), len);
break;
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
snprintf(s, len,
"Autosaves the non-volatile SRAM \n"
"at a regular interval.\n"
" \n"
"This is disabled by default unless set \n"
"otherwise. The interval is measured in \n"
"seconds. \n"
" \n"
"A value of 0 disables autosave.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_AUTOSAVE_INTERVAL), len);
break;
case MENU_ENUM_LABEL_VALUE_INPUT_ADC_TYPE:
snprintf(s, len,
"Map specified analog stick for D-Pad input. \n"
" \n"
"If core has native analog support, "
"D-Pad mapping will be disabled unless a "
"'(Forced)' option is selected. \n"
" \n"
"If D-Pad mapping is forced, core will "
"receive no analog input from "
"specified stick.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_INPUT_ADC_TYPE), len);
break;
case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
snprintf(s, len,
"Sets log level for libretro cores \n"
"(GET_LOG_INTERFACE). \n"
" \n"
" If a log level issued by a libretro \n"
" core is below libretro_log level, it \n"
" is ignored.\n"
" \n"
" DEBUG logs are always ignored unless \n"
" verbose mode is activated (--verbose).\n"
" \n"
" DEBUG = 0\n"
" INFO = 1\n"
" WARN = 2\n"
" ERROR = 3");
break;
case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
snprintf(s, len,
"State slots.\n"
" \n"
" With slot set to 0, save state name is *.state \n"
" (or whatever defined on commandline).\n"
"When slot is != 0, path will be (path)(d), \n"
"where (d) is slot number.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_LIBRETRO_LOG_LEVEL), len);
break;
case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
snprintf(s, len,
"Apply Shader Changes. \n"
" \n"
"After changing shader settings, use this to \n"
"apply changes. \n"
" \n"
"Changing shader settings is a somewhat \n"
"expensive operation so it has to be \n"
"done explicitly. \n"
" \n"
"When you apply shaders, the menu shader \n"
"settings are saved to a temporary file (either \n"
"menu.cgp or menu.glslp) and loaded. The file \n"
"persists after RetroArch exits. The file is \n"
"saved to Shader Directory.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_SHADER_APPLY_CHANGES), len);
break;
case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
snprintf(s, len,
"Watch shader files for new changes. \n"
" \n"
"After saving changes to a shader on disk, \n"
"it will automatically be recompiled \n"
"and applied to the running content.");
break;
case MENU_ENUM_LABEL_DISK_NEXT:
snprintf(s, len,
"Cycles through disk images. Use after \n"
"ejecting. \n"
" \n"
" Complete by toggling eject again.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_SHADER_WATCH_FOR_CHANGES), len);
break;
case MENU_ENUM_LABEL_VIDEO_FILTER:
#ifdef HAVE_FILTERS_BUILTIN
@ -739,120 +471,32 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
#endif
);
break;
case MENU_ENUM_LABEL_ENABLE_HOTKEY:
snprintf(s, len,
"Enable other hotkeys.\n"
" \n"
" If this hotkey is bound to either keyboard, \n"
"joybutton or joyaxis, all other hotkeys will \n"
"be disabled unless this hotkey is also held \n"
"at the same time. \n"
" \n"
"This is useful for RETRO_KEYBOARD centric \n"
"implementations which query a large area of \n"
"the keyboard, where it is not desirable that \n"
"hotkeys get in the way.");
break;
case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
snprintf(s, len,
"Refresh Rate Auto.\n"
" \n"
"The accurate refresh rate of our monitor (Hz).\n"
"This is used to calculate audio input rate with \n"
"the formula: \n"
" \n"
"audio_input_rate = game input rate * display \n"
"refresh rate / game refresh rate\n"
" \n"
"If the implementation does not report any \n"
"values, NTSC defaults will be assumed for \n"
"compatibility.\n"
" \n"
"This value should stay close to 60Hz to avoid \n"
"large pitch changes. If your monitor does \n"
"not run at 60Hz, or something close to it, \n"
"disable VSync, and leave this at its default.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_REFRESH_RATE_AUTO), len);
break;
case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
snprintf(s, len,
"Fastforward ratio.\n"
" \n"
"The maximum rate at which content will\n"
"be run when using fast forward.\n"
" \n"
" (E.g. 5.0 for 60 fps content => 300 fps \n"
"cap).\n"
" \n"
"RetroArch will go to sleep to ensure that \n"
"the maximum rate will not be exceeded.\n"
"Do not rely on this cap to be perfectly \n"
"accurate.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_FASTFORWARD_RATIO), len);
break;
case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
snprintf(s, len,
"Sync to Exact Content Framerate.\n"
" \n"
"This option is the equivalent of forcing x1 speed\n"
"while still allowing fast forward.\n"
"No deviation from the core requested refresh rate,\n"
"no sound Dynamic Rate Control.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VRR_RUNLOOP_ENABLE), len);
break;
case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
snprintf(s, len,
"Which monitor to prefer.\n"
" \n"
"0 (default) means no particular monitor \n"
"is preferred, 1 and up (1 being first \n"
"monitor), suggests RetroArch to use that \n"
"particular monitor.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_MONITOR_INDEX), len);
break;
case MENU_ENUM_LABEL_AUDIO_VOLUME:
snprintf(s, len,
"Audio volume, expressed in dB.\n"
" \n"
" 0 dB is normal volume. No gain will be applied.\n"
"Gain can be controlled in runtime with Input\n"
"Volume Up / Input Volume Down.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_AUDIO_VOLUME), len);
break;
case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
snprintf(s, len,
"Audio rate control.\n"
" \n"
"Setting this to 0 disables rate control.\n"
"Any other value controls audio rate control \n"
"delta.\n"
" \n"
"Defines how much input rate can be adjusted \n"
"dynamically.\n"
" \n"
" Input rate is defined as: \n"
" input rate * (1.0 +/- (rate control delta))");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_AUDIO_RATE_CONTROL_DELTA), len);
break;
case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
snprintf(s, len,
"Maximum audio timing skew.\n"
" \n"
"Defines the maximum change in input rate.\n"
"You may want to increase this to enable\n"
"very large changes in timing, for example\n"
"running PAL cores on NTSC displays, at the\n"
"cost of inaccurate audio pitch.\n"
" \n"
" Input rate is defined as: \n"
" input rate * (1.0 +/- (max timing skew))");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_AUDIO_MAX_TIMING_SKEW), len);
break;
case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
snprintf(s, len,
"Forcibly disable composition.\n"
"Only valid on Windows Vista/7 for now.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_DISABLE_COMPOSITION), len);
break;
case MENU_ENUM_LABEL_VIDEO_THREADED:
snprintf(s, len,
"Use threaded video driver.\n"
" \n"
"Using this might improve performance at the \n"
"possible cost of latency and more video \n"
"stuttering.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_THREADED), len);
break;
case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
snprintf(s, len,
@ -865,154 +509,37 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
"Maximum is %d.", MAXIMUM_FRAME_DELAY);
break;
case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO:
snprintf(s, len,
"Temporarily decreases effective 'Frame Delay'\n"
"until target refresh rate is stable.\n"
" \n"
"Measuring starts from half frame time when\n"
"'Frame Delay' is 0.\n"
" \n"
"E.g. 8 for NTSC and 10 for PAL.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_FRAME_DELAY_AUTO), len);
break;
case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
snprintf(s, len,
"Sets how many frames CPU can \n"
"run ahead of GPU when using 'GPU \n"
"Hard Sync'.\n"
" \n"
"Maximum is 3.\n"
" \n"
" 0: Syncs to GPU immediately.\n"
" 1: Syncs to previous frame.\n"
" 2: Etc ...");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_HARD_SYNC_FRAMES), len);
break;
case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
snprintf(s, len,
"Inserts a black frame inbetween \n"
"frames.\n"
" \n"
"Useful for 120 Hz monitors who want to \n"
"play 60 Hz material with eliminated \n"
"ghosting.\n"
" \n"
"Video refresh rate should still be \n"
"configured as if it is a 60 Hz monitor \n"
"(divide refresh rate by 2).");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_BLACK_FRAME_INSERTION), len);
break;
case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
snprintf(s, len,
"Savefile Directory. \n"
" \n"
"Save all save files (*.srm) to this \n"
"directory. This includes related files like \n"
".bsv, .rt, .psrm, etc...\n"
" \n"
"This will be overridden by explicit command line\n"
"options.");
break;
case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
snprintf(s, len,
"Assets Directory. \n"
" \n"
" This location is queried by default when \n"
"menu interfaces try to look for loadable \n"
"assets, etc.");
break;
case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
snprintf(s, len,
"Dynamic Wallpapers Directory. \n"
" \n"
" The place to store backgrounds that will \n"
"be loaded dynamically by the menu depending \n"
"on context.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_SAVEFILE_DIRECTORY), len);
break;
case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
snprintf(s, len, "Use front instead of back touch.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_INPUT_PREFER_FRONT_TOUCH), len);
break;
case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
snprintf(s, len,
"Suspends the screensaver. Is a hint that \n"
"does not necessarily have to be \n"
"honored by the video driver.");
break;
case MENU_ENUM_LABEL_NETPLAY_MODE:
snprintf(s, len,
"Netplay client mode for the current user. \n"
"Will be 'Server' mode if disabled.");
break;
case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
snprintf(s, len,
"The amount of delay frames to use for netplay. \n"
" \n"
"Increasing this value will increase \n"
"performance, but introduce more latency.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_SUSPEND_SCREENSAVER_ENABLE), len);
break;
case MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR:
snprintf(s, len,
"Whether to start netplay in spectator mode. \n"
" \n"
"If set to true, netplay will be in spectator mode \n"
"on start. It's always possible to change mode \n"
"later.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_NETPLAY_START_AS_SPECTATOR), len);
break;
case MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES:
snprintf(s, len,
"The frequency in frames with which netplay \n"
"will verify that the host and client are in \n"
"sync. \n"
" \n"
"With most cores, this value will have no \n"
"visible effect and can be ignored. With \n"
"nondeterminstic cores, this value determines \n"
"how often the netplay peers will be brought \n"
"into sync. With buggy cores, setting this \n"
"to any non-zero value will cause severe \n"
"performance issues. Set to zero to perform \n"
"no checks. This value is only used on the \n"
"netplay host. \n");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_NETPLAY_CHECK_FRAMES), len);
break;
case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN:
snprintf(s, len,
"The number of frames of input latency for \n"
"netplay to use to hide network latency. \n"
" \n"
"When in netplay, this option delays local \n"
"input, so that the frame being run is \n"
"closer to the frames being received from \n"
"the network. This reduces jitter and makes \n"
"netplay less CPU-intensive, but at the \n"
"price of noticeable input lag. \n");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_NETPLAY_INPUT_LATENCY_FRAMES_MIN), len);
break;
case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE:
snprintf(s, len,
"The range of frames of input latency that \n"
"may be used by netplay to hide network \n"
"latency. \n"
"\n"
"If set, netplay will adjust the number of \n"
"frames of input latency dynamically to \n"
"balance CPU time, input latency and \n"
"network latency. This reduces jitter and \n"
"makes netplay less CPU-intensive, but at \n"
"the price of unpredictable input lag. \n");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_NETPLAY_INPUT_LATENCY_FRAMES_RANGE), len);
break;
case MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES:
snprintf(s, len,
"Maximum amount of swapchain images. This \n"
"can tell the video driver to use a specific \n"
"video buffering mode. \n"
" \n"
"Single buffering - 1\n"
"Double buffering - 2\n"
"Triple buffering - 3\n"
" \n"
"Setting the right buffering mode can have \n"
"a big impact on latency.");
break;
case MENU_ENUM_LABEL_VIDEO_SMOOTH:
snprintf(s, len,
"Smoothens picture with bilinear filtering. \n"
"Should be disabled if using shaders.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_VIDEO_MAX_SWAPCHAIN_IMAGES), len);
break;
case MENU_ENUM_LABEL_VIDEO_CTX_SCALING:
snprintf(s, len,
@ -1023,19 +550,8 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
#endif
);
break;
case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
snprintf(s, len,
"Setting related to Netplay.");
break;
case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
snprintf(s, len,
"Enable or disable spectator mode for \n"
"the user during netplay.");
break;
case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
snprintf(s, len,
"Start User Interface companion driver \n"
"on boot (if available).");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_UI_COMPANION_START_ON_BOOT), len);
break;
case MENU_ENUM_LABEL_EXIT_EMULATOR:
snprintf(s, len,
@ -1050,8 +566,7 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
);
break;
case MENU_ENUM_LABEL_CHEAT_START_OR_CONT:
snprintf(s, len,
"Scan memory to create new cheats.");
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_CHEAT_START_OR_CONT), len);
break;
case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
snprintf(s, len,

View File

@ -71,6 +71,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_CORE_LIST,
"Select which core to use."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_CORE_LIST,
"Browse for a libretro core implementation. Where the browser starts depends on your Core Directory path. If blank, it will start in root.\nIf Core Directory is a directory, the menu will use that as top folder. If Core Directory is a full path, it will start in the folder where the file is."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST,
"Load Content"
@ -79,6 +83,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_LOAD_CONTENT_LIST,
"Select which content to start."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_LOAD_CONTENT_LIST,
"Browse for content. To load content, you need a 'Core' to use, and a content file.\nTo control where the menu starts to browse for content, set 'File Browser Directory'. If not set, it will start in root.\nThe browser will filter out extensions for the last core set in 'Load Core', and use that core when content is loaded."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_LOAD_DISC,
"Load Disc"
@ -1204,6 +1212,86 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_FILE_BROWSER_SETTINGS,
"Change file browser settings."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CONFIG,
"Configuration file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_COMPRESSED_ARCHIVE,
"Compressed archive file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_RECORD_CONFIG,
"Recording configuration file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CURSOR,
"Database cursor file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_CONFIG,
"Configuration file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_SHADER_PRESET,
"Shader preset file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_SHADER,
"Shader file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_REMAP,
"Remap controls file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CHEAT,
"Cheat file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_OVERLAY,
"Overlay file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_RDB,
"Database file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_FONT,
"TrueType font file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_PLAIN_FILE,
"Plain file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_MOVIE_OPEN,
"Video. Select it to open this file with the video player."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_MUSIC_OPEN,
"Music. Select it to open this file with the music player."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_IMAGE,
"Image file."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER,
"Image. Select it to open this file with the image viewer."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
"Libretro core. Selecting this will associate this core to the game."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CORE,
"Libretro core. Select this file to have RetroArch load this core."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_DIRECTORY,
"Directory. Select it to open this directory."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_FRAME_THROTTLE_SETTINGS,
"Frame Throttle"
@ -1515,6 +1603,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_SUSPEND_SCREENSAVER_ENABLE,
"Prevent your system's screensaver from becoming active."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_SUSPEND_SCREENSAVER_ENABLE,
"Suspends the screensaver. Is a hint that does not necessarily have to be honored by the video driver."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_THREADED,
"Threaded Video"
@ -1523,6 +1615,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_THREADED,
"Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_THREADED,
"Use threaded video driver.\nUsing this might improve performance at the possible cost of latency and more video stuttering."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_BLACK_FRAME_INSERTION,
"Black Frame Insertion"
@ -1531,6 +1627,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_BLACK_FRAME_INSERTION,
"Insert a black frame between frames. Useful on some high refresh rate screens to eliminate ghosting."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_BLACK_FRAME_INSERTION,
"Inserts a black frame inbetween frames. Useful for 120 Hz monitors to play 60 Hz material with eliminated ghosting.\nVideo refresh rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2)."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_GPU_SCREENSHOT,
"GPU Screenshot"
@ -1545,7 +1645,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_SMOOTH,
"Add a slight blur to the image to soften hard pixel edges. This option has very little impact on performance."
"Add a slight blur to the image to soften hard pixel edges. This option has very little impact on performance. Should be disabled if using shaders."
)
#if defined(DINGUX)
MSG_HASH(
@ -1677,6 +1777,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_MONITOR_INDEX,
"Select which display screen to use."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_MONITOR_INDEX,
"Which monitor to prefer.\n0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor), suggests RetroArch to use that particular monitor."
)
#if defined (WIIU)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_WIIU_PREFER_DRC,
@ -1743,6 +1847,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_REFRESH_RATE_AUTO,
"The accurate estimated refresh rate of the screen in Hz."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_REFRESH_RATE_AUTO,
"The accurate refresh rate of your monitor (Hz). This is used to calculate audio input rate with the formula:\naudio_input_rate = game input rate * display refresh rate / game refresh rate\nIf the implementation does not report any values, NTSC defaults will be assumed for compatibility.\nThis value should stay close to 60Hz to avoid large pitch changes. If your monitor does not run at 60Hz, or something close to it, disable VSync, and leave this at its default."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_POLLED,
"Set Display-Reported Refresh Rate"
@ -2118,6 +2226,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_FRAME_DELAY_AUTO,
"Decrease effective 'Frame Delay' temporarily to prevent future frame drops. Starting point is half frame time when 'Frame Delay' is 0."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_FRAME_DELAY_AUTO,
"Temporarily decreases effective 'Frame Delay' until target refresh rate is stable. Measuring starts from half frame time when 'Frame Delay' is 0. E.g. 8 for NTSC and 10 for PAL."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_DELAY_AUTOMATIC,
"Auto"
@ -2142,6 +2254,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_HARD_SYNC_FRAMES,
"Set how many frames the CPU can run ahead of the GPU when using 'Hard GPU Sync'."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_HARD_SYNC_FRAMES,
"Sets how many frames CPU can run ahead of GPU when using 'GPU Hard Sync'. Maximum is 3.\n 0: Sync to GPU immediately.\n 1: Sync to previous frame.\n 2: Etc ..."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VRR_RUNLOOP_ENABLE,
"Sync to Exact Content Framerate (G-Sync, FreeSync)"
@ -2150,6 +2266,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VRR_RUNLOOP_ENABLE,
"No deviation from core requested timing. Use for Variable Refresh Rate screens (G-Sync, FreeSync, HDMI 2.1 VRR)."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VRR_RUNLOOP_ENABLE,
"Sync to Exact Content Framerate.\nThis option is the equivalent of forcing x1 speed while still allowing fast forward. No deviation from the core requested refresh rate, no sound Dynamic Rate Control."
)
/* Settings > Audio */
@ -2233,6 +2353,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_VOLUME,
"Audio volume (in dB). 0 dB is normal volume, and no gain is applied."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_AUDIO_VOLUME,
"Audio volume, expressed in dB.\n0 dB is normal volume. No gain will be applied. Gain can be controlled in runtime with Input Volume Up / Input Volume Down."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_AUDIO_MIXER_VOLUME,
"Mixer Volume Gain (dB)"
@ -2346,6 +2470,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_MAX_TIMING_SKEW,
"The maximum change in audio input rate. Increasing this enables very large changes in timing at the cost of an inaccurate audio pitch (e.g. running PAL cores on NTSC displays)."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_AUDIO_MAX_TIMING_SKEW,
"Maximum audio timing skew.\nDefines the maximum change in input rate. You may want to increase this to enable very large changes in timing, for example running PAL cores on NTSC displays, at the cost of inaccurate audio pitch.\nInput rate is defined as:\ninput rate * (1.0 +/- (max timing skew))"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_AUDIO_RATE_CONTROL_DELTA,
"Dynamic Audio Rate Control"
@ -2354,6 +2482,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUDIO_RATE_CONTROL_DELTA,
"Helps smooth out imperfections in timing when synchronizing audio and video. Be aware that if disabled, proper synchronization is nearly impossible to obtain."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_AUDIO_RATE_CONTROL_DELTA,
"Audio rate control.\nSetting this to 0 disables rate control. Any other value controls audio rate control delta.\nDefines how much input rate can be adjusted dynamically. Input rate is defined as:\ninput rate * (1.0 +/- (rate control delta))"
)
/* Settings > Audio > MIDI */
@ -2506,6 +2638,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_POLL_TYPE_BEHAVIOR,
"Influence how input polling is done in RetroArch. Setting it to 'Early' or 'Late' can result in less latency, depending on your configuration."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_INPUT_POLL_TYPE_BEHAVIOR,
"Influence how input polling is done inside RetroArch.\nEarly - Input polling is performed before the frame is processed.\nNormal - Input polling is performed when polling is requested.\nLate - Input polling is performed on first input state request per frame.\nSetting it to 'Early' or 'Late' can result in less latency, depending on your configuration. Will be ignored when using netplay."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_REMAP_BINDS_ENABLE,
"Remap Controls for This Core"
@ -2797,6 +2933,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_META_ENABLE_HOTKEY,
"When assigned, the 'Hotkey Enable' key must be held before any other hotkeys are recognized. Allows controller buttons to be mapped to hotkey functions without affecting normal input. Assigning the modifier to controller only will not require it for keyboard hotkeys, but both modifiers work for both devices."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_ENABLE_HOTKEY,
"Enable other hotkeys.\nIf this hotkey is bound to either keyboard, joybutton or joyaxis, all other hotkeys will be disabled unless this hotkey is also held at the same time.\nThis is useful for RETRO_KEYBOARD centric implementations which query a large area of the keyboard, where it is not desirable that hotkeys get in the way."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_HOTKEY_BLOCK_DELAY,
"Hotkey Enable Delay (Frames)"
@ -3235,6 +3375,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_ADC_TYPE,
"Use specified analog stick for D-Pad input. 'Forced' modes override core native analog input."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_INPUT_ADC_TYPE,
"Map specified analog stick for D-Pad input.\nIf core has native analog support, D-Pad mapping will be disabled unless a '(Forced)' option is selected.\nIf D-Pad mapping is forced, core will receive no analog input from specified stick."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_DEVICE_INDEX,
"Device Index"
@ -3477,6 +3621,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_DUMMY_ON_CORE_SHUTDOWN,
"Some cores have a shutdown feature, loading a dummy core will prevent RetroArch from shutting down."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_DUMMY_ON_CORE_SHUTDOWN,
"Some cores might have a shutdown feature. If this option is left disabled, selecting the shutdown procedure would trigger RetroArch being shut down.\nEnabling this option will load a dummy core instead so that we remain inside the menu and RetroArch won't shutdown."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE,
"Start a Core Automatically"
@ -3489,6 +3637,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_CHECK_FOR_MISSING_FIRMWARE,
"Check if all the required firmware is present before attempting to load content."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_CHECK_FOR_MISSING_FIRMWARE,
"Some cores might need firmware or bios files.\nIf this option is disabled, it will try to load even if such firmware is missing. !!!"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_CORE_OPTION_CATEGORY_ENABLE,
"Core Option Categories"
@ -3681,6 +3833,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_AUTOSAVE_INTERVAL,
"Automatically save the non-volatile SaveRAM at a regular interval (in seconds)."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_AUTOSAVE_INTERVAL,
"Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise. The interval is measured in seconds. A value of 0 disables autosave."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SAVESTATE_AUTO_INDEX,
"Increment Save State Index Automatically"
@ -3804,6 +3960,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_LIBRETRO_LOG_LEVEL,
"Set log level for cores. If a log level issued by a core is below this value, it is ignored."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_LIBRETRO_LOG_LEVEL,
"Sets log level for libretro cores (GET_LOG_INTERFACE).\nIf a log level issued by a libretro core is below libretro_log level, it is ignored.\nDEBUG logs are always ignored unless verbose mode is activated (--verbose).\nDEBUG = 0\nINFO = 1\nWARN = 2\nERROR = 3"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_LOG_VERBOSITY_DEBUG,
"0 (Debug)"
@ -3906,6 +4066,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_FASTFORWARD_RATIO,
"The maximum rate at which content will be run when using fast-forward (e.g., 5.0x for 60 fps content = 300 fps cap). If set to 0.0x, fast-forward ratio is unlimited (no FPS cap)."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FASTFORWARD_RATIO,
"The maximum rate at which content will be run when using fast forward.\n(E.g. 5.0 for 60 fps content => 300 fps cap).\nRetroArch will go to sleep to ensure that the maximum rate will not be exceeded. Do not rely on this cap to be perfectly accurate."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_FASTFORWARD_FRAMESKIP,
"Fast-Forward Frameskip"
@ -4664,7 +4828,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_MESSAGE_POS_X,
"Specify custom X axis position for on-screen text."
"Specify custom X axis position for on-screen text. 0 is left edge."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_POS_Y,
@ -4672,7 +4836,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_MESSAGE_POS_Y,
"Specify custom Y axis position for on-screen text."
"Specify custom Y axis position for on-screen text. 0 is bottom edge."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_RED,
@ -4875,6 +5039,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_DISABLE_COMPOSITION,
"Window managers use composition to apply visual effects, detect unresponsive windows, among other things."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_DISABLE_COMPOSITION,
"Forcibly disable composition. Disabling is only valid on Windows Vista/7 for now."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_SCROLL_FAST,
"Menu Scroll Acceleration"
@ -4899,6 +5067,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_UI_COMPANION_START_ON_BOOT,
"Start UI Companion on Boot"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_UI_COMPANION_START_ON_BOOT,
"Start User Interface companion driver on boot (if available)."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DESKTOP_MENU_ENABLE,
"Desktop Menu (Restart Required)"
@ -6047,6 +6219,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_START_AS_SPECTATOR,
"Start netplay in spectator mode."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_NETPLAY_START_AS_SPECTATOR,
"Whether to start netplay in spectator mode. If set to true, netplay will be in spectator mode on start. It's always possible to change mode later."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NETPLAY_FADE_CHAT,
"Fade Chat"
@ -6103,6 +6279,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_CHECK_FRAMES,
"The frequency (in frames) that netplay will verify that the host and client are in sync."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_NETPLAY_CHECK_FRAMES,
"The frequency in frames with which netplay will verify that the host and client are in sync. With most cores, this value will have no visible effect and can be ignored. With nondeterminstic cores, this value determines how often the netplay peers will be brought into sync. With buggy cores, setting this to any non-zero value will cause severe performance issues. Set to zero to perform no checks. This value is only used on the netplay host."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"Input Latency Frames"
@ -6111,6 +6291,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"The number of frames of input latency for netplay to use to hide network latency. Reduces jitter and makes netplay less CPU-intensive, at the expense of noticeable input lag."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"The number of frames of input latency for netplay to use to hide network latency.\nWhen in netplay, this option delays local input, so that the frame being run is closer to the frames being received from the network. This reduces jitter and makes netplay less CPU-intensive, but at the price of noticeable input lag."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Input Latency Frames Range"
@ -6119,6 +6303,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"The range of frames of input latency that may be used to hide network latency. Reduces jitter and makes netplay less CPU-intensive, at the expense of unpredictable input lag."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"The range of frames of input latency that may be used by netplay to hide network latency.\nIf set, netplay will adjust the number of frames of input latency dynamically to balance CPU time, input latency and network latency. This reduces jitter and makes netplay less CPU-intensive, but at the price of unpredictable input lag."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NETPLAY_NAT_TRAVERSAL,
"Netplay NAT Traversal"
@ -6543,6 +6731,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_USER_LANGUAGE,
"Set the language of the user interface."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_USER_LANGUAGE,
"Localizes the menu and all onscreen messages according to the language you have selected here. Requires a restart for the changes to take effect.\nTranslation completeness is shown next to each option. In case a language is not implemented for a menu item, we fallback to English."
)
/* Settings > User > Privacy */
@ -6581,6 +6773,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_ACCOUNTS_RETRO_ACHIEVEMENTS,
"Earn achievements in classic games. For more information, visit 'https://retroachievements.org'."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_ACCOUNTS_RETRO_ACHIEVEMENTS,
"Login details for your Retro Achievements account. Visit retroachievements.org and sign up for a free account.\nAfter you are done registering, you need to input the username and password into RetroArch."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE,
"YouTube"
@ -6868,6 +7064,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_SAVEFILE_DIRECTORY,
"Save all save files to this directory. If not set, will try to save inside the content file's working directory."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_SAVEFILE_DIRECTORY,
"Save all save files (*.srm) to this directory. This includes related files like .bsv, .rt, .psrm, etc... This will be overridden by explicit command line options."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SAVESTATE_DIRECTORY,
"Save States"
@ -7061,6 +7261,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_SCAN_THIS_DIRECTORY,
"<Scan This Directory>"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_SCAN_THIS_DIRECTORY,
"Select this to scan the current directory for content."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SCAN_FILE,
"Scan File"
@ -7797,6 +8001,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_CHEAT_START_OR_CONT,
""
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_CHEAT_START_OR_CONT,
"Scan memory to create new cheats."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_CHEAT_FILE_LOAD,
"Load Cheat File (Replace)"
@ -8231,6 +8439,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_SHADER_WATCH_FOR_CHANGES,
"Automatically apply changes made to shader files on disk."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_SHADER_WATCH_FOR_CHANGES,
"Watch shader files for new changes. After saving changes to a shader on disk, it will automatically be recompiled and applied to the running content."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_REMEMBER_LAST_DIR,
"Remember Last Used Shader Directory"
@ -8247,6 +8459,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_SHADER_PRESET,
"Load a shader preset. The shader pipeline will be automatically set-up."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_PRESET,
"Load Shader Preset. Load a shader preset directly. The shader menu is updated accordingly.\nIf the preset uses scaling methods which are not simple, (i.e. source scaling, same scaling factor for X/Y), the scaling factor displayed in the menu might not be correct."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_PREPEND,
"Prepend"
@ -8287,6 +8503,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_SHADER_APPLY_CHANGES,
"Changes to the shader configuration will take effect immediately. Use this if you changed the amount of shader passes, filtering, FBO scale, etc."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_SHADER_APPLY_CHANGES,
"Apply Shader Changes. After changing shader settings such as amount of shader passes, filtering, FBO scale, use this to apply changes.\nChanging these shader settings is a somewhat expensive operation so it has to be done explicitly.\nWhen you apply shaders, the menu shader settings are saved to a temporary file (either menu.cgp or menu.glslp) and loaded. The file persists after RetroArch exits. The file is saved to Shader Directory."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PARAMETERS,
"Shader Parameters"
@ -8303,18 +8523,34 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_SHADER_NUM_PASSES,
"Increase or decrease the amount of shader pipeline passes. Separate shaders can be bound to each pipeline pass and configure its scale and filtering."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_NUM_PASSES,
"RetroArch allows you to mix and match various shaders with arbitrary shader passes, with custom hardware filters and scale factors.\nThis option specifies the number of shader passes to use. If you set this to 0, and use Apply Shader Changes, you use a 'blank' shader.\nThe Default Filter option will affect the stretching filter."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SHADER,
"Shader"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_PASS,
"Path to shader. All shaders must be of the same type (i.e. CG, GLSL or HLSL).\nSet Shader Directory to set where the browser starts to look for shaders."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_FILTER,
"Filter"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_FILTER_PASS,
"Hardware filter for this pass. If 'Don't Care' is set, 'Default Filter' will be used."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SCALE,
"Scale"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_SCALE_PASS,
"Scale for this pass.\nThe scale factor accumulates, i.e. 2x for first pass and 2x for second pass will give you a 4x total scale.\nIf there is a scale factor for last pass, the result is stretched to screen with the filter specified in 'Default Filter'.\nIf 'Don't Care' is set, either 1x scale or stretch to fullscreen will be used depending if it's not the last pass or not."
)
/* Quick Menu > Shaders > Save */
@ -8598,6 +8834,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_PARENT_DIRECTORY,
"Parent Directory"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_PARENT_DIRECTORY,
"Go back to the parent directory."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Directory Not Found"
@ -9045,6 +9285,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY,
"<Use This Directory>"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_USE_THIS_DIRECTORY,
"Select this to set this as the directory."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_CONTENT,
"<Content Directory>"
@ -11424,6 +11668,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_LOAD_CONTENT_HISTORY,
"Select content from recent history playlist."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_LOAD_CONTENT_HISTORY,
"When content is loaded, content and libretro core combinations are saved to history.\nThe history is saved to a file in the same directory as the RetroArch config file. If no config file was loaded in startup, history will not be saved or loaded, and will not exist in the main menu."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS,
"Multimedia"
@ -11528,6 +11776,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_VIDEO_MAX_SWAPCHAIN_IMAGES,
"Tells the video driver to explicitly use a specified buffering mode."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_VIDEO_MAX_SWAPCHAIN_IMAGES,
"Maximum amount of swapchain images. This can tell the video driver to use a specific video buffering mode.\nSingle buffering - 1\nDouble buffering - 2\nTriple buffering - 3\nSetting the right buffering mode can have a big impact on latency."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_WAITABLE_SWAPCHAINS,
"Waitable Swapchains"
@ -13883,6 +14135,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS,
"Open Windows file access permissions settings"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_FILE_BROWSER_OPEN_UWP_PERMISSIONS,
"Open Windows permission settings to enable the broadFileSystemAccess capability."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_FILE_BROWSER_OPEN_PICKER,
"Open..."
@ -14079,6 +14335,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_PREFER_FRONT_TOUCH,
"Prefer Front Touch"
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_INPUT_PREFER_FRONT_TOUCH,
"Use front instead of back touch."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_TOUCH_ENABLE,
"Touch"

View File

@ -167,6 +167,12 @@ enum msg_file_type
MENU_ENUM_SUBLABEL_##STR, \
MENU_ENUM_LABEL_VALUE_##STR
#define MENU_LBL_H(STR) \
MENU_ENUM_LABEL_##STR, \
MENU_ENUM_SUBLABEL_##STR, \
MENU_ENUM_LABEL_VALUE_##STR, \
MENU_ENUM_LABEL_HELP_##STR
enum msg_hash_enums
{
MSG_UNKNOWN = 0,
@ -999,6 +1005,7 @@ enum msg_hash_enums
MENU_ENUM_SUBLABEL_INPUT_DEVICE_TYPE,
MENU_ENUM_SUBLABEL_INPUT_ADC_TYPE,
MENU_ENUM_LABEL_HELP_INPUT_ADC_TYPE,
MENU_ENUM_SUBLABEL_INPUT_REMAP_PORT,
MENU_ENUM_SUBLABEL_INPUT_META_ENABLE_HOTKEY,
@ -1126,10 +1133,10 @@ enum msg_hash_enums
MENU_LABEL(INPUT_KEYBOARD_GAMEPAD_MAPPING_TYPE),
MENU_LABEL(INPUT_SMALL_KEYBOARD_ENABLE),
MENU_LABEL(INPUT_TOUCH_ENABLE),
MENU_LABEL(INPUT_PREFER_FRONT_TOUCH),
MENU_LBL_H(INPUT_PREFER_FRONT_TOUCH),
MENU_LABEL(INPUT_ICADE_ENABLE),
MENU_LABEL(INPUT_ALL_USERS_CONTROL_MENU),
MENU_LABEL(INPUT_POLL_TYPE_BEHAVIOR),
MENU_LBL_H(INPUT_POLL_TYPE_BEHAVIOR),
MENU_LABEL(INPUT_UNIFIED_MENU_CONTROLS),
MENU_LABEL(INPUT_DISABLE_INFO_BUTTON),
MENU_LABEL(INPUT_DISABLE_SEARCH_BUTTON),
@ -1168,20 +1175,20 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_MESSAGE_BGCOLOR_OPACITY),
MENU_LABEL(VIDEO_FILTER_FLICKER),
MENU_LABEL(VIDEO_SOFT_FILTER),
MENU_LABEL(VIDEO_MAX_SWAPCHAIN_IMAGES),
MENU_LBL_H(VIDEO_MAX_SWAPCHAIN_IMAGES),
MENU_LABEL(VIDEO_WAITABLE_SWAPCHAINS),
MENU_LABEL(VIDEO_MAX_FRAME_LATENCY),
MENU_LABEL(VIDEO_GPU_SCREENSHOT),
MENU_LABEL(VIDEO_BLACK_FRAME_INSERTION),
MENU_LABEL(VIDEO_FRAME_DELAY),
MENU_LABEL(VIDEO_FRAME_DELAY_AUTO),
MENU_LBL_H(VIDEO_BLACK_FRAME_INSERTION),
MENU_LBL_H(VIDEO_FRAME_DELAY),
MENU_LBL_H(VIDEO_FRAME_DELAY_AUTO),
MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_DELAY_AUTOMATIC,
MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_DELAY_EFFECTIVE,
MENU_LABEL(VIDEO_SHADER_DELAY),
MENU_LABEL(VIDEO_VSYNC),
MENU_LABEL(VIDEO_ADAPTIVE_VSYNC),
MENU_LABEL(VIDEO_HARD_SYNC),
MENU_LABEL(VIDEO_HARD_SYNC_FRAMES),
MENU_LBL_H(VIDEO_HARD_SYNC_FRAMES),
MENU_LABEL(VIDEO_WINDOWED_FULLSCREEN),
MENU_LABEL(VIDEO_AUTOSWITCH_REFRESH_RATE),
@ -1232,19 +1239,19 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_SHARED_CONTEXT),
MENU_LABEL(DRIVER_SWITCH_ENABLE),
MENU_LABEL(VIDEO_THREADED),
MENU_LBL_H(VIDEO_THREADED),
MENU_LABEL(VIDEO_SWAP_INTERVAL),
MENU_ENUM_LABEL_VALUE_VIDEO_SWAP_INTERVAL_AUTO,
MENU_LABEL(VIDEO_FULLSCREEN),
MENU_LABEL(VIDEO_MONITOR_INDEX),
MENU_LBL_H(VIDEO_MONITOR_INDEX),
MENU_LABEL(VIDEO_WIIU_PREFER_DRC),
MENU_LABEL(VIDEO_WINDOW_SCALE),
MENU_LABEL(VIDEO_WINDOW_OFFSET_X),
MENU_LABEL(VIDEO_WINDOW_OFFSET_Y),
MENU_LABEL(VIDEO_REFRESH_RATE),
MENU_LABEL(VIDEO_REFRESH_RATE_AUTO),
MENU_LBL_H(VIDEO_REFRESH_RATE_AUTO),
MENU_LABEL(VIDEO_REFRESH_RATE_POLLED),
MENU_LABEL(VIDEO_HDR_ENABLE),
@ -1257,9 +1264,9 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_LAYOUT_PATH),
MENU_LABEL(VIDEO_LAYOUT_SELECTED_VIEW),
MENU_LABEL(PARENT_DIRECTORY),
MENU_LBL_H(PARENT_DIRECTORY),
MENU_LABEL(FILE_BROWSER_OPEN_UWP_PERMISSIONS),
MENU_LBL_H(FILE_BROWSER_OPEN_UWP_PERMISSIONS),
MENU_LABEL(FILE_BROWSER_OPEN_PICKER),
MENU_ENUM_LABEL_CONTENT_ACTIONS,
@ -1455,9 +1462,9 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_MENU_REMEMBER_SELECTION_MAIN,
/* UI settings */
MENU_LABEL(VIDEO_DISABLE_COMPOSITION),
MENU_LBL_H(VIDEO_DISABLE_COMPOSITION),
MENU_LABEL(UI_COMPANION_ENABLE),
MENU_LABEL(UI_COMPANION_START_ON_BOOT),
MENU_LBL_H(UI_COMPANION_START_ON_BOOT),
MENU_LABEL(UI_COMPANION_TOGGLE),
MENU_LABEL(DESKTOP_MENU_ENABLE),
MENU_LABEL(UI_MENUBAR_ENABLE),
@ -1478,28 +1485,48 @@ enum msg_hash_enums
MENU_LABEL(BOTTOM_FONT_SCALE),
#endif
MENU_ENUM_LABEL_FILE_CONFIG,
MENU_ENUM_LABEL_HELP_FILE_CONFIG,
MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_COMPRESSED_ARCHIVE,
MENU_ENUM_LABEL_FILE_BROWSER_CONFIG,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CONFIG,
MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_RECORD_CONFIG,
MENU_ENUM_LABEL_FILE_BROWSER_CURSOR,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CURSOR,
MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_DIRECTORY,
MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_PLAIN_FILE,
MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_SHADER_PRESET,
MENU_ENUM_LABEL_FILE_BROWSER_SHADER,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_SHADER,
MENU_ENUM_LABEL_FILE_BROWSER_REMAP,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_REMAP,
MENU_ENUM_LABEL_FILE_BROWSER_CORE,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CORE,
MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_OVERLAY,
MENU_ENUM_LABEL_FILE_BROWSER_VIDEO_LAYOUT,
MENU_ENUM_LABEL_FILE_BROWSER_CHEAT,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CHEAT,
MENU_ENUM_LABEL_FILE_BROWSER_FONT,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_FONT,
MENU_ENUM_LABEL_FILE_BROWSER_RDB,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_RDB,
MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION,
MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION_CURRENT_CORE,
MENU_ENUM_LABEL_FILE_BROWSER_CORE_DETECTED,
MENU_ENUM_LABEL_FILE_BROWSER_IMAGE,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_IMAGE,
MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER,
MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_MOVIE_OPEN,
MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN,
MENU_ENUM_LABEL_HELP_FILE_BROWSER_MUSIC_OPEN,
/* Menu file browser */
MENU_LABEL(NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE),
@ -1631,7 +1658,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_CHEEVOS_APPEARANCE_ANCHOR_BOTTOMCENTER,
MENU_ENUM_LABEL_VALUE_CHEEVOS_APPEARANCE_ANCHOR_BOTTOMRIGHT,
MENU_LABEL(ACCOUNTS_RETRO_ACHIEVEMENTS),
MENU_LBL_H(ACCOUNTS_RETRO_ACHIEVEMENTS),
MENU_LABEL(ACCOUNTS_TWITCH),
MENU_LABEL(ACCOUNTS_YOUTUBE),
MENU_LABEL(ACCOUNTS_FACEBOOK),
@ -1832,7 +1859,7 @@ enum msg_hash_enums
MENU_LABEL(DOWNLOAD_CORE_CONTENT),
MENU_LABEL(DOWNLOAD_CORE_CONTENT_DIRS),
MENU_LABEL(DOWNLOAD_CORE_SYSTEM_FILES),
MENU_LABEL(SCAN_THIS_DIRECTORY),
MENU_LBL_H(SCAN_THIS_DIRECTORY),
MENU_LABEL(SCAN_DIRECTORY),
MENU_LABEL(SCAN_FILE),
MENU_LABEL(NETPLAY_SHOW_ONLY_CONNECTABLE),
@ -1879,7 +1906,7 @@ enum msg_hash_enums
MENU_LABEL(USE_BUILTIN_PLAYER),
MENU_LABEL(NETPLAY_SETTINGS),
MENU_LABEL(CONTENT_SETTINGS),
MENU_LABEL(LOAD_CONTENT_LIST),
MENU_LBL_H(LOAD_CONTENT_LIST),
MENU_LABEL(LOAD_CONTENT_SPECIAL),
MENU_LABEL(NO_SETTINGS_FOUND),
MENU_LABEL(NO_PRESETS_FOUND),
@ -1929,7 +1956,7 @@ enum msg_hash_enums
MSG_EXTERNAL_APPLICATION_DIR,
MENU_LABEL(SHADER_OPTIONS),
MENU_LABEL(USE_THIS_DIRECTORY),
MENU_LBL_H(USE_THIS_DIRECTORY),
MENU_LABEL(SAVESTATE_LIST),
MENU_LABEL(CORE_OPTIONS),
MENU_LABEL(NO_SHADER_PARAMETERS),
@ -1940,7 +1967,7 @@ enum msg_hash_enums
/* Audio */
MENU_LABEL(AUDIO_ENABLE),
MENU_LABEL(AUDIO_ENABLE_MENU),
MENU_LABEL(AUDIO_MAX_TIMING_SKEW),
MENU_LBL_H(AUDIO_MAX_TIMING_SKEW),
MENU_LABEL(AUDIO_OUTPUT_RATE),
MENU_LABEL(AUDIO_DEVICE),
MENU_LABEL(AUDIO_BLOCK_FRAMES),
@ -1950,9 +1977,9 @@ enum msg_hash_enums
MENU_LABEL(AUDIO_MIXER_MUTE),
MENU_LABEL(AUDIO_FASTFORWARD_MUTE),
MENU_LABEL(AUDIO_SYNC),
MENU_LABEL(AUDIO_VOLUME),
MENU_LBL_H(AUDIO_VOLUME),
MENU_LABEL(AUDIO_MIXER_VOLUME),
MENU_LABEL(AUDIO_RATE_CONTROL_DELTA),
MENU_LBL_H(AUDIO_RATE_CONTROL_DELTA),
MENU_LABEL(AUDIO_LATENCY),
MENU_LABEL(AUDIO_RESAMPLER_QUALITY),
MENU_LABEL(AUDIO_WASAPI_EXCLUSIVE_MODE),
@ -2057,7 +2084,7 @@ enum msg_hash_enums
MENU_LABEL(CHEAT_COPY_BEFORE),
MENU_LABEL(CHEAT_DELETE),
MENU_LABEL(CHEAT_START_OR_CONT),
MENU_LBL_H(CHEAT_START_OR_CONT),
MENU_LABEL(CHEAT_START_OR_RESTART),
MENU_LABEL(CHEAT_SEARCH_EXACT),
MENU_LABEL(CHEAT_SEARCH_LT),
@ -2103,7 +2130,7 @@ enum msg_hash_enums
MENU_LABEL(SAVE_FILE_COMPRESSION),
MENU_LABEL(SAVESTATE_FILE_COMPRESSION),
MENU_LABEL(SUSPEND_SCREENSAVER_ENABLE),
MENU_LBL_H(SUSPEND_SCREENSAVER_ENABLE),
MENU_ENUM_LABEL_VOLUME_UP,
MENU_ENUM_LABEL_VOLUME_DOWN,
@ -2125,19 +2152,19 @@ enum msg_hash_enums
MENU_LABEL(LOCALAP_ENABLE),
MENU_LABEL(TIMEZONE),
#endif
MENU_LABEL(NETPLAY_DELAY_FRAMES),
MENU_LABEL(NETPLAY_DELAY_FRAMES), /* deprecated */
MENU_LABEL(NETPLAY_PUBLIC_ANNOUNCE),
MENU_LABEL(NETPLAY_START_AS_SPECTATOR),
MENU_LBL_H(NETPLAY_START_AS_SPECTATOR),
MENU_LABEL(NETPLAY_FADE_CHAT),
MENU_LABEL(NETPLAY_CHAT_COLOR_NAME),
MENU_LABEL(NETPLAY_CHAT_COLOR_MSG),
MENU_LABEL(NETPLAY_ALLOW_PAUSING),
MENU_LABEL(NETPLAY_ALLOW_SLAVES),
MENU_LABEL(NETPLAY_REQUIRE_SLAVES),
MENU_LABEL(NETPLAY_CHECK_FRAMES),
MENU_LABEL(NETPLAY_INPUT_LATENCY_FRAMES_MIN),
MENU_LABEL(NETPLAY_INPUT_LATENCY_FRAMES_RANGE),
MENU_LABEL(NETPLAY_SPECTATOR_MODE_ENABLE),
MENU_LBL_H(NETPLAY_CHECK_FRAMES),
MENU_LBL_H(NETPLAY_INPUT_LATENCY_FRAMES_MIN),
MENU_LBL_H(NETPLAY_INPUT_LATENCY_FRAMES_RANGE),
MENU_LABEL(NETPLAY_SPECTATOR_MODE_ENABLE), /* deprecated */
MENU_LABEL(NETPLAY_TCP_UDP_PORT),
MENU_LABEL(NETPLAY_MAX_CONNECTIONS),
MENU_LABEL(NETPLAY_MAX_PING),
@ -2168,7 +2195,7 @@ enum msg_hash_enums
MENU_LABEL(NETPLAY_IP_ADDRESS),
MENU_LABEL(NETPLAY_PASSWORD),
MENU_LABEL(NETPLAY_SPECTATE_PASSWORD),
MENU_LABEL(NETPLAY_MODE),
MENU_LABEL(NETPLAY_MODE), /* deprecated */
MENU_LABEL(PERFCNT_ENABLE),
MENU_LABEL(OVERLAY_SCALE_LANDSCAPE),
MENU_LABEL(OVERLAY_ASPECT_ADJUST_LANDSCAPE),
@ -2193,14 +2220,15 @@ enum msg_hash_enums
MENU_LABEL(OVERLAY_CENTER_X),
MENU_LABEL(OVERLAY_CENTER_Y),
MENU_LABEL(FASTFORWARD_RATIO),
MENU_LBL_H(FASTFORWARD_RATIO),
MENU_LABEL(FASTFORWARD_FRAMESKIP),
MENU_LABEL(VRR_RUNLOOP_ENABLE),
MENU_LBL_H(VRR_RUNLOOP_ENABLE),
MENU_LABEL(REWIND_ENABLE),
MENU_LABEL(CHEAT_APPLY_AFTER_TOGGLE),
MENU_LABEL(CHEAT_APPLY_AFTER_LOAD),
MENU_ENUM_LABEL_ENABLE_HOTKEY,
MENU_ENUM_LABEL_HELP_ENABLE_HOTKEY,
MENU_ENUM_LABEL_DISK_EJECT_TOGGLE,
MENU_ENUM_LABEL_DISK_NEXT,
MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE,
@ -2209,8 +2237,8 @@ enum msg_hash_enums
MENU_LABEL(STATE_SLOT_INCREASE),
MENU_LABEL(FRONTEND_LOG_LEVEL),
MENU_LABEL(LIBRETRO_LOG_LEVEL),
MENU_LABEL(AUTOSAVE_INTERVAL),
MENU_LBL_H(LIBRETRO_LOG_LEVEL),
MENU_LBL_H(AUTOSAVE_INTERVAL),
MENU_LABEL(CONFIG_SAVE_ON_EXIT),
MENU_LABEL(REMAP_SAVE_ON_EXIT),
MENU_LABEL(CONFIGURATION_LIST),
@ -2246,7 +2274,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC,
MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC,
MENU_LABEL(SAVEFILE_DIRECTORY),
MENU_LBL_H(SAVEFILE_DIRECTORY),
MENU_LABEL(SAVESTATE_DIRECTORY),
MENU_LABEL(DYNAMIC_WALLPAPERS_DIRECTORY),
MENU_LABEL(THUMBNAILS_DIRECTORY),
@ -2378,9 +2406,11 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VIDEO_SHADER_DEFAULT_FILTER,
MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS,
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_FILTER_PASS,
MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS,
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_SCALE_PASS,
MENU_LABEL(VIDEO_SHADER_NUM_PASSES),
MENU_LBL_H(VIDEO_SHADER_NUM_PASSES),
MENU_LABEL(CHEAT_NUM_PASSES),
MENU_LABEL(NO_DISK),
@ -2468,8 +2498,8 @@ enum msg_hash_enums
MENU_LABEL(NETWORK_USER_REMOTE_ENABLE),
MENU_LABEL(DUMMY_ON_CORE_SHUTDOWN),
MENU_LABEL(CHECK_FOR_MISSING_FIRMWARE),
MENU_LBL_H(DUMMY_ON_CORE_SHUTDOWN),
MENU_LBL_H(CHECK_FOR_MISSING_FIRMWARE),
MENU_LABEL(CORE_OPTION_CATEGORY_ENABLE),
MENU_LABEL(CORE_INFO_CACHE_ENABLE),
#ifndef HAVE_DYNAMIC
@ -2523,7 +2553,7 @@ enum msg_hash_enums
MENU_LABEL(SUBSYSTEM_ADD),
MENU_LABEL(SUBSYSTEM_LOAD),
MENU_LABEL(CORE_LIST),
MENU_LBL_H(CORE_LIST),
MENU_LABEL(DOWNLOAD_CORE),
MENU_LABEL(SIDELOAD_CORE_LIST),
MENU_LABEL(SIDELOAD_CORE_ERROR),
@ -2536,7 +2566,7 @@ enum msg_hash_enums
MENU_LABEL(SETTINGS),
MENU_LABEL(FRONTEND_COUNTERS),
MENU_LABEL(CORE_COUNTERS),
MENU_LABEL(LOAD_CONTENT_HISTORY),
MENU_LBL_H(LOAD_CONTENT_HISTORY),
MENU_LABEL(LOAD_DISC),
MENU_LABEL(DUMP_DISC),
#ifdef HAVE_LAKKA
@ -2628,11 +2658,12 @@ enum msg_hash_enums
MENU_ENUM_LABEL_CURSOR_MANAGER_LIST,
MENU_ENUM_LABEL_VALUE_SUPPORTED_CORES,
MENU_ENUM_LABEL_VIDEO_SHADER_PASS,
MENU_ENUM_LABEL_HELP_VIDEO_SHADER_PASS,
MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_TWO,
MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PREPEND_TWO,
MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_APPEND_TWO,
MENU_LABEL(VIDEO_SHADER_PRESET),
MENU_LBL_H(VIDEO_SHADER_PRESET),
MENU_LABEL(VIDEO_SHADER_PRESET_PREPEND),
MENU_LABEL(VIDEO_SHADER_PRESET_APPEND),
MENU_LABEL(CHEAT_FILE_LOAD),
@ -2771,8 +2802,8 @@ enum msg_hash_enums
MENU_LABEL(CORE_UPDATER_SETTINGS),
MENU_LABEL(LAKKA_SERVICES),
MENU_LABEL(SHADER_APPLY_CHANGES),
MENU_LABEL(SHADER_WATCH_FOR_CHANGES),
MENU_LBL_H(SHADER_APPLY_CHANGES),
MENU_LBL_H(SHADER_WATCH_FOR_CHANGES),
MENU_LABEL(VIDEO_SHADER_REMEMBER_LAST_DIR),
MENU_LABEL(SAVE_NEW_CONFIG),
MENU_LABEL(ONSCREEN_DISPLAY_SETTINGS),
@ -2833,7 +2864,7 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_SHADER_PRESET_SAVE_CORE),
MENU_LABEL(VIDEO_SHADER_PRESET_SAVE_PARENT),
MENU_LABEL(VIDEO_SHADER_PRESET_SAVE_GAME),
MENU_LABEL(USER_LANGUAGE),
MENU_LBL_H(USER_LANGUAGE),
MENU_LABEL(NETPLAY_NICKNAME),
MENU_LABEL(VIDEO_VI_WIDTH),
MENU_LABEL(VIDEO_OVERSCAN_CORRECTION_TOP),