aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Time/GameTime.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/server/game/Time/GameTime.cpp b/src/server/game/Time/GameTime.cpp
index 2a2797b97e0..b6d4e2f9986 100644
--- a/src/server/game/Time/GameTime.cpp
+++ b/src/server/game/Time/GameTime.cpp
@@ -18,24 +18,32 @@
#include "GameTime.h"
#include "Timer.h"
#include "Timezone.h"
+#include "Types.h"
#include "Util.h"
#include "WowTime.h"
namespace GameTime
{
- time_t const StartTime = time(nullptr);
-
- time_t GameTime = time(nullptr);
- uint32 GameMSTime = 0;
+namespace
+{
+ time_t GameTime;
+ uint32 GameMSTime;
- SystemTimePoint GameTimeSystemPoint = SystemTimePoint::min();
- TimePoint GameTimeSteadyPoint = TimePoint::min();
+ SystemTimePoint GameTimeSystemPoint;
+ TimePoint GameTimeSteadyPoint;
tm DateTime;
WowTime UtcWow;
WowTime Wow;
+ time_t const StartTime = []
+ {
+ UpdateGameTimers();
+ return time(nullptr);
+ }();
+}
+
time_t GetStartTime()
{
return StartTime;
@@ -64,7 +72,8 @@ namespace GameTime
template<typename Clock>
typename Clock::time_point GetTime()
{
- static_assert(!std::is_same<Clock, Clock>::value, "Missing specialization for GetGameTimePoint");
+ static_assert(Trinity::dependant_false_v<Clock>, "Missing specialization for GetGameTimePoint");
+ return { };
}
template<>