CommonLibSSE NG
BGSConstructibleObject.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/F/FormTypes.h"
4 #include "RE/T/TESCondition.h"
5 #include "RE/T/TESContainer.h"
6 #include "RE/T/TESForm.h"
7 
8 namespace RE
9 {
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BGSConstructibleObject;
14  inline static constexpr auto VTABLE = VTABLE_BGSConstructibleObject;
15  inline static constexpr auto FORMTYPE = FormType::ConstructibleObject;
16 
17  struct RecordFlags
18  {
19  enum RecordFlag : std::uint32_t
20  {
21  kDeleted = 1 << 5,
22  kIgnored = 1 << 12
23  };
24  };
25 
27  {
28  std::uint16_t numConstructed; // 0 - NAM1
29  };
30  static_assert(sizeof(ConstructibleObjectData) == 0x2);
31 
32  ~BGSConstructibleObject() override; // 00
33 
34  // override (TESForm)
35  void InitializeData() override; // 04
36  void ClearData() override; // 05
37  bool Load(TESFile* a_mod) override; // 06
38  void InitItemImpl() override; // 13
39 
40  // members
43  TESForm* createdItem; // 40 - CNAM
44  BGSKeyword* benchKeyword; // 48 - BNAM
46  std::uint16_t pad52; // 52
47  std::uint32_t unk54; // 54
48  };
49  static_assert(sizeof(BGSConstructibleObject) == 0x58);
50 }
Definition: BGSConstructibleObject.h:11
TESCondition conditions
Definition: BGSConstructibleObject.h:42
static constexpr auto FORMTYPE
Definition: BGSConstructibleObject.h:15
ConstructibleObjectData data
Definition: BGSConstructibleObject.h:45
std::uint16_t pad52
Definition: BGSConstructibleObject.h:46
bool Load(TESFile *a_mod) override
BGSKeyword * benchKeyword
Definition: BGSConstructibleObject.h:44
static constexpr auto VTABLE
Definition: BGSConstructibleObject.h:14
TESForm * createdItem
Definition: BGSConstructibleObject.h:43
~BGSConstructibleObject() override
std::uint32_t unk54
Definition: BGSConstructibleObject.h:47
static constexpr auto RTTI
Definition: BGSConstructibleObject.h:13
void InitializeData() override
TESContainer requiredItems
Definition: BGSConstructibleObject.h:41
void ClearData() override
void InitItemImpl() override
Definition: BGSKeyword.h:10
Definition: TESCondition.h:992
Definition: TESContainer.h:33
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_BGSConstructibleObject
Definition: Offsets_VTABLE.h:449
constexpr REL::VariantID RTTI_BGSConstructibleObject(685005, 392748, 0x1eddb68)
Definition: BGSConstructibleObject.h:27
std::uint16_t numConstructed
Definition: BGSConstructibleObject.h:28
Definition: BGSConstructibleObject.h:18
RecordFlag
Definition: BGSConstructibleObject.h:20
@ kIgnored
Definition: BGSConstructibleObject.h:22
@ kDeleted
Definition: BGSConstructibleObject.h:21