Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_e_hz.h
Go to the documentation of this file.
1#ifndef D_A_E_HZ_H
2#define D_A_E_HZ_H
3
5#include "d/actor/d_a_nbomb.h"
7#include "d/d_bg_s_acch.h"
8#include "d/d_cc_d.h"
9#include "d/d_cc_uty.h"
10#include "f_op/f_op_actor_mng.h"
11
12
22class daE_HZ_c : public fopEn_enemy_c {
23public:
24 void setBck(int, u8, f32, f32);
25 bool checkBck(int);
26 int draw();
27 void setActionMode(int);
28 bool checkHideStart();
29 bool checkAttackStart();
30 bool checkArrowCharge();
31 void setTgSetBit(int);
32 bool isWait();
33 void checkFall();
35 void executeWait();
37 void executeHide();
38 void executeAttack();
39 void initBackWalk();
40 void executeAway();
41 void setWindEnd();
42 void executeWind();
43 void executeChance();
44 void initRollDamage();
45 bool doRollDamage();
46 void executeDamage();
47 void executeDeath();
48 void setWindChanceEnd();
49 void executeWindChance();
50 void executeWindWalk();
51 void setWaterEffect();
52 void executeWaterDeath();
53 void executeDeathWait();
54 void damage_check();
55 bool checkWaterSurface();
56 void action();
57 void mtx_set();
58 void cc_set();
59 int execute();
60 int _delete();
62 static int JointCallBack(J3DJoint*, int);
63 int CreateHeap();
64 void setInitPos();
65 int create();
66
67private:
71 /* 0x5C0 */ J3DModel* mpModel;
72 /* 0x5C4 */ J3DModel* mpModel2;
75 /* 0x670 */ daNbomb_c* mpBombActor;
77 /* 0x678 */ cXyz field_0x678;
82 /* 0x6A4 */ f32 mPlayerDist;
83 /* 0x6A8 */ f32 field_0x6a8;
84 /* 0x6AC */ f32 mGroundCross;
85 /* 0x6B0 */ s16 mPlayerAngleY;
86 /* 0x6B2 */ s16 field_0x6b2;
87 /* 0x6B4 */ s16 field_0x6b4;
88 /* 0x6B6 */ s16 field_0x6b6;
89 /* 0x6B8 */ u8 field_0x6B8[0x6BC - 0x6B8];
90 /* 0x6BC */ char* mpName;
91 /* 0x6C0 */ s32 mAction;
92 /* 0x6C4 */ s32 mPrevAction;
93 /* 0x6C8 */ s32 mMode; // That's just a guess. Might need a better name for it's usage
94 /* 0x6CC */ s32 field_0x6cc;
95 /* 0x6D0 */ u32 mShadowKey;
97 /* 0x6D6 */ s16 mWaitTimer;
98 /* 0x6D8 */ s16 mPiyoriTimer;
102 /* 0x6E0 */ s16 mCameraOffTimer;
103 /* 0x6E2 */ s16 mCameraOnTimer;
104 /* 0x6E4 */ u8 field_0x6e4;
105 /* 0x6E5 */ u8 mSetModelAnmMtx;
106 /* 0x6E6 */ u8 field_0x6E6;
107 /* 0x6E7 */ u8 mDisableShadow; // Shadow is active when this is false
108 /* 0x6E8 */ u8 field_0x6e8;
109 /* 0x6E9 */ u8 field_0x6e9;
110 /* 0x6EA */ u8 field_0x6ea;
111 /* 0x6EB */ u8 mParam;
112 /* 0x6EC */ u8 field_0x6EC[0x6ED - 0x6EC];
113 /* 0x6ED */ u8 mReadyNewAction;
114 /* 0x6F0 */ f32 mColor;
117 /* 0xA80 */ u8 field_0xA80[0xA84 - 0xA80];
118 /* 0xA84 */ Mtx mMtx;
119 /* 0xAB4 */ dBgW* mpBgW;
122 /* 0xCD0 */ dCcD_Stts mStts;
123 /* 0xD0C */ dCcD_Sph mSpheres[4];
124 /* 0x11EC */ dCcU_AtInfo mAtInfo;
125 /* 0x1210 */ u32 mSmokeKey;
126 /* 0x1214 */ u32 mSmokeKey2;
127 /* 0x1218 */ u32 mJumpEffects[2];
128 /* 0x1220 */ u32 mWaterEffects[4];
129 /* 0x1230 */ u32 mEffect;
130 /* 0x1234 */ u8 mHIOInit;
131};
132
133STATIC_ASSERT(sizeof(daE_HZ_c) == 0x1238);
134
135#endif /* D_A_E_HZ_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
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_bg_w.h:257
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Definition d_kankyo_tev_str.h:7
Gale Boomerang.
Definition d_a_boomerang.h:72
Tile Worm.
Definition d_a_e_hz.h:22
bool checkArrowCharge()
Definition d_a_e_hz.cpp:293
csXyz mBackbone3YZRot
Definition d_a_e_hz.h:81
daNbomb_c * mpBombActor
Definition d_a_e_hz.h:75
u8 mHIOInit
Definition d_a_e_hz.h:130
int execute()
Definition d_a_e_hz.cpp:1780
s32 mAction
Definition d_a_e_hz.h:91
int _delete()
Definition d_a_e_hz.cpp:1852
void checkFall()
Definition d_a_e_hz.cpp:323
void action()
Definition d_a_e_hz.cpp:1625
daBoomerang_c * mpBoomerangActor
Definition d_a_e_hz.h:74
static int JointCallBack(J3DJoint *, int)
Definition d_a_e_hz.cpp:1904
s16 field_0x6b4
Definition d_a_e_hz.h:87
void damage_check()
Definition d_a_e_hz.cpp:1455
s16 mCameraOffTimer
Definition d_a_e_hz.h:102
dBgS_ObjAcch mObjAcch
Definition d_a_e_hz.h:121
u8 field_0x6B8[0x6BC - 0x6B8]
Definition d_a_e_hz.h:89
s32 mPrevAction
Definition d_a_e_hz.h:92
dKy_tevstr_c mTevStr
Definition d_a_e_hz.h:116
s16 mRetentionBeforeStretchTimer
Definition d_a_e_hz.h:100
Mtx mMtx
Definition d_a_e_hz.h:118
void executeWaterDeath()
Definition d_a_e_hz.cpp:1364
void executeWind()
Definition d_a_e_hz.cpp:860
f32 field_0x6a8
Definition d_a_e_hz.h:83
J3DModel * mpModel
Definition d_a_e_hz.h:71
void executeHide()
Definition d_a_e_hz.cpp:497
s16 mPlayerAngleY
Definition d_a_e_hz.h:85
void executeWindChance()
Definition d_a_e_hz.cpp:1255
bool checkBck(int)
Definition d_a_e_hz.cpp:94
u8 mSetModelAnmMtx
Definition d_a_e_hz.h:105
u8 field_0x6E6
Definition d_a_e_hz.h:106
u8 field_0x6e4
Definition d_a_e_hz.h:104
u8 field_0x6e8
Definition d_a_e_hz.h:108
u8 mDisableShadow
Definition d_a_e_hz.h:107
char * mpName
Definition d_a_e_hz.h:90
request_of_phase_process_class mPhaseReq2
Definition d_a_e_hz.h:69
f32 getHideSpeed()
Definition d_a_e_hz.cpp:480
bool checkWaterSurface()
Definition d_a_e_hz.cpp:1605
s16 mWaitTimer
Definition d_a_e_hz.h:97
dCcU_AtInfo mAtInfo
Definition d_a_e_hz.h:124
dBgW * mpBgW
Definition d_a_e_hz.h:119
s16 mPiyoriTimer
Definition d_a_e_hz.h:98
s32 field_0x6cc
Definition d_a_e_hz.h:94
u32 mJumpEffects[2]
Definition d_a_e_hz.h:127
u32 mWaterEffects[4]
Definition d_a_e_hz.h:128
u8 mReadyNewAction
Definition d_a_e_hz.h:113
request_of_phase_process_class mPhaseReq
Definition d_a_e_hz.h:68
u32 mSmokeKey
Definition d_a_e_hz.h:125
s16 mCameraOnTimer
Definition d_a_e_hz.h:103
void initRollDamage()
Definition d_a_e_hz.cpp:1073
u32 mShadowKey
Definition d_a_e_hz.h:95
int create()
Definition d_a_e_hz.cpp:1995
cXyz field_0x678
Definition d_a_e_hz.h:77
bool checkAttackStart()
Definition d_a_e_hz.cpp:253
u8 field_0x6ea
Definition d_a_e_hz.h:110
void setWindChanceEnd()
Definition d_a_e_hz.cpp:1249
u8 mParam
Definition d_a_e_hz.h:111
void setCloseSmokeEffect()
Definition d_a_e_hz.cpp:362
J3DModel * mpModel2
Definition d_a_e_hz.h:72
void initBackWalk()
Definition d_a_e_hz.cpp:688
u8 field_0x6e9
Definition d_a_e_hz.h:109
void setTgSetBit(int)
Definition d_a_e_hz.cpp:300
s16 mDamageDeathTimer
Definition d_a_e_hz.h:96
void setWaterEffect()
Definition d_a_e_hz.cpp:1347
s16 mAttackStartTimer
Definition d_a_e_hz.h:99
void executeDeath()
Definition d_a_e_hz.cpp:1183
u8 mReadyChangeColor
Definition d_a_e_hz.h:115
s16 field_0x6b2
Definition d_a_e_hz.h:86
bool doRollDamage()
Definition d_a_e_hz.cpp:1116
csXyz mBackbone2YZRot
Definition d_a_e_hz.h:80
void cc_set()
Definition d_a_e_hz.cpp:1752
void executeDamage()
Definition d_a_e_hz.cpp:1134
void setActionMode(int)
Definition d_a_e_hz.cpp:202
dCcD_Sph mSpheres[4]
Definition d_a_e_hz.h:123
void executeAway()
Definition d_a_e_hz.cpp:722
u8 field_0xA80[0xA84 - 0xA80]
Definition d_a_e_hz.h:117
void executeDeathWait()
Definition d_a_e_hz.cpp:1430
f32 mPlayerDist
Definition d_a_e_hz.h:82
u8 field_0x6EC[0x6ED - 0x6EC]
Definition d_a_e_hz.h:112
s16 mAttackCooldownTimer
Definition d_a_e_hz.h:101
dCcD_Stts mStts
Definition d_a_e_hz.h:122
void mtx_set()
Definition d_a_e_hz.cpp:1722
int CreateHeap()
Definition d_a_e_hz.cpp:1916
void setBck(int, u8, f32, f32)
Definition d_a_e_hz.cpp:90
bool checkHideStart()
Definition d_a_e_hz.cpp:217
s16 field_0x6b6
Definition d_a_e_hz.h:88
mDoExt_McaMorfSO * mpMorfSO
Definition d_a_e_hz.h:70
dBgS_AcchCir mAcchCir
Definition d_a_e_hz.h:120
void executeWait()
Definition d_a_e_hz.cpp:378
f32 mGroundCross
Definition d_a_e_hz.h:84
void executeWindWalk()
Definition d_a_e_hz.cpp:1323
void executeChance()
Definition d_a_e_hz.cpp:1047
void setInitPos()
Definition d_a_e_hz.cpp:1975
int draw()
Definition d_a_e_hz.cpp:106
daObjCarry_c * mpCarryActor
Definition d_a_e_hz.h:76
csXyz mBackbone1YZRot
Definition d_a_e_hz.h:79
s32 mMode
Definition d_a_e_hz.h:93
u32 mSmokeKey2
Definition d_a_e_hz.h:126
void setWindEnd()
Definition d_a_e_hz.cpp:846
Z2CreatureEnemy mSound
Definition d_a_e_hz.h:73
bool isWait()
Definition d_a_e_hz.cpp:312
f32 mColor
Definition d_a_e_hz.h:114
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_e_hz.cpp:1877
void executeAttack()
Definition d_a_e_hz.cpp:630
cXyz mSmokeEffectPosition
Definition d_a_e_hz.h:78
u32 mEffect
Definition d_a_e_hz.h:129
Bomb.
Definition d_a_nbomb.h:17
Carryable Object.
Definition d_a_obj_carry.h:64
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
STATIC_ASSERT(sizeof(daE_HZ_c)==0x1238)
f32 Mtx[3][4]
Definition mtx.h:25
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition c_xyz.h:7
Definition d_cc_uty.h:20
Definition c_phase.h:17