mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-07 12:05:52 +00:00
Achievements: Avoid duplicate tracker display
This commit is contained in:
parent
42813e8840
commit
d9367229e9
@ -1732,14 +1732,19 @@ void Achievements::HandleLeaderboardTrackerShowEvent(const rc_client_event_t* ev
|
|||||||
{
|
{
|
||||||
DEV_LOG("Showing leaderboard tracker: {}: {}", event->leaderboard_tracker->id, event->leaderboard_tracker->display);
|
DEV_LOG("Showing leaderboard tracker: {}: {}", event->leaderboard_tracker->id, event->leaderboard_tracker->display);
|
||||||
|
|
||||||
TinyString width_string;
|
const u32 id = event->leaderboard_tracker->id;
|
||||||
width_string.append(ICON_FA_STOPWATCH);
|
auto it = std::find_if(s_state.active_leaderboard_trackers.begin(), s_state.active_leaderboard_trackers.end(),
|
||||||
const u32 display_len = static_cast<u32>(std::strlen(event->leaderboard_tracker->display));
|
[id](const auto& it) { return it.tracker_id == id; });
|
||||||
for (u32 i = 0; i < display_len; i++)
|
if (it != s_state.active_leaderboard_trackers.end())
|
||||||
width_string.append('0');
|
{
|
||||||
|
WARNING_LOG("Leaderboard tracker {} already active", id);
|
||||||
|
it->text = event->leaderboard_tracker->display;
|
||||||
|
it->active = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
s_state.active_leaderboard_trackers.push_back(LeaderboardTrackerIndicator{
|
s_state.active_leaderboard_trackers.push_back(LeaderboardTrackerIndicator{
|
||||||
.tracker_id = event->leaderboard_tracker->id,
|
.tracker_id = id,
|
||||||
.text = event->leaderboard_tracker->display,
|
.text = event->leaderboard_tracker->display,
|
||||||
.opacity = 0.0f,
|
.opacity = 0.0f,
|
||||||
.active = true,
|
.active = true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user