CommonLibSSE NG
Loading...
Searching...
No Matches
BSTerrainEffect.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/B/BSTEvent.h"
5#include "RE/B/BSTempEffect.h"
6#include "RE/N/NiQuaternion.h"
8
9namespace RE
10{
11 class bhkWorld;
12 class NiAVObject;
13 struct PositionPlayerEvent;
14
16 public BSTempEffect, // 00
17 public BSTEventSink<PositionPlayerEvent> // 30
18 {
19 public:
20 inline static constexpr auto RTTI = RTTI_BSTerrainEffect;
21 inline static constexpr auto TYPE = TEMP_EFFECT_TYPE::kTerrain;
22
23 ~BSTerrainEffect() override; // 00
24
25 // override (BSTempEffect)
26 bool Update(float a_arg1) override; // 28
27 [[nodiscard]] bool GetManagerHandlesSaveLoad() const override; // 2A
28 [[nodiscard]] TEMP_EFFECT_TYPE GetType() const override; // 2C - { return 0; }
29 void SaveGame(BGSSaveGameBuffer* a_buf) override; // 2D
30 void LoadGame(BGSLoadGameBuffer* a_buf) override; // 2E
31
32 // add
33 virtual bool SetupTerrainEffect(const char* a_modelName, ObjectRefHandle& a_handle, std::uint32_t a_collisionFilter);
34
35 // override (BSTEventSink<PositionPlayerEvent>)
36 BSEventNotifyControl ProcessEvent(const PositionPlayerEvent* a_event, BSTEventSource<PositionPlayerEvent>* a_eventSource) override; // 01 - { return BSEventNotifyControl::kContinue; }
37
38 // members;
41 std::uint32_t unk54; // 54
48 std::uint32_t collisionFilter; // A8
49 std::uint32_t unkAC; // AC
51 };
52 static_assert(sizeof(BSTerrainEffect) == 0xB8);
53}
Definition BGSLoadGameBuffer.h:6
Definition BSTArray.h:377
Definition BSTEvent.h:143
Definition BSTEvent.h:19
Definition BSTempEffect.h:29
Definition BSTerrainEffect.h:18
virtual bool SetupTerrainEffect(const char *a_modelName, ObjectRefHandle &a_handle, std::uint32_t a_collisionFilter)
static constexpr auto RTTI
Definition BSTerrainEffect.h:20
~BSTerrainEffect() override
NiPoint3 location
Definition BSTerrainEffect.h:40
bool Update(float a_arg1) override
TEMP_EFFECT_TYPE GetType() const override
std::uint32_t collisionFilter
Definition BSTerrainEffect.h:48
std::uint32_t unkAC
Definition BSTerrainEffect.h:49
ObjectRefHandle unk9C
Definition BSTerrainEffect.h:46
NiPoint3 unk90
Definition BSTerrainEffect.h:45
NiPointer< bhkWorld > physicsWorld
Definition BSTerrainEffect.h:47
static constexpr auto TYPE
Definition BSTerrainEffect.h:21
NiPointer< NiAVObject > followNode
Definition BSTerrainEffect.h:50
bool GetManagerHandlesSaveLoad() const override
NiPointer< NiAVObject > effectModel
Definition BSTerrainEffect.h:44
std::uint32_t unk54
Definition BSTerrainEffect.h:41
BSTArray< void * > unk70
Definition BSTerrainEffect.h:43
BSTArray< void * > unk58
Definition BSTerrainEffect.h:42
void SaveGame(BGSSaveGameBuffer *a_buf) override
NiQuaternion orientation
Definition BSTerrainEffect.h:39
BSEventNotifyControl ProcessEvent(const PositionPlayerEvent *a_event, BSTEventSource< PositionPlayerEvent > *a_eventSource) override
void LoadGame(BGSLoadGameBuffer *a_buf) override
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition NiQuaternion.h:6
Definition AbsorbEffect.h:6
TEMP_EFFECT_TYPE
Definition BSTempEffect.h:13
constexpr REL::VariantID RTTI_BSTerrainEffect(686060, 393869, 0x1ef52e8)
BSEventNotifyControl
Definition BSTEvent.h:12
Definition PositionPlayerEvent.h:7