diff --git a/menu/cbs/menu_cbs_deferred_push.c b/menu/cbs/menu_cbs_deferred_push.c index b1469c1452..0ca1e6a4bf 100644 --- a/menu/cbs/menu_cbs_deferred_push.c +++ b/menu/cbs/menu_cbs_deferred_push.c @@ -59,6 +59,11 @@ static int deferred_push_debug_information(menu_displaylist_info_t *info) return deferred_push_dlist(info, DISPLAYLIST_DEBUG_INFO); } +static int deferred_push_achievement_list(menu_displaylist_info_t *info) +{ + return deferred_push_dlist(info, DISPLAYLIST_ACHIEVEMENT_LIST); +} + static int deferred_push_rdb_collection(menu_displaylist_info_t *info) { return deferred_push_dlist(info, DISPLAYLIST_PLAYLIST_COLLECTION); @@ -699,6 +704,9 @@ static int menu_cbs_init_bind_deferred_push_compare_label(menu_file_list_cbs_t * case MENU_LABEL_DEBUG_INFORMATION: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_debug_information); break; + case MENU_LABEL_ACHIEVEMENT_LIST: + BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_achievement_list); + break; case MENU_LABEL_CORE_COUNTERS: BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_counters); break; diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index a4b9b50dca..2288dcfc87 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -936,6 +936,9 @@ static void menu_action_setting_disp_set_label(file_list_t* list, case MENU_LABEL_DEBUG_INFORMATION: *w = 2; break; + case MENU_LABEL_ACHIEVEMENT_LIST: + *w = 2; + break; } if (type >= MENU_SETTINGS_PLAYLIST_ASSOCIATION_START) @@ -1073,6 +1076,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( case MENU_LABEL_CORE_INFORMATION: case MENU_LABEL_SYSTEM_INFORMATION: case MENU_LABEL_DEBUG_INFORMATION: + case MENU_LABEL_ACHIEVEMENT_LIST: case MENU_LABEL_SAVE_STATE: case MENU_LABEL_LOAD_STATE: BIND_ACTION_GET_VALUE(cbs, diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index ea1cd10824..01d326e7b7 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1978,6 +1978,7 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_LABEL_CORE_INFORMATION: case MENU_LABEL_SYSTEM_INFORMATION: case MENU_LABEL_DEBUG_INFORMATION: + case MENU_LABEL_ACHIEVEMENT_LIST: case MENU_LABEL_DISK_OPTIONS: case MENU_LABEL_SETTINGS: case MENU_LABEL_FRONTEND_COUNTERS: diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index 8e0f165a83..9dd44cd5ea 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -849,6 +849,7 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, break; case MENU_LABEL_MANAGEMENT: case MENU_LABEL_DEBUG_INFORMATION: + case MENU_LABEL_ACHIEVEMENT_LIST: case MENU_LABEL_VIDEO_SHADER_PARAMETERS: case MENU_LABEL_VIDEO_SHADER_PRESET_PARAMETERS: case MENU_LABEL_CONTENT_COLLECTION_LIST: diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 983ded7f43..d3eeb7ab22 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -574,6 +574,8 @@ static const char *menu_hash_to_str_us_label(uint32_t hash) return "core_updater_auto_extract_archive"; case MENU_LABEL_DEBUG_INFORMATION: return "debug_information"; + case MENU_LABEL_ACHIEVEMENT_LIST: + return "achievement_list"; case MENU_LABEL_SYSTEM_INFORMATION: return "system_information"; case MENU_LABEL_ONLINE_UPDATER: @@ -1224,6 +1226,8 @@ const char *menu_hash_to_str_us(uint32_t hash) return "System Information"; case MENU_LABEL_VALUE_DEBUG_INFORMATION: return "Debug Information"; + case MENU_LABEL_VALUE_ACHIEVEMENT_LIST: + return "Achievement List"; case MENU_LABEL_VALUE_ONLINE_UPDATER: return "Online Updater"; case MENU_LABEL_VALUE_CORE_INFORMATION: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index dcc1def271..cbad21c636 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -1744,6 +1744,10 @@ static int menu_displaylist_parse_load_content_settings(menu_displaylist_info_t menu_hash_to_str(MENU_LABEL_SHADER_OPTIONS), MENU_SETTING_ACTION, 0, 0); #endif + menu_entries_push(info->list, + menu_hash_to_str(MENU_LABEL_VALUE_ACHIEVEMENT_LIST), + menu_hash_to_str(MENU_LABEL_ACHIEVEMENT_LIST), + MENU_SETTING_ACTION, 0, 0); } else menu_entries_push(info->list, @@ -2367,6 +2371,7 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) case DISPLAYLIST_OPTIONS_DISK: case DISPLAYLIST_SYSTEM_INFO: case DISPLAYLIST_DEBUG_INFO: + case DISPLAYLIST_ACHIEVEMENT_LIST: case DISPLAYLIST_CORES: case DISPLAYLIST_CORES_DETECTED: case DISPLAYLIST_CORES_UPDATER: @@ -2928,6 +2933,11 @@ int menu_displaylist_push_list(menu_displaylist_info_t *info, unsigned type) info->need_push = true; info->need_refresh = true; break; + case DISPLAYLIST_ACHIEVEMENT_LIST: + menu_displaylist_parse_debug_info(info); + info->need_push = true; + info->need_refresh = true; + break; case DISPLAYLIST_CORES_SUPPORTED: case DISPLAYLIST_CORES_COLLECTION_SUPPORTED: info->need_sort = true; diff --git a/menu/menu_displaylist.h b/menu/menu_displaylist.h index 0de4b8c8a4..3534768657 100644 --- a/menu/menu_displaylist.h +++ b/menu/menu_displaylist.h @@ -93,6 +93,7 @@ enum DISPLAYLIST_SHADER_PARAMETERS_PRESET, DISPLAYLIST_SYSTEM_INFO, DISPLAYLIST_DEBUG_INFO, + DISPLAYLIST_ACHIEVEMENT_LIST, DISPLAYLIST_USER_BINDS_LIST, DISPLAYLIST_ACCOUNTS_LIST, DISPLAYLIST_INPUT_SETTINGS_LIST, diff --git a/menu/menu_hash.h b/menu/menu_hash.h index 1caa337eea..0f36f3d6be 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -702,8 +702,10 @@ extern "C" { #define MENU_LABEL_VALUE_LOAD_CONTENT_HISTORY 0x5b362286U #define MENU_LABEL_SYSTEM_INFORMATION 0x206ebf0fU #define MENU_LABEL_DEBUG_INFORMATION 0xeb0d82b1U +#define MENU_LABEL_ACHIEVEMENT_LIST 0x7b90fc49U #define MENU_LABEL_VALUE_SYSTEM_INFORMATION 0xa62fd7f0U #define MENU_LABEL_VALUE_DEBUG_INFORMATION 0xd8569f92U +#define MENU_LABEL_VALUE_ACHIEVEMENT_LIST 0xf066ac4aU #define MENU_LABEL_CORE_INFORMATION 0xb638e0d3U #define MENU_LABEL_VALUE_CORE_INFORMATION 0x781981b4U #define MENU_LABEL_VALUE_VIDEO_SHADER_PARAMETERS 0x5ace99b3U