CommonLibVR
DialogueItem.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
5 #include "RE/B/BSString.h"
6 #include "RE/B/BSTList.h"
7 #include "RE/E/EmotionTypes.h"
8 #include "RE/M/MemoryManager.h"
9 
10 namespace RE
11 {
12  class Actor;
13  class BGSSoundDescriptorForm;
14  class ExtraSayToTopicInfo;
15  class TESIdleForm;
16  class TESObjectREFR;
17  class TESQuest;
18  class TESTopic;
19  class TESTopicInfo;
20 
22  {
23  public:
24  // members
25  BSString text; // 00
27  std::uint16_t percent; // 14
28  std::uint16_t pad16; // 16
33  bool useEmotion; // 38
34  bool soundLip; // 39
35  std::uint16_t pad3A; // 3A
36  std::uint32_t pad3C; // 3C
37  private:
38  KEEP_FOR_RE()
39  };
40  static_assert(sizeof(DialogueResponse) == 0x40);
41 
43  {
44  public:
45  DialogueItem(TESQuest* a_quest, TESTopic* a_topic, TESTopicInfo* a_topicInfo, TESObjectREFR* a_speaker)
46  {
47  Ctor(a_quest, a_topic, a_topicInfo, a_speaker);
48  }
49 
50  ~DialogueItem() = default;
51 
53 
54  // members
55  std::uint32_t pad04{ 0 }; // 04
58  TESTopicInfo* info{ nullptr }; // 20
59  TESTopic* topic{ nullptr }; // 28
60  TESQuest* quest{ nullptr }; // 30
61  TESObjectREFR* speaker{ nullptr }; // 38
62  ExtraSayToTopicInfo* extraData{ nullptr }; // 40
63 
64  private:
65  DialogueItem* Ctor(TESQuest* a_quest, TESTopic* a_topic, TESTopicInfo* a_topicInfo, TESObjectREFR* a_speaker)
66  {
67  using func_t = decltype(&DialogueItem::Ctor);
68  static REL::Relocation<func_t> func{ RELOCATION_ID(34413, 35220) };
69  return func(this, a_quest, a_topic, a_topicInfo, a_speaker);
70  }
71  KEEP_FOR_RE()
72  };
73  static_assert(sizeof(DialogueItem) == 0x48);
74 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: BGSSoundDescriptorForm.h:14
Definition: BSTList.h:10
Definition: DialogueItem.h:43
BSSimpleList< DialogueResponse * >::Node * currentResponse
Definition: DialogueItem.h:57
TESQuest * quest
Definition: DialogueItem.h:60
std::uint32_t pad04
Definition: DialogueItem.h:55
TESTopicInfo * info
Definition: DialogueItem.h:58
DialogueItem(TESQuest *a_quest, TESTopic *a_topic, TESTopicInfo *a_topicInfo, TESObjectREFR *a_speaker)
Definition: DialogueItem.h:45
TESTopic * topic
Definition: DialogueItem.h:59
~DialogueItem()=default
ExtraSayToTopicInfo * extraData
Definition: DialogueItem.h:62
TESObjectREFR * speaker
Definition: DialogueItem.h:61
BSSimpleList< DialogueResponse * > responses
Definition: DialogueItem.h:56
Definition: DialogueItem.h:22
std::uint32_t pad3C
Definition: DialogueItem.h:36
BSString text
Definition: DialogueItem.h:25
std::uint16_t percent
Definition: DialogueItem.h:27
TESIdleForm * speakerIdle
Definition: DialogueItem.h:30
bool soundLip
Definition: DialogueItem.h:34
bool useEmotion
Definition: DialogueItem.h:33
BSFixedString voice
Definition: DialogueItem.h:29
BGSSoundDescriptorForm * voiceSound
Definition: DialogueItem.h:32
stl::enumeration< EmotionType, std::uint32_t > animFaceArchType
Definition: DialogueItem.h:26
TESIdleForm * listenIdle
Definition: DialogueItem.h:31
std::uint16_t pad3A
Definition: DialogueItem.h:35
std::uint16_t pad16
Definition: DialogueItem.h:28
Definition: ExtraSayToTopicInfo.h:14
Definition: TESIdleForm.h:37
Definition: TESObjectREFR.h:113
Definition: TESQuest.h:197
Definition: TESTopicInfo.h:42
Definition: TESTopic.h:135
Definition: AbsorbEffect.h:6
Definition: BSIntrusiveRefCounted.h:8
Definition: BSTList.h:18