CommonLibVR
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;
18  inline static constexpr auto EXTRADATATYPE = ExtraDataType::kTextDisplayData;
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  virtual ~ExtraTextDisplayData() = default; // 00
30 
31  // override (BSExtraData)
32  virtual 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  private:
48  KEEP_FOR_RE()
49  };
50  static_assert(sizeof(ExtraTextDisplayData) == 0x38);
51 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
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)
virtual ExtraDataType GetType() const override
static constexpr auto VTABLE
Definition: ExtraTextDisplayData.h:17
static constexpr auto RTTI
Definition: ExtraTextDisplayData.h:16
static constexpr auto EXTRADATATYPE
Definition: ExtraTextDisplayData.h:18
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)
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
virtual ~ExtraTextDisplayData()=default
Definition: TESBoundObject.h:26
Definition: TESQuest.h:197
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_ExtraTextDisplayData
Definition: Offsets_VTABLE.h:11628
ExtraDataType
Definition: ExtraDataTypes.h:173
constexpr REL::ID RTTI_ExtraTextDisplayData(static_cast< std::uint64_t >(684693))