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
22public:
24
25 void listenPropertyEvent(const JORPropertyEvent*);
26
27 void genMessage(JORMContext*);
28
30};
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();
85 BOOL checkChangeEvt();
86 BOOL evtEndProc();
87 void setAfterTalkMotion();
88 void srchActors();
89 BOOL evtTalk();
90 BOOL evtCutProc();
91 void action();
92 void beforeMove();
93 void setAttnPos();
94 void setCollision();
95 int drawDbgInfo();
96 void drawOtherMdl();
98 BOOL selectAction();
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 d_cc_d.h:472
Definition d_a_npc.h:31
Definition d_a_npc.h:517
Definition d_a_npc_taro.h:21
daNpc_Taro_HIO_c()
Definition d_a_npc_taro.cpp:250
daNpc_Taro_HIOParam m
Definition d_a_npc_taro.h:29
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_taro.cpp:254
void genMessage(JORMContext *)
Definition d_a_npc_taro.cpp:258
Definition d_a_npc_taro.h:13
static daNpc_Taro_HIOParam const m
Definition d_a_npc_taro.h:243
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:2777
~daNpc_Taro_c()
Definition d_a_npc_taro.cpp:263
int cutTagPush1(int)
Definition d_a_npc_taro.cpp:2519
u8 getPathID()
Definition d_a_npc_taro.h:156
int CreateHeap()
Definition d_a_npc_taro.cpp:346
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:486
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:464
int create()
Definition d_a_npc_taro.cpp:278
int drawDbgInfo()
Definition d_a_npc_taro.cpp:1078
int cutFindMonkey(int)
Definition d_a_npc_taro.cpp:1509
int cutHelpMe(int)
Definition d_a_npc_taro.cpp:1637
int swdTutorial(void *)
Definition d_a_npc_taro.cpp:3101
static char * mCutNameList[17]
Definition d_a_npc_taro.h:201
int cutHail(int)
Definition d_a_npc_taro.cpp:1464
int mChoccaiTimer
Definition d_a_npc_taro.h:172
BOOL setAction(int(daNpc_Taro_c::*)(void *))
Definition d_a_npc_taro.cpp:1138
int cutCaution(int)
Definition d_a_npc_taro.cpp:2455
BOOL evtTalk()
Definition d_a_npc_taro.cpp:859
BOOL evtCutProc()
Definition d_a_npc_taro.cpp:868
int practice(void *)
Definition d_a_npc_taro.cpp:3194
s32 getFootLJointNo()
Definition d_a_npc_taro.h:142
u8 getType()
Definition d_a_npc_taro.cpp:502
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:2150
void setParam()
Definition d_a_npc_taro.cpp:639
void setCollision()
Definition d_a_npc_taro.cpp:1012
int Execute()
Definition d_a_npc_taro.cpp:434
BOOL chkAction(int(daNpc_Taro_c::*)(void *))
Definition d_a_npc_taro.cpp:1134
int cutGetWoodSwd(int)
Definition d_a_npc_taro.cpp:1967
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:1112
int Draw()
Definition d_a_npc_taro.cpp:438
int cutGiveMeWoodSwd(int)
Definition d_a_npc_taro.cpp:1837
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:738
void reset()
Definition d_a_npc_taro.cpp:579
u8 field_0x11a4
Definition d_a_npc_taro.h:178
int cutSwdTutorial(int)
Definition d_a_npc_taro.cpp:1253
int Delete()
Definition d_a_npc_taro.cpp:427
int field_0x11a8
Definition d_a_npc_taro.h:182
int cutArrowTutorial(int)
Definition d_a_npc_taro.cpp:2306
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_taro.cpp:449
void beforeMove()
Definition d_a_npc_taro.cpp:961
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:1169
int nurse(void *)
Definition d_a_npc_taro.cpp:3268
u8 field_0x11a7
Definition d_a_npc_taro.h:181
BOOL checkChangeEvt()
Definition d_a_npc_taro.cpp:703
void setAttnPos()
Definition d_a_npc_taro.cpp:971
int cutAppearanceMoi(int)
Definition d_a_npc_taro.cpp:1699
int cutTagPush4(int)
Definition d_a_npc_taro.cpp:2731
int cutConversationAboutWoodSwd(int)
Definition d_a_npc_taro.cpp:1216
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:2568
u8 field_0x11a0
Definition d_a_npc_taro.h:174
void drawOtherMdl()
Definition d_a_npc_taro.cpp:1082
daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c)
Definition d_a_npc_taro.cpp:1103
actionFunc mAction
Definition d_a_npc_taro.h:170
void setSwingVoice()
Definition d_a_npc_taro.cpp:1151
int talk(void *)
Definition d_a_npc_taro.cpp:3297
BOOL evtEndProc()
Definition d_a_npc_taro.cpp:731
NPC_TARO_HIO_CLASS * mpHIO
Definition d_a_npc_taro.h:164
int cutCacaricoConversation(int)
Definition d_a_npc_taro.cpp:2239
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:221
void afterJntAnm(int)
Definition d_a_npc_taro.cpp:629
void srchActors()
Definition d_a_npc_taro.cpp:769
J3DModel * mModels[2]
Definition d_a_npc_taro.h:165
BOOL isDelete()
Definition d_a_npc_taro.cpp:541
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:3133
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_taro.cpp:453
static void * srchNpc(void *, void *)
Definition d_a_npc_taro.cpp:474
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:901
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
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:172
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:247
u32 mCounter0
Definition c_counter.h:7
Definition d_a_npc.h:843
Definition d_a_npc.h:484
Definition d_a_npc.h:489
Definition d_a_npc.h:504
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