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 inline static constexpr auto VTABLE = VTABLE_BSDismemberSkinInstance;
13
14 struct Data
15 {
16 public:
17 // members
18 bool editorVisible; // 0
19 bool startNetBoneSet; // 1
20 std::uint16_t slot; // 2 - https://wiki.nexusmods.com/index.php/Skyrim_bodyparts_number
21 };
22 static_assert(sizeof(Data) == 0x4);
23
24 ~BSDismemberSkinInstance() override; // 00
25
26 // override (NiSkinInstance)
27 const NiRTTI* GetRTTI() const override; // 02
28 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
29 void LoadBinary(NiStream& a_stream) override; // 18
30 void LinkObject(NiStream& a_stream) override; // 19 - { NiSkinInstance::LinkObject(a_stream); }
31 bool RegisterStreamables(NiStream& a_stream) override; // 1A - { return NiSkinInstance::RegisterStreamables(a_stream) != false; }
32 void SaveBinary(NiStream& a_stream) override; // 1B
33 bool IsEqual(NiObject* a_object) override; // 1C
34 void Unk_25(void) override; // 25
35
36 void UpdateDismemberPartion(std::uint16_t a_slot, bool a_enable)
37 {
39 static REL::Relocation<func_t> func{ RELOCATION_ID(15576, 15753) };
40 return func(this, a_slot, a_enable);
41 }
42
43 // members
44 std::int32_t numPartitions; // 88
45 std::uint32_t pad8C; // 8C
47 bool unk98; // 98
48 std::uint8_t pad99; // 99
49 std::uint16_t pad9A; // 9A
50 std::uint32_t pad9C; // 9C
51 };
52 static_assert(sizeof(BSDismemberSkinInstance) == 0xA0);
53}
#define RELOCATION_ID(SE, AE)
Definition PCH.h:506
Definition Relocation.h:210
Definition BSDismemberSkinInstance.h:8
void Unk_25(void) override
std::int32_t numPartitions
Definition BSDismemberSkinInstance.h:44
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:46
void LinkObject(NiStream &a_stream) override
bool unk98
Definition BSDismemberSkinInstance.h:47
static constexpr auto RTTI
Definition BSDismemberSkinInstance.h:10
std::uint16_t pad9A
Definition BSDismemberSkinInstance.h:49
std::uint32_t pad8C
Definition BSDismemberSkinInstance.h:45
void UpdateDismemberPartion(std::uint16_t a_slot, bool a_enable)
Definition BSDismemberSkinInstance.h:36
std::uint32_t pad9C
Definition BSDismemberSkinInstance.h:50
const NiRTTI * GetRTTI() const override
static constexpr auto VTABLE
Definition BSDismemberSkinInstance.h:12
std::uint8_t pad99
Definition BSDismemberSkinInstance.h:48
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:16
Definition NiStream.h:29
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSDismemberSkinInstance
Definition Offsets_VTABLE.h:8993
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:15
bool editorVisible
Definition BSDismemberSkinInstance.h:18
std::uint16_t slot
Definition BSDismemberSkinInstance.h:20
bool startNetBoneSet
Definition BSDismemberSkinInstance.h:19