CommonLibSSE (Parapets fork)
BSLightingShaderProperty.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/B/BSTArray.h"
5 
6 namespace RE
7 {
8  class NiColor;
9 
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BSLightingShaderProperty;
14  inline static constexpr auto Ni_RTTI = NiRTTI_BSLightingShaderProperty;
15 
16  struct Data
17  {
18  std::uint64_t unk00; // 00
19  std::uint64_t unk08; // 08
20  };
21  static_assert(sizeof(Data) == 0x10);
22 
23  ~BSLightingShaderProperty() override; // 00
24 
25  // override (BSShaderProperty)
26  const NiRTTI* GetRTTI() const override; // 02
27  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
28  void LoadBinary(NiStream& a_stream) override; // 18
29  void LinkObject(NiStream& a_stream) override; // 19
30  bool RegisterStreamables(NiStream& a_stream) override; // 1A
31  void SaveBinary(NiStream& a_stream) override; // 1B
32  bool IsEqual(NiObject* a_object) override; // 1C - { return false; }
33  void PostLinkObject(NiStream& a_stream) override; // 1E
34  void Unk_27(void) override; // 27
35  void Unk_28(void) override; // 28
36  void Unk_2A(void) override; // 2A
37  void Unk_2B(void) override; // 2B
38  void Unk_2C(void) override; // 2C
39  void Unk_2D(void) override; // 2D
40  void Unk_2F(void) override; // 2F
41  void Unk_30(void) override; // 30
42  void SetAlpha(float a_alpha) override; // 31
43  float GetAlpha() override; // 32
44  void Unk_33(void) override; // 33
45  void Unk_34(void) override; // 34
46  void Unk_35(void) override; // 35 - { return 11; }
47  void Unk_37(void) override; // 37
48  bool AcceptsEffectData() const override; // 39 - { return !(flags & kRefraction) && !(flags & kTempRefraction); }
49  void Unk_3B(void) override; // 3B
50  void Unk_3D(void) override; // 3D
51  void Unk_3E(void) override; // 3E - { return 2; }
52 
53  // members
54  Data unk088[3]; // 088
55  Data unk0B8; // 0B8
56  Data unk0C8; // 0C8
57  Data unk0D8; // 0D8
58  std::uint64_t unk0E8; // 0E8
60  float emissiveMult; // 0F8
61  std::uint32_t unk0FC; // 0FC
62  std::uint64_t unk100; // 100
63  std::uint64_t unk108; // 108
64  std::uint64_t unk110; // 110
65  std::uint64_t unk118; // 118
66  std::uint64_t unk120; // 120
67  std::uint64_t unk128; // 128
68  std::uint64_t unk130; // 130
70  std::uint64_t unk150; // 150
71  std::uint64_t unk158; // 158
72  };
73  static_assert(sizeof(BSLightingShaderProperty) == 0x160);
74 }
Definition: BSLightingShaderProperty.h:11
void Unk_34(void) override
Data unk0D8
Definition: BSLightingShaderProperty.h:57
void Unk_35(void) override
void PostLinkObject(NiStream &a_stream) override
static constexpr auto RTTI
Definition: BSLightingShaderProperty.h:13
void Unk_37(void) override
void Unk_30(void) override
Data unk0C8
Definition: BSLightingShaderProperty.h:56
void Unk_2A(void) override
NiColor * emissiveColor
Definition: BSLightingShaderProperty.h:59
void Unk_2D(void) override
std::uint32_t unk0FC
Definition: BSLightingShaderProperty.h:61
bool AcceptsEffectData() const override
bool RegisterStreamables(NiStream &a_stream) override
void Unk_2F(void) override
static constexpr auto Ni_RTTI
Definition: BSLightingShaderProperty.h:14
void Unk_3B(void) override
Data unk0B8
Definition: BSLightingShaderProperty.h:55
std::uint64_t unk100
Definition: BSLightingShaderProperty.h:62
std::uint64_t unk110
Definition: BSLightingShaderProperty.h:64
const NiRTTI * GetRTTI() const override
void Unk_3D(void) override
void Unk_2B(void) override
void Unk_27(void) override
float emissiveMult
Definition: BSLightingShaderProperty.h:60
void Unk_28(void) override
std::uint64_t unk158
Definition: BSLightingShaderProperty.h:71
std::uint64_t unk108
Definition: BSLightingShaderProperty.h:63
void LoadBinary(NiStream &a_stream) override
void LinkObject(NiStream &a_stream) override
std::uint64_t unk128
Definition: BSLightingShaderProperty.h:67
void Unk_33(void) override
BSTArray< void * > unk138
Definition: BSLightingShaderProperty.h:69
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void SaveBinary(NiStream &a_stream) override
std::uint64_t unk0E8
Definition: BSLightingShaderProperty.h:58
void Unk_2C(void) override
bool IsEqual(NiObject *a_object) override
void SetAlpha(float a_alpha) override
std::uint64_t unk120
Definition: BSLightingShaderProperty.h:66
std::uint64_t unk150
Definition: BSLightingShaderProperty.h:70
std::uint64_t unk130
Definition: BSLightingShaderProperty.h:68
void Unk_3E(void) override
Data unk088[3]
Definition: BSLightingShaderProperty.h:54
std::uint64_t unk118
Definition: BSLightingShaderProperty.h:65
Definition: BSShaderProperty.h:12
Definition: NiColor.h:9
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiStream.h:6
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSLightingShaderProperty
Definition: Offsets_RTTI.h:1902
constexpr REL::ID NiRTTI_BSLightingShaderProperty
Definition: Offsets_NiRTTI.h:59
Definition: BSLightingShaderProperty.h:17
std::uint64_t unk00
Definition: BSLightingShaderProperty.h:18
std::uint64_t unk08
Definition: BSLightingShaderProperty.h:19