From 2bea12e1995ee0c0b55a63f42c38168bab142d7b Mon Sep 17 00:00:00 2001 From: otavepto <153766569+otavepto@users.noreply.github.com> Date: Sun, 23 Jun 2024 00:30:49 +0300 Subject: [PATCH] display & save progress/max_progress as uint32 --- overlay_experimental/overlay/steam_overlay.h | 4 ++-- overlay_experimental/steam_overlay.cpp | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/overlay_experimental/overlay/steam_overlay.h b/overlay_experimental/overlay/steam_overlay.h index 79bbdac8..e5e290ab 100644 --- a/overlay_experimental/overlay/steam_overlay.h +++ b/overlay_experimental/overlay/steam_overlay.h @@ -71,8 +71,8 @@ struct Overlay_Achievement std::string description{}; std::string icon_name{}; std::string icon_gray_name{}; - float progress{}; - float max_progress{}; + uint32 progress{}; + uint32 max_progress{}; bool hidden{}; bool achieved{}; uint32 unlock_time{}; diff --git a/overlay_experimental/steam_overlay.cpp b/overlay_experimental/steam_overlay.cpp index a07a73b1..6445f345 100644 --- a/overlay_experimental/steam_overlay.cpp +++ b/overlay_experimental/steam_overlay.cpp @@ -361,8 +361,8 @@ void Steam_Overlay::load_achievements_data() float pnMinProgress = 0, pnMaxProgress = 0; if (steamUserStats->GetAchievementProgressLimits(ach.name.c_str(), &pnMinProgress, &pnMaxProgress)) { - ach.progress = pnMinProgress; - ach.max_progress = pnMaxProgress; + ach.progress = (uint32)pnMinProgress; + ach.max_progress = (uint32)pnMaxProgress; } achievements.emplace_back(ach); @@ -669,7 +669,7 @@ void Steam_Overlay::show_test_achievement() // randomly add progress if (common_helpers::rand_number(1000) % 2) { for_progress = true; - float progress = common_helpers::rand_number(500) / 10.0f + 50; // [50.0, 100.0] + uint32 progress = (uint32)(common_helpers::rand_number(500) / 10 + 50); // [50, 100] ach.max_progress = 100; ach.progress = progress; ach.achieved = false; @@ -1034,8 +1034,8 @@ void Steam_Overlay::add_ach_progressbar(const Overlay_Achievement &ach) { if (!ach.achieved && ach.max_progress > 0) { char buf[32]{}; - sprintf(buf, "%.1f/%.1f", ach.progress, ach.max_progress); - ImGui::ProgressBar(ach.progress / ach.max_progress, { -1 , settings->overlay_appearance.font_size }, buf); + sprintf(buf, "%u/%u", ach.progress, ach.max_progress); + ImGui::ProgressBar((float)ach.progress / ach.max_progress, { -1 , settings->overlay_appearance.font_size }, buf); } } @@ -2088,8 +2088,8 @@ void Steam_Overlay::AddAchievementNotification(const std::string &ach_name, nloh a.achieved = ach.value("earned", false); a.unlock_time = ach.value("earned_time", static_cast(0)); - a.progress = ach.value("progress", static_cast(0)); - a.max_progress = ach.value("max_progress", static_cast(0)); + a.progress = ach.value("progress", static_cast(0)); + a.max_progress = ach.value("max_progress", static_cast(0)); } catch(...) {} if (a.achieved && !for_progress) { // here we don't show the progress indications