//CFTTTime - [2020-04-13 11:57:46]
#ifndef _CFTTTIME_H_
#define _CFTTTIME_H_

#include "common.h"

/*
00268290 CFTTTime::UpdateTimers()
002683AC CFTTTime::GetSystemTimeMicroSeconds()
002683D4 CFTTTime::GetLocalTime(CFTTDateTime &)
002684E0 CFTTTime::GetUTCTime(CFTTDateTime &)
002685F0 CFTTTime::GetSystemTime()
00268638 CFTTTime::GetUpTimeSeconds()
*/
struct CFTTDateTime {
  int16 year;
  int16 month;
  int16 unk;
  int16 day;
  int16 hour;
  int16 minute;
  int16 second;
};

class CFTTTime {
public:
  static void UpdateTimers();
  static uint64 GetSystemTimeMicroSeconds();
  static void GetLocalTime(CFTTDateTime& t);
  static void GetUTCTime(CFTTDateTime& t);
  static uint GetSystemTime();
  static long GetUpTimeSeconds();

  static uint64_t s_uUnscaledTime;
  static uint64_t s_uUnscaledTimeSlice;
  static float s_fUnscaledTimeSlice;
  static uint64_t s_uScaledTime;
  static uint64_t s_uScaledTimeSlice;
  static float s_fScaledTimeSlice;
  static uint s_uFrameNumber;
};  // namespace CFTTTime

#endif  //_CFTTTIME_H_