CommonLibVR
NiPSysGravityModifier.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiPSysModifier.h"
4 #include "RE/N/NiPoint3.h"
5 
6 namespace RE
7 {
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_NiPSysGravityModifier;
12  inline static constexpr auto Ni_RTTI = NiRTTI_NiPSysGravityModifier;
13  inline static constexpr auto VTABLE = VTABLE_NiPSysGravityModifier;
14 
15  enum class ForceType
16  {
17  kPlanar = 0,
19  };
20 
21  ~NiPSysGravityModifier() override; // 00
22 
23  // override (NiPSysModifier)
24  const NiRTTI* GetRTTI() const override; // 02
25  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
26  void LoadBinary(NiStream& a_stream) override; // 18
27  void LinkObject(NiStream& a_stream) override; // 19
28  bool RegisterStreamables(NiStream& a_stream) override; // 1A
29  void SaveBinary(NiStream& a_stream) override; // 1B
30  bool IsEqual(NiObject* a_object) override; // 1C - { return false; }
31  void ProcessClone(NiCloningProcess& a_cloning) override; // 1D
32  bool Update(float a_time, NiPSysData* a_particleData, NiPoint3* a_position, NiPoint3* a_radii, NiColorA* a_rotation) override; // 25
33 
34  // members
37  float decay; // 44
38  float strength; // 48
40  float turbulence; // 50
41  float scale; // 54
42  bool worldAligned; // 58
43  std::uint8_t pad59; // 59
44  std::uint16_t pad5A; // 5A
45  std::uint32_t pad5C; // 5C
46  private:
47  KEEP_FOR_RE()
48  };
49  static_assert(sizeof(NiPSysGravityModifier) == 0x60);
50 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: NiAVObject.h:57
Definition: NiCloningProcess.h:10
Definition: NiColor.h:283
Definition: NiObject.h:37
Definition: NiPSysData.h:24
Definition: NiPSysGravityModifier.h:9
bool Update(float a_time, NiPSysData *a_particleData, NiPoint3 *a_position, NiPoint3 *a_radii, NiColorA *a_rotation) override
bool IsEqual(NiObject *a_object) override
void LinkObject(NiStream &a_stream) override
NiAVObject * gravityObj
Definition: NiPSysGravityModifier.h:35
void ProcessClone(NiCloningProcess &a_cloning) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
~NiPSysGravityModifier() override
float scale
Definition: NiPSysGravityModifier.h:41
std::uint32_t pad5C
Definition: NiPSysGravityModifier.h:45
float turbulence
Definition: NiPSysGravityModifier.h:40
float strength
Definition: NiPSysGravityModifier.h:38
bool worldAligned
Definition: NiPSysGravityModifier.h:42
void LoadBinary(NiStream &a_stream) override
std::uint16_t pad5A
Definition: NiPSysGravityModifier.h:44
std::uint8_t pad59
Definition: NiPSysGravityModifier.h:43
static constexpr auto RTTI
Definition: NiPSysGravityModifier.h:11
static constexpr auto VTABLE
Definition: NiPSysGravityModifier.h:13
NiPoint3 gravityAxis
Definition: NiPSysGravityModifier.h:36
ForceType
Definition: NiPSysGravityModifier.h:16
bool RegisterStreamables(NiStream &a_stream) override
float decay
Definition: NiPSysGravityModifier.h:37
const NiRTTI * GetRTTI() const override
void SaveBinary(NiStream &a_stream) override
stl::enumeration< ForceType, std::uint32_t > forceType
Definition: NiPSysGravityModifier.h:39
static constexpr auto Ni_RTTI
Definition: NiPSysGravityModifier.h:12
Definition: NiPSysModifier.h:14
Definition: NiPoint3.h:6
Definition: NiRTTI.h:6
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr REL::ID NiRTTI_NiPSysGravityModifier(static_cast< std::uint64_t >(524467))
constexpr REL::ID RTTI_NiPSysGravityModifier(static_cast< std::uint64_t >(690585))
constexpr std::array< REL::ID, 1 > VTABLE_NiPSysGravityModifier
Definition: Offsets_VTABLE.h:12271