Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JPAExtraShape.h
Go to the documentation of this file.
1#ifndef JPAEXTRASHAPE_H
2#define JPAEXTRASHAPE_H
3
4#include "dolphin/types.h"
5
8
14 // Common header.
15 /* 0x00 */ u8 mMagic[4];
16 /* 0x04 */ u32 mSize;
17
18 /* 0x08 */ u32 mFlags;
19 /* 0x0C */ f32 mScaleInTiming;
20 /* 0x10 */ f32 mScaleOutTiming;
21 /* 0x14 */ f32 mScaleInValueX;
22 /* 0x18 */ f32 mScaleOutValueX;
23 /* 0x1C */ f32 mScaleInValueY;
24 /* 0x20 */ f32 mScaleOutValueY;
25 /* 0x24 */ f32 mScaleOutRandom;
26 /* 0x28 */ s16 mScaleAnmCycleX;
27 /* 0x2A */ s16 mScaleAnmCycleY;
28 /* 0x2C */ f32 mAlphaInTiming;
29 /* 0x30 */ f32 mAlphaOutTiming;
30 /* 0x34 */ f32 mAlphaInValue;
31 /* 0x38 */ f32 mAlphaBaseValue;
32 /* 0x3C */ f32 mAlphaOutValue;
36 /* 0x4C */ f32 mRotateAngle;
38 /* 0x54 */ f32 mRotateSpeed;
41};
42
48public:
49 /* 8027AD88 */ JPAExtraShape(u8 const*);
50 /* 8027ADBC */ void init();
51
78 f32 getAlphaIncRate() const { return mAlphaIncRate; }
79 f32 getAlphaDecRate() const { return mAlphaDecRate; }
80
81 BOOL isEnableScaleAnm() const { return mpData->mFlags & 1; }
82 BOOL isScaleXYDiff() const { return mpData->mFlags & 2; }
83 u32 getScaleAnmTypeX() const { return (mpData->mFlags >> 8) & 3; }
84 u32 getScaleAnmTypeY() const { return (mpData->mFlags >> 10) & 3; }
85 u32 getScaleCenterX() const { return (mpData->mFlags >> 12) & 3; }
86 u32 getScaleCenterY() const { return (mpData->mFlags >> 14) & 3; }
87 BOOL isEnableAlphaAnm() const { return mpData->mFlags & 0x10000; }
88 BOOL isEnableAlphaFlick() const { return mpData->mFlags & 0x20000; }
89 BOOL isEnableRotateAnm() const { return mpData->mFlags & 0x1000000; }
90
91private:
92 /* 0x00 */ const JPAExtraShapeData* mpData;
93 /* 0x04 */ f32 mAlphaIncRate;
94 /* 0x08 */ f32 mAlphaDecRate;
95 /* 0x0C */ f32 mScaleIncRateX;
96 /* 0x10 */ f32 mScaleIncRateY;
97 /* 0x14 */ f32 mScaleDecRateX;
98 /* 0x18 */ f32 mScaleDecRateY;
99};
100
111
112#endif /* JPAEXTRASHAPE_H */
void JPACalcScaleY(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:30
void JPACalcAlphaAnm(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:91
void JPACalcScaleAnmNormal(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:53
void JPACalcScaleAnmReverseX(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:73
void JPACalcScaleCopy(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:46
void JPACalcAlphaFlickAnm(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:107
void JPACalcScaleAnmRepeatX(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:59
void JPACalcScaleAnmRepeatY(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:66
void JPACalcScaleX(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:14
void JPACalcScaleAnmReverseY(JPAEmitterWorkData *, JPABaseParticle *)
Definition JPAExtraShape.cpp:82
Definition JPAParticle.h:20
Definition JPAExtraShape.h:47
u32 getScaleCenterY() const
Definition JPAExtraShape.h:86
f32 getRotateInitAngle() const
Definition JPAExtraShape.h:69
f32 getScaleInTiming() const
Definition JPAExtraShape.h:52
void init()
Definition JPAExtraShape.cpp:131
f32 getScaleInValueY() const
Definition JPAExtraShape.h:55
BOOL isScaleXYDiff() const
Definition JPAExtraShape.h:82
s16 getScaleAnmCycleY() const
Definition JPAExtraShape.h:60
f32 mScaleDecRateY
Definition JPAExtraShape.h:98
f32 getScaleOutValueX() const
Definition JPAExtraShape.h:56
f32 getScaleOutTiming() const
Definition JPAExtraShape.h:53
BOOL isEnableAlphaFlick() const
Definition JPAExtraShape.h:88
f32 getAlphaAmp() const
Definition JPAExtraShape.h:68
f32 getAlphaIncRate() const
Definition JPAExtraShape.h:78
f32 mScaleDecRateX
Definition JPAExtraShape.h:97
u32 getScaleAnmTypeX() const
Definition JPAExtraShape.h:83
u32 getScaleCenterX() const
Definition JPAExtraShape.h:85
const JPAExtraShapeData * mpData
Definition JPAExtraShape.h:92
f32 mAlphaIncRate
Definition JPAExtraShape.h:93
BOOL isEnableScaleAnm() const
Definition JPAExtraShape.h:81
f32 getRotateRndmAngle() const
Definition JPAExtraShape.h:70
f32 getScaleOutValueY() const
Definition JPAExtraShape.h:57
f32 getScaleRndm() const
Definition JPAExtraShape.h:58
f32 getScaleDecRateX() const
Definition JPAExtraShape.h:75
f32 getAlphaFreq() const
Definition JPAExtraShape.h:66
f32 getAlphaFreqRndm() const
Definition JPAExtraShape.h:67
s16 getScaleAnmCycleX() const
Definition JPAExtraShape.h:59
f32 getAlphaOutTiming() const
Definition JPAExtraShape.h:62
f32 mScaleIncRateY
Definition JPAExtraShape.h:96
f32 getScaleInValueX() const
Definition JPAExtraShape.h:54
f32 getRotateDirection() const
Definition JPAExtraShape.h:73
f32 getScaleDecRateY() const
Definition JPAExtraShape.h:77
BOOL isEnableRotateAnm() const
Definition JPAExtraShape.h:89
BOOL isEnableAlphaAnm() const
Definition JPAExtraShape.h:87
f32 getScaleIncRateX() const
Definition JPAExtraShape.h:74
f32 getAlphaInValue() const
Definition JPAExtraShape.h:63
f32 getAlphaBaseValue() const
Definition JPAExtraShape.h:65
f32 getRotateRndmSpeed() const
Definition JPAExtraShape.h:72
u32 getScaleAnmTypeY() const
Definition JPAExtraShape.h:84
f32 getAlphaDecRate() const
Definition JPAExtraShape.h:79
f32 getScaleIncRateY() const
Definition JPAExtraShape.h:76
f32 getRotateInitSpeed() const
Definition JPAExtraShape.h:71
f32 getAlphaInTiming() const
Definition JPAExtraShape.h:61
f32 getAlphaOutValue() const
Definition JPAExtraShape.h:64
f32 mScaleIncRateX
Definition JPAExtraShape.h:95
f32 mAlphaDecRate
Definition JPAExtraShape.h:94
Definition JPAEmitter.h:21
Definition JPAExtraShape.h:13
s16 mScaleAnmCycleX
Definition JPAExtraShape.h:26
f32 mRotateSpeed
Definition JPAExtraShape.h:38
s16 mScaleAnmCycleY
Definition JPAExtraShape.h:27
f32 mRotateSpeedRandom
Definition JPAExtraShape.h:39
f32 mAlphaOutTiming
Definition JPAExtraShape.h:29
f32 mRotateAngle
Definition JPAExtraShape.h:36
f32 mAlphaWaveRandom
Definition JPAExtraShape.h:34
f32 mScaleOutRandom
Definition JPAExtraShape.h:25
f32 mScaleInTiming
Definition JPAExtraShape.h:19
f32 mScaleInValueY
Definition JPAExtraShape.h:23
u8 mMagic[4]
Definition JPAExtraShape.h:15
f32 mRotateDirection
Definition JPAExtraShape.h:40
f32 mScaleOutValueY
Definition JPAExtraShape.h:24
u32 mSize
Definition JPAExtraShape.h:16
f32 mRotateAngleRandom
Definition JPAExtraShape.h:37
u32 mFlags
Definition JPAExtraShape.h:18
f32 mScaleInValueX
Definition JPAExtraShape.h:21
f32 mAlphaBaseValue
Definition JPAExtraShape.h:31
f32 mAlphaWaveAmplitude
Definition JPAExtraShape.h:35
f32 mScaleOutTiming
Definition JPAExtraShape.h:20
f32 mAlphaInTiming
Definition JPAExtraShape.h:28
f32 mScaleOutValueX
Definition JPAExtraShape.h:22
f32 mAlphaOutValue
Definition JPAExtraShape.h:32
f32 mAlphaInValue
Definition JPAExtraShape.h:30
f32 mAlphaWaveFrequency
Definition JPAExtraShape.h:33
int BOOL
Definition types.h:27
unsigned long u32
Definition types.h:10
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned char u8
Definition types.h:8