From c20d0ae9e12d69b0b36f5d378979e4b1df7e27f2 Mon Sep 17 00:00:00 2001 From: LillyJadeKatrin Date: Mon, 22 May 2023 22:41:32 -0400 Subject: [PATCH] Added Notification Popup for Leaderboard Scored Added an OnScreenDisplay message to HandleLeaderboardTriggeredEvent to display a message when a player has completed a leaderboard. The message includes the title of the achievement and the player's score/time. --- Source/Core/Core/AchievementManager.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index bcd275b10c..9599ebe619 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -523,6 +523,16 @@ void AchievementManager::HandleLeaderboardTriggeredEvent(const rc_runtime_event_ { m_queue.EmplaceItem( [this, runtime_event] { SubmitLeaderboard(runtime_event->id, runtime_event->value); }); + for (u32 ix = 0; ix < m_game_data.num_leaderboards; ix++) + { + if (m_game_data.leaderboards[ix].id == runtime_event->id) + { + OSD::AddMessage(fmt::format("Scored {} on leaderboard: {}", runtime_event->value, + m_game_data.leaderboards[ix].title), + OSD::Duration::VERY_LONG, OSD::Color::YELLOW); + break; + } + } } // Every RetroAchievements API call, with only a partial exception for fetch_image, follows