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}; // Size: 0x7C
45
47
48enum {
54};
55
61public:
62 JPADynamicsBlock(u8 const*);
63 void init();
65
67
68 s16 getStartFrame() const { return mpData->mStartFrame; }
70 u32 getFlag() const { return mpData->mFlags; }
71 u32 getVolumeType() const { return (mpData->mFlags >> 8) & 0x07; }
72 u16 getDivNumber() const { return mpData->mDivNumber; }
73 f32 getRateRndm() const { return mpData->mRateRndm; }
89 f32 getRate() { return mpData->mRate; }
101 f32 getMomentRndm() const { return mpData->mMoment; }
102
103public:
104 /* 0x00 */ const JPADynamicsBlockData* mpData;
106};
107
108#endif /* JPADYNAMICSBLOCK_H */
void(* JPADynamicsCalcVolumeFunc)(JPAEmitterWorkData *)
Definition JPADynamicsBlock.h:46
@ JPADynFlag_InheritScale
Definition JPADynamicsBlock.h:51
@ JPADynFlag_FixedInterval
Definition JPADynamicsBlock.h:50
@ JPADynFlag_FixedDensity
Definition JPADynamicsBlock.h:49
@ JPADynFlag_FollowEmtrChld
Definition JPADynamicsBlock.h:53
@ JPADynFlag_FollowEmtr
Definition JPADynamicsBlock.h:52
Definition JPADynamicsBlock.h:60
const JPADynamicsBlockData * mpData
Definition JPADynamicsBlock.h:104
f32 getInitVelOmni()
Definition JPADynamicsBlock.h:93
u16 getDivNumber() const
Definition JPADynamicsBlock.h:72
f32 getInitVelRndm()
Definition JPADynamicsBlock.h:97
f32 getInitVelDirSp()
Definition JPADynamicsBlock.h:96
u32 getResUserWork() const
Definition JPADynamicsBlock.h:69
u32 getFlag() const
Definition JPADynamicsBlock.h:70
f32 getRateRndm() const
Definition JPADynamicsBlock.h:73
f32 getVolumeSweep()
Definition JPADynamicsBlock.h:91
void create(JPAEmitterWorkData *)
Definition JPADynamicsBlock.cpp:167
f32 getInitVelAxis()
Definition JPADynamicsBlock.h:94
s16 getMaxFrame()
Definition JPADynamicsBlock.h:86
void getEmitterScl(JGeometry::TVec3< f32 > *vec) const
Definition JPADynamicsBlock.h:74
s16 getLifetime()
Definition JPADynamicsBlock.h:87
f32 getInitVelRatio() const
Definition JPADynamicsBlock.h:98
f32 getAirRes()
Definition JPADynamicsBlock.h:99
u32 getVolumeType() const
Definition JPADynamicsBlock.h:71
f32 getInitVelDir()
Definition JPADynamicsBlock.h:95
void init()
Definition JPADynamicsBlock.cpp:141
f32 getVolumeMinRad()
Definition JPADynamicsBlock.h:92
JPADynamicsBlock(u8 const *)
Definition JPADynamicsBlock.cpp:126
f32 getLifetimeRndm() const
Definition JPADynamicsBlock.h:100
JPADynamicsCalcVolumeFunc mpCalcVolumeFunc
Definition JPADynamicsBlock.h:105
u8 getRateStep()
Definition JPADynamicsBlock.h:90
void getEmitterRot(JGeometry::TVec3< s16 > *vec) const
Definition JPADynamicsBlock.h:83
f32 getRate()
Definition JPADynamicsBlock.h:89
void getEmitterTrs(JGeometry::TVec3< f32 > *vec) const
Definition JPADynamicsBlock.h:77
s16 getStartFrame() const
Definition JPADynamicsBlock.h:68
f32 getMomentRndm() const
Definition JPADynamicsBlock.h:101
void calc(JPAEmitterWorkData *work)
Definition JPADynamicsBlock.h:66
u16 getVolumeSize()
Definition JPADynamicsBlock.h:88
void getEmitterDir(JGeometry::TVec3< f32 > *vec) const
Definition JPADynamicsBlock.h:80
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
s16 x
Definition JGeometry.h:106
s16 z
Definition JGeometry.h:106
s16 y
Definition JGeometry.h:106
Definition JGeometry.h:70
void set(const TVec3 &other)
Definition JGeometry.h:75
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
f32 mVolumeMinRad
Definition JPADynamicsBlock.h:34
Definition JPAEmitter.h:22
f32 z
Definition mtx.h:14
f32 x
Definition mtx.h:14
f32 y
Definition mtx.h:14