From eaf1e3632ef13f64f23fafc8a1550359c18a8c1e Mon Sep 17 00:00:00 2001 From: Kawe Mazidjatari <48657826+Mauler125@users.noreply.github.com> Date: Wed, 15 Feb 2023 20:50:12 +0100 Subject: [PATCH] Implement 'COM_FormatSeconds' --- r5dev/engine/common.cpp | 31 +++++++++++++++++++++++++++++++ r5dev/engine/common.h | 1 + 2 files changed, 32 insertions(+) diff --git a/r5dev/engine/common.cpp b/r5dev/engine/common.cpp index 7fe09e64..4e0a5fcb 100644 --- a/r5dev/engine/common.cpp +++ b/r5dev/engine/common.cpp @@ -5,6 +5,7 @@ //=====================================================================================// #include +#include #include /* @@ -18,3 +19,33 @@ void* HCOM_ExplainDisconnection(void* unused, const char* fmt, ...) // !TODO: rebuild. return nullptr; } + +const char* COM_FormatSeconds(int seconds) +{ + static char string[64]; + + int hours = 0; + int minutes = seconds / 60; + + if (minutes > 0) + { + seconds -= (minutes * 60); + hours = minutes / 60; + + if (hours > 0) + { + minutes -= (hours * 60); + } + } + + if (hours > 0) + { + Q_snprintf(string, sizeof(string), "%2i:%02i:%02i", hours, minutes, seconds); + } + else + { + Q_snprintf(string, sizeof(string), "%02i:%02i", minutes, seconds); + } + + return string; +} \ No newline at end of file diff --git a/r5dev/engine/common.h b/r5dev/engine/common.h index 352319d2..1dd3ae9b 100644 --- a/r5dev/engine/common.h +++ b/r5dev/engine/common.h @@ -7,6 +7,7 @@ inline auto COM_InitFilesystem = p_COM_InitFilesystem.RCast(); +const char* COM_FormatSeconds(int seconds); /////////////////////////////////////////////////////////////////////////////// class VCommon : public IDetour {