Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_clerkb.h
Go to the documentation of this file.
1#ifndef D_A_NPC_CLERKB_H
2#define D_A_NPC_CLERKB_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_shop_system.h"
6
9 /* 0x8C */ f32 field_0x8c;
10 /* 0x90 */ s16 field_0x90;
11 /* 0x92 */ s16 field_0x92;
12};
13
15public:
17
18 static const daNpc_clerkB_HIOParam m;
19};
20
21#if DEBUG
31
32#define NPC_CLERKB_HIO_CLASS daNpc_clerkB_HIO_c
33#else
34#define NPC_CLERKB_HIO_CLASS daNpc_clerkB_Param_c
35#endif
36
46public:
47 typedef int (daNpc_clerkB_c::*cutFunc)(int);
48 typedef int (daNpc_clerkB_c::*actionFunc)(void*);
49
50 enum Type {
53 };
54
56 /* 0x01 */ FACE_MOT_UNK_1 = 1,
57 /* 0x02 */ FACE_MOT_UNK_2 = 2,
58 /* 0x03 */ FACE_MOT_UNK_3 = 3,
59 /* 0x04 */ FACE_MOT_UNK_4 = 4,
60 /* 0x05 */ FACE_MOT_UNK_5 = 5,
61 /* 0x06 */ FACE_MOT_UNK_6 = 6,
62 /* 0x07 */ FACE_MOT_UNK_7 = 7,
63 /* 0x08 */ FACE_MOT_UNK_8 = 8,
64 };
65
66 enum Motion {
67 /* 0x0 */ MOT_UNK_0 = 0,
68 /* 0x1 */ MOT_UNK_1 = 1,
69 /* 0x2 */ MOT_UNK_2 = 2,
70 /* 0x3 */ MOT_UNK_3 = 3,
71 /* 0x5 */ MOT_UNK_5 = 5,
72 /* 0x6 */ MOT_UNK_6 = 6,
73 /* 0x7 */ MOT_UNK_7 = 7,
74 /* 0x8 */ MOT_UNK_8 = 8,
75 };
76
78 int create();
79 int CreateHeap();
80 int Delete();
81 int Execute();
82 int Draw();
83 static int createHeapCallBack(fopAc_ac_c*);
84 static int ctrlJointCallBack(J3DJoint*, int);
85 u8 getType();
88 int isDelete();
89 void reset();
90 void afterJntAnm(int);
91 void setParam();
92 void setAfterTalkMotion();
93 void srchActors();
94 BOOL evtTalk();
96 void action();
97 void beforeMove();
98 void setAttnPos();
99 void setCollision();
100 int drawDbgInfo();
101 void drawOtherMdl();
102 void drawGhost();
103 int selectAction();
104 int chkAction(int (daNpc_clerkB_c::*)(void*));
105 int setAction(int (daNpc_clerkB_c::*)(void*));
106 void setSe();
107 int wait(void*);
108 int tend(void*);
109 int talk(void*);
110 int shop(void*);
112 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
113 daNpcT_motionAnmData_c const* i_motionAnmData,
114 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
115 int i_faceMotionStepNum,
116 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
117 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
118 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
119 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
120 i_arcNames) {}
121 u16 getEyeballMaterialNo() { return 3; }
122 s32 getHeadJointNo() { return 4; }
123 s32 getNeckJointNo() { return 3; }
124 s32 getBackboneJointNo() { return 1; }
125 BOOL checkChangeJoint(int i_joint) { return i_joint == 4; }
126 BOOL checkRemoveJoint(int i_joint) { return i_joint == 9; }
127
129 u16 nodeNo = home.angle.x;
130 u32 rv;
131 if (nodeNo == 0xffff) {
132 rv = -1;
133 } else {
134 rv = nodeNo;
135 }
136 return rv;
137 }
138
139 u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
140
141 static char* mCutNameList[1];
142 static cutFunc mCutList[1];
143
144private:
146 /* 0x0F7C */ NPC_CLERKB_HIO_CLASS* mpHIO;
147 /* 0x0F98 */ dCcD_Cyl mCyl;
148 /* 0x10D4 */ u8 mType;
151 /* 0x10EC */ actionFunc mAction;
152 /* 0x10F8 */ csXyz field_0x10f8;
153 /* 0x1100 */ int mShopProcess;
154 /* 0x1104 */ int field_0x1104;
155 /* 0x1108 */ f32 field_0x1108;
156 /* 0x110C */ u8 field_0x110c;
157 /* 0x110D */ u8 field_0x110d;
158 /* 0x110E */ u8 field_0x110e;
159 /* 0x110F */ u8 field_0x110f;
160 /* 0x1110 */ u8 field_0x1110;
161 /* 0x1111 */ u8 mShopFlag;
162 /* 0x1112 */ u8 field_0x1112[0x1114 - 0x1112];
163 /* 0x1114 */ u8 field_0x1114;
164};
165
166STATIC_ASSERT(sizeof(daNpc_clerkB_c) == 0x1118);
167
168#endif /* D_A_NPC_CLERKB_H */
Definition J3DJoint.h:63
Definition JORMContext.h:120
Definition c_sxyz.h:10
Definition d_cc_d.h:461
Definition d_msg_flow.h:49
Definition d_shop_system.h:11
Definition d_a_npc.h:30
Definition d_a_npc_clerkb.h:22
daNpc_clerkB_HIO_c()
Definition d_a_npc_clerkb.cpp:59
daNpc_clerkB_HIOParam m
Definition d_a_npc_clerkb.h:29
void genMessage(JORMContext *)
Definition d_a_npc_clerkb.cpp:67
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_clerkb.cpp:63
Definition d_a_npc_clerkb.h:14
static const daNpc_clerkB_HIOParam m
Definition d_a_npc_clerkb.h:11
virtual ~daNpc_clerkB_Param_c()
Definition d_a_npc_clerkb.h:16
Malver.
Definition d_a_npc_clerkb.h:45
~daNpc_clerkB_c()
Definition d_a_npc_clerkb.cpp:126
void beforeMove()
Definition d_a_npc_clerkb.cpp:581
s32 getHeadJointNo()
Definition d_a_npc_clerkb.h:122
dCcD_Cyl mCyl
Definition d_a_npc_clerkb.h:147
Motion
Definition d_a_npc_clerkb.h:66
@ MOT_UNK_8
Definition d_a_npc_clerkb.h:74
@ MOT_UNK_1
Definition d_a_npc_clerkb.h:68
@ MOT_UNK_6
Definition d_a_npc_clerkb.h:72
@ MOT_UNK_7
Definition d_a_npc_clerkb.h:73
@ MOT_UNK_5
Definition d_a_npc_clerkb.h:71
@ MOT_UNK_2
Definition d_a_npc_clerkb.h:69
@ MOT_UNK_0
Definition d_a_npc_clerkb.h:67
@ MOT_UNK_3
Definition d_a_npc_clerkb.h:70
int setAction(int(daNpc_clerkB_c::*)(void *))
Definition d_a_npc_clerkb.cpp:694
u8 field_0x110e
Definition d_a_npc_clerkb.h:158
void drawGhost()
Definition d_a_npc_clerkb.cpp:665
int create()
Definition d_a_npc_clerkb.cpp:136
int chkAction(int(daNpc_clerkB_c::*)(void *))
Definition d_a_npc_clerkb.cpp:690
int drawDbgInfo()
Definition d_a_npc_clerkb.cpp:651
actionFunc mAction
Definition d_a_npc_clerkb.h:151
int talk(void *)
Definition d_a_npc_clerkb.cpp:809
void reset()
Definition d_a_npc_clerkb.cpp:410
u8 getType()
Definition d_a_npc_clerkb.cpp:269
void setCollision()
Definition d_a_npc_clerkb.cpp:615
u8 field_0x1114
Definition d_a_npc_clerkb.h:163
csXyz field_0x10f8
Definition d_a_npc_clerkb.h:152
int Draw()
Definition d_a_npc_clerkb.cpp:245
void drawOtherMdl()
Definition d_a_npc_clerkb.cpp:655
mDoExt_bpkAnm mBpkAnm2
Definition d_a_npc_clerkb.h:145
int Execute()
Definition d_a_npc_clerkb.cpp:227
u16 getEyeballMaterialNo()
Definition d_a_npc_clerkb.h:121
int field_0x1104
Definition d_a_npc_clerkb.h:154
u8 field_0x1112[0x1114 - 0x1112]
Definition d_a_npc_clerkb.h:162
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_clerkb.cpp:253
void setAfterTalkMotion()
Definition d_a_npc_clerkb.cpp:480
static cutFunc mCutList[1]
Definition d_a_npc_clerkb.h:124
daNpc_clerkB_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_clerkb.h:111
void srchActors()
Definition d_a_npc_clerkb.cpp:501
f32 field_0x1108
Definition d_a_npc_clerkb.h:155
int shop(void *)
Definition d_a_npc_clerkb.cpp:845
int Delete()
Definition d_a_npc_clerkb.cpp:221
Type
Definition d_a_npc_clerkb.h:50
@ TYPE_1
Definition d_a_npc_clerkb.h:52
@ TYPE_SHOP
Definition d_a_npc_clerkb.h:51
s32 getBackboneJointNo()
Definition d_a_npc_clerkb.h:124
u8 field_0x1110
Definition d_a_npc_clerkb.h:160
int tend(void *)
Definition d_a_npc_clerkb.cpp:761
int CreateHeap()
Definition d_a_npc_clerkb.cpp:182
void setSe()
Definition d_a_npc_clerkb.cpp:709
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_clerkb.cpp:257
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_clerkb.h:125
FaceMotion
Definition d_a_npc_clerkb.h:55
@ FACE_MOT_UNK_5
Definition d_a_npc_clerkb.h:60
@ FACE_MOT_UNK_8
Definition d_a_npc_clerkb.h:63
@ FACE_MOT_UNK_4
Definition d_a_npc_clerkb.h:59
@ FACE_MOT_UNK_1
Definition d_a_npc_clerkb.h:56
@ FACE_MOT_UNK_2
Definition d_a_npc_clerkb.h:57
@ FACE_MOT_UNK_6
Definition d_a_npc_clerkb.h:61
@ FACE_MOT_UNK_3
Definition d_a_npc_clerkb.h:58
@ FACE_MOT_UNK_7
Definition d_a_npc_clerkb.h:62
BOOL evtTalk()
Definition d_a_npc_clerkb.cpp:511
u8 field_0x110f
Definition d_a_npc_clerkb.h:159
void setAttnPos()
Definition d_a_npc_clerkb.cpp:587
static char * mCutNameList[1]
Definition d_a_npc_clerkb.h:122
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_clerkb.h:126
int isDelete()
Definition d_a_npc_clerkb.cpp:399
void setParam()
Definition d_a_npc_clerkb.cpp:441
actionFunc mNextAction
Definition d_a_npc_clerkb.h:150
int selectAction()
Definition d_a_npc_clerkb.cpp:675
daNpcT_ActorMngr_c mActorMngr[1]
Definition d_a_npc_clerkb.h:149
u8 mType
Definition d_a_npc_clerkb.h:148
u32 getFlowNodeNo()
Definition d_a_npc_clerkb.h:128
u8 field_0x110c
Definition d_a_npc_clerkb.h:156
int beforeStartSeqAction(dMsgFlow_c *, int)
Definition d_a_npc_clerkb.cpp:277
int(daNpc_clerkB_c::*) cutFunc(int)
Definition d_a_npc_clerkb.h:47
int beforeSelectSeqAction(dMsgFlow_c *, int)
Definition d_a_npc_clerkb.cpp:338
u8 field_0x110d
Definition d_a_npc_clerkb.h:157
NPC_CLERKB_HIO_CLASS * mpHIO
Definition d_a_npc_clerkb.h:146
u8 mShopFlag
Definition d_a_npc_clerkb.h:161
u8 getMaxNumItem()
Definition d_a_npc_clerkb.h:139
void action()
Definition d_a_npc_clerkb.cpp:566
int wait(void *)
Definition d_a_npc_clerkb.cpp:719
int mShopProcess
Definition d_a_npc_clerkb.h:153
s32 getNeckJointNo()
Definition d_a_npc_clerkb.h:123
BOOL evtCutProc()
Definition d_a_npc_clerkb.cpp:548
int(daNpc_clerkB_c::*) actionFunc(void *)
Definition d_a_npc_clerkb.h:48
void afterJntAnm(int)
Definition d_a_npc_clerkb.cpp:428
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_ext.h:124
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_clerkB_c)==0x1118)
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
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.h:836
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_clerkb.h:7
s16 field_0x90
Definition d_a_npc_clerkb.h:10
f32 field_0x8c
Definition d_a_npc_clerkb.h:9
daNpcT_HIOParam common
Definition d_a_npc_clerkb.h:8
s16 field_0x92
Definition d_a_npc_clerkb.h:11