CommonLibSSE NG
SceneGraph.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSSceneGraph.h"
4 
5 namespace RE
6 {
7  class SceneGraph : public BSSceneGraph
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_SceneGraph;
11  inline static constexpr auto Ni_RTTI = NiRTTI_SceneGraph;
12 
13  ~SceneGraph() override; // 00
14 
15  // override (BSSceneGraph)
16  const NiRTTI* GetRTTI() const override; // 02
17  float GetFarDistance() override; // 3E
18  float GetNearDistance() override; // 3F
19 
21  {
22 #define RUNTIME_DATA_CONTENT \
23  float customNearDistance; /* 140 */ \
24  float customFarDistance; /* 144 */ \
25  bool useCustomNear; /* 148 */ \
26  bool useCustomFar; /* 149 */ \
27  std::uint16_t pad14A; /* 14A */ \
28  std::uint32_t pad14C; /* 14C */
29 
31  };
32 
33  [[nodiscard]] inline SCENE_GRAPH_RUNTIME_DATA& GetRuntimeData() noexcept
34  {
35  return REL::RelocateMember<SCENE_GRAPH_RUNTIME_DATA>(this, 0x140, 0x168);
36  }
37 
38  [[nodiscard]] inline const SCENE_GRAPH_RUNTIME_DATA& GetRuntimeData() const noexcept
39  {
40  return REL::RelocateMember<SCENE_GRAPH_RUNTIME_DATA>(this, 0x140, 0x168);
41  }
42 
43 #ifndef SKYRIM_CROSS_VR
45 #endif
46  };
47 }
48 #undef RUNTIME_DATA_CONTENT
#define RUNTIME_DATA_CONTENT
Definition: SceneGraph.h:22
Definition: BSSceneGraph.h:10
Definition: NiRTTI.h:6
Definition: SceneGraph.h:8
SCENE_GRAPH_RUNTIME_DATA & GetRuntimeData() noexcept
Definition: SceneGraph.h:33
const SCENE_GRAPH_RUNTIME_DATA & GetRuntimeData() const noexcept
Definition: SceneGraph.h:38
~SceneGraph() override
float GetNearDistance() override
const NiRTTI * GetRTTI() const override
float GetFarDistance() override
static constexpr auto RTTI
Definition: SceneGraph.h:10
static constexpr auto Ni_RTTI
Definition: SceneGraph.h:11
Definition: AbsorbEffect.h:6
constexpr REL::VariantID NiRTTI_SceneGraph(517222, 403753, 0x2ffd750)
constexpr REL::VariantID RTTI_SceneGraph(686700, 394546, 0x1f03f08)
Definition: SceneGraph.h:21