CommonLibSSE NG
BGSStoryManagerQuestNode.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/B/BSTArray.h"
5 #include "RE/B/BSTHashMap.h"
6 #include "RE/F/FormTypes.h"
7 
8 namespace RE
9 {
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BGSStoryManagerQuestNode;
14  inline static constexpr auto VTABLE = VTABLE_BGSStoryManagerQuestNode;
15  inline static constexpr auto FORMTYPE = FormType::StoryManagerQuestNode;
16 
17  struct ChangeFlags
18  {
19  enum ChangeFlag : std::uint32_t
20  {
21  kTimeLastRun = (std::uint32_t)1 << 31
22  };
23  };
24 
25  struct RecordFlags
26  {
27  enum RecordFlag : std::uint32_t
28  {
29  kDeleted = 1 << 5,
30  kIgnored = 1 << 12
31  };
32  };
33 
34  ~BGSStoryManagerQuestNode() override; // 00
35 
36  // override (BGSStoryManagerNodeBase)
37  void ClearData() override; // 05
38  bool Load(TESFile* a_mod) override; // 06
39  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
40  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
41  void Revert(BGSLoadFormBuffer* a_buf) override; // 12
42  void InitItemImpl() override; // 13
43  std::uint32_t QChildCount() const override; // 3B - { return quests.size(); }
44  BGSStoryManagerTreeForm* GetChild(std::uint32_t a_idx) const override; // 3C - { return quests[a_idx]; }
45  BGSStoryManagerTreeVisitor::VisitControl AcceptVisitor(BGSStoryManagerTreeVisitor& a_visitor) override; // 3E - { return a_visitor->VisitQuestNode(this); }
46 
47  // members
51  std::uint32_t numQuestsToStart; // C0 - MNAM
52  std::uint32_t padC4; // C4
54  };
55  static_assert(sizeof(BGSStoryManagerQuestNode) == 0xE0);
56 }
Definition: BGSLoadFormBuffer.h:11
Definition: BGSSaveFormBuffer.h:8
Definition: BGSStoryManagerNodeBase.h:9
Definition: BGSStoryManagerQuestNode.h:11
std::uint32_t QChildCount() const override
bool Load(TESFile *a_mod) override
BGSStoryManagerTreeVisitor::VisitControl AcceptVisitor(BGSStoryManagerTreeVisitor &a_visitor) override
BGSStoryManagerTreeForm * GetChild(std::uint32_t a_idx) const override
std::uint32_t padC4
Definition: BGSStoryManagerQuestNode.h:52
BSTArray< float > childrenLastRun
Definition: BGSStoryManagerQuestNode.h:53
BSTHashMap< TESQuest *, float > perQuestHoursUntilReset
Definition: BGSStoryManagerQuestNode.h:50
void InitItemImpl() override
std::uint32_t numQuestsToStart
Definition: BGSStoryManagerQuestNode.h:51
static constexpr auto RTTI
Definition: BGSStoryManagerQuestNode.h:13
static constexpr auto VTABLE
Definition: BGSStoryManagerQuestNode.h:14
BSTArray< TESQuest * > quests
Definition: BGSStoryManagerQuestNode.h:48
void Revert(BGSLoadFormBuffer *a_buf) override
BSTHashMap< TESQuest *, std::uint32_t > perQuestFlags
Definition: BGSStoryManagerQuestNode.h:49
void LoadGame(BGSLoadFormBuffer *a_buf) override
static constexpr auto FORMTYPE
Definition: BGSStoryManagerQuestNode.h:15
void SaveGame(BGSSaveFormBuffer *a_buf) override
Definition: BGSStoryManagerTreeForm.h:44
Definition: BGSStoryManagerTreeForm.h:16
VisitControl
Definition: BGSStoryManagerTreeForm.h:21
Definition: BSTArray.h:377
Definition: BSTHashMap.h:21
Definition: TESFile.h:17
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_BGSStoryManagerQuestNode
Definition: Offsets_VTABLE.h:1752
constexpr REL::VariantID RTTI_BGSStoryManagerQuestNode(686336, 394145, 0x1efbb70)
Definition: BGSStoryManagerQuestNode.h:18
ChangeFlag
Definition: BGSStoryManagerQuestNode.h:20
@ kTimeLastRun
Definition: BGSStoryManagerQuestNode.h:21
Definition: BGSStoryManagerQuestNode.h:26
RecordFlag
Definition: BGSStoryManagerQuestNode.h:28
@ kDeleted
Definition: BGSStoryManagerQuestNode.h:29
@ kIgnored
Definition: BGSStoryManagerQuestNode.h:30