Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_kolinb.h
Go to the documentation of this file.
1#ifndef D_A_NPC_KOLINB_H
2#define D_A_NPC_KOLINB_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_bg_w.h"
6
10
12public:
14
15 static daNpc_Kolinb_HIOParam const m;
16};
17
18#if DEBUG
29
30#define NPC_KOLINB_HIO_CLASS daNpc_Kolinb_HIO_c
31#else
32#define NPC_KOLINB_HIO_CLASS daNpc_Kolinb_Param_c
33#endif
34
43class daNpc_Kolinb_c : public daNpcT_c {
44public:
45 enum Joint {
48 /* 0x02 */ KOLINB_JNT_MAT,
52 /* 0x06 */ KOLINB_JNT_NECK,
53 /* 0x07 */ KOLINB_JNT_HEAD,
54 /* 0x08 */ KOLINB_JNT_CHIN,
55 /* 0x09 */ KOLINB_JNT_MAYUL,
56 /* 0x0A */ KOLINB_JNT_MAYUR,
57 /* 0x0B */ KOLINB_JNT_MOUTH,
59 /* 0x0D */ KOLINB_JNT_ARML1,
60 /* 0x0E */ KOLINB_JNT_ARML2,
61 /* 0x0F */ KOLINB_JNT_HANDL,
64 /* 0x12 */ KOLINB_JNT_ARMR1,
65 /* 0x13 */ KOLINB_JNT_ARMR2,
66 /* 0x14 */ KOLINB_JNT_HANDR,
69 /* 0x17 */ KOLINB_JNT_CLOTH,
70 /* 0x18 */ KOLINB_JNT_WAIST,
73
74 /* 0x00 */ ZRCB_JNT_CENTER = 0x0,
79 /* 0x05 */ ZRCB_JNT_NECK,
80 /* 0x06 */ ZRCB_JNT_HEAD,
81 /* 0x07 */ ZRCB_JNT_H_TAIL1,
82 /* 0x08 */ ZRCB_JNT_H_TAIL2,
83 /* 0x09 */ ZRCB_JNT_H_TAIL3,
84 /* 0x0A */ ZRCB_JNT_CHIN,
85 /* 0x0B */ ZRCB_JNT_EARL1,
86 /* 0x0C */ ZRCB_JNT_EARL2,
87 /* 0x0D */ ZRCB_JNT_EARR1,
88 /* 0x0E */ ZRCB_JNT_EARR2,
89 /* 0x0F */ ZRCB_JNT_MOUTH,
91 /* 0x11 */ ZRCB_JNT_ARML1,
93 /* 0x13 */ ZRCB_JNT_ARMR1,
95 /* 0x15 */ ZRCB_JNT_CLOTH,
96 };
97
98 typedef int (daNpc_Kolinb_c::*cutFunc)(int);
99 typedef int (daNpc_Kolinb_c::*actionFunc)(void*);
100
103 int CreateHeap();
104 int Delete();
105 int Execute();
106 int Draw();
107 static int createHeapCallBack(fopAc_ac_c*);
108 static int ctrlJointCallBack(J3DJoint*, int);
109 u8 getType();
110 BOOL isDelete();
111 void reset();
112 void setParam();
114 void setAfterTalkMotion();
115 void srchActors();
116 BOOL evtTalk();
118 void action();
119 void beforeMove();
120 void setAttnPos();
121 void setCollision();
122 int drawDbgInfo();
123 int selectAction();
126 int cutConversationInHotel(int);
129 int cutNurse(int);
130 int cutClothTry(int);
131 int cutThankYou(int);
132 int wait(void*);
133 int talk(void*);
134 int test(void*);
136 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
137 daNpcT_motionAnmData_c const* i_motionAnmData,
138 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
139 int i_faceMotionStepNum,
140 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
141 int i_motionStepNum,
142 daNpcT_evtData_c const* i_evtData,
143 char** i_arcNames)
144 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
145 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
146 i_arcNames) {}
148 BOOL checkChangeJoint(int i_joint) { return i_joint == ((mType == 2 ? ZRCB_JNT_H_TAIL1 : KOLINB_JNT_CHIN) - 1); }
149 BOOL checkRemoveJoint(int i_joint) { return i_joint == ((mType == 2 ? ZRCB_JNT_MOUTH : KOLINB_JNT_MOUTH) - 1); }
152
153 static char* mCutNameList[7];
154 static cutFunc mCutList[7];
155
157 u16 nodeNo = home.angle.x;
158 u32 rv;
159 if (nodeNo == 0xffff) {
160 rv = -1;
161 } else {
162 rv = nodeNo;
163 }
164 return rv;
165 }
166
167 u32 getModelType() { return fopAcM_GetParam(this) >> 28; }
168
169private:
170 /* 0xE40 */ NPC_KOLINB_HIO_CLASS* mpHIO;
172 /* 0xF80 */ Mtx mMtx;
173 /* 0xFB0 */ dBgW* mpBgW;
174 /* 0xFB4 */ u8 mType;
176 /* 0xFC4 */ actionFunc mAction;
177 /* 0xFD0 */ daNpcT_Path_c mPath;
178 /* 0xFF8 */ u8 field_0xff8;
180
182
183#endif /* D_A_NPC_KOLINB_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DJoint.h:66
Definition JORMContext.h:128
Definition d_bg_w.h:258
Definition d_cc_d.h:472
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_kolinb.h:19
void genMessage(JORMContext *)
Definition d_a_npc_kolinb.cpp:254
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_kolinb.cpp:250
daNpc_Kolinb_HIO_c()
Definition d_a_npc_kolinb.cpp:246
daNpc_Kolinb_HIOParam m
Definition d_a_npc_kolinb.h:27
Definition d_a_npc_kolinb.h:11
virtual ~daNpc_Kolinb_Param_c()
Definition d_a_npc_kolinb.h:13
static daNpc_Kolinb_HIOParam const m
Definition d_a_npc_kolinb.h:201
Colin (Bedridden) / Ralis (Bedridden)
Definition d_a_npc_kolinb.h:43
u32 getModelType()
Definition d_a_npc_kolinb.h:167
void setParam()
Definition d_a_npc_kolinb.cpp:487
static char * mCutNameList[7]
Definition d_a_npc_kolinb.h:179
static cutFunc mCutList[7]
Definition d_a_npc_kolinb.h:189
BOOL isDelete()
Definition d_a_npc_kolinb.cpp:446
int cutNurse(int)
Definition d_a_npc_kolinb.cpp:777
cPhs_Step create()
Definition d_a_npc_kolinb.cpp:277
BOOL checkChangeEvt()
Definition d_a_npc_kolinb.cpp:514
actionFunc mNextAction
Definition d_a_npc_kolinb.h:175
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_kolinb.h:149
u8 mType
Definition d_a_npc_kolinb.h:174
int cutConversationInHotel(int)
Definition d_a_npc_kolinb.cpp:653
Joint
Definition d_a_npc_kolinb.h:45
@ ZRCB_JNT_BACKBONE2
Definition d_a_npc_kolinb.h:78
@ ZRCB_JNT_SHOULDERL
Definition d_a_npc_kolinb.h:90
@ ZRCB_JNT_CLOTH
Definition d_a_npc_kolinb.h:95
@ ZRCB_JNT_NECK
Definition d_a_npc_kolinb.h:79
@ KOLINB_JNT_PILLOW_ROOT
Definition d_a_npc_kolinb.h:71
@ ZRCB_JNT_ARML1
Definition d_a_npc_kolinb.h:91
@ KOLINB_JNT_CLOTH
Definition d_a_npc_kolinb.h:69
@ KOLINB_JNT_BACKBONE1
Definition d_a_npc_kolinb.h:50
@ KOLINB_JNT_KOLIN_CENTER
Definition d_a_npc_kolinb.h:49
@ KOLINB_JNT_SHOULDERL
Definition d_a_npc_kolinb.h:58
@ KOLINB_JNT_CENTER
Definition d_a_npc_kolinb.h:46
@ KOLINB_JNT_BED_ROOT
Definition d_a_npc_kolinb.h:47
@ KOLINB_JNT_MAYUR
Definition d_a_npc_kolinb.h:56
@ ZRCB_JNT_EARR1
Definition d_a_npc_kolinb.h:87
@ ZRCB_JNT_H_TAIL3
Definition d_a_npc_kolinb.h:83
@ KOLINB_JNT_BACKBONE2
Definition d_a_npc_kolinb.h:51
@ KOLINB_JNT_FINGERR
Definition d_a_npc_kolinb.h:67
@ ZRCB_JNT_ZRC_CENTER
Definition d_a_npc_kolinb.h:76
@ KOLINB_JNT_CHIN
Definition d_a_npc_kolinb.h:54
@ KOLINB_JNT_PILLOW
Definition d_a_npc_kolinb.h:72
@ ZRCB_JNT_H_TAIL1
Definition d_a_npc_kolinb.h:81
@ KOLINB_JNT_ARMR2
Definition d_a_npc_kolinb.h:65
@ ZRCB_JNT_EARL1
Definition d_a_npc_kolinb.h:85
@ ZRCB_JNT_BED_ROOT
Definition d_a_npc_kolinb.h:75
@ KOLINB_JNT_MAYUL
Definition d_a_npc_kolinb.h:55
@ ZRCB_JNT_MOUTH
Definition d_a_npc_kolinb.h:89
@ KOLINB_JNT_MOUTH
Definition d_a_npc_kolinb.h:57
@ KOLINB_JNT_ARML2
Definition d_a_npc_kolinb.h:60
@ KOLINB_JNT_FINGERL
Definition d_a_npc_kolinb.h:62
@ ZRCB_JNT_CHIN
Definition d_a_npc_kolinb.h:84
@ ZRCB_JNT_EARR2
Definition d_a_npc_kolinb.h:88
@ ZRCB_JNT_HEAD
Definition d_a_npc_kolinb.h:80
@ KOLINB_JNT_HANDL
Definition d_a_npc_kolinb.h:61
@ ZRCB_JNT_BACKBONE1
Definition d_a_npc_kolinb.h:77
@ ZRCB_JNT_H_TAIL2
Definition d_a_npc_kolinb.h:82
@ KOLINB_JNT_HANDR
Definition d_a_npc_kolinb.h:66
@ ZRCB_JNT_EARL2
Definition d_a_npc_kolinb.h:86
@ ZRCB_JNT_SHOULDERR
Definition d_a_npc_kolinb.h:92
@ KOLINB_JNT_HEAD
Definition d_a_npc_kolinb.h:53
@ KOLINB_JNT_CLOTH_ROOT
Definition d_a_npc_kolinb.h:68
@ KOLINB_JNT_SHOULDERR
Definition d_a_npc_kolinb.h:63
@ ZRCB_JNT_CLOTH_ROOT
Definition d_a_npc_kolinb.h:94
@ ZRCB_JNT_CENTER
Definition d_a_npc_kolinb.h:74
@ KOLINB_JNT_WAIST
Definition d_a_npc_kolinb.h:70
@ ZRCB_JNT_ARMR1
Definition d_a_npc_kolinb.h:93
@ KOLINB_JNT_NECK
Definition d_a_npc_kolinb.h:52
@ KOLINB_JNT_ARML1
Definition d_a_npc_kolinb.h:59
@ KOLINB_JNT_MAT
Definition d_a_npc_kolinb.h:48
@ KOLINB_JNT_ARMR1
Definition d_a_npc_kolinb.h:64
daNpc_Kolinb_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_kolinb.h:135
s32 getHeadJointNo()
Definition d_a_npc_kolinb.h:147
void reset()
Definition d_a_npc_kolinb.cpp:470
~daNpc_Kolinb_c()
Definition d_a_npc_kolinb.cpp:259
s32 getBackboneJointNo()
Definition d_a_npc_kolinb.h:150
int selectAction()
Definition d_a_npc_kolinb.cpp:617
void setAfterTalkMotion()
Definition d_a_npc_kolinb.cpp:530
void srchActors()
Definition d_a_npc_kolinb.cpp:535
int Execute()
Definition d_a_npc_kolinb.cpp:401
NPC_KOLINB_HIO_CLASS * mpHIO
Definition d_a_npc_kolinb.h:170
dCcD_Cyl field_0xe44
Definition d_a_npc_kolinb.h:171
int talk(void *)
Definition d_a_npc_kolinb.cpp:891
Mtx mMtx
Definition d_a_npc_kolinb.h:172
BOOL evtTalk()
Definition d_a_npc_kolinb.cpp:539
int Delete()
Definition d_a_npc_kolinb.cpp:396
int cutThankYou(int)
Definition d_a_npc_kolinb.cpp:836
s32 getNeckJointNo()
Definition d_a_npc_kolinb.h:151
int(daNpc_Kolinb_c::*) cutFunc(int)
Definition d_a_npc_kolinb.h:98
void setCollision()
Definition d_a_npc_kolinb.cpp:608
int wait(void *)
Definition d_a_npc_kolinb.cpp:857
u8 getType()
Definition d_a_npc_kolinb.cpp:430
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kolinb.cpp:414
int CreateHeap()
Definition d_a_npc_kolinb.cpp:346
daNpcT_Path_c mPath
Definition d_a_npc_kolinb.h:177
int cutClothTry(int)
Definition d_a_npc_kolinb.cpp:815
void beforeMove()
Definition d_a_npc_kolinb.cpp:574
int test(void *)
u8 field_0xff8
Definition d_a_npc_kolinb.h:178
actionFunc mAction
Definition d_a_npc_kolinb.h:176
dBgW * mpBgW
Definition d_a_npc_kolinb.h:173
BOOL chkAction(actionFunc)
Definition d_a_npc_kolinb.cpp:632
void action()
Definition d_a_npc_kolinb.cpp:564
int Draw()
Definition d_a_npc_kolinb.cpp:405
int setAction(actionFunc)
Definition d_a_npc_kolinb.cpp:636
BOOL evtCutProc()
Definition d_a_npc_kolinb.cpp:549
int drawDbgInfo()
Definition d_a_npc_kolinb.cpp:613
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_kolinb.h:148
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kolinb.cpp:419
void setAttnPos()
Definition d_a_npc_kolinb.cpp:586
u32 getFlowNodeNo()
Definition d_a_npc_kolinb.h:156
int cutConversationAboutDeathMt(int)
Definition d_a_npc_kolinb.cpp:673
int(daNpc_Kolinb_c::*) actionFunc(void *)
Definition d_a_npc_kolinb.h:99
int cutConversationAboutGoron(int)
Definition d_a_npc_kolinb.cpp:725
Definition f_op_actor.h:243
actor_place home
Definition f_op_actor.h:262
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Kolinb_c)==0xffc)
f32 Mtx[3][4]
Definition mtx.h:25
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
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
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_kolinb.h:7
daNpcT_HIOParam common
Definition d_a_npc_kolinb.h:8