CommonLibSSE (powerof3)
TESModel.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
5 
6 namespace RE
7 {
8  namespace BSResource
9  {
10  struct ID;
11  }
12 
13  class TESModelTextureSwap;
14 
15  class TESModel : public BaseFormComponent
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_TESModel;
19 
20  ~TESModel() override; // 00
21 
22  // override (BaseFormComponent)
23  void InitializeDataComponent() override; // 01
24  void ClearDataComponent() override; // 02
25  void CopyComponent(BaseFormComponent* a_rhs) override; // 03
26 
27  // add
28  [[nodiscard]] virtual const char* GetModel() const; // 04 - { return model.c_str(); }
29  virtual void SetModel(const char* a_model); // 05 - { model = a_model; }
30  virtual TESModelTextureSwap* GetAsModelTextureSwap(); // 06 - { return 0; }
31 
32  // members
33  BSFixedString model; // 08 - MODL
34  BSResource::ID* textures; // 10 - MODT
35  std::uint32_t* addons; // 18
36  std::uint16_t numTextures; // 20
37  std::uint16_t numAddons; // 22
38  std::uint32_t pad24; // 24
39  };
40  static_assert(sizeof(TESModel) == 0x28);
41 }
Definition: BaseFormComponent.h:8
Definition: TESModelTextureSwap.h:10
Definition: TESModel.h:16
virtual TESModelTextureSwap * GetAsModelTextureSwap()
std::uint16_t numTextures
Definition: TESModel.h:36
BSFixedString model
Definition: TESModel.h:33
void InitializeDataComponent() override
std::uint32_t pad24
Definition: TESModel.h:38
static constexpr auto RTTI
Definition: TESModel.h:18
std::uint32_t * addons
Definition: TESModel.h:35
std::uint16_t numAddons
Definition: TESModel.h:37
virtual const char * GetModel() const
BSResource::ID * textures
Definition: TESModel.h:34
void CopyComponent(BaseFormComponent *a_rhs) override
void ClearDataComponent() override
~TESModel() override
virtual void SetModel(const char *a_model)
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESModel
Definition: Offsets_RTTI.h:6017
Definition: ID.h:10