CommonLibSSE NG
NiSkinData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiBound.h"
4 #include "RE/N/NiObject.h"
5 #include "RE/N/NiSmartPointer.h"
6 #include "RE/N/NiTransform.h"
7 
8 namespace RE
9 {
10  class NiSkinPartition;
11 
12  class NiSkinData : public NiObject
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_NiSkinData;
16  inline static auto Ni_RTTI = NiRTTI_NiSkinData;
17 
19  {
20  public:
21  // members
22  std::uint16_t vert; // 0
23  std::uint16_t pad2; // 2
24  float weight; // 4
25  };
26  static_assert(sizeof(BoneVertData) == 0x8);
27 
28  class BoneData
29  {
30  public:
31  // members
33  NiBound bound; // 34
34  std::uint32_t pad44; // 44
36  std::uint16_t verts; // 50
37  std::uint16_t pad52; // 52
38  std::uint32_t pad54; // 54
39  };
40  static_assert(sizeof(BoneData) == 0x58);
41 
42  ~NiSkinData() override; // 00
43 
44  // override (NiObject)
45  const NiRTTI* GetRTTI() const override; // 02
46  void LoadBinary(NiStream& a_stream) override; // 18
47  void LinkObject(NiStream& a_stream) override; // 19 - { NiObject::LinkObject(a_stream); }
48  bool RegisterStreamables(NiStream& a_stream) override; // 1A - { NiObject::RegisterStreamables(a_stream) != false; }
49  void SaveBinary(NiStream& a_stream) override; // 1B
50  bool IsEqual(NiObject* a_object) override; // 1C
51 
52  // members
56  std::uint32_t bones; // 58
57  std::uint32_t pad5C; // 5C
58  };
59  static_assert(sizeof(NiSkinData) == 0x60);
60 }
Definition: NiBound.h:8
Definition: NiObject.h:37
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: NiSkinData.h:29
NiBound bound
Definition: NiSkinData.h:33
std::uint32_t pad44
Definition: NiSkinData.h:34
std::uint16_t verts
Definition: NiSkinData.h:36
std::uint16_t pad52
Definition: NiSkinData.h:37
BoneVertData * boneVertData
Definition: NiSkinData.h:35
NiTransform skinToBone
Definition: NiSkinData.h:32
std::uint32_t pad54
Definition: NiSkinData.h:38
Definition: NiSkinData.h:19
std::uint16_t pad2
Definition: NiSkinData.h:23
std::uint16_t vert
Definition: NiSkinData.h:22
float weight
Definition: NiSkinData.h:24
Definition: NiSkinData.h:13
static auto Ni_RTTI
Definition: NiSkinData.h:16
static constexpr auto RTTI
Definition: NiSkinData.h:15
BoneData * boneData
Definition: NiSkinData.h:55
NiPointer< NiSkinPartition > skinPartition
Definition: NiSkinData.h:53
std::uint32_t bones
Definition: NiSkinData.h:56
bool RegisterStreamables(NiStream &a_stream) override
~NiSkinData() override
void LoadBinary(NiStream &a_stream) override
void SaveBinary(NiStream &a_stream) override
std::uint32_t pad5C
Definition: NiSkinData.h:57
const NiRTTI * GetRTTI() const override
NiTransform rootParentToSkin
Definition: NiSkinData.h:54
bool IsEqual(NiObject *a_object) override
void LinkObject(NiStream &a_stream) override
Definition: NiStream.h:29
Definition: NiTransform.h:9
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_NiSkinData(690444, 398299, 0x1f62258)
constexpr REL::VariantID NiRTTI_NiSkinData(523986, 410566, 0x316c120)