CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
BSDismemberSkinInstance.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_BSDismemberSkinInstance;
11 inline static constexpr auto Ni_RTTI = NiRTTI_BSDismemberSkinInstance;
12
13 struct Data
14 {
15 public:
16 // members
17 bool editorVisible; // 0
18 bool startNetBoneSet; // 1
19 std::uint16_t slot; // 2 - https://wiki.nexusmods.com/index.php/Skyrim_bodyparts_number
20 };
21 static_assert(sizeof(Data) == 0x4);
22
23 ~BSDismemberSkinInstance() override; // 00
24
25 // override (NiSkinInstance)
26 const NiRTTI* GetRTTI() const override; // 02
27 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
28 void LoadBinary(NiStream& a_stream) override; // 18
29 void LinkObject(NiStream& a_stream) override; // 19 - { NiSkinInstance::LinkObject(a_stream); }
30 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiSkinInstance::RegisterStreamables(a_stream) != false; }
31 void SaveBinary(NiStream& a_stream) override; // 1B
32 bool IsEqual(NiObject* a_object) override; // 1C
33 void Unk_25(void) override; // 25
34
35 void UpdateDismemberPartion(std::uint16_t a_slot, bool a_enable)
36 {
38 REL::Relocation<func_t> func{ RELOCATION_ID(15576, 15753) };
39 return func(this, a_slot, a_enable);
40 }
41
42 // members
43 std::int32_t numPartitions; // 88
44 std::uint32_t pad8C; // 8C
46 bool unk98; // 98
47 std::uint8_t pad99; // 99
48 std::uint16_t pad9A; // 9A
49 std::uint32_t pad9C; // 9C
50 };
51 static_assert(sizeof(BSDismemberSkinInstance) == 0xA0);
52}
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:711
Definition: BSDismemberSkinInstance.h:8
void Unk_25(void) override
std::int32_t numPartitions
Definition: BSDismemberSkinInstance.h:43
void SaveBinary(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition: BSDismemberSkinInstance.h:11
bool IsEqual(NiObject *a_object) override
void LoadBinary(NiStream &a_stream) override
Data * partitions
Definition: BSDismemberSkinInstance.h:45
void LinkObject(NiStream &a_stream) override
bool unk98
Definition: BSDismemberSkinInstance.h:46
static constexpr auto RTTI
Definition: BSDismemberSkinInstance.h:10
std::uint16_t pad9A
Definition: BSDismemberSkinInstance.h:48
std::uint32_t pad8C
Definition: BSDismemberSkinInstance.h:44
void UpdateDismemberPartion(std::uint16_t a_slot, bool a_enable)
Definition: BSDismemberSkinInstance.h:35
std::uint32_t pad9C
Definition: BSDismemberSkinInstance.h:49
const NiRTTI * GetRTTI() const override
std::uint8_t pad99
Definition: BSDismemberSkinInstance.h:47
NiObject * CreateClone(NiCloningProcess &a_cloning) override
bool RegisterStreamables(NiStream &a_stream) override
Definition: NiCloningProcess.h:10
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiSkinInstance.h:14
Definition: NiStream.h:27
Definition: Relocation.h:875
Definition: AbsorbEffect.h:6
constexpr REL::ID NiRTTI_BSDismemberSkinInstance(static_cast< std::uint64_t >(523941))
constexpr REL::ID RTTI_BSDismemberSkinInstance(static_cast< std::uint64_t >(690430))
Definition: BSDismemberSkinInstance.h:14
bool editorVisible
Definition: BSDismemberSkinInstance.h:17
std::uint16_t slot
Definition: BSDismemberSkinInstance.h:19
bool startNetBoneSet
Definition: BSDismemberSkinInstance.h:18