CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
NiExtraData.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
RE/B/BSFixedString.h
"
4
#include "
RE/N/NiObject.h
"
5
6
namespace
RE
7
{
8
class
NiExtraData
:
public
NiObject
9
{
10
public
:
11
inline
static
constexpr
auto
RTTI
=
RTTI_NiExtraData
;
12
inline
static
constexpr
auto
Ni_RTTI
=
NiRTTI_NiExtraData
;
13
inline
static
constexpr
auto
VTABLE
=
VTABLE_NiExtraData
;
14
15
~NiExtraData
()
override
;
// 00
16
17
// override (NiObject)
18
const
NiRTTI
*
GetRTTI
()
const override
;
// 02
19
void
LoadBinary
(
NiStream
& a_stream)
override
;
// 18
20
void
LinkObject
(
NiStream
& a_stream)
override
;
// 19 - { return; }
21
bool
RegisterStreamables
(
NiStream
& a_stream)
override
;
// 1A
22
void
SaveBinary
(
NiStream
& a_stream)
override
;
// 1B
23
bool
IsEqual
(
NiObject
* a_object)
override
;
// 1C
24
25
// add
26
[[nodiscard]]
virtual
bool
IsStreamable
()
const
;
// 25 - { return true; }
27
[[nodiscard]]
virtual
bool
IsCloneable
()
const
;
// 26 - { return true; }
28
29
static
NiExtraData
*
Create
(std::size_t a_size, std::uintptr_t a_vtbl);
30
template
<
class
T>
31
static
T*
Create
();
32
33
[[nodiscard]]
const
BSFixedString
&
GetName
()
const
;
34
void
SetName
(
const
BSFixedString
& a_name);
35
36
// members
37
BSFixedString
name
;
// 10
38
};
39
static_assert
(
sizeof
(
NiExtraData
) == 0x18);
40
41
template
<
class
T>
42
T*
NiExtraData::Create
()
43
{
44
return
static_cast<
T*
>
(
Create
(
sizeof
(T), T::VTABLE[0].address()));
45
}
46
}
BSFixedString.h
NiObject.h
RE::NiExtraData
Definition
NiExtraData.h:9
RE::NiExtraData::Create
static T * Create()
Definition
NiExtraData.h:42
RE::NiExtraData::RegisterStreamables
bool RegisterStreamables(NiStream &a_stream) override
RE::NiExtraData::IsCloneable
virtual bool IsCloneable() const
RE::NiExtraData::SaveBinary
void SaveBinary(NiStream &a_stream) override
RE::NiExtraData::LoadBinary
void LoadBinary(NiStream &a_stream) override
RE::NiExtraData::~NiExtraData
~NiExtraData() override
RE::NiExtraData::name
BSFixedString name
Definition
NiExtraData.h:37
RE::NiExtraData::SetName
void SetName(const BSFixedString &a_name)
RE::NiExtraData::Create
static NiExtraData * Create(std::size_t a_size, std::uintptr_t a_vtbl)
RE::NiExtraData::RTTI
static constexpr auto RTTI
Definition
NiExtraData.h:11
RE::NiExtraData::GetRTTI
const NiRTTI * GetRTTI() const override
RE::NiExtraData::IsEqual
bool IsEqual(NiObject *a_object) override
RE::NiExtraData::VTABLE
static constexpr auto VTABLE
Definition
NiExtraData.h:13
RE::NiExtraData::LinkObject
void LinkObject(NiStream &a_stream) override
RE::NiExtraData::Ni_RTTI
static constexpr auto Ni_RTTI
Definition
NiExtraData.h:12
RE::NiExtraData::IsStreamable
virtual bool IsStreamable() const
RE::NiExtraData::GetName
const BSFixedString & GetName() const
RE::NiObject
Definition
NiObject.h:37
RE::NiRTTI
Definition
NiRTTI.h:6
RE::NiStream
Definition
NiStream.h:29
RE::detail::BSFixedString< char >
RE
Definition
AbsorbEffect.h:6
RE::RTTI_NiExtraData
constexpr REL::ID RTTI_NiExtraData(static_cast< std::uint64_t >(684976))
RE::VTABLE_NiExtraData
constexpr std::array< REL::ID, 1 > VTABLE_NiExtraData
Definition
Offsets_VTABLE.h:12201
RE::NiRTTI_NiExtraData
constexpr REL::ID NiRTTI_NiExtraData(static_cast< std::uint64_t >(523948))
CommonLibSSE
include
RE
N
NiExtraData.h
Generated by
1.9.8