CommonLibVR
Loading...
Searching...
No Matches
TESRegion.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTList.h"
4#include "RE/F/FormTypes.h"
5#include "RE/N/NiColor.h"
6#include "RE/N/NiPoint2.h"
7#include "RE/T/TESForm.h"
8
9namespace RE
10{
11 class TESRegionData;
12
14 {
16 bool unk11; // 11
17 std::uint16_t pad12; // 12
18 std::uint32_t pad14; // 14
19 };
20 static_assert(sizeof(TESRegionDataList) == 0x18);
21
23 {
24 public:
26 };
27 static_assert(sizeof(TESRegionPoint) == 0x8);
28
29 class TESRegionPointList : public BSSimpleList<TESRegionPoint*> // RPLD
30 {
31 public:
33 {
35 float dist; // 08
36 float scale; // 0C
37 };
38 static_assert(sizeof(ScaleResult) == 0x10);
39
41 bool ownsPointMemory; // 18
42 std::uint8_t pad19; // 19
43 std::uint16_t pad1A; // 1A
46 std::uint32_t distanceInsideAtMax; // 2C - RPLI
47 std::uint32_t count; // 30
48 std::uint32_t pad34; // 34
49 private:
51 };
52 static_assert(sizeof(TESRegionPointList) == 0x38);
53
54 class TESRegion : public TESForm
55 {
56 public:
57 inline static constexpr auto RTTI = RTTI_TESRegion;
58 inline static constexpr auto VTABLE = VTABLE_TESRegion;
59 inline static constexpr auto FORMTYPE = FormType::Region;
60
62 {
63 enum RecordFlag : std::uint32_t
64 {
65 kDeleted = 1 << 5,
66 kBorderRegion = 1 << 6,
67 kIgnored = 1 << 12
68 };
69 };
70
71 ~TESRegion() override; // 00
72
73 // override (TESForm)
74 void ClearData(void) override; // 05
75 bool Load(TESFile* a_mod) override; // 06
76 void InitItemImpl() override; // 13
77
78 // add
79 virtual bool Validate(); // 3B
80
81 // members
87 std::uint32_t pad4C; // 4C
88 private:
90 };
91 static_assert(sizeof(TESRegion) == 0x50);
92}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSTList.h:10
Definition NiColor.h:11
Definition NiPoint2.h:6
Definition TESFile.h:17
Definition TESForm.h:40
Definition TESRegion.h:30
NiPoint2 maximums
Definition TESRegion.h:45
std::uint8_t pad19
Definition TESRegion.h:42
std::uint16_t pad1A
Definition TESRegion.h:43
ScaleResult * lastScaleResult
Definition TESRegion.h:40
bool ownsPointMemory
Definition TESRegion.h:41
NiPoint2 minimums
Definition TESRegion.h:44
std::uint32_t count
Definition TESRegion.h:47
std::uint32_t distanceInsideAtMax
Definition TESRegion.h:46
std::uint32_t pad34
Definition TESRegion.h:48
Definition TESRegion.h:23
NiPoint2 point
Definition TESRegion.h:25
Definition TESRegion.h:55
NiColor emittanceColor
Definition TESRegion.h:86
BSSimpleList< TESRegionPointList * > * pointLists
Definition TESRegion.h:83
TESWeather * currentWeather
Definition TESRegion.h:85
virtual bool Validate()
~TESRegion() override
static constexpr auto RTTI
Definition TESRegion.h:57
static constexpr auto FORMTYPE
Definition TESRegion.h:59
std::uint32_t pad4C
Definition TESRegion.h:87
TESWorldSpace * worldSpace
Definition TESRegion.h:84
bool Load(TESFile *a_mod) override
TESRegionDataList * dataList
Definition TESRegion.h:82
void ClearData(void) override
static constexpr auto VTABLE
Definition TESRegion.h:58
void InitItemImpl() override
Definition TESWeather.h:17
Definition TESWorldSpace.h:120
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_TESRegion(static_cast< std::uint64_t >(513962))
constexpr std::array< REL::ID, 1 > VTABLE_TESRegion
Definition Offsets_VTABLE.h:12884
Definition TESRegion.h:14
bool unk11
Definition TESRegion.h:16
BSSimpleList< TESRegionData * > regionDataList
Definition TESRegion.h:15
std::uint32_t pad14
Definition TESRegion.h:18
std::uint16_t pad12
Definition TESRegion.h:17
Definition TESRegion.h:33
float dist
Definition TESRegion.h:35
float scale
Definition TESRegion.h:36
TESRegionPoint point
Definition TESRegion.h:34
Definition TESRegion.h:62
RecordFlag
Definition TESRegion.h:64
@ kDeleted
Definition TESRegion.h:65
@ kIgnored
Definition TESRegion.h:67
@ kBorderRegion
Definition TESRegion.h:66