CommonLibSSE NG
Loading...
Searching...
No Matches
BSValueNode.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSNiNode.h"
4
5namespace RE
6{
7 class BSMasterParticleSystem;
8
9 class BSValueNode : public BSNiNode
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_BSValueNode;
13 inline static constexpr auto Ni_RTTI = NiRTTI_BSValueNode;
14
15 ~BSValueNode() override; // 00
16
17 // override (BSNiNode)
18 const NiRTTI* GetRTTI() const override; // 02
19 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
20 void LoadBinary(NiStream& a_stream) override; // 18
21 void LinkObject(NiStream& a_stream) override; // 19
22 bool RegisterStreamables(NiStream& a_stream) override; // 1A
23 void SaveBinary(NiStream& a_stream) override; // 1B
24 bool IsEqual(NiObject* a_object) override; // 1C
25#ifndef SKYRIM_CROSS_VR
26 void UpdateWorldData(NiUpdateData* a_data) override; // 30
27#endif
28
29 // add
30 virtual bool ParseNameForValue(); // 35
31
33 {
34#define RUNTIME_DATA_CONTENT \
35 std::uint8_t flags; /* 128 */ \
36 std::uint32_t value; /* 12C */ \
37 NiPointer<BSMasterParticleSystem> associatedObject; /* 130 */
38 };
39
40 [[nodiscard]] inline VALUE_NODE_RUNTIME_DATA& GetValueNodeRuntimeData() noexcept
41 {
42 return REL::RelocateMember<VALUE_NODE_RUNTIME_DATA>(this, 0x128, 0x150);
43 }
44
45 [[nodiscard]] inline const VALUE_NODE_RUNTIME_DATA& GetValueNodeRuntimeData() const noexcept
46 {
47 return REL::RelocateMember<VALUE_NODE_RUNTIME_DATA>(this, 0x128, 0x150);
48 }
49
50 // members
51#ifndef SKYRIM_CROSS_VR
52 RUNTIME_DATA_CONTENT // 128, 150
53#endif
54 };
55}
56#undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition Actor.h:633
Definition BSNiNode.h:8
Definition BSValueNode.h:10
void UpdateWorldData(NiUpdateData *a_data) override
void LoadBinary(NiStream &a_stream) override
void SaveBinary(NiStream &a_stream) override
virtual bool ParseNameForValue()
const VALUE_NODE_RUNTIME_DATA & GetValueNodeRuntimeData() const noexcept
Definition BSValueNode.h:45
bool IsEqual(NiObject *a_object) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void LinkObject(NiStream &a_stream) override
static constexpr auto Ni_RTTI
Definition BSValueNode.h:13
~BSValueNode() override
bool RegisterStreamables(NiStream &a_stream) override
static constexpr auto RTTI
Definition BSValueNode.h:12
const NiRTTI * GetRTTI() const override
VALUE_NODE_RUNTIME_DATA & GetValueNodeRuntimeData() noexcept
Definition BSValueNode.h:40
Definition NiCloningProcess.h:10
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiStream.h:27
Definition NiAVObject.h:25
Definition AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_BSValueNode(524560, 411158, 0x3176000)
constexpr REL::VariantID RTTI_BSValueNode(690677, 398532, 0x1f65570)
Definition BSValueNode.h:33