diff --git a/config.def.h b/config.def.h index 37781ac9cf..aa8b126937 100644 --- a/config.def.h +++ b/config.def.h @@ -242,6 +242,7 @@ static bool quick_menu_show_undo_save_load_state = true; static bool quick_menu_show_add_to_favorites = true; static bool quick_menu_show_options = true; static bool quick_menu_show_controls = true; +static bool quick_menu_show_cheats = true; static bool menu_show_online_updater = true; diff --git a/configuration.c b/configuration.c index 4e217f7316..bcc10275ef 100644 --- a/configuration.c +++ b/configuration.c @@ -1197,6 +1197,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings, SETTING_BOOL("quick_menu_show_add_to_favorites", &settings->bools.quick_menu_show_add_to_favorites, true, quick_menu_show_add_to_favorites, false); SETTING_BOOL("quick_menu_show_options", &settings->bools.quick_menu_show_options, true, quick_menu_show_options, false); SETTING_BOOL("quick_menu_show_controls", &settings->bools.quick_menu_show_controls, true, quick_menu_show_controls, false); + SETTING_BOOL("quick_menu_show_cheats", &settings->bools.quick_menu_show_cheats, true, quick_menu_show_cheats, false); #ifdef HAVE_MATERIALUI SETTING_BOOL("materialui_icons_enable", &settings->bools.menu_materialui_icons_enable, true, materialui_icons_enable, false); #endif diff --git a/configuration.h b/configuration.h index 509852d4e9..caa71a4a0c 100644 --- a/configuration.h +++ b/configuration.h @@ -144,6 +144,7 @@ typedef struct settings bool quick_menu_show_add_to_favorites; bool quick_menu_show_options; bool quick_menu_show_controls; + bool quick_menu_show_cheats; /* Netplay */ bool netplay_public_announce; diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 5a218d0b1b..585a75b677 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -3091,3 +3091,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index 3f5018d22f..a34364c2bb 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -3091,3 +3091,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index a501382257..7597cdfaf9 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -3085,3 +3085,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index e05835f9f1..f4dff1dcf5 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -2954,3 +2954,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index a081fb9a38..f2bafa0b80 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -3123,3 +3123,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index b7204f5364..b2a28dcfd5 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -3177,3 +3177,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index 5ec31e7ac6..2036449811 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -3093,3 +3093,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 9d592088a4..320a01d2e1 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -3086,3 +3086,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index e9fd7f3b72..5ffe91b4ce 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -1319,3 +1319,5 @@ MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_SHOW_OPTIONS, "quick_menu_show_options") MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS, "quick_menu_show_controls") +MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS, + "quick_menu_show_cheats") diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index a2f9a61682..5d94f43416 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -2954,3 +2954,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index 3d0a52ca89..7f3168541a 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -4030,3 +4030,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option." ) +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats" + ) +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option." + ) diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index 2c2c6d62db..2ccfb9a83e 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -3061,3 +3061,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index c38d69fb35..6dbb12b19a 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -3144,3 +3144,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index b508bb56aa..f0620b1420 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -3179,3 +3179,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index babd1ef86c..9a5286fa45 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -3115,3 +3115,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CONTROLS, "Show Controls") MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS, "Show/hide the 'Controls' option.") +MSG_HASH(MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + "Show Cheats") +MSG_HASH(MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS, + "Show/hide the 'Cheats' option.") diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 18f8b24a9d..eb8f44e005 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -296,6 +296,7 @@ default_sublabel_macro(action_bind_sublabel_quick_menu_show_undo_save_load_state default_sublabel_macro(action_bind_sublabel_quick_menu_show_add_to_favorites, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_ADD_TO_FAVORITES) default_sublabel_macro(action_bind_sublabel_quick_menu_show_options, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_OPTIONS) default_sublabel_macro(action_bind_sublabel_quick_menu_show_controls, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CONTROLS) +default_sublabel_macro(action_bind_sublabel_quick_menu_show_cheats, MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_CHEATS) default_sublabel_macro(action_bind_sublabel_menu_favorites_tab, MENU_ENUM_SUBLABEL_XMB_SHOW_FAVORITES) default_sublabel_macro(action_bind_sublabel_menu_images_tab, MENU_ENUM_SUBLABEL_XMB_SHOW_IMAGES) default_sublabel_macro(action_bind_sublabel_menu_show_online_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_ONLINE_UPDATER) @@ -616,6 +617,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quick_menu_show_controls); break; + case MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS: + BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_quick_menu_show_cheats); + break; case MENU_ENUM_LABEL_XMB_SHOW_FAVORITES: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_favorites_tab); break; diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 6dac452020..e39f0c99a8 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -2918,18 +2918,23 @@ static int menu_displaylist_parse_load_content_settings( #ifdef HAVE_LAKKA if (show_advanced_settings) #endif - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_CHEAT_OPTIONS), - msg_hash_to_str(MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS), - MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS, - MENU_SETTING_ACTION, 0, 0); - if ( (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) + if (settings->bools.quick_menu_show_cheats) + { + menu_entries_append_enum(info->list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_CHEAT_OPTIONS), + msg_hash_to_str(MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS), + MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS, + MENU_SETTING_ACTION, 0, 0); + } + + if ((!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) && system->disk_control_cb.get_num_images) menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS), msg_hash_to_str(MENU_ENUM_LABEL_DISK_OPTIONS), MENU_ENUM_LABEL_DISK_OPTIONS, MENU_SETTING_ACTION_CORE_DISK_OPTIONS, 0, 0); + #ifdef HAVE_SHADER_MANAGER menu_entries_append_enum(info->list, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SHADER_OPTIONS), @@ -5390,6 +5395,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data) MENU_ENUM_LABEL_QUICK_MENU_SHOW_CONTROLS, PARSE_ONLY_BOOL, false); + menu_displaylist_parse_settings_enum(menu, info, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS, + PARSE_ONLY_BOOL, false); + info->need_refresh = true; info->need_push = true; break; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 972767b70d..0777c8c368 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -5926,6 +5926,21 @@ static bool setting_append_list( general_read_handler, SD_FLAG_NONE); + CONFIG_BOOL( + list, list_info, + &settings->bools.quick_menu_show_cheats, + MENU_ENUM_LABEL_QUICK_MENU_SHOW_CHEATS, + MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_CHEATS, + quick_menu_show_cheats, + MENU_ENUM_LABEL_VALUE_OFF, + MENU_ENUM_LABEL_VALUE_ON, + &group_info, + &subgroup_info, + parent_group, + general_write_handler, + general_read_handler, + SD_FLAG_LAKKA_ADVANCED); + if (string_is_not_equal_fast(ui_companion_driver_get_ident(), "null", 4)) { CONFIG_BOOL( diff --git a/msg_hash.h b/msg_hash.h index ff4412d48c..ed12fa4680 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -715,6 +715,7 @@ enum msg_hash_enums MENU_LABEL(QUICK_MENU_SHOW_ADD_TO_FAVORITES), MENU_LABEL(QUICK_MENU_SHOW_OPTIONS), MENU_LABEL(QUICK_MENU_SHOW_CONTROLS), + MENU_LABEL(QUICK_MENU_SHOW_CHEATS), /* UI settings */ MENU_LABEL(VIDEO_DISABLE_COMPOSITION),