Achievements: Use RA icon for some notifications

This commit is contained in:
Stenzek
2025-11-24 21:56:34 +10:00
parent ce37f0e751
commit e012d97800
3 changed files with 16 additions and 10 deletions

View File

@@ -68,6 +68,7 @@ static constexpr const char* INFO_SOUND_NAME = "sounds/achievements/message.wav"
static constexpr const char* UNLOCK_SOUND_NAME = "sounds/achievements/unlock.wav";
static constexpr const char* LBSUBMIT_SOUND_NAME = "sounds/achievements/lbsubmit.wav";
static constexpr const char* CACHE_SUBDIRECTORY_NAME = "achievement_images";
constexpr const char* const RA_LOGO_ICON_NAME = "images/ra-icon.webp";
static constexpr float LOGIN_NOTIFICATION_TIME = 5.0f;
static constexpr float ACHIEVEMENT_SUMMARY_NOTIFICATION_TIME = 5.0f;
@@ -1663,7 +1664,7 @@ void Achievements::HandleServerReconnectedEvent(const rc_client_event_t* event)
{
WARNING_LOG("Server reconnected.");
Host::AddIconOSDMessage(OSDMessageType::Warning, "AchievementsDisconnected", ICON_EMOJI_INFORMATION,
Host::AddIconOSDMessage(OSDMessageType::Warning, "AchievementsDisconnected", RA_LOGO_ICON_NAME,
TRANSLATE_STR("Achievements", "Achievements Reconnected"),
TRANSLATE_STR("Achievements", "All pending unlock requests have completed."));
}
@@ -1697,7 +1698,7 @@ void Achievements::OnHardcoreModeChanged(bool enabled, bool display_message, boo
if (System::IsValid() && display_message)
{
Host::AddIconOSDMessage(OSDMessageType::Info, "AchievementsHardcoreModeChanged", ICON_EMOJI_TROPHY,
Host::AddIconOSDMessage(OSDMessageType::Info, "AchievementsHardcoreModeChanged", RA_LOGO_ICON_NAME,
enabled ? TRANSLATE_STR("Achievements", "Hardcore Mode Enabled") :
TRANSLATE_STR("Achievements", "Hardcore Mode Disabled"),
enabled ? TRANSLATE_STR("Achievements", "Restrictions are now active.") :

View File

@@ -191,6 +191,9 @@ u32 GetPauseThrottleFrames();
/// Draws ImGui overlays when not paused.
void DrawGameOverlays();
/// The name of the RetroAchievements icon, which can be used in notifications.
extern const char* const RA_LOGO_ICON_NAME;
} // namespace Achievements
/// Functions implemented in the frontend.

View File

@@ -528,10 +528,11 @@ void FullscreenUI::OpenAchievementsWindow()
const auto lock = Achievements::GetLock();
if (!Achievements::IsActive() || !Achievements::HasAchievements())
{
Host::AddIconOSDMessage(OSDMessageType::Info, "AchievementsUnavailable", ICON_EMOJI_INFORMATION,
TRANSLATE_STR("Achievements", "Achievements Unavailable"),
Achievements::IsActive() ? TRANSLATE_STR("Achievements", "This game has no achievements.") :
TRANSLATE_STR("Achievements", "Achievements are not enabled."));
Host::AddIconOSDMessage(OSDMessageType::Info, "AchievementsUnavailable", Achievements::RA_LOGO_ICON_NAME,
TRANSLATE_STR("Achievements", "Achievements are not available."),
Achievements::IsActive() ?
TRANSLATE_STR("Achievements", "This game has no achievements.") :
TRANSLATE_STR("Achievements", "Achievements are disabled in settings."));
return;
}
@@ -1006,10 +1007,11 @@ void FullscreenUI::OpenLeaderboardsWindow()
const auto lock = Achievements::GetLock();
if (!Achievements::IsActive() || !Achievements::HasLeaderboards())
{
Host::AddIconOSDMessage(OSDMessageType::Info, "LeaderboardsUnavailable", ICON_EMOJI_INFORMATION,
TRANSLATE_STR("Achievements", "Leaderboards Unavailable"),
Achievements::IsActive() ? TRANSLATE_STR("Achievements", "This game has no leaderboards.") :
TRANSLATE_STR("Achievements", "Achievements are not enabled."));
Host::AddIconOSDMessage(OSDMessageType::Info, "LeaderboardsUnavailable", Achievements::RA_LOGO_ICON_NAME,
TRANSLATE_STR("Achievements", "Leaderboards are not available."),
Achievements::IsActive() ?
TRANSLATE_STR("Achievements", "This game has no leaderboards.") :
TRANSLATE_STR("Achievements", "Achievements are disabled in settings."));
return;
}