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#include "m_Do/m_Do_ext.h"
12
13class daKago_c;
14
23class daE_YM_c : public fopEn_enemy_c {
24public:
26 /* 0 */ ACT_WAIT,
27 /* 1 */ ACT_MOVE,
28 /* 2 */ ACT_ESCAPE,
29 /* 3 */ ACT_DOWN,
30 /* 4 */ ACT_WIND,
31 /* 5 */ ACT_SURPRISE,
32 /* 6 */ ACT_BACK,
33 /* 7 */ ACT_FALL,
34 /* 8 */ ACT_ATTACK,
36 /* 10 */ ACT_DEFENSE,
37 /* 11 */ ACT_FLY,
39 /* 13 */ ACT_RAIL,
40 /* 14 */ ACT_BACK_RAIL,
41 /* 15 */ ACT_ELECTRIC,
42 /* 16 */ ACT_SWITCH,
43 /* 17 */ ACT_FIRE,
44 /* 18 */ ACT_RIVER,
45 };
46
47 u8 getTagNo() { return mTagNo; }
48
49 void setTagPos(cXyz& i_position) { mTagPos = i_position; }
50
52
53 bool checkBck(char const*, int);
54 void bckSet(int, u8, f32, f32);
55 void bckSetFly(int, u8, f32, f32);
56 int draw();
57 void setWaterEffect(); // unused
58 void setDigEffect();
59 void setElecEffect1();
60 void setElecEffect2();
61 void setFireEffect();
62 bool checkWallCrash();
63 bool checkWolfBark();
64 bool checkSurpriseLock();
65 bool checkRailSurprise();
66 bool checkSurpriseNear();
67 void setNormalCc();
68 void setAppear();
69 void setMoveSound(int);
70 void setTurnSound();
71 void setActionMode(int);
72 void executeWait();
73 void executeMove();
74 void executeEscape();
75 void executeDown();
76 void damage_check();
77 void executeWind();
78 int getSurpriseType();
79 void setSurpriseAway();
80 void setGoHomeType();
81 void executeSurprise();
82 void executeBack();
83 void executeFall();
84 void executeAttack();
85 bool checkAttackEnd();
86 bool setAttackMotion();
87 void executeAttackWall();
88 void executeDefense();
89 bool checkFlyTerritory();
90 void initFly();
91 void executeFly();
92 void setInclination();
93 void executeFlyAttack();
94 void setNextPathPoint();
95 bool checkRailDig();
96 void executeRail();
97 void executeBackRail();
98 void checkElectricStart();
99 void executeElectric();
100 void executeSwitch();
101 void initFireFly(int);
102 void executeFire();
103 void setRiverAttention();
104 void setLockByCargo();
105 void executeRiver();
106 void checkFrinedSamePos();
107 void action();
108 void mtx_set();
109 void cc_set();
110 int execute();
111 int _delete();
112 int CreateHeap();
113 bool checkBeforeBg(s16);
114 bool checkBeforeGround();
115 void checkInitialWall();
116 u8 checkWall();
117 void setHideType();
118 int create();
119
120 void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; }
123 u8 isHide() { return mIsHide; }
124
125private:
128 /* 0x5B8 */ mDoExt_brkAnm* mpBrk;
131 /* 0x664 */ daKago_c* mpKago;
132 /* 0x668 */ csXyz field_0x668;
133 /* 0x66E */ u8 field_0x66E[0x670 - 0x66E];
134 /* 0x670 */ cXyz mPrevPos;
135 /* 0x67C */ cXyz field_0x67c;
136 /* 0x688 */ f32 field_0x688;
137 /* 0x68C */ f32 field_0x68c; // model size?
138 /* 0x690 */ int mAction;
139 /* 0x694 */ int mLastAction;
140 /* 0x698 */ int mMode;
141 /* 0x69C */ u32 field_0x69c;
142 /* 0x6A0 */ u8 mType;
143 /* 0x6A1 */ u8 field_0x6a1;
144 /* 0x6A2 */ u8 mSwitchBit;
145 /* 0x6A3 */ u8 field_0x6a3;
146 /* 0x6A4 */ u8 mIsHide;
147 /* 0x6A5 */ u8 field_0x6a5;
148 /* 0x6A6 */ u8 field_0x6a6;
149 /* 0x6A7 */ u8 field_0x6a7;
150 /* 0x6A8 */ u8 field_0x6a8;
151 /* 0x6A9 */ u8 field_0x6a9;
152 /* 0x6AA */ u8 mFriendFlag;
153 /* 0x6AB */ u8 field_0x6AB[0x6AC - 0x6AB];
154 /* 0x6AC */ dPath* mpPath;
155 /* 0x6B0 */ dPath* field_0x6b0;
156 /* 0x6B4 */ s8 mCurrentPntNo;
157 /* 0x6B5 */ u8 field_0x6B5[0x6B8 - 0x6B5];
158 /* 0x6B8 */ cXyz mTagPos;
159 /* 0x6C4 */ cXyz* mTagPosP;
160 /* 0x6C8 */ u8 mTagNo;
161 /* 0x6C9 */ u8 field_0x6c9;
162 /* 0x6CA */ u8 mFlyType;
163 /* 0x6CB */ u8 field_0x6cb;
164 /* 0x6CC */ u8 field_0x6cc;
165 /* 0x6CD */ u8 field_0x6cd;
166 /* 0x6CE */ u8 field_0x6ce;
167 /* 0x6CF */ u8 field_0x6cf;
168 /* 0x6D0 */ cXyz* field_0x6d0;
169 /* 0x6D4 */ f32 field_0x6d4;
170 /* 0x6D8 */ f32 mDistToPlayer;
171 /* 0x6DC */ f32 field_0x6dc;
172 /* 0x6E0 */ f32 field_0x6e0;
173 /* 0x6E4 */ s16 field_0x6e4;
174 /* 0x6E6 */ s16 field_0x6e6;
175 /* 0x6E8 */ s16 field_0x6e8;
176 /* 0x6EA */ s16 mAngleToPlayer;
177 /* 0x6EC */ f32 field_0x6ec;
178 /* 0x6F0 */ s16 field_0x6f0;
179 /* 0x6F2 */ s16 field_0x6f2;
180 /* 0x6F4 */ s16 field_0x6f4;
181 /* 0x6F6 */ s16 field_0x6f6;
182 /* 0x6F8 */ s16 field_0x6f8;
183 /* 0x6FA */ s16 field_0x6fa;
184 /* 0x6FC */ s16 field_0x6fc;
185 /* 0x6FE */ s16 field_0x6fe;
186 /* 0x700 */ s16 field_0x700;
187 /* 0x702 */ u8 field_0x702[0x704 - 0x702];
188 /* 0x704 */ int field_0x704;
189 /* 0x708 */ s16 field_0x708;
190 /* 0x70A */ s16 field_0x70a;
191 /* 0x70C */ s16 field_0x70c;
192 /* 0x70E */ s16 field_0x70e;
193 /* 0x710 */ s16 field_0x710;
194 /* 0x712 */ u8 field_0x712[0x714 - 0x712];
195 /* 0x714 */ int field_0x714;
196 /* 0x718 */ u32 field_0x718;
197 /* 0x71C */ u8 field_0x71c;
198 /* 0x71D */ u8 field_0x71d;
199 /* 0x71E */ u8 field_0x71E[0x720 - 0x71E];
201 /* 0x760 */ dBgS_ObjAcch mAcch;
202 /* 0x938 */ dCcD_Stts mStts;
203 /* 0x974 */ dCcD_Sph mSphCc;
204 /* 0xAAC */ dCcU_AtInfo mAtInfo;
205 /* 0xAD0 */ u32 field_0xad0;
206 /* 0xAD4 */ u32 field_0xad4;
207 /* 0xAD8 */ u32 field_0xad8;
208 /* 0xADC */ u32 field_0xadc;
209 /* 0xAE0 */ u32 field_0xae0;
210 /* 0xAE4 */ u32 field_0xae4;
211 /* 0xAE8 */ u32 mParticleKeys[3];
212 /* 0xAF4 */ u8 field_0xaf4;
213};
214
215STATIC_ASSERT(sizeof(daE_YM_c) == 0xAF8);
216
217struct E_YM_n {
218 static dCcD_SrcSph cc_sph_src;
219};
220
221
222#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:249
Definition d_cc_d.h:487
Definition d_cc_d.h:273
Twilight Insect.
Definition d_a_e_ym.h:23
s16 field_0x6e6
Definition d_a_e_ym.h:174
void action()
Definition d_a_e_ym.cpp:2995
void setGoHomeType()
Definition d_a_e_ym.cpp:1264
dBgS_AcchCir mAcchCir
Definition d_a_e_ym.h:200
int field_0x714
Definition d_a_e_ym.h:195
f32 mDistToPlayer
Definition d_a_e_ym.h:170
u8 mFlyType
Definition d_a_e_ym.h:162
void executeDown()
Definition d_a_e_ym.cpp:999
u8 checkWall()
Definition d_a_e_ym.cpp:3491
void executeSwitch()
Definition d_a_e_ym.cpp:2492
bool checkBck(char const *, int)
Definition d_a_e_ym.cpp:84
u8 mType
Definition d_a_e_ym.h:142
int create()
Definition d_a_e_ym.cpp:3540
void setDigEffect()
Definition d_a_e_ym.cpp:235
void setFriendFlag(u8 i_flag)
Definition d_a_e_ym.h:120
u32 field_0xad8
Definition d_a_e_ym.h:207
u8 field_0xaf4
Definition d_a_e_ym.h:212
u8 field_0x6a5
Definition d_a_e_ym.h:147
void checkFrinedSamePos()
Definition d_a_e_ym.cpp:2988
void executeBack()
Definition d_a_e_ym.cpp:1492
void executeAttack()
Definition d_a_e_ym.cpp:1573
u32 mParticleKeys[3]
Definition d_a_e_ym.h:211
s16 field_0x6e4
Definition d_a_e_ym.h:173
u8 field_0x6a8
Definition d_a_e_ym.h:150
u32 field_0xae4
Definition d_a_e_ym.h:210
void executeDefense()
Definition d_a_e_ym.cpp:1796
f32 field_0x6dc
Definition d_a_e_ym.h:171
daKago_c * mpKago
Definition d_a_e_ym.h:131
int mMode
Definition d_a_e_ym.h:140
u32 field_0xae0
Definition d_a_e_ym.h:209
void mtx_set()
Definition d_a_e_ym.cpp:3153
int draw()
Definition d_a_e_ym.cpp:125
void setTagPosP()
Definition d_a_e_ym.h:51
s16 field_0x6f8
Definition d_a_e_ym.h:182
s16 field_0x6fa
Definition d_a_e_ym.h:183
u8 getTagNo()
Definition d_a_e_ym.h:47
void executeRiver()
Definition d_a_e_ym.cpp:2775
bool setAttackMotion()
Definition d_a_e_ym.cpp:1676
dCcD_Stts mStts
Definition d_a_e_ym.h:202
void setInclination()
Definition d_a_e_ym.cpp:2107
s16 field_0x700
Definition d_a_e_ym.h:186
void damage_check()
Definition d_a_e_ym.cpp:1128
int _delete()
Definition d_a_e_ym.cpp:3296
u8 field_0x6cd
Definition d_a_e_ym.h:165
void setTagPos(cXyz &i_position)
Definition d_a_e_ym.h:49
u8 field_0x66E[0x670 - 0x66E]
Definition d_a_e_ym.h:133
u32 field_0xad0
Definition d_a_e_ym.h:205
s16 mAngleToPlayer
Definition d_a_e_ym.h:176
void executeFly()
Definition d_a_e_ym.cpp:1870
void initFly()
Definition d_a_e_ym.cpp:1857
mDoExt_McaMorfSO * mpMorf
Definition d_a_e_ym.h:127
u8 field_0x71c
Definition d_a_e_ym.h:197
void setWaterEffect()
Definition d_a_e_ym.cpp:226
void setMoveSound(int)
Definition d_a_e_ym.cpp:568
f32 field_0x6ec
Definition d_a_e_ym.h:177
s16 field_0x70a
Definition d_a_e_ym.h:190
void setAppear()
Definition d_a_e_ym.cpp:558
dCcU_AtInfo mAtInfo
Definition d_a_e_ym.h:204
bool checkAttackEnd()
Definition d_a_e_ym.cpp:1659
int execute()
Definition d_a_e_ym.cpp:3218
bool checkFlyTerritory()
Definition d_a_e_ym.cpp:1845
u8 mTagNo
Definition d_a_e_ym.h:160
u8 field_0x6B5[0x6B8 - 0x6B5]
Definition d_a_e_ym.h:157
cXyz mPrevPos
Definition d_a_e_ym.h:134
cXyz * mTagPosP
Definition d_a_e_ym.h:159
void checkElectricStart()
Definition d_a_e_ym.cpp:2425
u8 field_0x6a3
Definition d_a_e_ym.h:145
u8 mSwitchBit
Definition d_a_e_ym.h:144
u8 mFriendFlag
Definition d_a_e_ym.h:152
void setLockByCargo()
Definition d_a_e_ym.cpp:2771
void setHideType()
Definition d_a_e_ym.cpp:3519
int field_0x704
Definition d_a_e_ym.h:188
u8 getSwitchBit()
Definition d_a_e_ym.h:122
u32 field_0xadc
Definition d_a_e_ym.h:208
bool checkWolfBark()
Definition d_a_e_ym.cpp:330
u32 field_0x69c
Definition d_a_e_ym.h:141
void bckSetFly(int, u8, f32, f32)
Definition d_a_e_ym.cpp:120
u8 isHide()
Definition d_a_e_ym.h:123
void setFireEffect()
Definition d_a_e_ym.cpp:285
u8 mIsHide
Definition d_a_e_ym.h:146
u8 field_0x6a9
Definition d_a_e_ym.h:151
s16 field_0x70c
Definition d_a_e_ym.h:191
void cc_set()
Definition d_a_e_ym.cpp:3164
void executeElectric()
Definition d_a_e_ym.cpp:2441
Z2CreatureEnemy mSound
Definition d_a_e_ym.h:129
s16 field_0x6f6
Definition d_a_e_ym.h:181
fopAc_ac_c * field_0x660
Definition d_a_e_ym.h:130
u8 field_0x6cb
Definition d_a_e_ym.h:163
void setElecEffect2()
Definition d_a_e_ym.cpp:264
void setRiverAttention()
Definition d_a_e_ym.cpp:2752
s16 field_0x6f4
Definition d_a_e_ym.h:180
int getSurpriseType()
Definition d_a_e_ym.cpp:1242
s16 field_0x708
Definition d_a_e_ym.h:189
int CreateHeap()
Definition d_a_e_ym.cpp:3320
s16 field_0x6fe
Definition d_a_e_ym.h:185
int mLastAction
Definition d_a_e_ym.h:139
mDoExt_brkAnm * mpBrk
Definition d_a_e_ym.h:128
dBgS_ObjAcch mAcch
Definition d_a_e_ym.h:201
void executeWind()
Definition d_a_e_ym.cpp:1170
void initFireFly(int)
Definition d_a_e_ym.cpp:2601
s8 mCurrentPntNo
Definition d_a_e_ym.h:156
u8 field_0x6c9
Definition d_a_e_ym.h:161
void bckSet(int, u8, f32, f32)
Definition d_a_e_ym.cpp:92
cXyz * field_0x6d0
Definition d_a_e_ym.h:168
void executeFire()
Definition d_a_e_ym.cpp:2613
void executeBackRail()
Definition d_a_e_ym.cpp:2314
void executeRail()
Definition d_a_e_ym.cpp:2255
u8 field_0x712[0x714 - 0x712]
Definition d_a_e_ym.h:194
void setElecEffect1()
Definition d_a_e_ym.cpp:244
u8 field_0x71E[0x720 - 0x71E]
Definition d_a_e_ym.h:199
bool checkRailSurprise()
Definition d_a_e_ym.cpp:423
bool checkRailDig()
Definition d_a_e_ym.cpp:2237
bool checkSurpriseLock()
Definition d_a_e_ym.cpp:358
f32 field_0x6e0
Definition d_a_e_ym.h:172
void executeWait()
Definition d_a_e_ym.cpp:601
u32 field_0x718
Definition d_a_e_ym.h:196
f32 field_0x688
Definition d_a_e_ym.h:136
request_of_phase_process_class mPhase
Definition d_a_e_ym.h:126
void executeMove()
Definition d_a_e_ym.cpp:751
s16 field_0x6f2
Definition d_a_e_ym.h:179
void checkInitialWall()
Definition d_a_e_ym.cpp:3467
void setActionMode(int)
Definition d_a_e_ym.cpp:593
void executeFlyAttack()
Definition d_a_e_ym.cpp:2118
int mAction
Definition d_a_e_ym.h:138
s16 field_0x70e
Definition d_a_e_ym.h:192
daE_YM_Action
Definition d_a_e_ym.h:25
@ ACT_MOVE
Definition d_a_e_ym.h:27
@ ACT_RIVER
Definition d_a_e_ym.h:44
@ ACT_ATTACK
Definition d_a_e_ym.h:34
@ ACT_ELECTRIC
Definition d_a_e_ym.h:41
@ ACT_FLY_ATTACK
Definition d_a_e_ym.h:38
@ ACT_FIRE
Definition d_a_e_ym.h:43
@ ACT_WIND
Definition d_a_e_ym.h:30
@ ACT_DOWN
Definition d_a_e_ym.h:29
@ ACT_ESCAPE
Definition d_a_e_ym.h:28
@ ACT_FLY
Definition d_a_e_ym.h:37
@ ACT_FALL
Definition d_a_e_ym.h:33
@ ACT_BACK
Definition d_a_e_ym.h:32
@ ACT_SWITCH
Definition d_a_e_ym.h:42
@ ACT_WAIT
Definition d_a_e_ym.h:26
@ ACT_RAIL
Definition d_a_e_ym.h:39
@ ACT_SURPRISE
Definition d_a_e_ym.h:31
@ ACT_BACK_RAIL
Definition d_a_e_ym.h:40
@ ACT_ATTACK_WALL
Definition d_a_e_ym.h:35
@ ACT_DEFENSE
Definition d_a_e_ym.h:36
dPath * field_0x6b0
Definition d_a_e_ym.h:155
bool checkBeforeBg(s16)
Definition d_a_e_ym.cpp:3373
s16 field_0x6e8
Definition d_a_e_ym.h:175
void setNormalCc()
Definition d_a_e_ym.cpp:553
void setNextPathPoint()
Definition d_a_e_ym.cpp:2225
cXyz mTagPos
Definition d_a_e_ym.h:158
u32 field_0xad4
Definition d_a_e_ym.h:206
u8 field_0x6a7
Definition d_a_e_ym.h:149
void setTurnSound()
Definition d_a_e_ym.cpp:587
void executeSurprise()
Definition d_a_e_ym.cpp:1291
u8 field_0x71d
Definition d_a_e_ym.h:198
f32 field_0x6d4
Definition d_a_e_ym.h:169
csXyz field_0x668
Definition d_a_e_ym.h:132
s16 field_0x6f0
Definition d_a_e_ym.h:178
u8 field_0x6a6
Definition d_a_e_ym.h:148
u8 field_0x702[0x704 - 0x702]
Definition d_a_e_ym.h:187
bool checkSurpriseNear()
Definition d_a_e_ym.cpp:443
u8 field_0x6cf
Definition d_a_e_ym.h:167
void executeFall()
Definition d_a_e_ym.cpp:1517
dCcD_Sph mSphCc
Definition d_a_e_ym.h:203
bool checkWallCrash()
Definition d_a_e_ym.cpp:311
s16 field_0x710
Definition d_a_e_ym.h:193
void executeAttackWall()
Definition d_a_e_ym.cpp:1701
u8 field_0x6ce
Definition d_a_e_ym.h:166
void executeEscape()
Definition d_a_e_ym.cpp:847
u8 getFriendFlag()
Definition d_a_e_ym.h:121
void setSurpriseAway()
Definition d_a_e_ym.cpp:1258
f32 field_0x68c
Definition d_a_e_ym.h:137
bool checkBeforeGround()
Definition d_a_e_ym.cpp:3445
s16 field_0x6fc
Definition d_a_e_ym.h:184
cXyz field_0x67c
Definition d_a_e_ym.h:135
u8 field_0x6a1
Definition d_a_e_ym.h:143
u8 field_0x6cc
Definition d_a_e_ym.h:164
dPath * mpPath
Definition d_a_e_ym.h:154
u8 field_0x6AB[0x6AC - 0x6AB]
Definition d_a_e_ym.h:153
Player-controlled Kargarok.
Definition d_a_kago.h:19
Definition f_op_actor.h:243
Definition f_op_actor.h:299
Definition m_Do_ext.h:408
Definition m_Do_ext.h:92
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:217
static dCcD_SrcSph cc_sph_src
Definition d_a_e_ym.h:35
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:19