From 373a237a8fcdfa49a624bd6948dddbd21ea52dff 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 9274963d80..fb67a93d65 100644 --- a/Source/Core/Core/AchievementManager.cpp +++ b/Source/Core/Core/AchievementManager.cpp @@ -996,6 +996,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)