Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_kkri.h
Go to the documentation of this file.
1#ifndef D_A_NPC_KKRI_H
2#define D_A_NPC_KKRI_H
3
4#include "d/actor/d_a_npc.h"
5
14class daNpc_Kkri_c : public daNpcT_c {
15public:
16 typedef int (daNpc_Kkri_c::*ActionFunc)(void*);
17
18 int create();
19 int CreateHeap();
20 int Delete();
21 int Execute();
22 int Draw();
23 static int createHeapCallBack(fopAc_ac_c*);
24 static int ctrlJointCallBack(J3DJoint*, int);
25 static void* srchYm(void*, void*);
26 int getType();
27 int isDelete();
28 void reset();
29 void srchActors();
30 int selectAction();
34 int cutYmLook(int);
35 int sleep();
36 int wait(void*);
37 int sitWait1(void*);
38 int fearWait(void*);
39 int talk(void*);
40
41 daNpc_Kkri_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
42 daNpcT_motionAnmData_c const* i_motionAnmData,
43 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
44 int i_faceMotionStepNum,
45 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
46 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
47 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
48 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
49 i_arcNames)
50 {
51 OS_REPORT("|%06d:%x|daNpc_Kkri_c -> コンストラクト\n", g_Counter.mCounter0, this);
52 }
53
54 virtual ~daNpc_Kkri_c();
55 virtual BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 6; }
56 virtual BOOL checkRemoveJoint(int i_jointNo) { return i_jointNo == 10; }
57 virtual s32 getBackboneJointNo() { return 1; }
58 virtual s32 getNeckJointNo() { return 3; }
59 virtual s32 getHeadJointNo() { return 4; }
60 virtual u16 getEyeballMaterialNo() { return 2; }
61 virtual void setParam();
62 virtual BOOL checkChangeEvt();
63 virtual BOOL evtTalk();
64 virtual BOOL evtCutProc();
65 virtual void setAfterTalkMotion();
66 virtual void action();
67 virtual void beforeMove();
68 virtual void setAttnPos();
69 virtual void setCollision();
70 virtual int drawDbgInfo();
71
73 u16 prm = home.angle.x;
74 return prm == 0xFFFF ? -1 : prm;
75 }
76
77 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
78 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
79 u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF000000) >> 24; }
80
82 return mpMorf[0]->getModel()->getAnmMtx(0x11);
83 }
84
86 return mpMorf[0]->getModel()->getAnmMtx(6);
87 }
88
90 return mpMorf[0]->getModel()->getAnmMtx(5);
91 }
92
93 static char* mCutNameList[3];
94 static int (daNpc_Kkri_c::*mCutList[])(int);
95
96private:
97 /* 0xE40 */ u8 field_0xE40[0xE44 - 0xE40];
98 /* 0xE44 */ dCcD_Cyl mCcCyl;
99 /* 0xF80 */ u8 mType;
102 /* 0xF98 */ ActionFunc mAction;
103 /* 0xFA4 */ daNpcT_Path_c mPath;
104 /* 0xFCC */ int field_0xfcc;
105 /* 0xFD0 */ int field_0xfd0;
106 /* 0xFD4 */ u8 field_0xfd4;
107 /* 0xFD5 */ u8 field_0xfd5;
108 /* 0xFD6 */ u8 field_0xfd6;
109 /* 0xFD7 */ u8 field_0xfd7;
110 /* 0xFD8 */ u8 field_0xfd8;
111};
112
113STATIC_ASSERT(sizeof(daNpc_Kkri_c) == 0xfdc);
114
118
120public:
122
123 static const daNpc_Kkri_HIOParam m;
124};
125
126
127#endif /* D_A_NPC_KKRI_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:63
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:105
Definition d_cc_d.h:461
Definition d_a_npc.h:30
Definition d_a_npc.h:145
Definition d_a_npc.h:516
mDoExt_McaMorfSO * mpMorf[2]
Definition d_a_npc.h:522
Definition d_a_npc_kkri.h:119
static const daNpc_Kkri_HIOParam m
Definition d_a_npc_kkri.h:246
virtual ~daNpc_Kkri_Param_c()
Definition d_a_npc_kkri.h:121
Coro.
Definition d_a_npc_kkri.h:14
static char * mCutNameList[3]
Definition d_a_npc_kkri.h:224
int Execute()
Definition d_a_npc_kkri.cpp:411
static int(daNpc_Kkri_c::* mCutList[])(int)
Definition d_a_npc_kkri.h:230
daNpc_Kkri_c(daNpcT_faceMotionAnmData_c const *i_faceMotionAnmData, daNpcT_motionAnmData_c const *i_motionAnmData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *i_faceMotionSequenceData, int i_faceMotionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *i_motionSequenceData, int i_motionStepNum, daNpcT_evtData_c const *i_evtData, char **i_arcNames)
Definition d_a_npc_kkri.h:41
virtual void beforeMove()
Definition d_a_npc_kkri.cpp:651
daNpcT_Path_c mPath
Definition d_a_npc_kkri.h:103
MtxP getBd1Mtx()
Definition d_a_npc_kkri.h:89
int getType()
Definition d_a_npc_kkri.cpp:452
BOOL setAction(ActionFunc)
Definition d_a_npc_kkri.cpp:795
MtxP getBd3Mtx()
Definition d_a_npc_kkri.h:81
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kkri.cpp:424
virtual s32 getBackboneJointNo()
Definition d_a_npc_kkri.h:57
int fearWait(void *)
Definition d_a_npc_kkri.cpp:1060
u8 mType
Definition d_a_npc_kkri.h:99
virtual s32 getHeadJointNo()
Definition d_a_npc_kkri.h:59
virtual void setParam()
Definition d_a_npc_kkri.cpp:511
virtual void setCollision()
Definition d_a_npc_kkri.cpp:719
int sitWait1(void *)
Definition d_a_npc_kkri.cpp:961
int Draw()
Definition d_a_npc_kkri.cpp:415
virtual u16 getEyeballMaterialNo()
Definition d_a_npc_kkri.h:60
int talk(void *)
Definition d_a_npc_kkri.cpp:1119
BOOL chkAction(ActionFunc)
Definition d_a_npc_kkri.cpp:791
static void * srchYm(void *, void *)
Definition d_a_npc_kkri.cpp:440
virtual BOOL checkChangeEvt()
Definition d_a_npc_kkri.cpp:496
u8 field_0xfd8
Definition d_a_npc_kkri.h:110
int Delete()
Definition d_a_npc_kkri.cpp:404
int isDelete()
Definition d_a_npc_kkri.cpp:463
MtxP getBd2Mtx()
Definition d_a_npc_kkri.h:85
virtual BOOL checkChangeJoint(int i_jointNo)
Definition d_a_npc_kkri.h:55
int field_0xfd0
Definition d_a_npc_kkri.h:105
virtual ~daNpc_Kkri_c()
Definition d_a_npc_kkri.cpp:236
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kkri.cpp:428
int cutYmLook(int)
Definition d_a_npc_kkri.cpp:844
u8 field_0xfd4
Definition d_a_npc_kkri.h:106
ActionFunc mSelectAction
Definition d_a_npc_kkri.h:101
u8 field_0xE40[0xE44 - 0xE40]
Definition d_a_npc_kkri.h:97
int(daNpc_Kkri_c::*) ActionFunc(void *)
Definition d_a_npc_kkri.h:16
int wait(void *)
Definition d_a_npc_kkri.cpp:909
virtual void setAttnPos()
Definition d_a_npc_kkri.cpp:663
int selectAction()
Definition d_a_npc_kkri.cpp:773
virtual int drawDbgInfo()
Definition d_a_npc_kkri.cpp:769
ActionFunc mAction
Definition d_a_npc_kkri.h:102
int cutConversationAboutSoup(int)
Definition d_a_npc_kkri.cpp:810
u8 field_0xfd7
Definition d_a_npc_kkri.h:109
u8 field_0xfd6
Definition d_a_npc_kkri.h:108
u8 getBitSW()
Definition d_a_npc_kkri.h:78
virtual void setAfterTalkMotion()
Definition d_a_npc_kkri.cpp:574
virtual BOOL checkRemoveJoint(int i_jointNo)
Definition d_a_npc_kkri.h:56
daNpcT_ActorMngr_c mActorMng[1]
Definition d_a_npc_kkri.h:100
virtual BOOL evtTalk()
Definition d_a_npc_kkri.cpp:609
void reset()
Definition d_a_npc_kkri.cpp:474
virtual void action()
Definition d_a_npc_kkri.cpp:635
int field_0xfcc
Definition d_a_npc_kkri.h:104
void srchActors()
Definition d_a_npc_kkri.cpp:597
u8 getPathID()
Definition d_a_npc_kkri.h:77
dCcD_Cyl mCcCyl
Definition d_a_npc_kkri.h:98
u8 getBitSW2()
Definition d_a_npc_kkri.h:79
virtual BOOL evtCutProc()
Definition d_a_npc_kkri.cpp:619
int sleep()
Definition d_a_npc_kkri.cpp:879
int getFlowNodeNo()
Definition d_a_npc_kkri.h:72
u8 field_0xfd5
Definition d_a_npc_kkri.h:107
int create()
Definition d_a_npc_kkri.cpp:290
int CreateHeap()
Definition d_a_npc_kkri.cpp:367
virtual s32 getNeckJointNo()
Definition d_a_npc_kkri.h:58
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
J3DModel * getModel()
Definition m_Do_ext.h:350
STATIC_ASSERT(sizeof(daNpc_Kkri_c)==0xfdc)
f32(* MtxP)[4]
Definition mtx.h:38
int BOOL
Definition types.h:33
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
u32 mCounter0
Definition c_counter.h:7
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_kkri.h:115
daNpcT_HIOParam common
Definition d_a_npc_kkri.h:116