CommonLibSSE NG
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  REL::Relocation<BSTimer*> singleton{ RELOCATION_ID(523657, 410196) };
11  return singleton.get();
12  }
13 
14  static float QGlobalTimeMultiplier()
15  {
16  REL::Relocation<float*> value{ RELOCATION_ID(511882, 388442) };
17  return *value;
18  }
19 
21  {
22  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  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  float clamp; // 10
37  float clampRemainder; // 14
38  float delta; // 18
39  float realTimeDelta; // 1C
40  std::uint32_t unk20; // 20
41  std::uint32_t unk24; // 24
42  float unk28; // 28
43  std::uint32_t unk2C; // 2C
44  std::uint32_t unk30; // 30
45  std::uint32_t unk34; // 34
46  std::uint8_t unk38; // 38
47  std::uint8_t unk39; // 39
49  std::uint8_t pad3B; // 3B
50  std::uint32_t pad3C; // 3C
51  };
52  static_assert(sizeof(BSTimer) == 0x40);
53 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSTimer.h:6
std::uint8_t unk38
Definition: BSTimer.h:46
float realTimeDelta
Definition: BSTimer.h:39
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:45
static float QGlobalTimeMultiplier()
Definition: BSTimer.h:14
static BSTimer * GetSingleton() noexcept
Definition: BSTimer.h:8
float clampRemainder
Definition: BSTimer.h:37
bool useGlobalTimeMultiplierTarget
Definition: BSTimer.h:48
float unk28
Definition: BSTimer.h:42
float delta
Definition: BSTimer.h:38
float clamp
Definition: BSTimer.h:36
std::uint8_t unk39
Definition: BSTimer.h:47
std::uint32_t unk2C
Definition: BSTimer.h:43
std::uint32_t unk30
Definition: BSTimer.h:44
static float QGlobalTimeMultiplierTarget()
Definition: BSTimer.h:20
std::uint32_t unk24
Definition: BSTimer.h:41
std::uint64_t unk00
Definition: BSTimer.h:34
std::uint32_t unk20
Definition: BSTimer.h:40
std::uint32_t pad3C
Definition: BSTimer.h:50
std::uint8_t pad3B
Definition: BSTimer.h:49
Definition: AbsorbEffect.h:6