diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-11-21 12:25:22 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-11-21 12:25:22 +0100 |
commit | b888b1b09f71a8b8b4a9d45c804a1f164fb65ac3 (patch) | |
tree | ba507c4c1c5e8487bd223afbde44ecf9eeac162e /src/server/game/Time/GameTime.cpp | |
parent | 8c072b93af3a4efcbde21cc85fedcf7fa48fa7b4 (diff) |
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390
Closes #29427
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); } } |