Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_kn.h
Go to the documentation of this file.
1#ifndef D_A_NPC_KN_H
2#define D_A_NPC_KN_H
3
4#include "d/actor/d_a_npc.h"
5#include <cstring>
6
9 /* 0x8C */ s16 alpha;
10 /* 0x8E */ s16 attack_wait_time;
11 /* 0x90 */ s16 followup_wait_time; // ?
12 /* 0x94 */ f32 small_slide_distance;
13 /* 0x98 */ f32 big_slide_distance;
14 /* 0x9C */ f32 warp_distance;
15 /* 0xA0 */ f32 attack_disappear_speed_h; // ?
16 /* 0xA4 */ f32 attack_disappear_speed_v; // ?
17 /* 0xA8 */ s16 rotation_num;
18 /* 0xAA */ s16 rotation_speed;
19 /* 0xAC */ s16 attack_start_min_time;
21 /* 0xB0 */ f32 move_speed;
22};
23
25public:
26 virtual ~daNpc_Kn_Param_c() {}
28 static const daNpc_Kn_HIOParam m;
29};
30
31#if DEBUG
33public:
35
36 void listenPropertyEvent(const JORPropertyEvent*);
37 void genMessage(JORMContext*);
38
40};
41
42#define NPC_KN_HIO_CLASS daNpc_Kn_HIO_c
43#else
44#define NPC_KN_HIO_CLASS daNpc_Kn_Param_c
45#endif
46
55class daNpc_Kn_c : public fopEn_enemy_c {
56public:
57 typedef int (daNpc_Kn_c::*cutFunc)(int);
58 typedef int (daNpc_Kn_c::*actionFunc)(void*);
59
77
79 public:
80 /* 0x00 */ bool field_0x00;
81 /* 0x04 */ cXyz mPos;
82 /* 0x10 */ csXyz mAngle;
83 /* 0x18 */ cXyz mScale;
84 /* 0x24 */ dPaPo_c mManager;
85 };
86
87public:
90 /* 0x05B4 */ const daNpcT_evtData_c* mpEventData;
91 /* 0x05B8 */ char** mpArcNames;
92 /* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf[2];
93 /* 0x05C4 */ Z2Creature mSound;
94 /* 0x0654 */ mDoExt_bckAnm mBckAnm;
95 /* 0x0670 */ mDoExt_btpAnm mBtpAnm;
96 /* 0x0688 */ mDoExt_btkAnm mBtkAnm;
97 /* 0x06A0 */ mDoExt_brkAnm mBrkAnm;
98 /* 0x06B8 */ mDoExt_bpkAnm mBpkAnm;
99 /* 0x06D0 */ dBgS_ObjAcch mAcch;
100 /* 0x08A8 */ dCcD_Stts mCcStts;
101 /* 0x08E4 */ dBgS_AcchCir mAcchCir;
103 /* 0x0964 */ cBgS_GndChk mGndChk;
105 /* 0x09A4 */ u8 field_0x9a4[4];
106 /* 0x09A8 */ dMsgFlow_c mFlow;
107 /* 0x09F4 */ dPaPoT_c field_0x9F4;
108 /* 0x0A74 */ dCcD_Stts mCcStts2;
109 /* 0x0AB0 */ u32 mFlowNodeNo;
110 /* 0x0AB4 */ f32 mExpressionMorfFrame;
111 /* 0x0AB8 */ f32 mMorfFrames;
112 /* 0x0ABC */ u8 mCreating;
113 /* 0x0ABD */ u8 mTwilight;
114 /* 0x0AC0 */ dBgS_GndChk mGndChk2;
115 /* 0x0B14 */ dBgS_LinChk mLinChk;
122 /* 0x0D58 */ cXyz mFootLPos;
123 /* 0x0D64 */ cXyz mFootRPos;
124 /* 0x0D70 */ cXyz mFootLOffset;
125 /* 0x0D7C */ cXyz mFootROffset;
126 /* 0x0D88 */ cXyz mOldFootLOffset;
127 /* 0x0D94 */ cXyz mOldFootROffset;
128 /* 0x0DA0 */ cXyz field_0xDA0;
129 /* 0x0DAC */ csXyz mCurAngle;
130 /* 0x0DB2 */ csXyz field_0xDB2;
131 /* 0x0DB8 */ csXyz field_0xDB8;
132 /* 0x0DBE */ csXyz field_0xDBE;
134 /* 0x0DC8 */ u32 mShadowKey;
135 /* 0x0DCC */ u32 mAnmFlags;
136 /* 0x0DD0 */ fpc_ProcID mMsgId;
137 /* 0x0DD4 */ int mStaffId;
138 /* 0x0DD8 */ int mCutType;
139 /* 0x0DDC */ int field_0xddc;
140 /* 0x0DE0 */ int mTimerStart;
141 /* 0x0DE4 */ int mTimer;
142 /* 0x0DE8 */ int mBtpPauseTimer;
143 /* 0x0DEC */ int field_0xdec;
144 /* 0x0DF0 */ s16 mGroundAngle;
145 /* 0x0DF2 */ s16 field_0xdf2;
146 /* 0x0DF4 */ s16 mFootLPolyAngle;
147 /* 0x0DF5 */ u8 field_0xdf5[0x0DF8 - 0x0DF6];
148 /* 0x0DF8 */ s16 mFootRPolyAngle;
149 /* 0x0DFA */ s16 mStartAngle;
150 /* 0x0DFC */ s16 mTargetAngle;
151 /* 0x0DFE */ s16 mStepMode;
152 /* 0x0E00 */ s16 mTurnAmount;
153 /* 0x0E04 */ f32 mTurnCount;
154 /* 0x0E08 */ u8 field_0xe08[0x0E0C - 0x0E08];
155 /* 0x0E0C */ f32 field_0xe0c;
156 /* 0x0E10 */ f32 mRadius;
157 /* 0x0E14 */ f32 mGroundHeight;
158 /* 0x0E18 */ u8 field_0xe18[0xe1c - 0xe18];
159 /* 0x0E1C */ u32 mHitodamaPrtclKey[2];
160 /* 0x0E24 */ s16 mEvtId;
161 /* 0x0E26 */ u16 mMorfLoops;
162 /* 0x0E28 */ u16 mBckLoops;
163 /* 0x0E2A */ u16 mMode;
164 /* 0x0E2C */ u8 field_0xe2c;
165 /* 0x0E2D */ u8 field_0xe2d;
166 /* 0x0E2E */ u8 mFootLOnGround;
167 /* 0x0E2F */ u8 mFootROnGround;
168 /* 0x0E30 */ u8 field_0xe30;
169 /* 0x0E31 */ u8 field_0xe31;
170 /* 0x0E32 */ u8 mNoDraw;
171 /* 0x0E33 */ u8 field_0xe33;
172 /* 0x0E34 */ u8 field_0xe34;
173 /* 0x0E36 */ u16 mEvtNo;
174 /* 0x0E38 */ u8 mSpeakEvent;
175 /* 0x0E39 */ u8 field_0xe39;
176 /* 0x0E3A */ u8 field_0xe3a;
177 /* 0x0E3B */ u8 field_0xe3b;
178 /* 0x0E3C */ int field_0xe3c;
179 // /* 0x0E40 */ vtable
180
181public:
182 void initialize() {
183 memset(&mFootLPos, 0, (intptr_t)&field_0xe3c - (intptr_t)&mFootLPos);
184
191 mItemPartnerId = -1;
192 field_0xe2d = 1;
193 mPodAnmFlags = 0;
194 }
195
196 bool checkHide() {
197 return field_0xe2c != 0 || (!dComIfGs_wolfeye_effect_check() && mTwilight != 0);
198 }
199
201 return 4;
202 }
203
205 return 3;
206 }
207
209 return 1;
210 }
211
212 bool checkChangeJoint(int i_jointNo) { return i_jointNo == 4; }
213 bool checkRemoveJoint(int i_jointNo) { return i_jointNo == 5; }
214
215 void setCutType(int i_type) { mCutType = i_type;}
216
217 void setActionMode(s8 i_actionMode) { mActionMode = i_actionMode;}
218 s8 getActionMode() { return mActionMode; }
219
220 void setTalkFlag(u8 i_flag) { field_0x15bd = i_flag; }
221
222 bool checkBattleMode() { return true; }
223
224 int create();
225 int CreateHeap();
226 int Delete();
227 int Execute();
228 int Draw();
229 static int createHeapCallBack(fopAc_ac_c*);
230 static int ctrlJointCallBack(J3DJoint*, int);
231 u8 getType();
232 u8 getDivideNo();
233 u32 getFlowNodeNo();
234 u8 getPath();
235 BOOL isDelete();
236 void resetCol();
237 void reset();
238 void resetType();
239 void setParam();
240 u32 setParamTeach03();
241 u32 setParamTeach04();
242 u32 setParamTeach05();
243 u32 setParamTeach06();
244 u32 setParamTeach07();
245 void setAfterTalkMotion();
246 void srchActors();
247 bool evtTalk();
248 BOOL evtCutProc();
249 void action();
250 void beforeMove();
251 void afterMoved();
252 void setAttnPos();
253 void setCollision();
254 void setCollisionSword();
255 BOOL checkCollisionSword();
256 void setCollisionTeach03();
257 void setCollisionTeach04();
258 void setCollisionTeach05();
259 void setCollisionTeach06();
260 void setCollisionTeach07();
261 int drawDbgInfo();
262 void drawOtherMdl();
263 void drawGhost();
264 int selectAction();
270 BOOL chkAction(actionFunc);
271 BOOL setAction(actionFunc);
272 int wait(void*);
273 int talk(void*);
274 int test(void*);
275 void setSceneChange(int);
278 int ECut_largeDamageTalk(int);
279 int teach02_start(void*);
280 int teach03_attackWait(void*);
281 int teach04_attackWait(void*);
282 int teach04_headBreakWait(void*);
283 int teach04_finishWait(void*);
285 int teach06_superJumpWait(void*);
286 int teach06_divideMove(void*);
287 int teach06_waitDivide(void*);
289 int teach06_superJumpedDivide(void*);
290 int teach06_warpDelete(void*);
292 int teach07_divideMove(void*);
293 int teach07_waitDivide(void*);
296 int teach07_warpDelete(void*);
297 int ECut_secondEncount(int);
298 int ECut_thirdSkillExplain(int);
299 int ECut_thirdSkillGet(int);
301 int ECut_fourthSkillGet(int);
302 int ECut_fifthSkillExplain(int);
303 int ECut_fifthSkillGet(int);
304 int ECut_sixthSkillExplain(int);
305 int ECut_sixthSkillGet(int);
307 int ECut_seventhSkillGet(int);
308 int setPrtcl();
309 int setSlipPrtcl();
310 int setLandingPrtcl();
311 void calcMagicBallPos();
312 void setSwordChargePtcl();
313 void calcSlip();
314 void calcSwordAttackMove(int);
315 void setSe();
317 J3DAnmTransform* getTrnsfrmAnmP(char const*, int);
318 J3DAnmTransformKey* getTrnsfrmKeyAnmP(char const*, int);
319 J3DAnmTexPattern* getTexPtrnAnmP(char const*, int);
320 J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char const*, int);
321 BOOL setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
322 int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
323 BOOL setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
324 BOOL setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
325 int loadRes(s8 const*, char const**);
326 void deleteRes(s8 const*, char const**);
327 int execute();
328 int draw(int, int, f32, GXColorS10*, f32, int, int, int);
330 void setRoomNo();
331 BOOL checkEndAnm(f32);
332 BOOL checkEndAnm(J3DFrameCtrl*, f32);
334 void setMtx();
337 int ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
338 void evtChange();
339 bool setFaceMotionAnm(int, bool);
340 bool setMotionAnm(int, f32, int);
342 void setAngle(s16);
343 BOOL chkActorInSight(fopAc_ac_c*, f32, s16);
344 BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
346 int chkFindPlayer(int, s16);
349 BOOL turn(s16, int, int);
350 int step(s16, int, int, int, int);
351 int initTalk(int, fopAc_ac_c**);
352 BOOL talkProc(int*, int, fopAc_ac_c**, int);
355 daNpcT_motionAnmData_c const* param_1,
357 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
358 daNpcT_evtData_c const* param_6, char** param_7)
359 : mpFaceMotionAnmData(param_0), mpMotionAnmData(param_1), mFaceMotionSeqMngr(param_2, param_3),
360 mMotionSeqMngr(param_4, param_5), mpEventData(param_6), mpArcNames(param_7)
361 {
362 OS_REPORT("|%06d:%x|daNpc_Kn_c -> コンストラクト\n", g_Counter.mCounter0, this);
363 initialize();
364 }
368 int teach01_start(void*);
372 int ctrlWarp();
385
386 virtual int ctrlBtk();
387 virtual int getFootLJointNo() { return -1; }
388 virtual int getFootRJointNo() { return -1; }
389 virtual u16 getEyeballLMaterialNo() { return 0; }
390 virtual u16 getEyeballRMaterialNo() { return 0; }
391 virtual u16 getEyeballMaterialNo() { return 0; }
392 virtual int ctrlJoint(J3DJoint*, J3DModel*);
393 virtual void afterJntAnm(int) {}
394 virtual BOOL checkChangeEvt() { return FALSE; }
395 virtual BOOL evtEndProc() { return TRUE; }
396 virtual int evtProc();
397 virtual void setFootPos();
398 virtual void setFootPrtcl(cXyz*, f32);
399 virtual bool checkCullDraw();
400 virtual void twilight();
401 virtual BOOL chkXYItems() { return FALSE; }
402 virtual void evtOrder();
403 virtual void decTmr();
404 virtual void clrParam();
405 virtual bool afterSetFaceMotionAnm(int, int, f32, int) { return true; }
410 return arg0;
411 }
412 virtual ~daNpc_Kn_c();
413 virtual bool afterSetMotionAnm(int, int, f32, int);
414
415 static const dCcD_SrcGObjInf mCcDObjData;
416 static char* mCutNameList[21];
417 static cutFunc mCutList[21];
418 static dCcD_SrcCyl mCcDCyl;
419 static dCcD_SrcSph mCcDSph;
420 static s16 mSrchName;
422 static int mFindCount;
423
424private:
425 /* 0x0E44 */ J3DModel* mpPodModel;
427 /* 0x0E50 */ dKy_tevstr_c mTevStr;
428 /* 0x11D8 */ NPC_KN_HIO_CLASS* mpHIO;
429 /* 0x11DC */ dCcD_Cyl mCylCc;
430 /* 0x1318 */ dCcD_Sph mSphCc[2];
431 /* 0x1588 */ mDoExt_bckAnm mPodBck;
432 /* 0x15A4 */ u32 mPodAnmFlags;
433 /* 0x15A8 */ u32 field_0x15A8;
434 /* 0x15AC */ u8 mType;
435 /* 0x15AD */ u8 mDivideNo;
436 /* 0x15AE */ s8 mActionMode;
437 /* 0x15AF */ u8 field_0x15af;
438 /* 0x15B0 */ cXyz mTargetPos;
439 /* 0x15BC */ u8 field_0x15bc;
440 /* 0x15BD */ u8 field_0x15bd;
441 /* 0x15BE */ u16 field_0x15be;
442 /* 0x15C0 */ cXyz field_0x15c0;
443 /* 0x15CC */ u8 field_0x15cc;
444 /* 0x15CD */ u8 field_0x15cd;
445 /* 0x15CE */ u8 field_0x15ce;
446 /* 0x15CF */ u8 field_0x15cf;
447 /* 0x15D0 */ s16 field_0x15d0;
448 /* 0x15D4 */ int field_0x15d4[3];
450 /* 0x16F4 */ cXyz field_0x16f4;
451 /* 0x1700 */ cXyz field_0x1700;
452 /* 0x170C */ u8 field_0x170c;
453 /* 0x170D */ u8 field_0x170d;
454 /* 0x170E */ u8 field_0x170e;
455 /* 0x170F */ u8 field_0x170f;
456 /* 0x1710 */ s16 field_0x1710;
457 /* 0x1712 */ s16 field_0x1712;
460 /* 0x172C */ daNpcT_Path_c mPath;
461 /* 0x1754 */ u8 field_0x1754;
462};
463
464STATIC_ASSERT(sizeof(daNpc_Kn_c) == 0x1758);
465
466#endif /* D_A_NPC_KN_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition Z2Creature.h:7
Definition c_bg_s_gnd_chk.h:8
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_gnd_chk.h:7
Definition d_bg_s_lin_chk.h:9
Definition d_bg_s_acch.h:244
Definition d_cc_d.h:472
Definition d_cc_d.h:286
Definition d_cc_d.h:487
Definition d_cc_d.h:273
Definition d_kankyo_tev_str.h:8
Definition d_msg_flow.h:49
Definition d_particle_copoly.h:53
Particle effect management class for center-based effects.
Definition d_particle_copoly.h:25
Definition d_a_npc.h:31
void initialize()
Definition d_a_npc.cpp:277
Definition d_a_npc.h:448
void initialize()
Definition d_a_npc.h:453
Definition d_a_npc.h:219
void initialize()
Definition d_a_npc.cpp:852
Definition d_a_npc.h:46
Definition d_a_npc.h:69
void initialize()
Definition d_a_npc.cpp:337
Definition d_a_npc.h:146
Definition d_a_npc_kn.h:32
daNpc_Kn_HIOParam m
Definition d_a_npc_kn.h:39
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_kn.cpp:133
void genMessage(JORMContext *)
Definition d_a_npc_kn.cpp:182
daNpc_Kn_HIO_c()
Definition d_a_npc_kn.cpp:129
Definition d_a_npc_kn.h:24
virtual ~daNpc_Kn_Param_c()
Definition d_a_npc_kn.h:26
static const daNpc_Kn_HIOParam m
Definition d_a_npc_kn.h:71
Definition d_a_npc_kn.h:78
cXyz mScale
Definition d_a_npc_kn.h:83
csXyz mAngle
Definition d_a_npc_kn.h:82
dPaPo_c mManager
Definition d_a_npc_kn.h:84
bool field_0x00
Definition d_a_npc_kn.h:80
cXyz mPos
Definition d_a_npc_kn.h:81
Hero's Shade.
Definition d_a_npc_kn.h:55
const daNpcT_evtData_c * mpEventData
Definition d_a_npc_kn.h:90
u8 getDivideNo()
Definition d_a_npc_kn.cpp:771
u8 field_0x15cd
Definition d_a_npc_kn.h:444
BOOL turn(s16, int, int)
u8 field_0x170d
Definition d_a_npc_kn.h:453
int(daNpc_Kn_c::*) cutFunc(int)
Definition d_a_npc_kn.h:57
u32 setParamTeach02()
J3DAnmTransformKey * getTrnsfrmKeyAnmP(char const *, int)
virtual int getFootRJointNo()
Definition d_a_npc_kn.h:388
virtual u16 getEyeballLMaterialNo()
Definition d_a_npc_kn.h:389
cXyz field_0x1700
Definition d_a_npc_kn.h:451
void setMtx()
daNpc_Kn_prtclMngr_c mParticleMngr[3]
Definition d_a_npc_kn.h:449
csXyz mCurAngle
Definition d_a_npc_kn.h:129
void setTalkFlag(u8 i_flag)
Definition d_a_npc_kn.h:220
int ECut_sixthSkillGet(int)
Definition d_a_npc_kn.cpp:4465
int ECut_noneEquipChangeTalkStand(int)
Definition d_a_npc_kn.cpp:1776
daNpc_Kn_c(daNpcT_faceMotionAnmData_c const *param_0, daNpcT_motionAnmData_c const *param_1, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_2, int param_3, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_4, int param_5, daNpcT_evtData_c const *param_6, char **param_7)
Definition d_a_npc_kn.h:354
int teach02_shieldBashWait(void *)
u16 mMode
Definition d_a_npc_kn.h:163
s16 mStepMode
Definition d_a_npc_kn.h:151
dBgS_ObjAcch mAcch
Definition d_a_npc_kn.h:99
u32 mAnmFlags
Definition d_a_npc_kn.h:135
int ECut_secondSkillGet(int)
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kn.cpp:736
cXyz field_0x15c0
Definition d_a_npc_kn.h:442
void teach01_selectAction()
void resetCol()
Definition d_a_npc_kn.cpp:813
int setPrtcl()
Definition d_a_npc_kn.cpp:4949
u8 mSpeakEvent
Definition d_a_npc_kn.h:174
int ECut_thirdSkillExplain(int)
Definition d_a_npc_kn.cpp:3277
bool checkRemoveJoint(int i_jointNo)
Definition d_a_npc_kn.h:213
dCcD_Sph mSphCc[2]
Definition d_a_npc_kn.h:430
mDoExt_invisibleModel mInvisModel
Definition d_a_npc_kn.h:426
s8 getActionMode()
Definition d_a_npc_kn.h:218
int teach03_attackWait(void *)
Definition d_a_npc_kn.cpp:1929
u32 setParamTeach04()
Definition d_a_npc_kn.cpp:1008
void ctrlFaceMotion()
BOOL setBtkAnm(J3DAnmTextureSRTKey *, J3DModelData *, f32, int)
void drawGhost()
Definition d_a_npc_kn.cpp:1395
void setCollisionTeach07()
Definition d_a_npc_kn.cpp:1329
static dCcD_SrcSph mCcDSph
Definition d_a_npc_kn.h:27
void ctrlMotion()
dPaPoT_c field_0x9F4
Definition d_a_npc_kn.h:107
u8 field_0xe3b
Definition d_a_npc_kn.h:177
int talk(void *)
Definition d_a_npc_kn.cpp:1645
void srchActors()
Definition d_a_npc_kn.cpp:1059
int setSlipPrtcl()
Definition d_a_npc_kn.cpp:4993
BOOL srchPlayerActor()
void setSceneChange(int)
Definition d_a_npc_kn.cpp:1708
int teach07_superTurnAttackWaitDivide(void *)
Definition d_a_npc_kn.cpp:2969
u8 field_0x170e
Definition d_a_npc_kn.h:454
int teach02_shieldReflectWait(void *)
int ECut_fourthSkillGet(int)
Definition d_a_npc_kn.cpp:3797
dBgS_LinChk mLinChk
Definition d_a_npc_kn.h:115
virtual void twilight()
int teach06_superJumpWait(void *)
Definition d_a_npc_kn.cpp:2381
virtual u16 getEyeballMaterialNo()
Definition d_a_npc_kn.h:391
int ECut_fifthSkillGet(int)
Definition d_a_npc_kn.cpp:4131
BOOL setAction(actionFunc)
Definition d_a_npc_kn.cpp:1605
int execute()
daNpcT_ActorMngr_c mActorMngr2
Definition d_a_npc_kn.h:119
void calcSwordAttackMove(int)
Definition d_a_npc_kn.cpp:5125
virtual BOOL checkChangeEvt()
Definition d_a_npc_kn.h:394
s16 mFootRPolyAngle
Definition d_a_npc_kn.h:148
s16 mTargetAngle
Definition d_a_npc_kn.h:150
void setCutType(int i_type)
Definition d_a_npc_kn.h:215
void setCollisionTeach02()
s16 mEvtId
Definition d_a_npc_kn.h:160
dKy_tevstr_c mTevStr
Definition d_a_npc_kn.h:427
void beforeMove()
Definition d_a_npc_kn.cpp:1109
BOOL talkProc(int *, int, fopAc_ac_c **, int)
int initTalk(int, fopAc_ac_c **)
int ECut_thirdSkillGet(int)
Definition d_a_npc_kn.cpp:3461
int ctrlWarp()
request_of_phase_process_class mPhase[8]
Definition d_a_npc_kn.h:102
NPC_KN_HIO_CLASS * mpHIO
Definition d_a_npc_kn.h:428
int teach06_waitDivide(void *)
Definition d_a_npc_kn.cpp:2564
void teach03_selectAction()
Definition d_a_npc_kn.cpp:1515
u8 field_0x15cf
Definition d_a_npc_kn.h:446
u8 field_0x15ce
Definition d_a_npc_kn.h:445
u8 mNoDraw
Definition d_a_npc_kn.h:170
daNpcT_MatAnm_c * mpMatAnm
Definition d_a_npc_kn.h:104
void drawOtherMdl()
Definition d_a_npc_kn.cpp:1346
void teach07_selectAction()
Definition d_a_npc_kn.cpp:1576
u8 field_0x15bc
Definition d_a_npc_kn.h:439
int field_0xddc
Definition d_a_npc_kn.h:139
mDoExt_brkAnm mBrkAnm
Definition d_a_npc_kn.h:97
int teach01_attackWait(void *)
virtual bool afterSetFaceMotionAnm(int, int, f32, int)
Definition d_a_npc_kn.h:405
int teach01_start(void *)
int step(s16, int, int, int, int)
csXyz field_0xDB8
Definition d_a_npc_kn.h:131
int wait(void *)
Definition d_a_npc_kn.cpp:1621
fpc_ProcID mMsgId
Definition d_a_npc_kn.h:136
u16 mMorfLoops
Definition d_a_npc_kn.h:161
int teach02_finishWait(void *)
cXyz mFootLOffset
Definition d_a_npc_kn.h:124
virtual u16 getEyeballRMaterialNo()
Definition d_a_npc_kn.h:390
int ECut_attackFailed(int)
void setAngle(s16)
u8 field_0x15bd
Definition d_a_npc_kn.h:440
int teach01_swordFinishWait(void *)
f32 mMorfFrames
Definition d_a_npc_kn.h:111
s16 field_0x15d0
Definition d_a_npc_kn.h:447
virtual int ctrlJoint(J3DJoint *, J3DModel *)
u16 mEvtNo
Definition d_a_npc_kn.h:173
int ECut_firstSkillGet(int)
static char * mCutNameList[21]
Definition d_a_npc_kn.h:471
daNpcT_MotionSeqMngr_c mMotionSeqMngr
Definition d_a_npc_kn.h:117
f32 mGroundHeight
Definition d_a_npc_kn.h:157
static void tgHitCallBack(fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
int loadRes(s8 const *, char const **)
u8 mTwilight
Definition d_a_npc_kn.h:113
BOOL setBckAnm(J3DAnmTransform *, f32, int, int, int, bool)
u8 field_0xdf5[0x0DF8 - 0x0DF6]
Definition d_a_npc_kn.h:147
void reset()
Definition d_a_npc_kn.cpp:830
int Delete()
Definition d_a_npc_kn.cpp:701
void teach06_selectAction()
Definition d_a_npc_kn.cpp:1551
bool checkHide()
Definition d_a_npc_kn.h:196
mDoExt_btpAnm mBtpAnm
Definition d_a_npc_kn.h:95
virtual bool checkCullDraw()
void evtChange()
mDoExt_bckAnm mBckAnm
Definition d_a_npc_kn.h:94
cXyz mFootROffset
Definition d_a_npc_kn.h:125
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kn.cpp:731
int teach07_superTurnAttackWait(void *)
Definition d_a_npc_kn.cpp:2791
s16 field_0xdf2
Definition d_a_npc_kn.h:145
u8 field_0xe2d
Definition d_a_npc_kn.h:165
u8 field_0xe30
Definition d_a_npc_kn.h:168
mDoExt_bckAnm mPodBck
Definition d_a_npc_kn.h:431
J3DAnmTransform * getTrnsfrmAnmP(char const *, int)
int teach02_start(void *)
Definition d_a_npc_kn.cpp:1907
void setCollisionTeach01()
int ECut_secondEncount(int)
Definition d_a_npc_kn.cpp:3120
cXyz mOldFootROffset
Definition d_a_npc_kn.h:127
int ECut_largeDamageTalk(int)
Definition d_a_npc_kn.cpp:1841
virtual int evtProc()
void action()
Definition d_a_npc_kn.cpp:1099
int field_0x15d4[3]
Definition d_a_npc_kn.h:448
cXyz mFootRPos
Definition d_a_npc_kn.h:123
daNpcT_DmgStagger_c mDmgStagger
Definition d_a_npc_kn.h:121
u8 field_0xe18[0xe1c - 0xe18]
Definition d_a_npc_kn.h:158
int field_0xe3c
Definition d_a_npc_kn.h:178
u16 field_0x15be
Definition d_a_npc_kn.h:441
void setCollisionSword()
Definition d_a_npc_kn.cpp:1226
cXyz field_0xDA0
Definition d_a_npc_kn.h:128
int ctrlMsgAnm(int *, int *, fopAc_ac_c *, int)
daNpcT_MotionSeqMngr_c mFaceMotionSeqMngr
Definition d_a_npc_kn.h:116
virtual void setFootPrtcl(cXyz *, f32)
char ** mpArcNames
Definition d_a_npc_kn.h:91
cXyz mTargetPos
Definition d_a_npc_kn.h:438
void setHitodamaPrtcl()
virtual void afterJntAnm(int)
Definition d_a_npc_kn.h:393
virtual int ctrlBtk()
actionFunc mpActionFunc
Definition d_a_npc_kn.h:459
int teach06_superJumpedDivide(void *)
Definition d_a_npc_kn.cpp:2714
u32 setParamTeach07()
Definition d_a_npc_kn.cpp:1048
u8 field_0xe39
Definition d_a_npc_kn.h:175
AnmFlags
Definition d_a_npc_kn.h:60
@ ANM_PAUSE_BCK
Definition d_a_npc_kn.h:65
@ ANM_PLAY_MORF
Definition d_a_npc_kn.h:67
@ ANM_FLAG_1000
Definition d_a_npc_kn.h:73
@ ANM_PAUSE_MORF
Definition d_a_npc_kn.h:61
@ ANM_PLAY_BPK
Definition d_a_npc_kn.h:70
@ ANM_PAUSE_TIMER_BTP
Definition d_a_npc_kn.h:74
@ ANM_FLAG_4000
Definition d_a_npc_kn.h:75
@ ANM_PAUSE_BTP
Definition d_a_npc_kn.h:66
@ ANM_PLAY_BTK
Definition d_a_npc_kn.h:68
@ ANM_PAUSE_BPK
Definition d_a_npc_kn.h:64
@ ANM_PLAY_BTP
Definition d_a_npc_kn.h:72
@ ANM_PLAY_BCK
Definition d_a_npc_kn.h:71
@ ANM_PAUSE_BRK
Definition d_a_npc_kn.h:63
@ ANM_PAUSE_BTK
Definition d_a_npc_kn.h:62
@ ANM_PLAY_BRK
Definition d_a_npc_kn.h:69
u8 field_0xe3a
Definition d_a_npc_kn.h:176
u32 setParamTeach05()
Definition d_a_npc_kn.cpp:1028
virtual daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c arg0)
Definition d_a_npc_kn.h:409
void resetType()
Definition d_a_npc_kn.cpp:879
actionFunc mpTeachAction
Definition d_a_npc_kn.h:458
u8 field_0x1754
Definition d_a_npc_kn.h:461
int chkFindPlayer(int, s16)
u32 setParamTeach06()
Definition d_a_npc_kn.cpp:1044
BOOL setBtpAnm(J3DAnmTexPattern *, J3DModelData *, f32, int)
void playAllAnm()
int teach04_finishWait(void *)
Definition d_a_npc_kn.cpp:2181
u32 setParamTeach01()
u32 setParamTeach03()
Definition d_a_npc_kn.cpp:992
virtual bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_kn.cpp:1409
int selectAction()
Definition d_a_npc_kn.cpp:1447
int field_0xdec
Definition d_a_npc_kn.h:143
dBgS_AcchCir mAcchCir
Definition d_a_npc_kn.h:101
int ECut_firstEncount(int)
bool evtTalk()
Definition d_a_npc_kn.cpp:1065
void setCollision()
Definition d_a_npc_kn.cpp:1162
u8 getType()
Definition d_a_npc_kn.cpp:749
dCcD_Stts mCcStts
Definition d_a_npc_kn.h:100
void setCollisionTeach05()
Definition d_a_npc_kn.cpp:1317
int teach07_divideMove(void *)
Definition d_a_npc_kn.cpp:2898
void setAfterTalkMotion()
Definition d_a_npc_kn.cpp:1052
int ECut_seventhSkillExplain(int)
Definition d_a_npc_kn.cpp:4606
virtual int getFootLJointNo()
Definition d_a_npc_kn.h:387
int teach07_waitDivide(void *)
Definition d_a_npc_kn.cpp:2943
daNpcT_JntAnm_c mJntAnm
Definition d_a_npc_kn.h:120
cXyz mFootLPos
Definition d_a_npc_kn.h:122
bool setFaceMotionAnm(int, bool)
u8 field_0x9a4[4]
Definition d_a_npc_kn.h:105
s16 mFootLPolyAngle
Definition d_a_npc_kn.h:146
BOOL checkEndAnm(J3DFrameCtrl *, f32)
J3DAnmTextureSRTKey * getTexSRTKeyAnmP(char const *, int)
int ECut_reflectExplain(int)
int create()
Definition d_a_npc_kn.cpp:538
BOOL checkCollisionSword()
Definition d_a_npc_kn.cpp:1259
const daNpcT_faceMotionAnmData_c * mpFaceMotionAnmData
Definition d_a_npc_kn.h:88
s16 mGroundAngle
Definition d_a_npc_kn.h:144
int Draw()
Definition d_a_npc_kn.cpp:717
int test(void *)
Definition d_a_npc_kn.cpp:1685
int getBackboneJointNo()
Definition d_a_npc_kn.h:208
int teach06_warpDelete(void *)
Definition d_a_npc_kn.cpp:2752
BOOL isDelete()
Definition d_a_npc_kn.cpp:785
void afterMoved()
Definition d_a_npc_kn.cpp:1115
void setAttnPos()
Definition d_a_npc_kn.cpp:1122
J3DAnmTexPattern * getTexPtrnAnmP(char const *, int)
mDoExt_McaMorfSO * mpModelMorf[2]
Definition d_a_npc_kn.h:92
u32 mPodAnmFlags
Definition d_a_npc_kn.h:432
void teach04_selectAction()
Definition d_a_npc_kn.cpp:1525
virtual void setFootPos()
dCcD_Stts mCcStts2
Definition d_a_npc_kn.h:108
BOOL checkEndAnm(f32)
int mTimer
Definition d_a_npc_kn.h:141
u8 mType
Definition d_a_npc_kn.h:434
cXyz getAttnPos(fopAc_ac_c *)
u8 field_0xe31
Definition d_a_npc_kn.h:169
daNpcT_Path_c mPath
Definition d_a_npc_kn.h:460
int teach07_warpDelete(void *)
Definition d_a_npc_kn.cpp:3100
u8 mFootROnGround
Definition d_a_npc_kn.h:167
virtual void decTmr()
J3DModel * mpPodModel
Definition d_a_npc_kn.h:425
int mCutType
Definition d_a_npc_kn.h:138
static dCcD_SrcCyl mCcDCyl
Definition d_a_npc_kn.h:20
static fopAc_ac_c * mFindActorPtrs[50]
Definition d_a_npc_kn.h:421
bool checkChangeJoint(int i_jointNo)
Definition d_a_npc_kn.h:212
int getNeckJointNo()
Definition d_a_npc_kn.h:204
cBgS_GndChk mGndChk
Definition d_a_npc_kn.h:103
u8 getPath()
Definition d_a_npc_kn.cpp:781
int teach06_divideMove(void *)
Definition d_a_npc_kn.cpp:2522
bool checkBattleMode()
Definition d_a_npc_kn.h:222
int ECut_secondSkillExplain(int)
void setEnvTevColor()
u16 mBckLoops
Definition d_a_npc_kn.h:162
virtual ~daNpc_Kn_c()
Definition d_a_npc_kn.cpp:521
u8 mDivideNo
Definition d_a_npc_kn.h:435
int(daNpc_Kn_c::*) actionFunc(void *)
Definition d_a_npc_kn.h:58
int Execute()
Definition d_a_npc_kn.cpp:708
int setLandingPrtcl()
Definition d_a_npc_kn.cpp:5010
s16 field_0x1712
Definition d_a_npc_kn.h:457
u32 mShadowKey
Definition d_a_npc_kn.h:134
dMsgFlow_c mFlow
Definition d_a_npc_kn.h:106
BOOL chkPointInArea(cXyz, cXyz, cXyz, s16)
int teach06_superJumpWaitDivide(void *)
Definition d_a_npc_kn.cpp:2590
int CreateHeap()
Definition d_a_npc_kn.cpp:599
s16 mStartAngle
Definition d_a_npc_kn.h:149
int setMcaMorfAnm(J3DAnmTransformKey *, f32, f32, int, int, int)
int draw(int, int, f32, GXColorS10 *, f32, int, int, int)
BOOL chkAction(actionFunc)
Definition d_a_npc_kn.cpp:1601
int mBtpPauseTimer
Definition d_a_npc_kn.h:142
void setSwordChargePtcl()
Definition d_a_npc_kn.cpp:5030
u8 field_0xe2c
Definition d_a_npc_kn.h:164
virtual void evtOrder()
static int mFindCount
Definition d_a_npc_kn.h:422
int teach04_headBreakWait(void *)
Definition d_a_npc_kn.cpp:2125
BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16)
u8 field_0xe33
Definition d_a_npc_kn.h:171
int ECut_sixthSkillExplain(int)
Definition d_a_npc_kn.cpp:4268
static cutFunc mCutList[21]
Definition d_a_npc_kn.h:495
u32 getFlowNodeNo()
Definition d_a_npc_kn.cpp:776
int ECut_fifthSkillExplain(int)
Definition d_a_npc_kn.cpp:3934
s16 field_0x1710
Definition d_a_npc_kn.h:456
int teach07_superTurnAttackedDivide(void *)
Definition d_a_npc_kn.cpp:3062
u8 field_0x170c
Definition d_a_npc_kn.h:452
int teach05_surpriseAttackWait(void *)
Definition d_a_npc_kn.cpp:2242
void setActionMode(s8 i_actionMode)
Definition d_a_npc_kn.h:217
u8 field_0xe34
Definition d_a_npc_kn.h:172
int mTimerStart
Definition d_a_npc_kn.h:140
int drawDbgInfo()
Definition d_a_npc_kn.cpp:1333
static const dCcD_SrcGObjInf mCcDObjData
Definition d_a_npc_kn.h:62
virtual void clrParam()
u8 field_0x15af
Definition d_a_npc_kn.h:437
BOOL chkActorInSight(fopAc_ac_c *, f32, s16)
void setParam()
Definition d_a_npc_kn.cpp:917
const daNpcT_motionAnmData_c * mpMotionAnmData
Definition d_a_npc_kn.h:89
virtual daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c arg0)
Definition d_a_npc_kn.h:406
void setRoomNo()
cXyz mOldFootLOffset
Definition d_a_npc_kn.h:126
void setCollisionTeach04()
Definition d_a_npc_kn.cpp:1291
void teach02_selectAction()
mDoExt_bpkAnm mBpkAnm
Definition d_a_npc_kn.h:98
Z2Creature mSound
Definition d_a_npc_kn.h:93
f32 mRadius
Definition d_a_npc_kn.h:156
u8 field_0x170f
Definition d_a_npc_kn.h:455
virtual BOOL evtEndProc()
Definition d_a_npc_kn.h:395
cXyz field_0x16f4
Definition d_a_npc_kn.h:450
daNpcT_ActorMngr_c mActorMngr1
Definition d_a_npc_kn.h:118
csXyz field_0xDB2
Definition d_a_npc_kn.h:130
u8 mCreating
Definition d_a_npc_kn.h:112
int teach04_attackWait(void *)
Definition d_a_npc_kn.cpp:2045
fpc_ProcID mItemPartnerId
Definition d_a_npc_kn.h:133
s16 mTurnAmount
Definition d_a_npc_kn.h:152
u32 mHitodamaPrtclKey[2]
Definition d_a_npc_kn.h:159
void setCollisionTeach03()
Definition d_a_npc_kn.cpp:1283
void teach05_selectAction()
Definition d_a_npc_kn.cpp:1541
f32 mTurnCount
Definition d_a_npc_kn.h:153
u8 field_0x15cc
Definition d_a_npc_kn.h:443
BOOL evtCutProc()
Definition d_a_npc_kn.cpp:1077
f32 field_0xe0c
Definition d_a_npc_kn.h:155
void initialize()
Definition d_a_npc_kn.h:182
void setPos(cXyz)
virtual BOOL chkXYItems()
Definition d_a_npc_kn.h:401
int ECut_noneEquipChangeTalk(int)
Definition d_a_npc_kn.cpp:1725
int getHeadJointNo()
Definition d_a_npc_kn.h:200
u32 mFlowNodeNo
Definition d_a_npc_kn.h:109
void setSe()
Definition d_a_npc_kn.cpp:5159
s8 mActionMode
Definition d_a_npc_kn.h:436
mDoExt_btkAnm mBtkAnm
Definition d_a_npc_kn.h:96
void calcMagicBallPos()
Definition d_a_npc_kn.cpp:5017
int ECut_fourthSkillExplain(int)
Definition d_a_npc_kn.cpp:3597
int teach01_swordAttackWait(void *)
bool setMotionAnm(int, f32, int)
f32 mExpressionMorfFrame
Definition d_a_npc_kn.h:110
u8 mFootLOnGround
Definition d_a_npc_kn.h:166
u8 field_0xe08[0x0E0C - 0x0E08]
Definition d_a_npc_kn.h:154
void deleteRes(s8 const *, char const **)
int ECut_seventhSkillGet(int)
Definition d_a_npc_kn.cpp:4797
void calcSlip()
Definition d_a_npc_kn.cpp:5098
csXyz field_0xDBE
Definition d_a_npc_kn.h:132
int mStaffId
Definition d_a_npc_kn.h:137
dCcD_Cyl mCylCc
Definition d_a_npc_kn.h:429
u32 field_0x15A8
Definition d_a_npc_kn.h:433
dBgS_GndChk mGndChk2
Definition d_a_npc_kn.h:114
static s16 mSrchName
Definition d_a_npc_kn.h:420
void setCollisionTeach06()
Definition d_a_npc_kn.cpp:1325
Definition f_op_actor.h:271
Definition f_op_actor.h:327
Definition m_Do_ext.h:408
Definition m_Do_ext.h:149
Definition m_Do_ext.h:122
Definition m_Do_ext.h:92
Definition m_Do_ext.h:63
Definition m_Do_ext.h:180
Definition m_Do_ext.h:535
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Kn_c)==0x1758)
BOOL dComIfGs_wolfeye_effect_check()
Definition d_com_inf_game.cpp:2877
int cXyz int * param_2
Definition d_path.cpp:106
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition c_xyz.h:7
u32 mCounter0
Definition c_counter.h:7
Definition d_cc_d.h:104
Definition d_cc_d.h:87
Definition d_cc_d.h:94
Definition d_a_npc.h:843
Definition d_a_npc.h:484
Definition d_a_npc.h:489
Definition d_a_npc.h:504
Definition d_a_npc_kn.h:7
s16 attack_start_min_time
Definition d_a_npc_kn.h:19
s16 attack_wait_time
Definition d_a_npc_kn.h:10
s16 alpha
Definition d_a_npc_kn.h:9
s16 followup_wait_time
Definition d_a_npc_kn.h:11
f32 move_speed
Definition d_a_npc_kn.h:21
f32 attack_disappear_speed_v
Definition d_a_npc_kn.h:16
s16 attack_start_time_range
Definition d_a_npc_kn.h:20
f32 warp_distance
Definition d_a_npc_kn.h:14
f32 big_slide_distance
Definition d_a_npc_kn.h:13
daNpcT_HIOParam common
Definition d_a_npc_kn.h:8
s16 rotation_speed
Definition d_a_npc_kn.h:18
f32 attack_disappear_speed_h
Definition d_a_npc_kn.h:15
s16 rotation_num
Definition d_a_npc_kn.h:17
f32 small_slide_distance
Definition d_a_npc_kn.h:12
Definition c_phase.h:19