diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index d9f60eac47..0c070ea09a 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -3549,3 +3549,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 2f0bb64b8e..e20e51ba38 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -3333,3 +3333,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index 9c42ab1356..7e350cdd85 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -3325,3 +3325,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 21043221fc..68fc531b39 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -3435,3 +3435,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index fede89901c..426c73ae92 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -3200,3 +3200,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index 7d9962f627..65e6f19abd 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -7450,3 +7450,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync está activado hasta que el rendimiento sea inferior al necesario para mantener el refresco de pantalla. Puede minimizar los tirones cuando hay caidas de fps y es més eficiente energeticamente." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 24d45b77ee..fd2884aed4 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -3359,3 +3359,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index 11074b5ab2..22376f3596 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -3419,3 +3419,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index bfbb911e3a..202464ff82 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -3820,3 +3820,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index a36c182ecd..a7d93d475f 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -3320,3 +3320,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 2272899afd..09c674c2ef 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -365,6 +365,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_VIDEO_FILTER, "deferred_video_filter") MSG_HASH(MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST, "deferred_video_settings_list") +MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST, + "deferred_crt_switchres_settings_list") MSG_HASH(MENU_ENUM_LABEL_DEFERRED_WIFI_SETTINGS_LIST, "deferred_wifi_settings_list") MSG_HASH(MENU_ENUM_LABEL_DELETE_ENTRY, @@ -1213,6 +1215,8 @@ MSG_HASH(MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER, "video_scale_integer") MSG_HASH(MENU_ENUM_LABEL_VIDEO_SETTINGS, "video_settings") +MSG_HASH(MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS, + "crt_switchres_settings") MSG_HASH(MENU_ENUM_LABEL_VIDEO_SHADER_DIR, "video_shader_dir") MSG_HASH(MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS, diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index e34bf9b3e3..e73387544e 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -3202,3 +3202,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_pl.h b/intl/msg_hash_pl.h index 015036fd39..ffaea8671d 100644 --- a/intl/msg_hash_pl.h +++ b/intl/msg_hash_pl.h @@ -3630,3 +3630,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync jest włączony, dopóki wydajność nie spadnie poniżej docelowej częstotliwości odświeżania. Może zminimalizować zacinanie, gdy wydajność spada poniżej czasu rzeczywistego oraz może być bardziej energooszczędne." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index 651740f6da..1f97a889dd 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -7449,3 +7449,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index b153480cfc..2f08cfc014 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -3294,3 +3294,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index b1ccf90a49..9bcf33ec98 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -3490,3 +3490,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 391ca70ee5..1b5a67aa45 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -7450,3 +7450,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index dcc872ed5e..b253310d21 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -3357,3 +3357,11 @@ MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC, "V-Sync is enabled until performance falls below the target refresh rate. Can minimize stuttering when performance falls below realtime, and can be more energy efficient." ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + "CRT SwitchRes" + ) +MSG_HASH( + MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS, + "For CRT displays only. Attempts to use exact core/game resolution and refresh rate." + ) diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index 5312f3f507..8415ec7010 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -134,6 +134,7 @@ generic_deferred_push(deferred_push_accounts_list, DISPLAYLIST_ generic_deferred_push(deferred_push_driver_settings_list, DISPLAYLIST_DRIVER_SETTINGS_LIST) generic_deferred_push(deferred_push_core_settings_list, DISPLAYLIST_CORE_SETTINGS_LIST) generic_deferred_push(deferred_push_video_settings_list, DISPLAYLIST_VIDEO_SETTINGS_LIST) +generic_deferred_push(deferred_push_crt_switchres_settings_list, DISPLAYLIST_CRT_SWITCHRES_SETTINGS_LIST) generic_deferred_push(deferred_push_configuration_settings_list, DISPLAYLIST_CONFIGURATION_SETTINGS_LIST) generic_deferred_push(deferred_push_saving_settings_list, DISPLAYLIST_SAVING_SETTINGS_LIST) generic_deferred_push(deferred_push_mixer_stream_settings_list, DISPLAYLIST_MIXER_STREAM_SETTINGS_LIST) @@ -842,6 +843,11 @@ static int menu_cbs_init_bind_deferred_push_compare_label( { BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_settings_list); } + else if (strstr(label, + msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST))) + { + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_crt_switchres_settings_list); + } else if (strstr(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST))) { @@ -1191,6 +1197,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label( case MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_video_settings_list); break; + case MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_crt_switchres_settings_list); + break; case MENU_ENUM_LABEL_DEFERRED_CONFIGURATION_SETTINGS_LIST: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_configuration_settings_list); break; diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 6bce681d5f..69cb2d7507 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -270,6 +270,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl) return MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST; case ACTION_OK_DL_VIDEO_SETTINGS_LIST: return MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST; + case ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST: + return MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST; case ACTION_OK_DL_CONFIGURATION_SETTINGS_LIST: return MENU_ENUM_LABEL_DEFERRED_CONFIGURATION_SETTINGS_LIST; case ACTION_OK_DL_SAVING_SETTINGS_LIST: @@ -878,6 +880,7 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_DRIVER_SETTINGS_LIST: case ACTION_OK_DL_CORE_SETTINGS_LIST: case ACTION_OK_DL_VIDEO_SETTINGS_LIST: + case ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST: case ACTION_OK_DL_CONFIGURATION_SETTINGS_LIST: case ACTION_OK_DL_SAVING_SETTINGS_LIST: case ACTION_OK_DL_LOGGING_SETTINGS_LIST: @@ -3772,6 +3775,7 @@ default_action_ok_func(action_ok_open_archive_detect_core, ACTION_OK_DL_OPEN_ARC default_action_ok_func(action_ok_file_load_music, ACTION_OK_DL_MUSIC) default_action_ok_func(action_ok_push_accounts_list, ACTION_OK_DL_ACCOUNTS_LIST) default_action_ok_func(action_ok_push_driver_settings_list, ACTION_OK_DL_DRIVER_SETTINGS_LIST) +default_action_ok_func(action_ok_push_crt_switchres_settings_list, ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST) default_action_ok_func(action_ok_push_video_settings_list, ACTION_OK_DL_VIDEO_SETTINGS_LIST) default_action_ok_func(action_ok_push_configuration_settings_list, ACTION_OK_DL_CONFIGURATION_SETTINGS_LIST) default_action_ok_func(action_ok_push_core_settings_list, ACTION_OK_DL_CORE_SETTINGS_LIST) @@ -4826,6 +4830,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_VIDEO_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_video_settings_list); break; + case MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS: + BIND_ACTION_OK(cbs, action_ok_push_crt_switchres_settings_list); + break; case MENU_ENUM_LABEL_AUDIO_SETTINGS: BIND_ACTION_OK(cbs, action_ok_push_audio_settings_list); break; diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 70727956c8..ead0767075 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -98,6 +98,7 @@ default_sublabel_macro(action_bind_sublabel_menu_views_settings_list, MENU_ default_sublabel_macro(action_bind_sublabel_quick_menu_views_settings_list, MENU_ENUM_SUBLABEL_QUICK_MENU_VIEWS_SETTINGS) default_sublabel_macro(action_bind_sublabel_menu_settings_list, MENU_ENUM_SUBLABEL_MENU_SETTINGS) default_sublabel_macro(action_bind_sublabel_video_settings_list, MENU_ENUM_SUBLABEL_VIDEO_SETTINGS) +default_sublabel_macro(action_bind_sublabel_crt_switchres_settings_list, MENU_ENUM_SUBLABEL_CRT_SWITCHRES_SETTINGS) default_sublabel_macro(action_bind_sublabel_suspend_screensaver_enable, MENU_ENUM_SUBLABEL_SUSPEND_SCREENSAVER_ENABLE) default_sublabel_macro(action_bind_sublabel_video_window_scale, MENU_ENUM_SUBLABEL_VIDEO_WINDOW_SCALE) default_sublabel_macro(action_bind_sublabel_audio_settings_list, MENU_ENUM_SUBLABEL_AUDIO_SETTINGS) @@ -1813,6 +1814,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_VIDEO_SETTINGS: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_settings_list); break; + case MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_crt_switchres_settings_list); + break; case MENU_ENUM_LABEL_AUDIO_SETTINGS: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_settings_list); break; diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 99f0f72c81..d0404ab883 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -112,6 +112,7 @@ default_title_macro(action_get_input_hotkey_binds_settings_list,MENU_ENUM_LABEL_ default_title_macro(action_get_driver_settings_list, MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS) default_title_macro(action_get_core_settings_list, MENU_ENUM_LABEL_VALUE_CORE_SETTINGS) default_title_macro(action_get_video_settings_list, MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS) +default_title_macro(action_get_crt_switchres_settings_list, MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS) default_title_macro(action_get_configuration_settings_list, MENU_ENUM_LABEL_VALUE_CONFIGURATION_SETTINGS) default_title_macro(action_get_saving_settings_list, MENU_ENUM_LABEL_VALUE_SAVING_SETTINGS) default_title_macro(action_get_logging_settings_list, MENU_ENUM_LABEL_VALUE_LOGGING_SETTINGS) @@ -538,6 +539,11 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, BIND_ACTION_GET_TITLE(cbs, action_get_quick_menu_override_options); return 0; } + else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST))) + { + BIND_ACTION_GET_TITLE(cbs, action_get_crt_switchres_settings_list); + return 0; + } else if (cbs->enum_idx != MSG_UNKNOWN) { switch (cbs->enum_idx) diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index 7f0ca78c34..65b17fc2cc 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -67,6 +67,7 @@ enum ACTION_OK_DL_INPUT_SETTINGS_LIST, ACTION_OK_DL_DRIVER_SETTINGS_LIST, ACTION_OK_DL_VIDEO_SETTINGS_LIST, + ACTION_OK_DL_CRT_SWITCHRES_SETTINGS_LIST, ACTION_OK_DL_AUDIO_SETTINGS_LIST, ACTION_OK_DL_AUDIO_MIXER_SETTINGS_LIST, ACTION_OK_DL_LATENCY_SETTINGS_LIST, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 5d2e3377be..6d6a845bde 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -6284,6 +6284,19 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) MENU_ENUM_LABEL_MIDI_VOLUME, PARSE_ONLY_UINT, false); + info->need_refresh = true; + info->need_push = true; + break; + case DISPLAYLIST_CRT_SWITCHRES_SETTINGS_LIST: + menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); + + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION, + PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER, + PARSE_ONLY_UINT, false); + info->need_refresh = true; info->need_push = true; break; @@ -6295,12 +6308,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_SCREEN_RESOLUTION, PARSE_ACTION, false); - menu_displaylist_parse_settings_enum(menu, info, - MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(menu, info, - MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER, - PARSE_ONLY_UINT, false); menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_PAL60_ENABLE, PARSE_ONLY_BOOL, false); @@ -6669,6 +6676,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) MENU_ENUM_LABEL_DRIVER_SETTINGS, PARSE_ACTION, false); ret = menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_VIDEO_SETTINGS, PARSE_ACTION, false); + ret = menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS, PARSE_ACTION, false); ret = menu_displaylist_parse_settings_enum(menu, info, MENU_ENUM_LABEL_AUDIO_SETTINGS, PARSE_ACTION, false); ret = menu_displaylist_parse_settings_enum(menu, info, diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 0109486219..c22323d306 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -115,6 +115,7 @@ enum menu_displaylist_ctl_state DISPLAYLIST_ACCOUNTS_LIST, DISPLAYLIST_MIXER_STREAM_SETTINGS_LIST, DISPLAYLIST_DRIVER_SETTINGS_LIST, + DISPLAYLIST_CRT_SWITCHRES_SETTINGS_LIST, DISPLAYLIST_VIDEO_SETTINGS_LIST, DISPLAYLIST_CONFIGURATION_SETTINGS_LIST, DISPLAYLIST_SAVING_SETTINGS_LIST, diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 298208640c..44c24bdc0a 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -107,6 +107,7 @@ enum settings_list_type SETTINGS_LIST_CHEAT_SEARCH, SETTINGS_LIST_CHEATS, SETTINGS_LIST_VIDEO, + SETTINGS_LIST_CRT_SWITCHRES, SETTINGS_LIST_AUDIO, SETTINGS_LIST_INPUT, SETTINGS_LIST_INPUT_HOTKEY, @@ -2527,6 +2528,14 @@ static bool setting_append_list( &subgroup_info, parent_group); + CONFIG_ACTION( + list, list_info, + MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS, + MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS, + &group_info, + &subgroup_info, + parent_group); + CONFIG_ACTION( list, list_info, MENU_ENUM_LABEL_AUDIO_SETTINGS, @@ -3775,34 +3784,6 @@ static bool setting_append_list( SD_FLAG_NONE); - CONFIG_BOOL( - list, list_info, - &settings->bools.crt_switch_resolution, - MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION, - MENU_ENUM_LABEL_VALUE_CRT_SWITCH_RESOLUTION, - crt_switch_resolution, - MENU_ENUM_LABEL_VALUE_OFF, - MENU_ENUM_LABEL_VALUE_ON, - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler, - SD_FLAG_ADVANCED - ); - - CONFIG_UINT( - list, list_info, - &settings->uints.crt_switch_resolution_super, - MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER, - MENU_ENUM_LABEL_VALUE_CRT_SWITCH_RESOLUTION_SUPER, - crt_switch_resolution_super, - &group_info, - &subgroup_info, - parent_group, - general_write_handler, - general_read_handler); - settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); CONFIG_BOOL( list, list_info, @@ -4518,6 +4499,47 @@ static bool setting_append_list( END_GROUP(list, list_info, parent_group); } break; + case SETTINGS_LIST_CRT_SWITCHRES: + START_GROUP(list, list_info, &group_info, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CRT_SWITCHRES_SETTINGS), parent_group); + menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_CRT_SWITCHRES_SETTINGS); + + parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS); + + START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group); + + CONFIG_BOOL( + list, list_info, + &settings->bools.crt_switch_resolution, + MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION, + MENU_ENUM_LABEL_VALUE_CRT_SWITCH_RESOLUTION, + crt_switch_resolution, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_ADVANCED + ); + + CONFIG_UINT( + list, list_info, + &settings->uints.crt_switch_resolution_super, + MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER, + MENU_ENUM_LABEL_VALUE_CRT_SWITCH_RESOLUTION_SUPER, + crt_switch_resolution_super, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler); + settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED); + + END_SUB_GROUP(list, list_info, parent_group); + END_GROUP(list, list_info, parent_group); + break; case SETTINGS_LIST_AUDIO: START_GROUP(list, list_info, &group_info, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_AUDIO_SETTINGS), parent_group); @@ -8855,6 +8877,7 @@ static rarch_setting_t *menu_setting_new_internal(rarch_setting_info_t *list_inf SETTINGS_LIST_CHEAT_SEARCH, SETTINGS_LIST_CHEATS, SETTINGS_LIST_VIDEO, + SETTINGS_LIST_CRT_SWITCHRES, SETTINGS_LIST_AUDIO, SETTINGS_LIST_INPUT, SETTINGS_LIST_INPUT_HOTKEY, diff --git a/msg_hash.h b/msg_hash.h index 4287dffeb4..251e3e9d1b 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -1023,6 +1023,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_DEFERRED_LATENCY_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_DRIVER_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_VIDEO_SETTINGS_LIST, + MENU_ENUM_LABEL_DEFERRED_CRT_SWITCHRES_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_CONFIGURATION_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_SAVING_SETTINGS_LIST, MENU_ENUM_LABEL_DEFERRED_FRAME_THROTTLE_SETTINGS_LIST, @@ -1589,6 +1590,7 @@ enum msg_hash_enums MENU_LABEL(JOYPAD_AUTOCONFIG_DIR), MENU_LABEL(DRIVER_SETTINGS), MENU_LABEL(VIDEO_SETTINGS), + MENU_LABEL(CRT_SWITCHRES_SETTINGS), MENU_LABEL(AUDIO_SETTINGS), MENU_LABEL(AUDIO_MIXER_SETTINGS), MENU_LABEL(LATENCY_SETTINGS),