From 058df3eae665c174d678729f98d9b0c9baa0ab96 Mon Sep 17 00:00:00 2001 From: Emagi Date: Wed, 21 May 2025 10:36:49 -0400 Subject: [PATCH] Fix the uptime of the login/world to report days correctly from convertTimestampDuration call --- source/common/MiscFunctions.cpp | 12 ++++++------ source/common/MiscFunctions.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/common/MiscFunctions.cpp b/source/common/MiscFunctions.cpp index c468877..38728ac 100644 --- a/source/common/MiscFunctions.cpp +++ b/source/common/MiscFunctions.cpp @@ -954,15 +954,15 @@ int64 getCurrentTimestamp() { return duration.count(); } -std::tuple convertTimestampDuration(int64 total_seconds) { - std::chrono::milliseconds duration(total_seconds); +std::tuple convertTimestampDuration(int64 total_milliseconds) { + std::chrono::milliseconds duration(total_milliseconds); // Convert to days, hours, minutes, and seconds - auto days = std::chrono::duration_cast>>(duration); - duration -= days; - auto hours = std::chrono::duration_cast(duration); duration -= hours; + int64 days = static_cast(total_hours / 24); + hours -= days * 24; + auto minutes = std::chrono::duration_cast(duration); duration -= minutes; @@ -970,4 +970,4 @@ std::tuple convertTimestampDuration(int64 total_seconds) { // Return the result as a tuple return std::make_tuple(days.count(), hours.count(), minutes.count(), seconds.count()); -} \ No newline at end of file +} diff --git a/source/common/MiscFunctions.h b/source/common/MiscFunctions.h index 8a5db4f..af84ab3 100644 --- a/source/common/MiscFunctions.h +++ b/source/common/MiscFunctions.h @@ -94,7 +94,7 @@ uint32 as_uint(const float x); float as_float(const uint32 x); int64 getCurrentTimestamp(); -std::tuple convertTimestampDuration(int64 total_seconds); +std::tuple convertTimestampDuration(int64 total_milliseconds); bool INIReadBool(FILE *f, const char *section, const char *property, bool *out); bool INIReadInt(FILE *f, const char *section, const char *property, int *out);