mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
(Menu) Runahead global setting now hides the related options
This commit is contained in:
parent
de1e66f7a9
commit
021102c62d
@ -5944,15 +5944,15 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
|
||||
#endif
|
||||
case DISPLAYLIST_LATENCY_SETTINGS_LIST:
|
||||
{
|
||||
menu_displaylist_build_info_t build_list[] = {
|
||||
{MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, PARSE_ONLY_UINT },
|
||||
{MENU_ENUM_LABEL_AUDIO_LATENCY, PARSE_ONLY_UINT },
|
||||
{MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR, PARSE_ONLY_UINT },
|
||||
{MENU_ENUM_LABEL_INPUT_BLOCK_TIMEOUT, PARSE_ONLY_UINT },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_ENABLED, PARSE_ONLY_BOOL },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, PARSE_ONLY_UINT },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE, PARSE_ONLY_BOOL },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS, PARSE_ONLY_BOOL },
|
||||
menu_displaylist_build_info_selective_t build_list[] = {
|
||||
{MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, PARSE_ONLY_UINT, true },
|
||||
{MENU_ENUM_LABEL_AUDIO_LATENCY, PARSE_ONLY_UINT, true },
|
||||
{MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR, PARSE_ONLY_UINT, true },
|
||||
{MENU_ENUM_LABEL_INPUT_BLOCK_TIMEOUT, PARSE_ONLY_UINT, true },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_ENABLED, PARSE_ONLY_BOOL, true },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, PARSE_ONLY_UINT, false },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE, PARSE_ONLY_BOOL, false },
|
||||
{MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS, PARSE_ONLY_BOOL, false },
|
||||
};
|
||||
|
||||
if (video_driver_test_all_flags(GFX_CTX_FLAGS_CUSTOMIZABLE_SWAPCHAIN_IMAGES))
|
||||
@ -5973,10 +5973,32 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
|
||||
PARSE_ONLY_UINT, false);
|
||||
count++;
|
||||
}
|
||||
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (settings->bools.run_ahead_enabled)
|
||||
{
|
||||
for (i = 0; i < ARRAY_SIZE(build_list); i++)
|
||||
{
|
||||
switch (build_list[i].enum_idx)
|
||||
{
|
||||
case MENU_ENUM_LABEL_RUN_AHEAD_FRAMES:
|
||||
case MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE:
|
||||
case MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS:
|
||||
build_list[i].checked = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(build_list); i++)
|
||||
{
|
||||
if (menu_displaylist_parse_settings_enum(list,
|
||||
if (
|
||||
build_list[i].checked &&
|
||||
menu_displaylist_parse_settings_enum(list,
|
||||
build_list[i].enum_idx, build_list[i].parse_type,
|
||||
false) == 0)
|
||||
count++;
|
||||
|
@ -686,6 +686,20 @@ int setting_uint_action_right_default(
|
||||
return 0;
|
||||
}
|
||||
|
||||
int setting_bool_action_right_with_refresh(
|
||||
rarch_setting_t *setting, bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
setting_set_with_string_representation(setting,
|
||||
*setting->value.target.boolean ? "false" : "true");
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int setting_uint_action_right_with_refresh(
|
||||
rarch_setting_t *setting, bool wraparound)
|
||||
{
|
||||
@ -698,6 +712,19 @@ int setting_uint_action_right_with_refresh(
|
||||
return retval;
|
||||
}
|
||||
|
||||
int setting_bool_action_left_with_refresh(rarch_setting_t *setting, bool wraparound)
|
||||
{
|
||||
bool refresh = false;
|
||||
|
||||
setting_set_with_string_representation(setting,
|
||||
*setting->value.target.boolean ? "false" : "true");
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int setting_uint_action_left_with_refresh(rarch_setting_t *setting, bool wraparound)
|
||||
{
|
||||
int retval = setting_uint_action_left_default(setting, wraparound);
|
||||
@ -11501,6 +11528,8 @@ static bool setting_append_list(
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE
|
||||
);
|
||||
(*list)[list_info->index - 1].action_left = setting_bool_action_left_with_refresh;
|
||||
(*list)[list_info->index - 1].action_right = setting_bool_action_right_with_refresh;
|
||||
|
||||
CONFIG_UINT(
|
||||
list, list_info,
|
||||
|
Loading…
x
Reference in New Issue
Block a user