CommonLibSSE (Parapets fork)
DialogueItem.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
5 #include "RE/B/BSSimpleList.h"
6 #include "RE/B/BSString.h"
7 #include "RE/M/MemoryManager.h"
8 
9 namespace RE
10 {
11  class Actor;
12  class BGSSoundDescriptorForm;
13  class ExtraSayToTopicInfo;
14  class TESIdleForm;
15  class TESObjectREFR;
16  class TESQuest;
17  class TESTopic;
18  class TESTopicInfo;
19 
21  {
22  public:
23  enum class EmotionType
24  {
25  kNeutral = 0,
26  kAnger = 1,
27  kDisgust = 2,
28  kFear = 3,
29  kSad = 4,
30  kHappy = 5,
31  kSurprise = 6,
32  kPuzzled = 7
33  };
34 
35  // members
36  BSString text; // 00
38  std::uint16_t percent; // 14
39  std::uint16_t pad16; // 16
44  bool useEmotion; // 38
45  bool soundLip; // 39
46  std::uint16_t pad3A; // 3A
47  std::uint32_t pad3C; // 3C
48  };
49  static_assert(sizeof(DialogueResponse) == 0x40);
50 
52  {
53  public:
54  DialogueItem(TESQuest* a_quest, TESTopic* a_topic, TESTopicInfo* a_topicInfo, Actor* a_speaker);
55 
56  ~DialogueItem() = default;
57 
59 
60  // members
61  std::uint32_t pad04{ 0 }; // 04
64  TESTopicInfo* info{ nullptr }; // 20
65  TESTopic* topic{ nullptr }; // 28
66  TESQuest* quest{ nullptr }; // 30
67  TESObjectREFR* speaker{ nullptr }; // 38
68  ExtraSayToTopicInfo* extraData{ nullptr }; // 40
69 
70  private:
71  DialogueItem* Ctor(TESQuest* a_quest, TESTopic* a_topic, TESTopicInfo* a_topicInfo, Actor* a_speaker);
72  };
73  static_assert(sizeof(DialogueItem) == 0x48);
74 }
Definition: Actor.h:134
Definition: BGSSoundDescriptorForm.h:14
Definition: BSSimpleList.h:10
Definition: DialogueItem.h:52
BSSimpleList< DialogueResponse * >::Node * currentResponse
Definition: DialogueItem.h:63
TESQuest * quest
Definition: DialogueItem.h:66
DialogueItem(TESQuest *a_quest, TESTopic *a_topic, TESTopicInfo *a_topicInfo, Actor *a_speaker)
std::uint32_t pad04
Definition: DialogueItem.h:61
TESTopicInfo * info
Definition: DialogueItem.h:64
TESTopic * topic
Definition: DialogueItem.h:65
~DialogueItem()=default
ExtraSayToTopicInfo * extraData
Definition: DialogueItem.h:68
TESObjectREFR * speaker
Definition: DialogueItem.h:67
BSSimpleList< DialogueResponse * > responses
Definition: DialogueItem.h:62
Definition: DialogueItem.h:21
std::uint32_t pad3C
Definition: DialogueItem.h:47
BSString text
Definition: DialogueItem.h:36
std::uint16_t percent
Definition: DialogueItem.h:38
TESIdleForm * speakerIdle
Definition: DialogueItem.h:41
bool soundLip
Definition: DialogueItem.h:45
bool useEmotion
Definition: DialogueItem.h:44
BSFixedString voice
Definition: DialogueItem.h:40
BGSSoundDescriptorForm * voiceSound
Definition: DialogueItem.h:43
EmotionType
Definition: DialogueItem.h:24
stl::enumeration< EmotionType, std::uint32_t > animFaceArchType
Definition: DialogueItem.h:37
TESIdleForm * listenIdle
Definition: DialogueItem.h:42
std::uint16_t pad3A
Definition: DialogueItem.h:46
std::uint16_t pad16
Definition: DialogueItem.h:39
Definition: ExtraSayToTopicInfo.h:13
Definition: TESIdleForm.h:35
Definition: TESObjectREFR.h:105
Definition: TESQuest.h:189
Definition: TESTopicInfo.h:42
Definition: TESTopic.h:135
Definition: AbsorbEffect.h:6
Definition: BSIntrusiveRefCounted.h:8
Definition: BSSimpleList.h:18