CommonLibSSE NG
TESFullName.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
5 
6 namespace RE
7 {
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_TESFullName;
12 
13  ~TESFullName() override;
14 
15  // override (BaseFormComponent)
16  void InitializeDataComponent() override; // 01 - { name = ""; }
17  void ClearDataComponent() override; // 02 - { return; }
18  void CopyComponent(BaseFormComponent* a_rhs) override; // 03
19 
20  // add
21  [[nodiscard]] virtual std::uint32_t GetFullNameLength() const; // 04
22  [[nodiscard]] virtual const char* GetFullName() const; // 05
23 
24  void SetFullName(const char* a_name)
25  {
26  using func_t = decltype(&TESFullName::SetFullName);
27  REL::Relocation<func_t> func{ RELOCATION_ID(22318, 22791) };
28  func(this, a_name);
29  }
30 
31  // members
32  BSFixedString fullName; // 08 - FULL
33  };
34  static_assert(sizeof(TESFullName) == 0x10);
35 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BaseFormComponent.h:8
Definition: TESFullName.h:9
~TESFullName() override
void CopyComponent(BaseFormComponent *a_rhs) override
virtual const char * GetFullName() const
BSFixedString fullName
Definition: TESFullName.h:32
void ClearDataComponent() override
virtual std::uint32_t GetFullNameLength() const
void SetFullName(const char *a_name)
Definition: TESFullName.h:24
static constexpr auto RTTI
Definition: TESFullName.h:11
void InitializeDataComponent() override
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESFullName(513854, 392222, 0x1ed6df0)