CommonLibVR
TESRegionData.h
Go to the documentation of this file.
1 #pragma once
2 
3 namespace RE
4 {
5  class TESForm;
6 
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_TESRegionData;
11  inline static constexpr auto VTABLE = VTABLE_TESRegionData;
12 
13  enum class Type
14  {
15  kObjects = 2,
16  kWeather = 3,
17  kMap = 4,
18  kLand = 5,
19  kGrass = 6,
20  kSound = 7,
21  kImposter = 8
22  };
23 
24  struct DataHeader // RDAT
25  {
26  public:
27  enum class Flag
28  {
29  kNone = 0,
30  kOverride = 1 << 0
31  };
32 
33  // members
35  std::uint8_t unk09; // 1
36  std::uint8_t priority; // 2
37  std::uint8_t unk0B; // 3
38  std::uint32_t unk0C; // 4
39  };
40  static_assert(sizeof(DataHeader) == 0x8);
41 
42  virtual ~TESRegionData(); // 00
43 
44  // add
45  virtual bool LoadDataHeader(void* a_arg1); // 01
46  virtual void LoadData(TESForm* a_form); // 02 - { return; }
47  [[nodiscard]] virtual Type GetType() const = 0; // 03
48  virtual void ConstructSelf() = 0; // 04
49  virtual void Unk_05(void) = 0; // 05
50  virtual void CopyFrom(TESRegionData* a_src, bool a_copy) = 0; // 06
51  [[nodiscard]] virtual bool IsLoaded() const = 0; // 07
52 
53  // members
54  DataHeader dataHeader; // 08 - RDAT
55  private:
56  KEEP_FOR_RE()
57  };
58  static_assert(sizeof(TESRegionData) == 0x10);
59 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: TESForm.h:40
Definition: TESRegionData.h:8
virtual void LoadData(TESForm *a_form)
virtual void ConstructSelf()=0
DataHeader dataHeader
Definition: TESRegionData.h:54
virtual void Unk_05(void)=0
virtual ~TESRegionData()
static constexpr auto RTTI
Definition: TESRegionData.h:10
static constexpr auto VTABLE
Definition: TESRegionData.h:11
virtual void CopyFrom(TESRegionData *a_src, bool a_copy)=0
Type
Definition: TESRegionData.h:14
virtual bool LoadDataHeader(void *a_arg1)
virtual bool IsLoaded() const =0
virtual Type GetType() const =0
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESRegionData(static_cast< std::uint64_t >(513960))
constexpr std::array< REL::ID, 1 > VTABLE_TESRegionData
Definition: Offsets_VTABLE.h:12885
Definition: TESRegionData.h:25
Flag
Definition: TESRegionData.h:28
std::uint8_t priority
Definition: TESRegionData.h:36
std::uint8_t unk09
Definition: TESRegionData.h:35
stl::enumeration< Flag, std::uint8_t > flags
Definition: TESRegionData.h:34
std::uint32_t unk0C
Definition: TESRegionData.h:38
std::uint8_t unk0B
Definition: TESRegionData.h:37