sead
Loading...
Searching...
No Matches
sead::ptcl::PtclSystem Class Reference

#include <seadPtclSystem.h>

Inherits nw::eft::System.

Public Member Functions

 PtclSystem (const Config &config)
const TickTimegetCreationTime () const
::sead::HeapgetHeap () const
HeapgetEftHeap ()
const HeapgetEftHeap () const
::sead::HeapgetViewerSysHeap () const
HeapgetViewerSysEftHeap ()
const HeapgetViewerSysEftHeap () const
nw::eftvw::ViewerSystemgetViewerSys () const
PtclEditorInterfacegetEditorInterface ()
const PtclEditorInterfacegetEditorInterface () const
void entryResource (::sead::Heap *heap, void *resource, s32 resId)
void clearResource (s32 resId)
::sead::HeapgetResourceHeap (s32 resId) const
bool createEmitterSetID (nw::eft::Handle *handle, const Vector3f &pos, s32 emitterSetID, s32 resourceID=0, s32 groupID=0, u32 emitterMask=0xffffffff)
bool createEmitterSetID (nw::eft::Handle *handle, const Matrix34f &mtx, s32 emitterSetID, s32 resourceID=0, s32 groupID=0, u32 emitterMask=0xffffffff)
void calcEmitter (s32 groupID, f32 frameRate=1.0f)
void beginFrame ()
Public Member Functions inherited from nw::eft::System
 System (const Config &config)
virtual ~System ()
void EntryResource (Heap *heap, void *resource, s32 resId)
void ClearResource (Heap *heap, s32 resId)
ResourceGetResource (u32 resId)
bool CreateEmitterSetID (Handle *handle, const nw::math::VEC3 &pos, s32 emitterSetID, s32 resourceID=0, u8 groupID=0, u32 emitterMask=0xffffffff)
bool CreateEmitterSetID (Handle *handle, const nw::math::MTX34 &mtx, s32 emitterSetID, s32 resourceID=0, u8 groupID=0, u32 emitterMask=0xffffffff)
void KillAllEmitter ()
void KillEmitterGroup (u8 groupID)
void KillEmitterSet (EmitterSet *emitterSet)
void KillEmitterSet (const char *emitterSetName, s32 resId)
void KillEmitter (EmitterInstance *emitter)
void KillParticle (EmitterInstance *emitter, PtclInstance *ptcl)
void KillChildParticle (EmitterInstance *emitter, PtclInstance *ptcl)
s32 SearchEmitterSetID (const char *emitterSetName, s32 resId=0) const
const char * SearchEmitterSetName (s32 emitterSetId, s32 resId=0) const
void BeginFrame ()
void SwapDoubleBuffer ()
void CalcEmitter (u8 groupID, f32 frameRate=1.0f)
void CalcParticle (EmitterInstance *emitter, CpuCore core)
void CalcChildParticle (EmitterInstance *emitter, CpuCore core)
void CalcParticle (bool cacheFlush=true)
void Calc (bool cacheFlush=true)
void RemovePtcl ()
void FlushCache ()
void FlushGpuCache ()
void BeginRender (const nw::math::MTX44 &proj, const nw::math::MTX34 &view, const nw::math::VEC3 &camPos, f32 nearClip, f32 farClip)
void RenderEmitter (EmitterInstance *emitter, bool cacheFlush=true, void *userParam=NULL)
void EndRender ()
RendererGetRenderer ()
RendererGetRenderer (nw::eft::CpuCore core)
void SetUserDataEmitterPreCalcCallback (UserDataCallBackID id, UserDataEmitterPreCalcCallback callback)
void SetUserDataEmitterPostCalcCallback (UserDataCallBackID id, UserDataEmitterPostCalcCallback callback)
void SetUserDataParticleEmitCallback (UserDataCallBackID id, UserDataParticleEmitCallback callback)
void SetUserDataParticleRemoveCallback (UserDataCallBackID id, UserDataParticleRemoveCallback callback)
void SetUserDataParticleCalcCallback (UserDataCallBackID id, UserDataParticleCalcCallback callback)
void SetUserDataParticleMakeAttributeCallback (UserDataCallBackID id, UserDataParticleMakeAttributeCallback callback)
void SetUserDataEmitterDrawOverrideCallback (UserDataCallBackID id, UserDataEmitterDrawOverrideCallback callback)
UserDataEmitterPreCalcCallback GetCurrentUserDataEmitterPreCalcCallback (const EmitterInstance *emitter)
UserDataEmitterPostCalcCallback GetCurrentUserDataEmitterPostCalcCallback (const EmitterInstance *emitter)
UserDataParticleEmitCallback GetCurrentUserDataParticleEmitCallback (const EmitterInstance *emitter)
UserDataParticleRemoveCallback GetCurrentUserDataParticleRemoveCallback (const EmitterInstance *emitter)
UserDataParticleCalcCallback GetCurrentUserDataParticleCalcCallback (const EmitterInstance *emitter)
UserDataParticleMakeAttributeCallback GetCurrentUserDataParticleMakeAttributeCallback (const EmitterInstance *emitter)
UserDataEmitterDrawOverrideCallback GetCurrentUserDataEmitterDrawOverrideCallback (const EmitterInstance *emitter)
bool SetCurrentUserDataCallback (UserDataCallBackID id)
UserShaderEmitterPostCalcCallback GetUserShaderEmitterPostCalcCallback (UserShaderCallBackID id)
UserShaderDrawOverrideCallback GetUserShaderDrawOverrideCallback (UserShaderCallBackID id)
UserShaderRenderStateSetCallback GetUserShaderRenderStateSetCallback (UserShaderCallBackID id)
void SetUserShaderEmitterPostCalcCallback (UserShaderCallBackID id, UserShaderEmitterPostCalcCallback callback)
void SetUserShaderDrawOverrideCallback (UserShaderCallBackID id, UserShaderDrawOverrideCallback callback)
void SetUserShaderRenderStateSetCallback (UserShaderCallBackID id, UserShaderRenderStateSetCallback callback)
bool IsValidStripe (u8 groupID) const
bool HasEnableEmitter (u8 groupID)
s32 GetNumResource () const
s32 GetNumFreeEmitter () const
s32 GetNumEmitterCalc () const
s32 GetNumPtclCalc () const
s32 GetNumEmitterSetCalc () const
s32 GetNumStripeCalc () const
s32 GetNumEmittedPtcl () const
u32 GetUsedDoubleBufferSize (CpuCore core=EFT_CPU_CORE_1) const
u32 GetDoubleBufferSize (CpuCore core=EFT_CPU_CORE_1) const
const EmitterInstanceGetEmitterHead (u8 groupID) const
EmitterInstanceGetEmitterHead (u8 groupID)
u32 GetNumEmitter (u8 groupID)
const EmitterInstanceGetEmitter (u8 groupID, u32 idx) const
EmitterInstanceGetEmitter (u8 groupID, u32 idx)
const EmitterSetGetEmitterSetHead (u8 groupID) const
EmitterSetGetEmitterSetHead (u8 groupID)
const PtclStripeGetStripeHead (u8 groupID) const
bool IsHasRenderingEmitter (u8 groupID, u32 drawPath) const
u64 GetEnableGroupID () const
const PtclInstanceGetPtclBuf () const
u32 GetPtclBufSize () const
const EmitterInstanceGetEmitterBuf () const
const PtclStripeGetStripeBuf () const
void AddPtclRemoveList (PtclInstance *ptcl, CpuCore core)
void EmitChildParticle ()
void AddPtclAdditionList (PtclInstance *ptcl, CpuCore core)
PtclStripeAllocAndConnectStripe (EmitterInstance *e, PtclInstance *ptcl)
PtclInstanceAllocPtcl (PtclType type)
void UpdateEmitterResInfo ()
void UpdateEmitterSetResInfo ()
void RemoveStripe (PtclStripe *stripe)
EmitterSetRemoveEmitterSetFromDrawList (EmitterSet *set)
void ReCreateEmitter (void **resList, s32 numResList, s32 resId, s32 setId, bool killOnly)
void ReCreateEmitter (EmitterSet *set, s32 resId, s32 setId, u8 groupID)

Private Attributes

TickTime mTime
Heap mHeap
Heap mViewerSysHeap
Heap _a40
u8 _a48 [4]
::sead::Heap ** mSeadHeapArray
nw::eftvw::ViewerSystemmpViewerSys
PtclEditorInterface mEditorInterface
u8 _18ac [4]

Additional Inherited Members

Static Public Member Functions inherited from nw::eft::System
static CpuCore GetCurrentCore ()
Protected Member Functions inherited from nw::eft::System
virtual void Initialize (Heap *heap, const Config &config)

Constructor & Destructor Documentation

◆ PtclSystem()

sead::ptcl::PtclSystem::PtclSystem ( const Config & config)
inline

Member Function Documentation

◆ getCreationTime()

const TickTime & sead::ptcl::PtclSystem::getCreationTime ( ) const
inline

◆ getHeap()

::sead::Heap * sead::ptcl::PtclSystem::getHeap ( ) const
inline

◆ getEftHeap() [1/2]

Heap & sead::ptcl::PtclSystem::getEftHeap ( )
inline

◆ getEftHeap() [2/2]

const Heap & sead::ptcl::PtclSystem::getEftHeap ( ) const
inline

◆ getViewerSysHeap()

::sead::Heap * sead::ptcl::PtclSystem::getViewerSysHeap ( ) const
inline

◆ getViewerSysEftHeap() [1/2]

Heap & sead::ptcl::PtclSystem::getViewerSysEftHeap ( )
inline

◆ getViewerSysEftHeap() [2/2]

const Heap & sead::ptcl::PtclSystem::getViewerSysEftHeap ( ) const
inline

◆ getViewerSys()

nw::eftvw::ViewerSystem * sead::ptcl::PtclSystem::getViewerSys ( ) const
inline

◆ getEditorInterface() [1/2]

PtclEditorInterface & sead::ptcl::PtclSystem::getEditorInterface ( )
inline

◆ getEditorInterface() [2/2]

const PtclEditorInterface & sead::ptcl::PtclSystem::getEditorInterface ( ) const
inline

◆ entryResource()

void sead::ptcl::PtclSystem::entryResource ( ::sead::Heap * heap,
void * resource,
s32 resId )
inline

◆ clearResource()

void sead::ptcl::PtclSystem::clearResource ( s32 resId)
inline

◆ getResourceHeap()

::sead::Heap * sead::ptcl::PtclSystem::getResourceHeap ( s32 resId) const
inline

◆ createEmitterSetID() [1/2]

bool sead::ptcl::PtclSystem::createEmitterSetID ( nw::eft::Handle * handle,
const Vector3f & pos,
s32 emitterSetID,
s32 resourceID = 0,
s32 groupID = 0,
u32 emitterMask = 0xffffffff )
inline

◆ createEmitterSetID() [2/2]

bool sead::ptcl::PtclSystem::createEmitterSetID ( nw::eft::Handle * handle,
const Matrix34f & mtx,
s32 emitterSetID,
s32 resourceID = 0,
s32 groupID = 0,
u32 emitterMask = 0xffffffff )
inline

◆ calcEmitter()

void sead::ptcl::PtclSystem::calcEmitter ( s32 groupID,
f32 frameRate = 1.0f )
inline

◆ beginFrame()

void sead::ptcl::PtclSystem::beginFrame ( )
inline

Member Data Documentation

◆ mTime

TickTime sead::ptcl::PtclSystem::mTime
private

◆ mHeap

Heap sead::ptcl::PtclSystem::mHeap
private

◆ mViewerSysHeap

Heap sead::ptcl::PtclSystem::mViewerSysHeap
private

◆ _a40

Heap sead::ptcl::PtclSystem::_a40
private

◆ _a48

u8 sead::ptcl::PtclSystem::_a48[4]
private

◆ mSeadHeapArray

::sead::Heap** sead::ptcl::PtclSystem::mSeadHeapArray
private

◆ mpViewerSys

nw::eftvw::ViewerSystem* sead::ptcl::PtclSystem::mpViewerSys
private

◆ mEditorInterface

PtclEditorInterface sead::ptcl::PtclSystem::mEditorInterface
private

◆ _18ac

u8 sead::ptcl::PtclSystem::_18ac[4]
private