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
17public:
18 typedef int (daNpc_Maro_c::*actionFunc)(void*);
19 typedef int (daNpc_Maro_c::*cutFunc)(int);
20
40
42 int create();
43 int CreateHeap();
44 int Delete();
45 int Execute();
46 int Draw();
47 static int createHeapCallBack(fopAc_ac_c*);
48 static int ctrlJointCallBack(J3DJoint*, int);
49 static void* srchArrow(void*, void*);
51 static void* srchItaMato(void*, void*);
53 u8 getType();
54 int isDelete();
55 void reset();
56 void afterJntAnm(int);
57 void setParam();
60 void setAfterTalkMotion();
61 void srchActors();
62 BOOL evtTalk();
64 void action();
65 void beforeMove();
66 void setAttnPos();
67 void setCollision();
69 void drawOtherMdl();
72 int selectAction();
73 int chkAction(int (daNpc_Maro_c::*)(void*));
74 int setAction(int (daNpc_Maro_c::*)(void*));
77 int cutSwdTutorial(int);
78 int cutHail(int);
79 int cutFindMonkey(int);
80 int cutGiveMeWoodSwd(int);
81 int cutGetWoodSwd(int);
84 int cutSurprise(int);
85 int cutArrowTutorial(int);
86 int cutBokinTalk(int);
87 int cutMarosWhisper(int);
88 int cutTagPush1(int);
89 int cutNotGonnaLet(int);
90 int cutTalkToKakashi(int);
91 int wait(void*);
92 int swdTutorial(void*);
93 int talk_withTaro(void*);
94 int choccai(void*);
95 int tend(void*);
96 int arrowTutorial(void*);
97 int talk(void*);
98 int shop(void*);
100 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
101 daNpcT_motionAnmData_c const* i_motionAnmData,
102 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
103 int i_faceMotionStepNum,
104 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
105 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
106 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
107 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
108 i_arcNames) {
109 OS_REPORT("|%06d:%x|daNpc_Maro_c -> コンストラクト\n", g_Counter.mCounter0, this);
110 }
111 u16 getEyeballMaterialNo() { return 1; }
112 s32 getHeadJointNo() { return 4; }
113 s32 getNeckJointNo() { return 3; }
114 s32 getBackboneJointNo() { return 1; }
115 BOOL checkChangeJoint(int arg0) { return arg0 == 4; };
116 BOOL checkRemoveJoint(int arg0) { return arg0 == 6; };
117
118 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
119
122 if (mMotionSeqMngr.getNo() == 5 || mMotionSeqMngr.getNo() == 6) {
123 return TRUE;
124 }
125 return FALSE;
126 }
127
129 if (checkNowMotionIsChoccai() == TRUE && mMotionSeqMngr.getStepNo() > 0) {
130 return TRUE;
131 }
132 return FALSE;
133 }
134
136
138 void endChoccai() { field_0x1134 = 0; }
139
140 static char* mCutNameList[17];
141 static cutFunc mCutList[17];
142
144 u16 nodeNo = home.angle.x;
145 if (nodeNo == 0xffff) {
146 return -1;
147 }
148 return nodeNo;
149 }
150
152 return (fopAcM_GetParam(this) & 0xf000000) >> 0x18;
153 }
154
155private:
156 /* 0x0F7C */ int field_0xf7c;
157 /* 0x0F80 */ dCcD_Cyl mCyl1;
158 /* 0x10BC */ int field_0x10bc;
159 /* 0x10C0 */ u8 mType;
163 /* 0x1124 */ u8 field_0x1124[0x1128 - 0x1124];
164 /* 0x1128 */ int field_0x1128;
165 /* 0x112C */ int field_0x112c;
166 /* 0x1130 */ u8 field_0x1130;
167 /* 0x1131 */ u8 field_0x1131;
168 /* 0x1132 */ u8 field_0x1132;
169 /* 0x1134 */ u8 field_0x1133;
170 /* 0x1134 */ u8 field_0x1134;
171 /* 0x1135 */ u8 field_0x1135;
172 /* 0x1136 */ u8 field_0x1136;
173 /* 0x1137 */ u8 field_0x1137;
174 /* 0x1138 */ u8 field_0x1138;
175 /* 0x1139 */ u8 field_0x1139;
176 /* 0x113A */ u8 field_0x113a[0x113C - 0x113A];
177 /* 0x113C */ u8 field_0x113C[0x1140 - 0x113C];
178};
179
180STATIC_ASSERT(sizeof(daNpc_Maro_c) == 0x1140);
181
184 /* 0x8C */ u32 field_0x8c;
185};
186
188public:
190
191 static const daNpc_Maro_HIOParam m;
192};
193
194
195#endif /* D_A_NPC_MARO_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:63
Definition d_cc_d.h:461
Definition d_shop_system.h:11
Definition d_a_npc.h:30
void entry(fopAc_ac_c *)
Definition d_a_npc.cpp:290
void remove()
Definition d_a_npc.cpp:294
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:187
virtual ~daNpc_Maro_Param_c()
Definition d_a_npc_maro.h:189
static const daNpc_Maro_HIOParam m
Definition d_a_npc_maro.h:171
Malo.
Definition d_a_npc_maro.h:16
void beforeMove()
Definition d_a_npc_maro.cpp:958
daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c)
Definition d_a_npc_maro.cpp:1051
void setCollision()
Definition d_a_npc_maro.cpp:996
BOOL drawDbgInfo()
Definition d_a_npc_maro.cpp:1028
int CreateHeap()
Definition d_a_npc_maro.cpp:273
int shop(void *)
Definition d_a_npc_maro.cpp:3327
int create()
Definition d_a_npc_maro.cpp:216
int getFlowNodeNo()
Definition d_a_npc_maro.h:143
dCcD_Cyl mCyl1
Definition d_a_npc_maro.h:157
int field_0x10bc
Definition d_a_npc_maro.h:158
void afterJntAnm(int)
Definition d_a_npc_maro.cpp:578
BOOL checkEndMotionIsChoccai()
Definition d_a_npc_maro.h:128
void findPlayer()
Definition d_a_npc_maro.h:135
BOOL evtCutProc()
Definition d_a_npc_maro.cpp:881
void startChoccai()
Definition d_a_npc_maro.h:137
u8 field_0x1136
Definition d_a_npc_maro.h:172
u8 field_0x1138
Definition d_a_npc_maro.h:174
int cutCacaricoConversation(int)
Definition d_a_npc_maro.cpp:1626
int choccai(void *)
Definition d_a_npc_maro.cpp:3113
u8 field_0x1133
Definition d_a_npc_maro.h:169
void srchActors()
Definition d_a_npc_maro.cpp:749
static void * srchArrow(void *, void *)
Definition d_a_npc_maro.cpp:360
int selectAction()
Definition d_a_npc_maro.cpp:1060
int chkAction(int(daNpc_Maro_c::*)(void *))
Definition d_a_npc_maro.cpp:1092
actionFunc field_0x1118
Definition d_a_npc_maro.h:162
int cutConversationAboutPachinko(int)
Definition d_a_npc_maro.cpp:1109
static char * mCutNameList[17]
Definition d_a_npc_maro.h:118
u8 mType
Definition d_a_npc_maro.h:159
int(daNpc_Maro_c::*) cutFunc(int)
Definition d_a_npc_maro.h:19
fopAc_ac_c * getItaMatoP(int)
Definition d_a_npc_maro.cpp:397
BOOL checkNowMotionIsChoccai()
Definition d_a_npc_maro.h:121
int talk_withTaro(void *)
Definition d_a_npc_maro.cpp:3079
s32 getNeckJointNo()
Definition d_a_npc_maro.h:113
BOOL checkChangeEvt()
Definition d_a_npc_maro.cpp:663
void setAttnPos()
Definition d_a_npc_maro.cpp:968
int cutGiveMeWoodSwd(int)
Definition d_a_npc_maro.cpp:1385
fopAc_ac_c * getArrowP()
Definition d_a_npc_maro.cpp:370
int isDelete()
Definition d_a_npc_maro.cpp:457
int cutGetWoodSwd(int)
Definition d_a_npc_maro.cpp:1456
static cutFunc mCutList[17]
Definition d_a_npc_maro.h:138
BOOL checkChangeJoint(int arg0)
Definition d_a_npc_maro.h:115
int field_0xf7c
Definition d_a_npc_maro.h:156
int field_0x112c
Definition d_a_npc_maro.h:165
int cutArrowTutorial(int)
Definition d_a_npc_maro.cpp:1728
int field_0x1128
Definition d_a_npc_maro.h:164
void reset()
Definition d_a_npc_maro.cpp:529
int cutBokinTalk(int)
Definition d_a_npc_maro.cpp:2480
int tend(void *)
Definition d_a_npc_maro.cpp:3155
int cutConversationWithMaro(int)
Definition d_a_npc_maro.cpp:1601
u8 field_0x113a[0x113C - 0x113A]
Definition d_a_npc_maro.h:176
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_maro.cpp:344
s32 getHeadJointNo()
Definition d_a_npc_maro.h:112
s32 getBackboneJointNo()
Definition d_a_npc_maro.h:114
int cutMarosWhisper(int)
Definition d_a_npc_maro.cpp:2512
int swdTutorial(void *)
Definition d_a_npc_maro.cpp:3041
BOOL evtTalk()
Definition d_a_npc_maro.cpp:863
actionFunc field_0x110c
Definition d_a_npc_maro.h:161
int cutTagPush1(int)
Definition d_a_npc_maro.cpp:2596
int cutSurprise(int)
Definition d_a_npc_maro.cpp:1675
int cutConversationAboutWoodSwd(int)
Definition d_a_npc_maro.cpp:1150
u8 field_0x1137
Definition d_a_npc_maro.h:173
int cutHail(int)
Definition d_a_npc_maro.cpp:1254
void endChoccai()
Definition d_a_npc_maro.h:138
int setAction(int(daNpc_Maro_c::*)(void *))
Definition d_a_npc_maro.cpp:1096
u8 field_0x1130
Definition d_a_npc_maro.h:166
int cutNotGonnaLet(int)
Definition d_a_npc_maro.cpp:2634
u8 field_0x1139
Definition d_a_npc_maro.h:175
void action()
Definition d_a_npc_maro.cpp:908
BOOL checkRemoveJoint(int arg0)
Definition d_a_npc_maro.h:116
~daNpc_Maro_c()
Definition d_a_npc_maro.cpp:158
u8 getBitSW()
Definition d_a_npc_maro.h:118
u8 field_0x1135
Definition d_a_npc_maro.h:171
int Delete()
Definition d_a_npc_maro.cpp:311
int arrowTutorial(void *)
Definition d_a_npc_maro.cpp:3211
void setParam()
Definition d_a_npc_maro.cpp:588
int Draw()
Definition d_a_npc_maro.cpp:336
int cutTalkToKakashi(int)
Definition d_a_npc_maro.cpp:2768
static void * srchItaMato(void *, void *)
Definition d_a_npc_maro.cpp:386
daNpcT_ActorMngr_c mActorMngr[9]
Definition d_a_npc_maro.h:160
u8 field_0x1124[0x1128 - 0x1124]
Definition d_a_npc_maro.h:163
u8 field_0x113C[0x1140 - 0x113C]
Definition d_a_npc_maro.h:177
void drawOtherMdl()
Definition d_a_npc_maro.cpp:1032
u8 field_0x1132
Definition d_a_npc_maro.h:168
BOOL evtEndProc()
Definition d_a_npc_maro.cpp:725
u8 getType()
Definition d_a_npc_maro.cpp:417
u8 field_0x1134
Definition d_a_npc_maro.h:170
void setAfterTalkMotion()
Definition d_a_npc_maro.cpp:733
int Execute()
Definition d_a_npc_maro.cpp:317
u16 getEyeballMaterialNo()
Definition d_a_npc_maro.h:111
u8 getMaxNumItem()
Definition d_a_npc_maro.h:151
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:99
int cutFindMonkey(int)
Definition d_a_npc_maro.cpp:1293
int cutSwdTutorial(int)
Definition d_a_npc_maro.cpp:1196
void lostPlayer()
Definition d_a_npc_maro.h:120
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_maro.cpp:348
int(daNpc_Maro_c::*) actionFunc(void *)
Definition d_a_npc_maro.h:18
int wait(void *)
Definition d_a_npc_maro.cpp:2837
daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c)
Definition d_a_npc_maro.cpp:1042
Type
Definition d_a_npc_maro.h:21
@ TYPE_9
Definition d_a_npc_maro.h:31
@ TYPE_5
Definition d_a_npc_maro.h:27
@ TYPE_13
Definition d_a_npc_maro.h:35
@ TYPE_1
Definition d_a_npc_maro.h:23
@ TYPE_7
Definition d_a_npc_maro.h:29
@ TYPE_14
Definition d_a_npc_maro.h:36
@ TYPE_8
Definition d_a_npc_maro.h:30
@ TYPE_2
Definition d_a_npc_maro.h:24
@ TYPE_15
Definition d_a_npc_maro.h:37
@ TYPE_10
Definition d_a_npc_maro.h:32
@ TYPE_11
Definition d_a_npc_maro.h:33
@ TYPE_0
Definition d_a_npc_maro.h:22
@ TYPE_4
Definition d_a_npc_maro.h:26
@ TYPE_16
Definition d_a_npc_maro.h:38
@ TYPE_3
Definition d_a_npc_maro.h:25
@ TYPE_6
Definition d_a_npc_maro.h:28
@ TYPE_12
Definition d_a_npc_maro.h:34
int talk(void *)
Definition d_a_npc_maro.cpp:3277
u8 field_0x1131
Definition d_a_npc_maro.h:167
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
STATIC_ASSERT(sizeof(daNpc_Maro_c)==0x1140)
daPy_py_c * daPy_getPlayerActorClass()
Definition d_a_player.h:1260
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
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_maro.h:182
daNpcT_HIOParam common
Definition d_a_npc_maro.h:183
u32 field_0x8c
Definition d_a_npc_maro.h:184