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
4#include <dolphin/gx.h>
5#include "JSystem/JGeometry.h"
6
7class JKRHeap;
15
21public:
28 f32 getWidth(JPABaseEmitter const*) const;
29 f32 getHeight(JPABaseEmitter const*) const;
30 int getAge() const { return mAge; }
35 u16 getRotateAngle() const { return mRotateAngle; }
45 void getVelVec(JGeometry::TVec3<f32>& vec) const { vec.set(mVelocity); }
49 void getBaseAxis(JGeometry::TVec3<f32>* vec) const { vec->set(mBaseAxis); }
50
51public:
60 /* 0x60 */ f32 mParticleScaleX;
61 /* 0x64 */ f32 mParticleScaleY;
62 /* 0x68 */ f32 mScaleOut;
64 /* 0x70 */ f32 mMoment;
65 /* 0x74 */ f32 mDrag;
66 /* 0x78 */ u32 field_0x78;
67 /* 0x7C */ u32 mStatus;
68 /* 0x80 */ s16 mAge;
69 /* 0x82 */ s16 mLifeTime;
70 /* 0x84 */ f32 mTime;
71 /* 0x88 */ u16 mRotateAngle;
72 /* 0x8A */ s16 mRotateSpeed;
73 /* 0x8C */ GXColor mPrmClr;
74 /* 0x90 */ GXColor mEnvClr;
75 /* 0x94 */ u8 mTexAnmIdx;
76 /* 0x95 */ u8 mAnmRandom;
78};
79
85public:
86 virtual ~JPAParticleCallBack() = 0;
89};
90
91// not sure where this belongs
92static inline u32 COLOR_MULTI(u32 a, u32 b) {
93 return ((a * (b + 1)) * 0x10000) >> 24;
94}
95
96#endif /* JPAPARTICLE_H */
static BOOL flag
Definition DEMOAVX.c:20
static u32 COLOR_MULTI(u32 a, u32 b)
Definition JPAParticle.h:92
Definition JKRHeap.h:20
Definition JPAEmitter.h:101
Definition JPAParticle.h:20
f32 mParticleScaleY
Definition JPAParticle.h:61
void getLocalPosition(JGeometry::TVec3< f32 > *vec) const
Definition JPAParticle.h:47
u8 mPrmColorAlphaAnm
Definition JPAParticle.h:77
JGeometry::TVec3< f32 > mVelType1
Definition JPAParticle.h:56
void setInvisibleParticleFlag()
Definition JPAParticle.h:43
void getLocalPosition(JGeometry::TVec3< f32 > &vec) const
Definition JPAParticle.h:46
GXColor mEnvClr
Definition JPAParticle.h:74
u32 field_0x78
Definition JPAParticle.h:66
f32 mMoment
Definition JPAParticle.h:64
u8 mTexAnmIdx
Definition JPAParticle.h:75
void getOffsetPosition(JGeometry::TVec3< f32 > *pos) const
Definition JPAParticle.h:34
void initStatus(u32 status)
Definition JPAParticle.h:42
s16 mLifeTime
Definition JPAParticle.h:69
s16 mRotateSpeed
Definition JPAParticle.h:72
JGeometry::TVec3< f32 > mOffsetPosition
Definition JPAParticle.h:54
bool calc_c(JPAEmitterWorkData *)
Definition JPAParticle.cpp:253
JGeometry::TVec3< f32 > mVelType2
Definition JPAParticle.h:58
f32 getWidth(JPABaseEmitter const *) const
Definition JPAParticle.cpp:305
JGeometry::TVec3< f32 > mBaseAxis
Definition JPAParticle.h:59
void getBaseAxis(JGeometry::TVec3< f32 > *vec) const
Definition JPAParticle.h:49
GXColor mPrmClr
Definition JPAParticle.h:73
void getGlobalPosition(JGeometry::TVec3< f32 > &pos) const
Definition JPAParticle.h:36
JGeometry::TVec3< f32 > mPosition
Definition JPAParticle.h:52
JGeometry::TVec3< f32 > mVelocity
Definition JPAParticle.h:55
f32 mParticleScaleX
Definition JPAParticle.h:60
f32 mScaleOut
Definition JPAParticle.h:62
void getBaseAxis(JGeometry::TVec3< f32 > &vec) const
Definition JPAParticle.h:48
f32 getParticleScaleY() const
Definition JPAParticle.h:39
u32 mStatus
Definition JPAParticle.h:67
f32 getHeight(JPABaseEmitter const *) const
Definition JPAParticle.cpp:309
JGeometry::TVec3< f32 > mLocalPosition
Definition JPAParticle.h:53
u32 checkStatus(u32 flag)
Definition JPAParticle.h:41
int getAge() const
Definition JPAParticle.h:30
void setDeleteParticleFlag()
Definition JPAParticle.h:44
bool canCreateChild(JPAEmitterWorkData *)
Definition JPAParticle.cpp:295
s16 mAge
Definition JPAParticle.h:68
u16 mRotateAngle
Definition JPAParticle.h:71
bool calc_p(JPAEmitterWorkData *)
Definition JPAParticle.cpp:207
void setStatus(u32 flag)
Definition JPAParticle.h:40
u16 getRotateAngle() const
Definition JPAParticle.h:35
void init_p(JPAEmitterWorkData *)
Definition JPAParticle.cpp:14
void getOffsetPosition(JGeometry::TVec3< f32 > &pos)
Definition JPAParticle.h:33
void setOffsetPosition(const JGeometry::TVec3< f32 > &pos)
Definition JPAParticle.h:31
void init_c(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAParticle.cpp:124
void setOffsetPosition(f32 x, f32 y, f32 z)
Definition JPAParticle.h:32
~JPABaseParticle()
Definition JPAParticle.h:22
void getGlobalPosition(JGeometry::TVec3< f32 > *pos) const
Definition JPAParticle.h:37
u8 mAnmRandom
Definition JPAParticle.h:76
f32 mTime
Definition JPAParticle.h:70
f32 mDrag
Definition JPAParticle.h:65
JGeometry::TVec3< f32 > mVelType0
Definition JPAParticle.h:57
f32 mAlphaWaveRandom
Definition JPAParticle.h:63
f32 getParticleScaleX() const
Definition JPAParticle.h:38
void getVelVec(JGeometry::TVec3< f32 > &vec) const
Definition JPAParticle.h:45
Definition JPAEmitter.h:75
Definition JPAEmitterManager.h:23
Definition JPAParticle.h:84
virtual void execute(JPABaseEmitter *, JPABaseParticle *)
Definition JPAParticle.h:87
virtual void draw(JPABaseEmitter *, JPABaseParticle *)
Definition JPAParticle.h:88
virtual ~JPAParticleCallBack()=0
Definition JPAParticle.cpp:10
Definition JPAResourceManager.h:14
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
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 u32 status
Definition fstload.c:9
a
Definition k_cos.c:89
void set(const TVec3< U > &other)
Definition JGeometry.h:197
Definition JGeometry.h:70
void set(const TVec3 &other)
Definition JGeometry.h:75
Definition JPAEmitter.h:22
Definition GXStruct.h:30