CommonLibSSE (powerof3)
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"
8
9namespace RE
10{
11 class BSCullingProcess;
12 class BSLensFlareRenderData;
13 class BSMultiBoundRoom;
14 class BSPortal;
15 class BSPortalGraph;
16 class BSPortalSharedNode;
17 class BSTriShape;
18 class NiAVObject;
19 class NiLight;
20
21 class BSLight : public NiRefObject
22 {
23 public:
24 inline static constexpr auto RTTI = RTTI_BSLight;
25 inline static constexpr auto VTABLE = VTABLE_BSLight;
26
27 template <class T>
28 class NodeListT : public NiTPointerList<T>
29 {
30 public:
32 };
33 static_assert(sizeof(NodeListT<void*>) == 0x20);
34
35 ~BSLight() override; // 00
36
37 // add
38 virtual bool SetLight(NiLight* a_light); // 02
39 virtual bool IsShadowLight(); // 03
40
41 // members
42 float luminance; // 010
43 float lodDimmer; // 014
45 std::uint64_t unk038; // 038
46 std::uint32_t unk040; // 040
47 bool pointLight; // 044
48 bool ambientLight; // 045
49 bool dynamic; // 046
50 bool portalStrict; // 047
53 std::uint32_t frustrumCull; // 05C
54 std::uint8_t unk060; // 060
55 bool affectLand; // 061
56 bool affectWater; // 062
57 bool neverFades; // 063
58 std::uint32_t unk064; // 064
60 std::uint8_t unk070[96]; // 070
61 std::uint8_t unk0D0; // 0D0
62 std::uint8_t pad0D1; // 0D1
63 std::uint16_t pad0D2; // 0D2
64 std::uint32_t pad0D4; // 0D4
72 };
73 static_assert(sizeof(BSLight) == 0x140);
74}
Definition BSCullingProcess.h:18
Definition BSLensFlareRenderData.h:11
Definition BSLight.h:29
NiTListItem< T > * fence
Definition BSLight.h:31
Definition BSLight.h:22
std::uint32_t unk040
Definition BSLight.h:46
NiPointer< NiLight > light
Definition BSLight.h:51
std::uint32_t pad0D4
Definition BSLight.h:64
BSTArray< BSPortalSharedNode * > portalSharedNodes
Definition BSLight.h:67
bool ambientLight
Definition BSLight.h:48
NodeListT< NiPointer< BSTriShape > > geomList
Definition BSLight.h:44
float luminance
Definition BSLight.h:42
std::uint16_t pad0D2
Definition BSLight.h:63
std::uint64_t unk038
Definition BSLight.h:45
NiPoint3 worldTranslate
Definition BSLight.h:52
std::uint32_t frustrumCull
Definition BSLight.h:53
BSLensFlareRenderData * lensFlareData
Definition BSLight.h:71
bool dynamic
Definition BSLight.h:49
BSTArray< BSPortal * > portals
Definition BSLight.h:66
BSTArray< BSMultiBoundRoom * > rooms
Definition BSLight.h:65
std::uint8_t unk070[96]
Definition BSLight.h:60
NiTListItem< NiPointer< BSTriShape > > * geomListFence
Definition BSLight.h:59
virtual bool IsShadowLight()
std::uint32_t unk064
Definition BSLight.h:58
virtual bool SetLight(NiLight *a_light)
bool portalStrict
Definition BSLight.h:50
std::uint8_t unk060
Definition BSLight.h:54
static constexpr auto RTTI
Definition BSLight.h:24
std::uint8_t pad0D1
Definition BSLight.h:62
bool affectLand
Definition BSLight.h:55
std::uint8_t unk0D0
Definition BSLight.h:61
bool affectWater
Definition BSLight.h:56
float lodDimmer
Definition BSLight.h:43
BSPortalGraph * portalGraph
Definition BSLight.h:68
~BSLight() override
static constexpr auto VTABLE
Definition BSLight.h:25
BSCullingProcess * cullingProcess
Definition BSLight.h:69
NiPointer< NiAVObject > objectNode
Definition BSLight.h:70
bool pointLight
Definition BSLight.h:47
bool neverFades
Definition BSLight.h:57
Definition BSPortalGraph.h:18
Definition BSTArray.h:378
Definition NiLight.h:10
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition NiRefObject.h:8
backward_iterator< value_type > reverse_iterator
Definition NiTListBase.h:137
Definition NiTListBase.h:7
Definition NiTPointerList.h:10
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))