Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JPAParticle.h
Go to the documentation of this file.
1#ifndef JPAPARTICLE_H
2#define JPAPARTICLE_H
3
5#include "JSystem/JGeometry.h"
6
7class JKRHeap;
15
21public:
22 /* 8027EFEC */ void init_p(JPAEmitterWorkData*);
23 /* 8027F8C8 */ void init_c(JPAEmitterWorkData*, JPABaseParticle*);
24 /* 8027FFD0 */ bool calc_p(JPAEmitterWorkData*);
25 /* 80280260 */ bool calc_c(JPAEmitterWorkData*);
26 /* 802804C8 */ bool canCreateChild(JPAEmitterWorkData*);
27 /* 80280548 */ f32 getWidth(JPABaseEmitter const*) const;
28 /* 80280568 */ f32 getHeight(JPABaseEmitter const*) const;
29 int getAge() { return mAge; }
33 u16 getRotateAngle() const { return mRotateAngle; }
42 void getVelVec(JGeometry::TVec3<f32>& vec) const { vec.set(mVelocity); }
45
46public:
55 /* 0x60 */ f32 mParticleScaleX;
56 /* 0x64 */ f32 mParticleScaleY;
57 /* 0x68 */ f32 mScaleOut;
59 /* 0x70 */ f32 mMoment;
60 /* 0x74 */ f32 mDrag;
61 /* 0x78 */ u32 field_0x78;
62 /* 0x7C */ u32 mStatus;
63 /* 0x80 */ s16 mAge;
64 /* 0x82 */ s16 mLifeTime;
65 /* 0x84 */ f32 mTime;
66 /* 0x88 */ u16 mRotateAngle;
67 /* 0x8A */ s16 mRotateSpeed;
68 /* 0x8C */ GXColor mPrmClr;
69 /* 0x90 */ GXColor mEnvClr;
70 /* 0x94 */ u8 mTexAnmIdx;
71 /* 0x95 */ u8 mAnmRandom;
73};
74
80public:
82 virtual ~JPAParticleCallBack() = 0;
85};
86
87// not sure where this belongs
88static inline u32 COLOR_MULTI(u32 a, u32 b) {
89 return ((a * (b + 1)) * 0x10000) >> 24;
90}
91
92#endif /* JPAPARTICLE_H */
static u32 COLOR_MULTI(u32 a, u32 b)
Definition JPAParticle.h:88
Definition JKRHeap.h:16
Definition JPAEmitter.h:94
Definition JPAParticle.h:20
f32 mParticleScaleY
Definition JPAParticle.h:56
u8 mPrmColorAlphaAnm
Definition JPAParticle.h:72
JGeometry::TVec3< f32 > mVelType1
Definition JPAParticle.h:51
void setInvisibleParticleFlag()
Definition JPAParticle.h:40
void getLocalPosition(JGeometry::TVec3< f32 > &vec) const
Definition JPAParticle.h:43
GXColor mEnvClr
Definition JPAParticle.h:69
u32 field_0x78
Definition JPAParticle.h:61
f32 mMoment
Definition JPAParticle.h:59
u8 mTexAnmIdx
Definition JPAParticle.h:70
void initStatus(u32 status)
Definition JPAParticle.h:39
s16 mLifeTime
Definition JPAParticle.h:64
s16 mRotateSpeed
Definition JPAParticle.h:67
JGeometry::TVec3< f32 > mOffsetPosition
Definition JPAParticle.h:49
bool calc_c(JPAEmitterWorkData *)
Definition JPAParticle.cpp:269
JGeometry::TVec3< f32 > mVelType2
Definition JPAParticle.h:53
f32 getWidth(JPABaseEmitter const *) const
Definition JPAParticle.cpp:325
JGeometry::TVec3< f32 > mBaseAxis
Definition JPAParticle.h:54
GXColor mPrmClr
Definition JPAParticle.h:68
void getGlobalPosition(JGeometry::TVec3< f32 > &pos) const
Definition JPAParticle.h:34
JGeometry::TVec3< f32 > mPosition
Definition JPAParticle.h:47
JGeometry::TVec3< f32 > mVelocity
Definition JPAParticle.h:50
f32 mParticleScaleX
Definition JPAParticle.h:55
f32 mScaleOut
Definition JPAParticle.h:57
void getBaseAxis(JGeometry::TVec3< f32 > &vec) const
Definition JPAParticle.h:44
f32 getParticleScaleY() const
Definition JPAParticle.h:36
u32 mStatus
Definition JPAParticle.h:62
f32 getHeight(JPABaseEmitter const *) const
Definition JPAParticle.cpp:332
JGeometry::TVec3< f32 > mLocalPosition
Definition JPAParticle.h:48
u32 checkStatus(u32 flag)
Definition JPAParticle.h:38
int getAge()
Definition JPAParticle.h:29
void setDeleteParticleFlag()
Definition JPAParticle.h:41
bool canCreateChild(JPAEmitterWorkData *)
Definition JPAParticle.cpp:313
s16 mAge
Definition JPAParticle.h:63
u16 mRotateAngle
Definition JPAParticle.h:66
bool calc_p(JPAEmitterWorkData *)
Definition JPAParticle.cpp:221
void setStatus(u32 flag)
Definition JPAParticle.h:37
u16 getRotateAngle() const
Definition JPAParticle.h:33
void init_p(JPAEmitterWorkData *)
Definition JPAParticle.cpp:21
void getOffsetPosition(JGeometry::TVec3< f32 > &pos)
Definition JPAParticle.h:32
void setOffsetPosition(const JGeometry::TVec3< f32 > &pos)
Definition JPAParticle.h:30
void init_c(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAParticle.cpp:136
void setOffsetPosition(f32 x, f32 y, f32 z)
Definition JPAParticle.h:31
u8 mAnmRandom
Definition JPAParticle.h:71
f32 mTime
Definition JPAParticle.h:65
f32 mDrag
Definition JPAParticle.h:60
JGeometry::TVec3< f32 > mVelType0
Definition JPAParticle.h:52
f32 mAlphaWaveRandom
Definition JPAParticle.h:58
f32 getParticleScaleX() const
Definition JPAParticle.h:35
void getVelVec(JGeometry::TVec3< f32 > &vec) const
Definition JPAParticle.h:42
Definition JPAEmitter.h:68
Definition JPAEmitterManager.h:22
Definition JPAParticle.h:79
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition JPAParticle.h:83
JPAParticleCallBack()
Definition JPAParticle.h:81
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition JPAParticle.h:84
virtual ~JPAParticleCallBack()=0
Definition JPAParticle.cpp:14
Definition JPAResourceManager.h:14
static u8 pos[12]
Definition d_a_obj_kago.cpp:839
static volatile BOOL flag
Definition dspproc.cpp:20
double x double x
Definition e_atan2.c:58
double x double y
Definition e_atan2.c:58
z
Definition e_pow.c:390
static s32 status
Definition fstload.c:6
a
Definition k_cos.c:89
void set(const TVec3< f32 > &other)
Definition JGeometry.h:157
Definition JGeometry.h:55
void set(const TVec3 &other)
Definition JGeometry.h:60
Definition JPAEmitter.h:21
Definition d_a_ep.cpp:68
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8