Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_clerkt.h
Go to the documentation of this file.
1#ifndef D_A_NPC_CLERKT_H
2#define D_A_NPC_CLERKT_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_shop_system.h"
6
10
12public:
14
15 static const daNpcClerkt_HIOParam m;
16};
17
18#if DEBUG
20public:
22
23 void listenPropertyEvent(const JORPropertyEvent*);
24 void genMessage(JORMContext*);
25
27};
28
29#define NPC_CLERKT_HIO_CLASS daNpcClerkt_HIO_c
30#else
31#define NPC_CLERKT_HIO_CLASS daNpcClerkt_Param_c
32#endif
33
43public:
44 typedef int (daNpcClerkT_c::*cutFunc)(int);
45 typedef int (daNpcClerkT_c::*actionFunc)(void*);
46
47 enum Type {
50 };
51
53 /* 0x01 */ FACE_MOT_UNK_1 = 1,
54 };
55
56 enum Motion {
57 /* 0x0 */ MOT_UNK_0,
58 };
59
61 int create();
62 int CreateHeap();
63 int Delete();
64 int Execute();
65 int Draw();
66 static int createHeapCallBack(fopAc_ac_c*);
67 static int ctrlJointCallBack(J3DJoint*, int);
68 int isDelete();
69 void reset();
70 void afterJntAnm(int);
71 BOOL evtTalk();
72 BOOL evtCutProc();
73 void action();
74 int drawDbgInfo();
75 void drawOtherMdl();
76 int selectAction();
77 int chkAction(int (daNpcClerkT_c::*)(void*));
78 int setAction(int (daNpcClerkT_c::*)(void*));
79 int wait(void*);
80 int tend(void*);
81 int talk(void*);
82 int shop(void*);
83 inline void setParam();
84 inline void setAfterTalkMotion();
85 inline void beforeMove();
86 inline void setAttnPos();
87 inline void setCollision();
89 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
90 daNpcT_motionAnmData_c const* i_motionAnmData,
91 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
92 int i_faceMotionStepNum,
93 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
94 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
95 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
96 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
97 i_arcNames) {}
98 u16 getEyeballMaterialNo() { return 2; }
99 BOOL checkChangeJoint(int i_joint) { return i_joint == 17; }
100 BOOL checkRemoveJoint(int i_joint) { return i_joint == 19; }
101 s32 getBackboneJointNo() { return 15; }
102 s32 getNeckJointNo() { return 16; }
103 s32 getHeadJointNo() { return 17; }
104
106 u16 nodeNo = home.angle.x;
107 u32 rv;
108 if (nodeNo == 0xffff) {
109 rv = -1;
110 } else {
111 rv = nodeNo;
112 }
113 return rv;
114 }
115
116 u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
117
118 void srchActors() {
119 switch (mType) {
120 case TYPE_SHOP:
121 if (mActorMngr[0].getActorP() == NULL) {
123 }
124 break;
125 }
126 }
127
128 static char* mCutNameList[1];
129 static cutFunc mCutList[1];
130
131private:
132 /* 0x0F7C */ NPC_CLERKT_HIO_CLASS* mpHIO;
133 /* 0x0F80 */ dCcD_Cyl mCyl;
134 /* 0x10BC */ u8 mType;
137 /* 0x10D4 */ actionFunc mAction;
138 /* 0x10E0 */ int mShopProcess;
139 /* 0x10E4 */ int field_0x10e4;
140 /* 0x10E8 */ u8 field_0x10e8;
141 /* 0x10E9 */ u8 field_0x10e9;
142 /* 0x10EA */ u8 mShopFlag;
143 /* 0x10EB */ u8 field_0x10eb;
144 /* 0x10EC */ int field_0x10ec;
145};
146
147STATIC_ASSERT(sizeof(daNpcClerkT_c) == 0x10f0);
148
149#endif /* D_A_NPC_CLERKT_H */
Definition d_cc_d.h:472
Definition d_shop_system.h:11
Ooccaa (City in the Sky Shop)
Definition d_a_npc_clerkt.h:42
dCcD_Cyl mCyl
Definition d_a_npc_clerkt.h:133
u8 field_0x10e9
Definition d_a_npc_clerkt.h:141
s32 getNeckJointNo()
Definition d_a_npc_clerkt.h:102
int talk(void *)
Definition d_a_npc_clerkt.cpp:457
void setCollision()
Definition d_a_npc_clerkt.cpp:661
u8 field_0x10eb
Definition d_a_npc_clerkt.h:143
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_clerkt.h:100
int field_0x10e4
Definition d_a_npc_clerkt.h:139
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_clerkt.h:99
int(daNpcClerkT_c::*) actionFunc(void *)
Definition d_a_npc_clerkt.h:45
NPC_CLERKT_HIO_CLASS * mpHIO
Definition d_a_npc_clerkt.h:132
int Execute()
Definition d_a_npc_clerkt.cpp:210
u8 mShopFlag
Definition d_a_npc_clerkt.h:142
BOOL evtCutProc()
Definition d_a_npc_clerkt.cpp:309
actionFunc mNextAction
Definition d_a_npc_clerkt.h:136
void setParam()
Definition d_a_npc_clerkt.cpp:586
int drawDbgInfo()
Definition d_a_npc_clerkt.cpp:342
void reset()
Definition d_a_npc_clerkt.cpp:264
int setAction(int(daNpcClerkT_c::*)(void *))
Definition d_a_npc_clerkt.cpp:375
actionFunc mAction
Definition d_a_npc_clerkt.h:137
int field_0x10ec
Definition d_a_npc_clerkt.h:144
void action()
Definition d_a_npc_clerkt.cpp:327
void afterJntAnm(int)
Definition d_a_npc_clerkt.cpp:282
int wait(void *)
Definition d_a_npc_clerkt.cpp:390
u32 getFlowNodeNo()
Definition d_a_npc_clerkt.h:105
void srchActors()
Definition d_a_npc_clerkt.h:118
void setAfterTalkMotion()
Definition d_a_npc_clerkt.cpp:624
int isDelete()
Definition d_a_npc_clerkt.cpp:253
static cutFunc mCutList[1]
Definition d_a_npc_clerkt.h:113
~daNpcClerkT_c()
Definition d_a_npc_clerkt.cpp:115
u8 mType
Definition d_a_npc_clerkt.h:134
u16 getEyeballMaterialNo()
Definition d_a_npc_clerkt.h:98
int CreateHeap()
Definition d_a_npc_clerkt.cpp:171
int Draw()
Definition d_a_npc_clerkt.cpp:229
s32 getBackboneJointNo()
Definition d_a_npc_clerkt.h:101
int Delete()
Definition d_a_npc_clerkt.cpp:204
int tend(void *)
Definition d_a_npc_clerkt.cpp:432
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_clerkt.cpp:241
int shop(void *)
Definition d_a_npc_clerkt.cpp:493
void beforeMove()
Definition d_a_npc_clerkt.cpp:628
u8 getMaxNumItem()
Definition d_a_npc_clerkt.h:116
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_clerkt.cpp:237
FaceMotion
Definition d_a_npc_clerkt.h:52
@ FACE_MOT_UNK_1
Definition d_a_npc_clerkt.h:53
int selectAction()
Definition d_a_npc_clerkt.cpp:356
void setAttnPos()
Definition d_a_npc_clerkt.cpp:634
int create()
Definition d_a_npc_clerkt.cpp:125
u8 field_0x10e8
Definition d_a_npc_clerkt.h:140
daNpcT_ActorMngr_c mActorMngr[1]
Definition d_a_npc_clerkt.h:135
int mShopProcess
Definition d_a_npc_clerkt.h:138
Type
Definition d_a_npc_clerkt.h:47
@ TYPE_SHOP
Definition d_a_npc_clerkt.h:48
@ TYPE_1
Definition d_a_npc_clerkt.h:49
Motion
Definition d_a_npc_clerkt.h:56
@ MOT_UNK_0
Definition d_a_npc_clerkt.h:57
BOOL evtTalk()
Definition d_a_npc_clerkt.cpp:292
void drawOtherMdl()
Definition d_a_npc_clerkt.cpp:346
int(daNpcClerkT_c::*) cutFunc(int)
Definition d_a_npc_clerkt.h:44
s32 getHeadJointNo()
Definition d_a_npc_clerkt.h:103
static char * mCutNameList[1]
Definition d_a_npc_clerkt.h:111
daNpcClerkT_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_clerkt.h:88
int chkAction(int(daNpcClerkT_c::*)(void *))
Definition d_a_npc_clerkt.cpp:371
Definition d_a_npc_clerkt.h:19
daNpcClerkt_HIO_c()
Definition d_a_npc_clerkt.cpp:57
void genMessage(JORMContext *)
Definition d_a_npc_clerkt.cpp:65
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_clerkt.cpp:61
daNpcClerkt_HIOParam m
Definition d_a_npc_clerkt.h:26
Definition d_a_npc_clerkt.h:11
virtual ~daNpcClerkt_Param_c()
Definition d_a_npc_clerkt.h:13
static const daNpcClerkt_HIOParam m
Definition d_a_npc_clerkt.h:12
Definition d_a_npc.h:31
void entry(fopAc_ac_c *)
Definition d_a_npc.cpp:281
fopAc_ac_c * getShopItemTagP()
Definition d_a_npc.cpp:2625
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpcClerkT_c)==0x10f0)
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
Definition d_a_npc_clerkt.h:7
daNpcT_HIOParam common
Definition d_a_npc_clerkt.h:8
Definition d_a_npc.h:843
Definition d_a_npc.h:484
Definition d_a_npc.h:489
Definition d_a_npc.h:504