Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_pachi_maro.h
Go to the documentation of this file.
1#ifndef D_A_NPC_PACHI_MARO_H
2#define D_A_NPC_PACHI_MARO_H
3
4#include "d/actor/d_a_npc.h"
5
19
21public:
23
24 static daNpc_Pachi_Maro_HIOParam const m;
25};
26
27#if DEBUG
36#define NPC_PACHI_MARO_HIO_CLASS daNpc_Pachi_Maro_HIO_c
37#else
38#define NPC_PACHI_MARO_HIO_CLASS daNpc_Pachi_Maro_Param_c
39#endif
40
42public:
43 enum Material {
44 /* 0x0 */ MAT_SC_EYE,
46 /* 0x2 */ MAT_MARO_FACE_M,
47 /* 0x3 */ MAT_MARO_M,
48 };
49
50 enum Joint {
51 /* 0x00 */ JNT_CENTER,
52 /* 0x01 */ JNT_BACKBONE1,
53 /* 0x02 */ JNT_BACKBONE2,
54 /* 0x03 */ JNT_NECK,
55 /* 0x04 */ JNT_HEAD,
56 /* 0x05 */ JNT_CHIN,
57 /* 0x06 */ JNT_MOUTH,
58 /* 0x07 */ JNT_SHOULDERL,
59 /* 0x08 */ JNT_ARML1,
60 /* 0x09 */ JNT_ARML2,
61 /* 0x0A */ JNT_HANDL,
62 /* 0x0B */ JNT_FINGERL,
63 /* 0x0C */ JNT_SHOULDERR,
64 /* 0x0D */ JNT_ARMR1,
65 /* 0x0E */ JNT_ARMR2,
66 /* 0x0F */ JNT_HANDR,
67 /* 0x10 */ JNT_FINGERR,
68 /* 0x11 */ JNT_WAIST,
69 /* 0x12 */ JNT_LEGL1,
70 /* 0x13 */ JNT_LEGL2,
71 /* 0x14 */ JNT_FOOTL,
72 /* 0x15 */ JNT_LEGR1,
73 /* 0x16 */ JNT_FOOTR,
74 };
75
76 typedef int (daNpc_Pachi_Maro_c::*actionFunc)(void*);
77 typedef int (daNpc_Pachi_Maro_c::*cutFunc)(int);
78
81 int CreateHeap();
82 int Delete();
83 int Execute();
84 int Draw();
85 static int createHeapCallBack(fopAc_ac_c*);
86 static int ctrlJointCallBack(J3DJoint*, int);
87 u8 getType();
88 BOOL isDelete();
89 void reset();
90 void afterJntAnm(int);
91 void setParam();
93 void setAfterTalkMotion();
94 void srchActors();
95 BOOL evtTalk();
97 void action();
98 void beforeMove();
99 void afterMoved();
100 void setAttnPos();
101 void setCollision();
102 int drawDbgInfo();
108 int wait(void*);
109 int talk(void*);
110 int test(void*);
112 BOOL _turn_pos(cXyz const&);
113 BOOL _turn_pos(cXyz const&, s16);
115 BOOL _cutTutrialBegin_Init(int const&);
116 BOOL _cutTutrialBegin_Main(int const&);
121 BOOL _cutTutrialClear_Init(int const&);
122 BOOL _cutTutrialClear_Main(int const&);
123 BOOL cutTalk(int);
124 BOOL _cutTalk_Init(int const&);
125 BOOL _cutTalk_Main(int const&);
126 BOOL cutTalk2(int);
127 BOOL _cutTalk2_Init(int const&);
128 BOOL _cutTalk2_Main(int const&);
136 BOOL _cutTutrialGiveUp_Init(int const&);
137 BOOL _cutTutrialGiveUp_Main(int const&);
139 BOOL _cutTutrialContinue_Init(int const&);
140 BOOL _cutTutrialContinue_Main(int const&);
142 BOOL _cutTutrialCaution_Init(int const&);
143 BOOL _cutTutrialCaution_Main(int const&);
145 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
146 daNpcT_motionAnmData_c const* i_motionAnmData,
147 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
148 int i_faceMotionStepNum,
149 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
150 int i_motionStepNum,
151 daNpcT_evtData_c const* i_evtData,
152 char** i_arcNames)
153 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
154 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
155 i_arcNames) {
156 OS_REPORT("|%06d:%x|daNpc_Pachi_Maro_c -> コンストラクト\n", g_Counter.mCounter0, this);
157 }
162 BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; }
163 BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; }
164
166 u16 nodeNo = home.angle.x;
167 u32 rv;
168 if (nodeNo == 0xffff) {
169 rv = -1;
170 } else {
171 rv = nodeNo;
172 }
173 return rv;
174 }
175 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
176 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
177 u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
178 u8 getGroupId() { return (fopAcM_GetParam(this) & 0xF0000000) >> 28; }
179
180 void talkOff() { mTalk = 0; }
181 void setTagPos(cXyz const& i_pos) { mTagPos = i_pos; }
182 void setLookPos(cXyz const& i_pos) { mLookPos = i_pos; }
183 void setFMotion_None() { mFMotion = 0; }
186
187 static char* mCutNameList[11];
188 static cutFunc mCutList[11];
189
190private:
191 /* 0xE40 */ NPC_PACHI_MARO_HIO_CLASS* mpHIO;
192 /* 0xE44 */ dCcD_Cyl mCyl;
193 /* 0xF80 */ u8 mType;
194 /* 0xF82 */ u16 mPrevEvtNo;
195 /* 0xF84 */ u8 mTalk;
196 /* 0xF85 */ u8 field_0xf85;
197 /* 0xF86 */ u8 mFMotion;
198 /* 0xF88 */ cXyz mTagPos;
199 /* 0xF94 */ cXyz mLookPos;
202 /* 0xFBC */ actionFunc mAction;
203 /* 0xFC8 */ u8 field_0xfc8;
204};
205
207
208#endif /* D_A_NPC_PACHI_MARO_H */
counter_class g_Counter
Definition c_counter.cpp:8
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition JORMContext.h:120
Definition d_cc_d.h:461
Definition d_a_npc.h:30
Definition d_a_npc.h:516
Definition d_a_npc_pachi_maro.h:28
daNpc_Pachi_Maro_HIOParam m
Definition d_a_npc_pachi_maro.h:34
daNpc_Pachi_Maro_HIO_c()
Definition d_a_npc_pachi_maro.cpp:335
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_pachi_maro.cpp:337
void genMessage(JORMContext *)
Definition d_a_npc_pachi_maro.cpp:360
Definition d_a_npc_pachi_maro.h:20
virtual ~daNpc_Pachi_Maro_Param_c()
Definition d_a_npc_pachi_maro.h:22
static daNpc_Pachi_Maro_HIOParam const m
Definition d_a_npc_pachi_maro.h:508
Malo (Slingshot Tutorial)
Definition d_a_npc_pachi_maro.h:41
void setLookPos(cXyz const &i_pos)
Definition d_a_npc_pachi_maro.h:182
BOOL isDelete()
Definition d_a_npc_pachi_maro.cpp:709
BOOL _cutTalk2_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1384
BOOL cutTutrialGiveUp(int)
Definition d_a_npc_pachi_maro.cpp:1507
BOOL _cutTutrialContinue_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1573
s32 getBackboneJointNo()
Definition d_a_npc_pachi_maro.h:161
BOOL _cutTutrialBegin_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1213
actionFunc mNextAction
Definition d_a_npc_pachi_maro.h:201
u16 getEyeballMaterialNo()
Definition d_a_npc_pachi_maro.h:158
void setFMotion_Niramu_to_Besu()
Definition d_a_npc_pachi_maro.h:184
u8 getGroupId()
Definition d_a_npc_pachi_maro.h:178
BOOL _cutTutrialCaution_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1608
BOOL cutTutrialBegin(int)
Definition d_a_npc_pachi_maro.cpp:1190
int wait(void *)
Definition d_a_npc_pachi_maro.cpp:1057
int talk(void *)
Definition d_a_npc_pachi_maro.cpp:1119
void setFMotion_LookNone()
Definition d_a_npc_pachi_maro.h:185
BOOL cutTutrialClear(int)
Definition d_a_npc_pachi_maro.cpp:1254
void setCollision()
Definition d_a_npc_pachi_maro.cpp:949
u8 getBitSW()
Definition d_a_npc_pachi_maro.h:176
BOOL _cutTutrialSelectGiveUp_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1472
u8 mType
Definition d_a_npc_pachi_maro.h:193
u8 getType()
Definition d_a_npc_pachi_maro.cpp:697
u8 field_0xfc8
Definition d_a_npc_pachi_maro.h:203
BOOL cutTutrialSelectGiveUp(int)
Definition d_a_npc_pachi_maro.cpp:1456
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_pachi_maro.h:162
NPC_PACHI_MARO_HIO_CLASS * mpHIO
Definition d_a_npc_pachi_maro.h:191
Joint
Definition d_a_npc_pachi_maro.h:50
@ JNT_NECK
Definition d_a_npc_pachi_maro.h:54
@ JNT_HANDR
Definition d_a_npc_pachi_maro.h:66
@ JNT_ARML2
Definition d_a_npc_pachi_maro.h:60
@ JNT_SHOULDERR
Definition d_a_npc_pachi_maro.h:63
@ JNT_FINGERR
Definition d_a_npc_pachi_maro.h:67
@ JNT_MOUTH
Definition d_a_npc_pachi_maro.h:57
@ JNT_SHOULDERL
Definition d_a_npc_pachi_maro.h:58
@ JNT_ARMR2
Definition d_a_npc_pachi_maro.h:65
@ JNT_CENTER
Definition d_a_npc_pachi_maro.h:51
@ JNT_BACKBONE2
Definition d_a_npc_pachi_maro.h:53
@ JNT_ARMR1
Definition d_a_npc_pachi_maro.h:64
@ JNT_FOOTL
Definition d_a_npc_pachi_maro.h:71
@ JNT_WAIST
Definition d_a_npc_pachi_maro.h:68
@ JNT_HEAD
Definition d_a_npc_pachi_maro.h:55
@ JNT_ARML1
Definition d_a_npc_pachi_maro.h:59
@ JNT_LEGR1
Definition d_a_npc_pachi_maro.h:72
@ JNT_LEGL1
Definition d_a_npc_pachi_maro.h:69
@ JNT_FOOTR
Definition d_a_npc_pachi_maro.h:73
@ JNT_LEGL2
Definition d_a_npc_pachi_maro.h:70
@ JNT_CHIN
Definition d_a_npc_pachi_maro.h:56
@ JNT_FINGERL
Definition d_a_npc_pachi_maro.h:62
@ JNT_BACKBONE1
Definition d_a_npc_pachi_maro.h:52
@ JNT_HANDL
Definition d_a_npc_pachi_maro.h:61
s32 getHeadJointNo()
Definition d_a_npc_pachi_maro.h:159
void srchActors()
Definition d_a_npc_pachi_maro.cpp:812
BOOL _cutTalk_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1339
u8 getPathID()
Definition d_a_npc_pachi_maro.h:175
BOOL _cut1stHit_KakasiBody_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1417
BOOL _cutTutrialBegin_Skip_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1245
daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c)
Definition d_a_npc_pachi_maro.cpp:1004
cXyz mTagPos
Definition d_a_npc_pachi_maro.h:198
void reset()
Definition d_a_npc_pachi_maro.cpp:719
daNpcT_ActorMngr_c mActorMngrs[2]
Definition d_a_npc_pachi_maro.h:200
BOOL _turn_to_link(s16)
Definition d_a_npc_pachi_maro.cpp:1167
u32 getFlowNodeNo()
Definition d_a_npc_pachi_maro.h:165
int Delete()
Definition d_a_npc_pachi_maro.cpp:652
cXyz mLookPos
Definition d_a_npc_pachi_maro.h:199
cPhs__Step create()
Definition d_a_npc_pachi_maro.cpp:553
~daNpc_Pachi_Maro_c()
Definition d_a_npc_pachi_maro.cpp:492
int CreateHeap()
Definition d_a_npc_pachi_maro.cpp:615
BOOL cutTutrialCaution(int)
Definition d_a_npc_pachi_maro.cpp:1592
BOOL _cutTutrialBegin_Skip_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1238
dCcD_Cyl mCyl
Definition d_a_npc_pachi_maro.h:192
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_pachi_maro.cpp:685
void setAfterTalkMotion()
Definition d_a_npc_pachi_maro.cpp:793
daNpc_Pachi_Maro_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_pachi_maro.h:144
void setTagPos(cXyz const &i_pos)
Definition d_a_npc_pachi_maro.h:181
static char * mCutNameList[11]
Definition d_a_npc_pachi_maro.h:462
BOOL cutTutrialBegin_Skip(int)
Definition d_a_npc_pachi_maro.cpp:1222
BOOL _cut1stHit_KakasiBody_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1433
void action()
Definition d_a_npc_pachi_maro.cpp:863
void talkOff()
Definition d_a_npc_pachi_maro.h:180
u16 mPrevEvtNo
Definition d_a_npc_pachi_maro.h:194
BOOL _cutTalk2_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1372
BOOL cut1stHit_KakasiBody(int)
Definition d_a_npc_pachi_maro.cpp:1401
s32 getNeckJointNo()
Definition d_a_npc_pachi_maro.h:160
u8 mFMotion
Definition d_a_npc_pachi_maro.h:197
void setAttnPos()
Definition d_a_npc_pachi_maro.cpp:919
BOOL cutTalk2(int)
Definition d_a_npc_pachi_maro.cpp:1356
static cutFunc mCutList[11]
Definition d_a_npc_pachi_maro.h:476
BOOL chkAction(actionFunc)
Definition d_a_npc_pachi_maro.cpp:1036
BOOL cutTalk(int)
Definition d_a_npc_pachi_maro.cpp:1311
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_pachi_maro.cpp:680
BOOL selectAction()
Definition d_a_npc_pachi_maro.cpp:1013
BOOL _cutTutrialBegin_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1206
void afterJntAnm(int)
Definition d_a_npc_pachi_maro.cpp:745
BOOL _cutTutrialClear_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1288
void beforeMove()
Definition d_a_npc_pachi_maro.cpp:891
BOOL setAction(actionFunc)
Definition d_a_npc_pachi_maro.cpp:1040
BOOL _cutTutrialCaution_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1620
Material
Definition d_a_npc_pachi_maro.h:43
@ MAT_MARO_FACE_M
Definition d_a_npc_pachi_maro.h:46
@ MAT_MARO_M
Definition d_a_npc_pachi_maro.h:47
@ MAT_SC_EYE
Definition d_a_npc_pachi_maro.h:44
@ MAT_MARO_EYBALL_M
Definition d_a_npc_pachi_maro.h:45
u8 field_0xf85
Definition d_a_npc_pachi_maro.h:196
BOOL _cutTutrialContinue_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1580
int(daNpc_Pachi_Maro_c::*) actionFunc(void *)
Definition d_a_npc_pachi_maro.h:76
int Draw()
Definition d_a_npc_pachi_maro.cpp:663
void setFMotion_None()
Definition d_a_npc_pachi_maro.h:183
daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c)
Definition d_a_npc_pachi_maro.cpp:995
BOOL checkChangeEvt()
Definition d_a_npc_pachi_maro.cpp:781
void afterMoved()
Definition d_a_npc_pachi_maro.cpp:897
BOOL evtCutProc()
Definition d_a_npc_pachi_maro.cpp:847
BOOL _cutTutrialSelectGiveUp_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1485
BOOL _turn_pos(cXyz const &)
Definition d_a_npc_pachi_maro.cpp:1181
u8 mTalk
Definition d_a_npc_pachi_maro.h:195
BOOL cutTutrialContinue(int)
Definition d_a_npc_pachi_maro.cpp:1557
BOOL _cutTutrialClear_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1270
int(daNpc_Pachi_Maro_c::*) cutFunc(int)
Definition d_a_npc_pachi_maro.h:77
BOOL evtTalk()
Definition d_a_npc_pachi_maro.cpp:826
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_pachi_maro.h:163
BOOL _cutTalk_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1327
int drawDbgInfo()
Definition d_a_npc_pachi_maro.cpp:980
BOOL _cutTutrialGiveUp_Main(int const &)
Definition d_a_npc_pachi_maro.cpp:1538
int Execute()
Definition d_a_npc_pachi_maro.cpp:659
int test(void *)
Definition d_a_npc_pachi_maro.cpp:1145
void setParam()
Definition d_a_npc_pachi_maro.cpp:755
actionFunc mAction
Definition d_a_npc_pachi_maro.h:202
BOOL _cutTutrialGiveUp_Init(int const &)
Definition d_a_npc_pachi_maro.cpp:1523
u8 getMaxNumItem()
Definition d_a_npc_pachi_maro.h:177
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_Pachi_Maro_c)==0xfcc)
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
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
Definition c_xyz.h:7
u32 mCounter0
Definition c_counter.h:7
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_pachi_maro.h:15
daNpcT_HIOParam common
Definition d_a_npc_pachi_maro.h:16
s16 field_0x8c
Definition d_a_npc_pachi_maro.h:17