CommonLibSSE NG
BGSNote.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/B/BSTList.h"
5 #include "RE/F/FormTypes.h"
6 #include "RE/T/TESBoundObject.h"
7 #include "RE/T/TESFullName.h"
8 #include "RE/T/TESIcon.h"
9 #include "RE/T/TESModel.h"
10 
11 namespace RE
12 {
13  class BGSNote :
14  public TESBoundObject, // 00
15  public TESModel, // 30
16  public TESFullName, // 58
17  public TESIcon, // 68
18  public BGSPickupPutdownSounds // 78
19  {
20  public:
21  inline static constexpr auto RTTI = RTTI_BGSNote;
22  inline static constexpr auto VTABLE = VTABLE_BGSNote;
23  inline static constexpr auto FORMTYPE = FormType::Note;
24 
25  struct ChangeFlags
26  {
27  enum ChangeFlag : std::uint32_t
28  {
29  kNoteRead = (std::uint32_t)1 << 31
30  };
31  };
32 
33  struct RecordFlags
34  {
35  enum RecordFlag : std::uint32_t
36  {
37  };
38  };
39 
40  ~BGSNote() override; // 00
41 
42  // override (TESBoundObject)
43  void InitializeData() override; // 04
44  void ClearData() override; // 05
45  bool Load(TESFile* a_mod) override; // 06
46  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
47  void Revert(BGSLoadFormBuffer* a_buf) override; // 12
48  void InitItemImpl() override; // 13
49  bool Activate(TESObjectREFR* a_targetRef, TESObjectREFR* a_activatorRef, std::uint8_t a_arg3, TESBoundObject* a_object, std::int32_t a_targetCount) override; // 37
50 
51  // members
52  TESTopic* unk90; // 90
55  std::uint64_t unkB0; // B0
56  };
57  static_assert(sizeof(BGSNote) == 0xB8);
58 }
Definition: BGSLoadFormBuffer.h:11
Definition: BGSNote.h:19
bool Activate(TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount) override
static constexpr auto FORMTYPE
Definition: BGSNote.h:23
bool Load(TESFile *a_mod) override
void InitializeData() override
static constexpr auto RTTI
Definition: BGSNote.h:21
TESActorBase * unk98
Definition: BGSNote.h:53
void LoadGame(BGSLoadFormBuffer *a_buf) override
void InitItemImpl() override
~BGSNote() override
std::uint64_t unkB0
Definition: BGSNote.h:55
void ClearData() override
TESTopic * unk90
Definition: BGSNote.h:52
static constexpr auto VTABLE
Definition: BGSNote.h:22
void Revert(BGSLoadFormBuffer *a_buf) override
BSSimpleList< TESQuest * > unkA0
Definition: BGSNote.h:54
Definition: BGSPickupPutdownSounds.h:10
Definition: BSTList.h:10
Definition: TESActorBase.h:32
Definition: TESBoundObject.h:24
Definition: TESFile.h:17
Definition: TESFullName.h:9
Definition: TESIcon.h:8
Definition: TESModel.h:16
Definition: TESObjectREFR.h:113
Definition: TESTopic.h:135
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 5 > VTABLE_BGSNote
Definition: Offsets_VTABLE.h:883
constexpr REL::VariantID RTTI_BGSNote(513998, 393094, 0x1ee3a40)
Definition: BGSNote.h:26
ChangeFlag
Definition: BGSNote.h:28
@ kNoteRead
Definition: BGSNote.h:29
Definition: BGSNote.h:34
RecordFlag
Definition: BGSNote.h:36