CommonLibSSE (powerof3)
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 FORMTYPE = FormType::Message;
21 
22  enum class MessageFlag
23  {
24  kNone = 0,
25  kMessageBox = 1 << 0,
26  kInitialDelay = 1 << 1
27  };
28 
29  struct RecordFlags
30  {
31  enum RecordFlag : std::uint32_t
32  {
33  kDeleted = 1 << 5,
34  kIgnored = 1 << 12
35  };
36  };
37 
39  {
40  public:
41  // members
42  BSFixedString text; // 00 - ITXT
44  };
45  static_assert(sizeof(MESSAGEBOX_BUTTON) == 0x10);
46 
47  ~BGSMessage() override; // 00
48 
49  // override (TESForm)
50  void InitializeData() override; // 04
51  void ClearData() override; // 05
52  bool Load(TESFile* a_mod) override; // 06
53  void InitItemImpl() override; // 13
54 
55  // members
56  BGSMenuIcon* icon; // 40 - INAM
57  TESQuest* ownerQuest; // 48 - QNAM
60  std::uint32_t displayTime; // 64 - TNAM
61  };
62  static_assert(sizeof(BGSMessage) == 0x68);
63 }
Definition: BGSMenuIcon.h:12
Definition: BGSMessage.h:17
void ClearData() override
bool Load(TESFile *a_mod) override
std::uint32_t displayTime
Definition: BGSMessage.h:60
stl::enumeration< MessageFlag, std::uint32_t > flags
Definition: BGSMessage.h:59
MessageFlag
Definition: BGSMessage.h:23
~BGSMessage() override
void InitItemImpl() override
BGSMenuIcon * icon
Definition: BGSMessage.h:56
void InitializeData() override
static constexpr auto RTTI
Definition: BGSMessage.h:19
BSSimpleList< MESSAGEBOX_BUTTON * > menuButtons
Definition: BGSMessage.h:58
TESQuest * ownerQuest
Definition: BGSMessage.h:57
static constexpr auto FORMTYPE
Definition: BGSMessage.h:20
Definition: BSTList.h:10
Definition: TESCondition.h:987
Definition: TESDescription.h:12
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESFullName.h:9
Definition: TESQuest.h:189
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BGSMessage
Definition: Offsets_RTTI.h:1330
Definition: BGSMessage.h:39
TESCondition conditions
Definition: BGSMessage.h:43
BSFixedString text
Definition: BGSMessage.h:42
Definition: BGSMessage.h:30
RecordFlag
Definition: BGSMessage.h:32
@ kDeleted
Definition: BGSMessage.h:33
@ kIgnored
Definition: BGSMessage.h:34