CommonLibSSE (powerof3)
BSTimer.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  class BSTimer
6  {
7  public:
8  [[nodiscard]] static BSTimer* GetSingleton() noexcept
9  {
10  static REL::Relocation<BSTimer*> singleton{ RELOCATION_ID(523657, 410196) };
11  return singleton.get();
12  }
13 
14  static float QGlobalTimeMultiplier()
15  {
16  static REL::Relocation<float*> value{ RELOCATION_ID(511882, 388442) };
17  return *value;
18  }
19 
21  {
22  static REL::Relocation<float*> value{ RELOCATION_ID(511883, 388443) };
23  return *value;
24  }
25 
26  void SetGlobalTimeMultiplier(float a_multiplier, bool a_arg2)
27  {
28  using func_t = decltype(&BSTimer::SetGlobalTimeMultiplier);
29  static REL::Relocation<func_t> func{ RELOCATION_ID(66988, 68245) };
30  return func(this, a_multiplier, a_arg2);
31  }
32 
33  // members
34  std::uint64_t unk00; // 00
35  std::uint32_t lastPerformanceCount; // 08
36  std::uint32_t pad0C; // 0C
37  float clamp; // 10
38  float clampRemainder; // 14
39  float delta; // 18
40  float realTimeDelta; // 1C
41  std::uint32_t unk20; // 20
42  std::uint32_t unk24; // 24
43  float unk28; // 28
44  std::uint32_t unk2C; // 2C
45  std::uint32_t unk30; // 30
46  std::uint32_t unk34; // 34
47  std::uint8_t unk38; // 38
48  std::uint8_t unk39; // 39
50  std::uint8_t pad3B; // 3B
51  std::uint32_t pad3C; // 3C
52  };
53  static_assert(sizeof(BSTimer) == 0x40);
54 }
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:505
Definition: Relocation.h:210
Definition: BSTimer.h:6
std::uint8_t unk38
Definition: BSTimer.h:47
float realTimeDelta
Definition: BSTimer.h:40
void SetGlobalTimeMultiplier(float a_multiplier, bool a_arg2)
Definition: BSTimer.h:26
std::uint32_t lastPerformanceCount
Definition: BSTimer.h:35
std::uint32_t unk34
Definition: BSTimer.h:46
std::uint32_t pad0C
Definition: BSTimer.h:36
static float QGlobalTimeMultiplier()
Definition: BSTimer.h:14
static BSTimer * GetSingleton() noexcept
Definition: BSTimer.h:8
float clampRemainder
Definition: BSTimer.h:38
bool useGlobalTimeMultiplierTarget
Definition: BSTimer.h:49
float unk28
Definition: BSTimer.h:43
float delta
Definition: BSTimer.h:39
float clamp
Definition: BSTimer.h:37
std::uint8_t unk39
Definition: BSTimer.h:48
std::uint32_t unk2C
Definition: BSTimer.h:44
std::uint32_t unk30
Definition: BSTimer.h:45
static float QGlobalTimeMultiplierTarget()
Definition: BSTimer.h:20
std::uint32_t unk24
Definition: BSTimer.h:42
std::uint64_t unk00
Definition: BSTimer.h:34
std::uint32_t unk20
Definition: BSTimer.h:41
std::uint32_t pad3C
Definition: BSTimer.h:51
std::uint8_t pad3B
Definition: BSTimer.h:50
Definition: AbsorbEffect.h:6