CommonLibSSE NG
Loading...
Searching...
No Matches
MenuTopicManager.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/B/BSString.h"
6#include "RE/B/BSTEvent.h"
7#include "RE/B/BSTList.h"
8#include "RE/B/BSTSingleton.h"
9
10namespace RE
11{
12 class BGSDialogueBranch;
13 class MenuOpenCloseEvent;
14 class TESQuest;
15 class TESTopic;
16 class TESTopicInfo;
17 struct PositionPlayerEvent;
18
20 public BSTSingletonSDM<MenuTopicManager>, // 0x10
21 public BSTEventSink<MenuOpenCloseEvent>, // 0x00
22 public BSTEventSink<PositionPlayerEvent> // 0x08
23 {
24 public:
25 inline static constexpr auto RTTI = RTTI_MenuTopicManager;
26
27 struct Dialogue
28 {
29 public:
30 // members
32 bool unk10; // 10
33 bool unk11; // 11
34 bool unk12; // 12 - data.topic->formID == 0xFD || data.topic->formID == 0x118
35 std::uint8_t unk13; // 13
36 std::uint32_t unk14; // 14
42 std::uint8_t unk48; // 48
43 bool neverSaid; // 49
44 std::uint16_t unk4A; // 4A
45 std::uint32_t unk4C; // 4C
47 };
48 static_assert(sizeof(Dialogue) == 0x58);
49
50 ~MenuTopicManager() override; // 00
51
52 // override (BSTEventSink<MenuOpenCloseEvent>)
54
55 // override (BSTEventSink<PositionPlayerEvent>)
57
59 {
60 REL::Relocation<MenuTopicManager**> singleton{ RELOCATION_ID(514959, 401099) };
61 return *singleton;
62 }
63
64 // members
67 std::uint64_t unk28; // 28
72 ObjectRefHandle lastSpeaker; // 6C - used if the dialogue menu was closed but the NPC is still talking
73 TESTopicInfo* currentTopicInfo; // 70 - only valid when the NPC is talking
74 TESTopicInfo* lastTopicInfo; // 78 - used if the dialogue menu was closed but the NPC is still talking
77 bool isGreetingPlayer; // B0
78 bool unkB1; // B1
79 bool isSayingGoodbye; // B2
80 bool unkB3; // B3
81 bool unkB4; // B4
82 bool unkB5; // B5
83 bool unkB6; // B6
84 bool unkB7; // B7
85 bool unkB8; // B8
86 bool unkB9; // B9
87 bool unkBA; // BA
88 bool unkBB; // BB
89 std::uint16_t padBC; // BC
91 };
92 static_assert(sizeof(MenuTopicManager) == 0xD8);
93}
#define RELOCATION_ID(a_se, a_ae)
Definition PCH.h:794
Definition BSTList.h:10
Definition BSTArray.h:377
Definition BSTEvent.h:143
Definition BSTEvent.h:19
Definition MenuOpenCloseEvent.h:8
Definition MenuTopicManager.h:23
bool unkB5
Definition MenuTopicManager.h:82
bool unkB6
Definition MenuTopicManager.h:83
TESTopicInfo * rootTopicInfo
Definition MenuTopicManager.h:68
BSTArray< BGSDialogueBranch * > topLevelBranches
Definition MenuTopicManager.h:76
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
bool unkB8
Definition MenuTopicManager.h:85
std::uint16_t padBC
Definition MenuTopicManager.h:89
static MenuTopicManager * GetSingleton()
Definition MenuTopicManager.h:58
BSTArray< TESTopic * > unkC0
Definition MenuTopicManager.h:90
BSEventNotifyControl ProcessEvent(const PositionPlayerEvent *a_event, BSTEventSource< PositionPlayerEvent > *a_eventSource) override
Dialogue * lastSelectedDialogue
Definition MenuTopicManager.h:69
bool unkB3
Definition MenuTopicManager.h:80
bool unkBB
Definition MenuTopicManager.h:88
BSTArray< BGSDialogueBranch * > blockingBranches
Definition MenuTopicManager.h:75
std::uint64_t unk28
Definition MenuTopicManager.h:67
bool isSayingGoodbye
Definition MenuTopicManager.h:79
bool unkBA
Definition MenuTopicManager.h:87
static constexpr auto RTTI
Definition MenuTopicManager.h:25
bool unkB4
Definition MenuTopicManager.h:81
TESTopicInfo * currentTopicInfo
Definition MenuTopicManager.h:73
ObjectRefHandle lastSpeaker
Definition MenuTopicManager.h:72
BSSimpleList< Dialogue * > * selectedResponseNode
Definition MenuTopicManager.h:65
bool isGreetingPlayer
Definition MenuTopicManager.h:77
BSSimpleList< Dialogue * > * dialogueList
Definition MenuTopicManager.h:66
ObjectRefHandle speaker
Definition MenuTopicManager.h:71
~MenuTopicManager() override
bool unkB9
Definition MenuTopicManager.h:86
WinAPI::CRITICAL_SECTION criticalSection
Definition MenuTopicManager.h:70
bool unkB1
Definition MenuTopicManager.h:78
TESTopicInfo * lastTopicInfo
Definition MenuTopicManager.h:74
bool unkB7
Definition MenuTopicManager.h:84
Definition TESQuest.h:189
Definition TESTopic.h:135
Definition TESTopicInfo.h:42
Definition Relocation.h:1638
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_MenuTopicManager(686590, 394426, 0x1f01a10)
BSEventNotifyControl
Definition BSTEvent.h:12
Definition BSTSingleton.h:50
Definition MenuTopicManager.h:28
TESTopic * unk50
Definition MenuTopicManager.h:46
std::uint8_t unk13
Definition MenuTopicManager.h:35
bool unk12
Definition MenuTopicManager.h:34
BSString topicText
Definition MenuTopicManager.h:31
bool neverSaid
Definition MenuTopicManager.h:43
TESTopic * parentTopic
Definition MenuTopicManager.h:40
bool unk11
Definition MenuTopicManager.h:33
std::uint32_t unk4C
Definition MenuTopicManager.h:45
std::uint32_t unk14
Definition MenuTopicManager.h:36
bool unk10
Definition MenuTopicManager.h:32
std::uint16_t unk4A
Definition MenuTopicManager.h:44
BSSimpleList< DialogueResponse * > responses
Definition MenuTopicManager.h:37
BSSimpleList< DialogueResponse * > * unk40
Definition MenuTopicManager.h:41
TESTopicInfo * parentTopicInfo
Definition MenuTopicManager.h:39
TESQuest * parentQuest
Definition MenuTopicManager.h:38
std::uint8_t unk48
Definition MenuTopicManager.h:42
Definition PositionPlayerEvent.h:7
Definition WinAPI.h:42