Skip to content

Commit

Permalink
Achievements: Open cheevo details in browser when selected
Browse files Browse the repository at this point in the history
  • Loading branch information
stenzek committed Jan 13, 2024
1 parent da9e306 commit eae4f73
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/core/achievements.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ namespace Achievements {
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* ACHEIVEMENT_DETAILS_URL_TEMPLATE = "https://retroachievements.org/achievement/{}";

static constexpr u32 LEADERBOARD_NEARBY_ENTRIES_TO_FETCH = 10;
static constexpr u32 LEADERBOARD_ALL_FETCH_SIZE = 20;
Expand Down Expand Up @@ -2310,11 +2311,11 @@ void Achievements::DrawAchievement(const rc_client_achievement_t* cheevo)

ImRect bb;
bool visible, hovered;
ImGuiFullscreen::MenuButtonFrame(TinyString::from_format("chv_{}", cheevo->id), true,
!is_measured ? ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT + unlock_size :
ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT +
progress_height_unscaled + progress_spacing_unscaled,
&visible, &hovered, &bb.Min, &bb.Max, 0, alpha);
const bool clicked = ImGuiFullscreen::MenuButtonFrame(
TinyString::from_format("chv_{}", cheevo->id), true,
!is_measured ? ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT + unlock_size :
ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT + progress_height_unscaled + progress_spacing_unscaled,
&visible, &hovered, &bb.Min, &bb.Max, 0, alpha);
if (!visible)
return;

Expand Down Expand Up @@ -2433,6 +2434,14 @@ void Achievements::DrawAchievement(const rc_client_achievement_t* cheevo)
measured_progress.data() + measured_progress.size());
}

if (clicked)
{
const SmallString url = SmallString::from_format(fmt::runtime(ACHEIVEMENT_DETAILS_URL_TEMPLATE), cheevo->id);
Log_InfoFmt("Opening achievement details: {}", url);
Host::OpenURL(url);
}


ImGui::PopFont();
}

Expand Down

0 comments on commit eae4f73

Please sign in to comment.