CommonLibSSE (powerof3)
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 FORMTYPE = FormType::ShaderParticleGeometryData;
22 
23  enum class DataID
24  {
25  kGravityVelocity = 0,
35  kBoxSize,
37 
38  kTotal
39  };
40 
41  enum class ParticleType
42  {
43  kRain = 0,
44  kSnow = 1
45  };
46 
47  struct RecordFlags
48  {
49  enum RecordFlag : std::uint32_t
50  {
51  kDeleted = 1 << 5,
52  kIgnored = 1 << 12
53  };
54  };
55 
57 
58  // override (TESForm)
59  void InitializeData() override; // 04
60  void ClearData() override; // 05
61  bool Load(TESFile* a_mod) override; // 06
62  void InitItemImpl() override; // 13
63 
64  BSTArray<SETTING_VALUE> data; // 20 - DATA - size == DataID::kTotal
66  };
67  static_assert(sizeof(BGSShaderParticleGeometryData) == 0x48);
68 }
Definition: BGSShaderParticleGeometryData.h:18
TESTexture particleTexture
Definition: BGSShaderParticleGeometryData.h:65
BSTArray< SETTING_VALUE > data
Definition: BGSShaderParticleGeometryData.h:64
DataID
Definition: BGSShaderParticleGeometryData.h:24
bool Load(TESFile *a_mod) override
static constexpr auto FORMTYPE
Definition: BGSShaderParticleGeometryData.h:21
static constexpr auto RTTI
Definition: BGSShaderParticleGeometryData.h:20
ParticleType
Definition: BGSShaderParticleGeometryData.h:42
Definition: BSTArray.h:377
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESTexture.h:10
Definition: AbsorbEffect.h:6
@ ShaderParticleGeometryData
constexpr REL::ID RTTI_BGSShaderParticleGeometryData
Definition: Offsets_RTTI.h:1537
Definition: BGSShaderParticleGeometryData.h:48
RecordFlag
Definition: BGSShaderParticleGeometryData.h:50
@ kIgnored
Definition: BGSShaderParticleGeometryData.h:52
@ kDeleted
Definition: BGSShaderParticleGeometryData.h:51
Definition: BGSShaderParticleGeometryData.h:11
std::uint32_t i
Definition: BGSShaderParticleGeometryData.h:13
float f
Definition: BGSShaderParticleGeometryData.h:12