Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JPADynamicsBlock.h
Go to the documentation of this file.
1#ifndef JPADYNAMICSBLOCK_H
2#define JPADYNAMICSBLOCK_H
3
4#include "JSystem/JGeometry.h"
5
6#include "dolphin/types.h"
7
9
15 // Common header.
16 /* 0x00 */ u8 mMagic[4];
17 /* 0x04 */ u32 mSize;
18
19 /* 0x08 */ u32 mFlags;
20 /* 0x0C */ u32 mResUserWork;
24 /* 0x34 */ f32 mInitialVelOmni;
25 /* 0x38 */ f32 mInitialVelAxis;
26 /* 0x3C */ f32 mInitialVelRndm;
27 /* 0x40 */ f32 mInitialVelDir;
28 /* 0x44 */ f32 mSpread;
30 /* 0x4C */ f32 mRate;
31 /* 0x50 */ f32 mRateRndm;
32 /* 0x54 */ f32 mLifeTimeRndm;
33 /* 0x58 */ f32 mVolumeSweep;
34 /* 0x5C */ f32 mVolumeMinRad;
35 /* 0x60 */ f32 mAirResist;
36 /* 0x64 */ f32 mMoment;
38 /* 0x6E */ s16 mMaxFrame;
39 /* 0x70 */ s16 mStartFrame;
40 /* 0x72 */ s16 mLifeTime;
41 /* 0x74 */ u16 mVolumeSize;
42 /* 0x76 */ u16 mDivNumber;
43 /* 0x78 */ u8 mRateStep;
44 /* 0x7C */ u32 field_0x7c;
45};
46
48
49enum {
55};
56
62public:
63 /* 8027BB18 */ JPADynamicsBlock(u8 const*);
64 /* 8027BB4C */ void init();
65 /* 8027BBE8 */ void create(JPAEmitterWorkData*);
66
68
69 s16 getStartFrame() const { return mpData->mStartFrame; }
71 u32 getFlag() const { return mpData->mFlags; }
72 u32 getVolumeType() const { return (mpData->mFlags >> 8) & 0x07; }
73 u16 getDivNumber() const { return mpData->mDivNumber; }
74 f32 getRateRndm() const { return mpData->mRateRndm; }
90 f32 getRate() { return mpData->mRate; }
103
104public:
105 /* 0x00 */ const JPADynamicsBlockData* mpData;
107};
108
109#endif /* JPADYNAMICSBLOCK_H */
@ JPADynFlag_InheritScale
Definition JPADynamicsBlock.h:52
@ JPADynFlag_FixedInterval
Definition JPADynamicsBlock.h:51
@ JPADynFlag_FixedDensity
Definition JPADynamicsBlock.h:50
@ JPADynFlag_FollowEmtrChld
Definition JPADynamicsBlock.h:54
@ JPADynFlag_FollowEmtr
Definition JPADynamicsBlock.h:53
void(* JPADynamicsCalcVolumeFunc)(JPAEmitterWorkData *)
Definition JPADynamicsBlock.h:47
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition JPADynamicsBlock.h:61
const JPADynamicsBlockData * mpData
Definition JPADynamicsBlock.h:105
f32 getInitVelOmni()
Definition JPADynamicsBlock.h:94
u16 getDivNumber() const
Definition JPADynamicsBlock.h:73
f32 getInitVelRndm()
Definition JPADynamicsBlock.h:98
f32 getInitVelDirSp()
Definition JPADynamicsBlock.h:97
u32 getResUserWork() const
Definition JPADynamicsBlock.h:70
u32 getFlag() const
Definition JPADynamicsBlock.h:71
f32 getRateRndm() const
Definition JPADynamicsBlock.h:74
f32 getLifeTimeRndm()
Definition JPADynamicsBlock.h:101
f32 getVolumeSweep()
Definition JPADynamicsBlock.h:92
void create(JPAEmitterWorkData *)
Definition JPADynamicsBlock.cpp:174
f32 getInitVelAxis()
Definition JPADynamicsBlock.h:95
s16 getMaxFrame()
Definition JPADynamicsBlock.h:87
void getEmitterScl(JGeometry::TVec3< f32 > *vec) const
Definition JPADynamicsBlock.h:75
s16 getLifetime()
Definition JPADynamicsBlock.h:88
f32 getAirRes()
Definition JPADynamicsBlock.h:100
u32 getVolumeType() const
Definition JPADynamicsBlock.h:72
f32 getInitVelDir()
Definition JPADynamicsBlock.h:96
f32 getMomentRndm()
Definition JPADynamicsBlock.h:102
void init()
Definition JPADynamicsBlock.cpp:146
f32 getVolumeMinRad()
Definition JPADynamicsBlock.h:93
f32 getInitVelRatio()
Definition JPADynamicsBlock.h:99
JPADynamicsCalcVolumeFunc mpCalcVolumeFunc
Definition JPADynamicsBlock.h:106
u8 getRateStep()
Definition JPADynamicsBlock.h:91
void getEmitterRot(JGeometry::TVec3< s16 > *vec) const
Definition JPADynamicsBlock.h:84
f32 getRate()
Definition JPADynamicsBlock.h:90
void getEmitterTrs(JGeometry::TVec3< f32 > *vec) const
Definition JPADynamicsBlock.h:78
s16 getStartFrame() const
Definition JPADynamicsBlock.h:69
void calc(JPAEmitterWorkData *work)
Definition JPADynamicsBlock.h:67
u16 getVolumeSize()
Definition JPADynamicsBlock.h:89
void getEmitterDir(JGeometry::TVec3< f32 > *vec) const
Definition JPADynamicsBlock.h:81
s16 x
Definition JGeometry.h:91
s16 z
Definition JGeometry.h:91
s16 y
Definition JGeometry.h:91
Definition JGeometry.h:55
void set(const TVec3 &other)
Definition JGeometry.h:60
Definition JPADynamicsBlock.h:14
f32 mInitialVelOmni
Definition JPADynamicsBlock.h:24
s16 mStartFrame
Definition JPADynamicsBlock.h:39
JGeometry::TVec3< s16 > mEmitterRot
Definition JPADynamicsBlock.h:37
u8 mMagic[4]
Definition JPADynamicsBlock.h:16
f32 mInitialVelRndm
Definition JPADynamicsBlock.h:26
f32 mMoment
Definition JPADynamicsBlock.h:36
f32 mInitialVelRatio
Definition JPADynamicsBlock.h:29
f32 mRateRndm
Definition JPADynamicsBlock.h:31
u32 mSize
Definition JPADynamicsBlock.h:17
JGeometry::TVec3< f32 > mEmitterDir
Definition JPADynamicsBlock.h:23
f32 mAirResist
Definition JPADynamicsBlock.h:35
f32 mRate
Definition JPADynamicsBlock.h:30
f32 mInitialVelDir
Definition JPADynamicsBlock.h:27
f32 mLifeTimeRndm
Definition JPADynamicsBlock.h:32
f32 mSpread
Definition JPADynamicsBlock.h:28
u8 mRateStep
Definition JPADynamicsBlock.h:43
s16 mLifeTime
Definition JPADynamicsBlock.h:40
u16 mVolumeSize
Definition JPADynamicsBlock.h:41
u32 mResUserWork
Definition JPADynamicsBlock.h:20
JGeometry::TVec3< f32 > mEmitterScl
Definition JPADynamicsBlock.h:21
u32 mFlags
Definition JPADynamicsBlock.h:19
f32 mVolumeSweep
Definition JPADynamicsBlock.h:33
s16 mMaxFrame
Definition JPADynamicsBlock.h:38
u16 mDivNumber
Definition JPADynamicsBlock.h:42
f32 mInitialVelAxis
Definition JPADynamicsBlock.h:25
JGeometry::TVec3< f32 > mEmitterTrs
Definition JPADynamicsBlock.h:22
u32 field_0x7c
Definition JPADynamicsBlock.h:44
f32 mVolumeMinRad
Definition JPADynamicsBlock.h:34
Definition JPAEmitter.h:21
f32 z
Definition vec.h:11
f32 x
Definition vec.h:11
f32 y
Definition vec.h:11
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