CommonLibSSE (powerof3)
TES.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTEvent.h"
4 #include "RE/B/BSTList.h"
5 #include "RE/B/BSTTuple.h"
7 #include "RE/N/NiSmartPointer.h"
8 
9 namespace RE
10 {
11  namespace BSResource
12  {
13  struct ArchiveStreamOpenedEvent;
14  }
15 
16  class BSSystemEvent;
17  class BSTempNodeManager;
18  class GridCellArray;
19  class ImageSpaceModifierInstance;
20  class NiNode;
21  class Sky;
22  class TESActorBase;
23  class TESObjectCELL;
24  class TESWorldSpace;
25 
26  struct PositionPlayerEvent;
27 
28  class TES :
29  public ICellAttachDetachEventSource, // 000
30  public BSTEventSink<BSResource::ArchiveStreamOpenedEvent>, // 060
31  public BSTEventSink<PositionPlayerEvent> // 068
32  {
33  public:
34  inline static constexpr auto RTTI = RTTI_TES;
35 
36  class SystemEventAdapter : public BSTEventSink<BSSystemEvent>
37  {
38  public:
39  inline static constexpr auto RTTI = RTTI_TES;
40 
41  ~SystemEventAdapter() override; // 00
42 
43  // override (BSTEventSink<BSSystemEvent>)
44  BSEventNotifyControl ProcessEvent(const BSSystemEvent* a_event, BSTEventSource<BSSystemEvent>* a_eventSource) override; // 01
45 
46  // members
47  std::uint64_t unk08; // 08
48  };
49  static_assert(sizeof(SystemEventAdapter) == 0x10);
50 
51  ~TES() override; // 00
52 
53  // override (BSTEventSink<BSResource::ArchiveStreamOpenedEvent>)
54  BSEventNotifyControl ProcessEvent(const BSResource::ArchiveStreamOpenedEvent* a_event, BSTEventSource<BSResource::ArchiveStreamOpenedEvent>* a_eventSource) override; // 01 - { return BSEventNotifyControl::kContinue; }
55 
56  // override (BSTEventSink<PositionPlayerEvent>)
58 
59  static TES* GetSingleton();
60 
61  // members
62  std::uint64_t unk070; // 070
64  NiNode* objRoot; // 080
67  BSTempNodeManager* tempNodeManager; // 098
68  std::uint64_t unk0A0; // 0A0
69  std::uint64_t unk0A8; // 0A8
70  std::uint64_t unk0B0; // 0B0
71  std::uint64_t unk0B8; // 0B8
74  void* unk0D0; // 0D0
75  std::uint64_t unk0D8; // 0D8
76  std::uint64_t unk0E0; // 0E0
77  std::uint64_t unk0E8; // 0E8
78  std::uint64_t unk0F0; // 0F0
79  std::uint64_t unk0F8; // 0F8
80  Sky* sky; // 100
82  std::uint64_t unk118; // 118
83  std::uint64_t unk120; // 120
84  std::uint8_t unk128; // 128
85  bool showLANDborders; // 129
86  std::uint8_t unk12A; // 12A
87  std::uint8_t unk12B; // 12B
88  std::uint8_t unk12C; // 12C
89  std::uint8_t unk12D; // 12D
90  std::uint8_t unk12E; // 12E
91  std::uint8_t unk12F; // 12F
92  std::uint16_t unk130; // 130
93  std::uint8_t unk132; // 132
94  std::uint8_t unk133; // 133
95  std::uint32_t unk134; // 134
96  std::uint64_t unk138; // 138
99  void* unk158; // 158 - smart ptr
100  void* unk160; // 160 - smart ptr
101  void* unk168; // 168 - smart ptr
102  void* unk170; // 170 - smart ptr
103  std::uint64_t unk178; // 178
104  std::uint64_t unk180; // 180
105  std::uint64_t unk188; // 188
106  std::uint64_t unk190; // 190
107  std::uint64_t unk198; // 198
108  std::uint64_t unk1A0; // 1A0
109  std::uint64_t unk1A8; // 1A8
110  std::uint64_t unk1B0; // 1B0
111  std::uint64_t unk1B8; // 1B8
112  std::uint64_t unk1C0; // 1C0
113  std::uint64_t unk1C8; // 1C8
114  std::uint64_t unk1D0; // 1D0
115  std::uint64_t unk1D8; // 1D8
116  std::uint64_t unk1E0; // 1E0
117  std::uint64_t unk1E8; // 1E8
118  std::uint64_t unk1F0; // 1F0
119  std::uint64_t unk1F8; // 1F8
120  std::uint64_t unk200; // 200
121  std::uint64_t unk208; // 208
122  std::uint64_t unk210; // 210
123  std::uint64_t unk218; // 218
124  std::uint64_t unk220; // 220
125  std::uint64_t unk228; // 228
126  std::uint64_t unk230; // 230
127  std::uint64_t unk238; // 238
128  std::uint64_t unk240; // 240
129  std::uint64_t unk248; // 248
130  std::uint64_t unk250; // 250
131  std::uint64_t unk258; // 258
132  std::uint64_t unk260; // 260
133  std::uint64_t unk268; // 268
134  std::uint64_t unk270; // 270
135  std::uint64_t unk278; // 278
136  std::uint64_t unk280; // 280
137  std::uint64_t unk288; // 288
139  std::uint64_t unk2A0; // 2A0
140  std::uint64_t unk2A8; // 2A8
141  std::uint64_t unk2B0; // 2B0
142  };
143  static_assert(sizeof(TES) == 0x2B8);
144 }
Definition: BSTList.h:10
Definition: BSTEvent.h:146
Definition: BSTEvent.h:28
Definition: GridCellArray.h:11
Definition: ICellAttachDetachEventSource.h:13
Definition: NiNode.h:12
Definition: Sky.h:31
Definition: TESObjectCELL.h:102
Definition: TESWorldSpace.h:116
Definition: TES.h:37
static constexpr auto RTTI
Definition: TES.h:39
std::uint64_t unk08
Definition: TES.h:47
BSEventNotifyControl ProcessEvent(const BSSystemEvent *a_event, BSTEventSource< BSSystemEvent > *a_eventSource) override
Definition: TES.h:32
void * unk158
Definition: TES.h:99
std::uint64_t unk1B8
Definition: TES.h:111
std::uint64_t unk208
Definition: TES.h:121
std::uint64_t unk118
Definition: TES.h:82
SystemEventAdapter unk290
Definition: TES.h:138
std::uint64_t unk0A0
Definition: TES.h:68
std::uint64_t unk0B0
Definition: TES.h:70
std::uint8_t unk132
Definition: TES.h:93
std::uint8_t unk12B
Definition: TES.h:87
BSSimpleList< NiPointer< ImageSpaceModifierInstance > > activeImageSpaceModifiers
Definition: TES.h:81
void * unk170
Definition: TES.h:102
std::uint64_t unk250
Definition: TES.h:130
bool showLANDborders
Definition: TES.h:85
std::uint64_t unk278
Definition: TES.h:135
std::uint64_t unk288
Definition: TES.h:137
void * unk160
Definition: TES.h:100
std::uint64_t unk1E0
Definition: TES.h:116
std::uint64_t unk0F8
Definition: TES.h:79
TESWorldSpace * worldSpace
Definition: TES.h:97
std::uint8_t unk12D
Definition: TES.h:89
static constexpr auto RTTI
Definition: TES.h:34
std::uint8_t unk133
Definition: TES.h:94
void * unk168
Definition: TES.h:101
std::uint64_t unk280
Definition: TES.h:136
std::uint64_t unk200
Definition: TES.h:120
Sky * sky
Definition: TES.h:80
std::uint64_t unk1C8
Definition: TES.h:113
std::uint64_t unk260
Definition: TES.h:132
std::uint64_t unk2A8
Definition: TES.h:140
std::uint64_t unk240
Definition: TES.h:128
std::uint32_t unk134
Definition: TES.h:95
std::uint64_t unk210
Definition: TES.h:122
std::uint64_t unk188
Definition: TES.h:105
std::uint64_t unk178
Definition: TES.h:103
NiNode * objRoot
Definition: TES.h:64
std::uint64_t unk180
Definition: TES.h:104
std::uint64_t unk218
Definition: TES.h:123
std::uint64_t unk0E0
Definition: TES.h:76
std::uint64_t unk270
Definition: TES.h:134
std::uint64_t unk1F8
Definition: TES.h:119
std::uint64_t unk2A0
Definition: TES.h:139
GridCellArray * gridCells
Definition: TES.h:63
std::uint8_t unk12F
Definition: TES.h:91
std::uint64_t unk1D0
Definition: TES.h:114
std::uint64_t unk1A0
Definition: TES.h:108
std::uint64_t unk198
Definition: TES.h:107
std::uint64_t unk0D8
Definition: TES.h:75
BSTempNodeManager * tempNodeManager
Definition: TES.h:67
std::uint64_t unk0F0
Definition: TES.h:78
std::uint64_t unk1F0
Definition: TES.h:118
std::uint64_t unk1D8
Definition: TES.h:115
NiNode * objLODWaterRoot
Definition: TES.h:66
std::uint64_t unk1A8
Definition: TES.h:109
std::uint8_t unk12A
Definition: TES.h:86
BSEventNotifyControl ProcessEvent(const BSResource::ArchiveStreamOpenedEvent *a_event, BSTEventSource< BSResource::ArchiveStreamOpenedEvent > *a_eventSource) override
static TES * GetSingleton()
std::uint64_t unk248
Definition: TES.h:129
std::uint64_t unk220
Definition: TES.h:124
std::uint64_t unk190
Definition: TES.h:106
BSSimpleList< BSTTuple< TESActorBase *, std::uint16_t > * > deadCount
Definition: TES.h:98
std::uint64_t unk238
Definition: TES.h:127
std::uint64_t unk138
Definition: TES.h:96
BSEventNotifyControl ProcessEvent(const PositionPlayerEvent *a_event, BSTEventSource< PositionPlayerEvent > *a_eventSource) override
std::uint64_t unk1B0
Definition: TES.h:110
std::uint64_t unk268
Definition: TES.h:133
std::uint64_t unk230
Definition: TES.h:126
std::uint8_t unk12C
Definition: TES.h:88
std::uint64_t unk2B0
Definition: TES.h:141
TESObjectCELL * interiorCell
Definition: TES.h:72
std::uint64_t unk0E8
Definition: TES.h:77
std::uint8_t unk12E
Definition: TES.h:90
TESObjectCELL ** interiorBuffer
Definition: TES.h:73
void * unk0D0
Definition: TES.h:74
std::uint64_t unk0A8
Definition: TES.h:69
std::uint64_t unk070
Definition: TES.h:62
std::uint64_t unk120
Definition: TES.h:83
std::uint64_t unk0B8
Definition: TES.h:71
std::uint16_t unk130
Definition: TES.h:92
NiNode * lodLandRoot
Definition: TES.h:65
~TES() override
std::uint64_t unk1E8
Definition: TES.h:117
std::uint8_t unk128
Definition: TES.h:84
std::uint64_t unk1C0
Definition: TES.h:112
std::uint64_t unk228
Definition: TES.h:125
std::uint64_t unk258
Definition: TES.h:131
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TES
Definition: Offsets_RTTI.h:5964
BSEventNotifyControl
Definition: BSTEvent.h:12
Definition: PositionPlayerEvent.h:7