Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_grm.h
Go to the documentation of this file.
1#ifndef D_A_NPC_GRM_H
2#define D_A_NPC_GRM_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_shop_system.h"
6
15class daNpc_grM_c : public dShopSystem_c {
16public:
17 typedef int (daNpc_grM_c::*cutFunc)(int);
18 typedef int (daNpc_grM_c::*actionFunc)(void*);
19
20 enum JOINT {
21 /* 0X00 */ JNT_CENTER,
22 /* 0X01 */ JNT_BACKBONE1,
23 /* 0X02 */ JNT_BACKBONE2,
24 /* 0X03 */ JNT_NECK,
25 /* 0X04 */ JNT_HEAD,
26 /* 0X05 */ JNT_CHIN,
27 /* 0X06 */ JNT_MAYU,
28 /* 0X07 */ JNT_MOUTH,
29 /* 0X08 */ JNT_SHOULDERL,
30 /* 0X09 */ JNT_ARML1,
31 /* 0X0A */ JNT_ARML2,
32 /* 0X0B */ JNT_HANDL,
33 /* 0X0C */ JNT_FINGERL1,
34 /* 0X0D */ JNT_THUMBL,
35 /* 0X0E */ JNT_SHOULDERR,
36 /* 0X0F */ JNT_ARMR1,
37 /* 0X10 */ JNT_ARMR2,
38 /* 0X11 */ JNT_HANDR,
39 /* 0X12 */ JNT_FINGERR1,
40 /* 0X13 */ JNT_THUMBR,
41 /* 0X14 */ JNT_WAIST,
42 /* 0X15 */ JNT_LEGL1,
43 /* 0X16 */ JNT_LEGL2,
44 /* 0X17 */ JNT_FOOTL,
45 /* 0X18 */ JNT_LEGR1,
46 /* 0X19 */ JNT_LEGR2,
47 /* 0X1A */ JNT_FOOTR
48 };
49
50 enum Material {
51 /* 0x0 */ MAT_SC_EYE,
54 /* 0x3 */ MAT_GRA_M,
55 };
56
59 int CreateHeap();
60 int Delete();
61 int Execute();
62 int Draw();
63 static int createHeapCallBack(fopAc_ac_c*);
64 static int ctrlJointCallBack(J3DJoint*, int);
65 bool getType();
66 int getFlowNodeNo();
68 BOOL isDelete();
69 void reset();
70 void afterJntAnm(int);
71 void setParam();
72 void setAfterTalkMotion();
73 void srchActors();
74 BOOL evtProc();
77 void action();
78 void beforeMove();
79 void setAttnPos();
86 int cutTalkSpa(int);
87 int tend(void*);
88 int talk(void*);
89 int shop(void*);
91 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
92 daNpcT_motionAnmData_c const* i_motionAnmData,
93 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
94 int i_faceMotionStepNum,
95 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
96 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
97 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
98 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
99 i_arcNames) {}
104 BOOL checkChangeJoint(int param_0) { return param_0 == JNT_HEAD; }
105 BOOL checkRemoveJoint(int param_0) { return param_0 == JNT_MOUTH; }
106
107 static char* mCutNameList[2];
108 static cutFunc mCutList[2];
109
110private:
111 /* 0x0F7C */ u8 field_0xf7c[0xf80 - 0xf7c];
112 /* 0x0F80 */ dCcD_Cyl mCyl;
113 /* 0x10BC */ u8 mType;
115 /* 0x10CC */ actionFunc mAction;
116 /* 0x10D8 */ int field_0x10d8;
117 /* 0x10DC */ u8 field_0x10dc;
118 /* 0x10DD */ u8 field_0x10dd;
119 /* 0x10DE */ u8 field_0x10de[0x10e0 - 0x10de];
120 /* 0x10E0 */ u8 field_0x10e0;
121};
122
123STATIC_ASSERT(sizeof(daNpc_grM_c) == 0x10e4);
128
130public:
132};
133
135public:
137
138 static daNpc_grM_HIOParam const m;
139};
140
141#endif /* D_A_NPC_GRM_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition d_cc_d.h:461
Definition d_shop_system.h:11
Definition d_a_npc_grm.h:129
daNpc_grM_HIOParam param
Definition d_a_npc_grm.h:131
Definition d_a_npc_grm.h:134
virtual ~daNpc_grM_Param_c()
Definition d_a_npc_grm.h:136
static daNpc_grM_HIOParam const m
Definition d_a_npc_grm.h:144
Goron Adult (Shopkeeper)
Definition d_a_npc_grm.h:15
u8 field_0x10dd
Definition d_a_npc_grm.h:118
int Execute()
Definition d_a_npc_grm.cpp:240
BOOL evtProc()
Definition d_a_npc_grm.cpp:393
int drawDbgInfo()
u16 getEyeballMaterialNo()
Definition d_a_npc_grm.h:100
void action()
int cutTalkSpa(int)
BOOL isDelete()
Definition d_a_npc_grm.cpp:303
bool getType()
Definition d_a_npc_grm.cpp:285
void afterJntAnm(int)
Definition d_a_npc_grm.cpp:317
BOOL checkRemoveJoint(int param_0)
Definition d_a_npc_grm.h:105
int CreateHeap()
Definition d_a_npc_grm.cpp:201
int field_0x10d8
Definition d_a_npc_grm.h:116
void setAfterTalkMotion()
Definition d_a_npc_grm.cpp:372
void drawOtherMdl()
BOOL chkAction(actionFunc)
u8 field_0x10e0
Definition d_a_npc_grm.h:120
daNpc_grM_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_grm.h:90
BOOL selectAction()
u8 field_0x10de[0x10e0 - 0x10de]
Definition d_a_npc_grm.h:119
u8 mType
Definition d_a_npc_grm.h:113
void beforeMove()
int(daNpc_grM_c::*) cutFunc(int)
Definition d_a_npc_grm.h:17
void setCollision()
u8 field_0x10dc
Definition d_a_npc_grm.h:117
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_grm.cpp:272
actionFunc mAction
Definition d_a_npc_grm.h:115
Material
Definition d_a_npc_grm.h:50
@ MAT_SC_EYE
Definition d_a_npc_grm.h:51
@ MAT_GRA_A_EYEBALL
Definition d_a_npc_grm.h:52
@ MAT_GRA_M
Definition d_a_npc_grm.h:54
@ MAT_GRA_A_FACE_M
Definition d_a_npc_grm.h:53
void setParam()
Definition d_a_npc_grm.cpp:327
BOOL evtTalk()
int tend(void *)
static cutFunc mCutList[2]
Definition d_a_npc_grm.h:129
s32 getBackboneJointNo()
Definition d_a_npc_grm.h:103
int(daNpc_grM_c::*) actionFunc(void *)
Definition d_a_npc_grm.h:18
actionFunc mNextAction
Definition d_a_npc_grm.h:114
static char * mCutNameList[2]
Definition d_a_npc_grm.h:124
int talk(void *)
int getFlowNodeNo()
Definition d_a_npc_grm.cpp:289
s32 getHeadJointNo()
Definition d_a_npc_grm.h:101
~daNpc_grM_c()
Definition d_a_npc_grm.cpp:134
dCcD_Cyl mCyl
Definition d_a_npc_grm.h:112
void setAttnPos()
u8 getMaxNumItem()
Definition d_a_npc_grm.cpp:299
BOOL evtCutProc()
int shop(void *)
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_grm.cpp:267
BOOL setAction(actionFunc)
JOINT
Definition d_a_npc_grm.h:20
@ JNT_HANDL
Definition d_a_npc_grm.h:32
@ JNT_CENTER
Definition d_a_npc_grm.h:21
@ JNT_FOOTR
Definition d_a_npc_grm.h:47
@ JNT_HEAD
Definition d_a_npc_grm.h:25
@ JNT_LEGL2
Definition d_a_npc_grm.h:43
@ JNT_MOUTH
Definition d_a_npc_grm.h:28
@ JNT_BACKBONE1
Definition d_a_npc_grm.h:22
@ JNT_THUMBR
Definition d_a_npc_grm.h:40
@ JNT_SHOULDERL
Definition d_a_npc_grm.h:29
@ JNT_ARML2
Definition d_a_npc_grm.h:31
@ JNT_NECK
Definition d_a_npc_grm.h:24
@ JNT_CHIN
Definition d_a_npc_grm.h:26
@ JNT_MAYU
Definition d_a_npc_grm.h:27
@ JNT_ARML1
Definition d_a_npc_grm.h:30
@ JNT_LEGL1
Definition d_a_npc_grm.h:42
@ JNT_THUMBL
Definition d_a_npc_grm.h:34
@ JNT_FOOTL
Definition d_a_npc_grm.h:44
@ JNT_WAIST
Definition d_a_npc_grm.h:41
@ JNT_LEGR2
Definition d_a_npc_grm.h:46
@ JNT_ARMR2
Definition d_a_npc_grm.h:37
@ JNT_ARMR1
Definition d_a_npc_grm.h:36
@ JNT_HANDR
Definition d_a_npc_grm.h:38
@ JNT_FINGERR1
Definition d_a_npc_grm.h:39
@ JNT_SHOULDERR
Definition d_a_npc_grm.h:35
@ JNT_BACKBONE2
Definition d_a_npc_grm.h:23
@ JNT_FINGERL1
Definition d_a_npc_grm.h:33
@ JNT_LEGR1
Definition d_a_npc_grm.h:45
cPhs__Step create()
Definition d_a_npc_grm.cpp:150
BOOL checkChangeJoint(int param_0)
Definition d_a_npc_grm.h:104
u8 field_0xf7c[0xf80 - 0xf7c]
Definition d_a_npc_grm.h:111
int Draw()
Definition d_a_npc_grm.cpp:259
void reset()
Definition d_a_npc_grm.cpp:307
void srchActors()
Definition d_a_npc_grm.cpp:389
int Delete()
Definition d_a_npc_grm.cpp:235
s32 getNeckJointNo()
Definition d_a_npc_grm.h:102
Definition f_op_actor.h:230
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_grM_c)==0x10e4)
int BOOL
Definition types.h:33
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.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
Definition d_a_npc_grm.h:125
daNpcT_HIOParam common
Definition d_a_npc_grm.h:126