CommonLibSSE (Parapets fork)
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 EXTRADATATYPE = ExtraDataType::kTextDisplayData;
18 
19  enum class DisplayDataType
20  {
21  kUninitialized = -1,
22  kCustomName = -2
23  };
24 
26  explicit ExtraTextDisplayData(const char* a_name);
27  ExtraTextDisplayData(TESBoundObject* a_form, float a_temperFactor);
28  virtual ~ExtraTextDisplayData() = default; // 00
29 
30  // override (BSExtraData)
31  virtual ExtraDataType GetType() const override; // 01 - { return kTextDisplayData; }
32 
33  const char* GetDisplayName(TESBoundObject* a_form, float a_temperFactor);
34  bool IsPlayerSet() const;
35  void SetName(const char* a_name);
36 
37  // members
42  float temperFactor; // 2C
43  std::uint16_t customNameLength; // 30 - length w/o temper string, only valid if ownerInstance is kCustomName
44  std::uint16_t pad32; // 32
45  std::uint32_t pad34; // 34
46  };
47  static_assert(sizeof(ExtraTextDisplayData) == 0x38);
48 }
Definition: BGSMessage.h:17
Definition: BSExtraData.h:9
Definition: ExtraTextDisplayData.h:14
std::uint32_t pad34
Definition: ExtraTextDisplayData.h:45
void SetName(const char *a_name)
virtual ExtraDataType GetType() const override
static constexpr auto RTTI
Definition: ExtraTextDisplayData.h:16
static constexpr auto EXTRADATATYPE
Definition: ExtraTextDisplayData.h:17
std::uint16_t customNameLength
Definition: ExtraTextDisplayData.h:43
ExtraTextDisplayData(TESBoundObject *a_form, float a_temperFactor)
float temperFactor
Definition: ExtraTextDisplayData.h:42
BGSMessage * displayNameText
Definition: ExtraTextDisplayData.h:39
BSFixedString displayName
Definition: ExtraTextDisplayData.h:38
TESQuest * ownerQuest
Definition: ExtraTextDisplayData.h:40
const char * GetDisplayName(TESBoundObject *a_form, float a_temperFactor)
DisplayDataType
Definition: ExtraTextDisplayData.h:20
ExtraTextDisplayData(const char *a_name)
stl::enumeration< DisplayDataType, std::int32_t > ownerInstance
Definition: ExtraTextDisplayData.h:41
std::uint16_t pad32
Definition: ExtraTextDisplayData.h:44
virtual ~ExtraTextDisplayData()=default
Definition: TESBoundObject.h:24
Definition: TESQuest.h:189
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_ExtraTextDisplayData
Definition: Offsets_RTTI.h:4773
ExtraDataType
Definition: ExtraDataTypes.h:173