CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
NiSkinPartition.h
Go to the documentation of this file.
1#pragma once
2
5#include "RE/N/NiObject.h"
6
7namespace RE
8{
9 struct ID3D11Buffer;
10
12 {
13 public:
14 inline static constexpr auto RTTI = RTTI_NiSkinPartition;
15 inline static constexpr auto Ni_RTTI = NiRTTI_NiSkinPartition;
16
17 struct TriShape
18 {
19 ID3D11Buffer* vertexBuffer; // 00
20 ID3D11Buffer* indexBuffer; // 08
21 std::uint64_t vertexDesc; // 10
22 volatile std::uint32_t refCount; // 18
23 std::uint32_t pad1C; // 1C
24 std::uint8_t* rawVertexData; // 20
25 std::uint16_t* rawIndexData; // 28
26 };
27 static_assert(sizeof(TriShape) == 0x30);
28
30 {
31 public:
32 std::uint64_t vertexDesc; // 00
33 std::uint16_t* bones; // 08
34 float* weights; // 10
35 std::uint16_t* vertexMap; // 18
36 std::uint8_t* bonePalette; // 20
37 std::uint16_t* triList; // 28
38 std::uint16_t* stripLengths; // 30
39 std::uint16_t vertices; // 38
40 std::uint16_t triangles; // 3A
41 std::uint16_t numBones; // 3C
42 std::uint16_t strips; // 3E
43 std::uint16_t bonesPerVertex; // 40
44 std::uint16_t pad42; // 42
45 float unk44; // 44
47 };
48 static_assert(sizeof(Partition) == 0x50);
49
50 ~NiSkinPartition() override; // 00
51
52 // override (NiObject)
53 const NiRTTI* GetRTTI() const override; // 02
54 void LoadBinary(NiStream& a_stream) override; // 18
55 void LinkObject(NiStream& a_stream) override; // 19 - { NiObject::LinkObject(a_stream); }
56 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiObject::RegisterStreamables(a_stream); }
57 void SaveBinary(NiStream& a_stream) override; // 1B
58 bool IsEqual(NiObject* a_object) override; // 1C
59
60 // add
61 virtual void Unk_25(void); // 25
62
63 // members
64 std::uint32_t numPartitions; // 10
65 std::uint32_t pad14; // 14
67 std::uint64_t unk20; // 20
68 };
69 static_assert(sizeof(NiSkinPartition) == 0x28);
70}
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiSkinPartition.h:30
float unk44
Definition: NiSkinPartition.h:45
std::uint16_t strips
Definition: NiSkinPartition.h:42
std::uint8_t * bonePalette
Definition: NiSkinPartition.h:36
std::uint16_t numBones
Definition: NiSkinPartition.h:41
std::uint16_t * vertexMap
Definition: NiSkinPartition.h:35
float * weights
Definition: NiSkinPartition.h:34
TriShape * buffData
Definition: NiSkinPartition.h:46
std::uint64_t vertexDesc
Definition: NiSkinPartition.h:32
std::uint16_t pad42
Definition: NiSkinPartition.h:44
std::uint16_t * stripLengths
Definition: NiSkinPartition.h:38
std::uint16_t * triList
Definition: NiSkinPartition.h:37
std::uint16_t vertices
Definition: NiSkinPartition.h:39
std::uint16_t * bones
Definition: NiSkinPartition.h:33
std::uint16_t triangles
Definition: NiSkinPartition.h:40
std::uint16_t bonesPerVertex
Definition: NiSkinPartition.h:43
Definition: NiSkinPartition.h:12
static constexpr auto RTTI
Definition: NiSkinPartition.h:14
std::uint32_t pad14
Definition: NiSkinPartition.h:65
~NiSkinPartition() override
virtual void Unk_25(void)
SimpleArray< Partition > partitions
Definition: NiSkinPartition.h:66
bool IsEqual(NiObject *a_object) override
bool RegisterStreamables(NiStream &a_stream) override
const NiRTTI * GetRTTI() const override
std::uint64_t unk20
Definition: NiSkinPartition.h:67
std::uint32_t numPartitions
Definition: NiSkinPartition.h:64
static constexpr auto Ni_RTTI
Definition: NiSkinPartition.h:15
void LoadBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
void SaveBinary(NiStream &a_stream) override
Definition: NiStream.h:6
Definition: MemoryManager.h:240
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_NiSkinPartition
Definition: Offsets_RTTI.h:5475
constexpr REL::ID NiRTTI_NiSkinPartition
Definition: Offsets_NiRTTI.h:295
Definition: NiSkinPartition.h:18
std::uint16_t * rawIndexData
Definition: NiSkinPartition.h:25
std::uint8_t * rawVertexData
Definition: NiSkinPartition.h:24
std::uint64_t vertexDesc
Definition: NiSkinPartition.h:21
ID3D11Buffer * vertexBuffer
Definition: NiSkinPartition.h:19
std::uint32_t pad1C
Definition: NiSkinPartition.h:23
volatile std::uint32_t refCount
Definition: NiSkinPartition.h:22
ID3D11Buffer * indexBuffer
Definition: NiSkinPartition.h:20