CommonLibSSE (powerof3)
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  inline static constexpr auto VTABLE = VTABLE_TESFullName;
13 
14  ~TESFullName() override;
15 
16  // override (BaseFormComponent)
17  void InitializeDataComponent() override; // 01 - { name = ""; }
18  void ClearDataComponent() override; // 02 - { return; }
19  void CopyComponent(BaseFormComponent* a_rhs) override; // 03
20 
21  // add
22  [[nodiscard]] virtual std::uint32_t GetFullNameLength() const; // 04
23  [[nodiscard]] virtual const char* GetFullName() const; // 05
24 
25  void SetFullName(const char* a_name)
26  {
27  using func_t = decltype(&TESFullName::SetFullName);
28  static REL::Relocation<func_t> func{ RELOCATION_ID(22318, 22791) };
29  func(this, a_name);
30  }
31 
32  // members
33  BSFixedString fullName; // 08 - FULL
34  };
35  static_assert(sizeof(TESFullName) == 0x10);
36 }
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:505
Definition: Relocation.h:210
Definition: BaseFormComponent.h:8
Definition: TESFullName.h:9
~TESFullName() override
void CopyComponent(BaseFormComponent *a_rhs) override
virtual const char * GetFullName() const
static constexpr auto VTABLE
Definition: TESFullName.h:12
BSFixedString fullName
Definition: TESFullName.h:33
void ClearDataComponent() override
virtual std::uint32_t GetFullNameLength() const
void SetFullName(const char *a_name)
Definition: TESFullName.h:25
static constexpr auto RTTI
Definition: TESFullName.h:11
void InitializeDataComponent() override
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_TESFullName
Definition: Offsets_VTABLE.h:12829
constexpr REL::ID RTTI_TESFullName(static_cast< std::uint64_t >(513854))