mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +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
|
#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)
|
void rcheevos_populate_menu(void* data)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
@ -1187,14 +1226,14 @@ void rcheevos_populate_menu(void* data)
|
|||||||
if (rcheevos_locals.hardcore_active)
|
if (rcheevos_locals.hardcore_active)
|
||||||
menu_entries_append_enum(info->list,
|
menu_entries_append_enum(info->list,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE),
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU),
|
||||||
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE,
|
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU,
|
||||||
MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS, 0, 0);
|
MENU_SETTING_ACTION_PAUSE_ACHIEVEMENTS, 0, 0);
|
||||||
else
|
else
|
||||||
menu_entries_append_enum(info->list,
|
menu_entries_append_enum(info->list,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME),
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_ACHIEVEMENT_RESUME),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE_MENU),
|
||||||
MENU_ENUM_LABEL_ACHIEVEMENT_RESUME,
|
MENU_ENUM_LABEL_ACHIEVEMENT_PAUSE_MENU,
|
||||||
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, 0, 0);
|
MENU_SETTING_ACTION_RESUME_ACHIEVEMENTS, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,8 @@ bool rcheevos_load(const void *data);
|
|||||||
|
|
||||||
void rcheevos_reset_game(void);
|
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);
|
void rcheevos_get_achievement_state(unsigned index, char* buffer, size_t buffer_size);
|
||||||
|
|
||||||
bool rcheevos_get_description(rcheevos_ctx_desc_t *desc);
|
bool rcheevos_get_description(rcheevos_ctx_desc_t *desc);
|
||||||
|
@ -6840,13 +6840,33 @@ MSG_HASH(
|
|||||||
MENU_ENUM_LABEL_VALUE_NO_ACHIEVEMENTS_TO_DISPLAY,
|
MENU_ENUM_LABEL_VALUE_NO_ACHIEVEMENTS_TO_DISPLAY,
|
||||||
"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(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE,
|
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_PAUSE,
|
||||||
"Pause Achievements Hardcore Mode"
|
"Pause Achievements Hardcore Mode"
|
||||||
)
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_ACHIEVEMENT_PAUSE,
|
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(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME,
|
MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_RESUME,
|
||||||
@ -6854,7 +6874,7 @@ MSG_HASH(
|
|||||||
)
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_SUBLABEL_ACHIEVEMENT_RESUME,
|
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(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_NOT_LOGGED_IN,
|
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_disc_information, DISPLAYLIST_DISC_INFO)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_system_information, DISPLAYLIST_SYSTEM_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_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_achievement_list, DISPLAYLIST_ACHIEVEMENT_LIST)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_push_rdb_collection, DISPLAYLIST_PLAYLIST_COLLECTION)
|
GENERIC_DEFERRED_PUSH(deferred_push_rdb_collection, DISPLAYLIST_PLAYLIST_COLLECTION)
|
||||||
GENERIC_DEFERRED_PUSH(deferred_main_menu_list, DISPLAYLIST_MAIN_MENU)
|
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);
|
int (*cb)(menu_displaylist_info_t *info);
|
||||||
} deferred_info_list_t;
|
} 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_DUMP_DISC_LIST, deferred_push_dump_disk_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST, deferred_push_load_disk_list},
|
{MENU_ENUM_LABEL_DEFERRED_LOAD_DISC_LIST, deferred_push_load_disk_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST, deferred_push_favorites_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
|
#ifdef HAVE_VIDEO_LAYOUT
|
||||||
{MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH, deferred_push_video_layout_path},
|
{MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH, deferred_push_video_layout_path},
|
||||||
#endif
|
#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_ACHIEVEMENT_LIST, deferred_push_achievement_list},
|
||||||
{MENU_ENUM_LABEL_CORE_COUNTERS, deferred_push_core_counters},
|
{MENU_ENUM_LABEL_CORE_COUNTERS, deferred_push_core_counters},
|
||||||
{MENU_ENUM_LABEL_FRONTEND_COUNTERS, deferred_push_frontend_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
|
#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);
|
if (string_is_equal(label, msg_hash_to_str(info_list[i].type)))
|
||||||
return 0;
|
{
|
||||||
|
BIND_ACTION_DEFERRED_PUSH(cbs, info_list[i].cb);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL requires special
|
/* MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL requires special
|
||||||
* treatment, since the label has the format:
|
* treatment, since the label has the format:
|
||||||
* <MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL>|<entry_name>
|
* <MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL>|<entry_name>
|
||||||
* i.e. cannot use a normal string_is_equal() */
|
* i.e. cannot use a normal string_is_equal() */
|
||||||
if (string_starts_with(label,
|
if (string_starts_with(label,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL)))
|
msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RDB_ENTRY_DETAIL)))
|
||||||
{
|
{
|
||||||
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_rdb_entry_detail);
|
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_rdb_entry_detail);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cbs->enum_idx != MSG_UNKNOWN)
|
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;
|
return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST;
|
||||||
case ACTION_OK_DL_ACCOUNTS_LIST:
|
case ACTION_OK_DL_ACCOUNTS_LIST:
|
||||||
return MENU_ENUM_LABEL_DEFERRED_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:
|
case ACTION_OK_DL_INPUT_SETTINGS_LIST:
|
||||||
return MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST;
|
return MENU_ENUM_LABEL_DEFERRED_INPUT_SETTINGS_LIST;
|
||||||
case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST:
|
case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST:
|
||||||
@ -1241,6 +1243,7 @@ int generic_action_ok_displaylist_push(const char *path,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ACTION_OK_DL_ACCOUNTS_LIST:
|
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_SETTINGS_LIST:
|
||||||
case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST:
|
case ACTION_OK_DL_INPUT_MENU_SETTINGS_LIST:
|
||||||
case ACTION_OK_DL_INPUT_HAPTIC_FEEDBACK_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;
|
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,
|
static int action_ok_cheevos_toggle_hardcore_mode(const char *path,
|
||||||
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
const char *label, unsigned type, size_t idx, size_t entry_idx)
|
||||||
{
|
{
|
||||||
generic_action_ok_command(CMD_EVENT_CHEEVOS_HARDCORE_MODE_TOGGLE);
|
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);
|
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_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_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_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_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_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_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_DELETE, action_ok_core_delete},
|
||||||
{MENU_ENUM_LABEL_CORE_CREATE_BACKUP, action_ok_core_create_backup},
|
{MENU_ENUM_LABEL_CORE_CREATE_BACKUP, action_ok_core_create_backup},
|
||||||
{MENU_ENUM_LABEL_DELETE_PLAYLIST, action_ok_delete_playlist},
|
{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, 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_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_OUTPUT_SETTINGS, action_ok_push_audio_output_settings_list},
|
||||||
{MENU_ENUM_LABEL_AUDIO_RESAMPLER_SETTINGS, action_ok_push_audio_resampler_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;
|
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
|
#ifdef HAVE_AUDIOMIXER
|
||||||
DEFAULT_SUBLABEL_MACRO(menu_action_sublabel_setting_audio_mixer_add_to_mixer_and_play,
|
DEFAULT_SUBLABEL_MACRO(menu_action_sublabel_setting_audio_mixer_add_to_mixer_and_play,
|
||||||
MENU_ENUM_SUBLABEL_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_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_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_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_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_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)
|
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:
|
case MENU_ENUM_LABEL_CONNECT_BLUETOOTH:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_bluetooth_list);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_bluetooth_list);
|
||||||
break;
|
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:
|
case MENU_ENUM_LABEL_ACHIEVEMENT_LIST:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_achievement_list);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_achievement_list);
|
||||||
break;
|
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:
|
||||||
case MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY_HARDCORE:
|
case MENU_ENUM_LABEL_CHEEVOS_UNLOCKED_ENTRY_HARDCORE:
|
||||||
case MENU_ENUM_LABEL_CHEEVOS_LOCKED_ENTRY:
|
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:
|
case MENU_ENUM_LABEL_CHEEVOS_UNOFFICIAL_ENTRY:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_entry);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_entry);
|
||||||
break;
|
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:
|
case MENU_ENUM_LABEL_CHEEVOS_ENABLE:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_enable);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_enable);
|
||||||
break;
|
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);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_badges_enable);
|
||||||
break;
|
break;
|
||||||
case MENU_ENUM_LABEL_CHEEVOS_UNLOCK_SOUND_ENABLE:
|
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);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_unlock_sound_enable);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
@ -3435,6 +3459,7 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_CHEEVOS_START_ACTIVE:
|
case MENU_ENUM_LABEL_CHEEVOS_START_ACTIVE:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_start_active);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_cheevos_start_active);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case MENU_ENUM_LABEL_SETTINGS:
|
case MENU_ENUM_LABEL_SETTINGS:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_settings);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_settings);
|
||||||
break;
|
break;
|
||||||
|
@ -27,6 +27,10 @@
|
|||||||
#include "../../core_option_manager.h"
|
#include "../../core_option_manager.h"
|
||||||
#include "../../core_info.h"
|
#include "../../core_info.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_CHEEVOS
|
||||||
|
#include "../../cheevos/cheevos.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef BIND_ACTION_GET_TITLE
|
#ifndef BIND_ACTION_GET_TITLE
|
||||||
#define BIND_ACTION_GET_TITLE(cbs, name) (cbs)->action_get_title = (name)
|
#define BIND_ACTION_GET_TITLE(cbs, name) (cbs)->action_get_title = (name)
|
||||||
#endif
|
#endif
|
||||||
@ -498,6 +502,18 @@ static int action_get_title_dropdown_input_description_kbd(
|
|||||||
path, port, s, len);
|
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_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_cheevos_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS)
|
||||||
DEFAULT_TITLE_MACRO(action_get_user_accounts_youtube_list, MENU_ENUM_LABEL_VALUE_ACCOUNTS_YOUTUBE)
|
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_help, MENU_ENUM_LABEL_VALUE_HELP_LIST)
|
||||||
DEFAULT_TITLE_COPY_MACRO(action_get_title_input_settings, MENU_ENUM_LABEL_VALUE_INPUT_SETTINGS)
|
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)
|
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_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_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)
|
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},
|
action_get_playlist_settings_list},
|
||||||
{MENU_ENUM_LABEL_DEFERRED_PLAYLIST_MANAGER_LIST,
|
{MENU_ENUM_LABEL_DEFERRED_PLAYLIST_MANAGER_LIST,
|
||||||
action_get_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,
|
{MENU_ENUM_LABEL_ACHIEVEMENT_LIST,
|
||||||
action_get_title_cheevos_list},
|
action_get_title_cheevos_list},
|
||||||
|
#endif
|
||||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS,
|
{MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS,
|
||||||
action_get_title_video_shader_parameters},
|
action_get_title_video_shader_parameters},
|
||||||
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS,
|
{MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS,
|
||||||
|
@ -57,7 +57,9 @@
|
|||||||
|
|
||||||
#include "../../tasks/tasks_internal.h"
|
#include "../../tasks/tasks_internal.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_CHEEVOS
|
||||||
#include "../../cheevos/badges.h"
|
#include "../../cheevos/badges.h"
|
||||||
|
#endif
|
||||||
#include "../../content.h"
|
#include "../../content.h"
|
||||||
|
|
||||||
#define XMB_RIBBON_ROWS 64
|
#define XMB_RIBBON_ROWS 64
|
||||||
|
@ -178,6 +178,7 @@ enum
|
|||||||
ACTION_OK_DL_MENU_SOUNDS_LIST,
|
ACTION_OK_DL_MENU_SOUNDS_LIST,
|
||||||
ACTION_OK_DL_MENU_FILE_BROWSER_SETTINGS_LIST,
|
ACTION_OK_DL_MENU_FILE_BROWSER_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_RETRO_ACHIEVEMENTS_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_UPDATER_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_BLUETOOTH_SETTINGS_LIST,
|
ACTION_OK_DL_BLUETOOTH_SETTINGS_LIST,
|
||||||
ACTION_OK_DL_WIFI_SETTINGS_LIST,
|
ACTION_OK_DL_WIFI_SETTINGS_LIST,
|
||||||
|
@ -10557,6 +10557,14 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case DISPLAYLIST_ACHIEVEMENT_LIST:
|
||||||
#ifdef HAVE_CHEEVOS
|
#ifdef HAVE_CHEEVOS
|
||||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||||
|
@ -139,6 +139,7 @@ enum menu_displaylist_ctl_state
|
|||||||
DISPLAYLIST_SHADER_PRESET_REMOVE,
|
DISPLAYLIST_SHADER_PRESET_REMOVE,
|
||||||
DISPLAYLIST_NETWORK_INFO,
|
DISPLAYLIST_NETWORK_INFO,
|
||||||
DISPLAYLIST_SYSTEM_INFO,
|
DISPLAYLIST_SYSTEM_INFO,
|
||||||
|
DISPLAYLIST_ACHIEVEMENT_PAUSE_MENU,
|
||||||
DISPLAYLIST_ACHIEVEMENT_LIST,
|
DISPLAYLIST_ACHIEVEMENT_LIST,
|
||||||
DISPLAYLIST_USER_BINDS_LIST,
|
DISPLAYLIST_USER_BINDS_LIST,
|
||||||
DISPLAYLIST_ACCOUNTS_LIST,
|
DISPLAYLIST_ACCOUNTS_LIST,
|
||||||
|
@ -2113,6 +2113,9 @@ enum msg_hash_enums
|
|||||||
MENU_LABEL(SYSTEM_INFORMATION),
|
MENU_LABEL(SYSTEM_INFORMATION),
|
||||||
MENU_LABEL(ACHIEVEMENT_LIST),
|
MENU_LABEL(ACHIEVEMENT_LIST),
|
||||||
MENU_LABEL(ACHIEVEMENT_LIST_HARDCORE),
|
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_PAUSE),
|
||||||
MENU_LABEL(ACHIEVEMENT_RESUME),
|
MENU_LABEL(ACHIEVEMENT_RESUME),
|
||||||
MENU_LABEL(CORE_INFORMATION),
|
MENU_LABEL(CORE_INFORMATION),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user