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
9
11public:
13
14 static const daNpc_Kkri_HIOParam m;
15};
16
17#if DEBUG
28
29#define NPC_KKRI_HIO_CLASS daNpc_Kkri_HIO_c
30#else
31#define NPC_KKRI_HIO_CLASS daNpc_Kkri_Param_c
32#endif
33
42class daNpc_Kkri_c : public daNpcT_c {
43public:
44 typedef int (daNpc_Kkri_c::*ActionFunc)(void*);
45
46 int create();
47 int CreateHeap();
48 int Delete();
49 int Execute();
50 int Draw();
51 static int createHeapCallBack(fopAc_ac_c*);
52 static int ctrlJointCallBack(J3DJoint*, int);
53 static void* srchYm(void*, void*);
54 int getType();
55 int isDelete();
56 void reset();
57 void srchActors();
58 int selectAction();
62 int cutYmLook(int);
63 int sleep();
64 int wait(void*);
65 int sitWait1(void*);
66 int fearWait(void*);
67 int talk(void*);
68
69 daNpc_Kkri_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
70 daNpcT_motionAnmData_c const* i_motionAnmData,
71 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
72 int i_faceMotionStepNum,
73 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
74 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
75 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
76 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
77 i_arcNames)
78 {
79 OS_REPORT("|%06d:%x|daNpc_Kkri_c -> コンストラクト\n", g_Counter.mCounter0, this);
80 }
81
82 virtual ~daNpc_Kkri_c();
83 virtual BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 6; }
84 virtual BOOL checkRemoveJoint(int i_jointNo) { return i_jointNo == 10; }
85 virtual s32 getBackboneJointNo() { return 1; }
86 virtual s32 getNeckJointNo() { return 3; }
87 virtual s32 getHeadJointNo() { return 4; }
88 virtual u16 getEyeballMaterialNo() { return 2; }
89 virtual void setParam();
90 virtual BOOL checkChangeEvt();
91 virtual BOOL evtTalk();
92 virtual BOOL evtCutProc();
93 virtual void setAfterTalkMotion();
94 virtual void action();
95 virtual void beforeMove();
96 virtual void setAttnPos();
97 virtual void setCollision();
98 virtual int drawDbgInfo();
99
101 u16 prm = home.angle.x;
102 return prm == 0xFFFF ? -1 : prm;
103 }
104
105 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
106 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
107 u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF000000) >> 24; }
108
110 return mpMorf[0]->getModel()->getAnmMtx(0x11);
111 }
112
114 return mpMorf[0]->getModel()->getAnmMtx(6);
115 }
116
118 return mpMorf[0]->getModel()->getAnmMtx(5);
119 }
120
121 static char* mCutNameList[3];
122 static int (daNpc_Kkri_c::*mCutList[])(int);
123
124private:
125 /* 0xE40 */ NPC_KKRI_HIO_CLASS* mpHIO;
126 /* 0xE44 */ dCcD_Cyl mCcCyl;
127 /* 0xF80 */ u8 mType;
130 /* 0xF98 */ ActionFunc mAction;
131 /* 0xFA4 */ daNpcT_Path_c mPath;
132 /* 0xFCC */ int field_0xfcc;
133 /* 0xFD0 */ int field_0xfd0;
134 /* 0xFD4 */ u8 field_0xfd4;
135 /* 0xFD5 */ u8 field_0xfd5;
136 /* 0xFD6 */ u8 field_0xfd6;
137 /* 0xFD7 */ u8 field_0xfd7;
138 /* 0xFD8 */ u8 field_0xfd8;
139};
140
141STATIC_ASSERT(sizeof(daNpc_Kkri_c) == 0xfdc);
142
143#endif /* D_A_NPC_KKRI_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:66
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:105
Definition JORMContext.h:128
Definition d_cc_d.h:472
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:18
daNpc_Kkri_HIO_c()
Definition d_a_npc_kkri.cpp:283
daNpc_Kkri_HIOParam m
Definition d_a_npc_kkri.h:26
void genMessage(JORMContext *)
Definition d_a_npc_kkri.cpp:291
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_kkri.cpp:287
Definition d_a_npc_kkri.h:10
static const daNpc_Kkri_HIOParam m
Definition d_a_npc_kkri.h:238
virtual ~daNpc_Kkri_Param_c()
Definition d_a_npc_kkri.h:12
Coro.
Definition d_a_npc_kkri.h:42
static char * mCutNameList[3]
Definition d_a_npc_kkri.h:224
int Execute()
Definition d_a_npc_kkri.cpp:438
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:69
virtual void beforeMove()
Definition d_a_npc_kkri.cpp:678
daNpcT_Path_c mPath
Definition d_a_npc_kkri.h:131
MtxP getBd1Mtx()
Definition d_a_npc_kkri.h:117
int getType()
Definition d_a_npc_kkri.cpp:479
BOOL setAction(ActionFunc)
Definition d_a_npc_kkri.cpp:822
MtxP getBd3Mtx()
Definition d_a_npc_kkri.h:109
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kkri.cpp:451
virtual s32 getBackboneJointNo()
Definition d_a_npc_kkri.h:85
int fearWait(void *)
Definition d_a_npc_kkri.cpp:1087
u8 mType
Definition d_a_npc_kkri.h:127
virtual s32 getHeadJointNo()
Definition d_a_npc_kkri.h:87
virtual void setParam()
Definition d_a_npc_kkri.cpp:538
virtual void setCollision()
Definition d_a_npc_kkri.cpp:746
int sitWait1(void *)
Definition d_a_npc_kkri.cpp:988
int Draw()
Definition d_a_npc_kkri.cpp:442
virtual u16 getEyeballMaterialNo()
Definition d_a_npc_kkri.h:88
int talk(void *)
Definition d_a_npc_kkri.cpp:1146
BOOL chkAction(ActionFunc)
Definition d_a_npc_kkri.cpp:818
static void * srchYm(void *, void *)
Definition d_a_npc_kkri.cpp:467
virtual BOOL checkChangeEvt()
Definition d_a_npc_kkri.cpp:523
u8 field_0xfd8
Definition d_a_npc_kkri.h:138
int Delete()
Definition d_a_npc_kkri.cpp:431
int isDelete()
Definition d_a_npc_kkri.cpp:490
MtxP getBd2Mtx()
Definition d_a_npc_kkri.h:113
virtual BOOL checkChangeJoint(int i_jointNo)
Definition d_a_npc_kkri.h:83
int field_0xfd0
Definition d_a_npc_kkri.h:133
virtual ~daNpc_Kkri_c()
Definition d_a_npc_kkri.cpp:296
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kkri.cpp:455
int cutYmLook(int)
Definition d_a_npc_kkri.cpp:871
u8 field_0xfd4
Definition d_a_npc_kkri.h:134
NPC_KKRI_HIO_CLASS * mpHIO
Definition d_a_npc_kkri.h:125
ActionFunc mSelectAction
Definition d_a_npc_kkri.h:129
int(daNpc_Kkri_c::*) ActionFunc(void *)
Definition d_a_npc_kkri.h:44
int wait(void *)
Definition d_a_npc_kkri.cpp:936
virtual void setAttnPos()
Definition d_a_npc_kkri.cpp:690
int selectAction()
Definition d_a_npc_kkri.cpp:800
virtual int drawDbgInfo()
Definition d_a_npc_kkri.cpp:796
ActionFunc mAction
Definition d_a_npc_kkri.h:130
int cutConversationAboutSoup(int)
Definition d_a_npc_kkri.cpp:837
u8 field_0xfd7
Definition d_a_npc_kkri.h:137
u8 field_0xfd6
Definition d_a_npc_kkri.h:136
u8 getBitSW()
Definition d_a_npc_kkri.h:106
virtual void setAfterTalkMotion()
Definition d_a_npc_kkri.cpp:601
virtual BOOL checkRemoveJoint(int i_jointNo)
Definition d_a_npc_kkri.h:84
daNpcT_ActorMngr_c mActorMng[1]
Definition d_a_npc_kkri.h:128
virtual BOOL evtTalk()
Definition d_a_npc_kkri.cpp:636
void reset()
Definition d_a_npc_kkri.cpp:501
virtual void action()
Definition d_a_npc_kkri.cpp:662
int field_0xfcc
Definition d_a_npc_kkri.h:132
void srchActors()
Definition d_a_npc_kkri.cpp:624
u8 getPathID()
Definition d_a_npc_kkri.h:105
dCcD_Cyl mCcCyl
Definition d_a_npc_kkri.h:126
u8 getBitSW2()
Definition d_a_npc_kkri.h:107
virtual BOOL evtCutProc()
Definition d_a_npc_kkri.cpp:646
int sleep()
Definition d_a_npc_kkri.cpp:906
int getFlowNodeNo()
Definition d_a_npc_kkri.h:100
u8 field_0xfd5
Definition d_a_npc_kkri.h:135
int create()
Definition d_a_npc_kkri.cpp:312
int CreateHeap()
Definition d_a_npc_kkri.cpp:394
virtual s32 getNeckJointNo()
Definition d_a_npc_kkri.h:86
Definition f_op_actor.h:243
actor_place home
Definition f_op_actor.h:262
J3DModel * getModel()
Definition m_Do_ext.h:427
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Kkri_c)==0xfdc)
f32(* MtxP)[4]
Definition mtx.h:38
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
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
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:219
u32 mCounter0
Definition c_counter.h:7
Definition d_a_npc.h:842
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_kkri.h:6
daNpcT_HIOParam common
Definition d_a_npc_kkri.h:7