Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_a_e_dt.h
Go to the documentation of this file.
1#ifndef D_A_E_DT_H
2#define D_A_E_DT_H
3
5#include "d/d_bg_s_acch.h"
6#include "d/d_cc_d.h"
7#include "d/d_cc_uty.h"
8#include "f_op/f_op_actor.h"
9
10class daE_OT_c;
11
20class daE_DT_c : public fopEn_enemy_c {
21public:
22 /* 806AD97C */ int ctrlJoint(J3DJoint*, J3DModel*);
23 /* 806ADBA0 */ static int JointCallBack(J3DJoint*, int);
24 /* 806ADBEC */ int ctrlJointTuba(J3DJoint*, J3DModel*);
25 /* 806ADD30 */ static int JointCallBackTuba(J3DJoint*, int);
26 /* 806ADD7C */ int draw();
27 /* 806AE5C8 */ void demo_skip(int);
28 /* 806AE618 */ static int DemoSkipCallBack(void*, int);
29 /* 806AE64C */ void setBck(int, u8, f32, f32);
30 /* 806AE6F0 */ bool checkBck(int);
31 /* 806AE74C */ void setActionMode(int, int);
32 /* 806AE758 */ void damage_check();
33 /* 806AEB48 */ void setStabPos();
34 /* 806AEBD4 */ bool checkBeforeBg(f32);
35 /* 806AED94 */ void checkTongueBg();
36 /* 806AEEFC */ void checkWaterSurface();
37 /* 806AEFE8 */ void setSmallWaterEffect();
38 /* 806AF09C */ void setLargeWaterEffect();
39 /* 806AF150 */ void setHamonEffect(int);
40 /* 806AF240 */ void setJumpEffect();
41 /* 806AF2F4 */ void setJumpSizukuEffect();
42 /* 806AF3D0 */ void setDamageShibukiEffect(int);
43 /* 806AF460 */ void setDamageYodareEffect(int);
44 /* 806AF548 */ void setSwingEffect();
45 /* 806AF5CC */ void setStepEffect();
46 /* 806AF740 */ void setBombEffect();
47 /* 806AF848 */ void setBombSmokeEffect();
48 /* 806AF924 */ void setDeadShibukiEffect();
49 /* 806AF9D8 */ void setDeadYodareEffect();
50 /* 806AFAE0 */ void setBoxTubaEffect();
51 /* 806AFBBC */ void setBoxTubaLandEffect();
52 /* 806AFD30 */ int getNumberOfOtama();
53 /* 806AFE24 */ void setStayOtamaFall();
54 /* 806AFEAC */ void setStayOtamaDelete();
55 /* 806B0114 */ bool checkBombEat();
56 /* 806B01B4 */ bool isShutterOpen();
57 /* 806B0200 */ void executeWait();
58 /* 806B0368 */ void executeCry();
59 /* 806B063C */ void executeShake();
60 /* 806B07C4 */ void executeWalk();
61 /* 806B0E9C */ void executeJump();
62 /* 806B177C */ void executeDown();
63 /* 806B1B60 */ void executeSearch();
64 /* 806B1BEC */ void executeDamage();
65 /* 806B1D48 */ void executeBombDamage();
66 /* 806B1F78 */ void executeDeath();
67 /* 806B28E4 */ bool pointInSight(cXyz*);
68 /* 806B29D4 */ void executeOpening();
69 /* 806B3B08 */ void calcCamera();
70 /* 806B40D8 */ void calcBoxAndTuba();
71 /* 806B4724 */ void action();
72 /* 806B49F0 */ void mtx_set();
73 /* 806B4B24 */ void cc_set();
74 /* 806B4FD8 */ int execute();
75 /* 806B5158 */ int _delete();
76 /* 806B5214 */ int CreateHeap();
77 /* 806B5460 */ cPhs__Step create();
78
79 bool isFlyingAttack() { return mFlyingAttack; }
81 u8 isDead() { return mDead; }
82 bool isDemoJump() { return mDemoJump; }
85
86private:
88 /* 0x05C4 */ J3DModel* mpChestModel;
89 /* 0x05C8 */ J3DModel* mpSpitModel;
90 /* 0x05CC */ J3DModel* mpSpitBModel;
91 /* 0x05D0 */ mDoExt_McaMorfSO* mpMorf;
92 /* 0x05D4 */ Z2CreatureEnemy mSound;
93 /* 0x0678 */ fpc_ProcID mDemoID;
94 /* 0x067C */ daE_OT_c* mDemoOtama[3];
95 /* 0x0688 */ cXyz mTargetPos;
96 /* 0x0694 */ cXyz mCamCenter;
97 /* 0x06A0 */ cXyz mCamEye;
98 /* 0x06AC */ cXyz mChestPos;
99 /* 0x06B8 */ cXyz mChestSpeed;
100 /* 0x06C4 */ csXyz mChestAngle;
101 /* 0x06CA */ csXyz mSpitAngle[3];
102 /* 0x06DC */ s16 field_0x6dc;
103 /* 0x06DE */ s16 field_0x6de;
104 /* 0x06E0 */ f32 mCamFovy;
105 /* 0x06E4 */ f32 field_0x6e4;
106 /* 0x06E8 */ f32 field_0x6e8;
107 /* 0x06EC */ f32 mScale;
108 /* 0x06F0 */ f32 mSpitScale[3];
109 /* 0x06FC */ f32 mSpitScaleX;
110 /* 0x0700 */ f32 mSpitOffset;
111 /* 0x0704 */ int field_0x704;
112 /* 0x0708 */ int mAction;
113 /* 0x070C */ int mMode;
114 /* 0x0710 */ u32 mShadowKey;
115 /* 0x0714 */ int field_0x714;
116 /* 0x0718 */ f32 mSpitFade[4];
117 /* 0x0728 */ f32 mWaterSurface;
118 /* 0x072C */ f32 field_0x72c;
119 /* 0x0730 */ int field_0x730;
120 /* 0x0734 */ s16 field_0x734;
121 /* 0x0736 */ s16 field_0x736;
122 /* 0x0738 */ s16 mTargetAngleY;
123 /* 0x073A */ s16 field_0x73a;
124 /* 0x073C */ s16 mCamBank;
125 /* 0x073E */ s16 field_0x73e;
126 /* 0x0740 */ s16 field_0x740;
127 /* 0x0742 */ s16 field_0x742;
128 /* 0x0744 */ s16 field_0x744;
129 /* 0x0748 */ f32 field_0x748;
130 /* 0x074C */ s16 field_0x74c;
131 /* 0x074E */ s16 field_0x74e;
132 /* 0x0750 */ s16 field_0x750;
133 /* 0x0752 */ s16 field_0x752;
134 /* 0x0754 */ s16 field_0x754;
135 /* 0x0758 */ int mTimer;
136 /* 0x075C */ int mWalkTimer;
137 /* 0x0760 */ int mDamageTimer;
138 /* 0x0764 */ int mDemoTimer;
139 /* 0x0768 */ int mSpitTimer;
140 /* 0x076C */ u8 mBodyDamageTimer;
141 /* 0x076D */ u8 mLegLDamageTimer;
142 /* 0x076E */ u8 mLegRDamageTimer;
143 /* 0x076F */ u8 mQuakeTimer;
144 /* 0x0770 */ u8 mEyePosMode;
145 /* 0x0771 */ bool mLinkPressed;
146 /* 0x0772 */ u8 mDemoMode;
147 /* 0x0773 */ u8 mHitCounter;
148 /* 0x0774 */ u8 field_0x774;
149 /* 0x0775 */ u8 field_0x775;
150 /* 0x0776 */ bool mFlyingAttack;
151 /* 0x0777 */ bool mFlyingAttackLand;
152 /* 0x0778 */ u8 mChestMode;
153 /* 0x0779 */ u8 mDead;
154 /* 0x077A */ u8 mSwBit;
155 /* 0x077C */ f32 mBlurRate;
156 /* 0x0780 */ u8 mBlurMode;
157 /* 0x0781 */ bool field_0x781;
158 /* 0x0782 */ bool mDemoJump;
159 /* 0x0783 */ bool field_0x783;
160 /* 0x0784 */ dBgS_AcchCir mAcchCir;
161 /* 0x07C4 */ dBgS_ObjAcch mAcch;
162 /* 0x099C */ dCcD_Stts mCcStts;
163 /* 0x09D8 */ dCcD_Sph mBodyCcSph[2];
164 /* 0x0C48 */ dCcD_Sph mLegCcSph[2];
165 /* 0x0EB8 */ dCcD_Sph mTongueCcSph[2];
166 /* 0x1128 */ dCcU_AtInfo mAtInfo;
167 /* 0x114C */ u32 mParticleKey[4];
168 /* 0x115C */ u32 mSmokeKey;
169 /* 0x1160 */ u32 mRippleKey[2];
170 /* 0x1168 */ u8 field_0x1168[0x116c - 0x1168];
171 /* 0x116C */ u32 mSpitKey;
172 /* 0x1170 */ bool mHIOInit;
173};
174
175STATIC_ASSERT(sizeof(daE_DT_c) == 0x1174);
176
178public:
179 /* 806AD90C */ daE_DT_HIO_c();
180 /* 806B5BDC */ virtual ~daE_DT_HIO_c() {}
181
182 /* 0x04 */ s8 field_0x4;
183 /* 0x08 */ f32 mScale;
184 /* 0x0C */ f32 mWalkSpeed;
185 /* 0x10 */ f32 field_0x10;
186 /* 0x14 */ f32 field_0x14;
187 /* 0x18 */ f32 field_0x18;
188 /* 0x1C */ f32 mStunTimer;
189 /* 0x20 */ f32 mPressTimer;
190 /* 0x24 */ f32 mMaxFallSpeed;
191 /* 0x28 */ f32 field_0x28;
192 /* 0x2C */ f32 field_0x2c;
193};
194
195struct E_DT_n {
196 static f32 eDt_ShakeFrame[10];
197 static f32 eDt_ShakeFrameDemo[10];
200 static int mDt_OtamaNum;
201 static int mDt_OtamaNo[20];
202 static int m_fall_no;
204};
205
206
207#endif /* D_A_E_DT_H */
cPhs__Step
Definition c_phase.h:8
Definition Z2Creature.h:37
Definition d_cc_d.h:435
Definition d_a_e_dt.h:177
f32 mScale
Definition d_a_e_dt.h:183
f32 mWalkSpeed
Definition d_a_e_dt.h:184
s8 field_0x4
Definition d_a_e_dt.h:182
f32 mPressTimer
Definition d_a_e_dt.h:189
daE_DT_HIO_c()
Definition d_a_e_dt.cpp:168
virtual ~daE_DT_HIO_c()
Definition d_a_e_dt.h:180
f32 field_0x10
Definition d_a_e_dt.h:185
f32 field_0x14
Definition d_a_e_dt.h:186
f32 mMaxFallSpeed
Definition d_a_e_dt.h:190
f32 field_0x18
Definition d_a_e_dt.h:187
f32 field_0x28
Definition d_a_e_dt.h:191
f32 field_0x2c
Definition d_a_e_dt.h:192
f32 mStunTimer
Definition d_a_e_dt.h:188
Deku Toad.
Definition d_a_e_dt.h:20
f32 field_0x6e4
Definition d_a_e_dt.h:105
u32 mSpitKey
Definition d_a_e_dt.h:171
int mTimer
Definition d_a_e_dt.h:135
bool field_0x781
Definition d_a_e_dt.h:157
void setBombSmokeEffect()
Definition d_a_e_dt.cpp:689
u8 mLegLDamageTimer
Definition d_a_e_dt.h:141
bool checkBck(int)
Definition d_a_e_dt.cpp:405
request_of_phase_process_class mPhase[3]
Definition d_a_e_dt.h:87
s16 field_0x742
Definition d_a_e_dt.h:127
void checkTongueBg()
Definition d_a_e_dt.cpp:533
void setStepEffect()
Definition d_a_e_dt.cpp:657
void checkWaterSurface()
Definition d_a_e_dt.cpp:558
bool checkBeforeBg(f32)
Definition d_a_e_dt.cpp:509
J3DModel * mpSpitModel
Definition d_a_e_dt.h:89
void executeDown()
Definition d_a_e_dt.cpp:1303
f32 mCamFovy
Definition d_a_e_dt.h:104
u8 field_0x1168[0x116c - 0x1168]
Definition d_a_e_dt.h:170
void setDamageShibukiEffect(int)
Definition d_a_e_dt.cpp:631
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_dt.h:91
f32 field_0x72c
Definition d_a_e_dt.h:118
f32 mSpitOffset
Definition d_a_e_dt.h:110
cXyz mCamEye
Definition d_a_e_dt.h:97
void cc_set()
Definition d_a_e_dt.cpp:2326
void setBoxTubaLandEffect()
Definition d_a_e_dt.cpp:734
static int JointCallBackTuba(J3DJoint *, int)
Definition d_a_e_dt.cpp:267
u32 mSmokeKey
Definition d_a_e_dt.h:168
void executeWait()
Definition d_a_e_dt.cpp:865
f32 field_0x6e8
Definition d_a_e_dt.h:106
int field_0x704
Definition d_a_e_dt.h:111
void damage_check()
Definition d_a_e_dt.cpp:417
int mSpitTimer
Definition d_a_e_dt.h:139
void executeJump()
Definition d_a_e_dt.cpp:1100
int _delete()
Definition d_a_e_dt.cpp:2473
f32 mSpitScaleX
Definition d_a_e_dt.h:109
void calcBoxAndTuba()
Definition d_a_e_dt.cpp:2109
int mDemoTimer
Definition d_a_e_dt.h:138
dBgS_ObjAcch mAcch
Definition d_a_e_dt.h:161
Z2CreatureEnemy mSound
Definition d_a_e_dt.h:92
void demo_skip(int)
Definition d_a_e_dt.cpp:383
f32 mBlurRate
Definition d_a_e_dt.h:155
void setSmallWaterEffect()
Definition d_a_e_dt.cpp:578
u8 mBodyDamageTimer
Definition d_a_e_dt.h:140
void setDamageYodareEffect(int)
Definition d_a_e_dt.cpp:639
bool isDemoJump()
Definition d_a_e_dt.h:82
static int DemoSkipCallBack(void *, int)
Definition d_a_e_dt.cpp:389
void executeShake()
Definition d_a_e_dt.cpp:956
bool isShutterOpen()
Definition d_a_e_dt.cpp:854
s16 field_0x744
Definition d_a_e_dt.h:128
dCcD_Sph mTongueCcSph[2]
Definition d_a_e_dt.h:165
daE_OT_c * mDemoOtama[3]
Definition d_a_e_dt.h:94
void executeCry()
Definition d_a_e_dt.cpp:895
s16 field_0x73e
Definition d_a_e_dt.h:125
s16 mCamBank
Definition d_a_e_dt.h:124
cXyz mCamCenter
Definition d_a_e_dt.h:96
void setSwingEffect()
Definition d_a_e_dt.cpp:651
cXyz mChestSpeed
Definition d_a_e_dt.h:99
void action()
Definition d_a_e_dt.cpp:2211
int CreateHeap()
Definition d_a_e_dt.cpp:2492
void setLargeWaterEffect()
Definition d_a_e_dt.cpp:587
void setHamonEffect(int)
Definition d_a_e_dt.cpp:596
u8 mBlurMode
Definition d_a_e_dt.h:156
bool mHIOInit
Definition d_a_e_dt.h:172
int execute()
Definition d_a_e_dt.cpp:2419
int field_0x730
Definition d_a_e_dt.h:119
void setStayOtamaFall()
Definition d_a_e_dt.cpp:793
int field_0x714
Definition d_a_e_dt.h:115
s16 field_0x73a
Definition d_a_e_dt.h:123
u32 mRippleKey[2]
Definition d_a_e_dt.h:169
int mAction
Definition d_a_e_dt.h:112
bool field_0x783
Definition d_a_e_dt.h:159
s16 field_0x740
Definition d_a_e_dt.h:126
u8 field_0x775
Definition d_a_e_dt.h:149
void executeBombDamage()
Definition d_a_e_dt.cpp:1440
dCcD_Stts mCcStts
Definition d_a_e_dt.h:162
s16 field_0x734
Definition d_a_e_dt.h:120
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_e_dt.cpp:183
s16 field_0x6dc
Definition d_a_e_dt.h:102
f32 mSpitScale[3]
Definition d_a_e_dt.h:108
dCcD_Sph mBodyCcSph[2]
Definition d_a_e_dt.h:163
cXyz mChestPos
Definition d_a_e_dt.h:98
void setBck(int, u8, f32, f32)
Definition d_a_e_dt.cpp:399
dBgS_AcchCir mAcchCir
Definition d_a_e_dt.h:160
s16 field_0x736
Definition d_a_e_dt.h:121
csXyz mChestAngle
Definition d_a_e_dt.h:100
int draw()
Definition d_a_e_dt.cpp:279
bool mDemoJump
Definition d_a_e_dt.h:158
void executeSearch()
Definition d_a_e_dt.cpp:1391
f32 mSpitFade[4]
Definition d_a_e_dt.h:116
s16 field_0x754
Definition d_a_e_dt.h:134
fpc_ProcID mDemoID
Definition d_a_e_dt.h:93
bool isFlyingAttack()
Definition d_a_e_dt.h:79
u8 mDead
Definition d_a_e_dt.h:153
void calcCamera()
Definition d_a_e_dt.cpp:2007
void mtx_set()
Definition d_a_e_dt.cpp:2302
u32 mShadowKey
Definition d_a_e_dt.h:114
void setBoxTubaEffect()
Definition d_a_e_dt.cpp:723
void setDeadShibukiEffect()
Definition d_a_e_dt.cpp:700
s16 field_0x6de
Definition d_a_e_dt.h:103
s16 mTargetAngleY
Definition d_a_e_dt.h:122
csXyz mSpitAngle[3]
Definition d_a_e_dt.h:101
void executeWalk()
Definition d_a_e_dt.cpp:992
bool pointInSight(cXyz *)
Definition d_a_e_dt.cpp:1639
void executeDeath()
Definition d_a_e_dt.cpp:1482
u8 field_0x774
Definition d_a_e_dt.h:148
f32 mScale
Definition d_a_e_dt.h:107
u8 mHitCounter
Definition d_a_e_dt.h:147
bool isFlyingAttackLand()
Definition d_a_e_dt.h:80
J3DModel * mpSpitBModel
Definition d_a_e_dt.h:90
void setJumpEffect()
Definition d_a_e_dt.cpp:611
f32 field_0x748
Definition d_a_e_dt.h:129
u8 mChestMode
Definition d_a_e_dt.h:152
void setJumpSizukuEffect()
Definition d_a_e_dt.cpp:620
void setDeadYodareEffect()
Definition d_a_e_dt.cpp:709
void setActionMode(int, int)
Definition d_a_e_dt.cpp:411
cXyz mTargetPos
Definition d_a_e_dt.h:95
void setStabPos()
Definition d_a_e_dt.cpp:500
fpc_ProcID getDemoId()
Definition d_a_e_dt.h:84
u8 mDemoMode
Definition d_a_e_dt.h:146
f32 mWaterSurface
Definition d_a_e_dt.h:117
dCcU_AtInfo mAtInfo
Definition d_a_e_dt.h:166
u8 mSwBit
Definition d_a_e_dt.h:154
void setBombEffect()
Definition d_a_e_dt.cpp:675
u32 mParticleKey[4]
Definition d_a_e_dt.h:167
bool mFlyingAttackLand
Definition d_a_e_dt.h:151
bool mFlyingAttack
Definition d_a_e_dt.h:150
s16 field_0x750
Definition d_a_e_dt.h:132
void executeDamage()
Definition d_a_e_dt.cpp:1408
static int JointCallBack(J3DJoint *, int)
Definition d_a_e_dt.cpp:226
int mMode
Definition d_a_e_dt.h:113
bool checkBombEat()
Definition d_a_e_dt.cpp:842
int mWalkTimer
Definition d_a_e_dt.h:136
dCcD_Sph mLegCcSph[2]
Definition d_a_e_dt.h:164
MtxP getBackMtx()
Definition d_a_e_dt.h:83
J3DModel * mpChestModel
Definition d_a_e_dt.h:88
u8 mQuakeTimer
Definition d_a_e_dt.h:143
u8 mEyePosMode
Definition d_a_e_dt.h:144
u8 mLegRDamageTimer
Definition d_a_e_dt.h:142
u8 isDead()
Definition d_a_e_dt.h:81
void setStayOtamaDelete()
Definition d_a_e_dt.cpp:804
s16 field_0x74c
Definition d_a_e_dt.h:130
void executeOpening()
Definition d_a_e_dt.cpp:1654
int mDamageTimer
Definition d_a_e_dt.h:137
cPhs__Step create()
Definition d_a_e_dt.cpp:2538
int getNumberOfOtama()
Definition d_a_e_dt.cpp:765
int ctrlJointTuba(J3DJoint *, J3DModel *)
Definition d_a_e_dt.cpp:239
s16 field_0x752
Definition d_a_e_dt.h:133
s16 field_0x74e
Definition d_a_e_dt.h:131
bool mLinkPressed
Definition d_a_e_dt.h:145
Toado.
Definition d_a_e_ot.h:19
Definition f_op_actor.h:255
STATIC_ASSERT(sizeof(daE_DT_c)==0x1174)
unsigned int fpc_ProcID
Definition f_pc_base.h:10
f32(* MtxP)[4]
Definition mtx.h:35
Definition d_a_e_dt.h:195
static dCcD_SrcSph cc_dt_body_src
Definition d_a_e_dt.h:117
static dCcD_SrcSph cc_dt_tongue_src
Definition d_a_e_dt.h:130
static f32 eDt_ShakeFrame[10]
Definition d_a_e_dt.h:107
static int m_fall_no
Definition d_a_e_dt.h:202
static int mDt_OtamaNo[20]
Definition d_a_e_dt.h:201
static f32 eDt_ShakeFrameDemo[10]
Definition d_a_e_dt.h:112
static cXyz m_tongue_pos
Definition d_a_e_dt.h:203
static int mDt_OtamaNum
Definition d_a_e_dt.h:200
Definition d_a_hozelda.cpp:239
Definition d_a_hozelda.cpp:146
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:102
Definition d_a_hozelda.cpp:20
Definition d_a_hozelda.cpp:161
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_cc_d.h:92
Definition d_a_npc_fguard.cpp:70
Definition d_cc_uty.h:20
Definition d_a_npc_fguard.cpp:23
J3DModel * getModel()
Definition m_Do_ext.h:334
Definition d_a_hozelda.cpp:14
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