CommonLibSSE (powerof3)
BGSStoryManagerEventNode.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/B/BSString.h"
5 #include "RE/B/BSTArray.h"
6 #include "RE/F/FormTypes.h"
7 
8 namespace RE
9 {
11  {
12  enum class DATA_TYPE
13  {
14  };
15 
17  std::uint32_t uniqueID; // 04
18  BSString name; // 08
19  };
20  static_assert(sizeof(BGSStoryEventMember) == 0x18);
21 
23  {
24  char uniqueID[4]; // 00
25  std::uint32_t pad04; // 04
26  BSTArray<BGSStoryEventMember>* members; // 08
27  BSString name; // 10
28  bool immediate; // 20
29  std::uint8_t pad21; // 21
30  std::uint16_t pad22; // 22
31  std::uint32_t pad24; // 24
32  };
33  static_assert(sizeof(BGSRegisteredStoryEvent) == 0x28);
34 
36  {
37  public:
38  inline static constexpr auto RTTI = RTTI_BGSStoryManagerEventNode;
39  inline static constexpr auto VTABLE = VTABLE_BGSStoryManagerEventNode;
40  inline static constexpr auto FORMTYPE = FormType::StoryManagerEventNode;
41 
42  struct RecordFlags
43  {
44  enum RecordFlag : std::uint32_t
45  {
46  kDeleted = 1 << 5,
47  kIgnored = 1 << 12
48  };
49  };
50 
51  ~BGSStoryManagerEventNode() override; // 00
52 
53  // override (BGSStoryManagerBranchNode)
54  void InitializeData() override; // 04
55  void ClearData() override; // 05 - { BGSStoryManagerNodeBase::ClearData(); }
56  bool Load(TESFile* a_mod) override; // 06
57  void InitItemImpl() override; // 13
58  [[nodiscard]] const char* GetFormEditorID() const override; // 32 - { if (!((flags >> 3) & 1)) return "(Uninitialized event node)"; return event ? event->name.c_str() : "(No event)"; }
59 
60  // members
61  const BGSRegisteredStoryEvent* event; // 60 - ENAM
62  };
63  static_assert(sizeof(BGSStoryManagerEventNode) == 0x68);
64 }
Definition: BGSStoryManagerEventNode.h:23
Definition: BGSStoryManagerBranchNode.h:10
Definition: BGSStoryManagerEventNode.h:36
const char * GetFormEditorID() const override
const BGSRegisteredStoryEvent * event
Definition: BGSStoryManagerEventNode.h:61
static constexpr auto FORMTYPE
Definition: BGSStoryManagerEventNode.h:40
void InitItemImpl() override
void InitializeData() override
static constexpr auto RTTI
Definition: BGSStoryManagerEventNode.h:38
static constexpr auto VTABLE
Definition: BGSStoryManagerEventNode.h:39
bool Load(TESFile *a_mod) override
Definition: BSTArray.h:378
Definition: TESFile.h:17
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSStoryManagerEventNode(static_cast< std::uint64_t >(686333))
constexpr std::array< REL::ID, 1 > VTABLE_BGSStoryManagerEventNode
Definition: Offsets_VTABLE.h:8872
Definition: BGSStoryManagerEventNode.h:11
BSString name
Definition: BGSStoryManagerEventNode.h:18
REX::EnumSet< DATA_TYPE, std::uint32_t > type
Definition: BGSStoryManagerEventNode.h:16
DATA_TYPE
Definition: BGSStoryManagerEventNode.h:13
std::uint32_t uniqueID
Definition: BGSStoryManagerEventNode.h:17
Definition: BGSStoryManagerEventNode.h:43
RecordFlag
Definition: BGSStoryManagerEventNode.h:45
@ kDeleted
Definition: BGSStoryManagerEventNode.h:46
@ kIgnored
Definition: BGSStoryManagerEventNode.h:47