add confirmation submenu to achievements hardcore toggle

This commit is contained in:
Jamiras 2020-12-26 11:12:09 -07:00
parent 257f1fc9f2
commit 5224e97481
12 changed files with 169 additions and 28 deletions

View File

@ -1168,6 +1168,45 @@ static void rcheevos_append_menu_achievement(
}
#endif
void rcheevos_populate_hardcore_pause_menu(void* data)
{
#ifdef HAVE_MENU
menu_displaylist_info_t* info = (menu_displaylist_info_t*)data;
settings_t* settings = config_get_ptr();
bool cheevos_hardcore_mode_enable = settings->bools.cheevos_hardcore_mode_enable;
if (cheevos_hardcore_mode_enable && rcheevos_locals.loaded)
{
if (rcheevos_locals.hardcore_active)
{
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_CANCEL),
msg_hash_to_str(MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE_CANCEL),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_CANCEL,
MENU_SETTING_ACTION_CLOSE, 0, 0);
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE),
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE,
MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS, 0, 0);
}
else
{
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME_CANCEL),
msg_hash_to_str(MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME_CANCEL),
MENU_ENUM_LABEL_ACHIEVEMENT_RESUME_CANCEL,
MENU_SETTING_ACTION_CLOSE, 0, 0);
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME),
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_RESUME),
MENU_ENUM_LABEL_ACHIEVEMENT_RESUME,
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, 0, 0);
}
}
#endif
}
void rcheevos_populate_menu(void* data)
{
#ifdef HAVE_MENU
@ -1187,14 +1226,14 @@ void rcheevos_populate_menu(void* data)
if (rcheevos_locals.hardcore_active)
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE),
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU,
MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS, 0, 0);
else
menu_entries_append_enum(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME),
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_RESUME),
MENU_ENUM_LABEL_ACHIEVEMENT_RESUME,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU),
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU,
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, 0, 0);
}

View File

@ -45,7 +45,8 @@ bool rcheevos_load(const void *data);
void rcheevos_reset_game(void);
void rcheevos_populate_menu(void *data);
void rcheevos_populate_menu(void* data);
void rcheevos_populate_hardcore_pause_menu(void* data);
void rcheevos_get_achievement_state(unsigned index, char* buffer, size_t buffer_size);
bool rcheevos_get_description(rcheevos_ctx_desc_t *desc);

View File

@ -6840,13 +6840,33 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_NO_ACHIEVEMENTS_TO_DISPLAY,
"No achievements to display"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU,
"ToggleCheevosHardcore" /* not-displayed - needed to resolve submenu */
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_CANCEL,
"Cancel Pause Achievements Hardcore Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE_CANCEL,
"Leaves achievement hardcore mode enabled for the current session"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME_CANCEL,
"Cancel Resume Achievements Hardcore Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME_CANCEL,
"Leaves achievement hardcore mode disabled for the current session"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE,
"Pause Achievements Hardcore Mode"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE,
"Pause achievements for current session. (This action will enable save states, cheats, rewind, pause, and slow-motion)"
"Pauses achievement hardcore mode for the current session. (This action will enable save states, cheats, rewind, pause, and slow-motion)"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME,
@ -6854,7 +6874,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME,
"Resume achievements for current session. (This action will disable save states, cheats, rewind, pause, and slow-motion and reset the current game)"
"Resumes achievement hardcore mode for the current session. (This action will disable save states, cheats, rewind, pause, and slow-motion and reset the current game)"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_NOT_LOGGED_IN,

View File

@ -158,6 +158,7 @@ GENERIC_DEFERRED_PUSH(deferred_push_content_history_path, DISPLAYLIST_
GENERIC_DEFERRED_PUSH(deferred_push_disc_information, DISPLAYLIST_DISC_INFO)
GENERIC_DEFERRED_PUSH(deferred_push_system_information, DISPLAYLIST_SYSTEM_INFO)
GENERIC_DEFERRED_PUSH(deferred_push_network_information, DISPLAYLIST_NETWORK_INFO)
GENERIC_DEFERRED_PUSH(deferred_push_achievement_pause_menu, DISPLAYLIST_ACHIEVEMENT_PAUSE_MENU)
GENERIC_DEFERRED_PUSH(deferred_push_achievement_list, DISPLAYLIST_ACHIEVEMENT_LIST)
GENERIC_DEFERRED_PUSH(deferred_push_rdb_collection, DISPLAYLIST_PLAYLIST_COLLECTION)
GENERIC_DEFERRED_PUSH(deferred_main_menu_list, DISPLAYLIST_MAIN_MENU)
@ -662,7 +663,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
int (*cb)(menu_displaylist_info_t *info);
} deferred_info_list_t;
deferred_info_list_t info_list[] = {
const deferred_info_list_t info_list[] = {
{MENU_ENUM_LABEL_DEFERRED_DUMP_DISC_LIST, deferred_push_dump_disk_list},
{MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST, deferred_push_load_disk_list},
{MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST, deferred_push_favorites_list},
@ -820,6 +821,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
#ifdef HAVE_VIDEO_LAYOUT
{MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH, deferred_push_video_layout_path},
#endif
{MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU, deferred_push_achievement_pause_menu},
{MENU_ENUM_LABEL_ACHIEVEMENT_LIST, deferred_push_achievement_list},
{MENU_ENUM_LABEL_CORE_COUNTERS, deferred_push_core_counters},
{MENU_ENUM_LABEL_FRONTEND_COUNTERS, deferred_push_frontend_counters},
@ -866,23 +868,26 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
#endif
};
for (i = 0; i < ARRAY_SIZE(info_list); i++)
if (!string_is_equal(label, "null"))
{
if (string_is_equal(label, msg_hash_to_str(info_list[i].type)))
for (i = 0; i < ARRAY_SIZE(info_list); i++)
{
BIND_ACTION_DEFERRED_PUSH(cbs, info_list[i].cb);
return 0;
if (string_is_equal(label, msg_hash_to_str(info_list[i].type)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, info_list[i].cb);
return 0;
}
}
}
/* MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL requires special
* treatment, since the label has the format:
* <MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL>|<entry_name>
* i.e. cannot use a normal string_is_equal() */
if (string_starts_with(label,
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_rdb_entry_detail);
/* MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL requires special
* treatment, since the label has the format:
* <MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL>|<entry_name>
* i.e. cannot use a normal string_is_equal() */
if (string_starts_with(label,
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_rdb_entry_detail);
}
}
if (cbs->enum_idx != MSG_UNKNOWN)

View File

@ -288,6 +288,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST;
case ACTION_OK_DL_ACCOUNTS_LIST:
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST;
case ACTION_OK_DL_ACHIEVEMENTS_HARDCORE_PAUSE_LIST:
return MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST;
case ACTION_OK_DL_INPUT_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST;
case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST:
@ -1241,6 +1243,7 @@ int generic_action_ok_displaylist_push(const char *path,
}
break;
case ACTION_OK_DL_ACCOUNTS_LIST:
case ACTION_OK_DL_ACHIEVEMENTS_HARDCORE_PAUSE_LIST:
case ACTION_OK_DL_INPUT_SETTINGS_LIST:
case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST:
case ACTION_OK_DL_INPUT_HAPTIC_FEEDBACK_SETTINGS_LIST:
@ -4046,10 +4049,17 @@ static int action_ok_save_state(const char *path,
return 0;
}
static int action_ok_close_submenu(const char* path,
const char* label, unsigned type, size_t idx, size_t entry_idx)
{
return action_cancel_pop_default(path, label, type, idx);
}
static int action_ok_cheevos_toggle_hardcore_mode(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
generic_action_ok_command(CMD_EVENT_CHEEVOS_HARDCORE_MODE_TOGGLE);
action_cancel_pop_default(path, label, type, idx);
return generic_action_ok_command(CMD_EVENT_RESUME);
}
@ -5341,6 +5351,7 @@ DEFAULT_ACTION_OK_FUNC(action_ok_rpl_entry, ACTION_OK_DL_RPL_ENTRY)
DEFAULT_ACTION_OK_FUNC(action_ok_open_archive_detect_core, ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE)
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_achievements_hardcore_pause_list, ACTION_OK_DL_ACHIEVEMENTS_HARDCORE_PAUSE_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)
@ -7403,8 +7414,11 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
{MENU_ENUM_LABEL_CORE_DELETE, action_ok_core_delete},
{MENU_ENUM_LABEL_CORE_CREATE_BACKUP, action_ok_core_create_backup},
{MENU_ENUM_LABEL_DELETE_PLAYLIST, action_ok_delete_playlist},
{MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE, action_ok_cheevos_toggle_hardcore_mode},
{MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU, action_ok_push_default},
{MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE, action_ok_cheevos_toggle_hardcore_mode},
{MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_CANCEL, action_ok_close_submenu},
{MENU_ENUM_LABEL_ACHIEVEMENT_RESUME, action_ok_cheevos_toggle_hardcore_mode},
{MENU_ENUM_LABEL_ACHIEVEMENT_RESUME_CANCEL, action_ok_close_submenu },
{MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_LIST, action_ok_push_manual_content_scan_list},
{MENU_ENUM_LABEL_AUDIO_OUTPUT_SETTINGS, action_ok_push_audio_output_settings_list},
{MENU_ENUM_LABEL_AUDIO_RESAMPLER_SETTINGS, action_ok_push_audio_resampler_settings_list},

View File

@ -93,6 +93,18 @@ static int menu_action_sublabel_file_browser_core(file_list_t *list, unsigned ty
return 1;
}
#ifdef HAVE_CHEEVOS
static int menu_action_sublabel_achievement_pause_menu(file_list_t* list,
unsigned type, unsigned i, const char* label, const char* path, char* s, size_t len)
{
if (string_is_equal(path, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE), len);
else
strlcpy(s, msg_hash_to_str(MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME), len);
return 1;
}
#endif
#ifdef HAVE_AUDIOMIXER
DEFAULT_SUBLABEL_MACRO(menu_action_sublabel_setting_audio_mixer_add_to_mixer_and_play,
MENU_ENUM_SUBLABEL_ADD_TO_MIXER_AND_PLAY)
@ -164,6 +176,8 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_onscreen_display_settings_list,MENU_
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_core_settings_list, MENU_ENUM_SUBLABEL_CORE_SETTINGS)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_information_list_list, MENU_ENUM_SUBLABEL_INFORMATION_LIST_LIST)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_achievement_list, MENU_ENUM_SUBLABEL_ACHIEVEMENT_LIST)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_achievement_pause_cancel, MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE_CANCEL)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_achievement_resume_cancel, MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME_CANCEL)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cheevos_enable, MENU_ENUM_SUBLABEL_CHEEVOS_ENABLE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cheevos_test_unofficial, MENU_ENUM_SUBLABEL_CHEEVOS_TEST_UNOFFICIAL)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_cheevos_hardcore_mode_enable, MENU_ENUM_SUBLABEL_CHEEVOS_HARDCORE_MODE_ENABLE)
@ -3388,9 +3402,24 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_CONNECT_BLUETOOTH:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_bluetooth_list);
break;
#ifdef HAVE_NETWORKING
case MENU_ENUM_LABEL_CONNECT_NETPLAY_ROOM:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_netplay_room);
break;
#endif
#ifdef HAVE_CHEEVOS
case MENU_ENUM_LABEL_ACHIEVEMENT_LIST:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_achievement_list);
break;
case MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU:
BIND_ACTION_SUBLABEL(cbs, menu_action_sublabel_achievement_pause_menu);
break;
case MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_CANCEL:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_achievement_pause_cancel);
break;
case MENU_ENUM_LABEL_ACHIEVEMENT_RESUME_CANCEL:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_achievement_resume_cancel);
break;
case MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY:
case MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY_HARDCORE:
case MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY:
@ -3398,11 +3427,6 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_CHEEVOS_UNOFFICIAL_ENTRY:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_entry);
break;
#ifdef HAVE_NETWORKING
case MENU_ENUM_LABEL_CONNECT_NETPLAY_ROOM:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_netplay_room);
break;
#endif
case MENU_ENUM_LABEL_CHEEVOS_ENABLE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_enable);
break;
@ -3422,7 +3446,7 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_badges_enable);
break;
case MENU_ENUM_LABEL_CHEEVOS_UNLOCK_SOUND_ENABLE:
#if defined(HAVE_CHEEVOS) && defined(HAVE_AUDIOMIXER)
#ifdef HAVE_AUDIOMIXER
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_unlock_sound_enable);
#endif
break;
@ -3435,6 +3459,7 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_CHEEVOS_START_ACTIVE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_start_active);
break;
#endif
case MENU_ENUM_LABEL_SETTINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_settings);
break;

View File

@ -27,6 +27,10 @@
#include "../../core_option_manager.h"
#include "../../core_info.h"
#ifdef HAVE_CHEEVOS
#include "../../cheevos/cheevos.h"
#endif
#ifndef BIND_ACTION_GET_TITLE
#define BIND_ACTION_GET_TITLE(cbs, name) (cbs)->action_get_title = (name)
#endif
@ -498,6 +502,18 @@ static int action_get_title_dropdown_input_description_kbd(
path, port, s, len);
}
#ifdef HAVE_CHEEVOS
static int action_get_title_achievement_pause_menu(
const char* path, const char* label, unsigned menu_type, char* s, size_t len)
{
if (rcheevos_hardcore_active())
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE), len);
else
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME), len);
return 1;
}
#endif
DEFAULT_TITLE_MACRO(action_get_quick_menu_override_options, MENU_ENUM_LABEL_VALUE_QUICK_MENU_OVERRIDE_OPTIONS)
DEFAULT_TITLE_MACRO(action_get_user_accounts_cheevos_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS)
DEFAULT_TITLE_MACRO(action_get_user_accounts_youtube_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE)
@ -662,7 +678,9 @@ DEFAULT_FILL_TITLE_MACRO(action_get_title_manual_content_scan_dir, MENU_ENUM_LAB
DEFAULT_TITLE_COPY_MACRO(action_get_title_help, MENU_ENUM_LABEL_VALUE_HELP_LIST)
DEFAULT_TITLE_COPY_MACRO(action_get_title_input_settings, MENU_ENUM_LABEL_VALUE_INPUT_SETTINGS)
#ifdef HAVE_CHEEVOS
DEFAULT_TITLE_COPY_MACRO(action_get_title_cheevos_list, MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_LIST)
#endif
DEFAULT_TITLE_COPY_MACRO(action_get_title_video_shader_parameters,MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PARAMETERS)
DEFAULT_TITLE_COPY_MACRO(action_get_title_video_shader_preset_parameters,MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_PARAMETERS)
DEFAULT_TITLE_COPY_MACRO(action_get_title_video_shader_preset_save,MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_SAVE)
@ -1075,8 +1093,12 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
action_get_playlist_settings_list},
{MENU_ENUM_LABEL_DEFERRED_PLAYLIST_MANAGER_LIST,
action_get_playlist_manager_list},
#ifdef HAVE_CHEEVOS
{MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU,
action_get_title_achievement_pause_menu},
{MENU_ENUM_LABEL_ACHIEVEMENT_LIST,
action_get_title_cheevos_list},
#endif
{MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS,
action_get_title_video_shader_parameters},
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS,

View File

@ -57,7 +57,9 @@
#include "../../tasks/tasks_internal.h"
#ifdef HAVE_CHEEVOS
#include "../../cheevos/badges.h"
#endif
#include "../../content.h"
#define XMB_RIBBON_ROWS 64

View File

@ -178,6 +178,7 @@ enum
ACTION_OK_DL_MENU_SOUNDS_LIST,
ACTION_OK_DL_MENU_FILE_BROWSER_SETTINGS_LIST,
ACTION_OK_DL_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
ACTION_OK_DL_ACHIEVEMENTS_HARDCORE_PAUSE_LIST,
ACTION_OK_DL_UPDATER_SETTINGS_LIST,
ACTION_OK_DL_BLUETOOTH_SETTINGS_LIST,
ACTION_OK_DL_WIFI_SETTINGS_LIST,

View File

@ -10557,6 +10557,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
#endif
}
break;
case DISPLAYLIST_ACHIEVEMENT_PAUSE_MENU:
#ifdef HAVE_CHEEVOS
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
rcheevos_populate_hardcore_pause_menu(info);
#endif
info->need_push = true;
info->need_refresh = true;
break;
case DISPLAYLIST_ACHIEVEMENT_LIST:
#ifdef HAVE_CHEEVOS
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);

View File

@ -139,6 +139,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_SHADER_PRESET_REMOVE,
DISPLAYLIST_NETWORK_INFO,
DISPLAYLIST_SYSTEM_INFO,
DISPLAYLIST_ACHIEVEMENT_PAUSE_MENU,
DISPLAYLIST_ACHIEVEMENT_LIST,
DISPLAYLIST_USER_BINDS_LIST,
DISPLAYLIST_ACCOUNTS_LIST,

View File

@ -2113,6 +2113,9 @@ enum msg_hash_enums
MENU_LABEL(SYSTEM_INFORMATION),
MENU_LABEL(ACHIEVEMENT_LIST),
MENU_LABEL(ACHIEVEMENT_LIST_HARDCORE),
MENU_LABEL(ACHIEVEMENT_PAUSE_MENU),
MENU_LABEL(ACHIEVEMENT_PAUSE_CANCEL),
MENU_LABEL(ACHIEVEMENT_RESUME_CANCEL),
MENU_LABEL(ACHIEVEMENT_PAUSE),
MENU_LABEL(ACHIEVEMENT_RESUME),
MENU_LABEL(CORE_INFORMATION),