CommonLibSSE NG
UIRenderManager.h
Go to the documentation of this file.
1 #include "RE/B/BSAtomic.h"
2 #include "RE/B/BSTArray.h"
3 #include "RE/B/BSTSingleton.h"
4 #include "RE/N/NiColor.h"
5 #include "RE/N/NiPoint3.h"
6 #include "RE/N/NiSmartPointer.h"
7 
8 namespace RE
9 {
10  class BSCullingProcess;
11  class BSLight;
12  class BSShaderAccumulator;
13  class NiCamera;
14  class NiNode;
15  class NiFrustum;
16  class ShadowSceneNode;
17 
18  class UIRenderManager : public BSTSingletonSDM<UIRenderManager>
19  {
20  public:
21  struct UILightData
22  {
23  public:
24  NiColor color; // 0
26  float radius; // 18
27  float fade; // 1C
28  bool castsShadows; // 20
30  UILightData* next; // 30
31  };
32 
34  {
35  REL::Relocation<UIRenderManager**> singleton{ RELOCATION_ID(517052, 403350) };
36  return *singleton;
37  }
38 
39  // members
40  std::uint8_t pad01; // 01
41  std::uint16_t pad02; // 02
42  std::uint32_t pad04; // 04
47  mutable BSSpinLock lock; // 28
50  BSTArray<UILightData*> lightData; // 78 - fixed size of 8
51  std::uint32_t currentMenu; // 90
52  std::uint32_t pad94; // 94
55  std::uint8_t padC8[48]; // C8
57  };
58  static_assert(sizeof(UIRenderManager) == 0x118);
59 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSCullingProcess.h:17
Definition: BSAtomic.h:51
Definition: BSTArray.h:377
Definition: NiColor.h:11
Definition: NiFrustum.h:6
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: ShadowSceneNode.h:17
Definition: UIRenderManager.h:19
BSTArray< UILightData * > lightData
Definition: UIRenderManager.h:50
std::uint32_t pad04
Definition: UIRenderManager.h:42
NiPointer< NiCamera > camera
Definition: UIRenderManager.h:46
std::uint32_t currentMenu
Definition: UIRenderManager.h:51
ShadowSceneNode * shadowSceneNode
Definition: UIRenderManager.h:48
BSCullingProcess * cullingProcess
Definition: UIRenderManager.h:43
NiPointer< BSShaderAccumulator > unk18
Definition: UIRenderManager.h:45
NiPointer< NiNode > menuObjects[8]
Definition: UIRenderManager.h:49
NiPointer< BSShaderAccumulator > unk10
Definition: UIRenderManager.h:44
NiFrustum viewFrustum
Definition: UIRenderManager.h:56
BSSpinLock lock
Definition: UIRenderManager.h:47
BSTArray< std::uint32_t > menuIDs
Definition: UIRenderManager.h:53
std::uint32_t pad94
Definition: UIRenderManager.h:52
BSTArray< void * > unkB0
Definition: UIRenderManager.h:54
std::uint8_t pad01
Definition: UIRenderManager.h:40
static UIRenderManager * GetSingleton()
Definition: UIRenderManager.h:33
std::uint8_t padC8[48]
Definition: UIRenderManager.h:55
std::uint16_t pad02
Definition: UIRenderManager.h:41
Definition: AbsorbEffect.h:6
Definition: BSTSingleton.h:50
Definition: UIRenderManager.h:22
float radius
Definition: UIRenderManager.h:26
NiPointer< BSLight > light
Definition: UIRenderManager.h:29
NiColor color
Definition: UIRenderManager.h:24
float fade
Definition: UIRenderManager.h:27
bool castsShadows
Definition: UIRenderManager.h:28
UILightData * next
Definition: UIRenderManager.h:30
NiPoint3 translate
Definition: UIRenderManager.h:25