CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
UI3DSceneManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
4#include "RE/B/BSTArray.h"
5#include "RE/B/BSTSingleton.h"
6#include "RE/N/NiColor.h"
7#include "RE/N/NiFrustum.h"
8#include "RE/N/NiMatrix3.h"
9#include "RE/N/NiPoint3.h"
10#include "RE/N/NiSmartPointer.h"
11
12namespace RE
13{
14 class BSCullingProcess;
15 class BSLight;
16 class BSShaderAccumulator;
17 class NiCamera;
18 class NiNode;
19 class ShadowSceneNode;
20 class TESImageSpaceModifier;
21
23 {
24 kJournal = 0,
27 kBook,
29 kUnk05,
30 kStats,
32
33 kTotal = 8
34 };
35
37 {
38 public:
39 // members
42 float radius; // 18
43 float fade; // 1C
44 bool castsShadows; // 20
47 };
48 static_assert(sizeof(MenuLight) == 0x38);
49
50 class UI3DSceneManager : public BSTSingletonSDM<UI3DSceneManager>
51 {
52 public:
54 {
55 REL::Relocation<UI3DSceneManager**> singleton{ RELOCATION_ID(517052, 403560) };
56 return *singleton;
57 }
58
59 void SetCameraFOV(float a_fov)
60 {
61 using func_t = decltype(&UI3DSceneManager::SetCameraFOV);
62 REL::Relocation<func_t> func{ RELOCATION_ID(51870, 52742) };
63 return func(this, a_fov);
64 }
65 void SetCameraRotate(const RE::NiMatrix3& a_rotate)
66 {
67 using func_t = decltype(&UI3DSceneManager::SetCameraRotate);
68 REL::Relocation<func_t> func{ RELOCATION_ID(51869, 52741) };
69 return func(this, a_rotate);
70 }
72 {
73 using func_t = decltype(&UI3DSceneManager::SetCameraRotate);
74 REL::Relocation<func_t> func{ RELOCATION_ID(51867, 52739) };
75 return func(this, a_pos);
76 }
77
78 // members
79 std::uint8_t pad01; // 01
80 std::uint16_t pad02; // 02
81 std::uint32_t pad04; // 04
86 mutable BSSpinLock lock; // 28
91 std::uint32_t pad94; // 94
97 };
98 static_assert(sizeof(UI3DSceneManager) == 0x118);
99}
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:711
Definition: BSCullingProcess.h:17
Definition: BSAtomic.h:49
Definition: BSTArray.h:377
Definition: UI3DSceneManager.h:37
NiPoint3 translate
Definition: UI3DSceneManager.h:41
NiColor color
Definition: UI3DSceneManager.h:40
float radius
Definition: UI3DSceneManager.h:42
NiPointer< BSLight > light
Definition: UI3DSceneManager.h:45
MenuLight * last
Definition: UI3DSceneManager.h:46
float fade
Definition: UI3DSceneManager.h:43
bool castsShadows
Definition: UI3DSceneManager.h:44
Definition: NiColor.h:11
Definition: NiFrustum.h:6
Definition: NiMatrix3.h:8
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: ShadowSceneNode.h:17
Definition: UI3DSceneManager.h:51
NiPointer< NiCamera > camera
Definition: UI3DSceneManager.h:85
std::uint16_t pad02
Definition: UI3DSceneManager.h:80
INTERFACE_LIGHT_SCHEME currentlightScheme
Definition: UI3DSceneManager.h:90
NiPointer< NiNode > menuObjects[8]
Definition: UI3DSceneManager.h:88
void SetCameraRotate(const RE::NiMatrix3 &a_rotate)
Definition: UI3DSceneManager.h:65
NiMatrix3 cachedCameraRot
Definition: UI3DSceneManager.h:95
std::uint8_t pad01
Definition: UI3DSceneManager.h:79
ShadowSceneNode * shadowSceneNode
Definition: UI3DSceneManager.h:87
BSTArray< INTERFACE_LIGHT_SCHEME > lightSchemes
Definition: UI3DSceneManager.h:92
NiPointer< BSShaderAccumulator > unk10
Definition: UI3DSceneManager.h:83
BSSpinLock lock
Definition: UI3DSceneManager.h:86
std::uint32_t pad94
Definition: UI3DSceneManager.h:91
void SetCameraFOV(float a_fov)
Definition: UI3DSceneManager.h:59
BSTArray< NiPointer< TESImageSpaceModifier > > imageSpaceMods
Definition: UI3DSceneManager.h:93
NiPointer< BSShaderAccumulator > unk18
Definition: UI3DSceneManager.h:84
void SetCameraPosition(const RE::NiPoint3 &a_pos)
Definition: UI3DSceneManager.h:71
NiPoint3 cachedCameraPos
Definition: UI3DSceneManager.h:94
BSCullingProcess * cullingProcess
Definition: UI3DSceneManager.h:82
std::uint32_t pad04
Definition: UI3DSceneManager.h:81
BSTArray< MenuLight * > menuLights
Definition: UI3DSceneManager.h:89
NiFrustum viewFrustum
Definition: UI3DSceneManager.h:96
static UI3DSceneManager * GetSingleton()
Definition: UI3DSceneManager.h:53
Definition: Relocation.h:875
Definition: AbsorbEffect.h:6
INTERFACE_LIGHT_SCHEME
Definition: UI3DSceneManager.h:23
Definition: BSTSingleton.h:50