CommonLibSSE NG
SubtitleManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 #include "RE/B/BSPointerHandle.h"
5 #include "RE/B/BSTArray.h"
6 #include "RE/B/BSTSingleton.h"
7 
8 namespace RE
9 {
10  struct SubtitleInfo
11  {
12  // members
14  std::uint32_t pad04; // 04
16  float targetDistance; // 18
17  bool forceDisplay; // 1C
18  };
19  static_assert(sizeof(SubtitleInfo) == 0x20);
20 
21  class SubtitleManager : public BSTSingletonSDM<SubtitleManager>
22  {
23  public:
25  {
26  REL::Relocation<SubtitleManager**> singleton{ RELOCATION_ID(514283, 400443) };
27  return *singleton;
28  }
29 
31  {
32  using func_t = decltype(&SubtitleManager ::KillSubtitles);
33  REL::Relocation<func_t> func{ RELOCATION_ID(51755, 52628) };
34  return func(this);
35  }
36 
37  // members
38  std::uint8_t pad01; // 01
39  std::uint16_t pad02; // 02
40  std::uint32_t pad04; // 04
42  mutable BSSpinLock lock; // 20
44  };
45  static_assert(sizeof(SubtitleManager) == 0x30);
46 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSAtomic.h:51
Definition: BSTArray.h:377
Definition: SubtitleManager.h:22
BSSpinLock lock
Definition: SubtitleManager.h:42
std::uint8_t pad01
Definition: SubtitleManager.h:38
std::uint32_t pad04
Definition: SubtitleManager.h:40
void KillSubtitles()
Definition: SubtitleManager.h:30
ObjectRefHandle currentSpeaker
Definition: SubtitleManager.h:43
BSTArray< SubtitleInfo > subtitles
Definition: SubtitleManager.h:41
std::uint16_t pad02
Definition: SubtitleManager.h:39
static SubtitleManager * GetSingleton()
Definition: SubtitleManager.h:24
Definition: AbsorbEffect.h:6
Definition: BSTSingleton.h:50
Definition: SubtitleManager.h:11
std::uint32_t pad04
Definition: SubtitleManager.h:14
ObjectRefHandle speaker
Definition: SubtitleManager.h:13
BSString subtitle
Definition: SubtitleManager.h:15
float targetDistance
Definition: SubtitleManager.h:16
bool forceDisplay
Definition: SubtitleManager.h:17