Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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 /* 804D198C */ int createHeap();
28 /* 804D1A70 */ int create();
29 /* 804D1FD0 */ ~daSpinner_c();
30 /* 804D21E0 */ void setRoomInfo();
31 /* 804D2278 */ void setMatrix();
32 /* 804D2320 */ void setEffect();
33 /* 804D25F4 */ int posMove();
34 /* 804D3090 */ void setReflectAngle();
35 /* 804D3174 */ void setWallHit(s16, u32);
36 /* 804D34B0 */ void setAnm();
37 /* 804D3618 */ int setNextPathNum();
38 /* 804D3694 */ Vec* getPathNextPos();
39 /* 804D36F4 */ int checkLineWallHit(cXyz*, cXyz*);
40 /* 804D3774 */ int checkPathMove();
41 /* 804D3D60 */ void setSpreadEffect();
42 /* 804D3F14 */ void clearSpreadEffect();
43 /* 804D3F8C */ int execute();
44 /* 804D4BB4 */ int draw();
45
47
49
50 static u32 getWaitArg() { return 0; }
51
52 BOOL getDeleteFlg() const { return mDeleteFlg; }
53
54 bool checkSpinnerTagEnd() const { return mSpinnerTag == TAG_END; }
56 bool checkSpinnerTagInto() const { return mSpinnerTag == TAG_INTO; }
57 bool checkGroundHit() { return mAcch.ChkGroundHit(); }
58
59 u8 getButtonJump() const { return mButtonJump; }
60 u8 getJumpFlg() const { return mJumpFlg; }
61
62 void setMove(f32 i_speed, s16 i_moveTime) {
63 fopAcM_SetParam(this, 1);
64 speedF = i_speed;
65 mRideMoveTime = i_moveTime;
67 }
68
69 void clearPathMove() { mpPathMove = NULL; }
70
71 void setSpinnerTag(const cXyz& param_0) {
72 if (mSpinnerTag == TAG_NONE) {
74 }
75
77 field_0xaa4 = param_0;
78 }
79
81 if (mSpinnerTag != TAG_NONE) {
83 }
84 }
85
87 bool accept = false;
88 if (!mBck.isStop() && mSpinnerTag == TAG_NONE) {
89 accept = true;
90 }
91
92 return accept;
93 }
94
96
98
99 void forceDelete() { mDeleteFlg = true; }
100
101private:
102 /* 0x568 */ J3DModel* mpModel;
103 /* 0x56C */ mDoExt_bckAnm mBck;
105 /* 0x58C */ dBgS_AcchCir mAcchCir[3];
106 /* 0x64C */ dBgS_LinkAcch mAcch;
108 /* 0x894 */ dPaPo_c mPaPo;
110 /* 0x8EC */ dCcD_Stts mStts;
111 /* 0x928 */ dCcD_Cyl mCyl;
112 /* 0xA64 */ dPath* mpPathMove;
113 /* 0xA68 */ dPath* field_0xa68;
114 /* 0xA6C */ u8 field_0xa6c;
115 /* 0xA6D */ u8 mJumpFlg;
116 /* 0xA6E */ s8 mReverb;
117 /* 0xA6F */ u8 mSpinnerTag;
118 /* 0xA70 */ u8 mButtonJump;
119 /* 0xA71 */ u8 mDeleteFlg;
120 /* 0xA72 */ u8 mPathNo;
121 /* 0xA73 */ s8 mPathDirection;
122 /* 0xA74 */ u8 field_0xa74;
123 /* 0xA75 */ u8 mTrigJump;
124 /* 0xA76 */ s8 field_0xa76;
125 /* 0xA77 */ u8 mPathForceRemove;
126 /* 0xA78 */ u8 field_0xa78;
127 /* 0xA79 */ u8 field_0xa79;
128 /* 0xA7A */ s16 mRideMoveTime;
129 /* 0xA7C */ s16 field_0xa7c;
130 /* 0xA7E */ s16 mRotY;
131 /* 0xA80 */ s16 field_0xa80;
132 /* 0xA82 */ s16 field_0xa82;
133 /* 0xA84 */ f32 field_0xa84;
134 /* 0xA88 */ f32 field_0xa88;
135 /* 0xA8C */ u32 mSpreadEmitterIDs[2];
136 /* 0xA94 */ u32 field_0xa94;
137 /* 0xA98 */ cXyz field_0xa98;
138 /* 0xAA4 */ cXyz field_0xaa4;
139 /* 0xAB0 */ cXyz field_0xab0;
140};
141
142#endif /* D_A_SPINNER_H */
Definition Z2SoundObject.h:37
void OnAtSetBit()
Definition c_cc_d.h:513
Definition d_bg_s_acch.h:238
Definition d_bg_s_lin_chk.h:20
Definition d_particle_copoly.h:10
Spinner.
Definition d_a_spinner.h:16
u8 mSpinnerTag
Definition d_a_spinner.h:117
u8 field_0xa78
Definition d_a_spinner.h:126
dBgS_LinkLinChk mLinChk
Definition d_a_spinner.h:107
J3DAnmTransform * mpSpoutBck
Definition d_a_spinner.h:104
u8 field_0xa6c
Definition d_a_spinner.h:114
u8 mPathForceRemove
Definition d_a_spinner.h:125
BOOL getDeleteFlg() const
Definition d_a_spinner.h:52
void setMove(f32 i_speed, s16 i_moveTime)
Definition d_a_spinner.h:62
cXyz field_0xab0
Definition d_a_spinner.h:139
s8 mReverb
Definition d_a_spinner.h:116
dCcD_Cyl mCyl
Definition d_a_spinner.h:111
s16 field_0xa80
Definition d_a_spinner.h:131
void setRoomInfo()
Definition d_a_spinner.cpp:124
f32 field_0xa84
Definition d_a_spinner.h:133
void setAnm()
Definition d_a_spinner.cpp:426
bool checkSpinnerTagEnd() const
Definition d_a_spinner.h:54
s8 mPathDirection
Definition d_a_spinner.h:121
void setSpinnerTag(const cXyz &param_0)
Definition d_a_spinner.h:71
Z2SoundObjSimple mSound
Definition d_a_spinner.h:109
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:658
void setEffect()
Definition d_a_spinner.cpp:153
J3DModel * mpModel
Definition d_a_spinner.h:102
u8 mTrigJump
Definition d_a_spinner.h:123
u8 field_0xa79
Definition d_a_spinner.h:127
Vec * getPathNextPos()
Definition d_a_spinner.cpp:467
bool reflectAccept()
Definition d_a_spinner.h:86
void onPathForceRemove()
Definition d_a_spinner.h:46
u8 field_0xa74
Definition d_a_spinner.h:122
s8 field_0xa76
Definition d_a_spinner.h:124
int create()
Definition d_a_spinner.cpp:57
void setWallHit(s16, u32)
Definition d_a_spinner.cpp:393
s16 field_0xa7c
Definition d_a_spinner.h:129
int posMove()
Definition d_a_spinner.cpp:208
u8 getJumpFlg() const
Definition d_a_spinner.h:60
cXyz field_0xaa4
Definition d_a_spinner.h:138
void forceDelete()
Definition d_a_spinner.h:99
MtxPtr getModelMtx()
Definition d_a_spinner.h:95
u8 getButtonJump() const
Definition d_a_spinner.h:59
dPaPo_c mPaPo
Definition d_a_spinner.h:108
s16 getAngleY()
Definition d_a_spinner.h:97
u32 field_0xa94
Definition d_a_spinner.h:136
int checkLineWallHit(cXyz *, cXyz *)
Definition d_a_spinner.cpp:482
int createHeap()
Definition d_a_spinner.cpp:21
dBgS_AcchCir mAcchCir[3]
Definition d_a_spinner.h:105
void clearPathMove()
Definition d_a_spinner.h:69
bool checkGroundHit()
Definition d_a_spinner.h:57
static u32 getWaitArg()
Definition d_a_spinner.h:50
s16 mRideMoveTime
Definition d_a_spinner.h:128
cXyz field_0xa98
Definition d_a_spinner.h:137
int setNextPathNum()
Definition d_a_spinner.cpp:453
dBgS_LinkAcch mAcch
Definition d_a_spinner.h:106
dPath * mpPathMove
Definition d_a_spinner.h:112
int checkPathMove()
Definition d_a_spinner.cpp:494
dCcD_Stts mStts
Definition d_a_spinner.h:110
u8 mJumpFlg
Definition d_a_spinner.h:115
u8 mDeleteFlg
Definition d_a_spinner.h:119
void setMatrix()
Definition d_a_spinner.cpp:140
dPath * field_0xa68
Definition d_a_spinner.h:113
void setReflectAngle()
Definition d_a_spinner.cpp:371
bool checkSpinnerTagInto() const
Definition d_a_spinner.h:56
u8 mPathNo
Definition d_a_spinner.h:120
f32 field_0xa88
Definition d_a_spinner.h:134
s16 mRotY
Definition d_a_spinner.h:130
bool checkSpinnerTagIntoIncRot() const
Definition d_a_spinner.h:55
~daSpinner_c()
Definition d_a_spinner.cpp:110
u32 mSpreadEmitterIDs[2]
Definition d_a_spinner.h:135
void offSpinnerTag()
Definition d_a_spinner.h:80
mDoExt_bckAnm mBck
Definition d_a_spinner.h:103
s16 field_0xa82
Definition d_a_spinner.h:132
int execute()
Definition d_a_spinner.cpp:668
u8 mButtonJump
Definition d_a_spinner.h:118
void setSpreadEffect()
Definition d_a_spinner.cpp:631
dPath * checkPathMoveNow()
Definition d_a_spinner.h:48
void fopAcM_SetParam(void *i_actor, u32 param)
Definition f_op_actor_mng.h:190
f32(* MtxPtr)[4]
Definition mtx.h:23
Definition d_a_hozelda.cpp:54
Definition d_a_hozelda.cpp:146
Mtx & getBaseTRMtx()
Definition J3DModel.h:86
s16 y
Definition c_sxyz.h:7
Definition d_a_hozelda.cpp:18
Definition d_a_hozelda.cpp:20
Definition d_a_npc_fguard.cpp:98
bool ChkGroundHit() const
Definition d_bg_s_acch.h:128
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc_fguard.cpp:70
Definition d_path.h:18
Definition d_a_hozelda.cpp:74
csXyz shape_angle
Definition f_op_actor.h:222
f32 speedF
Definition f_op_actor.h:233
bool isStop()
Definition m_Do_ext.h:35
Definition d_a_hozelda.cpp:56
int BOOL
Definition types.h:30
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned char u8
Definition types.h:5