CommonLibSSE (Parapets fork)
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 FORMTYPE = FormType::StoryManagerQuestNode;
15 
16  struct ChangeFlags
17  {
18  enum ChangeFlag : std::uint32_t
19  {
20  kTimeLastRun = (std::uint32_t)1 << 31
21  };
22  };
23 
24  struct RecordFlags
25  {
26  enum RecordFlag : std::uint32_t
27  {
28  kDeleted = 1 << 5,
29  kIgnored = 1 << 12
30  };
31  };
32 
33  ~BGSStoryManagerQuestNode() override; // 00
34 
35  // override (BGSStoryManagerNodeBase)
36  void ClearData() override; // 05
37  bool Load(TESFile* a_mod) override; // 06
38  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
39  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
40  void Revert(BGSLoadFormBuffer* a_buf) override; // 12
41  void InitItemImpl() override; // 13
42  std::uint32_t QChildCount() const override; // 3B - { return quests.size(); }
43  BGSStoryManagerTreeForm* GetChild(std::uint32_t a_idx) const override; // 3C - { return quests[a_idx]; }
44  BGSStoryManagerTreeVisitor::VisitControl AcceptVisitor(BGSStoryManagerTreeVisitor& a_visitor) override; // 3E - { return a_visitor->VisitQuestNode(this); }
45 
46  // members
50  std::uint32_t numQuestsToStart; // C0 - MNAM
51  std::uint32_t padC4; // C4
53  };
54  static_assert(sizeof(BGSStoryManagerQuestNode) == 0xE0);
55 }
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:51
BSTArray< float > childrenLastRun
Definition: BGSStoryManagerQuestNode.h:52
BSTHashMap< TESQuest *, float > perQuestHoursUntilReset
Definition: BGSStoryManagerQuestNode.h:49
void InitItemImpl() override
std::uint32_t numQuestsToStart
Definition: BGSStoryManagerQuestNode.h:50
static constexpr auto RTTI
Definition: BGSStoryManagerQuestNode.h:13
BSTArray< TESQuest * > quests
Definition: BGSStoryManagerQuestNode.h:47
void Revert(BGSLoadFormBuffer *a_buf) override
BSTHashMap< TESQuest *, std::uint32_t > perQuestFlags
Definition: BGSStoryManagerQuestNode.h:48
void LoadGame(BGSLoadFormBuffer *a_buf) override
static constexpr auto FORMTYPE
Definition: BGSStoryManagerQuestNode.h:14
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:14
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSStoryManagerQuestNode
Definition: Offsets_RTTI.h:1553
Definition: BGSStoryManagerQuestNode.h:17
ChangeFlag
Definition: BGSStoryManagerQuestNode.h:19
@ kTimeLastRun
Definition: BGSStoryManagerQuestNode.h:20
Definition: BGSStoryManagerQuestNode.h:25
RecordFlag
Definition: BGSStoryManagerQuestNode.h:27
@ kDeleted
Definition: BGSStoryManagerQuestNode.h:28
@ kIgnored
Definition: BGSStoryManagerQuestNode.h:29