CommonLibSSE NG
ExtraTextDisplayData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSExtraData.h"
4 #include "RE/B/BSFixedString.h"
5 #include "RE/E/ExtraDataTypes.h"
6 
7 namespace RE
8 {
9  class BGSMessage;
10  class TESBoundObject;
11  class TESQuest;
12 
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_ExtraTextDisplayData;
17  inline static constexpr auto VTABLE = VTABLE_ExtraTextDisplayData;
19 
20  enum class DisplayDataType
21  {
22  kUninitialized = -1,
23  kCustomName = -2
24  };
25 
27  explicit ExtraTextDisplayData(const char* a_name);
28  ExtraTextDisplayData(TESBoundObject* a_form, float a_temperFactor);
29  ~ExtraTextDisplayData() override = default; // 00
30 
31  // override (BSExtraData)
32  ExtraDataType GetType() const override; // 01 - { return kTextDisplayData; }
33 
34  const char* GetDisplayName(TESBoundObject* a_form, float a_temperFactor);
35  bool IsPlayerSet() const;
36  void SetName(const char* a_name);
37 
38  // members
43  float temperFactor; // 2C
44  std::uint16_t customNameLength; // 30 - length w/o temper string, only valid if ownerInstance is kCustomName
45  std::uint16_t pad32; // 32
46  std::uint32_t pad34; // 34
47  };
48  static_assert(sizeof(ExtraTextDisplayData) == 0x38);
49 }
Definition: BGSMessage.h:17
Definition: BSExtraData.h:9
Definition: ExtraTextDisplayData.h:14
std::uint32_t pad34
Definition: ExtraTextDisplayData.h:46
void SetName(const char *a_name)
static constexpr auto VTABLE
Definition: ExtraTextDisplayData.h:17
ExtraDataType GetType() const override
static constexpr auto RTTI
Definition: ExtraTextDisplayData.h:16
std::uint16_t customNameLength
Definition: ExtraTextDisplayData.h:44
ExtraTextDisplayData(TESBoundObject *a_form, float a_temperFactor)
float temperFactor
Definition: ExtraTextDisplayData.h:43
BGSMessage * displayNameText
Definition: ExtraTextDisplayData.h:40
BSFixedString displayName
Definition: ExtraTextDisplayData.h:39
TESQuest * ownerQuest
Definition: ExtraTextDisplayData.h:41
const char * GetDisplayName(TESBoundObject *a_form, float a_temperFactor)
~ExtraTextDisplayData() override=default
static auto EXTRADATATYPE
Definition: ExtraTextDisplayData.h:18
DisplayDataType
Definition: ExtraTextDisplayData.h:21
ExtraTextDisplayData(const char *a_name)
stl::enumeration< DisplayDataType, std::int32_t > ownerInstance
Definition: ExtraTextDisplayData.h:42
std::uint16_t pad32
Definition: ExtraTextDisplayData.h:45
Definition: TESBoundObject.h:24
Definition: TESQuest.h:189
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_ExtraTextDisplayData
Definition: Offsets_VTABLE.h:167
constexpr REL::VariantID RTTI_ExtraTextDisplayData(684693, 392360, 0x1ed89b0)
ExtraDataType
Definition: ExtraDataTypes.h:173