NW4F Eft
Loading...
Searching...
No Matches
nw::eft::EmitterComplexCalc Class Reference

#include <eft_EmitterComplex.h>

Inherits nw::eft::EmitterSimpleCalc.

Public Member Functions

 EmitterComplexCalc (System *sys)
virtual void CalcEmitter (EmitterInstance *e)
virtual u32 CalcParticle (EmitterInstance *e, CpuCore core, bool skipBehavior, bool skipMakeAttribute)
virtual u32 CalcChildParticle (EmitterInstance *e, CpuCore core, bool skipBehavior, bool skipMakeAttribute)
virtual PtclType GetPtclType () const
Public Member Functions inherited from nw::eft::EmitterSimpleCalc
 EmitterSimpleCalc (System *sys)
Public Member Functions inherited from nw::eft::EmitterCalc
 EmitterCalc (System *sys)
virtual ~EmitterCalc ()

Static Public Member Functions

static void EmitChildParticle (EmitterInstance *e, PtclInstance *p)
Static Public Member Functions inherited from nw::eft::EmitterCalc
static void Initialize (Heap *heap)
static void Finalize (Heap *heap)
static void EmitParticle (EmitterInstance *__restrict e)
static void RemoveParticle (EmitterInstance *e, PtclInstance *ptcl, CpuCore core)
static u32 CalcSimpleParticleBehavior (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, CpuCore core)
static u32 CalcComplexParticleBehavior (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, CpuCore core)
static u32 CalcChildParticleBehavior (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, CpuCore core)
static void MakeParticleAttributeBuffer (PtclAttributeBuffer *__restrict attrBuffer, PtclInstance *__restrict ptcl, u32 shaderAttrFlag, f32 cameraOffset)

Static Private Member Functions

static void AddChildPtclToList (EmitterInstance *e, PtclInstance *ptcl)
static void CalcComplex (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, CpuCore core)

Additional Inherited Members

Protected Types inherited from nw::eft::EmitterCalc
typedef PtclInstance *(* EmitFunction) (EmitterInstance *__restrict e)
Protected Member Functions inherited from nw::eft::EmitterSimpleCalc
void ApplyAnim (EmitterInstance *e)
void ApplyTransformAnim (EmitterInstance *e)
void EmitSameDistance (const SimpleEmitterData *__restrict res, EmitterInstance *e)
Static Protected Member Functions inherited from nw::eft::EmitterCalc
static PtclInstance_emitPoint (EmitterInstance *__restrict e)
static PtclInstance_emitCircle (EmitterInstance *__restrict e)
static PtclInstance_emitCircleSameDivide (EmitterInstance *__restrict e)
static PtclInstance_emitFillCircle (EmitterInstance *__restrict e)
static PtclInstance_emitSphere (EmitterInstance *__restrict e)
static PtclInstance_emitSphereSameDivide (EmitterInstance *__restrict e)
static PtclInstance_emitSphereSameDivide64 (EmitterInstance *__restrict e)
static PtclInstance_emitFillSphere (EmitterInstance *__restrict e)
static PtclInstance_emitCylinder (EmitterInstance *__restrict e)
static PtclInstance_emitFillCylinder (EmitterInstance *__restrict e)
static PtclInstance_emitBox (EmitterInstance *__restrict e)
static PtclInstance_emitFillBox (EmitterInstance *__restrict e)
static PtclInstance_emitLine (EmitterInstance *__restrict e)
static PtclInstance_emitLineSameDivide (EmitterInstance *__restrict e)
static PtclInstance_emitRectangle (EmitterInstance *__restrict e)
static const void * _ptclField_Random (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, const void *fieldData)
static const void * _ptclField_Magnet (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, const void *fieldData)
static const void * _ptclField_Spin (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, const void *fieldData)
static const void * _ptclField_Collision (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, const void *fieldData)
static const void * _ptclField_Convergence (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, const void *fieldData)
static const void * _ptclField_PosAdd (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl, const void *fieldData)
static void _calcField (const ComplexEmitterData *__restrict res, EmitterInstance *__restrict e, PtclInstance *__restrict ptcl)
static void InitializeFluctuation_ (Heap *heap)
static void FinalzieFluctuation_ (Heap *heap)
static void CalcFluctuation (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl)
static void EmitCommon (EmitterInstance *__restrict e, PtclInstance *__restrict ptcl)
static void AddParticle (EmitterInstance *emitter, PtclInstance *ptcl)
Static Protected Attributes inherited from nw::eft::EmitterCalc
static SystemmSys = NULL
static EmitFunction mEmitFunctions []
static f32 * sFluctuationTbl = NULL

Constructor & Destructor Documentation

◆ EmitterComplexCalc()

nw::eft::EmitterComplexCalc::EmitterComplexCalc ( System * sys)
inlineexplicit

Member Function Documentation

◆ CalcEmitter()

void nw::eft::EmitterComplexCalc::CalcEmitter ( EmitterInstance * e)
virtual

Reimplemented from nw::eft::EmitterSimpleCalc.

◆ CalcParticle()

u32 nw::eft::EmitterComplexCalc::CalcParticle ( EmitterInstance * e,
CpuCore core,
bool skipBehavior,
bool skipMakeAttribute )
virtual

Reimplemented from nw::eft::EmitterSimpleCalc.

◆ CalcChildParticle()

u32 nw::eft::EmitterComplexCalc::CalcChildParticle ( EmitterInstance * e,
CpuCore core,
bool skipBehavior,
bool skipMakeAttribute )
virtual

Reimplemented from nw::eft::EmitterCalc.

◆ EmitChildParticle()

void nw::eft::EmitterComplexCalc::EmitChildParticle ( EmitterInstance * e,
PtclInstance * p )
static

◆ GetPtclType()

virtual PtclType nw::eft::EmitterComplexCalc::GetPtclType ( ) const
inlinevirtual

Reimplemented from nw::eft::EmitterSimpleCalc.

◆ AddChildPtclToList()

void nw::eft::EmitterComplexCalc::AddChildPtclToList ( EmitterInstance * e,
PtclInstance * ptcl )
inlinestaticprivate

◆ CalcComplex()

void nw::eft::EmitterComplexCalc::CalcComplex ( EmitterInstance *__restrict e,
PtclInstance *__restrict ptcl,
CpuCore core )
staticprivate