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
19
21public:
23
24 static daNpc_Kolinb_HIOParam const m;
25};
26
27class daNpc_Kolinb_c : public daNpcT_c {
28public:
29 enum Joint {
32 /* 0x02 */ KOLINB_JNT_MAT,
36 /* 0x06 */ KOLINB_JNT_NECK,
37 /* 0x07 */ KOLINB_JNT_HEAD,
38 /* 0x08 */ KOLINB_JNT_CHIN,
39 /* 0x09 */ KOLINB_JNT_MAYUL,
40 /* 0x0A */ KOLINB_JNT_MAYUR,
41 /* 0x0B */ KOLINB_JNT_MOUTH,
43 /* 0x0D */ KOLINB_JNT_ARML1,
44 /* 0x0E */ KOLINB_JNT_ARML2,
45 /* 0x0F */ KOLINB_JNT_HANDL,
48 /* 0x12 */ KOLINB_JNT_ARMR1,
49 /* 0x13 */ KOLINB_JNT_ARMR2,
50 /* 0x14 */ KOLINB_JNT_HANDR,
53 /* 0x17 */ KOLINB_JNT_CLOTH,
54 /* 0x18 */ KOLINB_JNT_WAIST,
57
58 /* 0x00 */ ZRCB_JNT_CENTER = 0x0,
63 /* 0x05 */ ZRCB_JNT_NECK,
64 /* 0x06 */ ZRCB_JNT_HEAD,
65 /* 0x07 */ ZRCB_JNT_H_TAIL1,
66 /* 0x08 */ ZRCB_JNT_H_TAIL2,
67 /* 0x09 */ ZRCB_JNT_H_TAIL3,
68 /* 0x0A */ ZRCB_JNT_CHIN,
69 /* 0x0B */ ZRCB_JNT_EARL1,
70 /* 0x0C */ ZRCB_JNT_EARL2,
71 /* 0x0D */ ZRCB_JNT_EARR1,
72 /* 0x0E */ ZRCB_JNT_EARR2,
73 /* 0x0F */ ZRCB_JNT_MOUTH,
75 /* 0x11 */ ZRCB_JNT_ARML1,
77 /* 0x13 */ ZRCB_JNT_ARMR1,
79 /* 0x15 */ ZRCB_JNT_CLOTH,
80 };
81
82 typedef int (daNpc_Kolinb_c::*cutFunc)(int);
83 typedef int (daNpc_Kolinb_c::*actionFunc)(void*);
84
87 int CreateHeap();
88 int Delete();
89 int Execute();
90 int Draw();
91 static int createHeapCallBack(fopAc_ac_c*);
92 static int ctrlJointCallBack(J3DJoint*, int);
93 u8 getType();
94 BOOL isDelete();
95 void reset();
96 void setParam();
98 void setAfterTalkMotion();
99 void srchActors();
100 BOOL evtTalk();
102 void action();
103 void beforeMove();
104 void setAttnPos();
105 void setCollision();
106 int drawDbgInfo();
107 int selectAction();
110 int cutConversationInHotel(int);
113 int cutNurse(int);
114 int cutClothTry(int);
115 int cutThankYou(int);
116 int wait(void*);
117 int talk(void*);
118 int test(void*);
120 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
121 daNpcT_motionAnmData_c const* i_motionAnmData,
122 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
123 int i_faceMotionStepNum,
124 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
125 int i_motionStepNum,
126 daNpcT_evtData_c const* i_evtData,
127 char** i_arcNames)
128 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
129 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
130 i_arcNames) {}
132 BOOL checkChangeJoint(int i_joint) { return i_joint == ((mType == 2 ? ZRCB_JNT_H_TAIL1 : KOLINB_JNT_CHIN) - 1); }
133 BOOL checkRemoveJoint(int i_joint) { return i_joint == ((mType == 2 ? ZRCB_JNT_MOUTH : KOLINB_JNT_MOUTH) - 1); }
136
137 static char* mCutNameList[7];
138 static cutFunc mCutList[7];
139
141 u16 nodeNo = home.angle.x;
142 u32 rv;
143 if (nodeNo == 0xffff) {
144 rv = -1;
145 } else {
146 rv = nodeNo;
147 }
148 return rv;
149 }
150
151 u32 getModelType() { return fopAcM_GetParam(this) >> 28; }
152
153private:
154 /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
156 /* 0xF80 */ Mtx mMtx;
157 /* 0xFB0 */ dBgW* mpBgW;
158 /* 0xFB4 */ u8 mType;
160 /* 0xFC4 */ actionFunc mAction;
161 /* 0xFD0 */ daNpcT_Path_c mPath;
162 /* 0xFF8 */ u8 field_0xff8;
163};
164
166
167#endif /* D_A_NPC_KOLINB_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition d_bg_w.h:257
Definition d_cc_d.h:461
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_kolinb.h:20
virtual ~daNpc_Kolinb_Param_c()
Definition d_a_npc_kolinb.h:22
static daNpc_Kolinb_HIOParam const m
Definition d_a_npc_kolinb.h:211
Colin (Bedridden) / Ralis (Bedridden)
Definition d_a_npc_kolinb.h:27
u32 getModelType()
Definition d_a_npc_kolinb.h:151
void setParam()
Definition d_a_npc_kolinb.cpp:460
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:419
int cutNurse(int)
Definition d_a_npc_kolinb.cpp:750
BOOL checkChangeEvt()
Definition d_a_npc_kolinb.cpp:487
actionFunc mNextAction
Definition d_a_npc_kolinb.h:159
cPhs__Step create()
Definition d_a_npc_kolinb.cpp:255
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_kolinb.h:133
u8 mType
Definition d_a_npc_kolinb.h:158
int cutConversationInHotel(int)
Definition d_a_npc_kolinb.cpp:626
Joint
Definition d_a_npc_kolinb.h:29
@ ZRCB_JNT_BACKBONE2
Definition d_a_npc_kolinb.h:62
@ ZRCB_JNT_SHOULDERL
Definition d_a_npc_kolinb.h:74
@ ZRCB_JNT_CLOTH
Definition d_a_npc_kolinb.h:79
@ ZRCB_JNT_NECK
Definition d_a_npc_kolinb.h:63
@ KOLINB_JNT_PILLOW_ROOT
Definition d_a_npc_kolinb.h:55
@ ZRCB_JNT_ARML1
Definition d_a_npc_kolinb.h:75
@ KOLINB_JNT_CLOTH
Definition d_a_npc_kolinb.h:53
@ KOLINB_JNT_BACKBONE1
Definition d_a_npc_kolinb.h:34
@ KOLINB_JNT_KOLIN_CENTER
Definition d_a_npc_kolinb.h:33
@ KOLINB_JNT_SHOULDERL
Definition d_a_npc_kolinb.h:42
@ KOLINB_JNT_CENTER
Definition d_a_npc_kolinb.h:30
@ KOLINB_JNT_BED_ROOT
Definition d_a_npc_kolinb.h:31
@ KOLINB_JNT_MAYUR
Definition d_a_npc_kolinb.h:40
@ ZRCB_JNT_EARR1
Definition d_a_npc_kolinb.h:71
@ ZRCB_JNT_H_TAIL3
Definition d_a_npc_kolinb.h:67
@ KOLINB_JNT_BACKBONE2
Definition d_a_npc_kolinb.h:35
@ KOLINB_JNT_FINGERR
Definition d_a_npc_kolinb.h:51
@ ZRCB_JNT_ZRC_CENTER
Definition d_a_npc_kolinb.h:60
@ KOLINB_JNT_CHIN
Definition d_a_npc_kolinb.h:38
@ KOLINB_JNT_PILLOW
Definition d_a_npc_kolinb.h:56
@ ZRCB_JNT_H_TAIL1
Definition d_a_npc_kolinb.h:65
@ KOLINB_JNT_ARMR2
Definition d_a_npc_kolinb.h:49
@ ZRCB_JNT_EARL1
Definition d_a_npc_kolinb.h:69
@ ZRCB_JNT_BED_ROOT
Definition d_a_npc_kolinb.h:59
@ KOLINB_JNT_MAYUL
Definition d_a_npc_kolinb.h:39
@ ZRCB_JNT_MOUTH
Definition d_a_npc_kolinb.h:73
@ KOLINB_JNT_MOUTH
Definition d_a_npc_kolinb.h:41
@ KOLINB_JNT_ARML2
Definition d_a_npc_kolinb.h:44
@ KOLINB_JNT_FINGERL
Definition d_a_npc_kolinb.h:46
@ ZRCB_JNT_CHIN
Definition d_a_npc_kolinb.h:68
@ ZRCB_JNT_EARR2
Definition d_a_npc_kolinb.h:72
@ ZRCB_JNT_HEAD
Definition d_a_npc_kolinb.h:64
@ KOLINB_JNT_HANDL
Definition d_a_npc_kolinb.h:45
@ ZRCB_JNT_BACKBONE1
Definition d_a_npc_kolinb.h:61
@ ZRCB_JNT_H_TAIL2
Definition d_a_npc_kolinb.h:66
@ KOLINB_JNT_HANDR
Definition d_a_npc_kolinb.h:50
@ ZRCB_JNT_EARL2
Definition d_a_npc_kolinb.h:70
@ ZRCB_JNT_SHOULDERR
Definition d_a_npc_kolinb.h:76
@ KOLINB_JNT_HEAD
Definition d_a_npc_kolinb.h:37
@ KOLINB_JNT_CLOTH_ROOT
Definition d_a_npc_kolinb.h:52
@ KOLINB_JNT_SHOULDERR
Definition d_a_npc_kolinb.h:47
@ ZRCB_JNT_CLOTH_ROOT
Definition d_a_npc_kolinb.h:78
@ ZRCB_JNT_CENTER
Definition d_a_npc_kolinb.h:58
@ KOLINB_JNT_WAIST
Definition d_a_npc_kolinb.h:54
@ ZRCB_JNT_ARMR1
Definition d_a_npc_kolinb.h:77
@ KOLINB_JNT_NECK
Definition d_a_npc_kolinb.h:36
@ KOLINB_JNT_ARML1
Definition d_a_npc_kolinb.h:43
@ KOLINB_JNT_MAT
Definition d_a_npc_kolinb.h:32
@ KOLINB_JNT_ARMR1
Definition d_a_npc_kolinb.h:48
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:119
s32 getHeadJointNo()
Definition d_a_npc_kolinb.h:131
void reset()
Definition d_a_npc_kolinb.cpp:443
~daNpc_Kolinb_c()
Definition d_a_npc_kolinb.cpp:199
s32 getBackboneJointNo()
Definition d_a_npc_kolinb.h:134
int selectAction()
Definition d_a_npc_kolinb.cpp:590
void setAfterTalkMotion()
Definition d_a_npc_kolinb.cpp:503
void srchActors()
Definition d_a_npc_kolinb.cpp:508
int Execute()
Definition d_a_npc_kolinb.cpp:374
dCcD_Cyl field_0xe44
Definition d_a_npc_kolinb.h:155
int talk(void *)
Definition d_a_npc_kolinb.cpp:864
Mtx mMtx
Definition d_a_npc_kolinb.h:156
BOOL evtTalk()
Definition d_a_npc_kolinb.cpp:512
int Delete()
Definition d_a_npc_kolinb.cpp:369
int cutThankYou(int)
Definition d_a_npc_kolinb.cpp:809
s32 getNeckJointNo()
Definition d_a_npc_kolinb.h:135
u8 field_0xe40[0xe44 - 0xe40]
Definition d_a_npc_kolinb.h:154
int(daNpc_Kolinb_c::*) cutFunc(int)
Definition d_a_npc_kolinb.h:82
void setCollision()
Definition d_a_npc_kolinb.cpp:581
int wait(void *)
Definition d_a_npc_kolinb.cpp:830
u8 getType()
Definition d_a_npc_kolinb.cpp:403
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kolinb.cpp:387
int CreateHeap()
Definition d_a_npc_kolinb.cpp:319
daNpcT_Path_c mPath
Definition d_a_npc_kolinb.h:161
int cutClothTry(int)
Definition d_a_npc_kolinb.cpp:788
void beforeMove()
Definition d_a_npc_kolinb.cpp:547
int test(void *)
u8 field_0xff8
Definition d_a_npc_kolinb.h:162
actionFunc mAction
Definition d_a_npc_kolinb.h:160
dBgW * mpBgW
Definition d_a_npc_kolinb.h:157
BOOL chkAction(actionFunc)
Definition d_a_npc_kolinb.cpp:605
void action()
Definition d_a_npc_kolinb.cpp:537
int Draw()
Definition d_a_npc_kolinb.cpp:378
int setAction(actionFunc)
Definition d_a_npc_kolinb.cpp:609
BOOL evtCutProc()
Definition d_a_npc_kolinb.cpp:522
int drawDbgInfo()
Definition d_a_npc_kolinb.cpp:586
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_kolinb.h:132
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kolinb.cpp:392
void setAttnPos()
Definition d_a_npc_kolinb.cpp:559
u32 getFlowNodeNo()
Definition d_a_npc_kolinb.h:140
int cutConversationAboutDeathMt(int)
Definition d_a_npc_kolinb.cpp:646
int(daNpc_Kolinb_c::*) actionFunc(void *)
Definition d_a_npc_kolinb.h:83
int cutConversationAboutGoron(int)
Definition d_a_npc_kolinb.cpp:698
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
STATIC_ASSERT(sizeof(daNpc_Kolinb_c)==0xffc)
f32 Mtx[3][4]
Definition mtx.h:25
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
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
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_kolinb.h:16
daNpcT_HIOParam common
Definition d_a_npc_kolinb.h:17