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
8 /* 0x8C */ s16 alpha;
9 /* 0x8E */ s16 attack_wait_time;
10 /* 0x90 */ s16 followup_wait_time; // ?
13 /* 0x9C */ f32 warp_distance;
16 /* 0xA8 */ s16 rotation_num;
17 /* 0xAA */ s16 rotation_speed;
20 /* 0xB0 */ f32 move_speed;
21};
22
24public:
25 virtual ~daNpc_Kn_Param_c() {}
26
27 static const daNpc_Kn_HIOParam m;
28};
29
30#if DEBUG
32public:
34
37
39};
40
41#define NPC_KN_HIO_CLASS daNpc_Kn_HIO_c
42#else
43#define NPC_KN_HIO_CLASS daNpc_Kn_Param_c
44#endif
45
54class daNpc_Kn_c : public fopEn_enemy_c {
55public:
56 typedef int (daNpc_Kn_c::*cutFunc)(int);
57 typedef int (daNpc_Kn_c::*actionFunc)(void*);
58
76
78 public:
79 /* 0x00 */ bool mpModel;
80 /* 0x04 */ cXyz mPos;
81 /* 0x10 */ csXyz mAngle;
82 /* 0x18 */ cXyz mScale;
83 /* 0x24 */ dPaPo_c mManager;
84 };
85
86public:
89 /* 0x05B4 */ const daNpcT_evtData_c* mpEventData;
90 /* 0x05B8 */ char** mpArcNames;
91 /* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf[2];
92 /* 0x05C4 */ Z2Creature mSound;
93 /* 0x0654 */ mDoExt_bckAnm mBckAnm;
94 /* 0x0670 */ mDoExt_btpAnm mBtpAnm;
95 /* 0x0688 */ mDoExt_btkAnm mBtkAnm;
96 /* 0x06A0 */ mDoExt_brkAnm mBrkAnm;
97 /* 0x06B8 */ mDoExt_bpkAnm mBpkAnm;
98 /* 0x06D0 */ dBgS_ObjAcch mAcch;
99 /* 0x08A8 */ dCcD_Stts mCcStts;
100 /* 0x08E4 */ dBgS_AcchCir mAcchCir;
102 /* 0x0964 */ cBgS_GndChk mGndChk;
104 /* 0x09A4 */ u8 field_0x9a4[4];
105 /* 0x09A8 */ dMsgFlow_c mFlow;
106 /* 0x09F4 */ dPaPoT_c field_0x9F4;
107 /* 0x0A74 */ dCcD_Stts mCcStts2;
108 /* 0x0AB0 */ u32 mFlowNodeNo;
110 /* 0x0AB8 */ f32 mMorfFrames;
111 /* 0x0ABC */ u8 mCreating;
112 /* 0x0ABD */ u8 mTwilight;
113 /* 0x0AC0 */ dBgS_GndChk mGndChk2;
114 /* 0x0B14 */ dBgS_LinChk mLinChk;
121 /* 0x0D58 */ cXyz mFootLPos;
122 /* 0x0D64 */ cXyz mFootRPos;
123 /* 0x0D70 */ cXyz mFootLOffset;
124 /* 0x0D7C */ cXyz mFootROffset;
125 /* 0x0D88 */ cXyz mOldFootLOffset;
126 /* 0x0D94 */ cXyz mOldFootROffset;
127 /* 0x0DA0 */ cXyz field_0xDA0;
128 /* 0x0DAC */ csXyz mCurAngle;
129 /* 0x0DB2 */ csXyz field_0xDB2;
130 /* 0x0DB8 */ csXyz field_0xDB8;
131 /* 0x0DBE */ csXyz field_0xDBE;
133 /* 0x0DC8 */ u32 mShadowKey;
134 /* 0x0DCC */ u32 mAnmFlags;
135 /* 0x0DD0 */ fpc_ProcID mMsgId;
136 /* 0x0DD4 */ int mStaffId;
137 /* 0x0DD8 */ int mCutType;
138 /* 0x0DDC */ int field_0xddc;
139 /* 0x0DE0 */ int mTimerStart;
140 /* 0x0DE4 */ int mTimer;
141 /* 0x0DE8 */ int mBtpPauseTimer;
142 /* 0x0DEC */ int field_0xdec;
143 /* 0x0DF0 */ s16 mGroundAngle;
144 /* 0x0DF2 */ s16 field_0xdf2;
145 /* 0x0DF4 */ s16 mFootLPolyAngle;
146 /* 0x0DF5 */ u8 field_0xdf5[0x0DF8 - 0x0DF6];
147 /* 0x0DF8 */ s16 mFootRPolyAngle;
148 /* 0x0DFA */ s16 mStartAngle;
149 /* 0x0DFC */ s16 mTargetAngle;
150 /* 0x0DFE */ s16 mStepMode;
151 /* 0x0E00 */ s16 mTurnAmount;
152 /* 0x0E04 */ f32 mTurnCount;
153 /* 0x0E08 */ u8 field_0xe08[0x0E0C - 0x0E08];
154 /* 0x0E0C */ f32 field_0xe0c;
155 /* 0x0E10 */ f32 mRadius;
156 /* 0x0E14 */ f32 mGroundHeight;
157 /* 0x0E18 */ u8 field_0xe18[0xe1c - 0xe18];
158 /* 0x0E1C */ u32 mHitodamaPrtclKey[2];
159 /* 0x0E24 */ s16 mEvtId;
160 /* 0x0E26 */ u16 mMorfLoops;
161 /* 0x0E28 */ u16 mBckLoops;
162 /* 0x0E2A */ u16 mMode;
163 /* 0x0E2C */ u8 field_0xe2c;
164 /* 0x0E2D */ u8 field_0xe2d;
165 /* 0x0E2E */ u8 mFootLOnGround;
166 /* 0x0E2F */ u8 mFootROnGround;
167 /* 0x0E30 */ u8 field_0xe30;
168 /* 0x0E31 */ u8 field_0xe31;
169 /* 0x0E32 */ u8 mNoDraw;
170 /* 0x0E33 */ u8 field_0xe33;
171 /* 0x0E34 */ u8 field_0xe34;
172 /* 0x0E36 */ u16 mEvtNo;
173 /* 0x0E38 */ u8 mSpeakEvent;
174 /* 0x0E39 */ u8 field_0xe39;
175 /* 0x0E3A */ u8 field_0xe3a;
176 /* 0x0E3B */ u8 field_0xe3b;
177 /* 0x0E3C */ int field_0xe3c;
178 // /* 0x0E40 */ vtable
179
180public:
194
195 bool checkHide() {
196 return field_0xe2c != 0 || (!dComIfGs_wolfeye_effect_check() && mTwilight != 0);
197 }
198
200 return 4;
201 }
202
204 return 3;
205 }
206
208 return 1;
209 }
210
211 bool checkChangeJoint(int i_jointNo) { return i_jointNo == 4; }
212 bool checkRemoveJoint(int i_jointNo) { return i_jointNo == 5; }
213
214 void setCutType(int i_type) { mCutType = i_type;}
215
216 void setActionMode(s8 i_actionMode) { mActionMode = i_actionMode;}
218
219 void setTalkFlag(u8 i_flag) { field_0x15bd = i_flag; }
220
221 int create();
222 int CreateHeap();
223 int Delete();
224 int Execute();
225 int Draw();
226 static int createHeapCallBack(fopAc_ac_c*);
227 static int ctrlJointCallBack(J3DJoint*, int);
228 u8 getType();
229 u8 getDivideNo();
231 u8 getPath();
232 BOOL isDelete();
233 void resetCol();
234 void reset();
235 void resetType();
236 void setParam();
242 void setAfterTalkMotion();
243 void srchActors();
244 bool evtTalk();
246 void action();
247 void beforeMove();
248 void afterMoved();
249 void setAttnPos();
250 void setCollision();
251 void setCollisionSword();
253 void setCollisionTeach03();
254 void setCollisionTeach04();
255 void setCollisionTeach05();
256 void setCollisionTeach06();
257 void setCollisionTeach07();
258 int drawDbgInfo();
259 void drawOtherMdl();
260 void drawGhost();
261 int selectAction();
269 int wait(void*);
270 int talk(void*);
271 int test(void*);
272 void setSceneChange(int);
275 int ECut_largeDamageTalk(int);
276 int teach02_start(void*);
277 int teach03_attackWait(void*);
278 int teach04_attackWait(void*);
279 int teach04_headBreakWait(void*);
280 int teach04_finishWait(void*);
282 int teach06_superJumpWait(void*);
283 int teach06_divideMove(void*);
284 int teach06_waitDivide(void*);
286 int teach06_superJumpedDivide(void*);
287 int teach06_warpDelete(void*);
289 int teach07_divideMove(void*);
290 int teach07_waitDivide(void*);
293 int teach07_warpDelete(void*);
294 int ECut_secondEncount(int);
295 int ECut_thirdSkillExplain(int);
296 int ECut_thirdSkillGet(int);
298 int ECut_fourthSkillGet(int);
299 int ECut_fifthSkillExplain(int);
300 int ECut_fifthSkillGet(int);
301 int ECut_sixthSkillExplain(int);
302 int ECut_sixthSkillGet(int);
304 int ECut_seventhSkillGet(int);
305 int setPrtcl();
306 int setSlipPrtcl();
307 int setLandingPrtcl();
308 void calcMagicBallPos();
309 void setSwordChargePtcl();
310 void calcSlip();
311 void calcSwordAttackMove(int);
312 void setSe();
314 J3DAnmTransform* getTrnsfrmAnmP(char const*, int);
318 BOOL setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
319 int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
322 int loadRes(s8 const*, char const**);
323 void deleteRes(s8 const*, char const**);
324 int execute();
325 int draw(int, int, f32, GXColorS10*, f32, int, int, int);
327 void setRoomNo();
331 void setMtx();
334 int ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
335 void evtChange();
336 bool setFaceMotionAnm(int, bool);
337 bool setMotionAnm(int, f32, int);
346 BOOL turn(s16, int, int);
347 int step(s16, int, int, int, int);
348 int initTalk(int, fopAc_ac_c**);
349 BOOL talkProc(int*, int, fopAc_ac_c**, int);
352 daNpcT_motionAnmData_c const* param_1,
353 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3,
354 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5,
355 daNpcT_evtData_c const* param_6, char** param_7)
356 : mpFaceMotionAnmData(param_0), mpMotionAnmData(param_1), mFaceMotionSeqMngr(param_2, param_3),
357 mMotionSeqMngr(param_4, param_5), mpEventData(param_6), mpArcNames(param_7)
358 {
359 OS_REPORT("|%06d:%x|daNpc_Kn_c -> コンストラクト\n", g_Counter.mCounter0, this);
360 initialize();
361 }
365 int teach01_start(void*);
369 int ctrlWarp();
382
383 virtual int ctrlBtk();
384 virtual int getFootLJointNo() { return -1; }
385 virtual int getFootRJointNo() { return -1; }
386 virtual u16 getEyeballLMaterialNo() { return 0; }
387 virtual u16 getEyeballRMaterialNo() { return 0; }
388 virtual u16 getEyeballMaterialNo() { return 0; }
389 virtual int ctrlJoint(J3DJoint*, J3DModel*);
390 virtual void afterJntAnm(int) {}
391 virtual BOOL checkChangeEvt() { return FALSE; }
392 virtual BOOL evtEndProc() { return TRUE; }
393 virtual int evtProc();
394 virtual void setFootPos();
395 virtual void setFootPrtcl(cXyz*, f32);
396 virtual bool checkCullDraw();
397 virtual void twilight();
398 virtual BOOL chkXYItems() { return FALSE; }
399 virtual void evtOrder();
400 virtual void decTmr();
401 virtual void clrParam();
402 virtual bool afterSetFaceMotionAnm(int, int, f32, int) { return true; }
407 return arg0;
408 }
409 virtual ~daNpc_Kn_c();
410 virtual bool afterSetMotionAnm(int, int, f32, int);
411
412 static const dCcD_SrcGObjInf mCcDObjData;
413 static char* mCutNameList[21];
414 static cutFunc mCutList[21];
415 static dCcD_SrcCyl mCcDCyl;
416 static dCcD_SrcSph mCcDSph;
419 static u8 mFindCount[4];
420
421private:
422 /* 0x0E44 */ J3DModel* mpPodModel;
424 /* 0x0E50 */ dKy_tevstr_c mTevStr;
425 /* 0x11D8 */ NPC_KN_HIO_CLASS* mpHIO;
426 /* 0x11DC */ dCcD_Cyl mCylCc;
427 /* 0x1318 */ dCcD_Sph mSphCc[2];
428 /* 0x1588 */ mDoExt_bckAnm mPodBck;
429 /* 0x15A4 */ u32 mPodAnmFlags;
430 /* 0x15A8 */ u32 field_0x15A8;
431 /* 0x15AC */ u8 mType;
432 /* 0x15AD */ u8 mDivideNo;
433 /* 0x15AE */ s8 mActionMode;
434 /* 0x15AF */ u8 field_0x15af;
435 /* 0x15B0 */ cXyz mTargetPos;
436 /* 0x15BC */ u8 field_0x15bc;
437 /* 0x15BD */ u8 field_0x15bd;
438 /* 0x15BE */ u16 field_0x15be;
439 /* 0x15C0 */ cXyz field_0x15c0;
440 /* 0x15CC */ u8 field_0x15cc;
441 /* 0x15CD */ u8 field_0x15cd;
442 /* 0x15CE */ u8 field_0x15ce;
443 /* 0x15CF */ u8 field_0x15cf;
444 /* 0x15D0 */ s16 field_0x15d0;
445 /* 0x15D4 */ int field_0x15d4[3];
447 /* 0x16F4 */ cXyz field_0x16f4;
448 /* 0x1700 */ cXyz field_0x1700;
449 /* 0x170C */ u8 field_0x170c;
450 /* 0x170D */ u8 field_0x170d;
451 /* 0x170E */ u8 field_0x170e;
452 /* 0x170F */ u8 field_0x170f;
453 /* 0x1710 */ s16 field_0x1710;
454 /* 0x1712 */ s16 field_0x1712;
457 /* 0x172C */ daNpcT_Path_c mPath;
458 /* 0x1754 */ u8 field_0x1754;
459};
460
461STATIC_ASSERT(sizeof(daNpc_Kn_c) == 0x1758);
462
463#endif /* D_A_NPC_KN_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DAnimation.h:642
Definition J3DAnimation.h:578
Definition J3DAnimation.h:525
Definition J3DAnimation.h:504
Definition J3DAnimation.h:919
Definition J3DJoint.h:63
Definition J3DModelData.h:17
Definition J3DModel.h:43
Definition JORMContext.h:120
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:247
Definition d_cc_d.h:461
Definition d_cc_d.h:282
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Definition d_kankyo_tev_str.h:7
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:30
void initialize()
Definition d_a_npc.cpp:286
Definition d_a_npc.h:447
void initialize()
Definition d_a_npc.h:452
Definition d_a_npc.h:218
void initialize()
Definition d_a_npc.cpp:861
Definition d_a_npc.h:45
Definition d_a_npc.h:68
void initialize()
Definition d_a_npc.cpp:346
Definition d_a_npc.h:145
Definition d_a_npc_kn.h:31
daNpc_Kn_HIOParam m
Definition d_a_npc_kn.h:38
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_kn.cpp:90
void genMessage(JORMContext *)
Definition d_a_npc_kn.cpp:139
daNpc_Kn_HIO_c()
Definition d_a_npc_kn.cpp:86
Definition d_a_npc_kn.h:23
virtual ~daNpc_Kn_Param_c()
Definition d_a_npc_kn.h:25
static const daNpc_Kn_HIOParam m
Definition d_a_npc_kn.h:28
Definition d_a_npc_kn.h:77
cXyz mScale
Definition d_a_npc_kn.h:82
csXyz mAngle
Definition d_a_npc_kn.h:81
dPaPo_c mManager
Definition d_a_npc_kn.h:83
bool mpModel
Definition d_a_npc_kn.h:79
cXyz mPos
Definition d_a_npc_kn.h:80
Hero's Shade.
Definition d_a_npc_kn.h:54
const daNpcT_evtData_c * mpEventData
Definition d_a_npc_kn.h:89
u8 getDivideNo()
Definition d_a_npc_kn.cpp:752
u8 field_0x15cd
Definition d_a_npc_kn.h:441
BOOL turn(s16, int, int)
u8 field_0x170d
Definition d_a_npc_kn.h:450
int(daNpc_Kn_c::*) cutFunc(int)
Definition d_a_npc_kn.h:56
u32 setParamTeach02()
J3DAnmTransformKey * getTrnsfrmKeyAnmP(char const *, int)
virtual int getFootRJointNo()
Definition d_a_npc_kn.h:385
virtual u16 getEyeballLMaterialNo()
Definition d_a_npc_kn.h:386
cXyz field_0x1700
Definition d_a_npc_kn.h:448
void setMtx()
daNpc_Kn_prtclMngr_c mParticleMngr[3]
Definition d_a_npc_kn.h:446
csXyz mCurAngle
Definition d_a_npc_kn.h:128
void setTalkFlag(u8 i_flag)
Definition d_a_npc_kn.h:219
int ECut_sixthSkillGet(int)
Definition d_a_npc_kn.cpp:4450
int ECut_noneEquipChangeTalkStand(int)
Definition d_a_npc_kn.cpp:1761
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:351
int teach02_shieldBashWait(void *)
u16 mMode
Definition d_a_npc_kn.h:162
s16 mStepMode
Definition d_a_npc_kn.h:150
dBgS_ObjAcch mAcch
Definition d_a_npc_kn.h:98
u32 mAnmFlags
Definition d_a_npc_kn.h:134
int ECut_secondSkillGet(int)
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kn.cpp:717
cXyz field_0x15c0
Definition d_a_npc_kn.h:439
void teach01_selectAction()
void resetCol()
Definition d_a_npc_kn.cpp:794
int setPrtcl()
Definition d_a_npc_kn.cpp:4934
u8 mSpeakEvent
Definition d_a_npc_kn.h:173
int ECut_thirdSkillExplain(int)
Definition d_a_npc_kn.cpp:3262
bool checkRemoveJoint(int i_jointNo)
Definition d_a_npc_kn.h:212
dCcD_Sph mSphCc[2]
Definition d_a_npc_kn.h:427
mDoExt_invisibleModel mInvisModel
Definition d_a_npc_kn.h:423
s8 getActionMode()
Definition d_a_npc_kn.h:217
int teach03_attackWait(void *)
Definition d_a_npc_kn.cpp:1914
u32 setParamTeach04()
Definition d_a_npc_kn.cpp:989
void ctrlFaceMotion()
BOOL setBtkAnm(J3DAnmTextureSRTKey *, J3DModelData *, f32, int)
void drawGhost()
Definition d_a_npc_kn.cpp:1380
void setCollisionTeach07()
Definition d_a_npc_kn.cpp:1310
static dCcD_SrcSph mCcDSph
Definition d_a_npc_kn.h:165
void ctrlMotion()
dPaPoT_c field_0x9F4
Definition d_a_npc_kn.h:106
u8 field_0xe3b
Definition d_a_npc_kn.h:176
int talk(void *)
Definition d_a_npc_kn.cpp:1630
void srchActors()
Definition d_a_npc_kn.cpp:1040
int setSlipPrtcl()
Definition d_a_npc_kn.cpp:4978
BOOL srchPlayerActor()
void setSceneChange(int)
Definition d_a_npc_kn.cpp:1693
int teach07_superTurnAttackWaitDivide(void *)
Definition d_a_npc_kn.cpp:2954
u8 field_0x170e
Definition d_a_npc_kn.h:451
int teach02_shieldReflectWait(void *)
int ECut_fourthSkillGet(int)
Definition d_a_npc_kn.cpp:3782
dBgS_LinChk mLinChk
Definition d_a_npc_kn.h:114
virtual void twilight()
int teach06_superJumpWait(void *)
Definition d_a_npc_kn.cpp:2366
virtual u16 getEyeballMaterialNo()
Definition d_a_npc_kn.h:388
int ECut_fifthSkillGet(int)
Definition d_a_npc_kn.cpp:4116
BOOL setAction(actionFunc)
Definition d_a_npc_kn.cpp:1590
static u8 mFindCount[4]
Definition d_a_npc_kn.h:419
int execute()
daNpcT_ActorMngr_c mActorMngr2
Definition d_a_npc_kn.h:118
void calcSwordAttackMove(int)
Definition d_a_npc_kn.cpp:5119
virtual BOOL checkChangeEvt()
Definition d_a_npc_kn.h:391
s16 mFootRPolyAngle
Definition d_a_npc_kn.h:147
s16 mTargetAngle
Definition d_a_npc_kn.h:149
void setCutType(int i_type)
Definition d_a_npc_kn.h:214
void setCollisionTeach02()
s16 mEvtId
Definition d_a_npc_kn.h:159
dKy_tevstr_c mTevStr
Definition d_a_npc_kn.h:424
void beforeMove()
Definition d_a_npc_kn.cpp:1090
BOOL talkProc(int *, int, fopAc_ac_c **, int)
int initTalk(int, fopAc_ac_c **)
int ECut_thirdSkillGet(int)
Definition d_a_npc_kn.cpp:3446
int ctrlWarp()
request_of_phase_process_class mPhase[8]
Definition d_a_npc_kn.h:101
NPC_KN_HIO_CLASS * mpHIO
Definition d_a_npc_kn.h:425
int teach06_waitDivide(void *)
Definition d_a_npc_kn.cpp:2549
void teach03_selectAction()
Definition d_a_npc_kn.cpp:1500
u8 field_0x15cf
Definition d_a_npc_kn.h:443
u8 field_0x15ce
Definition d_a_npc_kn.h:442
u8 mNoDraw
Definition d_a_npc_kn.h:169
daNpcT_MatAnm_c * mpMatAnm
Definition d_a_npc_kn.h:103
void drawOtherMdl()
Definition d_a_npc_kn.cpp:1327
void teach07_selectAction()
Definition d_a_npc_kn.cpp:1561
u8 field_0x15bc
Definition d_a_npc_kn.h:436
int field_0xddc
Definition d_a_npc_kn.h:138
mDoExt_brkAnm mBrkAnm
Definition d_a_npc_kn.h:96
int teach01_attackWait(void *)
virtual bool afterSetFaceMotionAnm(int, int, f32, int)
Definition d_a_npc_kn.h:402
int teach01_start(void *)
int step(s16, int, int, int, int)
csXyz field_0xDB8
Definition d_a_npc_kn.h:130
int wait(void *)
Definition d_a_npc_kn.cpp:1606
fpc_ProcID mMsgId
Definition d_a_npc_kn.h:135
u16 mMorfLoops
Definition d_a_npc_kn.h:160
int teach02_finishWait(void *)
cXyz mFootLOffset
Definition d_a_npc_kn.h:123
virtual u16 getEyeballRMaterialNo()
Definition d_a_npc_kn.h:387
int ECut_attackFailed(int)
void setAngle(s16)
u8 field_0x15bd
Definition d_a_npc_kn.h:437
int teach01_swordFinishWait(void *)
f32 mMorfFrames
Definition d_a_npc_kn.h:110
s16 field_0x15d0
Definition d_a_npc_kn.h:444
virtual int ctrlJoint(J3DJoint *, J3DModel *)
u16 mEvtNo
Definition d_a_npc_kn.h:172
int ECut_firstSkillGet(int)
static char * mCutNameList[21]
Definition d_a_npc_kn.h:440
daNpcT_MotionSeqMngr_c mMotionSeqMngr
Definition d_a_npc_kn.h:116
f32 mGroundHeight
Definition d_a_npc_kn.h:156
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:112
BOOL setBckAnm(J3DAnmTransform *, f32, int, int, int, bool)
u8 field_0xdf5[0x0DF8 - 0x0DF6]
Definition d_a_npc_kn.h:146
void reset()
Definition d_a_npc_kn.cpp:811
int Delete()
Definition d_a_npc_kn.cpp:676
void teach06_selectAction()
Definition d_a_npc_kn.cpp:1536
bool checkHide()
Definition d_a_npc_kn.h:195
mDoExt_btpAnm mBtpAnm
Definition d_a_npc_kn.h:94
virtual bool checkCullDraw()
void evtChange()
mDoExt_bckAnm mBckAnm
Definition d_a_npc_kn.h:93
cXyz mFootROffset
Definition d_a_npc_kn.h:124
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kn.cpp:712
int teach07_superTurnAttackWait(void *)
Definition d_a_npc_kn.cpp:2776
s16 field_0xdf2
Definition d_a_npc_kn.h:144
u8 field_0xe2d
Definition d_a_npc_kn.h:164
u8 field_0xe30
Definition d_a_npc_kn.h:167
mDoExt_bckAnm mPodBck
Definition d_a_npc_kn.h:428
J3DAnmTransform * getTrnsfrmAnmP(char const *, int)
int teach02_start(void *)
Definition d_a_npc_kn.cpp:1892
void setCollisionTeach01()
int ECut_secondEncount(int)
Definition d_a_npc_kn.cpp:3105
cXyz mOldFootROffset
Definition d_a_npc_kn.h:126
int ECut_largeDamageTalk(int)
Definition d_a_npc_kn.cpp:1826
virtual int evtProc()
void action()
Definition d_a_npc_kn.cpp:1080
int field_0x15d4[3]
Definition d_a_npc_kn.h:445
cXyz mFootRPos
Definition d_a_npc_kn.h:122
daNpcT_DmgStagger_c mDmgStagger
Definition d_a_npc_kn.h:120
u8 field_0xe18[0xe1c - 0xe18]
Definition d_a_npc_kn.h:157
int field_0xe3c
Definition d_a_npc_kn.h:177
u16 field_0x15be
Definition d_a_npc_kn.h:438
void setCollisionSword()
Definition d_a_npc_kn.cpp:1207
cXyz field_0xDA0
Definition d_a_npc_kn.h:127
int ctrlMsgAnm(int *, int *, fopAc_ac_c *, int)
daNpcT_MotionSeqMngr_c mFaceMotionSeqMngr
Definition d_a_npc_kn.h:115
virtual void setFootPrtcl(cXyz *, f32)
char ** mpArcNames
Definition d_a_npc_kn.h:90
cXyz mTargetPos
Definition d_a_npc_kn.h:435
void setHitodamaPrtcl()
virtual void afterJntAnm(int)
Definition d_a_npc_kn.h:390
virtual int ctrlBtk()
actionFunc mpActionFunc
Definition d_a_npc_kn.h:456
int teach06_superJumpedDivide(void *)
Definition d_a_npc_kn.cpp:2699
u32 setParamTeach07()
Definition d_a_npc_kn.cpp:1029
u8 field_0xe39
Definition d_a_npc_kn.h:174
AnmFlags
Definition d_a_npc_kn.h:59
@ ANM_PAUSE_BCK
Definition d_a_npc_kn.h:64
@ ANM_PLAY_MORF
Definition d_a_npc_kn.h:66
@ ANM_FLAG_1000
Definition d_a_npc_kn.h:72
@ ANM_PAUSE_MORF
Definition d_a_npc_kn.h:60
@ ANM_PLAY_BPK
Definition d_a_npc_kn.h:69
@ ANM_PAUSE_TIMER_BTP
Definition d_a_npc_kn.h:73
@ ANM_FLAG_4000
Definition d_a_npc_kn.h:74
@ ANM_PAUSE_BTP
Definition d_a_npc_kn.h:65
@ ANM_PLAY_BTK
Definition d_a_npc_kn.h:67
@ ANM_PAUSE_BPK
Definition d_a_npc_kn.h:63
@ ANM_PLAY_BTP
Definition d_a_npc_kn.h:71
@ ANM_PLAY_BCK
Definition d_a_npc_kn.h:70
@ ANM_PAUSE_BRK
Definition d_a_npc_kn.h:62
@ ANM_PAUSE_BTK
Definition d_a_npc_kn.h:61
@ ANM_PLAY_BRK
Definition d_a_npc_kn.h:68
u8 field_0xe3a
Definition d_a_npc_kn.h:175
u32 setParamTeach05()
Definition d_a_npc_kn.cpp:1009
virtual daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c arg0)
Definition d_a_npc_kn.h:406
void resetType()
Definition d_a_npc_kn.cpp:860
actionFunc mpTeachAction
Definition d_a_npc_kn.h:455
u8 field_0x1754
Definition d_a_npc_kn.h:458
int chkFindPlayer(int, s16)
u32 setParamTeach06()
Definition d_a_npc_kn.cpp:1025
BOOL setBtpAnm(J3DAnmTexPattern *, J3DModelData *, f32, int)
void playAllAnm()
int teach04_finishWait(void *)
Definition d_a_npc_kn.cpp:2166
u32 setParamTeach01()
u32 setParamTeach03()
Definition d_a_npc_kn.cpp:973
virtual bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_kn.cpp:1394
int selectAction()
Definition d_a_npc_kn.cpp:1432
int field_0xdec
Definition d_a_npc_kn.h:142
dBgS_AcchCir mAcchCir
Definition d_a_npc_kn.h:100
int ECut_firstEncount(int)
bool evtTalk()
Definition d_a_npc_kn.cpp:1046
void setCollision()
Definition d_a_npc_kn.cpp:1143
u8 getType()
Definition d_a_npc_kn.cpp:730
dCcD_Stts mCcStts
Definition d_a_npc_kn.h:99
void setCollisionTeach05()
Definition d_a_npc_kn.cpp:1298
int teach07_divideMove(void *)
Definition d_a_npc_kn.cpp:2883
void setAfterTalkMotion()
Definition d_a_npc_kn.cpp:1033
int ECut_seventhSkillExplain(int)
Definition d_a_npc_kn.cpp:4591
virtual int getFootLJointNo()
Definition d_a_npc_kn.h:384
int teach07_waitDivide(void *)
Definition d_a_npc_kn.cpp:2928
daNpcT_JntAnm_c mJntAnm
Definition d_a_npc_kn.h:119
cXyz mFootLPos
Definition d_a_npc_kn.h:121
bool setFaceMotionAnm(int, bool)
u8 field_0x9a4[4]
Definition d_a_npc_kn.h:104
s16 mFootLPolyAngle
Definition d_a_npc_kn.h:145
BOOL checkEndAnm(J3DFrameCtrl *, f32)
J3DAnmTextureSRTKey * getTexSRTKeyAnmP(char const *, int)
int ECut_reflectExplain(int)
int create()
Definition d_a_npc_kn.cpp:513
BOOL checkCollisionSword()
Definition d_a_npc_kn.cpp:1240
const daNpcT_faceMotionAnmData_c * mpFaceMotionAnmData
Definition d_a_npc_kn.h:87
s16 mGroundAngle
Definition d_a_npc_kn.h:143
int Draw()
Definition d_a_npc_kn.cpp:692
int test(void *)
Definition d_a_npc_kn.cpp:1670
int getBackboneJointNo()
Definition d_a_npc_kn.h:207
int teach06_warpDelete(void *)
Definition d_a_npc_kn.cpp:2737
BOOL isDelete()
Definition d_a_npc_kn.cpp:766
void afterMoved()
Definition d_a_npc_kn.cpp:1096
void setAttnPos()
Definition d_a_npc_kn.cpp:1103
J3DAnmTexPattern * getTexPtrnAnmP(char const *, int)
mDoExt_McaMorfSO * mpModelMorf[2]
Definition d_a_npc_kn.h:91
u32 mPodAnmFlags
Definition d_a_npc_kn.h:429
void teach04_selectAction()
Definition d_a_npc_kn.cpp:1510
virtual void setFootPos()
dCcD_Stts mCcStts2
Definition d_a_npc_kn.h:107
BOOL checkEndAnm(f32)
int mTimer
Definition d_a_npc_kn.h:140
u8 mType
Definition d_a_npc_kn.h:431
cXyz getAttnPos(fopAc_ac_c *)
u8 field_0xe31
Definition d_a_npc_kn.h:168
daNpcT_Path_c mPath
Definition d_a_npc_kn.h:457
int teach07_warpDelete(void *)
Definition d_a_npc_kn.cpp:3085
u8 mFootROnGround
Definition d_a_npc_kn.h:166
virtual void decTmr()
J3DModel * mpPodModel
Definition d_a_npc_kn.h:422
int mCutType
Definition d_a_npc_kn.h:137
static dCcD_SrcCyl mCcDCyl
Definition d_a_npc_kn.h:160
static fopAc_ac_c * mFindActorPtrs[50]
Definition d_a_npc_kn.h:418
bool checkChangeJoint(int i_jointNo)
Definition d_a_npc_kn.h:211
int getNeckJointNo()
Definition d_a_npc_kn.h:203
cBgS_GndChk mGndChk
Definition d_a_npc_kn.h:102
u8 getPath()
Definition d_a_npc_kn.cpp:762
int teach06_divideMove(void *)
Definition d_a_npc_kn.cpp:2507
int ECut_secondSkillExplain(int)
void setEnvTevColor()
u16 mBckLoops
Definition d_a_npc_kn.h:161
virtual ~daNpc_Kn_c()
Definition d_a_npc_kn.cpp:496
u8 mDivideNo
Definition d_a_npc_kn.h:432
int(daNpc_Kn_c::*) actionFunc(void *)
Definition d_a_npc_kn.h:57
int Execute()
Definition d_a_npc_kn.cpp:683
int setLandingPrtcl()
Definition d_a_npc_kn.cpp:5003
s16 field_0x1712
Definition d_a_npc_kn.h:454
u32 mShadowKey
Definition d_a_npc_kn.h:133
dMsgFlow_c mFlow
Definition d_a_npc_kn.h:105
BOOL chkPointInArea(cXyz, cXyz, cXyz, s16)
int teach06_superJumpWaitDivide(void *)
Definition d_a_npc_kn.cpp:2575
int CreateHeap()
Definition d_a_npc_kn.cpp:574
s16 mStartAngle
Definition d_a_npc_kn.h:148
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:1586
int mBtpPauseTimer
Definition d_a_npc_kn.h:141
void setSwordChargePtcl()
Definition d_a_npc_kn.cpp:5024
u8 field_0xe2c
Definition d_a_npc_kn.h:163
virtual void evtOrder()
int teach04_headBreakWait(void *)
Definition d_a_npc_kn.cpp:2110
BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16)
u8 field_0xe33
Definition d_a_npc_kn.h:170
int ECut_sixthSkillExplain(int)
Definition d_a_npc_kn.cpp:4253
static cutFunc mCutList[21]
Definition d_a_npc_kn.h:464
u32 getFlowNodeNo()
Definition d_a_npc_kn.cpp:757
int ECut_fifthSkillExplain(int)
Definition d_a_npc_kn.cpp:3919
s16 field_0x1710
Definition d_a_npc_kn.h:453
int teach07_superTurnAttackedDivide(void *)
Definition d_a_npc_kn.cpp:3047
u8 field_0x170c
Definition d_a_npc_kn.h:449
int teach05_surpriseAttackWait(void *)
Definition d_a_npc_kn.cpp:2227
void setActionMode(s8 i_actionMode)
Definition d_a_npc_kn.h:216
u8 field_0xe34
Definition d_a_npc_kn.h:171
int mTimerStart
Definition d_a_npc_kn.h:139
int drawDbgInfo()
Definition d_a_npc_kn.cpp:1314
static const dCcD_SrcGObjInf mCcDObjData
Definition d_a_npc_kn.h:19
virtual void clrParam()
u8 field_0x15af
Definition d_a_npc_kn.h:434
BOOL chkActorInSight(fopAc_ac_c *, f32, s16)
void setParam()
Definition d_a_npc_kn.cpp:898
const daNpcT_motionAnmData_c * mpMotionAnmData
Definition d_a_npc_kn.h:88
virtual daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c arg0)
Definition d_a_npc_kn.h:403
void setRoomNo()
cXyz mOldFootLOffset
Definition d_a_npc_kn.h:125
void setCollisionTeach04()
Definition d_a_npc_kn.cpp:1272
void teach02_selectAction()
mDoExt_bpkAnm mBpkAnm
Definition d_a_npc_kn.h:97
Z2Creature mSound
Definition d_a_npc_kn.h:92
f32 mRadius
Definition d_a_npc_kn.h:155
u8 field_0x170f
Definition d_a_npc_kn.h:452
virtual BOOL evtEndProc()
Definition d_a_npc_kn.h:392
cXyz field_0x16f4
Definition d_a_npc_kn.h:447
daNpcT_ActorMngr_c mActorMngr1
Definition d_a_npc_kn.h:117
csXyz field_0xDB2
Definition d_a_npc_kn.h:129
u8 mCreating
Definition d_a_npc_kn.h:111
int teach04_attackWait(void *)
Definition d_a_npc_kn.cpp:2030
fpc_ProcID mItemPartnerId
Definition d_a_npc_kn.h:132
s16 mTurnAmount
Definition d_a_npc_kn.h:151
u32 mHitodamaPrtclKey[2]
Definition d_a_npc_kn.h:158
void setCollisionTeach03()
Definition d_a_npc_kn.cpp:1264
void teach05_selectAction()
Definition d_a_npc_kn.cpp:1526
f32 mTurnCount
Definition d_a_npc_kn.h:152
u8 field_0x15cc
Definition d_a_npc_kn.h:440
BOOL evtCutProc()
Definition d_a_npc_kn.cpp:1058
f32 field_0xe0c
Definition d_a_npc_kn.h:154
void initialize()
Definition d_a_npc_kn.h:181
void setPos(cXyz)
virtual BOOL chkXYItems()
Definition d_a_npc_kn.h:398
int ECut_noneEquipChangeTalk(int)
Definition d_a_npc_kn.cpp:1710
int getHeadJointNo()
Definition d_a_npc_kn.h:199
u32 mFlowNodeNo
Definition d_a_npc_kn.h:108
void setSe()
Definition d_a_npc_kn.cpp:5153
s8 mActionMode
Definition d_a_npc_kn.h:433
mDoExt_btkAnm mBtkAnm
Definition d_a_npc_kn.h:95
void calcMagicBallPos()
Definition d_a_npc_kn.cpp:5010
int ECut_fourthSkillExplain(int)
Definition d_a_npc_kn.cpp:3582
int teach01_swordAttackWait(void *)
bool setMotionAnm(int, f32, int)
f32 mExpressionMorfFrame
Definition d_a_npc_kn.h:109
u8 mFootLOnGround
Definition d_a_npc_kn.h:165
u8 field_0xe08[0x0E0C - 0x0E08]
Definition d_a_npc_kn.h:153
void deleteRes(s8 const *, char const **)
int ECut_seventhSkillGet(int)
Definition d_a_npc_kn.cpp:4782
void calcSlip()
Definition d_a_npc_kn.cpp:5092
csXyz field_0xDBE
Definition d_a_npc_kn.h:131
int mStaffId
Definition d_a_npc_kn.h:136
dCcD_Cyl mCylCc
Definition d_a_npc_kn.h:426
u32 field_0x15A8
Definition d_a_npc_kn.h:430
dBgS_GndChk mGndChk2
Definition d_a_npc_kn.h:113
static s16 mSrchName
Definition d_a_npc_kn.h:417
void setCollisionTeach06()
Definition d_a_npc_kn.cpp:1306
Definition f_op_actor.h:230
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
Definition m_Do_ext.h:151
Definition m_Do_ext.h:124
Definition m_Do_ext.h:94
Definition m_Do_ext.h:65
Definition m_Do_ext.h:182
Definition m_Do_ext.h:265
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_Kn_c)==0x1758)
BOOL dComIfGs_wolfeye_effect_check()
Definition d_com_inf_game.cpp:2594
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
unsigned char u8
Definition types.h:8
unsigned int fpc_ProcID
Definition f_pc_base.h:10
void * memset(void *dst, int val, size_t n)
Definition JORReflexible.h:10
Definition GXStruct.h:34
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:836
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_kn.h:6
s16 attack_start_min_time
Definition d_a_npc_kn.h:18
s16 attack_wait_time
Definition d_a_npc_kn.h:9
s16 alpha
Definition d_a_npc_kn.h:8
s16 followup_wait_time
Definition d_a_npc_kn.h:10
f32 move_speed
Definition d_a_npc_kn.h:20
f32 attack_disappear_speed_v
Definition d_a_npc_kn.h:15
s16 attack_start_time_range
Definition d_a_npc_kn.h:19
f32 warp_distance
Definition d_a_npc_kn.h:13
f32 big_slide_distance
Definition d_a_npc_kn.h:12
daNpcT_HIOParam common
Definition d_a_npc_kn.h:7
s16 rotation_speed
Definition d_a_npc_kn.h:17
f32 attack_disappear_speed_h
Definition d_a_npc_kn.h:14
s16 rotation_num
Definition d_a_npc_kn.h:16
f32 small_slide_distance
Definition d_a_npc_kn.h:11
Definition c_phase.h:17