mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 13:14:04 +00:00
include rank on leaderboard submission notification (#16788)
This commit is contained in:
parent
4683e83d9a
commit
1232a6ae6e
@ -529,14 +529,28 @@ static void rcheevos_award_achievement(const rc_client_achievement_t* cheevo)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void rcheevos_lboard_submit(const rc_client_leaderboard_t* lboard)
|
||||
static void rcheevos_lboard_submitted(const rc_client_leaderboard_t* lboard, const rc_client_leaderboard_scoreboard_t* scoreboard)
|
||||
{
|
||||
const settings_t* settings = config_get_ptr();
|
||||
if (lboard && settings->bools.cheevos_visibility_lboard_submit)
|
||||
{
|
||||
char buffer[256];
|
||||
if (scoreboard)
|
||||
{
|
||||
char addendum[64];
|
||||
const size_t len = snprintf(buffer, sizeof(buffer), msg_hash_to_str(MSG_LEADERBOARD_SUBMISSION),
|
||||
scoreboard->submitted_score, lboard->title);
|
||||
if (strcmp(scoreboard->best_score, scoreboard->submitted_score) == 0)
|
||||
snprintf(addendum, sizeof(addendum), msg_hash_to_str(MSG_LEADERBOARD_RANK), scoreboard->new_rank);
|
||||
else
|
||||
snprintf(addendum, sizeof(addendum), msg_hash_to_str(MSG_LEADERBOARD_BEST), scoreboard->best_score);
|
||||
snprintf(buffer + len, sizeof(buffer) - len, " (%s)", addendum);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(buffer, sizeof(buffer), msg_hash_to_str(MSG_LEADERBOARD_SUBMISSION),
|
||||
lboard->tracker_value, lboard->title);
|
||||
}
|
||||
runloop_msg_queue_push(buffer, 0, 2 * 60, false, NULL,
|
||||
MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
|
||||
}
|
||||
@ -696,9 +710,6 @@ static void rcheevos_client_event_handler(const rc_client_event_t* event, rc_cli
|
||||
case RC_CLIENT_EVENT_LEADERBOARD_TRACKER_HIDE:
|
||||
rcheevos_lboard_hide_tracker(event->leaderboard_tracker);
|
||||
break;
|
||||
case RC_CLIENT_EVENT_LEADERBOARD_SCOREBOARD:
|
||||
/* not supported */
|
||||
break;
|
||||
#endif
|
||||
case RC_CLIENT_EVENT_ACHIEVEMENT_TRIGGERED:
|
||||
rcheevos_award_achievement(event->achievement);
|
||||
@ -710,7 +721,10 @@ static void rcheevos_client_event_handler(const rc_client_event_t* event, rc_cli
|
||||
rcheevos_lboard_canceled(event->leaderboard);
|
||||
break;
|
||||
case RC_CLIENT_EVENT_LEADERBOARD_SUBMITTED:
|
||||
rcheevos_lboard_submit(event->leaderboard);
|
||||
/* don't notify on submission - report new rank/best score after submission via SCOREBOARD event */
|
||||
break;
|
||||
case RC_CLIENT_EVENT_LEADERBOARD_SCOREBOARD:
|
||||
rcheevos_lboard_submitted(event->leaderboard, event->leaderboard_scoreboard);
|
||||
break;
|
||||
case RC_CLIENT_EVENT_RESET:
|
||||
command_event(CMD_EVENT_RESET, NULL); /* reset the game */
|
||||
|
@ -15057,6 +15057,14 @@ MSG_HASH(
|
||||
MSG_LEADERBOARD_SUBMISSION,
|
||||
"Submitted %s for %s" /* Submitted [value] for [leaderboard name] */
|
||||
)
|
||||
MSG_HASH(
|
||||
MSG_LEADERBOARD_RANK,
|
||||
"Rank: %d" /* Rank: [leaderboard rank] */
|
||||
)
|
||||
MSG_HASH(
|
||||
MSG_LEADERBOARD_BEST,
|
||||
"Best: %s" /* Best: [value] */
|
||||
)
|
||||
MSG_HASH(
|
||||
MSG_CHANGE_THUMBNAIL_TYPE,
|
||||
"Change thumbnail type"
|
||||
|
@ -437,6 +437,8 @@ enum msg_hash_enums
|
||||
MSG_LEADERBOARD_STARTED,
|
||||
MSG_LEADERBOARD_FAILED,
|
||||
MSG_LEADERBOARD_SUBMISSION,
|
||||
MSG_LEADERBOARD_RANK,
|
||||
MSG_LEADERBOARD_BEST,
|
||||
MSG_CHANGE_THUMBNAIL_TYPE,
|
||||
MSG_TOGGLE_FULLSCREEN_THUMBNAILS,
|
||||
MSG_TOGGLE_CONTENT_METADATA,
|
||||
|
Loading…
x
Reference in New Issue
Block a user