CommonLibSSE (powerof3)
RE::ShaderReferenceEffect Class Reference

#include <ShaderReferenceEffect.h>

Inheritance diagram for RE::ShaderReferenceEffect:
RE::ReferenceEffect RE::BSTempEffect RE::NiObject RE::NiRefObject

Classes

struct  ParticleShader
 
struct  TextureRequest
 

Public Types

enum class  Flag { kNone = 0 , kVisible = 1 << 0 , kInterfaceEffect = 1 << 1 , kAllowTargetRoot = 1 << 7 }
 

Public Member Functions

 ~ShaderReferenceEffect () override
 
const NiRTTIGetRTTI () const override
 
bool Update (float a_arg1) override
 
NiAVObjectGet3D () const override
 
TEMP_EFFECT_TYPE GetType () const override
 
void SaveGame (BGSSaveGameBuffer *a_buf) override
 
void LoadGame (BGSLoadGameBuffer *a_buf) override
 
void FinishLoadGame (BGSLoadGameBuffer *a_buf) override
 
bool IsInterfaceEffect () const override
 
void SetInterfaceEffect (bool a_set) override
 
bool GetStackable () const override
 
bool GetStackableMatch (BSTempEffect *a_effect) const override
 
void Push () override
 
void Pop () override
 
void Init () override
 
void Suspend () override
 
void Resume () override
 
void ClearTarget () override
 
void UpdatePosition () override
 
NiAVObjectGetAttachRoot () override
 
void DetachImpl () override
 
- Public Member Functions inherited from RE::ReferenceEffect
 ~ReferenceEffect () override
 
void Detach () override
 
bool GetManagerHandlesSaveLoad () const override
 
bool GetClearWhenCellIsUnloaded () const override
 
virtual void UpdateParentCell (NiAVObject *a_object)
 
virtual bool GetAttached ()
 
- Public Member Functions inherited from RE::BSTempEffect
 ~BSTempEffect () override
 
NiNodeAsNode () override
 
NiSwitchNode * AsSwitchNode () override
 
BSFadeNodeAsFadeNode () override
 
BSMultiBoundNodeAsMultiBoundNode () override
 
BSGeometryAsGeometry () override
 
NiTriStrips * AsTriStrips () override
 
BSTriShapeAsTriShape () override
 
BSSegmentedTriShape * AsSegmentedTriShape () override
 
BSSubIndexTriShape * AsSubIndexTriShape () override
 
BSDynamicTriShapeAsDynamicTriShape () override
 
NiGeometryAsNiGeometry () override
 
NiTriBasedGeom * AsNiTriBasedGeom () override
 
NiTriShapeAsNiTriShape () override
 
NiParticlesAsParticlesGeom () override
 
BSLines * AsLinesGeom () override
 
bhkNiCollisionObjectAsBhkNiCollisionObject () override
 
bhkBlendCollisionObject * AsBhkBlendCollisionObject () override
 
bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject () override
 
bhkRigidBodyAsBhkRigidBody () override
 
bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint () override
 
virtual void Initialize ()
 
virtual void Attach ()
 
template<class T , class = std::enable_if_t< std::negation_v< std::disjunction< std::is_pointer<T>, std::is_reference<T>, std::is_const<T>, std::is_volatile<T>>>>>
T * As () noexcept
 
template<class T , class = std::enable_if_t< std::negation_v< std::disjunction< std::is_pointer<T>, std::is_reference<T>, std::is_const<T>, std::is_volatile<T>>>>>
const T * As () const noexcept
 
- Public Member Functions inherited from RE::NiObject
 ~NiObject () override=default
 
virtual NiObjectCreateClone ([[maybe_unused]] NiCloningProcess &a_cloning)
 
virtual void LoadBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void LinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual bool RegisterStreamables (NiStream &a_stream)
 
virtual void SaveBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual bool IsEqual (NiObject *a_object)
 
virtual void ProcessClone (NiCloningProcess &a_cloning)
 
virtual void PostLinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual bool StreamCanSkip ()
 
virtual const NiRTTIGetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroupGetGroup () const
 
virtual void SetGroup ([[maybe_unused]] NiObjectGroup *a_group)
 
virtual NiControllerManagerAsNiControllerManager ()
 
void CreateDeepCopy (NiPointer< NiObject > &a_object)
 
- Public Member Functions inherited from RE::NiRefObject
 NiRefObject ()
 
virtual ~NiRefObject ()
 
virtual void DeleteThis ()
 
void IncRefCount ()
 
void DecRefCount ()
 
constexpr std::uint32_t GetRefCount () const noexcept
 
 TES_HEAP_REDEFINE_NEW ()
 

Public Attributes

BSTArray< TextureRequesttextureRequests
 
BSTArray< NiPointer< NiAVObject > > addonObjects
 
BSTArray< ModelDBHandlemodelHandles
 
BSTArray< ParticleShaderparticleShaders
 
BSTArray< void * > unk0A8
 
BSSoundHandle soundHandle
 
std::uint32_t pad0CC
 
NiPointer< NiSourceTextureparticleShaderTexture
 
NiPointer< NiSourceTextureparticlePaletteTexture
 
NiPointer< NiSourceTexturefillTexture
 
NiPointer< NiSourceTextureholesTexture
 
NiPointer< NiSourceTexturepaletteTexture
 
NiPointer< NiAVObjectlastRootNode
 
TESBoundObjectwornObject
 
TESEffectShadereffectData
 
BSEffectShaderDataeffectShaderData
 
NiPointer< NiAVObjecttargetRoot
 
float alphaTimer
 
float addonAlpha
 
float addonScale
 
float effectShaderAge
 
REX::EnumSet< Flag, std::uint32_t > flags
 
std::uint32_t pushCount
 
- Public Attributes inherited from RE::ReferenceEffect
ReferenceEffectControllercontroller
 
ObjectRefHandle target
 
ObjectRefHandle aimAtTarget
 
bool finished
 
bool ownController
 
std::uint16_t pad42
 
std::uint32_t pad44
 
- Public Attributes inherited from RE::BSTempEffect
float lifetime
 
std::uint32_t pad14
 
TESObjectCELLcell
 
float age
 
bool initialized
 
std::uint8_t pad25
 
std::uint16_t pad26
 
std::uint32_t effectID
 
std::uint32_t pad2C
 
- Public Attributes inherited from RE::NiRefObject
volatile std::uint32_t _refCount { 0 }
 
std::uint32_t _pad0C { 0 }
 

Static Public Attributes

static constexpr auto RTTI = RTTI_ShaderReferenceEffect
 
static constexpr auto Ni_RTTI = NiRTTI_ShaderReferenceEffect
 
static constexpr auto VTABLE = VTABLE_ShaderReferenceEffect
 
static constexpr auto TYPE = TEMP_EFFECT_TYPE::kRefShader
 
- Static Public Attributes inherited from RE::ReferenceEffect
static constexpr auto RTTI = RTTI_ReferenceEffect
 
static constexpr auto Ni_RTTI = NiRTTI_ReferenceEffect
 
static constexpr auto VTABLE = VTABLE_ReferenceEffect
 
static constexpr auto TYPE = TEMP_EFFECT_TYPE::kRefDefault
 
- Static Public Attributes inherited from RE::BSTempEffect
static constexpr auto RTTI = RTTI_BSTempEffect
 
static constexpr auto Ni_RTTI = NiRTTI_BSTempEffect
 
static constexpr auto VTABLE = VTABLE_BSTempEffect
 
static constexpr auto TYPE = TEMP_EFFECT_TYPE::kDefault
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static constexpr auto Ni_RTTI = NiRTTI_NiObject
 
static constexpr auto VTABLE = VTABLE_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 
static constexpr auto VTABLE = VTABLE_NiRefObject
 

Additional Inherited Members

- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 

Member Enumeration Documentation

◆ Flag

Enumerator
kNone 
kVisible 
kInterfaceEffect 
kAllowTargetRoot 

Constructor & Destructor Documentation

◆ ~ShaderReferenceEffect()

RE::ShaderReferenceEffect::~ShaderReferenceEffect ( )
override

Member Function Documentation

◆ ClearTarget()

void RE::ShaderReferenceEffect::ClearTarget ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ DetachImpl()

void RE::ShaderReferenceEffect::DetachImpl ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ FinishLoadGame()

void RE::ShaderReferenceEffect::FinishLoadGame ( BGSLoadGameBuffer a_buf)
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ Get3D()

NiAVObject* RE::ShaderReferenceEffect::Get3D ( ) const
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ GetAttachRoot()

NiAVObject* RE::ShaderReferenceEffect::GetAttachRoot ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ GetRTTI()

const NiRTTI* RE::ShaderReferenceEffect::GetRTTI ( ) const
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ GetStackable()

bool RE::ShaderReferenceEffect::GetStackable ( ) const
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ GetStackableMatch()

bool RE::ShaderReferenceEffect::GetStackableMatch ( BSTempEffect a_effect) const
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ GetType()

TEMP_EFFECT_TYPE RE::ShaderReferenceEffect::GetType ( ) const
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ Init()

void RE::ShaderReferenceEffect::Init ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ IsInterfaceEffect()

bool RE::ShaderReferenceEffect::IsInterfaceEffect ( ) const
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ LoadGame()

void RE::ShaderReferenceEffect::LoadGame ( BGSLoadGameBuffer a_buf)
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ Pop()

void RE::ShaderReferenceEffect::Pop ( )
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ Push()

void RE::ShaderReferenceEffect::Push ( )
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ Resume()

void RE::ShaderReferenceEffect::Resume ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ SaveGame()

void RE::ShaderReferenceEffect::SaveGame ( BGSSaveGameBuffer a_buf)
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ SetInterfaceEffect()

void RE::ShaderReferenceEffect::SetInterfaceEffect ( bool  a_set)
overridevirtual

Reimplemented from RE::BSTempEffect.

◆ Suspend()

void RE::ShaderReferenceEffect::Suspend ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ Update()

bool RE::ShaderReferenceEffect::Update ( float  a_arg1)
overridevirtual

Reimplemented from RE::ReferenceEffect.

◆ UpdatePosition()

void RE::ShaderReferenceEffect::UpdatePosition ( )
overridevirtual

Reimplemented from RE::ReferenceEffect.

Member Data Documentation

◆ addonAlpha

float RE::ShaderReferenceEffect::addonAlpha

◆ addonObjects

BSTArray<NiPointer<NiAVObject> > RE::ShaderReferenceEffect::addonObjects

◆ addonScale

float RE::ShaderReferenceEffect::addonScale

◆ alphaTimer

float RE::ShaderReferenceEffect::alphaTimer

◆ effectData

TESEffectShader* RE::ShaderReferenceEffect::effectData

◆ effectShaderAge

float RE::ShaderReferenceEffect::effectShaderAge

◆ effectShaderData

BSEffectShaderData* RE::ShaderReferenceEffect::effectShaderData

◆ fillTexture

NiPointer<NiSourceTexture> RE::ShaderReferenceEffect::fillTexture

◆ flags

REX::EnumSet<Flag, std::uint32_t> RE::ShaderReferenceEffect::flags

◆ holesTexture

NiPointer<NiSourceTexture> RE::ShaderReferenceEffect::holesTexture

◆ lastRootNode

NiPointer<NiAVObject> RE::ShaderReferenceEffect::lastRootNode

◆ modelHandles

BSTArray<ModelDBHandle> RE::ShaderReferenceEffect::modelHandles

◆ Ni_RTTI

constexpr auto RE::ShaderReferenceEffect::Ni_RTTI = NiRTTI_ShaderReferenceEffect
inlinestaticconstexpr

◆ pad0CC

std::uint32_t RE::ShaderReferenceEffect::pad0CC

◆ paletteTexture

NiPointer<NiSourceTexture> RE::ShaderReferenceEffect::paletteTexture

◆ particlePaletteTexture

NiPointer<NiSourceTexture> RE::ShaderReferenceEffect::particlePaletteTexture

◆ particleShaders

BSTArray<ParticleShader> RE::ShaderReferenceEffect::particleShaders

◆ particleShaderTexture

NiPointer<NiSourceTexture> RE::ShaderReferenceEffect::particleShaderTexture

◆ pushCount

std::uint32_t RE::ShaderReferenceEffect::pushCount

◆ RTTI

constexpr auto RE::ShaderReferenceEffect::RTTI = RTTI_ShaderReferenceEffect
inlinestaticconstexpr

◆ soundHandle

BSSoundHandle RE::ShaderReferenceEffect::soundHandle

◆ targetRoot

NiPointer<NiAVObject> RE::ShaderReferenceEffect::targetRoot

◆ textureRequests

BSTArray<TextureRequest> RE::ShaderReferenceEffect::textureRequests

◆ TYPE

constexpr auto RE::ShaderReferenceEffect::TYPE = TEMP_EFFECT_TYPE::kRefShader
inlinestaticconstexpr

◆ unk0A8

BSTArray<void*> RE::ShaderReferenceEffect::unk0A8

◆ VTABLE

constexpr auto RE::ShaderReferenceEffect::VTABLE = VTABLE_ShaderReferenceEffect
inlinestaticconstexpr

◆ wornObject

TESBoundObject* RE::ShaderReferenceEffect::wornObject

The documentation for this class was generated from the following file: