Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
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
22class daE_YM_c : public fopEn_enemy_c {
23public:
25 /* 0 */ ACT_WAIT,
26 /* 1 */ ACT_MOVE,
27 /* 2 */ ACT_ESCAPE,
28 /* 3 */ ACT_DOWN,
29 /* 4 */ ACT_WIND,
30 /* 5 */ ACT_SURPRISE,
31 /* 6 */ ACT_BACK,
32 /* 7 */ ACT_FALL,
33 /* 8 */ ACT_ATTACK,
35 /* 10 */ ACT_DEFENSE,
36 /* 11 */ ACT_FLY,
38 /* 13 */ ACT_RAIL,
39 /* 14 */ ACT_BACK_RAIL,
40 /* 15 */ ACT_ELECTRIC,
41 /* 16 */ ACT_SWITCH,
42 /* 17 */ ACT_FIRE,
43 /* 18 */ ACT_RIVER,
44 };
45
46 u8 getTagNo() { return mTagNo; }
47
48 void setTagPos(cXyz& i_position) { mTagPos = i_position; }
49
51
52 u8 checkBck(char const*, int);
53 void bckSet(int, u8, f32, f32);
54 void bckSetFly(int, u8, f32, f32);
55 int draw();
56 void setDigEffect();
57 void setElecEffect1();
58 void setElecEffect2();
59 void setFireEffect();
60 bool checkWallCrash();
65 void setNormalCc();
66 void setAppear();
67 void setMoveSound(int);
68 void setTurnSound();
69 void setActionMode(int);
70 void executeWait();
71 void executeMove();
72 void executeEscape();
73 void executeDown();
74 void damage_check();
75 void executeWind();
76 int getSurpriseType();
77 void setSurpriseAway();
78 void setGoHomeType();
79 void executeSurprise();
80 void executeBack();
81 void executeFall();
82 void executeAttack();
85 void executeAttackWall();
86 void executeDefense();
88 void initFly();
89 void executeFly();
90 void setInclination();
91 void executeFlyAttack();
92 void setNextPathPoint();
94 void executeRail();
95 void executeBackRail();
96 void checkElectricStart();
97 void executeElectric();
98 void executeSwitch();
99 void initFireFly(int);
100 void executeFire();
101 void setRiverAttention();
102 void setLockByCargo();
103 void executeRiver();
104 void checkFrinedSamePos();
105 void action();
106 void mtx_set();
107 void cc_set();
108 int execute();
109 int _delete();
110 int CreateHeap();
113 void checkInitialWall();
114 u8 checkWall();
115 void setHideType();
116 int create();
117
118 void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; }
121 u8 isHide() { return mIsHide; }
122
123private:
126 /* 0x5B8 */ mDoExt_brkAnm* mpBrk;
129 /* 0x664 */ daKago_c* mpKago;
130 /* 0x668 */ csXyz field_0x668;
131 /* 0x66E */ u8 field_0x66E[0x670 - 0x66E];
132 /* 0x670 */ cXyz mPrevPos;
133 /* 0x67C */ cXyz field_0x67c;
134 /* 0x688 */ f32 field_0x688;
135 /* 0x68C */ f32 field_0x68c;
136 /* 0x690 */ int mAction;
137 /* 0x694 */ int mLastAction;
138 /* 0x698 */ int mMode;
139 /* 0x69C */ u32 field_0x69c;
140 /* 0x6A0 */ u8 mType;
141 /* 0x6A1 */ u8 field_0x6a1;
142 /* 0x6A2 */ u8 mSwitchBit;
143 /* 0x6A3 */ u8 field_0x6a3;
144 /* 0x6A4 */ u8 mIsHide;
145 /* 0x6A5 */ u8 field_0x6a5;
146 /* 0x6A6 */ u8 field_0x6a6;
147 /* 0x6A7 */ u8 field_0x6a7;
148 /* 0x6A8 */ u8 field_0x6a8;
149 /* 0x6A9 */ u8 field_0x6a9;
150 /* 0x6AA */ u8 mFriendFlag;
151 /* 0x6AB */ u8 field_0x6AB[0x6AC - 0x6AB];
152 /* 0x6AC */ dPath* mpPath;
153 /* 0x6B0 */ dPath* field_0x6b0;
154 /* 0x6B4 */ s8 mCurrentPntNo;
155 /* 0x6B5 */ u8 field_0x6B5[0x6B8 - 0x6B5];
156 /* 0x6B8 */ cXyz mTagPos;
157 /* 0x6C4 */ cXyz* mTagPosP;
158 /* 0x6C8 */ u8 mTagNo;
159 /* 0x6C9 */ u8 field_0x6c9;
160 /* 0x6CA */ u8 mFlyType;
161 /* 0x6CB */ u8 field_0x6cb;
162 /* 0x6CC */ u8 field_0x6cc;
163 /* 0x6CD */ u8 field_0x6cd;
164 /* 0x6CE */ u8 field_0x6ce;
165 /* 0x6CF */ u8 field_0x6cf;
166 /* 0x6D0 */ cXyz* field_0x6d0;
167 /* 0x6D4 */ f32 field_0x6d4;
168 /* 0x6D8 */ f32 mDistToPlayer;
169 /* 0x6DC */ f32 field_0x6dc;
170 /* 0x6E0 */ f32 field_0x6e0;
171 /* 0x6E4 */ s16 field_0x6e4;
172 /* 0x6E6 */ s16 field_0x6e6;
173 /* 0x6E8 */ s16 field_0x6e8;
174 /* 0x6EA */ s16 mAngleToPlayer;
175 /* 0x6EC */ f32 field_0x6ec;
176 /* 0x6F0 */ s16 field_0x6f0;
177 /* 0x6F2 */ s16 field_0x6f2;
178 /* 0x6F4 */ s16 field_0x6f4;
179 /* 0x6F6 */ s16 field_0x6f6;
180 /* 0x6F8 */ s16 field_0x6f8;
181 /* 0x6FA */ s16 field_0x6fa;
182 /* 0x6FC */ s16 field_0x6fc;
183 /* 0x6FE */ s16 field_0x6fe;
184 /* 0x700 */ s16 field_0x700;
185 /* 0x702 */ u8 field_0x702[0x704 - 0x702];
186 /* 0x704 */ int field_0x704;
187 /* 0x708 */ s16 field_0x708;
188 /* 0x70A */ s16 field_0x70a;
189 /* 0x70C */ s16 field_0x70c;
190 /* 0x70E */ s16 field_0x70e;
191 /* 0x710 */ s16 field_0x710;
192 /* 0x712 */ u8 field_0x712[0x714 - 0x712];
193 /* 0x714 */ int field_0x714;
194 /* 0x718 */ u32 field_0x718;
195 /* 0x71C */ u8 field_0x71c;
196 /* 0x71D */ u8 field_0x71d;
197 /* 0x71E */ u8 field_0x71E[0x720 - 0x71E];
199 /* 0x760 */ dBgS_ObjAcch mAcch;
200 /* 0x938 */ dCcD_Stts mStts;
201 /* 0x974 */ dCcD_Sph mSphCc;
202 /* 0xAAC */ dCcU_AtInfo mAtInfo;
203 /* 0xAD0 */ u32 field_0xad0;
204 /* 0xAD4 */ u32 field_0xad4;
205 /* 0xAD8 */ u32 field_0xad8;
206 /* 0xADC */ u32 field_0xadc;
207 /* 0xAE0 */ u32 field_0xae0;
208 /* 0xAE4 */ u32 field_0xae4;
209 /* 0xAE8 */ u32 mParticleKeys[3];
210 /* 0xAF4 */ u8 field_0xaf4;
211};
212
213STATIC_ASSERT(sizeof(daE_YM_c) == 0xAF8);
214
215struct E_YM_n {
216 static dCcD_SrcSph cc_sph_src;
217};
218
219
220#endif /* D_A_E_YM_H */
Definition Z2Creature.h:37
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Twilight Insect.
Definition d_a_e_ym.h:22
s16 field_0x6e6
Definition d_a_e_ym.h:172
void action()
Definition d_a_e_ym.cpp:2818
u8 checkFlyTerritory()
Definition d_a_e_ym.cpp:1716
void setGoHomeType()
Definition d_a_e_ym.cpp:1172
dBgS_AcchCir mAcchCir
Definition d_a_e_ym.h:198
int field_0x714
Definition d_a_e_ym.h:193
f32 mDistToPlayer
Definition d_a_e_ym.h:168
u8 mFlyType
Definition d_a_e_ym.h:160
void executeDown()
Definition d_a_e_ym.cpp:918
u8 checkWall()
Definition d_a_e_ym.cpp:3276
u8 checkBck(char const *, int)
Definition d_a_e_ym.cpp:63
void executeSwitch()
Definition d_a_e_ym.cpp:2312
u8 mType
Definition d_a_e_ym.h:140
int create()
Definition d_a_e_ym.cpp:3324
void setDigEffect()
Definition d_a_e_ym.cpp:205
void setFriendFlag(u8 i_flag)
Definition d_a_e_ym.h:118
u32 field_0xad8
Definition d_a_e_ym.h:205
u8 field_0xaf4
Definition d_a_e_ym.h:210
u8 field_0x6a5
Definition d_a_e_ym.h:145
void checkFrinedSamePos()
Definition d_a_e_ym.cpp:2811
void executeBack()
Definition d_a_e_ym.cpp:1370
void executeAttack()
Definition d_a_e_ym.cpp:1452
u32 mParticleKeys[3]
Definition d_a_e_ym.h:209
s16 field_0x6e4
Definition d_a_e_ym.h:171
u8 field_0x6a8
Definition d_a_e_ym.h:148
u32 field_0xae4
Definition d_a_e_ym.h:208
void executeDefense()
Definition d_a_e_ym.cpp:1666
f32 field_0x6dc
Definition d_a_e_ym.h:169
daKago_c * mpKago
Definition d_a_e_ym.h:129
int mMode
Definition d_a_e_ym.h:138
u32 field_0xae0
Definition d_a_e_ym.h:207
void mtx_set()
Definition d_a_e_ym.cpp:2963
int draw()
Definition d_a_e_ym.cpp:102
u8 checkRailSurprise()
Definition d_a_e_ym.cpp:385
void setTagPosP()
Definition d_a_e_ym.h:50
s16 field_0x6f8
Definition d_a_e_ym.h:180
s16 field_0x6fa
Definition d_a_e_ym.h:181
u8 getTagNo()
Definition d_a_e_ym.h:46
void executeRiver()
Definition d_a_e_ym.cpp:2598
dCcD_Stts mStts
Definition d_a_e_ym.h:200
void setInclination()
Definition d_a_e_ym.cpp:1960
u8 checkAttackEnd()
Definition d_a_e_ym.cpp:1538
s16 field_0x700
Definition d_a_e_ym.h:184
u8 setAttackMotion()
Definition d_a_e_ym.cpp:1555
void damage_check()
Definition d_a_e_ym.cpp:1044
int _delete()
Definition d_a_e_ym.cpp:3095
u8 field_0x6cd
Definition d_a_e_ym.h:163
void setTagPos(cXyz &i_position)
Definition d_a_e_ym.h:48
u8 field_0x66E[0x670 - 0x66E]
Definition d_a_e_ym.h:131
u32 field_0xad0
Definition d_a_e_ym.h:203
s16 mAngleToPlayer
Definition d_a_e_ym.h:174
void executeFly()
Definition d_a_e_ym.cpp:1740
void initFly()
Definition d_a_e_ym.cpp:1727
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_ym.h:125
u8 field_0x71c
Definition d_a_e_ym.h:195
void setMoveSound(int)
Definition d_a_e_ym.cpp:514
f32 field_0x6ec
Definition d_a_e_ym.h:175
s16 field_0x70a
Definition d_a_e_ym.h:188
u8 checkBeforeBg(s16)
Definition d_a_e_ym.cpp:3163
void setAppear()
Definition d_a_e_ym.cpp:504
dCcU_AtInfo mAtInfo
Definition d_a_e_ym.h:202
int execute()
Definition d_a_e_ym.cpp:3023
u8 checkWolfBark()
Definition d_a_e_ym.cpp:301
u8 mTagNo
Definition d_a_e_ym.h:158
u8 field_0x6B5[0x6B8 - 0x6B5]
Definition d_a_e_ym.h:155
cXyz mPrevPos
Definition d_a_e_ym.h:132
cXyz * mTagPosP
Definition d_a_e_ym.h:157
void checkElectricStart()
Definition d_a_e_ym.cpp:2254
u8 field_0x6a3
Definition d_a_e_ym.h:143
u8 mSwitchBit
Definition d_a_e_ym.h:142
u8 mFriendFlag
Definition d_a_e_ym.h:150
void setLockByCargo()
Definition d_a_e_ym.cpp:2594
void setHideType()
Definition d_a_e_ym.cpp:3303
int field_0x704
Definition d_a_e_ym.h:186
u8 getSwitchBit()
Definition d_a_e_ym.h:120
u8 checkSurpriseNear()
Definition d_a_e_ym.cpp:402
u32 field_0xadc
Definition d_a_e_ym.h:206
u32 field_0x69c
Definition d_a_e_ym.h:139
void bckSetFly(int, u8, f32, f32)
Definition d_a_e_ym.cpp:97
u8 isHide()
Definition d_a_e_ym.h:121
void setFireEffect()
Definition d_a_e_ym.cpp:252
u8 mIsHide
Definition d_a_e_ym.h:144
u8 field_0x6a9
Definition d_a_e_ym.h:149
s16 field_0x70c
Definition d_a_e_ym.h:189
void cc_set()
Definition d_a_e_ym.cpp:2973
void executeElectric()
Definition d_a_e_ym.cpp:2272
Z2CreatureEnemy mSound
Definition d_a_e_ym.h:127
s16 field_0x6f6
Definition d_a_e_ym.h:179
fopAc_ac_c * field_0x660
Definition d_a_e_ym.h:128
u8 field_0x6cb
Definition d_a_e_ym.h:161
void setElecEffect2()
Definition d_a_e_ym.cpp:232
void setRiverAttention()
Definition d_a_e_ym.cpp:2574
s16 field_0x6f4
Definition d_a_e_ym.h:178
int getSurpriseType()
Definition d_a_e_ym.cpp:1151
s16 field_0x708
Definition d_a_e_ym.h:187
int CreateHeap()
Definition d_a_e_ym.cpp:3117
s16 field_0x6fe
Definition d_a_e_ym.h:183
int mLastAction
Definition d_a_e_ym.h:137
mDoExt_brkAnm * mpBrk
Definition d_a_e_ym.h:126
dBgS_ObjAcch mAcch
Definition d_a_e_ym.h:199
void executeWind()
Definition d_a_e_ym.cpp:1077
void initFireFly(int)
Definition d_a_e_ym.cpp:2423
s8 mCurrentPntNo
Definition d_a_e_ym.h:154
u8 field_0x6c9
Definition d_a_e_ym.h:159
void bckSet(int, u8, f32, f32)
Definition d_a_e_ym.cpp:67
cXyz * field_0x6d0
Definition d_a_e_ym.h:166
void executeFire()
Definition d_a_e_ym.cpp:2435
void executeBackRail()
Definition d_a_e_ym.cpp:2161
void executeRail()
Definition d_a_e_ym.cpp:2105
u8 field_0x712[0x714 - 0x712]
Definition d_a_e_ym.h:192
void setElecEffect1()
Definition d_a_e_ym.cpp:214
u8 checkRailDig()
Definition d_a_e_ym.cpp:2088
u8 field_0x71E[0x720 - 0x71E]
Definition d_a_e_ym.h:197
f32 field_0x6e0
Definition d_a_e_ym.h:170
void executeWait()
Definition d_a_e_ym.cpp:547
u32 field_0x718
Definition d_a_e_ym.h:194
f32 field_0x688
Definition d_a_e_ym.h:134
request_of_phase_process_class mPhase
Definition d_a_e_ym.h:124
u8 checkBeforeGround()
Definition d_a_e_ym.cpp:3229
void executeMove()
Definition d_a_e_ym.cpp:677
s16 field_0x6f2
Definition d_a_e_ym.h:177
void checkInitialWall()
Definition d_a_e_ym.cpp:3251
void setActionMode(int)
Definition d_a_e_ym.cpp:538
void executeFlyAttack()
Definition d_a_e_ym.cpp:1971
u8 checkSurpriseLock()
Definition d_a_e_ym.cpp:326
int mAction
Definition d_a_e_ym.h:136
s16 field_0x70e
Definition d_a_e_ym.h:190
daE_YM_Action
Definition d_a_e_ym.h:24
@ ACT_MOVE
Definition d_a_e_ym.h:26
@ ACT_RIVER
Definition d_a_e_ym.h:43
@ ACT_ATTACK
Definition d_a_e_ym.h:33
@ ACT_ELECTRIC
Definition d_a_e_ym.h:40
@ ACT_FLY_ATTACK
Definition d_a_e_ym.h:37
@ ACT_FIRE
Definition d_a_e_ym.h:42
@ ACT_WIND
Definition d_a_e_ym.h:29
@ ACT_DOWN
Definition d_a_e_ym.h:28
@ ACT_ESCAPE
Definition d_a_e_ym.h:27
@ ACT_FLY
Definition d_a_e_ym.h:36
@ ACT_FALL
Definition d_a_e_ym.h:32
@ ACT_BACK
Definition d_a_e_ym.h:31
@ ACT_SWITCH
Definition d_a_e_ym.h:41
@ ACT_WAIT
Definition d_a_e_ym.h:25
@ ACT_RAIL
Definition d_a_e_ym.h:38
@ ACT_SURPRISE
Definition d_a_e_ym.h:30
@ ACT_BACK_RAIL
Definition d_a_e_ym.h:39
@ ACT_ATTACK_WALL
Definition d_a_e_ym.h:34
@ ACT_DEFENSE
Definition d_a_e_ym.h:35
dPath * field_0x6b0
Definition d_a_e_ym.h:153
s16 field_0x6e8
Definition d_a_e_ym.h:173
void setNormalCc()
Definition d_a_e_ym.cpp:499
void setNextPathPoint()
Definition d_a_e_ym.cpp:2076
cXyz mTagPos
Definition d_a_e_ym.h:156
u32 field_0xad4
Definition d_a_e_ym.h:204
u8 field_0x6a7
Definition d_a_e_ym.h:147
void setTurnSound()
Definition d_a_e_ym.cpp:532
void executeSurprise()
Definition d_a_e_ym.cpp:1196
u8 field_0x71d
Definition d_a_e_ym.h:196
f32 field_0x6d4
Definition d_a_e_ym.h:167
csXyz field_0x668
Definition d_a_e_ym.h:130
s16 field_0x6f0
Definition d_a_e_ym.h:176
u8 field_0x6a6
Definition d_a_e_ym.h:146
u8 field_0x702[0x704 - 0x702]
Definition d_a_e_ym.h:185
u8 field_0x6cf
Definition d_a_e_ym.h:165
void executeFall()
Definition d_a_e_ym.cpp:1395
dCcD_Sph mSphCc
Definition d_a_e_ym.h:201
bool checkWallCrash()
Definition d_a_e_ym.cpp:282
s16 field_0x710
Definition d_a_e_ym.h:191
void executeAttackWall()
Definition d_a_e_ym.cpp:1577
u8 field_0x6ce
Definition d_a_e_ym.h:164
void executeEscape()
Definition d_a_e_ym.cpp:772
u8 getFriendFlag()
Definition d_a_e_ym.h:119
void setSurpriseAway()
Definition d_a_e_ym.cpp:1166
f32 field_0x68c
Definition d_a_e_ym.h:135
s16 field_0x6fc
Definition d_a_e_ym.h:182
cXyz field_0x67c
Definition d_a_e_ym.h:133
u8 field_0x6a1
Definition d_a_e_ym.h:141
u8 field_0x6cc
Definition d_a_e_ym.h:162
dPath * mpPath
Definition d_a_e_ym.h:152
u8 field_0x6AB[0x6AC - 0x6AB]
Definition d_a_e_ym.h:151
Player-controlled Kargarok.
Definition d_a_kago.h:19
Definition f_op_actor.h:230
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
Definition m_Do_ext.h:94
STATIC_ASSERT(sizeof(daE_YM_c)==0xAF8)
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
Definition d_a_e_ym.h:215
static dCcD_SrcSph cc_sph_src
Definition d_a_e_ym.h:34
Definition c_xyz.h:7
Definition d_cc_d.h:94
Definition d_cc_uty.h:20
Definition d_path.h:18
Definition c_phase.h:17