mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-19 19:20:54 +00:00
Merge pull request #12860 from LillyJadeKatrin/retroachievements-progress-spam
Only Display One Progress At A Time
This commit is contained in:
commit
a13b198ba0
@ -812,11 +812,16 @@ void AchievementManager::HandleAchievementChallengeIndicatorHideEvent(
|
|||||||
void AchievementManager::HandleAchievementProgressIndicatorShowEvent(
|
void AchievementManager::HandleAchievementProgressIndicatorShowEvent(
|
||||||
const rc_client_event_t* client_event)
|
const rc_client_event_t* client_event)
|
||||||
{
|
{
|
||||||
const auto& instance = AchievementManager::GetInstance();
|
auto& instance = AchievementManager::GetInstance();
|
||||||
|
auto current_time = std::chrono::steady_clock::now();
|
||||||
|
const auto message_wait_time = std::chrono::milliseconds{OSD::Duration::SHORT};
|
||||||
|
if (current_time - instance.m_last_progress_message < message_wait_time)
|
||||||
|
return;
|
||||||
OSD::AddMessage(fmt::format("{} {}", client_event->achievement->title,
|
OSD::AddMessage(fmt::format("{} {}", client_event->achievement->title,
|
||||||
client_event->achievement->measured_progress),
|
client_event->achievement->measured_progress),
|
||||||
OSD::Duration::SHORT, OSD::Color::GREEN,
|
OSD::Duration::SHORT, OSD::Color::GREEN,
|
||||||
&instance.GetAchievementBadge(client_event->achievement->id, false));
|
&instance.GetAchievementBadge(client_event->achievement->id, false));
|
||||||
|
instance.m_last_progress_message = current_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AchievementManager::HandleGameCompletedEvent(const rc_client_event_t* client_event,
|
void AchievementManager::HandleGameCompletedEvent(const rc_client_event_t* client_event,
|
||||||
|
@ -201,6 +201,7 @@ private:
|
|||||||
std::unordered_map<AchievementId, Badge> m_locked_badges;
|
std::unordered_map<AchievementId, Badge> m_locked_badges;
|
||||||
RichPresence m_rich_presence;
|
RichPresence m_rich_presence;
|
||||||
std::chrono::steady_clock::time_point m_last_rp_time = std::chrono::steady_clock::now();
|
std::chrono::steady_clock::time_point m_last_rp_time = std::chrono::steady_clock::now();
|
||||||
|
std::chrono::steady_clock::time_point m_last_progress_message = std::chrono::steady_clock::now();
|
||||||
|
|
||||||
std::unordered_map<AchievementId, LeaderboardStatus> m_leaderboard_map;
|
std::unordered_map<AchievementId, LeaderboardStatus> m_leaderboard_map;
|
||||||
NamedBadgeMap m_active_challenges;
|
NamedBadgeMap m_active_challenges;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user