CommonLibSSE (powerof3)
NiSkinInstance.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiObject.h"
4 #include "RE/N/NiSmartPointer.h"
5 
6 namespace RE
7 {
8  class NiAVObject;
9  class NiTransform;
10  class NiSkinData;
11  class NiSkinPartition;
12 
13  class NiSkinInstance : public NiObject
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_NiSkinInstance;
17  inline static constexpr auto Ni_RTTI = NiRTTI_NiSkinInstance;
18 
19  ~NiSkinInstance() override; // 00
20 
21  // override (NiObject)
22  const NiRTTI* GetRTTI() const override; // 02
23  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
24  void LoadBinary(NiStream& a_stream) override; // 18
25  void LinkObject(NiStream& a_stream) override; // 19
26  bool RegisterStreamables(NiStream& a_stream) override; // 1A
27  void SaveBinary(NiStream& a_stream) override; // 1B
28  bool IsEqual(NiObject* a_object) override; // 1C
29  void PostLinkObject(NiStream& a_stream) override; // 1E - { return; }
30 
31  // add
32  virtual void Unk_25(void); // 25
33 
35 
36  // members
40  NiAVObject** bones; // 28
42  std::uint32_t frameID; // 38
43  std::uint32_t numMatrices; // 3C
44  std::uint32_t numRegisters; // 40
45  std::uint32_t allocatedSize; // 44
46  void* boneMatrices; // 48
47  void* prevBoneMatrices; // 50
50  };
51  static_assert(sizeof(NiSkinInstance) == 0x88);
52 }
Definition: NiAVObject.h:45
Definition: NiObject.h:37
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: NiSkinInstance.h:14
const NiRTTI * GetRTTI() const override
void PostLinkObject(NiStream &a_stream) override
~NiSkinInstance() override
std::uint32_t numMatrices
Definition: NiSkinInstance.h:43
NiAVObject * rootParent
Definition: NiSkinInstance.h:39
void SaveBinary(NiStream &a_stream) override
bool IsEqual(NiObject *a_object) override
std::uint32_t numRegisters
Definition: NiSkinInstance.h:44
NiObject * CreateClone(NiCloningProcess &a_cloning) override
const NiTransform ** boneWorldTransforms
Definition: NiSkinInstance.h:41
virtual void Unk_25(void)
NiPointer< NiSkinPartition > skinPartition
Definition: NiSkinInstance.h:38
void LinkObject(NiStream &a_stream) override
void * prevBoneMatrices
Definition: NiSkinInstance.h:47
WinAPI::CRITICAL_SECTION lock
Definition: NiSkinInstance.h:49
void * skinToWorldWorldToSkinMatrix
Definition: NiSkinInstance.h:48
NiPointer< NiSkinData > skinData
Definition: NiSkinInstance.h:37
NiAVObject ** bones
Definition: NiSkinInstance.h:40
std::uint32_t frameID
Definition: NiSkinInstance.h:42
static constexpr auto RTTI
Definition: NiSkinInstance.h:16
std::uint32_t allocatedSize
Definition: NiSkinInstance.h:45
static NiSkinInstance * Create()
bool RegisterStreamables(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition: NiSkinInstance.h:17
void LoadBinary(NiStream &a_stream) override
void * boneMatrices
Definition: NiSkinInstance.h:46
Definition: NiStream.h:6
Definition: NiTransform.h:9
Definition: AbsorbEffect.h:6
constexpr REL::ID NiRTTI_NiSkinInstance
Definition: Offsets_NiRTTI.h:294
constexpr REL::ID RTTI_NiSkinInstance
Definition: Offsets_RTTI.h:5474
Definition: WinAPI.h:14