Add config + input related sublabels (#14781)

This commit is contained in:
sonninnos 2022-12-30 01:48:04 +02:00 committed by GitHub
parent 76b3c09ea9
commit 0be1aa0420
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 112 additions and 39 deletions

View File

@ -632,12 +632,17 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n"
"A value of 0 disables autosave.");
break;
case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
case MENU_ENUM_LABEL_VALUE_INPUT_ADC_TYPE:
snprintf(s, len,
"Input Device Type. \n"
"Map specified analog stick for D-Pad input. \n"
" \n"
"Picks which device type to use. This is \n"
"relevant for the libretro core itself.");
"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.");
break;
case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
snprintf(s, len,

View File

@ -1052,21 +1052,33 @@ MSG_HASH(
"Load Configuration"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RESET_TO_DEFAULT_CONFIG,
"Reset to Defaults"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RESET_TO_DEFAULT_CONFIG,
"Reset the current configuration to default values."
MENU_ENUM_SUBLABEL_CONFIGURATIONS,
"Load existing configuration and replace current values."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SAVE_CURRENT_CONFIG,
"Save Current Configuration"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_SAVE_CURRENT_CONFIG,
"Overwrite current configuration file."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SAVE_NEW_CONFIG,
"Save New Configuration"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_SAVE_NEW_CONFIG,
"Save current configuration to separate file."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RESET_TO_DEFAULT_CONFIG,
"Reset to Defaults"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RESET_TO_DEFAULT_CONFIG,
"Reset current configuration to default values."
)
/* Main Menu > Help */
@ -3207,13 +3219,17 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_DEVICE_TYPE,
"Device Type"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_DEVICE_TYPE,
"Specifies the emulated controller type."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_ADC_TYPE,
"Analog to Digital Type"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_ADC_TYPE,
"Use specified analog stick for D-Pad input. If core has native analog support, D-Pad mapping will be disabled unless a '(Forced)' option is selected. If D-Pad mapping is forced, core will receive no analog input from specified stick."
"Use specified analog stick for D-Pad input. 'Forced' modes override core native analog input."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_DEVICE_INDEX,
@ -3225,7 +3241,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_REMAP_PORT,
"Specifies which 'core' port (typically player number) will receive input from frontend controller port %u."
"Specifies which core port will receive input from frontend controller port %u."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_BIND_ALL,

View File

@ -228,11 +228,13 @@ DEFAULT_SUBLABEL_MACRO(menu_action_sublabel_setting_audio_mixer_stream_remove,
DEFAULT_SUBLABEL_MACRO(menu_action_sublabel_setting_audio_mixer_stream_volume,
MENU_ENUM_SUBLABEL_MIXER_ACTION_VOLUME)
#endif
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_accessibility_enabled, MENU_ENUM_SUBLABEL_ACCESSIBILITY_ENABLED
)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_accessibility_narrator_speech_speed, MENU_ENUM_SUBLABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED
)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_reset_to_default_config, MENU_ENUM_SUBLABEL_RESET_TO_DEFAULT_CONFIG)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_accessibility_enabled, MENU_ENUM_SUBLABEL_ACCESSIBILITY_ENABLED)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_accessibility_narrator_speech_speed, MENU_ENUM_SUBLABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_load_config, MENU_ENUM_SUBLABEL_CONFIGURATIONS)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_save_current_config, MENU_ENUM_SUBLABEL_SAVE_CURRENT_CONFIG)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_save_new_config, MENU_ENUM_SUBLABEL_SAVE_NEW_CONFIG)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_reset_to_default_config, MENU_ENUM_SUBLABEL_RESET_TO_DEFAULT_CONFIG)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_quick_menu_override_options, MENU_ENUM_SUBLABEL_QUICK_MENU_OVERRIDE_OPTIONS)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_quick_menu_start_streaming, MENU_ENUM_SUBLABEL_QUICK_MENU_START_STREAMING)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_quick_menu_start_recording, MENU_ENUM_SUBLABEL_QUICK_MENU_START_RECORDING)
@ -437,6 +439,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_meta_overlay_next, ME
#endif
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_hotkey_block_delay, MENU_ENUM_SUBLABEL_INPUT_HOTKEY_BLOCK_DELAY)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_device_type, MENU_ENUM_SUBLABEL_INPUT_DEVICE_TYPE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_adc_type, MENU_ENUM_SUBLABEL_INPUT_ADC_TYPE)
#ifdef HAVE_MATERIALUI
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_materialui_icons_enable, MENU_ENUM_SUBLABEL_MATERIALUI_ICONS_ENABLE)
@ -2062,8 +2065,24 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
return 0;
}
/* Mapped input ports require special handling */
if (type == MENU_SETTINGS_INPUT_INPUT_REMAP_PORT)
/* Quick Menu Port Controls require special handling */
if ( type >= MENU_SETTINGS_REMAPPING_PORT_BEGIN
&& type <= MENU_SETTINGS_REMAPPING_PORT_END)
{
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_user_bind_settings);
return 0;
}
else if (type == MENU_SETTINGS_INPUT_LIBRETRO_DEVICE)
{
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_device_type);
return 0;
}
else if (type == MENU_SETTINGS_INPUT_ANALOG_DPAD_MODE)
{
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_adc_type);
return 0;
}
else if (type == MENU_SETTINGS_INPUT_INPUT_REMAP_PORT)
{
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_remap_port);
return 0;
@ -3108,6 +3127,15 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_SHADER_OPTIONS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_shader_options);
break;
case MENU_ENUM_LABEL_CONFIGURATIONS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_load_config);
break;
case MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_save_current_config);
break;
case MENU_ENUM_LABEL_SAVE_NEW_CONFIG:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_save_new_config);
break;
case MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_reset_to_default_config);
break;

View File

@ -9380,12 +9380,6 @@ unsigned menu_displaylist_build_list(
MENU_ENUM_LABEL_CONFIGURATIONS,
MENU_SETTING_ACTION, 0, 0, NULL))
count++;
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESET_TO_DEFAULT_CONFIG),
msg_hash_to_str(MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG),
MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG,
MENU_SETTING_ACTION, 0, 0, NULL))
count++;
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SAVE_CURRENT_CONFIG),
msg_hash_to_str(MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG),
@ -9398,6 +9392,12 @@ unsigned menu_displaylist_build_list(
MENU_ENUM_LABEL_SAVE_NEW_CONFIG,
MENU_SETTING_ACTION, 0, 0, NULL))
count++;
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RESET_TO_DEFAULT_CONFIG),
msg_hash_to_str(MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG),
MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG,
MENU_SETTING_ACTION, 0, 0, NULL))
count++;
break;
case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
{

View File

@ -7751,11 +7751,34 @@ static int generic_menu_iterate(
menu->menu_state_msg, sizeof(menu->menu_state_msg));
else
{
strlcpy(menu->menu_state_msg,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE),
sizeof(menu->menu_state_msg));
/* Special handling for input and remap items */
if ( ( type >= MENU_SETTINGS_REMAPPING_PORT_BEGIN
&& type <= MENU_SETTINGS_REMAPPING_PORT_END)
|| type == MENU_SETTINGS_INPUT_LIBRETRO_DEVICE
|| type == MENU_SETTINGS_INPUT_INPUT_REMAP_PORT)
{
get_current_menu_sublabel(
menu_st,
menu->menu_state_msg, sizeof(menu->menu_state_msg));
ret = 0;
ret = 0;
}
/* Use detailed help text for 'Analog to Digital', which
* is the first item in global input settings */
else if (type == MENU_SETTINGS_INPUT_ANALOG_DPAD_MODE
|| type == MENU_SETTINGS_INPUT_BEGIN)
{
ret = msg_hash_get_help_enum(MENU_ENUM_LABEL_VALUE_INPUT_ADC_TYPE,
menu->menu_state_msg, sizeof(menu->menu_state_msg));
}
else
{
strlcpy(menu->menu_state_msg,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE),
sizeof(menu->menu_state_msg));
ret = 0;
}
}
}
}

View File

@ -9600,16 +9600,6 @@ static bool setting_append_list(
parent_group);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG,
MENU_ENUM_LABEL_VALUE_RESET_TO_DEFAULT_CONFIG,
&group_info,
&subgroup_info,
parent_group);
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_MENU_RESET_TO_DEFAULT_CONFIG);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG,
@ -9630,6 +9620,16 @@ static bool setting_append_list(
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_MENU_SAVE_CONFIG);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_RESET_TO_DEFAULT_CONFIG,
MENU_ENUM_LABEL_VALUE_RESET_TO_DEFAULT_CONFIG,
&group_info,
&subgroup_info,
parent_group);
MENU_SETTINGS_LIST_CURRENT_ADD_CMD(list, list_info, CMD_EVENT_MENU_RESET_TO_DEFAULT_CONFIG);
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
CONFIG_ACTION(
list, list_info,
MENU_ENUM_LABEL_SAVE_CURRENT_CONFIG_OVERRIDE_CORE,

View File

@ -997,6 +997,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_INPUT_MOUSE_INDEX,
MENU_ENUM_LABEL_VALUE_INPUT_REMAP_PORT,
MENU_ENUM_SUBLABEL_INPUT_DEVICE_TYPE,
MENU_ENUM_SUBLABEL_INPUT_ADC_TYPE,
MENU_ENUM_SUBLABEL_INPUT_REMAP_PORT,