CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
NiObjectNET.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/N/NiObject.h"
6
7namespace RE
8{
9 class NiExtraData;
10 class NiTimeController;
11
12 class NiObjectNET : public NiObject
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_NiObjectNET;
16 inline static constexpr auto Ni_RTTI = NiRTTI_NiObjectNET;
17
18 ~NiObjectNET() override; // 00
19
20 // override (NiObject)
21 const NiRTTI* GetRTTI() const override; // 02
22 void LoadBinary(NiStream& a_stream) override; // 18
23 void LinkObject(NiStream& a_stream) override; // 19
24 bool RegisterStreamables(NiStream& a_stream) override; // 1A
25 void SaveBinary(NiStream& a_stream) override; // 1B
26 bool IsEqual(NiObject* a_object) override; // 1C
27 void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
28 void PostLinkObject(NiStream& a_stream) override; // 1E
29
30 bool AddExtraData(const BSFixedString& a_key, NiExtraData* a_extra);
31 bool AddExtraData(NiExtraData* a_extra);
32 void DeleteExtraData(std::uint16_t a_extraDataIndex);
33 [[nodiscard]] NiTimeController* GetControllers() const;
34 NiTimeController* GetController(const NiRTTI* a_rtti) const;
35 [[nodiscard]] NiExtraData* GetExtraData(const BSFixedString& a_key) const;
36 [[nodiscard]] NiExtraData* GetExtraDataAt(std::uint16_t a_extraDataIndex) const;
37 [[nodiscard]] std::uint16_t GetExtraDataSize() const;
40 bool RemoveExtraData(const BSFixedString& a_key);
41 bool RemoveExtraDataAt(std::uint16_t a_extraDataIndex);
42 bool SetExtraDataSize(std::uint16_t a_size);
43
44 // members
48 std::uint16_t extraDataSize; // 28
49 std::uint16_t maxSize; // 2A
50 std::uint32_t pad2C; // 2C
51 };
52 static_assert(sizeof(NiObjectNET) == 0x30);
53}
Definition: NiExtraData.h:9
Definition: NiObject.h:37
Definition: NiObjectNET.h:13
bool AddExtraData(NiExtraData *a_extra)
void LoadBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
BSFixedString name
Definition: NiObjectNET.h:45
bool InsertExtraData(NiExtraData *a_extra)
NiExtraData * GetExtraDataAt(std::uint16_t a_extraDataIndex) const
NiTimeController * GetControllers() const
~NiObjectNET() override
NiPointer< NiTimeController > controllers
Definition: NiObjectNET.h:46
bool SetExtraDataSize(std::uint16_t a_size)
bool RegisterStreamables(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition: NiObjectNET.h:16
NiExtraData ** extra
Definition: NiObjectNET.h:47
NiTimeController * GetController(const NiRTTI *a_rtti) const
bool AddExtraData(const BSFixedString &a_key, NiExtraData *a_extra)
std::uint32_t pad2C
Definition: NiObjectNET.h:50
std::uint16_t GetExtraDataSize() const
void DeleteExtraData(std::uint16_t a_extraDataIndex)
std::uint16_t maxSize
Definition: NiObjectNET.h:49
bool IsEqual(NiObject *a_object) override
static constexpr auto RTTI
Definition: NiObjectNET.h:15
void ProcessClone(NiCloningProcess &a_cloning) override
void SaveBinary(NiStream &a_stream) override
bool RemoveExtraDataAt(std::uint16_t a_extraDataIndex)
NiExtraData * GetExtraData(const BSFixedString &a_key) const
const NiRTTI * GetRTTI() const override
std::uint16_t extraDataSize
Definition: NiObjectNET.h:48
void PostLinkObject(NiStream &a_stream) override
bool RemoveExtraData(const BSFixedString &a_key)
void RemoveAllExtraData()
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: NiStream.h:6
Definition: NiTimeController.h:13
Definition: AbsorbEffect.h:6
constexpr REL::ID NiRTTI_NiObjectNET
Definition: Offsets_NiRTTI.h:217
constexpr REL::ID RTTI_NiObjectNET
Definition: Offsets_RTTI.h:5394