Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_taro.h
Go to the documentation of this file.
1#ifndef D_A_NPC_TARO_H
2#define D_A_NPC_TARO_H
3
5#include "d/actor/d_a_npc.h"
6
9 /* 0x8C */ s16 mChoccaiTimer;
10 /* 0x8E */ s16 field_0x8e;
11};
12
14public:
16
17 static daNpc_Taro_HIOParam const m;
18};
19
20#if DEBUG
31#define NPC_TARO_HIO_CLASS daNpc_Taro_HIO_c
32#else
33#define NPC_TARO_HIO_CLASS daNpc_Taro_Param_c
34#endif
35
44class daNpc_Taro_c : public daNpcT_c {
45public:
46 typedef int (daNpc_Taro_c::*cutFunc)(int);
47 typedef int (daNpc_Taro_c::*actionFunc)(void*);
48
68
70 int create();
71 int CreateHeap();
72 int Delete();
73 int Execute();
74 int Draw();
75 static int createHeapCallBack(fopAc_ac_c*);
76 static int ctrlJointCallBack(J3DJoint*, int);
77 static void* srchArrow(void*, void*);
78 static void* srchNpc(void*, void*);
80 u8 getType();
81 BOOL isDelete();
82 void reset();
83 void afterJntAnm(int);
84 void setParam();
87 void setAfterTalkMotion();
88 void srchActors();
89 BOOL evtTalk();
91 void action();
92 void beforeMove();
93 void setAttnPos();
94 void setCollision();
95 int drawDbgInfo();
96 void drawOtherMdl();
99 BOOL chkAction(int (daNpc_Taro_c::*)(void*));
100 BOOL setAction(int (daNpc_Taro_c::*)(void*));
101 void setSwingVoice();
104 int cutSwdTutorial(int);
105 int cutHail(int);
106 int cutFindMonkey(int);
107 int cutHelpMe(int);
108 int cutAppearanceMoi(int);
109 int cutGiveMeWoodSwd(int);
110 int cutGetWoodSwd(int);
113 int cutArrowTutorial(int);
114 int cutCaution(int);
115 int cutTagPush1(int);
116 int cutNotGonnaLet(int);
117 int cutTagPush4(int);
118 int wait(void*);
119 int swdTutorial(void*);
120 int talk_withMaro(void*);
121 int practice(void*);
122 int nurse(void*);
123 int talk(void*);
125 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
126 daNpcT_motionAnmData_c const* i_motionAnmData,
127 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
128 int i_faceMotionStepNum,
129 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
130 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
131 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
132 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
133 i_arcNames) {
134 OS_REPORT("|%06d:%x|daNpc_Taro_c -> コンストラクト\n", g_Counter.mCounter0, this);
135 }
136 u16 getEyeballMaterialNo() { return 2; }
137 s32 getHeadJointNo() { return 4; }
138 s32 getNeckJointNo() { return 3; }
139 s32 getBackboneJointNo() { return 1; }
140 BOOL checkChangeJoint(int jntNo) { return jntNo == 4; }
141 BOOL checkRemoveJoint(int jntNo) { return jntNo == 7; }
142 s32 getFootLJointNo() { return 19; }
143 s32 getFootRJointNo() { return 22; }
144
146 u16 nodeNo = home.angle.x;
147 u32 rv;
148 if (nodeNo == 0xffff) {
149 rv = -1;
150 } else {
151 rv = nodeNo;
152 }
153 return rv;
154 }
155
156 u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
157 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
158 u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xff000000) >> 24; }
159
160 static char* mCutNameList[17];
161 static cutFunc mCutList[17];
162
163private:
164 /* 0x0E40 */ NPC_TARO_HIO_CLASS* mpHIO;
165 /* 0x0E44 */ J3DModel* mModels[2];
166 /* 0x0E4C */ dCcD_Cyl mCyl1;
167 /* 0x0F88 */ dCcD_Cyl mCyl2;
168 /* 0x10C4 */ u8 mType;
169 /* 0x10C8 */ daNpcT_ActorMngr_c mActors[23];
170 /* 0x1180 */ actionFunc mAction;
171 /* 0x118C */ actionFunc mAction2;
172 /* 0x1198 */ int mChoccaiTimer;
173 /* 0x119C */ int field_0x119c;
174 /* 0x11A0 */ u8 field_0x11a0;
175 /* 0x11A1 */ u8 field_0x11a1;
176 /* 0x11A2 */ u8 field_0x11a2;
177 /* 0x11A3 */ u8 field_0x11a3;
178 /* 0x11A4 */ u8 field_0x11a4;
179 /* 0x11A5 */ u8 field_0x11a5;
180 /* 0x11A6 */ u8 field_0x11a6;
181 /* 0x11A7 */ u8 field_0x11a7;
182 /* 0x11A8 */ int field_0x11a8;
183};
184
185STATIC_ASSERT(sizeof(daNpc_Taro_c) == 0x11ac);
186
187
188#endif /* D_A_NPC_TARO_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:66
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition d_cc_d.h:472
Definition d_a_npc.h:30
Definition d_a_npc.h:516
Definition d_a_npc_taro.h:21
daNpc_Taro_HIO_c()
Definition d_a_npc_taro.cpp:249
daNpc_Taro_HIOParam m
Definition d_a_npc_taro.h:29
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_taro.cpp:253
void genMessage(JORMContext *)
Definition d_a_npc_taro.cpp:257
Definition d_a_npc_taro.h:13
static daNpc_Taro_HIOParam const m
Definition d_a_npc_taro.h:242
virtual ~daNpc_Taro_Param_c()
Definition d_a_npc_taro.h:15
Talo.
Definition d_a_npc_taro.h:44
int wait(void *)
Definition d_a_npc_taro.cpp:2776
~daNpc_Taro_c()
Definition d_a_npc_taro.cpp:262
int cutTagPush1(int)
Definition d_a_npc_taro.cpp:2518
u8 getPathID()
Definition d_a_npc_taro.h:156
int CreateHeap()
Definition d_a_npc_taro.cpp:345
actionFunc mAction2
Definition d_a_npc_taro.h:171
int(daNpc_Taro_c::*) actionFunc(void *)
Definition d_a_npc_taro.h:47
fopAc_ac_c * getArrowP()
Definition d_a_npc_taro.cpp:485
u16 getEyeballMaterialNo()
Definition d_a_npc_taro.h:136
daNpcT_ActorMngr_c mActors[23]
Definition d_a_npc_taro.h:169
BOOL checkChangeJoint(int jntNo)
Definition d_a_npc_taro.h:140
u8 field_0x11a3
Definition d_a_npc_taro.h:177
static void * srchArrow(void *, void *)
Definition d_a_npc_taro.cpp:463
int create()
Definition d_a_npc_taro.cpp:277
int drawDbgInfo()
Definition d_a_npc_taro.cpp:1077
int cutFindMonkey(int)
Definition d_a_npc_taro.cpp:1508
int cutHelpMe(int)
Definition d_a_npc_taro.cpp:1636
int swdTutorial(void *)
Definition d_a_npc_taro.cpp:3100
static char * mCutNameList[17]
Definition d_a_npc_taro.h:200
int cutHail(int)
Definition d_a_npc_taro.cpp:1463
int mChoccaiTimer
Definition d_a_npc_taro.h:172
BOOL setAction(int(daNpc_Taro_c::*)(void *))
Definition d_a_npc_taro.cpp:1137
int cutCaution(int)
Definition d_a_npc_taro.cpp:2454
BOOL evtTalk()
Definition d_a_npc_taro.cpp:858
BOOL evtCutProc()
Definition d_a_npc_taro.cpp:867
int practice(void *)
Definition d_a_npc_taro.cpp:3193
s32 getFootLJointNo()
Definition d_a_npc_taro.h:142
u8 getType()
Definition d_a_npc_taro.cpp:501
s32 getNeckJointNo()
Definition d_a_npc_taro.h:138
u8 getBitSW2()
Definition d_a_npc_taro.h:158
int cutConversationWithMaro(int)
Definition d_a_npc_taro.cpp:2149
void setParam()
Definition d_a_npc_taro.cpp:638
void setCollision()
Definition d_a_npc_taro.cpp:1011
int Execute()
Definition d_a_npc_taro.cpp:433
BOOL chkAction(int(daNpc_Taro_c::*)(void *))
Definition d_a_npc_taro.cpp:1133
int cutGetWoodSwd(int)
Definition d_a_npc_taro.cpp:1966
dCcD_Cyl mCyl1
Definition d_a_npc_taro.h:166
u8 field_0x11a6
Definition d_a_npc_taro.h:180
BOOL selectAction()
Definition d_a_npc_taro.cpp:1111
int Draw()
Definition d_a_npc_taro.cpp:437
int cutGiveMeWoodSwd(int)
Definition d_a_npc_taro.cpp:1836
s32 getHeadJointNo()
Definition d_a_npc_taro.h:137
s32 getFootRJointNo()
Definition d_a_npc_taro.h:143
void setAfterTalkMotion()
Definition d_a_npc_taro.cpp:737
void reset()
Definition d_a_npc_taro.cpp:578
u8 field_0x11a4
Definition d_a_npc_taro.h:178
int cutSwdTutorial(int)
Definition d_a_npc_taro.cpp:1252
int Delete()
Definition d_a_npc_taro.cpp:426
int field_0x11a8
Definition d_a_npc_taro.h:182
int cutArrowTutorial(int)
Definition d_a_npc_taro.cpp:2305
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_taro.cpp:448
void beforeMove()
Definition d_a_npc_taro.cpp:960
u8 mType
Definition d_a_npc_taro.h:168
s32 getBackboneJointNo()
Definition d_a_npc_taro.h:139
int cutConversationAboutPachinko(int)
Definition d_a_npc_taro.cpp:1168
int nurse(void *)
Definition d_a_npc_taro.cpp:3267
u8 field_0x11a7
Definition d_a_npc_taro.h:181
BOOL checkChangeEvt()
Definition d_a_npc_taro.cpp:702
void setAttnPos()
Definition d_a_npc_taro.cpp:970
int cutAppearanceMoi(int)
Definition d_a_npc_taro.cpp:1698
int cutTagPush4(int)
Definition d_a_npc_taro.cpp:2730
int cutConversationAboutWoodSwd(int)
Definition d_a_npc_taro.cpp:1215
u8 getBitSW()
Definition d_a_npc_taro.h:157
int field_0x119c
Definition d_a_npc_taro.h:173
int cutNotGonnaLet(int)
Definition d_a_npc_taro.cpp:2567
u8 field_0x11a0
Definition d_a_npc_taro.h:174
void drawOtherMdl()
Definition d_a_npc_taro.cpp:1081
daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c)
Definition d_a_npc_taro.cpp:1102
actionFunc mAction
Definition d_a_npc_taro.h:170
void setSwingVoice()
Definition d_a_npc_taro.cpp:1150
int talk(void *)
Definition d_a_npc_taro.cpp:3296
BOOL evtEndProc()
Definition d_a_npc_taro.cpp:730
NPC_TARO_HIO_CLASS * mpHIO
Definition d_a_npc_taro.h:164
int cutCacaricoConversation(int)
Definition d_a_npc_taro.cpp:2238
daNpc_Taro_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_taro.h:124
BOOL checkRemoveJoint(int jntNo)
Definition d_a_npc_taro.h:141
u32 getFlowNodeNo()
Definition d_a_npc_taro.h:145
TaroType
Definition d_a_npc_taro.h:49
@ TYPE_1
Definition d_a_npc_taro.h:51
@ TYPE_2
Definition d_a_npc_taro.h:52
@ TYPE_10
Definition d_a_npc_taro.h:60
@ TYPE_14
Definition d_a_npc_taro.h:64
@ TYPE_5
Definition d_a_npc_taro.h:55
@ TYPE_9
Definition d_a_npc_taro.h:59
@ TYPE_11
Definition d_a_npc_taro.h:61
@ TYPE_8
Definition d_a_npc_taro.h:58
@ TYPE_0
Definition d_a_npc_taro.h:50
@ TYPE_12
Definition d_a_npc_taro.h:62
@ TYPE_7
Definition d_a_npc_taro.h:57
@ TYPE_13
Definition d_a_npc_taro.h:63
@ TYPE_4
Definition d_a_npc_taro.h:54
@ TYPE_15
Definition d_a_npc_taro.h:65
@ TYPE_16
Definition d_a_npc_taro.h:66
@ TYPE_3
Definition d_a_npc_taro.h:53
@ TYPE_6
Definition d_a_npc_taro.h:56
static cutFunc mCutList[17]
Definition d_a_npc_taro.h:220
void afterJntAnm(int)
Definition d_a_npc_taro.cpp:628
void srchActors()
Definition d_a_npc_taro.cpp:768
J3DModel * mModels[2]
Definition d_a_npc_taro.h:165
BOOL isDelete()
Definition d_a_npc_taro.cpp:540
int(daNpc_Taro_c::*) cutFunc(int)
Definition d_a_npc_taro.h:46
dCcD_Cyl mCyl2
Definition d_a_npc_taro.h:167
int talk_withMaro(void *)
Definition d_a_npc_taro.cpp:3132
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_taro.cpp:452
static void * srchNpc(void *, void *)
Definition d_a_npc_taro.cpp:473
u8 field_0x11a1
Definition d_a_npc_taro.h:175
u8 field_0x11a2
Definition d_a_npc_taro.h:176
u8 field_0x11a5
Definition d_a_npc_taro.h:179
void action()
Definition d_a_npc_taro.cpp:900
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_Taro_c)==0x11ac)
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
signed short int s16
Definition types.h:9
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_taro.h:7
daNpcT_HIOParam common
Definition d_a_npc_taro.h:8
s16 field_0x8e
Definition d_a_npc_taro.h:10
s16 mChoccaiTimer
Definition d_a_npc_taro.h:9