CommonLibSSE NG
BGSMessage.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/B/BSTList.h"
5 #include "RE/F/FormTypes.h"
6 #include "RE/T/TESCondition.h"
7 #include "RE/T/TESDescription.h"
8 #include "RE/T/TESForm.h"
9 #include "RE/T/TESFullName.h"
10 
11 namespace RE
12 {
13  class BGSMessage :
14  public TESForm, // 00
15  public TESFullName, // 20
16  public TESDescription // 30
17  {
18  public:
19  inline static constexpr auto RTTI = RTTI_BGSMessage;
20  inline static constexpr auto VTABLE = VTABLE_BGSMessage;
21  inline static constexpr auto FORMTYPE = FormType::Message;
22 
23  enum class MessageFlag
24  {
25  kNone = 0,
26  kMessageBox = 1 << 0,
27  kInitialDelay = 1 << 1
28  };
29 
30  struct RecordFlags
31  {
32  enum RecordFlag : std::uint32_t
33  {
34  kDeleted = 1 << 5,
35  kIgnored = 1 << 12
36  };
37  };
38 
40  {
41  public:
42  // members
43  BSFixedString text; // 00 - ITXT
45  };
46  static_assert(sizeof(MESSAGEBOX_BUTTON) == 0x10);
47 
48  ~BGSMessage() override; // 00
49 
50  // override (TESForm)
51  void InitializeData() override; // 04
52  void ClearData() override; // 05
53  bool Load(TESFile* a_mod) override; // 06
54  void InitItemImpl() override; // 13
55 
56  // members
57  BGSMenuIcon* icon; // 40 - INAM
58  TESQuest* ownerQuest; // 48 - QNAM
61  std::uint32_t displayTime; // 64 - TNAM
62  };
63  static_assert(sizeof(BGSMessage) == 0x68);
64 }
Definition: BGSMenuIcon.h:12
Definition: BGSMessage.h:17
void ClearData() override
bool Load(TESFile *a_mod) override
std::uint32_t displayTime
Definition: BGSMessage.h:61
stl::enumeration< MessageFlag, std::uint32_t > flags
Definition: BGSMessage.h:60
MessageFlag
Definition: BGSMessage.h:24
~BGSMessage() override
void InitItemImpl() override
BGSMenuIcon * icon
Definition: BGSMessage.h:57
void InitializeData() override
static constexpr auto RTTI
Definition: BGSMessage.h:19
BSSimpleList< MESSAGEBOX_BUTTON * > menuButtons
Definition: BGSMessage.h:59
TESQuest * ownerQuest
Definition: BGSMessage.h:58
static constexpr auto VTABLE
Definition: BGSMessage.h:20
static constexpr auto FORMTYPE
Definition: BGSMessage.h:21
Definition: BSTList.h:10
Definition: TESCondition.h:992
Definition: TESDescription.h:12
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: TESFullName.h:9
Definition: TESQuest.h:189
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BGSMessage(513912, 392450, 0x1ed98a0)
constexpr std::array< REL::VariantID, 3 > VTABLE_BGSMessage
Definition: Offsets_VTABLE.h:743
Definition: BGSMessage.h:40
TESCondition conditions
Definition: BGSMessage.h:44
BSFixedString text
Definition: BGSMessage.h:43
Definition: BGSMessage.h:31
RecordFlag
Definition: BGSMessage.h:33
@ kDeleted
Definition: BGSMessage.h:34
@ kIgnored
Definition: BGSMessage.h:35