From 6c33270e572c3c6f8d06c3612069330b4658f65f Mon Sep 17 00:00:00 2001 From: kyoubate-haruka <46010460+kyoubate-haruka@users.noreply.github.com> Date: Fri, 3 Apr 2026 14:09:06 +0200 Subject: [PATCH] Retroachievements: Hide leaderboard OSD messages if the leaderboard tracker is disabled --- Source/Core/Core/AchievementManager.cpp | 27 ++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/Source/Core/Core/AchievementManager.cpp b/Source/Core/Core/AchievementManager.cpp index 9a0a425925..b140eb5b38 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -1175,26 +1175,35 @@ void AchievementManager::HandleAchievementTriggeredEvent(const rc_client_event_t void AchievementManager::HandleLeaderboardStartedEvent(const rc_client_event_t* client_event) { - OSD::AddMessage(fmt::format("Attempting leaderboard: {} - {}", client_event->leaderboard->title, - client_event->leaderboard->description), - OSD::Duration::VERY_LONG, OSD::Color::GREEN); + if (Config::Get(Config::RA_LEADERBOARD_TRACKER_ENABLED)) + { + OSD::AddMessage(fmt::format("Attempting leaderboard: {} - {}", client_event->leaderboard->title, + client_event->leaderboard->description), + OSD::Duration::VERY_LONG, OSD::Color::GREEN); + } AchievementManager::GetInstance().FetchBoardInfo(client_event->leaderboard->id); } void AchievementManager::HandleLeaderboardFailedEvent(const rc_client_event_t* client_event) { - OSD::AddMessage(fmt::format("Failed leaderboard: {}", client_event->leaderboard->title), - OSD::Duration::VERY_LONG, OSD::Color::RED); + if (Config::Get(Config::RA_LEADERBOARD_TRACKER_ENABLED)) + { + OSD::AddMessage(fmt::format("Failed leaderboard: {}", client_event->leaderboard->title), + OSD::Duration::VERY_LONG, OSD::Color::RED); + } AchievementManager::GetInstance().FetchBoardInfo(client_event->leaderboard->id); } void AchievementManager::HandleLeaderboardSubmittedEvent(const rc_client_event_t* client_event) { auto& instance = AchievementManager::GetInstance(); - OSD::AddMessage(fmt::format("Scored {} on leaderboard: {}", - client_event->leaderboard->tracker_value, - client_event->leaderboard->title), - OSD::Duration::VERY_LONG, OSD::Color::YELLOW); + if (Config::Get(Config::RA_LEADERBOARD_TRACKER_ENABLED)) + { + OSD::AddMessage(fmt::format("Scored {} on leaderboard: {}", + client_event->leaderboard->tracker_value, + client_event->leaderboard->title), + OSD::Duration::VERY_LONG, OSD::Color::YELLOW); + } instance.FetchBoardInfo(client_event->leaderboard->id); instance.update_event.Trigger(UpdatedItems{.leaderboards = {client_event->leaderboard->id}}); }