diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-11-21 12:25:22 +0100 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2023-12-01 23:28:35 +0100 |
commit | 070cd23b6cf2e985713b90455cb7f7c53535cbcf (patch) | |
tree | cfcd414ecc4d3ef05253140ce83897f693d6dcd3 /src/server/game/Time/GameTime.cpp | |
parent | b6e346eaf0ee9a1c0dc2c7977ac950b77c857ecf (diff) |
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427
(cherry picked from commit b888b1b09f71a8b8b4a9d45c804a1f164fb65ac3)
Diffstat (limited to 'src/server/game/Time/GameTime.cpp')
-rw-r--r-- | src/server/game/Time/GameTime.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/game/Time/GameTime.cpp b/src/server/game/Time/GameTime.cpp index 399be3196b3..3175c0e5571 100644 --- a/src/server/game/Time/GameTime.cpp +++ b/src/server/game/Time/GameTime.cpp @@ -17,7 +17,9 @@ #include "GameTime.h" #include "Timer.h" +#include "Timezone.h" #include "Util.h" +#include "WowTime.h" namespace GameTime { @@ -31,6 +33,9 @@ namespace GameTime tm DateTime; + WowTime UtcWow; + WowTime Wow; + time_t GetStartTime() { return StartTime; @@ -84,6 +89,16 @@ namespace GameTime return &DateTime; } + WowTime const* GetUtcWowTime() + { + return &UtcWow; + } + + WowTime const* GetWowTime() + { + return &Wow; + } + void UpdateGameTimers() { GameTime = time(nullptr); @@ -91,5 +106,7 @@ namespace GameTime GameTimeSystemPoint = std::chrono::system_clock::now(); GameTimeSteadyPoint = std::chrono::steady_clock::now(); localtime_r(&GameTime, &DateTime); + UtcWow.SetUtcTimeFromUnixTime(GameTime); + Wow = UtcWow + Trinity::Timezone::GetSystemZoneOffsetAt(GameTimeSystemPoint); } } |