CommonLibSSE NG
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  };
38  static_assert(sizeof(DialogueResponse) == 0x40);
39 
41  {
42  public:
43  DialogueItem(TESQuest* a_quest, TESTopic* a_topic, TESTopicInfo* a_topicInfo, Actor* a_speaker)
44  {
45  Ctor(a_quest, a_topic, a_topicInfo, a_speaker);
46  }
47 
48  ~DialogueItem() = default;
49 
51 
52  // members
53  std::uint32_t pad04{ 0 }; // 04
56  TESTopicInfo* info{ nullptr }; // 20
57  TESTopic* topic{ nullptr }; // 28
58  TESQuest* quest{ nullptr }; // 30
59  TESObjectREFR* speaker{ nullptr }; // 38
60  ExtraSayToTopicInfo* extraData{ nullptr }; // 40
61 
62  private:
63  DialogueItem* Ctor(TESQuest* a_quest, TESTopic* a_topic, TESTopicInfo* a_topicInfo, Actor* a_speaker)
64  {
65  using func_t = decltype(&DialogueItem::Ctor);
66  REL::Relocation<func_t> func{ RELOCATION_ID(34413, 35220) };
67  return func(this, a_quest, a_topic, a_topicInfo, a_speaker);
68  }
69  };
70  static_assert(sizeof(DialogueItem) == 0x48);
71 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: Actor.h:135
Definition: BGSSoundDescriptorForm.h:14
Definition: BSTList.h:10
Definition: DialogueItem.h:41
BSSimpleList< DialogueResponse * >::Node * currentResponse
Definition: DialogueItem.h:55
TESQuest * quest
Definition: DialogueItem.h:58
DialogueItem(TESQuest *a_quest, TESTopic *a_topic, TESTopicInfo *a_topicInfo, Actor *a_speaker)
Definition: DialogueItem.h:43
std::uint32_t pad04
Definition: DialogueItem.h:53
TESTopicInfo * info
Definition: DialogueItem.h:56
TESTopic * topic
Definition: DialogueItem.h:57
~DialogueItem()=default
ExtraSayToTopicInfo * extraData
Definition: DialogueItem.h:60
TESObjectREFR * speaker
Definition: DialogueItem.h:59
BSSimpleList< DialogueResponse * > responses
Definition: DialogueItem.h:54
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:189
Definition: TESTopicInfo.h:42
Definition: TESTopic.h:135
Definition: AbsorbEffect.h:6
Definition: BSIntrusiveRefCounted.h:8
Definition: BSTList.h:18