DiscordRPC: Add Rcheevos Icon Support (#3286)

This commit is contained in:
KamFretoZ 2024-09-01 22:02:28 +07:00 committed by GitHub
parent 895c489f05
commit 45291c5afe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 0 deletions

View file

@ -523,6 +523,11 @@ const std::string& Achievements::GetGameIconPath()
return s_game_icon;
}
const std::string& Achievements::GetGameIconURL()
{
return s_game_icon_url;
}
const std::string& Achievements::GetRichPresenceString()
{
return s_rich_presence_string;

View file

@ -115,6 +115,9 @@ bool HasRichPresence();
/// Should be called with the lock held.
const std::string& GetRichPresenceString();
/// Returns the URL for the current icon of the game
const std::string& GetGameIconURL();
/// Returns the RetroAchievements title for the current game.
/// Should be called with the lock held.
const std::string& GetGameTitle();

View file

@ -5892,6 +5892,8 @@ void System::UpdateRichPresence(bool update_session_time)
const auto lock = Achievements::GetLock();
state_string = StringUtil::Ellipsise(Achievements::GetRichPresenceString(), 128);
rp.state = state_string.c_str();
if (const std::string& icon_url = Achievements::GetGameIconURL(); !icon_url.empty())
rp.largeImageKey = icon_url.c_str();
}
dyn_libs::Discord_UpdatePresence(&rp);