CommonLibSSE (Parapets fork)
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 struct TESRegionDataList;
12
14 {
15 public:
17 };
18 static_assert(sizeof(TESRegionPoint) == 0x8);
19
20 class TESRegionPointList : public BSSimpleList<TESRegionPoint*> // RPLD
21 {
22 public:
24 {
26 float dist; // 08
27 float scale; // 0C
28 };
29 static_assert(sizeof(ScaleResult) == 0x10);
30
32 bool ownsPointMemory; // 18
33 std::uint8_t pad19; // 19
34 std::uint16_t pad1A; // 1A
37 std::uint32_t distanceInsideAtMax; // 2C - RPLI
38 std::uint32_t count; // 30
39 std::uint32_t pad34; // 34
40 };
41 static_assert(sizeof(TESRegionPointList) == 0x38);
42
43 class TESRegion : public TESForm
44 {
45 public:
46 inline static constexpr auto RTTI = RTTI_TESRegion;
47 inline static constexpr auto FORMTYPE = FormType::Region;
48
50 {
51 enum RecordFlag : std::uint32_t
52 {
53 kDeleted = 1 << 5,
54 kBorderRegion = 1 << 6,
55 kIgnored = 1 << 12
56 };
57 };
58
59 ~TESRegion() override; // 00
60
61 // override (TESForm)
62 void ClearData(void) override; // 05
63 bool Load(TESFile* a_mod) override; // 06
64 void InitItemImpl() override; // 13
65
66 // add
67 virtual bool Validate(); // 3B
68
69 // members
70 TESRegionDataList* dataList; // 20
75 std::uint32_t pad4C; // 4C
76 };
77 static_assert(sizeof(TESRegion) == 0x50);
78}
Definition: BSTList.h:10
Definition: NiColor.h:9
Definition: NiPoint2.h:6
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESRegion.h:44
NiColor emittanceColor
Definition: TESRegion.h:74
BSSimpleList< TESRegionPointList * > * pointLists
Definition: TESRegion.h:71
TESWeather * currentWeather
Definition: TESRegion.h:73
virtual bool Validate()
~TESRegion() override
static constexpr auto RTTI
Definition: TESRegion.h:46
static constexpr auto FORMTYPE
Definition: TESRegion.h:47
std::uint32_t pad4C
Definition: TESRegion.h:75
TESWorldSpace * worldSpace
Definition: TESRegion.h:72
bool Load(TESFile *a_mod) override
TESRegionDataList * dataList
Definition: TESRegion.h:70
void ClearData(void) override
void InitItemImpl() override
Definition: TESRegion.h:14
NiPoint2 point
Definition: TESRegion.h:16
Definition: TESRegion.h:21
NiPoint2 maximums
Definition: TESRegion.h:36
std::uint8_t pad19
Definition: TESRegion.h:33
std::uint16_t pad1A
Definition: TESRegion.h:34
ScaleResult * lastScaleResult
Definition: TESRegion.h:31
bool ownsPointMemory
Definition: TESRegion.h:32
NiPoint2 minimums
Definition: TESRegion.h:35
std::uint32_t count
Definition: TESRegion.h:38
std::uint32_t distanceInsideAtMax
Definition: TESRegion.h:37
std::uint32_t pad34
Definition: TESRegion.h:39
Definition: TESWeather.h:17
Definition: TESWorldSpace.h:116
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESRegion
Definition: Offsets_RTTI.h:6055
Definition: TESRegion.h:50
RecordFlag
Definition: TESRegion.h:52
@ kDeleted
Definition: TESRegion.h:53
@ kIgnored
Definition: TESRegion.h:55
@ kBorderRegion
Definition: TESRegion.h:54
Definition: TESRegion.h:24
float dist
Definition: TESRegion.h:26
float scale
Definition: TESRegion.h:27
TESRegionPoint point
Definition: TESRegion.h:25