mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Calendar: Implement different timezone support for ingame calendar
Closes #8390 Closes #29427
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user