NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::ef::ParticleManager Class Reference
Inheritance diagram for nw4r::ef::ParticleManager:
[legend]

Description

Definition at line 23 of file ef_particlemanager.h.

Classes

struct  ParticleModifier
 

Public Types

enum  Flag {
  FLAG_MTX_INHERIT_SCALE = (1 << 0) ,
  FLAG_MTX_INHERIT_ROT = (1 << 1)
}
 
- Public Types inherited from nw4r::ef::ReferencedObject
enum  LifeStatus {
  NW4R_EF_LS_CLOSED ,
  NW4R_EF_LS_ACTIVE ,
  NW4R_EF_LS_WAIT ,
  NW4R_EF_LS_CLOSING
}
 

Public Member Functions

virtual void SendClosing ()
 
virtual void DestroyFunc ()
 
virtual bool Initialize (Emitter *pParent, EmitterResource *pResource)
 
virtual ParticleCreateParticle (u16 life, math::VEC3 pos, math::VEC3 vel, const math::MTX34 *pSpace, f32 momentum, const EmitterInheritSetting *pSetting, Particle *pReferencePtcl, u16 calcRemain)
 
virtual void Calc ()
 
virtual void Draw (const DrawInfo &rInfo)
 
bool Closing (Particle *pParticle)
 
int RetireParticle (Particle *pParticle)
 
int RetireParticleAll ()
 
math::MTX34CalcGlobalMtx (math::MTX34 *pResult)
 
void BeginCalc (bool remainOnly)
 
void EndCalc ()
 
void BeginDraw ()
 
void EndDraw ()
 
const math::MTX34Draw_GetMtxPMtoEM () const
 
void Draw_ModifyColor (Particle *pParticle, GXColor *pColorPri, GXColor *pColorSec)
 
f32 Draw_ModifyScaleX (Particle *, f32 sx)
 
f32 Draw_ModifyScaleY (Particle *, f32 sy)
 
void Draw_ModifyRotate (Particle *, math::VEC3 *pRot)
 
void Modifier_SetSimpleLightParameter (const EmitterDrawSetting &rSetting)
 
void Modifier_SetSimpleLightParameter (u8 type, const GXColor &rAmbient, const GXColor &rDiffuse, f32 radius, const math::VEC3 &rPos)
 
ActivityListGetParticleList ()
 
void ParticleToFree (Particle *pParticle)
 
void SetMtxDirty ()
 
- Public Member Functions inherited from nw4r::ef::ReferencedObject
void ChangeLifeStatus (LifeStatus status)
 
LifeStatus GetLifeStatus () const
 
ulong GetRefCount () const
 
bool Initialize ()
 
void Destroy ()
 
ulong Ref ()
 
ulong UnRef ()
 
- Public Member Functions inherited from nw4r::ef::LinkedObject
u16 GetObjectIdx () const
 

Static Public Member Functions

static void ModifierTravFunc_SetSimpleLightType (void *pObject, ForEachParam param)
 
static void ModifierTravFunc_SetSimpleLightAmbient (void *pObject, ForEachParam param)
 
static void ModifierTravFunc_SetScale (void *pObject, ForEachParam param)
 
static void ModifierTravFunc_SetRotate (void *pObject, ForEachParam param)
 

Public Attributes

EmittermManagerEM
 
EmitterResourcemResource
 
ulong mFlag
 
DrawStrategymDrawStrategy
 
ut::Link mDrawOrderLink
 
ActivityList mActivityList
 
ParticlemLastCalced
 
ParticleModifier mModifier
 
s8 mInheritTranslate
 
u8 mWeight
 
math::MTX34 mMtx
 
- Public Attributes inherited from nw4r::ef::ReferencedObject
ut::Link mActivityLink
 
- Public Attributes inherited from nw4r::ef::LinkedObject
ut::Link mMemoryLink
 
ulong mObjectID
 

Static Public Attributes

static math::MTX34 smDrawMtxPMtoEM
 
static math::MTX34 smMtxInv
 
static s32 smMtxInvId
 

Protected Attributes

bool mMtxDirty
 
- Protected Attributes inherited from nw4r::ef::ReferencedObject
LifeStatus mLifeStatus
 
ulong mRefCount
 

Member Enumeration Documentation

◆ Flag

enum nw4r::ef::ParticleManager::Flag

Definition at line 25 of file ef_particlemanager.h.

Member Function Documentation

◆ SendClosing()

virtual void nw4r::ef::ParticleManager::SendClosing ( )
virtual

Reimplemented from nw4r::ef::ReferencedObject.

◆ DestroyFunc()

virtual void nw4r::ef::ParticleManager::DestroyFunc ( )
virtual

Reimplemented from nw4r::ef::ReferencedObject.

◆ Draw_ModifyScaleX()

f32 nw4r::ef::ParticleManager::Draw_ModifyScaleX ( Particle * ,
f32 sx )
inline

Definition at line 109 of file ef_particlemanager.h.

◆ Draw_ModifyScaleY()

f32 nw4r::ef::ParticleManager::Draw_ModifyScaleY ( Particle * ,
f32 sy )
inline

Definition at line 112 of file ef_particlemanager.h.

◆ Draw_ModifyRotate()

void nw4r::ef::ParticleManager::Draw_ModifyRotate ( Particle * ,
math::VEC3 * pRot )
inline

Definition at line 116 of file ef_particlemanager.h.

◆ Modifier_SetSimpleLightParameter() [1/2]

void nw4r::ef::ParticleManager::Modifier_SetSimpleLightParameter ( const EmitterDrawSetting & rSetting)
inline

Definition at line 122 of file ef_particlemanager.h.

◆ Modifier_SetSimpleLightParameter() [2/2]

void nw4r::ef::ParticleManager::Modifier_SetSimpleLightParameter ( u8 type,
const GXColor & rAmbient,
const GXColor & rDiffuse,
f32 radius,
const math::VEC3 & rPos )
inline

Definition at line 129 of file ef_particlemanager.h.

◆ GetParticleList()

ActivityList * nw4r::ef::ParticleManager::GetParticleList ( )
inline

Definition at line 139 of file ef_particlemanager.h.

◆ ParticleToFree()

void nw4r::ef::ParticleManager::ParticleToFree ( Particle * pParticle)
inline

Definition at line 143 of file ef_particlemanager.h.

◆ SetMtxDirty()

void nw4r::ef::ParticleManager::SetMtxDirty ( )
inline

Definition at line 147 of file ef_particlemanager.h.

◆ ModifierTravFunc_SetSimpleLightType()

static void nw4r::ef::ParticleManager::ModifierTravFunc_SetSimpleLightType ( void * pObject,
ForEachParam param )
inlinestatic

Definition at line 151 of file ef_particlemanager.h.

◆ ModifierTravFunc_SetSimpleLightAmbient()

static void nw4r::ef::ParticleManager::ModifierTravFunc_SetSimpleLightAmbient ( void * pObject,
ForEachParam param )
inlinestatic

Definition at line 158 of file ef_particlemanager.h.

◆ ModifierTravFunc_SetScale()

static void nw4r::ef::ParticleManager::ModifierTravFunc_SetScale ( void * pObject,
ForEachParam param )
inlinestatic

Definition at line 165 of file ef_particlemanager.h.

◆ ModifierTravFunc_SetRotate()

static void nw4r::ef::ParticleManager::ModifierTravFunc_SetRotate ( void * pObject,
ForEachParam param )
inlinestatic

Definition at line 170 of file ef_particlemanager.h.

Member Data Documentation

◆ mManagerEM

Emitter* nw4r::ef::ParticleManager::mManagerEM

Definition at line 51 of file ef_particlemanager.h.

◆ mResource

EmitterResource* nw4r::ef::ParticleManager::mResource

Definition at line 52 of file ef_particlemanager.h.

◆ mFlag

ulong nw4r::ef::ParticleManager::mFlag

Definition at line 53 of file ef_particlemanager.h.

◆ mDrawStrategy

DrawStrategy* nw4r::ef::ParticleManager::mDrawStrategy

Definition at line 54 of file ef_particlemanager.h.

◆ mDrawOrderLink

ut::Link nw4r::ef::ParticleManager::mDrawOrderLink

Definition at line 55 of file ef_particlemanager.h.

◆ mActivityList

ActivityList nw4r::ef::ParticleManager::mActivityList

Definition at line 56 of file ef_particlemanager.h.

◆ mLastCalced

Particle* nw4r::ef::ParticleManager::mLastCalced

Definition at line 57 of file ef_particlemanager.h.

◆ mModifier

ParticleModifier nw4r::ef::ParticleManager::mModifier

Definition at line 58 of file ef_particlemanager.h.

◆ mInheritTranslate

s8 nw4r::ef::ParticleManager::mInheritTranslate

Definition at line 59 of file ef_particlemanager.h.

◆ mWeight

u8 nw4r::ef::ParticleManager::mWeight

Definition at line 60 of file ef_particlemanager.h.

◆ mMtxDirty

bool nw4r::ef::ParticleManager::mMtxDirty
protected

Definition at line 63 of file ef_particlemanager.h.

◆ mMtx

math::MTX34 nw4r::ef::ParticleManager::mMtx

Definition at line 66 of file ef_particlemanager.h.

◆ smDrawMtxPMtoEM

math::MTX34 nw4r::ef::ParticleManager::smDrawMtxPMtoEM
static

Definition at line 68 of file ef_particlemanager.h.

◆ smMtxInv

math::MTX34 nw4r::ef::ParticleManager::smMtxInv
static

Definition at line 69 of file ef_particlemanager.h.

◆ smMtxInvId

s32 nw4r::ef::ParticleManager::smMtxInvId
static

Definition at line 70 of file ef_particlemanager.h.