Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_clerka.h
Go to the documentation of this file.
1#ifndef D_A_NPC_CLERKA_H
2#define D_A_NPC_CLERKA_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_shop_system.h"
6
9 /* 0x8C */ s16 field_0x8c;
10 /* 0x8F */ s16 field_0x8f;
11};
12
14public:
16
17 static const daNpc_clerkA_HIOParam m;
18};
19
20#if DEBUG
30
31#define NPC_CLERKA_HIO_CLASS daNpc_clerkA_HIO_c
32#else
33#define NPC_CLERKA_HIO_CLASS daNpc_clerkA_Param_c
34#endif
35
45public:
46 typedef int (daNpc_clerkA_c::*cutFunc)(int);
47 typedef int (daNpc_clerkA_c::*actionFunc)(void*);
48
49 enum Type {
52 };
53
55 /* 0x01 */ FACE_MOT_UNK_1 = 1,
56 /* 0x02 */ FACE_MOT_UNK_2 = 2,
57 /* 0x03 */ FACE_MOT_UNK_3 = 3,
58 /* 0x04 */ FACE_MOT_UNK_4 = 4,
59 };
60
61 enum Motion {
62 /* 0x0 */ MOT_UNK_0 = 0,
63 /* 0x2 */ MOT_UNK_2 = 2,
64 /* 0x3 */ MOT_UNK_3 = 3,
65 /* 0x6 */ MOT_UNK_6 = 6,
66 };
67
69 int create();
70 int CreateHeap();
71 int Delete();
72 int Execute();
73 int Draw();
74 static int createHeapCallBack(fopAc_ac_c*);
75 static int ctrlJointCallBack(J3DJoint*, int);
76 u8 getType();
77 int isDelete();
78 void reset();
79 void afterJntAnm(int);
80 void setParam();
81 void setAfterTalkMotion();
82 void srchActors();
83 BOOL evtTalk();
85 void action();
86 void beforeMove();
87 void setAttnPos();
88 void setCollision();
89 int drawDbgInfo();
90 void drawOtherMdl();
91 int selectAction();
92 int chkAction(int (daNpc_clerkA_c::*)(void*));
93 int setAction(int (daNpc_clerkA_c::*)(void*));
94 int wait(void*);
95 int tend(void*);
96 int talk(void*);
97 int shop(void*);
99 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
100 daNpcT_motionAnmData_c const* i_motionAnmData,
101 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
102 int i_faceMotionStepNum,
103 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
104 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
105 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
106 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
107 i_arcNames) {}
108 u16 getEyeballMaterialNo() { return 3; }
109 s32 getHeadJointNo() { return 4; }
110 s32 getNeckJointNo() { return 3; }
111 s32 getBackboneJointNo() { return 1; }
112 BOOL checkChangeJoint(int i_joint) { return i_joint == 4; }
113 BOOL checkRemoveJoint(int i_joint) { return i_joint == 8; }
114
116 u16 nodeNo = home.angle.x;
117 u32 rv;
118 if (nodeNo == 0xffff) {
119 rv = -1;
120 } else {
121 rv = nodeNo;
122 }
123 return rv;
124 }
125
126 u8 getMaxNumItem() { return (fopAcM_GetParam(this) & 0xF000000) >> 24; }
127
128 static char* mCutNameList[1];
129 static cutFunc mCutList[1];
130
131private:
132 /* 0x0F7C */ NPC_CLERKA_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 */ int field_0x10e8;
141 /* 0x10EC */ u8 field_0x10ec;
142 /* 0x10ED */ u8 field_0x10ed;
143 /* 0x10EE */ u8 field_0x10ee;
144 /* 0x10EF */ u8 mShopFlag;
145 /* 0x10F0 */ u8 field_0x10f0;
146};
147
148STATIC_ASSERT(sizeof(daNpc_clerkA_c) == 0x10f4);
149
150#endif /* D_A_NPC_CLERKA_H */
Definition J3DJoint.h:63
Definition JORMContext.h:120
Definition d_cc_d.h:461
Definition d_shop_system.h:11
Definition d_a_npc.h:30
Definition d_a_npc_clerka.h:21
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_clerka.cpp:62
daNpc_clerkA_HIO_c()
Definition d_a_npc_clerka.cpp:58
daNpc_clerkA_HIOParam m
Definition d_a_npc_clerka.h:28
void genMessage(JORMContext *)
Definition d_a_npc_clerka.cpp:66
Definition d_a_npc_clerka.h:13
virtual ~daNpc_clerkA_Param_c()
Definition d_a_npc_clerka.h:15
static const daNpc_clerkA_HIOParam m
Definition d_a_npc_clerka.h:11
Chudley.
Definition d_a_npc_clerka.h:44
BOOL evtCutProc()
Definition d_a_npc_clerka.cpp:408
int field_0x10e4
Definition d_a_npc_clerka.h:139
dCcD_Cyl mCyl
Definition d_a_npc_clerka.h:133
int wait(void *)
Definition d_a_npc_clerka.cpp:561
int talk(void *)
Definition d_a_npc_clerka.cpp:651
u8 field_0x10f0
Definition d_a_npc_clerka.h:145
s32 getBackboneJointNo()
Definition d_a_npc_clerka.h:111
int Execute()
Definition d_a_npc_clerka.cpp:216
u8 field_0x10ec
Definition d_a_npc_clerka.h:141
int CreateHeap()
Definition d_a_npc_clerka.cpp:177
void setCollision()
Definition d_a_npc_clerka.cpp:477
static cutFunc mCutList[1]
Definition d_a_npc_clerka.h:119
Motion
Definition d_a_npc_clerka.h:61
@ MOT_UNK_0
Definition d_a_npc_clerka.h:62
@ MOT_UNK_6
Definition d_a_npc_clerka.h:65
@ MOT_UNK_2
Definition d_a_npc_clerka.h:63
@ MOT_UNK_3
Definition d_a_npc_clerka.h:64
void reset()
Definition d_a_npc_clerka.cpp:277
int setAction(int(daNpc_clerkA_c::*)(void *))
Definition d_a_npc_clerka.cpp:546
u32 getFlowNodeNo()
Definition d_a_npc_clerka.h:115
Type
Definition d_a_npc_clerka.h:49
@ TYPE_1
Definition d_a_npc_clerka.h:51
@ TYPE_SHOP
Definition d_a_npc_clerka.h:50
actionFunc mAction
Definition d_a_npc_clerka.h:137
int(daNpc_clerkA_c::*) actionFunc(void *)
Definition d_a_npc_clerka.h:47
s32 getNeckJointNo()
Definition d_a_npc_clerka.h:110
int chkAction(int(daNpc_clerkA_c::*)(void *))
Definition d_a_npc_clerka.cpp:542
int isDelete()
Definition d_a_npc_clerka.cpp:266
u8 getMaxNumItem()
Definition d_a_npc_clerka.h:126
s32 getHeadJointNo()
Definition d_a_npc_clerka.h:109
void beforeMove()
Definition d_a_npc_clerka.cpp:441
void setAttnPos()
Definition d_a_npc_clerka.cpp:447
u8 getType()
Definition d_a_npc_clerka.cpp:258
int field_0x10e8
Definition d_a_npc_clerka.h:140
int tend(void *)
Definition d_a_npc_clerka.cpp:603
u8 mShopFlag
Definition d_a_npc_clerka.h:144
actionFunc mNextAction
Definition d_a_npc_clerka.h:136
u8 mType
Definition d_a_npc_clerka.h:134
u16 getEyeballMaterialNo()
Definition d_a_npc_clerka.h:108
NPC_CLERKA_HIO_CLASS * mpHIO
Definition d_a_npc_clerka.h:132
daNpcT_ActorMngr_c mActorMngr[1]
Definition d_a_npc_clerka.h:135
int Draw()
Definition d_a_npc_clerka.cpp:234
BOOL evtTalk()
Definition d_a_npc_clerka.cpp:371
int mShopProcess
Definition d_a_npc_clerka.h:138
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_clerka.cpp:242
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_clerka.h:113
int selectAction()
Definition d_a_npc_clerka.cpp:527
void drawOtherMdl()
Definition d_a_npc_clerka.cpp:517
FaceMotion
Definition d_a_npc_clerka.h:54
@ FACE_MOT_UNK_4
Definition d_a_npc_clerka.h:58
@ FACE_MOT_UNK_2
Definition d_a_npc_clerka.h:56
@ FACE_MOT_UNK_1
Definition d_a_npc_clerka.h:55
@ FACE_MOT_UNK_3
Definition d_a_npc_clerka.h:57
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_clerka.cpp:246
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_clerka.h:112
void afterJntAnm(int)
Definition d_a_npc_clerka.cpp:295
int Delete()
Definition d_a_npc_clerka.cpp:210
void action()
Definition d_a_npc_clerka.cpp:426
int drawDbgInfo()
Definition d_a_npc_clerka.cpp:513
static char * mCutNameList[1]
Definition d_a_npc_clerka.h:117
u8 field_0x10ed
Definition d_a_npc_clerka.h:142
daNpc_clerkA_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_clerka.h:98
int shop(void *)
Definition d_a_npc_clerka.cpp:687
void srchActors()
Definition d_a_npc_clerka.cpp:361
u8 field_0x10ee
Definition d_a_npc_clerka.h:143
void setAfterTalkMotion()
Definition d_a_npc_clerka.cpp:344
int create()
Definition d_a_npc_clerka.cpp:131
void setParam()
Definition d_a_npc_clerka.cpp:305
~daNpc_clerkA_c()
Definition d_a_npc_clerka.cpp:121
int(daNpc_clerkA_c::*) cutFunc(int)
Definition d_a_npc_clerka.h:46
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_clerkA_c)==0x10f4)
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
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
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_clerka.h:7
daNpcT_HIOParam common
Definition d_a_npc_clerka.h:8
s16 field_0x8f
Definition d_a_npc_clerka.h:10
s16 field_0x8c
Definition d_a_npc_clerka.h:9