CommonLibSSE NG
BSTempEffectSimpleDecal.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/B/BSTempEffect.h"
5 #include "RE/N/NiColor.h"
6 #include "RE/N/NiFrustumPlanes.h"
7 #include "RE/N/NiMatrix3.h"
8 #include "RE/N/NiSmartPointer.h"
9 
10 namespace RE
11 {
12  class BGSDecalNode;
13  class BGSTextureSet;
14  class BSTriShape;
15  class NiAVObject;
16 
18  {
19  public:
20  inline static constexpr auto RTTI = RTTI_BSTempEffectSimpleDecal;
22  inline static constexpr auto TYPE = TEMP_EFFECT_TYPE::kDecal;
23 
24  ~BSTempEffectSimpleDecal() override; // 00
25 
26  // override (BSTempEffect)
27  const NiRTTI* GetRTTI() const override; // 02
28  void Initialize() override; // 25
29  void Attach() override; // 26
30  bool Update(float a_arg1) override; // 28
31  [[nodiscard]] NiAVObject* Get3D() const override; // 29
32 
33  // members
34  std::uint8_t unk30; // 030
35  std::uint8_t unk31; // 031
36  bool unk32; // 032
37  std::uint16_t unk36; // 036
38  std::uint64_t unk38; // 038
39  std::uint32_t unk40; // 040
40  std::uint32_t unk44; // 044
42  std::uint32_t unk50; // 050
43  bool permanent; // 054
44  std::uint8_t unk55; // 055
45  bool unk56; // 056
46  std::uint8_t unk57; // 057
49  NiPoint3 origin1; // 068
51  NiPoint3 origin2; // 080 - copy?
52  NiPoint3 direction2; // 08C - copy?
54  std::uint64_t unk108; // 108
55  std::uint64_t unk110; // 110
56  std::uint64_t unk118; // 118
57  std::uint64_t unk120; // 120
58  std::uint64_t unk128; // 128
59  std::uint64_t unk130; // 130
60  std::uint64_t unk138; // 138
61  std::uint64_t unk140; // 140
62  std::uint64_t unk148; // 148
63  std::uint64_t unk150; // 150
64  BSTArray<void*> unk158; // 158 - triangle data?
67  float unk180; // 180
69  std::uint32_t unk1A8; // 1A8
70  float width; // 1AC
71  float height; // 1B0
72  float depth; // 1B4;
73  std::uint8_t subTextureIndex; // 1B8
74  bool parallaxOcc; // 1B9
75  std::uint8_t unk1BA; // 1BA
76  std::uint8_t unk1BB; // 1BB
77  float parallaxScale; // 1BC
78  std::uint8_t parallaxPasses; // 1C0
79  bool alphaBlending; // 1C1
80  bool enableBlending; // 1C2
81  std::uint8_t unk1C3; // 1C3
82  float shininess; // 1C4
83  NiColor color; // 1C8
84  bool unk1D4; // 1D4
85  bool twoSided; // 1D5
86  bool unk1D6; // 1D6
87  std::uint8_t unk1D7; // 1D7
88  std::uint32_t unk1D8; // 1D8
89  std::uint32_t unk1DC; // 1DC
90  };
91  static_assert(sizeof(BSTempEffectSimpleDecal) == 0x1E0);
92 };
Definition: BGSTextureSet.h:16
Definition: BSTempEffectSimpleDecal.h:18
float depth
Definition: BSTempEffectSimpleDecal.h:72
bool unk56
Definition: BSTempEffectSimpleDecal.h:45
static constexpr auto TYPE
Definition: BSTempEffectSimpleDecal.h:22
NiPoint3 origin1
Definition: BSTempEffectSimpleDecal.h:49
std::uint8_t unk31
Definition: BSTempEffectSimpleDecal.h:35
std::uint8_t unk1D7
Definition: BSTempEffectSimpleDecal.h:87
std::uint32_t unk50
Definition: BSTempEffectSimpleDecal.h:42
std::uint32_t unk1D8
Definition: BSTempEffectSimpleDecal.h:88
NiPointer< BSGeometry > effect3D
Definition: BSTempEffectSimpleDecal.h:41
std::uint64_t unk148
Definition: BSTempEffectSimpleDecal.h:62
NiMatrix3 emitterRotation
Definition: BSTempEffectSimpleDecal.h:68
bool parallaxOcc
Definition: BSTempEffectSimpleDecal.h:74
BGSTextureSet * textureSet2
Definition: BSTempEffectSimpleDecal.h:48
bool twoSided
Definition: BSTempEffectSimpleDecal.h:85
const NiRTTI * GetRTTI() const override
std::uint32_t unk1A8
Definition: BSTempEffectSimpleDecal.h:69
NiPoint3 origin2
Definition: BSTempEffectSimpleDecal.h:51
std::uint64_t unk138
Definition: BSTempEffectSimpleDecal.h:60
float width
Definition: BSTempEffectSimpleDecal.h:70
NiPoint3 direction1
Definition: BSTempEffectSimpleDecal.h:50
std::uint64_t unk130
Definition: BSTempEffectSimpleDecal.h:59
static auto Ni_RTTI
Definition: BSTempEffectSimpleDecal.h:21
bool unk1D4
Definition: BSTempEffectSimpleDecal.h:84
std::uint16_t unk36
Definition: BSTempEffectSimpleDecal.h:37
BGSTextureSet * textureSet
Definition: BSTempEffectSimpleDecal.h:47
bool enableBlending
Definition: BSTempEffectSimpleDecal.h:80
NiPointer< BGSDecalNode > decalNode
Definition: BSTempEffectSimpleDecal.h:65
std::uint8_t unk1BA
Definition: BSTempEffectSimpleDecal.h:75
std::uint8_t unk30
Definition: BSTempEffectSimpleDecal.h:34
NiAVObject * Get3D() const override
float shininess
Definition: BSTempEffectSimpleDecal.h:82
float height
Definition: BSTempEffectSimpleDecal.h:71
std::uint64_t unk108
Definition: BSTempEffectSimpleDecal.h:54
bool Update(float a_arg1) override
bool alphaBlending
Definition: BSTempEffectSimpleDecal.h:79
float parallaxScale
Definition: BSTempEffectSimpleDecal.h:77
std::uint64_t unk110
Definition: BSTempEffectSimpleDecal.h:55
float unk180
Definition: BSTempEffectSimpleDecal.h:67
std::uint32_t unk1DC
Definition: BSTempEffectSimpleDecal.h:89
std::uint8_t unk55
Definition: BSTempEffectSimpleDecal.h:44
std::uint8_t unk57
Definition: BSTempEffectSimpleDecal.h:46
std::uint64_t unk150
Definition: BSTempEffectSimpleDecal.h:63
std::uint8_t unk1BB
Definition: BSTempEffectSimpleDecal.h:76
std::uint64_t unk120
Definition: BSTempEffectSimpleDecal.h:57
std::uint64_t unk38
Definition: BSTempEffectSimpleDecal.h:38
bool unk1D6
Definition: BSTempEffectSimpleDecal.h:86
void Initialize() override
std::uint64_t unk118
Definition: BSTempEffectSimpleDecal.h:56
std::uint32_t unk40
Definition: BSTempEffectSimpleDecal.h:39
NiFrustumPlanes planes
Definition: BSTempEffectSimpleDecal.h:53
static constexpr auto RTTI
Definition: BSTempEffectSimpleDecal.h:20
std::uint8_t unk1C3
Definition: BSTempEffectSimpleDecal.h:81
NiPoint3 direction2
Definition: BSTempEffectSimpleDecal.h:52
bool permanent
Definition: BSTempEffectSimpleDecal.h:43
std::uint64_t unk128
Definition: BSTempEffectSimpleDecal.h:58
std::uint32_t unk44
Definition: BSTempEffectSimpleDecal.h:40
std::uint64_t unk140
Definition: BSTempEffectSimpleDecal.h:61
NiPointer< BSTriShape > avShape
Definition: BSTempEffectSimpleDecal.h:66
bool unk32
Definition: BSTempEffectSimpleDecal.h:36
NiColor color
Definition: BSTempEffectSimpleDecal.h:83
std::uint8_t parallaxPasses
Definition: BSTempEffectSimpleDecal.h:78
BSTArray< void * > unk158
Definition: BSTempEffectSimpleDecal.h:64
std::uint8_t subTextureIndex
Definition: BSTempEffectSimpleDecal.h:73
Definition: BSTempEffect.h:29
Definition: NiAVObject.h:50
Definition: NiColor.h:11
Definition: NiFrustumPlanes.h:8
Definition: NiMatrix3.h:8
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSTempEffectSimpleDecal(686053, 393861, 0x1ef5188)
constexpr REL::VariantID NiRTTI_BSTempEffectSimpleDecal(515938, 402035, 0x2fd2490)