mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-02 13:20:36 +00:00
Added Notification Popup for Leaderboard Started
Added HandleLeaderboardStartedEvent with an OnScreenDisplay message when a player has triggered a leaderboard's start conditions. The message includes the title of the achievement.
This commit is contained in:
parent
c20d0ae9e1
commit
a4b7f43f21
@ -266,6 +266,9 @@ void AchievementManager::AchievementEventHandler(const rc_runtime_event_t* runti
|
|||||||
case RC_RUNTIME_EVENT_ACHIEVEMENT_TRIGGERED:
|
case RC_RUNTIME_EVENT_ACHIEVEMENT_TRIGGERED:
|
||||||
HandleAchievementTriggeredEvent(runtime_event);
|
HandleAchievementTriggeredEvent(runtime_event);
|
||||||
break;
|
break;
|
||||||
|
case RC_RUNTIME_EVENT_LBOARD_STARTED:
|
||||||
|
HandleLeaderboardStartedEvent(runtime_event);
|
||||||
|
break;
|
||||||
case RC_RUNTIME_EVENT_LBOARD_TRIGGERED:
|
case RC_RUNTIME_EVENT_LBOARD_TRIGGERED:
|
||||||
HandleLeaderboardTriggeredEvent(runtime_event);
|
HandleLeaderboardTriggeredEvent(runtime_event);
|
||||||
break;
|
break;
|
||||||
@ -519,6 +522,19 @@ void AchievementManager::HandleAchievementTriggeredEvent(const rc_runtime_event_
|
|||||||
Config::Get(Config::RA_ENCORE_ENABLED));
|
Config::Get(Config::RA_ENCORE_ENABLED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AchievementManager::HandleLeaderboardStartedEvent(const rc_runtime_event_t* runtime_event)
|
||||||
|
{
|
||||||
|
for (u32 ix = 0; ix < m_game_data.num_leaderboards; ix++)
|
||||||
|
{
|
||||||
|
if (m_game_data.leaderboards[ix].id == runtime_event->id)
|
||||||
|
{
|
||||||
|
OSD::AddMessage(fmt::format("Attempting leaderboard: {}", m_game_data.leaderboards[ix].title),
|
||||||
|
OSD::Duration::VERY_LONG, OSD::Color::GREEN);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AchievementManager::HandleLeaderboardTriggeredEvent(const rc_runtime_event_t* runtime_event)
|
void AchievementManager::HandleLeaderboardTriggeredEvent(const rc_runtime_event_t* runtime_event)
|
||||||
{
|
{
|
||||||
m_queue.EmplaceItem(
|
m_queue.EmplaceItem(
|
||||||
|
@ -80,6 +80,7 @@ private:
|
|||||||
ResponseType PingRichPresence(const RichPresence& rich_presence);
|
ResponseType PingRichPresence(const RichPresence& rich_presence);
|
||||||
|
|
||||||
void HandleAchievementTriggeredEvent(const rc_runtime_event_t* runtime_event);
|
void HandleAchievementTriggeredEvent(const rc_runtime_event_t* runtime_event);
|
||||||
|
void HandleLeaderboardStartedEvent(const rc_runtime_event_t* runtime_event);
|
||||||
void HandleLeaderboardTriggeredEvent(const rc_runtime_event_t* runtime_event);
|
void HandleLeaderboardTriggeredEvent(const rc_runtime_event_t* runtime_event);
|
||||||
|
|
||||||
template <typename RcRequest, typename RcResponse>
|
template <typename RcRequest, typename RcResponse>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user