CommonLibVR
Loading...
Searching...
No Matches
BSLight.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSTArray.h"
4#include "RE/N/NiPoint3.h"
5#include "RE/N/NiRefObject.h"
7
8namespace RE
9{
10 class BSCullingProcess;
11 class BSLensFlareRenderData;
12 class BSMultiBoundRoom;
13 class BSPortal;
14 class BSPortalGraph;
15 class BSPortalSharedNode;
16 class BSTriShape;
17 class NiAVObject;
18 class NiLight;
19
20 class BSLight : public NiRefObject
21 {
22 public:
23 inline static constexpr auto RTTI = RTTI_BSLight;
24 inline static constexpr auto VTABLE = VTABLE_BSLight;
25
26 struct ShapeData
27 {
28 std::uint64_t unk00; // 00
29 std::uint64_t unk08; // 08
31 };
32 static_assert(sizeof(ShapeData) == 0x18);
33
34 struct Data
35 {
36 std::uint64_t unk00; // 00
37 std::uint64_t unk08; // 08
38 std::uint32_t unk10; // 10
40 };
41 static_assert(sizeof(Data) == 0x20);
42
43 ~BSLight() override; // 00
44
45 // add
46 virtual bool SetLight(NiLight* a_light); // 02
47 virtual bool IsShadowLight(); // 03
48
49 // members
50 float luminance; // 010
51 float lodDimmer; // 014
52 Data unk018; // 018
53 std::uint64_t unk038; // 038
54 std::uint32_t unk040; // 040
55 bool pointLight; // 044
56 bool ambientLight; // 045
57 bool dynamic; // 046
58 bool portalStrict; // 047
61 std::uint32_t frustrumCull; // 05C
62 std::uint8_t unk060; // 060
63 bool affectLand; // 061
64 bool affectWater; // 062
65 bool neverFades; // 063
66 std::uint32_t unk064; // 064
67 std::uint64_t unk068; // 068
68 std::uint8_t unk070[96]; // 070
69 std::uint8_t unk0D0; // 0D0
70 std::uint8_t pad0D1; // 0D1
71 std::uint16_t pad0D2; // 0D2
72 std::uint32_t pad0D4; // 0D4
80 private:
82 };
83 static_assert(sizeof(BSLight) == 0x140);
84}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSCullingProcess.h:17
Definition BSLensFlareRenderData.h:11
Definition BSLight.h:21
std::uint32_t unk040
Definition BSLight.h:54
NiPointer< NiLight > light
Definition BSLight.h:59
std::uint32_t pad0D4
Definition BSLight.h:72
BSTArray< BSPortalSharedNode * > portalSharedNodes
Definition BSLight.h:75
bool ambientLight
Definition BSLight.h:56
float luminance
Definition BSLight.h:50
std::uint16_t pad0D2
Definition BSLight.h:71
std::uint64_t unk038
Definition BSLight.h:53
NiPoint3 worldTranslate
Definition BSLight.h:60
std::uint32_t frustrumCull
Definition BSLight.h:61
BSLensFlareRenderData * lensFlareData
Definition BSLight.h:79
bool dynamic
Definition BSLight.h:57
BSTArray< BSPortal * > portals
Definition BSLight.h:74
BSTArray< BSMultiBoundRoom * > rooms
Definition BSLight.h:73
std::uint8_t unk070[96]
Definition BSLight.h:68
virtual bool IsShadowLight()
std::uint32_t unk064
Definition BSLight.h:66
virtual bool SetLight(NiLight *a_light)
bool portalStrict
Definition BSLight.h:58
std::uint8_t unk060
Definition BSLight.h:62
static constexpr auto RTTI
Definition BSLight.h:23
std::uint8_t pad0D1
Definition BSLight.h:70
bool affectLand
Definition BSLight.h:63
std::uint8_t unk0D0
Definition BSLight.h:69
std::uint64_t unk068
Definition BSLight.h:67
bool affectWater
Definition BSLight.h:64
float lodDimmer
Definition BSLight.h:51
BSPortalGraph * portalGraph
Definition BSLight.h:76
Data unk018
Definition BSLight.h:52
~BSLight() override
static constexpr auto VTABLE
Definition BSLight.h:24
BSCullingProcess * cullingProcess
Definition BSLight.h:77
NiPointer< NiAVObject > objectNode
Definition BSLight.h:78
bool pointLight
Definition BSLight.h:55
bool neverFades
Definition BSLight.h:65
Definition BSPortalGraph.h:17
Definition BSTArray.h:378
Definition NiLight.h:10
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition NiRefObject.h:8
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSLight
Definition Offsets_VTABLE.h:9199
constexpr REL::ID RTTI_BSLight(static_cast< std::uint64_t >(692063))
Definition BSLight.h:35
std::uint64_t unk08
Definition BSLight.h:37
ShapeData * data
Definition BSLight.h:39
std::uint32_t unk10
Definition BSLight.h:38
std::uint64_t unk00
Definition BSLight.h:36
Definition BSLight.h:27
std::uint64_t unk08
Definition BSLight.h:29
NiPointer< BSTriShape > fenceShape
Definition BSLight.h:30
std::uint64_t unk00
Definition BSLight.h:28