CommonLibVR
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  private:
33  KEEP_FOR_RE()
34  };
35  static_assert(sizeof(BGSRegisteredStoryEvent) == 0x28);
36 
38  {
39  public:
40  inline static constexpr auto RTTI = RTTI_BGSStoryManagerEventNode;
41  inline static constexpr auto VTABLE = VTABLE_BGSStoryManagerEventNode;
42  inline static constexpr auto FORMTYPE = FormType::StoryManagerEventNode;
43 
44  struct RecordFlags
45  {
46  enum RecordFlag : std::uint32_t
47  {
48  kDeleted = 1 << 5,
49  kIgnored = 1 << 12
50  };
51  };
52 
53  ~BGSStoryManagerEventNode() override; // 00
54 
55  // override (BGSStoryManagerBranchNode)
56  void InitializeData() override; // 04
57  void ClearData() override; // 05 - { BGSStoryManagerNodeBase::ClearData(); }
58  bool Load(TESFile* a_mod) override; // 06
59  void InitItemImpl() override; // 13
60  [[nodiscard]] const char* GetFormEditorID() const override; // 32 - { if (!((flags >> 3) & 1)) return "(Uninitialized event node)"; return event ? event->name.c_str() : "(No event)"; }
61 
62  // members
63  const BGSRegisteredStoryEvent* event; // 60 - ENAM
64  private:
65  KEEP_FOR_RE()
66  };
67  static_assert(sizeof(BGSStoryManagerEventNode) == 0x68);
68 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSStoryManagerEventNode.h:23
Definition: BGSStoryManagerBranchNode.h:10
Definition: BGSStoryManagerEventNode.h:38
const char * GetFormEditorID() const override
const BGSRegisteredStoryEvent * event
Definition: BGSStoryManagerEventNode.h:63
static constexpr auto FORMTYPE
Definition: BGSStoryManagerEventNode.h:42
void InitItemImpl() override
void InitializeData() override
static constexpr auto RTTI
Definition: BGSStoryManagerEventNode.h:40
static constexpr auto VTABLE
Definition: BGSStoryManagerEventNode.h:41
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
DATA_TYPE
Definition: BGSStoryManagerEventNode.h:13
stl::enumeration< DATA_TYPE, std::uint32_t > type
Definition: BGSStoryManagerEventNode.h:16
std::uint32_t uniqueID
Definition: BGSStoryManagerEventNode.h:17
Definition: BGSStoryManagerEventNode.h:45
RecordFlag
Definition: BGSStoryManagerEventNode.h:47
@ kDeleted
Definition: BGSStoryManagerEventNode.h:48
@ kIgnored
Definition: BGSStoryManagerEventNode.h:49