CommonLibSSE NG
BGSShaderParticleGeometryData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTArray.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/T/TESForm.h"
6 #include "RE/T/TESTexture.h"
7 
8 namespace RE
9 {
11  {
12  float f;
13  std::uint32_t i;
14  };
15  static_assert(sizeof(SETTING_VALUE) == 0x4);
16 
18  {
19  public:
20  inline static constexpr auto RTTI = RTTI_BGSShaderParticleGeometryData;
21  inline static constexpr auto VTABLE = VTABLE_BGSShaderParticleGeometryData;
22  inline static constexpr auto FORMTYPE = FormType::ShaderParticleGeometryData;
23 
24  enum class DataID
25  {
26  kGravityVelocity = 0,
36  kBoxSize,
38 
39  kTotal
40  };
41 
42  enum class ParticleType
43  {
44  kRain = 0,
45  kSnow = 1
46  };
47 
48  struct RecordFlags
49  {
50  enum RecordFlag : std::uint32_t
51  {
52  kDeleted = 1 << 5,
53  kIgnored = 1 << 12
54  };
55  };
56 
58 
59  // override (TESForm)
60  void InitializeData() override; // 04
61  void ClearData() override; // 05
62  bool Load(TESFile* a_mod) override; // 06
63  void InitItemImpl() override; // 13
64 
65  BSTArray<SETTING_VALUE> data; // 20 - DATA - size == DataID::kTotal
67  };
68  static_assert(sizeof(BGSShaderParticleGeometryData) == 0x48);
69 }
Definition: BGSShaderParticleGeometryData.h:18
static constexpr auto VTABLE
Definition: BGSShaderParticleGeometryData.h:21
TESTexture particleTexture
Definition: BGSShaderParticleGeometryData.h:66
BSTArray< SETTING_VALUE > data
Definition: BGSShaderParticleGeometryData.h:65
DataID
Definition: BGSShaderParticleGeometryData.h:25
bool Load(TESFile *a_mod) override
static constexpr auto FORMTYPE
Definition: BGSShaderParticleGeometryData.h:22
static constexpr auto RTTI
Definition: BGSShaderParticleGeometryData.h:20
ParticleType
Definition: BGSShaderParticleGeometryData.h:43
Definition: BSTArray.h:377
Definition: TESFile.h:17
Definition: TESForm.h:36
Definition: TESTexture.h:10
Definition: AbsorbEffect.h:6
@ ShaderParticleGeometryData
constexpr REL::VariantID RTTI_BGSShaderParticleGeometryData(513982, 392870, 0x1edfb48)
constexpr std::array< REL::VariantID, 1 > VTABLE_BGSShaderParticleGeometryData
Definition: Offsets_VTABLE.h:580
Definition: BGSShaderParticleGeometryData.h:49
RecordFlag
Definition: BGSShaderParticleGeometryData.h:51
@ kIgnored
Definition: BGSShaderParticleGeometryData.h:53
@ kDeleted
Definition: BGSShaderParticleGeometryData.h:52
Definition: BGSShaderParticleGeometryData.h:11
std::uint32_t i
Definition: BGSShaderParticleGeometryData.h:13
float f
Definition: BGSShaderParticleGeometryData.h:12