Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_e_ww.h
Go to the documentation of this file.
1#ifndef D_A_E_WW_H
2#define D_A_E_WW_H
3
4#include "d/d_bg_s_acch.h"
5#include "d/d_cc_d.h"
6#include "d/d_cc_uty.h"
8
18class daE_WW_c : public fopEn_enemy_c {
19public:
21 static int JointCallBack(J3DJoint*, int);
22 void setHeadAngle();
23 int draw();
24 void setBck(int, u8, f32, f32);
25 bool checkBck(int);
26 void setActionMode(int, int);
27 void damage_check();
28 void setRandamNumber();
30 void setGroundAngle();
32 bool checkAttackWall();
33 void setBlurEffect();
34 void setAppearEffect();
35 bool checkSideStep();
36 void createWolf(cXyz, u8);
37 void executeMaster();
38 void executeWait();
39 int calcJumpSpeed();
40 void executeAttack();
41 bool checkAttackStart();
42 void executeChase();
43 void executeDamage();
44 bool checkMoveOut();
45 void executeMoveOut();
46 bool checkWalkStart();
47 void executeWalk();
48 void eWW_posMoveF();
49 void action();
50 void mtx_set();
51 void cc_set();
52 int execute();
53 bool calcMoveDir(s16*, s16);
54 int _delete();
55 int CreateHeap();
56 int create();
57
58 u8 isAttack() { return field_0x756; }
59 void setAttack() { mActionMode = 10; }
60 f32 const getSpeedF() { return speedF; }
61
62private:
66 /* 0x65C */ cXyz field_0x65c; // Under ground position ? see jump speed calc
67 /* 0x668 */ cXyz field_0x668;
68 /* 0x674 */ csXyz field_0x674; // Probably csXyz
69 /* 0x67A */ s16 field_0x67a; // Head angle x ? csXyz ???
70 /* 0x67C */ s16 field_0x67c; // Head angle y ?
71 /* 0x67E */ s16 field_0x67e; // Head angle z ?
72 /* 0x680 */ fpc_ProcID mChildID[10];
73 /* 0x6A8 */ f32 field_0x6a8; // Radius draw circle debug ?
74 /* 0x6AC */ f32 field_0x6ac; // Off set draw circle debug ??
76 /* 0x6B4 */ u8 field_0x6b4; // Arg0 ??
77 /* 0x6B5 */ u8 field_0x6b5;
78 /* 0x6B6 */ u8 field_0x6b6;
79 /* 0x6B7 */ u8 field_0x6b7;
80 /* 0x6B8 */ s32 mAction;
81 /* 0x6BC */ s32 mActionMode; // Which wolf does action ? 1 jump ? 0 init ?, 26 Hide ? check sound action just before, check execute chase for cases in switch
82 /* 0x6C0 */ int field_0x6c0; // Side step ? 0-> step left, 1 step right
83 /* 0x6C4 */ s32 field_0x6c4; // Active index for the int arrays later ? Change to int ?
84 /* 0x6C8 */ s32 field_0x6c8;
85 /* 0x6CC */ s16 field_0x6cc; // angleY storage ?
86 /* 0x6CE */ s16 field_0x6ce;
87 /* 0x6D0 */ int field_0x6d0;
88 /* 0x6D4 */ int field_0x6d4[10]; // Existing wolf ?
89 /* 0x6FC */ int field_0x6fc[10];
90 /* 0x724 */ u16 field_0x724; // Linked with getting damage to link
91 /* 0x728 */ int field_0x728;
92 /* 0x72C */ int field_0x72c;
93 /* 0x730 */ int field_0x730;
94 /* 0x734 */ int field_0x734; // Attack interval ?
95 /* 0x738 */ int field_0x738;
96 /* 0x73C */ int field_0x73c;
97 /* 0x740 */ int field_0x740;
98 /* 0x744 */ int field_0x744[2];
99 /* 0x74C */ int field_0x74c;
100 /* 0x750 */ s16 field_0x750[3];
101 /* 0x756 */ u8 field_0x756;
102 /* 0x757 */ u8 field_0x757;
103 /* 0x758 */ u8 field_0x758;
104 /* 0x759 */ u8 field_0x759;
105 /* 0x75A */ u8 field_0x75a;
106 /* 0x75B */ u8 field_0x75b;
107 /* 0x75C */ u8 field_0x75c;
108 /* 0x75D */ bool field_0x75d;
111 /* 0x994 */ dCcD_Stts mCcStts;
112 /* 0x9B4 */ dCcD_Sph mSph1[2];
113 /* 0xC24 */ dCcD_Sph mSph2[2];
114 /* 0xE94 */ dCcU_AtInfo mAtInfo;
115 /* 0xEB8 */ u8 field_0xeb8[0xec0 - 0xeb8];
116 /* 0xEC0 */ u32 mParticleKey;
117 /* 0xEC4 */ u8 field_0xec4;
118};
119
120STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8);
121
122#endif /* D_A_E_WW_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_cc_d.h:473
Definition d_cc_d.h:269
White Wolfos.
Definition d_a_e_ww.h:18
int field_0x72c
Definition d_a_e_ww.h:92
s16 field_0x6ce
Definition d_a_e_ww.h:86
u8 field_0x759
Definition d_a_e_ww.h:104
f32 field_0x6a8
Definition d_a_e_ww.h:73
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_e_ww.cpp:180
u8 field_0x6b5
Definition d_a_e_ww.h:77
u8 isAttack()
Definition d_a_e_ww.h:58
void createWolf(cXyz, u8)
Definition d_a_e_ww.cpp:614
cXyz field_0x65c
Definition d_a_e_ww.h:66
f32 field_0x6ac
Definition d_a_e_ww.h:74
void setGroundAngle()
Definition d_a_e_ww.cpp:402
static int JointCallBack(J3DJoint *, int)
Definition d_a_e_ww.cpp:199
void mtx_set()
Definition d_a_e_ww.cpp:1906
void setRandamNumber()
Definition d_a_e_ww.cpp:362
bool checkAttackWall()
Definition d_a_e_ww.cpp:490
u8 field_0xeb8[0xec0 - 0xeb8]
Definition d_a_e_ww.h:115
s16 field_0x750[3]
Definition d_a_e_ww.h:100
int field_0x730
Definition d_a_e_ww.h:93
void executeAttack()
Definition d_a_e_ww.cpp:873
u16 field_0x724
Definition d_a_e_ww.h:90
bool checkWalkStart()
Definition d_a_e_ww.cpp:1604
s32 mActionMode
Definition d_a_e_ww.h:81
int field_0x728
Definition d_a_e_ww.h:91
int field_0x6fc[10]
Definition d_a_e_ww.h:89
csXyz field_0x674
Definition d_a_e_ww.h:68
f32 checkCreateBg(cXyz)
Definition d_a_e_ww.cpp:459
dCcD_Sph mSph2[2]
Definition d_a_e_ww.h:113
dCcD_Stts mCcStts
Definition d_a_e_ww.h:111
void cc_set()
Definition d_a_e_ww.cpp:1917
bool checkBck(int)
Definition d_a_e_ww.cpp:283
int field_0x744[2]
Definition d_a_e_ww.h:98
void executeChase()
Definition d_a_e_ww.cpp:1090
s32 field_0x6c4
Definition d_a_e_ww.h:83
void damage_check()
Definition d_a_e_ww.cpp:301
f32 const getSpeedF()
Definition d_a_e_ww.h:60
void setBck(int, u8, f32, f32)
Definition d_a_e_ww.cpp:279
int _delete()
Definition d_a_e_ww.cpp:2132
int create()
Definition d_a_e_ww.cpp:2177
Z2CreatureEnemy mSound
Definition d_a_e_ww.h:65
s16 field_0x67e
Definition d_a_e_ww.h:71
int field_0x738
Definition d_a_e_ww.h:95
s32 mAction
Definition d_a_e_ww.h:80
void action()
Definition d_a_e_ww.cpp:1826
u8 field_0x6b6
Definition d_a_e_ww.h:78
int field_0x740
Definition d_a_e_ww.h:97
fpc_ProcID mChildID[10]
Definition d_a_e_ww.h:72
bool field_0x75d
Definition d_a_e_ww.h:108
u8 field_0x6b4
Definition d_a_e_ww.h:76
mDoExt_McaMorfSO * mpModelMorf
Definition d_a_e_ww.h:64
bool calcMoveDir(s16 *, s16)
Definition d_a_e_ww.cpp:2004
void setAppearEffect()
Definition d_a_e_ww.cpp:511
void setBlurEffect()
Definition d_a_e_ww.cpp:503
request_of_phase_process_class mPhase
Definition d_a_e_ww.h:63
bool checkAttackStart()
Definition d_a_e_ww.cpp:1057
s16 field_0x67a
Definition d_a_e_ww.h:69
dCcD_Sph mSph1[2]
Definition d_a_e_ww.h:112
u8 field_0x757
Definition d_a_e_ww.h:102
dCcU_AtInfo mAtInfo
Definition d_a_e_ww.h:114
void eWW_posMoveF()
Definition d_a_e_ww.cpp:1796
int CreateHeap()
Definition d_a_e_ww.cpp:2151
u8 field_0xec4
Definition d_a_e_ww.h:117
dBgS_ObjAcch mObjAcch
Definition d_a_e_ww.h:110
void setActionMode(int, int)
Definition d_a_e_ww.cpp:291
int field_0x6d4[10]
Definition d_a_e_ww.h:88
s16 field_0x6cc
Definition d_a_e_ww.h:85
void executeMoveOut()
Definition d_a_e_ww.cpp:1460
s32 field_0x6c8
Definition d_a_e_ww.h:84
bool checkMoveOut()
Definition d_a_e_ww.cpp:1451
void executeWalk()
Definition d_a_e_ww.cpp:1698
dBgS_AcchCir mAcchCir
Definition d_a_e_ww.h:109
void executeMaster()
Definition d_a_e_ww.cpp:653
bool checkSideStep()
Definition d_a_e_ww.cpp:576
void executeDamage()
Definition d_a_e_ww.cpp:1366
int field_0x6c0
Definition d_a_e_ww.h:82
int calcJumpSpeed()
Definition d_a_e_ww.cpp:844
void executeWait()
Definition d_a_e_ww.cpp:787
u8 field_0x6b7
Definition d_a_e_ww.h:79
u8 field_0x756
Definition d_a_e_ww.h:101
int field_0x74c
Definition d_a_e_ww.h:99
u32 mParticleKey
Definition d_a_e_ww.h:116
u8 field_0x75b
Definition d_a_e_ww.h:106
cXyz field_0x668
Definition d_a_e_ww.h:67
int field_0x73c
Definition d_a_e_ww.h:96
s16 getNearPlayerAngle()
Definition d_a_e_ww.cpp:389
u8 field_0x75a
Definition d_a_e_ww.h:105
int field_0x6d0
Definition d_a_e_ww.h:87
u8 field_0x758
Definition d_a_e_ww.h:103
int draw()
Definition d_a_e_ww.cpp:246
int field_0x734
Definition d_a_e_ww.h:94
u8 field_0x75c
Definition d_a_e_ww.h:107
int execute()
Definition d_a_e_ww.cpp:1946
s16 field_0x67c
Definition d_a_e_ww.h:70
void setHeadAngle()
Definition d_a_e_ww.cpp:211
f32 mDistCheckModifier
Definition d_a_e_ww.h:75
void setAttack()
Definition d_a_e_ww.h:59
f32 speedF
Definition f_op_actor.h:263
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
STATIC_ASSERT(sizeof(daE_WW_c)==0xec8)
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition c_xyz.h:7
Definition d_cc_uty.h:20
Definition c_phase.h:17