Loading [MathJax]/extensions/MathZoom.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_ym.h
Go to the documentation of this file.
1#ifndef D_A_E_YM_H
2#define D_A_E_YM_H
3
7#include "d/d_bg_s_acch.h"
8#include "d/d_cc_d.h"
9#include "d/d_cc_uty.h"
10#include "d/d_path.h"
11
12class daKago_c;
13
15public:
16 /* 8080812C */ daE_YM_HIO_c();
17
18 /* 80815458 */ virtual ~daE_YM_HIO_c() {}
19
20 /* 0x04 */ s8 field_0x4;
21 /* 0x08 */ f32 mModelSize;
23 /* 0x10 */ f32 mMoveSpeed;
24 /* 0x14 */ f32 mFlyMoveSpeed;
25 /* 0x18 */ f32 mFlyAttackSpeed;
27 /* 0x20 */ f32 mMoveRange;
28};
29
38class daE_YM_c : public fopEn_enemy_c {
39public:
41 /* 0 */ ACT_WAIT,
42 /* 1 */ ACT_MOVE,
43 /* 2 */ ACT_ESCAPE,
44 /* 3 */ ACT_DOWN,
45 /* 4 */ ACT_WIND,
46 /* 5 */ ACT_SURPRISE,
47 /* 6 */ ACT_BACK,
48 /* 7 */ ACT_FALL,
49 /* 8 */ ACT_ATTACK,
51 /* 10 */ ACT_DEFENSE,
52 /* 11 */ ACT_FLY,
54 /* 13 */ ACT_RAIL,
55 /* 14 */ ACT_BACK_RAIL,
56 /* 15 */ ACT_ELECTRIC,
57 /* 16 */ ACT_SWITCH,
58 /* 17 */ ACT_FIRE,
59 /* 18 */ ACT_RIVER,
60 };
61
62 u8 getTagNo() { return mTagNo; }
63
64 void setTagPos(cXyz& i_position) { mTagPos = i_position; }
65
67
68 /* 80808184 */ u8 checkBck(char const*, int);
69 /* 808081E0 */ void bckSet(int, u8, f32, f32);
70 /* 80808328 */ void bckSetFly(int, u8, f32, f32);
71 /* 808083CC */ int draw();
72 /* 80808768 */ void setDigEffect();
73 /* 80808884 */ void setElecEffect1();
74 /* 808089DC */ void setElecEffect2();
75 /* 80808B3C */ void setFireEffect();
76 /* 80808E34 */ bool checkWallCrash();
77 /* 80809000 */ u8 checkWolfBark();
78 /* 80809228 */ u8 checkSurpriseLock();
79 /* 8080963C */ u8 checkRailSurprise();
80 /* 808096EC */ u8 checkSurpriseNear();
81 /* 80809D6C */ void setNormalCc();
82 /* 80809D84 */ void setAppear();
83 /* 80809DA8 */ void setMoveSound(int);
84 /* 80809EF0 */ void setTurnSound();
85 /* 80809F9C */ void setActionMode(int);
86 /* 80809FC4 */ void executeWait();
87 /* 8080A57C */ void executeMove();
88 /* 8080ACB4 */ void executeEscape();
89 /* 8080B444 */ void executeDown();
90 /* 8080BB7C */ void damage_check();
91 /* 8080BCFC */ void executeWind();
92 /* 8080C05C */ int getSurpriseType();
93 /* 8080C1FC */ void setSurpriseAway();
94 /* 8080C24C */ void setGoHomeType();
95 /* 8080C374 */ void executeSurprise();
96 /* 8080CEE0 */ void executeBack();
97 /* 8080CFC8 */ void executeFall();
98 /* 8080D2C8 */ void executeAttack();
99 /* 8080D990 */ u8 checkAttackEnd();
100 /* 8080DB58 */ u8 setAttackMotion();
101 /* 8080DC5C */ void executeAttackWall();
102 /* 8080E26C */ void executeDefense();
103 /* 8080E49C */ u8 checkFlyTerritory();
104 /* 8080E630 */ void initFly();
105 /* 8080E6A0 */ void executeFly();
106 /* 8080F8C8 */ void setInclination();
107 /* 8080F92C */ void executeFlyAttack();
108 /* 80810084 */ void setNextPathPoint();
109 /* 8081013C */ u8 checkRailDig();
110 /* 8081030C */ void executeRail();
111 /* 80810690 */ void executeBackRail();
112 /* 80810DF8 */ void checkElectricStart();
113 /* 80810E64 */ void executeElectric();
114 /* 8081105C */ void executeSwitch();
115 /* 80811740 */ void initFireFly(int);
116 /* 80811838 */ void executeFire();
117 /* 808120B0 */ void setRiverAttention();
118 /* 808123C4 */ void setLockByCargo();
119 /* 808123D0 */ void executeRiver();
120 /* 80812FCC */ void checkFrinedSamePos();
121 /* 8081300C */ void action();
122 /* 80813528 */ void mtx_set();
123 /* 808135B0 */ void cc_set();
124 /* 808138AC */ int execute();
125 /* 80813A38 */ int _delete();
126 /* 80813AF0 */ int CreateHeap();
127 /* 80813EA4 */ u8 checkBeforeBg(s16);
128 /* 808143A0 */ u8 checkBeforeGround();
129 /* 808144D8 */ void checkInitialWall();
130 /* 80814758 */ u8 checkWall();
131 /* 80814AF0 */ void setHideType();
132 /* 80814BA4 */ int create();
133
134 void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; }
137
138private:
141 /* 0x5B8 */ mDoExt_brkAnm* mpBrk;
144 /* 0x664 */ daKago_c* mpKago;
145 /* 0x668 */ csXyz field_0x668;
146 /* 0x66E */ u8 field_0x66E[0x670 - 0x66E];
147 /* 0x670 */ cXyz mPrevPos;
148 /* 0x67C */ cXyz field_0x67c;
149 /* 0x688 */ f32 field_0x688;
150 /* 0x68C */ f32 field_0x68c;
151 /* 0x690 */ int mAction;
152 /* 0x694 */ int mLastAction;
153 /* 0x698 */ int mMode;
154 /* 0x69C */ u32 field_0x69c;
155 /* 0x6A0 */ u8 mType;
156 /* 0x6A1 */ u8 field_0x6a1;
157 /* 0x6A2 */ u8 mSwitchBit;
158 /* 0x6A3 */ u8 field_0x6a3;
159 /* 0x6A4 */ u8 mIsHide;
160 /* 0x6A5 */ u8 field_0x6a5;
161 /* 0x6A6 */ u8 field_0x6a6;
162 /* 0x6A7 */ u8 field_0x6a7;
163 /* 0x6A8 */ u8 field_0x6a8;
164 /* 0x6A9 */ u8 field_0x6a9;
165 /* 0x6AA */ u8 mFriendFlag;
166 /* 0x6AB */ u8 field_0x6AB[0x6AC - 0x6AB];
167 /* 0x6AC */ dPath* mpPath;
168 /* 0x6B0 */ dPath* field_0x6b0;
169 /* 0x6B4 */ s8 mCurrentPntNo;
170 /* 0x6B5 */ u8 field_0x6B5[0x6B8 - 0x6B5];
171 /* 0x6B8 */ cXyz mTagPos;
172 /* 0x6C4 */ cXyz* mTagPosP;
173 /* 0x6C8 */ u8 mTagNo;
174 /* 0x6C9 */ u8 field_0x6c9;
175 /* 0x6CA */ u8 mFlyType;
176 /* 0x6CB */ u8 field_0x6cb;
177 /* 0x6CC */ u8 field_0x6cc;
178 /* 0x6CD */ u8 field_0x6cd;
179 /* 0x6CE */ u8 field_0x6ce;
180 /* 0x6CF */ u8 field_0x6cf;
181 /* 0x6D0 */ cXyz* field_0x6d0;
182 /* 0x6D4 */ f32 field_0x6d4;
183 /* 0x6D8 */ f32 mDistToPlayer;
184 /* 0x6DC */ f32 field_0x6dc;
185 /* 0x6E0 */ f32 field_0x6e0;
186 /* 0x6E4 */ s16 field_0x6e4;
187 /* 0x6E6 */ s16 field_0x6e6;
188 /* 0x6E8 */ s16 field_0x6e8;
189 /* 0x6EA */ s16 mAngleToPlayer;
190 /* 0x6EC */ f32 field_0x6ec;
191 /* 0x6F0 */ s16 field_0x6f0;
192 /* 0x6F2 */ s16 field_0x6f2;
193 /* 0x6F4 */ s16 field_0x6f4;
194 /* 0x6F6 */ s16 field_0x6f6;
195 /* 0x6F8 */ s16 field_0x6f8;
196 /* 0x6FA */ s16 field_0x6fa;
197 /* 0x6FC */ s16 field_0x6fc;
198 /* 0x6FE */ s16 field_0x6fe;
199 /* 0x700 */ s16 field_0x700;
200 /* 0x702 */ u8 field_0x702[0x704 - 0x702];
201 /* 0x704 */ int field_0x704;
202 /* 0x708 */ s16 field_0x708;
203 /* 0x70A */ s16 field_0x70a;
204 /* 0x70C */ s16 field_0x70c;
205 /* 0x70E */ s16 field_0x70e;
206 /* 0x710 */ s16 field_0x710;
207 /* 0x712 */ u8 field_0x712[0x714 - 0x712];
208 /* 0x714 */ int field_0x714;
209 /* 0x718 */ u32 field_0x718;
210 /* 0x71C */ u8 field_0x71c;
211 /* 0x71D */ u8 field_0x71d;
212 /* 0x71E */ u8 field_0x71E[0x720 - 0x71E];
214 /* 0x760 */ dBgS_ObjAcch mAcch;
215 /* 0x938 */ dCcD_Stts mStts;
216 /* 0x974 */ dCcD_Sph mSphCc;
217 /* 0xAAC */ dCcU_AtInfo mAtInfo;
218 /* 0xAD0 */ u32 field_0xad0;
219 /* 0xAD4 */ u32 field_0xad4;
220 /* 0xAD8 */ u32 field_0xad8;
221 /* 0xADC */ u32 field_0xadc;
222 /* 0xAE0 */ u32 field_0xae0;
223 /* 0xAE4 */ u32 field_0xae4;
224 /* 0xAE8 */ u32 mParticleKeys[3];
225 /* 0xAF4 */ u8 field_0xaf4;
226};
227
228STATIC_ASSERT(sizeof(daE_YM_c) == 0xAF8);
229
230struct E_YM_n {
231 static dCcD_SrcSph cc_sph_src;
232};
233
234
235#endif /* D_A_E_YM_H */
Definition Z2Creature.h:37
Definition d_cc_d.h:435
Definition d_a_e_ym.h:14
s8 field_0x4
Definition d_a_e_ym.h:20
f32 mSurpriseDistance
Definition d_a_e_ym.h:26
f32 mMoveRange
Definition d_a_e_ym.h:27
f32 mMoveSpeed
Definition d_a_e_ym.h:23
f32 mElectricInvincibilityTimeExtension
Definition d_a_e_ym.h:22
daE_YM_HIO_c()
Definition d_a_e_ym.cpp:42
virtual ~daE_YM_HIO_c()
Definition d_a_e_ym.h:18
f32 mModelSize
Definition d_a_e_ym.h:21
f32 mFlyAttackSpeed
Definition d_a_e_ym.h:25
f32 mFlyMoveSpeed
Definition d_a_e_ym.h:24
Twilight Insect.
Definition d_a_e_ym.h:38
s16 field_0x6e6
Definition d_a_e_ym.h:187
void action()
Definition d_a_e_ym.cpp:2874
u8 checkFlyTerritory()
Definition d_a_e_ym.cpp:1752
void setGoHomeType()
Definition d_a_e_ym.cpp:1199
dBgS_AcchCir mAcchCir
Definition d_a_e_ym.h:213
int field_0x714
Definition d_a_e_ym.h:208
f32 mDistToPlayer
Definition d_a_e_ym.h:183
u8 mFlyType
Definition d_a_e_ym.h:175
void executeDown()
Definition d_a_e_ym.cpp:938
u8 checkWall()
Definition d_a_e_ym.cpp:3347
u8 checkBck(char const *, int)
Definition d_a_e_ym.cpp:55
void executeSwitch()
Definition d_a_e_ym.cpp:2360
u8 mType
Definition d_a_e_ym.h:155
int create()
Definition d_a_e_ym.cpp:3397
void setDigEffect()
Definition d_a_e_ym.cpp:208
void setFriendFlag(u8 i_flag)
Definition d_a_e_ym.h:134
u32 field_0xad8
Definition d_a_e_ym.h:220
u8 field_0xaf4
Definition d_a_e_ym.h:225
u8 field_0x6a5
Definition d_a_e_ym.h:160
void checkFrinedSamePos()
Definition d_a_e_ym.cpp:2866
void executeBack()
Definition d_a_e_ym.cpp:1399
void executeAttack()
Definition d_a_e_ym.cpp:1483
u32 mParticleKeys[3]
Definition d_a_e_ym.h:224
s16 field_0x6e4
Definition d_a_e_ym.h:186
u8 field_0x6a8
Definition d_a_e_ym.h:163
u32 field_0xae4
Definition d_a_e_ym.h:223
void executeDefense()
Definition d_a_e_ym.cpp:1701
f32 field_0x6dc
Definition d_a_e_ym.h:184
daKago_c * mpKago
Definition d_a_e_ym.h:144
int mMode
Definition d_a_e_ym.h:153
u32 field_0xae0
Definition d_a_e_ym.h:222
void mtx_set()
Definition d_a_e_ym.cpp:3020
int draw()
Definition d_a_e_ym.cpp:97
u8 checkRailSurprise()
Definition d_a_e_ym.cpp:395
void setTagPosP()
Definition d_a_e_ym.h:66
s16 field_0x6f8
Definition d_a_e_ym.h:195
s16 field_0x6fa
Definition d_a_e_ym.h:196
u8 getTagNo()
Definition d_a_e_ym.h:62
void executeRiver()
Definition d_a_e_ym.cpp:2651
dCcD_Stts mStts
Definition d_a_e_ym.h:215
void setInclination()
Definition d_a_e_ym.cpp:1999
u8 checkAttackEnd()
Definition d_a_e_ym.cpp:1570
s16 field_0x700
Definition d_a_e_ym.h:199
u8 setAttackMotion()
Definition d_a_e_ym.cpp:1588
void damage_check()
Definition d_a_e_ym.cpp:1067
int _delete()
Definition d_a_e_ym.cpp:3157
u8 field_0x6cd
Definition d_a_e_ym.h:178
void setTagPos(cXyz &i_position)
Definition d_a_e_ym.h:64
u8 field_0x66E[0x670 - 0x66E]
Definition d_a_e_ym.h:146
u32 field_0xad0
Definition d_a_e_ym.h:218
s16 mAngleToPlayer
Definition d_a_e_ym.h:189
void executeFly()
Definition d_a_e_ym.cpp:1778
void initFly()
Definition d_a_e_ym.cpp:1764
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_ym.h:140
u8 field_0x71c
Definition d_a_e_ym.h:210
void setMoveSound(int)
Definition d_a_e_ym.cpp:528
f32 field_0x6ec
Definition d_a_e_ym.h:190
s16 field_0x70a
Definition d_a_e_ym.h:203
u8 checkBeforeBg(s16)
Definition d_a_e_ym.cpp:3229
void setAppear()
Definition d_a_e_ym.cpp:517
dCcU_AtInfo mAtInfo
Definition d_a_e_ym.h:217
int execute()
Definition d_a_e_ym.cpp:3082
u8 checkWolfBark()
Definition d_a_e_ym.cpp:309
u8 mTagNo
Definition d_a_e_ym.h:173
u8 field_0x6B5[0x6B8 - 0x6B5]
Definition d_a_e_ym.h:170
cXyz mPrevPos
Definition d_a_e_ym.h:147
cXyz * mTagPosP
Definition d_a_e_ym.h:172
void checkElectricStart()
Definition d_a_e_ym.cpp:2300
u8 field_0x6a3
Definition d_a_e_ym.h:158
u8 mSwitchBit
Definition d_a_e_ym.h:157
u8 mFriendFlag
Definition d_a_e_ym.h:165
void setLockByCargo()
Definition d_a_e_ym.cpp:2646
void setHideType()
Definition d_a_e_ym.cpp:3375
int field_0x704
Definition d_a_e_ym.h:201
u8 getSwitchBit()
Definition d_a_e_ym.h:136
u8 checkSurpriseNear()
Definition d_a_e_ym.cpp:413
u32 field_0xadc
Definition d_a_e_ym.h:221
u32 field_0x69c
Definition d_a_e_ym.h:154
void bckSetFly(int, u8, f32, f32)
Definition d_a_e_ym.cpp:91
void setFireEffect()
Definition d_a_e_ym.cpp:258
u8 mIsHide
Definition d_a_e_ym.h:159
u8 field_0x6a9
Definition d_a_e_ym.h:164
s16 field_0x70c
Definition d_a_e_ym.h:204
void cc_set()
Definition d_a_e_ym.cpp:3031
void executeElectric()
Definition d_a_e_ym.cpp:2319
Z2CreatureEnemy mSound
Definition d_a_e_ym.h:142
s16 field_0x6f6
Definition d_a_e_ym.h:194
fopAc_ac_c * field_0x660
Definition d_a_e_ym.h:143
u8 field_0x6cb
Definition d_a_e_ym.h:176
void setElecEffect2()
Definition d_a_e_ym.cpp:237
void setRiverAttention()
Definition d_a_e_ym.cpp:2625
s16 field_0x6f4
Definition d_a_e_ym.h:193
int getSurpriseType()
Definition d_a_e_ym.cpp:1176
s16 field_0x708
Definition d_a_e_ym.h:202
int CreateHeap()
Definition d_a_e_ym.cpp:3181
s16 field_0x6fe
Definition d_a_e_ym.h:198
int mLastAction
Definition d_a_e_ym.h:152
mDoExt_brkAnm * mpBrk
Definition d_a_e_ym.h:141
dBgS_ObjAcch mAcch
Definition d_a_e_ym.h:214
void executeWind()
Definition d_a_e_ym.cpp:1101
void initFireFly(int)
Definition d_a_e_ym.cpp:2472
s8 mCurrentPntNo
Definition d_a_e_ym.h:169
u8 field_0x6c9
Definition d_a_e_ym.h:174
void bckSet(int, u8, f32, f32)
Definition d_a_e_ym.cpp:60
cXyz * field_0x6d0
Definition d_a_e_ym.h:181
void executeFire()
Definition d_a_e_ym.cpp:2485
void executeBackRail()
Definition d_a_e_ym.cpp:2206
void executeRail()
Definition d_a_e_ym.cpp:2148
u8 field_0x712[0x714 - 0x712]
Definition d_a_e_ym.h:207
void setElecEffect1()
Definition d_a_e_ym.cpp:218
u8 checkRailDig()
Definition d_a_e_ym.cpp:2130
u8 field_0x71E[0x720 - 0x71E]
Definition d_a_e_ym.h:212
f32 field_0x6e0
Definition d_a_e_ym.h:185
void executeWait()
Definition d_a_e_ym.cpp:564
u32 field_0x718
Definition d_a_e_ym.h:209
f32 field_0x688
Definition d_a_e_ym.h:149
request_of_phase_process_class mPhase
Definition d_a_e_ym.h:139
u8 checkBeforeGround()
Definition d_a_e_ym.cpp:3298
void executeMove()
Definition d_a_e_ym.cpp:695
s16 field_0x6f2
Definition d_a_e_ym.h:192
void checkInitialWall()
Definition d_a_e_ym.cpp:3321
void setActionMode(int)
Definition d_a_e_ym.cpp:554
void executeFlyAttack()
Definition d_a_e_ym.cpp:2011
u8 checkSurpriseLock()
Definition d_a_e_ym.cpp:335
int mAction
Definition d_a_e_ym.h:151
s16 field_0x70e
Definition d_a_e_ym.h:205
daE_YM_Action
Definition d_a_e_ym.h:40
@ ACT_MOVE
Definition d_a_e_ym.h:42
@ ACT_RIVER
Definition d_a_e_ym.h:59
@ ACT_ATTACK
Definition d_a_e_ym.h:49
@ ACT_ELECTRIC
Definition d_a_e_ym.h:56
@ ACT_FLY_ATTACK
Definition d_a_e_ym.h:53
@ ACT_FIRE
Definition d_a_e_ym.h:58
@ ACT_WIND
Definition d_a_e_ym.h:45
@ ACT_DOWN
Definition d_a_e_ym.h:44
@ ACT_ESCAPE
Definition d_a_e_ym.h:43
@ ACT_FLY
Definition d_a_e_ym.h:52
@ ACT_FALL
Definition d_a_e_ym.h:48
@ ACT_BACK
Definition d_a_e_ym.h:47
@ ACT_SWITCH
Definition d_a_e_ym.h:57
@ ACT_WAIT
Definition d_a_e_ym.h:41
@ ACT_RAIL
Definition d_a_e_ym.h:54
@ ACT_SURPRISE
Definition d_a_e_ym.h:46
@ ACT_BACK_RAIL
Definition d_a_e_ym.h:55
@ ACT_ATTACK_WALL
Definition d_a_e_ym.h:50
@ ACT_DEFENSE
Definition d_a_e_ym.h:51
dPath * field_0x6b0
Definition d_a_e_ym.h:168
s16 field_0x6e8
Definition d_a_e_ym.h:188
void setNormalCc()
Definition d_a_e_ym.cpp:511
void setNextPathPoint()
Definition d_a_e_ym.cpp:2117
cXyz mTagPos
Definition d_a_e_ym.h:171
u32 field_0xad4
Definition d_a_e_ym.h:219
u8 field_0x6a7
Definition d_a_e_ym.h:162
void setTurnSound()
Definition d_a_e_ym.cpp:547
void executeSurprise()
Definition d_a_e_ym.cpp:1224
u8 field_0x71d
Definition d_a_e_ym.h:211
f32 field_0x6d4
Definition d_a_e_ym.h:182
csXyz field_0x668
Definition d_a_e_ym.h:145
s16 field_0x6f0
Definition d_a_e_ym.h:191
u8 field_0x6a6
Definition d_a_e_ym.h:161
u8 field_0x702[0x704 - 0x702]
Definition d_a_e_ym.h:200
u8 field_0x6cf
Definition d_a_e_ym.h:180
void executeFall()
Definition d_a_e_ym.cpp:1425
dCcD_Sph mSphCc
Definition d_a_e_ym.h:216
bool checkWallCrash()
Definition d_a_e_ym.cpp:289
s16 field_0x710
Definition d_a_e_ym.h:206
void executeAttackWall()
Definition d_a_e_ym.cpp:1611
u8 field_0x6ce
Definition d_a_e_ym.h:179
void executeEscape()
Definition d_a_e_ym.cpp:791
u8 getFriendFlag()
Definition d_a_e_ym.h:135
void setSurpriseAway()
Definition d_a_e_ym.cpp:1192
f32 field_0x68c
Definition d_a_e_ym.h:150
s16 field_0x6fc
Definition d_a_e_ym.h:197
cXyz field_0x67c
Definition d_a_e_ym.h:148
u8 field_0x6a1
Definition d_a_e_ym.h:156
u8 field_0x6cc
Definition d_a_e_ym.h:177
dPath * mpPath
Definition d_a_e_ym.h:167
u8 field_0x6AB[0x6AC - 0x6AB]
Definition d_a_e_ym.h:166
Basket.
Definition d_a_kago.h:15
Definition f_op_actor.h:255
Definition m_Do_ext.h:84
STATIC_ASSERT(sizeof(daE_YM_c)==0xAF8)
Definition d_a_e_ym.h:230
static dCcD_SrcSph cc_sph_src
Definition d_a_e_ym.h:23
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_path.h:18
Definition d_a_hozelda.cpp:74
Definition d_a_npc_fguard.cpp:23
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