CommonLibVR
BGSDialogueBranch.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/D/DialogueTypes.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  class BGSDialogueBranch : public TESForm
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_BGSDialogueBranch;
13  inline static constexpr auto VTABLE = VTABLE_BGSDialogueBranch;
14  inline static constexpr auto FORMTYPE = FormType::DialogueBranch;
15 
16  enum class Flag
17  {
18  kNone = 0,
19  kTopLevel = 1 << 0,
20  kBlocking = 1 << 1,
21  kExclusive = 1 << 2
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  ~BGSDialogueBranch() override; // 00
34 
35  // override (TESForm)
36  void InitializeData() override; // 04
37  void ClearData() override; // 05
38  bool Load(TESFile* a_mod) override; // 06
39  void InitItemImpl() override; // 13
40 
41  // members
43  std::uint32_t pad24; // 24
44  TESQuest* quest; // 28 - QNAM
45  TESTopic* startingTopic; // 30 - SNAM
46  DIALOGUE_TYPE type; // 38 - TNAM
47  std::uint32_t pad3C; // 3C
48  private:
49  KEEP_FOR_RE()
50  };
51  static_assert(sizeof(BGSDialogueBranch) == 0x40);
52 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSDialogueBranch.h:10
void InitializeData() override
void ClearData() override
~BGSDialogueBranch() override
stl::enumeration< Flag, std::uint32_t > flags
Definition: BGSDialogueBranch.h:42
std::uint32_t pad3C
Definition: BGSDialogueBranch.h:47
static constexpr auto VTABLE
Definition: BGSDialogueBranch.h:13
bool Load(TESFile *a_mod) override
TESTopic * startingTopic
Definition: BGSDialogueBranch.h:45
static constexpr auto RTTI
Definition: BGSDialogueBranch.h:12
static constexpr auto FORMTYPE
Definition: BGSDialogueBranch.h:14
Flag
Definition: BGSDialogueBranch.h:17
std::uint32_t pad24
Definition: BGSDialogueBranch.h:43
void InitItemImpl() override
TESQuest * quest
Definition: BGSDialogueBranch.h:44
DIALOGUE_TYPE type
Definition: BGSDialogueBranch.h:46
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: TESQuest.h:197
Definition: TESTopic.h:135
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSDialogueBranch(static_cast< std::uint64_t >(513905))
constexpr std::array< REL::ID, 1 > VTABLE_BGSDialogueBranch
Definition: Offsets_VTABLE.h:8605
Definition: BGSDialogueBranch.h:25
RecordFlag
Definition: BGSDialogueBranch.h:27
@ kIgnored
Definition: BGSDialogueBranch.h:29
@ kDeleted
Definition: BGSDialogueBranch.h:28
DIALOGUE_TYPE
Definition: DialogueTypes.h:8