CommonLibSSE NG
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 };
50 static_assert(sizeof(TESRegionPointList) == 0x38);
51
52 class TESRegion : public TESForm
53 {
54 public:
55 inline static constexpr auto RTTI = RTTI_TESRegion;
56 inline static constexpr auto VTABLE = VTABLE_TESRegion;
57 inline static constexpr auto FORMTYPE = FormType::Region;
58
60 {
61 enum RecordFlag : std::uint32_t
62 {
63 kDeleted = 1 << 5,
64 kBorderRegion = 1 << 6,
65 kIgnored = 1 << 12
66 };
67 };
68
69 ~TESRegion() override; // 00
70
71 // override (TESForm)
72 void ClearData(void) override; // 05
73 bool Load(TESFile* a_mod) override; // 06
74 void InitItemImpl() override; // 13
75
76 // add
77 virtual bool Validate(); // 3B
78
79 // members
85 std::uint32_t pad4C; // 4C
86 };
87 static_assert(sizeof(TESRegion) == 0x50);
88}
Definition BSTList.h:10
Definition NiColor.h:11
Definition NiPoint2.h:6
Definition TESFile.h:15
Definition TESForm.h:35
Definition TESRegion.h:53
NiColor emittanceColor
Definition TESRegion.h:84
BSSimpleList< TESRegionPointList * > * pointLists
Definition TESRegion.h:81
TESWeather * currentWeather
Definition TESRegion.h:83
virtual bool Validate()
~TESRegion() override
static constexpr auto RTTI
Definition TESRegion.h:55
static constexpr auto FORMTYPE
Definition TESRegion.h:57
std::uint32_t pad4C
Definition TESRegion.h:85
TESWorldSpace * worldSpace
Definition TESRegion.h:82
bool Load(TESFile *a_mod) override
TESRegionDataList * dataList
Definition TESRegion.h:80
void ClearData(void) override
static constexpr auto VTABLE
Definition TESRegion.h:56
void InitItemImpl() override
Definition TESRegion.h:23
NiPoint2 point
Definition TESRegion.h:25
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 TESWeather.h:17
Definition TESWorldSpace.h:118
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESRegion(513962, 392718, 0x1edd4f0)
constexpr std::array< REL::VariantID, 1 > VTABLE_TESRegion
Definition Offsets_VTABLE.h:419
Definition TESRegion.h:60
RecordFlag
Definition TESRegion.h:62
@ kDeleted
Definition TESRegion.h:63
@ kIgnored
Definition TESRegion.h:65
@ kBorderRegion
Definition TESRegion.h:64
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