11 class BSLensFlareRenderData;
14 class BSShadowDirectionalLight;
43 #define RUNTIME_DATA_CONTENT \
44 std::uint64_t unk128; \
45 BSTArray<NiPointer<BSLight>> activeLights; \
46 BSTArray<NiPointer<BSLight>> unk148; \
47 BSTArray<NiPointer<BSLight>> unk160; \
48 BSTArray<void*> unk178; \
49 BSTArray<NiPointer<BSLight>> unk190; \
50 mutable BSSpinLock unk1A8; \
51 BSTArray<NiPointer<NiAVObject>> geometries; \
52 BSTArray<NiPointer<NiAVObject>> particleNodes; \
53 BSTArray<NiPointer<NiAVObject>> actorRootNodes; \
54 mutable BSSpinLock unk1F8; \
56 BSLight* cloudLight; \
57 BSShadowDirectionalLight* shadowDirLight; \
58 std::uint8_t unk218; \
59 std::uint8_t unk219; \
60 std::uint8_t unk21A; \
61 std::uint8_t unk21B; \
62 std::uint32_t pad21C; \
63 NiPointer<BSFogProperty> fogProperty; \
64 BSPortalGraph* portalGraph; \
65 BSTArray<BSShadowLight*> shadowCasterLights; \
66 std::uint64_t unk248; \
67 std::uint64_t unk250; \
68 std::uint64_t unk258; \
69 std::uint64_t unk260; \
70 std::uint64_t unk268; \
71 std::uint64_t unk270; \
72 std::uint64_t unk278; \
73 std::uint64_t unk280; \
74 std::uint64_t unk288; \
75 std::uint64_t unk290; \
76 std::uint64_t unk298; \
77 std::uint64_t unk2A0; \
78 std::uint64_t unk2A8; \
79 std::uint64_t unk2B0; \
80 std::uint64_t unk2B8; \
81 std::uint64_t unk2C0; \
82 std::uint64_t unk2C8; \
83 std::uint64_t unk2D0; \
84 std::uint64_t unk2D8; \
85 std::uint64_t unk2E0; \
88 std::uint8_t unk300; \
89 std::uint8_t pad301; \
90 std::uint16_t pad302; \
95 static_assert(
sizeof(RUNTIME_DATA) == 0x1E0);
101 #if !defined(ENABLE_SKYRIM_VR) || (!defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_VR))
108 return REL::RelocateMember<RUNTIME_DATA>(
this, 0x128, 0x150);
113 return REL::RelocateMember<RUNTIME_DATA>(
this, 0x128, 0x150);
117 #ifndef SKYRIM_CROSS_VR
121 #ifndef ENABLE_SKYRIM_VR
122 static_assert(
sizeof(ShadowSceneNode) == 0x308);
123 #elif !defined(ENABLE_SKYRIM_AE) && !defined(ENABLE_SKYRIM_SE)
124 static_assert(
sizeof(ShadowSceneNode) == 0x330);
127 #undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition: ShadowSceneNode.h:43
Definition: BSLensFlareRenderData.h:11
Definition: NiAVObject.h:50
Definition: NiCullingProcess.h:34
Definition: ShadowSceneNode.h:17
const NiRTTI * GetRTTI() const override
RUNTIME_DATA & GetRuntimeData() noexcept
Definition: ShadowSceneNode.h:106
void OnVisible(NiCullingProcess &a_process) override
static auto Ni_RTTI
Definition: ShadowSceneNode.h:20
~ShadowSceneNode() override
static constexpr auto RTTI
Definition: ShadowSceneNode.h:19
const RUNTIME_DATA & GetRuntimeData() const noexcept
Definition: ShadowSceneNode.h:111
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_ShadowSceneNode(692005, 400049, 0x1f7fa60)
constexpr REL::VariantID NiRTTI_ShadowSceneNode(527735, 414664, 0x3423520)
Definition: ShadowSceneNode.h:23
float nearDistance
Definition: ShadowSceneNode.h:34
float falloff
Definition: ShadowSceneNode.h:33
float depthBias
Definition: ShadowSceneNode.h:35
BSLensFlareRenderData * lensFlareData
Definition: ShadowSceneNode.h:38
std::uint8_t unk01
Definition: ShadowSceneNode.h:27
NiAVObject * objectNode
Definition: ShadowSceneNode.h:37
bool portalStrict
Definition: ShadowSceneNode.h:28
std::uint32_t unk18
Definition: ShadowSceneNode.h:36
bool affectLand
Definition: ShadowSceneNode.h:29
bool neverFades
Definition: ShadowSceneNode.h:31
std::uint8_t unk00
Definition: ShadowSceneNode.h:26
std::uint8_t unk04
Definition: ShadowSceneNode.h:30
float fov
Definition: ShadowSceneNode.h:32
Definition: ShadowSceneNode.h:42