mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
add confirmation submenu to achievements hardcore toggle
This commit is contained in:
parent
257f1fc9f2
commit
5224e97481
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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},
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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),
|
||||
|
Loading…
x
Reference in New Issue
Block a user