CommonLibVR
TESLandTexture.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTList.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 
7 namespace RE
8 {
9  struct TEXTURE_HAVOK_DATA // HNAM
10  {
11  std::int32_t friction; // 0
12  std::int32_t restitution; // 4
13  };
14  static_assert(sizeof(TEXTURE_HAVOK_DATA) == 0x8);
15 
16  class TESLandTexture : public TESForm
17  {
18  public:
19  inline static constexpr auto RTTI = RTTI_TESLandTexture;
20  inline static constexpr auto VTABLE = VTABLE_TESLandTexture;
21  inline static constexpr auto FORMTYPE = FormType::LandTexture;
22 
23  struct RecordFlags
24  {
25  enum RecordFlag : std::uint32_t
26  {
27  kDeleted = 1 << 5,
28  kIgnored = 1 << 12
29  };
30  };
31 
32  ~TESLandTexture() override; // 00
33 
34  // override (TESForm)
35  void InitializeData() override; // 04
36  void ClearData() override; // 05
37  bool Load(TESFile* a_mod) override; // 06
38  void InitItemImpl() override; // 13
39 
40  // members
41  BGSTextureSet* textureSet; // 20 - TNAM
44  std::int8_t specularExponent; // 38 - SNAM
45  std::uint8_t pad39; // 39
46  std::uint16_t pad3A; // 3A
47  std::int32_t shaderTextureIndex; // 3C - INAM
49  private:
50  KEEP_FOR_RE()
51  };
52  static_assert(sizeof(TESLandTexture) == 0x50);
53 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSMaterialType.h:12
Definition: BGSTextureSet.h:16
Definition: BSTList.h:10
Definition: TESFile.h:17
Definition: TESForm.h:40
Definition: TESLandTexture.h:17
bool Load(TESFile *a_mod) override
static constexpr auto FORMTYPE
Definition: TESLandTexture.h:21
void ClearData() override
TEXTURE_HAVOK_DATA havokData
Definition: TESLandTexture.h:42
BSSimpleList< TESGrass * > textureGrassList
Definition: TESLandTexture.h:48
void InitItemImpl() override
std::uint16_t pad3A
Definition: TESLandTexture.h:46
BGSMaterialType * materialType
Definition: TESLandTexture.h:43
BGSTextureSet * textureSet
Definition: TESLandTexture.h:41
~TESLandTexture() override
std::int32_t shaderTextureIndex
Definition: TESLandTexture.h:47
std::uint8_t pad39
Definition: TESLandTexture.h:45
std::int8_t specularExponent
Definition: TESLandTexture.h:44
static constexpr auto VTABLE
Definition: TESLandTexture.h:20
static constexpr auto RTTI
Definition: TESLandTexture.h:19
void InitializeData() override
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_TESLandTexture
Definition: Offsets_VTABLE.h:12840
constexpr REL::ID RTTI_TESLandTexture(static_cast< std::uint64_t >(513963))
Definition: TESLandTexture.h:24
RecordFlag
Definition: TESLandTexture.h:26
@ kDeleted
Definition: TESLandTexture.h:27
@ kIgnored
Definition: TESLandTexture.h:28
Definition: TESLandTexture.h:10
std::int32_t restitution
Definition: TESLandTexture.h:12
std::int32_t friction
Definition: TESLandTexture.h:11