CommonLibSSE NG
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"
6 #include "RE/N/NiSmartPointer.h"
7 
8 namespace RE
9 {
10  class BSPortalGraph;
11  class BSTriShape;
12  class NiAVObject;
13  class BSLensFlareRenderData;
14  class NiLight;
15 
16  class BSLight : public NiRefObject
17  {
18  public:
19  inline static constexpr auto RTTI = RTTI_BSLight;
20 
21  struct ShapeData
22  {
23  std::uint64_t unk00; // 00
24  std::uint64_t unk08; // 08
26  };
27  static_assert(sizeof(ShapeData) == 0x18);
28 
29  struct Data
30  {
31  std::uint64_t unk00; // 00
32  std::uint64_t unk08; // 08
33  std::uint32_t unk10; // 10
34  ShapeData* data; // 18
35  };
36  static_assert(sizeof(Data) == 0x20);
37 
38  ~BSLight() override; // 00
39 
40  // add
41  virtual bool Unk_02(NiLight* a_light); // 02
42  virtual bool Unk_03(); // 03
43 
44  // members
45  std::uint32_t unk010; // 010
46  float lodDimmer; // 014
47  Data unk018; // 018
48  std::uint64_t unk038; // 038
49  std::uint32_t unk040; // 040
50  bool pointLight; // 044
51  bool ambientLight; // 045
52  bool unk046; // 046
53  bool portalStrict; // 047
56  std::uint32_t unk05C; // 05C
57  std::uint8_t unk060; // 060
58  bool affectLand; // 061
59  std::uint8_t unk062; // 062
60  bool neverFades; // 063
61  std::uint32_t unk064; // 064
62  std::uint64_t unk068; // 068
63  std::uint8_t unk070[96]; // 070
64  std::uint8_t unk0D0; // 0D0
65  std::uint8_t pad0D1; // 0D1
66  std::uint16_t pad0D2; // 0D2
67  std::uint32_t pad0D4; // 0D4
72  std::uint64_t unk128; // 128
75  };
76  static_assert(sizeof(BSLight) == 0x140);
77 }
Definition: BSLensFlareRenderData.h:11
Definition: BSLight.h:17
std::uint32_t unk040
Definition: BSLight.h:49
NiPointer< NiLight > light
Definition: BSLight.h:54
std::uint32_t pad0D4
Definition: BSLight.h:67
bool ambientLight
Definition: BSLight.h:51
BSTArray< void * > unk108
Definition: BSLight.h:70
std::uint16_t pad0D2
Definition: BSLight.h:66
std::uint64_t unk038
Definition: BSLight.h:48
NiPoint3 worldTranslate
Definition: BSLight.h:55
virtual bool Unk_03()
BSLensFlareRenderData * lensFlareData
Definition: BSLight.h:74
std::uint32_t unk05C
Definition: BSLight.h:56
BSTArray< void * > unk0D8
Definition: BSLight.h:68
std::uint8_t unk070[96]
Definition: BSLight.h:63
std::uint32_t unk064
Definition: BSLight.h:61
bool portalStrict
Definition: BSLight.h:53
std::uint8_t unk060
Definition: BSLight.h:57
static constexpr auto RTTI
Definition: BSLight.h:19
BSTArray< void * > unk0F0
Definition: BSLight.h:69
std::uint64_t unk128
Definition: BSLight.h:72
std::uint8_t pad0D1
Definition: BSLight.h:65
bool affectLand
Definition: BSLight.h:58
std::uint8_t unk062
Definition: BSLight.h:59
std::uint8_t unk0D0
Definition: BSLight.h:64
std::uint64_t unk068
Definition: BSLight.h:62
float lodDimmer
Definition: BSLight.h:46
BSPortalGraph * portalGraph
Definition: BSLight.h:71
Data unk018
Definition: BSLight.h:47
~BSLight() override
virtual bool Unk_02(NiLight *a_light)
std::uint32_t unk010
Definition: BSLight.h:45
NiPointer< NiAVObject > objectNode
Definition: BSLight.h:73
bool pointLight
Definition: BSLight.h:50
bool neverFades
Definition: BSLight.h:60
bool unk046
Definition: BSLight.h:52
Definition: BSPortalGraph.h:13
Definition: NiLight.h:10
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: NiRefObject.h:8
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSLight(692063, 400107, 0x1f807f0)
Definition: BSLight.h:30
std::uint64_t unk08
Definition: BSLight.h:32
ShapeData * data
Definition: BSLight.h:34
std::uint32_t unk10
Definition: BSLight.h:33
std::uint64_t unk00
Definition: BSLight.h:31
Definition: BSLight.h:22
std::uint64_t unk08
Definition: BSLight.h:24
NiPointer< BSTriShape > fenceShape
Definition: BSLight.h:25
std::uint64_t unk00
Definition: BSLight.h:23