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