From b1f27b6cfd2cafc51b63b7d2e51c12297b03c7c6 Mon Sep 17 00:00:00 2001 From: LillyJadeKatrin Date: Fri, 8 Aug 2025 18:06:04 -0400 Subject: [PATCH] Added message for bad RetroAchievements token Displays a different message at game launch if RetroAchievements fails specifically due to an invalid or expired API token, instructing the player to log back in with the game closed. --- 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 6aaf75c569..b732c2f17a 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -1022,6 +1022,16 @@ void AchievementManager::LoadGameCallback(int result, const char* error_message, OSD::Color::RED); return; } + if (result == RC_LOGIN_REQUIRED || result == RC_INVALID_CREDENTIALS || result == RC_EXPIRED_TOKEN) + { + WARN_LOG_FMT(ACHIEVEMENTS, "Invalid/expired RetroAchievements API token."); + OSD::AddMessage( + "You have been logged out from RetroAchievements due to invalid/expired credentials.", + OSD::Duration::VERY_LONG, OSD::Color::RED); + OSD::AddMessage("Please close the game to log back in before continuing.", + OSD::Duration::VERY_LONG, OSD::Color::RED); + return; + } auto* game = rc_client_get_game_info(client); if (result == RC_OK)