Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_maro.h
Go to the documentation of this file.
1#ifndef D_A_NPC_MARO_H
2#define D_A_NPC_MARO_H
3
5#include "d/actor/d_a_npc.h"
6#include "d/d_shop_system.h"
7
10 /* 0x8C */ s16 tease_interval;
11};
12
14public:
16
17 static const daNpc_Maro_HIOParam m;
18};
19
20#if DEBUG
22public:
26
28
30};
31
32#define NPC_MARO_HIO_CLASS daNpc_Maro_HIO_c
33#else
34#define NPC_MARO_HIO_CLASS daNpc_Maro_Param_c
35#endif
36
46public:
47 typedef int (daNpc_Maro_c::*actionFunc)(void*);
48 typedef int (daNpc_Maro_c::*cutFunc)(int);
49
69
71 int create();
72 int CreateHeap();
73 int Delete();
74 int Execute();
75 int Draw();
76 static int createHeapCallBack(fopAc_ac_c*);
77 static int ctrlJointCallBack(J3DJoint*, int);
78 static void* srchArrow(void*, void*);
80 static void* srchItaMato(void*, void*);
82 u8 getType();
83 int isDelete();
84 void reset();
85 void afterJntAnm(int);
86 void setParam();
89 void setAfterTalkMotion();
90 void srchActors();
91 BOOL evtTalk();
93 void action();
94 void beforeMove();
95 void setAttnPos();
96 void setCollision();
98 void drawOtherMdl();
101 int selectAction();
102 int chkAction(int (daNpc_Maro_c::*)(void*));
103 int setAction(int (daNpc_Maro_c::*)(void*));
106 int cutSwdTutorial(int);
107 int cutHail(int);
108 int cutFindMonkey(int);
109 int cutGiveMeWoodSwd(int);
110 int cutGetWoodSwd(int);
113 int cutSurprise(int);
114 int cutArrowTutorial(int);
115 int cutBokinTalk(int);
116 int cutMarosWhisper(int);
117 int cutTagPush1(int);
118 int cutNotGonnaLet(int);
119 int cutTalkToKakashi(int);
120 int wait(void*);
121 int swdTutorial(void*);
122 int talk_withTaro(void*);
123 int choccai(void*);
124 int tend(void*);
125 int arrowTutorial(void*);
126 int talk(void*);
127 int shop(void*);
128 BOOL test(void*);
130 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
131 daNpcT_motionAnmData_c const* i_motionAnmData,
132 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
133 int i_faceMotionStepNum,
134 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
135 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
136 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
137 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
138 i_arcNames) {
139 OS_REPORT("|%06d:%x|daNpc_Maro_c -> コンストラクト\n", g_Counter.mCounter0, this);
140 }
141 u16 getEyeballMaterialNo() { return 1; }
142 s32 getHeadJointNo() { return 4; }
143 s32 getNeckJointNo() { return 3; }
144 s32 getBackboneJointNo() { return 1; }
145 BOOL checkChangeJoint(int arg0) { return arg0 == 4; };
146 BOOL checkRemoveJoint(int arg0) { return arg0 == 6; };
147
148 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
149
152 if (mMotionSeqMngr.getNo() == 5 || mMotionSeqMngr.getNo() == 6) {
153 return TRUE;
154 }
155 return FALSE;
156 }
157
159 if (checkNowMotionIsChoccai() == TRUE && mMotionSeqMngr.getStepNo() > 0) {
160 return TRUE;
161 }
162 return FALSE;
163 }
164
166
168 void endChoccai() { field_0x1134 = 0; }
169
170 static char* mCutNameList[17];
171 static cutFunc mCutList[17];
172
174 return (fopAcM_GetParam(this) & 0xF0000000) >> 28;
175 }
176
178 return (fopAcM_GetParam(this) & 0xFF00) >> 8;
179 }
180
182 u16 nodeNo = home.angle.x;
183 return (nodeNo == 0xFFFF) ? -1 : nodeNo;
184 }
185
187 return (fopAcM_GetParam(this) & 0xF000000) >> 24;
188 }
189
190private:
191 /* 0x0F7C */ NPC_MARO_HIO_CLASS* mpHIO;
192 /* 0x0F80 */ dCcD_Cyl mCyl1;
193 /* 0x10BC */ int field_0x10bc;
194 /* 0x10C0 */ u8 mType;
198 /* 0x1124 */ u8 field_0x1124[0x1128 - 0x1124];
199 /* 0x1128 */ int field_0x1128;
200 /* 0x112C */ int field_0x112c;
201 /* 0x1130 */ u8 field_0x1130;
202 /* 0x1131 */ u8 field_0x1131;
203 /* 0x1132 */ u8 field_0x1132;
204 /* 0x1134 */ u8 field_0x1133;
205 /* 0x1134 */ u8 field_0x1134;
206 /* 0x1135 */ u8 field_0x1135;
207 /* 0x1136 */ u8 field_0x1136;
208 /* 0x1137 */ u8 field_0x1137;
209 /* 0x1138 */ u8 field_0x1138;
210 /* 0x1139 */ u8 field_0x1139;
211 /* 0x113A */ u8 field_0x113a[0x113C - 0x113A];
212 /* 0x113C */ u8 field_0x113C[0x1140 - 0x113C];
213};
214
215STATIC_ASSERT(sizeof(daNpc_Maro_c) == 0x1140);
216
217#endif /* D_A_NPC_MARO_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:66
Definition JORMContext.h:128
Definition d_cc_d.h:472
Definition d_shop_system.h:11
Definition d_a_npc.h:30
void entry(fopAc_ac_c *)
Definition d_a_npc.cpp:280
void remove()
Definition d_a_npc.cpp:284
int getStepNo()
Definition d_a_npc.h:89
int getNo()
Definition d_a_npc.h:87
daNpcT_ActorMngr_c mPlayerActorMngr
Definition d_a_npc.h:547
daNpcT_MotionSeqMngr_c mMotionSeqMngr
Definition d_a_npc.h:546
Definition d_a_npc_maro.h:21
void genMessage(JORMContext *)
Definition d_a_npc_maro.cpp:106
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_maro.cpp:80
daNpc_Maro_HIO_c()
Definition d_a_npc_maro.cpp:76
daNpc_Maro_HIOParam m
Definition d_a_npc_maro.h:29
Definition d_a_npc_maro.h:13
virtual ~daNpc_Maro_Param_c()
Definition d_a_npc_maro.h:15
static const daNpc_Maro_HIOParam m
Definition d_a_npc_maro.h:24
Malo.
Definition d_a_npc_maro.h:45
void beforeMove()
Definition d_a_npc_maro.cpp:1033
daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c)
Definition d_a_npc_maro.cpp:1138
void setCollision()
Definition d_a_npc_maro.cpp:1071
BOOL drawDbgInfo()
Definition d_a_npc_maro.cpp:1104
int CreateHeap()
Definition d_a_npc_maro.cpp:339
int shop(void *)
Definition d_a_npc_maro.cpp:3432
int create()
Definition d_a_npc_maro.cpp:271
int getFlowNodeNo()
Definition d_a_npc_maro.h:181
dCcD_Cyl mCyl1
Definition d_a_npc_maro.h:192
int field_0x10bc
Definition d_a_npc_maro.h:193
void afterJntAnm(int)
Definition d_a_npc_maro.cpp:653
BOOL checkEndMotionIsChoccai()
Definition d_a_npc_maro.h:158
BOOL test(void *)
Definition d_a_npc_maro.cpp:3469
void findPlayer()
Definition d_a_npc_maro.h:165
BOOL evtCutProc()
Definition d_a_npc_maro.cpp:956
void startChoccai()
Definition d_a_npc_maro.h:167
u8 field_0x1136
Definition d_a_npc_maro.h:207
u8 field_0x1138
Definition d_a_npc_maro.h:209
u8 getPathID()
Definition d_a_npc_maro.h:177
int cutCacaricoConversation(int)
Definition d_a_npc_maro.cpp:1727
int choccai(void *)
Definition d_a_npc_maro.cpp:3218
u8 field_0x1133
Definition d_a_npc_maro.h:204
void srchActors()
Definition d_a_npc_maro.cpp:824
static void * srchArrow(void *, void *)
Definition d_a_npc_maro.cpp:426
int selectAction()
Definition d_a_npc_maro.cpp:1147
int chkAction(int(daNpc_Maro_c::*)(void *))
Definition d_a_npc_maro.cpp:1186
actionFunc field_0x1118
Definition d_a_npc_maro.h:197
int cutConversationAboutPachinko(int)
Definition d_a_npc_maro.cpp:1203
static char * mCutNameList[17]
Definition d_a_npc_maro.h:208
u8 mType
Definition d_a_npc_maro.h:194
int(daNpc_Maro_c::*) cutFunc(int)
Definition d_a_npc_maro.h:48
fopAc_ac_c * getItaMatoP(int)
Definition d_a_npc_maro.cpp:470
BOOL checkNowMotionIsChoccai()
Definition d_a_npc_maro.h:151
int talk_withTaro(void *)
Definition d_a_npc_maro.cpp:3184
s32 getNeckJointNo()
Definition d_a_npc_maro.h:143
BOOL checkChangeEvt()
Definition d_a_npc_maro.cpp:738
void setAttnPos()
Definition d_a_npc_maro.cpp:1043
int cutGiveMeWoodSwd(int)
Definition d_a_npc_maro.cpp:1479
fopAc_ac_c * getArrowP()
Definition d_a_npc_maro.cpp:440
int isDelete()
Definition d_a_npc_maro.cpp:530
int cutGetWoodSwd(int)
Definition d_a_npc_maro.cpp:1550
static cutFunc mCutList[17]
Definition d_a_npc_maro.h:228
BOOL checkChangeJoint(int arg0)
Definition d_a_npc_maro.h:145
int field_0x112c
Definition d_a_npc_maro.h:200
int cutArrowTutorial(int)
Definition d_a_npc_maro.cpp:1825
int field_0x1128
Definition d_a_npc_maro.h:199
void reset()
Definition d_a_npc_maro.cpp:602
int cutBokinTalk(int)
Definition d_a_npc_maro.cpp:2577
int tend(void *)
Definition d_a_npc_maro.cpp:3260
NPC_MARO_HIO_CLASS * mpHIO
Definition d_a_npc_maro.h:191
int cutConversationWithMaro(int)
Definition d_a_npc_maro.cpp:1695
u8 field_0x113a[0x113C - 0x113A]
Definition d_a_npc_maro.h:211
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_maro.cpp:409
s32 getHeadJointNo()
Definition d_a_npc_maro.h:142
s32 getBackboneJointNo()
Definition d_a_npc_maro.h:144
int cutMarosWhisper(int)
Definition d_a_npc_maro.cpp:2609
int swdTutorial(void *)
Definition d_a_npc_maro.cpp:3146
BOOL evtTalk()
Definition d_a_npc_maro.cpp:938
actionFunc field_0x110c
Definition d_a_npc_maro.h:196
int cutTagPush1(int)
Definition d_a_npc_maro.cpp:2693
int cutSurprise(int)
Definition d_a_npc_maro.cpp:1777
int cutConversationAboutWoodSwd(int)
Definition d_a_npc_maro.cpp:1244
u8 field_0x1137
Definition d_a_npc_maro.h:208
int cutHail(int)
Definition d_a_npc_maro.cpp:1348
void endChoccai()
Definition d_a_npc_maro.h:168
int setAction(int(daNpc_Maro_c::*)(void *))
Definition d_a_npc_maro.cpp:1190
u8 field_0x1130
Definition d_a_npc_maro.h:201
int cutNotGonnaLet(int)
Definition d_a_npc_maro.cpp:2739
u8 field_0x1139
Definition d_a_npc_maro.h:210
void action()
Definition d_a_npc_maro.cpp:983
BOOL checkRemoveJoint(int arg0)
Definition d_a_npc_maro.h:146
~daNpc_Maro_c()
Definition d_a_npc_maro.cpp:250
u8 getBitSW()
Definition d_a_npc_maro.h:148
u8 field_0x1135
Definition d_a_npc_maro.h:206
int Delete()
Definition d_a_npc_maro.cpp:375
int arrowTutorial(void *)
Definition d_a_npc_maro.cpp:3316
u8 getGroupId()
Definition d_a_npc_maro.h:173
void setParam()
Definition d_a_npc_maro.cpp:663
int Draw()
Definition d_a_npc_maro.cpp:401
int cutTalkToKakashi(int)
Definition d_a_npc_maro.cpp:2873
static void * srchItaMato(void *, void *)
Definition d_a_npc_maro.cpp:456
daNpcT_ActorMngr_c mActorMngr[9]
Definition d_a_npc_maro.h:195
u8 field_0x1124[0x1128 - 0x1124]
Definition d_a_npc_maro.h:198
u8 field_0x113C[0x1140 - 0x113C]
Definition d_a_npc_maro.h:212
void drawOtherMdl()
Definition d_a_npc_maro.cpp:1119
u8 field_0x1132
Definition d_a_npc_maro.h:203
BOOL evtEndProc()
Definition d_a_npc_maro.cpp:800
u8 getType()
Definition d_a_npc_maro.cpp:490
u8 field_0x1134
Definition d_a_npc_maro.h:205
void setAfterTalkMotion()
Definition d_a_npc_maro.cpp:808
int Execute()
Definition d_a_npc_maro.cpp:382
u16 getEyeballMaterialNo()
Definition d_a_npc_maro.h:141
u8 getMaxNumItem()
Definition d_a_npc_maro.h:186
daNpc_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_maro.h:129
int cutFindMonkey(int)
Definition d_a_npc_maro.cpp:1387
int cutSwdTutorial(int)
Definition d_a_npc_maro.cpp:1290
void lostPlayer()
Definition d_a_npc_maro.h:150
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_maro.cpp:414
int(daNpc_Maro_c::*) actionFunc(void *)
Definition d_a_npc_maro.h:47
int wait(void *)
Definition d_a_npc_maro.cpp:2942
daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c)
Definition d_a_npc_maro.cpp:1129
Type
Definition d_a_npc_maro.h:50
@ TYPE_9
Definition d_a_npc_maro.h:60
@ TYPE_5
Definition d_a_npc_maro.h:56
@ TYPE_13
Definition d_a_npc_maro.h:64
@ TYPE_1
Definition d_a_npc_maro.h:52
@ TYPE_7
Definition d_a_npc_maro.h:58
@ TYPE_14
Definition d_a_npc_maro.h:65
@ TYPE_8
Definition d_a_npc_maro.h:59
@ TYPE_2
Definition d_a_npc_maro.h:53
@ TYPE_15
Definition d_a_npc_maro.h:66
@ TYPE_10
Definition d_a_npc_maro.h:61
@ TYPE_11
Definition d_a_npc_maro.h:62
@ TYPE_0
Definition d_a_npc_maro.h:51
@ TYPE_4
Definition d_a_npc_maro.h:55
@ TYPE_16
Definition d_a_npc_maro.h:67
@ TYPE_3
Definition d_a_npc_maro.h:54
@ TYPE_6
Definition d_a_npc_maro.h:57
@ TYPE_12
Definition d_a_npc_maro.h:63
int talk(void *)
Definition d_a_npc_maro.cpp:3382
u8 field_0x1131
Definition d_a_npc_maro.h:202
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_Maro_c)==0x1140)
daPy_py_c * daPy_getPlayerActorClass()
Definition d_a_player.h:1258
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
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_maro.h:8
daNpcT_HIOParam common
Definition d_a_npc_maro.h:9
s16 tease_interval
Definition d_a_npc_maro.h:10