Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_spinner.h
Go to the documentation of this file.
1#ifndef D_A_SPINNER_H
2#define D_A_SPINNER_H
3
4#include "d/d_path.h"
7
16class daSpinner_c : public fopAc_ac_c {
17public:
26
27 int createHeap();
28 int create();
30 void setRoomInfo();
31 void setMatrix();
32 void setEffect();
33 int posMove();
34 void setReflectAngle();
35 void setWallHit(s16, u32);
36 void setAnm();
37 int setNextPathNum();
40 int checkPathMove();
41 void setSpreadEffect();
42 void clearSpreadEffect();
43 int execute();
44 int draw();
45
47
49
50 static u32 getWaitArg() { return 0; }
51 static int getWaterSinkLimit() { return 50; }
52
53 BOOL getDeleteFlg() const { return mDeleteFlg; }
54
55 bool checkSpinnerTagEnd() const { return mSpinnerTag == TAG_END; }
57 bool checkSpinnerTagInto() const { return mSpinnerTag == TAG_INTO; }
58 bool checkGroundHit() { return mAcch.ChkGroundHit(); }
59
60 u8 getButtonJump() const { return mButtonJump; }
61 u8 getJumpFlg() const { return mJumpFlg; }
62
63 void setMove(f32 i_speed, s16 i_moveTime) {
64 fopAcM_SetParam(this, 1);
65 speedF = i_speed;
66 mRideMoveTime = i_moveTime;
68 }
69
70 void clearPathMove() { mpPathMove = NULL; }
71
72 void setSpinnerTag(const cXyz& param_0) {
73 if (mSpinnerTag == TAG_NONE) {
75 }
76
78 field_0xaa4 = param_0;
79 }
80
82 if (mSpinnerTag != TAG_NONE) {
84 }
85 }
86
88 bool accept = false;
89 if (!mBck.isStop() && mSpinnerTag == TAG_NONE) {
90 accept = true;
91 }
92
93 return accept;
94 }
95
97
99
100 void forceDelete() { mDeleteFlg = true; }
101
102private:
103 /* 0x568 */ J3DModel* mpModel;
104 /* 0x56C */ mDoExt_bckAnm mBck;
106 /* 0x58C */ dBgS_AcchCir mAcchCir[3];
107 /* 0x64C */ dBgS_LinkAcch mAcch;
109 /* 0x894 */ dPaPo_c mPaPo;
111 /* 0x8EC */ dCcD_Stts mStts;
112 /* 0x928 */ dCcD_Cyl mCyl;
113 /* 0xA64 */ dPath* mpPathMove;
114 /* 0xA68 */ dPath* field_0xa68;
115 /* 0xA6C */ u8 field_0xa6c;
116 /* 0xA6D */ u8 mJumpFlg;
117 /* 0xA6E */ s8 mReverb;
118 /* 0xA6F */ u8 mSpinnerTag;
119 /* 0xA70 */ u8 mButtonJump;
120 /* 0xA71 */ u8 mDeleteFlg;
121 /* 0xA72 */ u8 mPathNo;
122 /* 0xA73 */ s8 mPathDirection;
123 /* 0xA74 */ u8 field_0xa74;
124 /* 0xA75 */ u8 mTrigJump;
125 /* 0xA76 */ s8 field_0xa76;
126 /* 0xA77 */ u8 mPathForceRemove;
127 /* 0xA78 */ u8 field_0xa78;
128 /* 0xA79 */ u8 field_0xa79;
129 /* 0xA7A */ s16 mRideMoveTime;
130 /* 0xA7C */ s16 field_0xa7c;
131 /* 0xA7E */ s16 mRotY;
132 /* 0xA80 */ s16 field_0xa80;
133 /* 0xA82 */ s16 field_0xa82;
134 /* 0xA84 */ f32 field_0xa84;
135 /* 0xA88 */ f32 field_0xa88;
136 /* 0xA8C */ u32 mSpreadEmitterIDs[2];
137 /* 0xA94 */ u32 field_0xa94;
138 /* 0xA98 */ cXyz field_0xa98;
139 /* 0xAA4 */ cXyz field_0xaa4;
140 /* 0xAB0 */ cXyz field_0xab0;
141};
142
143#endif /* D_A_SPINNER_H */
Definition J3DAnimation.h:506
Definition J3DModel.h:43
Mtx & getBaseTRMtx()
Definition J3DModel.h:89
Definition Z2SoundObject.h:38
void OnAtSetBit()
Definition c_cc_d.h:352
Definition d_bg_s_acch.h:15
bool ChkGroundHit() const
Definition d_bg_s_acch.h:128
Definition d_bg_s_acch.h:242
Definition d_bg_s_lin_chk.h:20
Definition d_cc_d.h:472
Definition d_cc_d.h:273
Particle effect management class for center-based effects.
Definition d_particle_copoly.h:25
Spinner.
Definition d_a_spinner.h:16
u8 mSpinnerTag
Definition d_a_spinner.h:118
u8 field_0xa78
Definition d_a_spinner.h:127
dBgS_LinkLinChk mLinChk
Definition d_a_spinner.h:108
J3DAnmTransform * mpSpoutBck
Definition d_a_spinner.h:105
u8 field_0xa6c
Definition d_a_spinner.h:115
u8 mPathForceRemove
Definition d_a_spinner.h:126
BOOL getDeleteFlg() const
Definition d_a_spinner.h:53
void setMove(f32 i_speed, s16 i_moveTime)
Definition d_a_spinner.h:63
cXyz field_0xab0
Definition d_a_spinner.h:140
s8 mReverb
Definition d_a_spinner.h:117
dCcD_Cyl mCyl
Definition d_a_spinner.h:112
s16 field_0xa80
Definition d_a_spinner.h:132
void setRoomInfo()
Definition d_a_spinner.cpp:117
f32 field_0xa84
Definition d_a_spinner.h:134
void setAnm()
Definition d_a_spinner.cpp:411
bool checkSpinnerTagEnd() const
Definition d_a_spinner.h:55
s8 mPathDirection
Definition d_a_spinner.h:122
void setSpinnerTag(const cXyz &param_0)
Definition d_a_spinner.h:72
Z2SoundObjSimple mSound
Definition d_a_spinner.h:110
daSpinner_TAG
Definition d_a_spinner.h:18
@ TAG_2
Definition d_a_spinner.h:21
@ TAG_INTO
Definition d_a_spinner.h:22
@ TAG_INTO_INC_ROT
Definition d_a_spinner.h:23
@ TAG_NONE
Definition d_a_spinner.h:19
@ TAG_END
Definition d_a_spinner.h:24
@ TAG_START
Definition d_a_spinner.h:20
void clearSpreadEffect()
Definition d_a_spinner.cpp:635
J3DModel * mpModel
Definition d_a_spinner.h:103
u8 mTrigJump
Definition d_a_spinner.h:124
u8 field_0xa79
Definition d_a_spinner.h:128
Vec * getPathNextPos()
Definition d_a_spinner.cpp:450
bool reflectAccept()
Definition d_a_spinner.h:87
void onPathForceRemove()
Definition d_a_spinner.h:46
static int getWaterSinkLimit()
Definition d_a_spinner.h:51
u8 field_0xa74
Definition d_a_spinner.h:123
s8 field_0xa76
Definition d_a_spinner.h:125
int create()
Definition d_a_spinner.cpp:55
void setWallHit(s16, u32)
Definition d_a_spinner.cpp:379
s16 field_0xa7c
Definition d_a_spinner.h:130
int posMove()
Definition d_a_spinner.cpp:196
u8 getJumpFlg() const
Definition d_a_spinner.h:61
cXyz field_0xaa4
Definition d_a_spinner.h:139
void forceDelete()
Definition d_a_spinner.h:100
MtxPtr getModelMtx()
Definition d_a_spinner.h:96
u8 getButtonJump() const
Definition d_a_spinner.h:60
dPaPo_c mPaPo
Definition d_a_spinner.h:109
s16 getAngleY()
Definition d_a_spinner.h:98
u32 field_0xa94
Definition d_a_spinner.h:137
int checkLineWallHit(cXyz *, cXyz *)
Definition d_a_spinner.cpp:463
int createHeap()
Definition d_a_spinner.cpp:20
dBgS_AcchCir mAcchCir[3]
Definition d_a_spinner.h:106
void clearPathMove()
Definition d_a_spinner.h:70
bool checkGroundHit()
Definition d_a_spinner.h:58
void setEffect()
Definition d_a_spinner.cpp:142
static u32 getWaitArg()
Definition d_a_spinner.h:50
s16 mRideMoveTime
Definition d_a_spinner.h:129
cXyz field_0xa98
Definition d_a_spinner.h:138
int setNextPathNum()
Definition d_a_spinner.cpp:437
dBgS_LinkAcch mAcch
Definition d_a_spinner.h:107
dPath * mpPathMove
Definition d_a_spinner.h:113
int checkPathMove()
Definition d_a_spinner.cpp:474
dCcD_Stts mStts
Definition d_a_spinner.h:111
u8 mJumpFlg
Definition d_a_spinner.h:116
u8 mDeleteFlg
Definition d_a_spinner.h:120
void setMatrix()
Definition d_a_spinner.cpp:132
dPath * field_0xa68
Definition d_a_spinner.h:114
void setReflectAngle()
Definition d_a_spinner.cpp:358
bool checkSpinnerTagInto() const
Definition d_a_spinner.h:57
u8 mPathNo
Definition d_a_spinner.h:121
f32 field_0xa88
Definition d_a_spinner.h:135
s16 mRotY
Definition d_a_spinner.h:131
bool checkSpinnerTagIntoIncRot() const
Definition d_a_spinner.h:56
~daSpinner_c()
Definition d_a_spinner.cpp:106
u32 mSpreadEmitterIDs[2]
Definition d_a_spinner.h:136
void offSpinnerTag()
Definition d_a_spinner.h:81
mDoExt_bckAnm mBck
Definition d_a_spinner.h:104
s16 field_0xa82
Definition d_a_spinner.h:133
int execute()
Definition d_a_spinner.cpp:644
u8 mButtonJump
Definition d_a_spinner.h:119
void setSpreadEffect()
Definition d_a_spinner.cpp:610
dPath * checkPathMoveNow()
Definition d_a_spinner.h:48
Definition f_op_actor.h:243
csXyz shape_angle
Definition f_op_actor.h:265
f32 speedF
Definition f_op_actor.h:276
bool isStop()
Definition m_Do_ext.h:43
Definition m_Do_ext.h:149
f32(* MtxPtr)[4]
Definition mtx.h:26
void fopAcM_SetParam(void *i_actor, u32 param)
Definition f_op_actor_mng.h:212
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
s16 y
Definition c_sxyz.h:7
Definition mtx.h:13
Definition c_xyz.h:7
Definition d_path.h:18