Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_tk.h
Go to the documentation of this file.
1#ifndef D_A_NPC_TK_H
2#define D_A_NPC_TK_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_cc_uty.h"
6#include "d/d_path.h"
7#include "d/d_spline_path.h"
8
9struct cXyz;
10class daNpc_Hanjo_c;
11class fopAc_ac_c;
12class J3DJoint;
13class J3DModel;
14
23class daNPC_TK_c : public fopAc_ac_c {
24public:
25 void setBck(int, u8, f32, f32);
26 bool checkBck(int);
27 int draw();
28 int checkBeforeBg();
29 void setActionMode(int);
32 /* 80B01D84 */
35 void setAwayAction(int);
36 void setFlySE();
37 void executeFly();
38 void initPerchDemo(int);
39 /* 80B02B5C */
40 bool executePerchDemo(int);
41 void executePerch();
42 void executeHandOn();
43 /* 80B039A8 */
45 void executeAttack();
46 void executeAway();
47 void setCarryActorMtx();
48 /* 80B04F64 */
50 /* 80B04FA8 */
52 void executeBack();
53 /* 80B05BD0 */
55 void executeStayHanjo();
56 void executeAttackLink();
57 void executeBackHanjo();
58 /* 80B07114 */
59 bool checkAttackDemo();
60 void executeAttackDemo();
62 void executeWolfEvent();
63 void calcWolfDemoCam();
64 void calcWolfDemoCam2();
65 void executeWolfPerch();
69 void endHawkCamera();
70 void calcDemoCamera();
71 void checkActionSet();
72 void action();
73 void mtx_set();
74 void cc_set();
75 int execute();
76 int _delete();
77 /* 80B0B9AC */
79 static int JointCallBack(J3DJoint*, int);
80 int CreateHeap();
81 int create();
82
83 void setBump() { mFlags |= (u16)4; }
84 void setEventWolf() { mFlags |= (u16)0x80; }
85 void setEvent() { mFlags |= (u16)0x8; }
86 void setAway() { mFlags |= (u16)2; }
87 void setAttack() { mFlags |= (u16)1; }
88
89 void setHawkPath(u8 i_pathNo) {
90 if (i_pathNo != 0xFF) {
92 }
93 }
94
95 BOOL isAttackLink() { return field_0x71a != 0; }
96 void setAttackLink() { mFlags |= (u16)0x10; }
97 void setBackHanjo() { mFlags |= (u16)0x20; }
98 void setHanjoHand() { mFlags |= (u16)0x40; }
99 void setQuickHanjoHand() { mFlags |= (u16)0x200; }
100 BOOL isHanjoHand() { return mIsHanjoHand != 0; }
101
102 void setResistanceDemo() { mFlags |= (u16)0x100; }
103
106 /* 0x574 */ Z2Creature mSound;
107 /* 0x604 */ cXyz field_0x604;
108 /* 0x610 */ cXyz field_0x610;
109 /* 0x61C */ cXyz field_0x61c;
110 /* 0x628 */ cXyz field_0x628;
113 /* 0x63C */ cXyz field_0x63c[5];
114 /* 0x678 */ f32 field_0x678;
115 /* 0x67D */ f32 field_0x67c;
116 /* 0x67E */ f32 field_0x680;
117 /* 0x67E */ f32 field_0x684;
118 /* 0x688 */ s32 field_0x688;
119 /* 0x68C */ s32 mActionType;
120 /* 0x690 */ s32 field_0x690;
121 /* 0x694 */ s32 field_0x694;
122 /* 0x698 */ s32 field_0x698;
123 /* 0x69C */ s16 field_0x69c;
124 /* 0x69E */ s16 field_0x69e;
125 /* 0x6A0 */ s16 field_0x6a0;
126 /* 0x6A2 */ s16 field_0x6a2;
127 /* 0x6A4 */ s16 field_0x6a4;
128 /* 0x6A5 */ s16 field_0x6a6;
129 /* 0x6A8 */ s16 field_0x6a8;
130 /* 0x6AA */ s16 field_0x6aa;
131 /* 0x6AC */ u8 mCarryType;
132 /* 0x6AD */ u8 mIsHanjoHand;
133 /* 0x6AE */ u8 field_0x6ae;
134 /* 0x6B0 */ s32 field_0x6b0;
135 /* 0x6B4 */ s32 field_0x6b4;
136 /* 0x6B8 */ s32 field_0x6b8;
137 /* 0x6BC */ bool mIsExecutingAction;
138 /* 0x6BD */ u8 field_0x6bd;
139 /* 0x6BE */ u16 mFlags;
140 /* 0x6C0 */ u8 field_0x6c0;
141 /* 0x6C1 */ u8 field_0x6c1;
142 /* 0x6C2 */ u8 field_0x6c2;
143 /* 0x6C3 */ u8 field_0x6c3;
144 /* 0x6C4 */ u8 field_0x6c4;
145 /* 0x6C5 */ u8 field_0x6c5;
146 /* 0x6C6 */ u8 field_0x6c6;
147 /* 0x6C7 */ u8 field_0x6c7;
148 /* 0x6C8 */ dPath* mpPath1;
149 /* 0x6CC */ s8 mPathStep2;
151 /* 0x6DC */ dPath* mWolfPathData;
152 /* 0x6E0 */ f32 field_0x6e0;
153 /* 0x6E4 */ f32 field_0x6e4;
154 /* 0x6E8 */ u8 field_0x6e8;
155 /* 0x6E9 */ u8 field_0x6e9;
156 /* 0x6EA */ u8 field_0x6ea;
157 /* 0x6EB */ u8 field_0x6eb;
159 /* 0x6F0 */ cXyz field_0x6f0;
160 /* 0x6FC */ cXyz field_0x6fc;
161 /* 0x708 */ f32 field_0x708;
162 /* 0x70C */ s32 field_0x70c;
163 /* 0x710 */ s16 field_0x710;
164 /* 0x714 */ f32 field_0x714;
165 /* 0x718 */ u8 field_0x718;
166 /* 0x719 */ u8 field_0x719;
167 /* 0x71A */ u8 field_0x71a;
168 /* 0x71B */ u8 field_0x71b[0x724 - 0x71b];
169 /* 0x724 */ dMsgFlow_c mMsgFlow;
171 /* 0x7B0 */ dBgS_ObjAcch mAcch;
172 /* 0x988 */ dCcD_Stts mStts;
173 /* 0x9C4 */ dCcD_Sph mSphere;
174 /* 0xAFC */ dCcU_AtInfo mAtInfo;
175 /* 0xB20 */ u32 field_0xb20;
176 /* 0xB24 */ u32 field_0xb24;
177 /* 0xB28 */ u32 field_0xb28[4];
178 /* 0x71A */ u32 field_0xb38;
179 /* 0xB3C */ s32 field_0xb3c;
180 /* 0xB40 */ u8 field_0xb40;
181};
182
183STATIC_ASSERT(sizeof(daNPC_TK_c) == 0xB44);
184
185#endif /* D_A_NPC_TK_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition Z2Creature.h:7
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
Definition d_msg_flow.h:49
Hawk (Taka)
Definition d_a_npc_tk.h:23
u32 field_0xb24
Definition d_a_npc_tk.h:176
u8 field_0x718
Definition d_a_npc_tk.h:165
dCcD_Stts mStts
Definition d_a_npc_tk.h:172
s16 field_0x710
Definition d_a_npc_tk.h:163
f32 getTakeOffPosY()
Definition d_a_npc_tk.cpp:1150
void executeBackHanjo()
Definition d_a_npc_tk.cpp:1645
dBgS_AcchCir mCircle
Definition d_a_npc_tk.h:170
u8 field_0xb40
Definition d_a_npc_tk.h:180
u8 field_0x6ae
Definition d_a_npc_tk.h:133
cXyz field_0x6f0
Definition d_a_npc_tk.h:159
void setCarryActorMtx()
Definition d_a_npc_tk.cpp:1102
void setEventWolf()
Definition d_a_npc_tk.h:84
u8 field_0x6c4
Definition d_a_npc_tk.h:144
fopAc_ac_c * field_0x6ec
Definition d_a_npc_tk.h:158
s32 field_0x694
Definition d_a_npc_tk.h:121
void checkActionSet()
Definition d_a_npc_tk.cpp:2813
void setQuickHanjoHand()
Definition d_a_npc_tk.h:99
f32 field_0x678
Definition d_a_npc_tk.h:114
void executeAway()
Definition d_a_npc_tk.cpp:1008
dPath * mpPath1
Definition d_a_npc_tk.h:148
static int JointCallBack(J3DJoint *, int)
Definition d_a_npc_tk.cpp:3156
u32 field_0xb28[4]
Definition d_a_npc_tk.h:177
f32 field_0x684
Definition d_a_npc_tk.h:117
int create()
Definition d_a_npc_tk.cpp:3196
cXyz field_0x604
Definition d_a_npc_tk.h:107
void executeAttackLink()
Definition d_a_npc_tk.cpp:1495
s16 field_0x6a2
Definition d_a_npc_tk.h:126
void setHawkSideCamera(cXyz)
Definition d_a_npc_tk.cpp:2620
u8 field_0x6c5
Definition d_a_npc_tk.h:145
void setHawkCamera(fopAc_ac_c *)
Definition d_a_npc_tk.cpp:2634
void executeStayHanjo()
Definition d_a_npc_tk.cpp:1433
f32 getTakePosY()
Definition d_a_npc_tk.cpp:1136
int checkBeforeBg()
Definition d_a_npc_tk.cpp:94
fopAc_ac_c * field_0x634
Definition d_a_npc_tk.h:111
f32 field_0x708
Definition d_a_npc_tk.h:161
void action()
Definition d_a_npc_tk.cpp:2879
dCcD_Sph mSphere
Definition d_a_npc_tk.h:173
s32 mActionType
Definition d_a_npc_tk.h:119
dPath * mWolfPathData
Definition d_a_npc_tk.h:151
int CreateHeap()
Definition d_a_npc_tk.cpp:3169
BOOL isAttackLink()
Definition d_a_npc_tk.h:95
void setMasterShoulder(cXyz *)
Definition d_a_npc_tk.cpp:194
void setActionMode(int)
Definition d_a_npc_tk.cpp:131
u8 field_0x6ea
Definition d_a_npc_tk.h:156
void setFlySE()
Definition d_a_npc_tk.cpp:224
u8 field_0x719
Definition d_a_npc_tk.h:166
void mtx_set()
Definition d_a_npc_tk.cpp:3009
u8 field_0x6c0
Definition d_a_npc_tk.h:140
s32 field_0x6b4
Definition d_a_npc_tk.h:135
u8 field_0x6c3
Definition d_a_npc_tk.h:143
u8 field_0x6c2
Definition d_a_npc_tk.h:142
s32 field_0x698
Definition d_a_npc_tk.h:122
Z2Creature mSound
Definition d_a_npc_tk.h:106
void calcWolfDemoCam()
Definition d_a_npc_tk.cpp:1932
cXyz field_0x628
Definition d_a_npc_tk.h:110
void executeBack()
Definition d_a_npc_tk.cpp:1164
dPathCurve field_0x6d0
Definition d_a_npc_tk.h:150
int _delete()
Definition d_a_npc_tk.cpp:3089
void setAttack()
Definition d_a_npc_tk.h:87
void executeWolfEvent()
Definition d_a_npc_tk.cpp:1920
s32 field_0x6b0
Definition d_a_npc_tk.h:134
void executePerch()
Definition d_a_npc_tk.cpp:649
void calcWolfDemoCam2()
Definition d_a_npc_tk.cpp:1944
s32 field_0x6b8
Definition d_a_npc_tk.h:136
void cc_set()
Definition d_a_npc_tk.cpp:3026
s16 field_0x6a0
Definition d_a_npc_tk.h:125
void executeHandOn()
Definition d_a_npc_tk.cpp:686
dBgS_ObjAcch mAcch
Definition d_a_npc_tk.h:171
u8 field_0x6eb
Definition d_a_npc_tk.h:157
f32 field_0x6e4
Definition d_a_npc_tk.h:153
fopAc_ac_c * getMasterPointer()
Definition d_a_npc_tk.cpp:186
u8 field_0x6bd
Definition d_a_npc_tk.h:138
u16 mFlags
Definition d_a_npc_tk.h:139
f32 field_0x67c
Definition d_a_npc_tk.h:115
s16 field_0x6a6
Definition d_a_npc_tk.h:128
dMsgFlow_c mMsgFlow
Definition d_a_npc_tk.h:169
cXyz field_0x63c[5]
Definition d_a_npc_tk.h:113
void setAwayAction(int)
Definition d_a_npc_tk.cpp:206
void executeWolfPerch()
Definition d_a_npc_tk.cpp:1957
cXyz field_0x6fc
Definition d_a_npc_tk.h:160
void setBackHanjo()
Definition d_a_npc_tk.h:97
s32 field_0x690
Definition d_a_npc_tk.h:120
u32 field_0xb38
Definition d_a_npc_tk.h:178
s16 field_0x6aa
Definition d_a_npc_tk.h:130
bool checkBck(int)
Definition d_a_npc_tk.cpp:67
void executeAttackDemo()
Definition d_a_npc_tk.cpp:1745
u32 field_0xb20
Definition d_a_npc_tk.h:175
cXyz getHanjoHandPos()
Definition d_a_npc_tk.cpp:1423
cXyz field_0x61c
Definition d_a_npc_tk.h:109
s32 field_0x688
Definition d_a_npc_tk.h:118
s16 field_0x6a8
Definition d_a_npc_tk.h:129
daNpc_Hanjo_c * mpMaster
Definition d_a_npc_tk.h:112
u8 mIsHanjoHand
Definition d_a_npc_tk.h:132
void setHanjoHand()
Definition d_a_npc_tk.h:98
bool executePerchDemo(int)
Definition d_a_npc_tk.cpp:487
void setAway()
Definition d_a_npc_tk.h:86
dCcU_AtInfo mAtInfo
Definition d_a_npc_tk.h:174
u8 field_0x71b[0x724 - 0x71b]
Definition d_a_npc_tk.h:168
s32 field_0xb3c
Definition d_a_npc_tk.h:179
f32 setAddCalcSpeedXZ(cXyz &, cXyz const &, f32, f32, f32)
Definition d_a_npc_tk.cpp:143
f32 field_0x6e0
Definition d_a_npc_tk.h:152
void initPerchDemo(int)
Definition d_a_npc_tk.cpp:366
void setEvent()
Definition d_a_npc_tk.h:85
void calcDemoCamera()
Definition d_a_npc_tk.cpp:2653
s16 field_0x69e
Definition d_a_npc_tk.h:124
bool checkAttackDemo()
Definition d_a_npc_tk.cpp:1734
cXyz chaseTargetPos(cXyz, f32, f32, s16)
Definition d_a_npc_tk.cpp:166
void setResistanceDemo()
Definition d_a_npc_tk.h:102
u8 field_0x6e9
Definition d_a_npc_tk.h:155
bool checkWaterSurface(f32)
Definition d_a_npc_tk.cpp:737
f32 field_0x680
Definition d_a_npc_tk.h:116
BOOL isHanjoHand()
Definition d_a_npc_tk.h:100
u8 mCarryType
Definition d_a_npc_tk.h:131
void setBck(int, u8, f32, f32)
Definition d_a_npc_tk.cpp:62
s16 field_0x6a4
Definition d_a_npc_tk.h:127
s32 field_0x70c
Definition d_a_npc_tk.h:162
u8 field_0x6c7
Definition d_a_npc_tk.h:147
request_of_phase_process_class mPhase
Definition d_a_npc_tk.h:104
bool mIsExecutingAction
Definition d_a_npc_tk.h:137
u8 field_0x6c6
Definition d_a_npc_tk.h:146
s16 field_0x69c
Definition d_a_npc_tk.h:123
u8 field_0x71a
Definition d_a_npc_tk.h:167
void executeBackHanjoDemo()
Definition d_a_npc_tk.cpp:1798
int draw()
Definition d_a_npc_tk.cpp:75
f32 field_0x714
Definition d_a_npc_tk.h:164
void endHawkCamera()
Definition d_a_npc_tk.cpp:2641
void setBump()
Definition d_a_npc_tk.h:83
cXyz field_0x610
Definition d_a_npc_tk.h:108
void executeAttack()
Definition d_a_npc_tk.cpp:750
void setAttackLink()
Definition d_a_npc_tk.h:96
u8 field_0x6e8
Definition d_a_npc_tk.h:154
int execute()
Definition d_a_npc_tk.cpp:3045
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_tk.cpp:3106
void executeFly()
Definition d_a_npc_tk.cpp:295
u8 field_0x6c1
Definition d_a_npc_tk.h:141
void executeResistanceDemo()
Definition d_a_npc_tk.cpp:2428
s8 mPathStep2
Definition d_a_npc_tk.h:149
void setHawkPath(u8 i_pathNo)
Definition d_a_npc_tk.h:89
mDoExt_McaMorfSO * mpMorf
Definition d_a_npc_tk.h:105
Hanch.
Definition d_a_npc_hanjo.h:98
Definition f_op_actor.h:230
Definition m_Do_ext.h:331
STATIC_ASSERT(sizeof(daNPC_TK_c)==0xB44)
dPath * dPath_GetRoomPath(int path_index, int room_no)
Definition d_path.cpp:19
int BOOL
Definition types.h:33
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 short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
s8 fopAcM_GetRoomNo(const fopAc_ac_c *i_actor)
Definition f_op_actor_mng.h:144
Definition c_xyz.h:7
Definition d_cc_uty.h:20
Definition d_spline_path.h:8
Definition d_path.h:18
Definition c_phase.h:17