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
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();
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;
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 J3DJoint.h:63
Definition JORMContext.h:120
Definition d_cc_d.h:461
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:456
void setCollision()
Definition d_a_npc_clerkt.cpp:660
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:209
u8 mShopFlag
Definition d_a_npc_clerkt.h:142
BOOL evtCutProc()
Definition d_a_npc_clerkt.cpp:308
actionFunc mNextAction
Definition d_a_npc_clerkt.h:136
void setParam()
Definition d_a_npc_clerkt.cpp:585
int drawDbgInfo()
Definition d_a_npc_clerkt.cpp:341
void reset()
Definition d_a_npc_clerkt.cpp:263
int setAction(int(daNpcClerkT_c::*)(void *))
Definition d_a_npc_clerkt.cpp:374
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:326
void afterJntAnm(int)
Definition d_a_npc_clerkt.cpp:281
int wait(void *)
Definition d_a_npc_clerkt.cpp:389
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:623
int isDelete()
Definition d_a_npc_clerkt.cpp:252
static cutFunc mCutList[1]
Definition d_a_npc_clerkt.h:112
~daNpcClerkT_c()
Definition d_a_npc_clerkt.cpp:114
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:170
int Draw()
Definition d_a_npc_clerkt.cpp:228
s32 getBackboneJointNo()
Definition d_a_npc_clerkt.h:101
int Delete()
Definition d_a_npc_clerkt.cpp:203
int tend(void *)
Definition d_a_npc_clerkt.cpp:431
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_clerkt.cpp:240
int shop(void *)
Definition d_a_npc_clerkt.cpp:492
void beforeMove()
Definition d_a_npc_clerkt.cpp:627
u8 getMaxNumItem()
Definition d_a_npc_clerkt.h:116
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_clerkt.cpp:236
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:355
void setAttnPos()
Definition d_a_npc_clerkt.cpp:633
int create()
Definition d_a_npc_clerkt.cpp:124
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:291
void drawOtherMdl()
Definition d_a_npc_clerkt.cpp:345
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:110
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:370
Definition d_a_npc_clerkt.h:19
daNpcClerkt_HIO_c()
Definition d_a_npc_clerkt.cpp:56
void genMessage(JORMContext *)
Definition d_a_npc_clerkt.cpp:64
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_clerkt.cpp:60
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:11
Definition d_a_npc.h:30
void entry(fopAc_ac_c *)
Definition d_a_npc.cpp:290
fopAc_ac_c * getShopItemTagP()
Definition d_a_npc.cpp:2644
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpcClerkT_c)==0x10f0)
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
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
Definition d_a_npc_clerkt.h:7
daNpcT_HIOParam common
Definition d_a_npc_clerkt.h:8
Definition d_a_npc.h:836
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503