CommonLibSSE NG
BGSDebris.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BGSPreloadable.h"
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTList.h"
6 #include "RE/F/FormTypes.h"
7 #include "RE/I/ID.h"
8 #include "RE/T/TESForm.h"
9 
10 namespace RE
11 {
13  {
14  public:
16  BGSDebrisData(const char* a_fileName);
17 
18  ~BGSDebrisData() = default;
19 
20  enum class BGSDebrisDataFlags
21  {
22  kNone = 0,
23  kCollisionData = 1 << 0
24  };
25 
26  // members
27  std::int8_t percentage; // 00 - DATA~
29  std::uint16_t pad02; // 02
30  std::uint32_t pad04; // 04
31  const char* fileName; // 08
34  };
35  static_assert(sizeof(BGSDebrisData) == 0x40);
36 
37  class BGSDebris :
38  public TESForm, // 00
39  public BGSPreloadable // 20
40  {
41  public:
42  inline static constexpr auto RTTI = RTTI_BGSDebris;
43  inline static constexpr auto VTABLE = VTABLE_BGSDebris;
44  inline static constexpr auto FORMTYPE = FormType::Debris;
45 
46  struct RecordFlags
47  {
48  enum RecordFlag : std::uint32_t
49  {
50  kDeleted = 1 << 5,
51  kIgnored = 1 << 12
52  };
53  };
54 
55  ~BGSDebris() override; // 00
56 
57  // override (TESForm)
58  void InitializeData() override; // 04 - { return; }
59  void ClearData() override; // 05
60  bool Load(TESFile* a_mod) override; // 06
61 
62  // members
64  };
65  static_assert(sizeof(BGSDebris) == 0x38);
66 }
Definition: BGSDebris.h:40
void ClearData() override
void InitializeData() override
BSSimpleList< BGSDebrisData * > data
Definition: BGSDebris.h:63
~BGSDebris() override
bool Load(TESFile *a_mod) override
static constexpr auto RTTI
Definition: BGSDebris.h:42
static constexpr auto VTABLE
Definition: BGSDebris.h:43
static constexpr auto FORMTYPE
Definition: BGSDebris.h:44
Definition: BGSPreloadable.h:8
Definition: BSTList.h:10
Definition: BSTArray.h:377
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 2 > VTABLE_BGSDebris
Definition: Offsets_VTABLE.h:454
constexpr REL::VariantID RTTI_BGSDebris(513930, 392567, 0x1edb098)
Definition: BGSDebris.h:13
BGSDebrisDataFlags
Definition: BGSDebris.h:21
std::uint32_t pad04
Definition: BGSDebris.h:30
BGSDebrisData(const char *a_fileName)
~BGSDebrisData()=default
stl::enumeration< BGSDebrisDataFlags, std::uint8_t > flags
Definition: BGSDebris.h:28
std::uint16_t pad02
Definition: BGSDebris.h:29
BSTArray< std::uint32_t > addons
Definition: BGSDebris.h:33
std::int8_t percentage
Definition: BGSDebris.h:27
BSTArray< BSResource::ID > textureIDs
Definition: BGSDebris.h:32
const char * fileName
Definition: BGSDebris.h:31
Definition: BGSDebris.h:47
RecordFlag
Definition: BGSDebris.h:49
@ kIgnored
Definition: BGSDebris.h:51
@ kDeleted
Definition: BGSDebris.h:50