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
10
12public:
13 virtual ~daNpc_grM_Param_c() {}
14
15 static daNpc_grM_HIOParam const m;
16};
17
18#if DEBUG
20public:
22
24
26
28};
29#define NPC_GRM_HIO_CLASS daNpc_grM_HIO_c
30#else
31#define NPC_GRM_HIO_CLASS daNpc_grM_Param_c
32#endif
33
42class daNpc_grM_c : public dShopSystem_c {
43public:
44 typedef int (daNpc_grM_c::*cutFunc)(int);
45 typedef int (daNpc_grM_c::*actionFunc)(void*);
46
47 enum JOINT {
48 /* 0X00 */ JNT_CENTER,
49 /* 0X01 */ JNT_BACKBONE1,
50 /* 0X02 */ JNT_BACKBONE2,
51 /* 0X03 */ JNT_NECK,
52 /* 0X04 */ JNT_HEAD,
53 /* 0X05 */ JNT_CHIN,
54 /* 0X06 */ JNT_MAYU,
55 /* 0X07 */ JNT_MOUTH,
56 /* 0X08 */ JNT_SHOULDERL,
57 /* 0X09 */ JNT_ARML1,
58 /* 0X0A */ JNT_ARML2,
59 /* 0X0B */ JNT_HANDL,
60 /* 0X0C */ JNT_FINGERL1,
61 /* 0X0D */ JNT_THUMBL,
62 /* 0X0E */ JNT_SHOULDERR,
63 /* 0X0F */ JNT_ARMR1,
64 /* 0X10 */ JNT_ARMR2,
65 /* 0X11 */ JNT_HANDR,
66 /* 0X12 */ JNT_FINGERR1,
67 /* 0X13 */ JNT_THUMBR,
68 /* 0X14 */ JNT_WAIST,
69 /* 0X15 */ JNT_LEGL1,
70 /* 0X16 */ JNT_LEGL2,
71 /* 0X17 */ JNT_FOOTL,
72 /* 0X18 */ JNT_LEGR1,
73 /* 0X19 */ JNT_LEGR2,
74 /* 0X1A */ JNT_FOOTR
75 };
76
77 enum Material {
78 /* 0x0 */ MAT_SC_EYE,
81 /* 0x3 */ MAT_GRA_M,
82 };
83
86 int CreateHeap();
87 int Delete();
88 int Execute();
89 int Draw();
90 static int createHeapCallBack(fopAc_ac_c*);
91 static int ctrlJointCallBack(J3DJoint*, int);
92 bool getType();
93 int getFlowNodeNo();
95 BOOL isDelete();
96 void reset();
97 void afterJntAnm(int);
98 void setParam();
99 void setAfterTalkMotion();
100 void srchActors();
101 BOOL evtProc();
102 BOOL evtTalk();
104 void action();
105 void beforeMove();
106 void setAttnPos();
107 void setCollision();
108 int drawDbgInfo();
109 void drawOtherMdl();
113 int cutTalkSpa(int);
114 int tend(void*);
115 int talk(void*);
116 int shop(void*);
118 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
119 daNpcT_motionAnmData_c const* i_motionAnmData,
120 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
121 int i_faceMotionStepNum,
122 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
123 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
124 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
125 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
126 i_arcNames) {}
131 BOOL checkChangeJoint(int param_0) { return param_0 == JNT_HEAD; }
132 BOOL checkRemoveJoint(int param_0) { return param_0 == JNT_MOUTH; }
133
134 static char* mCutNameList[2];
135 static cutFunc mCutList[2];
137private:
138 /* 0x0F7C */ NPC_GRM_HIO_CLASS* mpHIO;
139 /* 0x0F80 */ dCcD_Cyl mCyl;
140 /* 0x10BC */ u8 mType;
142 /* 0x10CC */ actionFunc mAction;
143 /* 0x10D8 */ int field_0x10d8;
144 /* 0x10DC */ u8 field_0x10dc;
145 /* 0x10DD */ u8 field_0x10dd;
146 /* 0x10DE */ u8 field_0x10de[0x10e0 - 0x10de];
147 /* 0x10E0 */ u8 field_0x10e0;
148};
149
150STATIC_ASSERT(sizeof(daNpc_grM_c) == 0x10e4);
151
152#endif /* D_A_NPC_GRM_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DJoint.h:66
Definition JORMContext.h:128
Definition d_cc_d.h:472
Definition d_shop_system.h:11
Definition d_a_npc_grm.h:19
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_grm.cpp:147
daNpc_grM_HIO_c()
Definition d_a_npc_grm.cpp:143
void genMessage(JORMContext *)
Definition d_a_npc_grm.cpp:151
daNpc_grM_HIOParam m
Definition d_a_npc_grm.h:27
Definition d_a_npc_grm.h:11
virtual ~daNpc_grM_Param_c()
Definition d_a_npc_grm.h:13
static daNpc_grM_HIOParam const m
Definition d_a_npc_grm.h:136
Goron Adult (Shopkeeper)
Definition d_a_npc_grm.h:42
u8 field_0x10dd
Definition d_a_npc_grm.h:145
int Execute()
Definition d_a_npc_grm.cpp:267
BOOL evtProc()
Definition d_a_npc_grm.cpp:420
int drawDbgInfo()
Definition d_a_npc_grm.cpp:604
u16 getEyeballMaterialNo()
Definition d_a_npc_grm.h:127
void action()
Definition d_a_npc_grm.cpp:514
int cutTalkSpa(int)
Definition d_a_npc_grm.cpp:645
cPhs_Step create()
Definition d_a_npc_grm.cpp:172
BOOL isDelete()
Definition d_a_npc_grm.cpp:330
bool getType()
Definition d_a_npc_grm.cpp:312
void afterJntAnm(int)
Definition d_a_npc_grm.cpp:344
NPC_GRM_HIO_CLASS * mpHIO
Definition d_a_npc_grm.h:138
BOOL checkRemoveJoint(int param_0)
Definition d_a_npc_grm.h:132
int CreateHeap()
Definition d_a_npc_grm.cpp:228
int field_0x10d8
Definition d_a_npc_grm.h:143
void setAfterTalkMotion()
Definition d_a_npc_grm.cpp:399
void drawOtherMdl()
Definition d_a_npc_grm.cpp:608
BOOL chkAction(actionFunc)
Definition d_a_npc_grm.cpp:624
u8 field_0x10e0
Definition d_a_npc_grm.h:147
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:117
BOOL selectAction()
Definition d_a_npc_grm.cpp:618
u8 field_0x10de[0x10e0 - 0x10de]
Definition d_a_npc_grm.h:146
u8 mType
Definition d_a_npc_grm.h:140
void beforeMove()
Definition d_a_npc_grm.cpp:539
int(daNpc_grM_c::*) cutFunc(int)
Definition d_a_npc_grm.h:44
void setCollision()
Definition d_a_npc_grm.cpp:573
u8 field_0x10dc
Definition d_a_npc_grm.h:144
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_grm.cpp:299
actionFunc mAction
Definition d_a_npc_grm.h:142
Material
Definition d_a_npc_grm.h:77
@ MAT_SC_EYE
Definition d_a_npc_grm.h:78
@ MAT_GRA_A_EYEBALL
Definition d_a_npc_grm.h:79
@ MAT_GRA_M
Definition d_a_npc_grm.h:81
@ MAT_GRA_A_FACE_M
Definition d_a_npc_grm.h:80
void setParam()
Definition d_a_npc_grm.cpp:354
BOOL evtTalk()
Definition d_a_npc_grm.cpp:480
int tend(void *)
Definition d_a_npc_grm.cpp:686
static cutFunc mCutList[2]
Definition d_a_npc_grm.h:129
s32 getBackboneJointNo()
Definition d_a_npc_grm.h:130
int(daNpc_grM_c::*) actionFunc(void *)
Definition d_a_npc_grm.h:45
actionFunc mNextAction
Definition d_a_npc_grm.h:141
static char * mCutNameList[2]
Definition d_a_npc_grm.h:124
int talk(void *)
Definition d_a_npc_grm.cpp:723
int getFlowNodeNo()
Definition d_a_npc_grm.cpp:316
s32 getHeadJointNo()
Definition d_a_npc_grm.h:128
~daNpc_grM_c()
Definition d_a_npc_grm.cpp:156
dCcD_Cyl mCyl
Definition d_a_npc_grm.h:139
void setAttnPos()
Definition d_a_npc_grm.cpp:545
u8 getMaxNumItem()
Definition d_a_npc_grm.cpp:326
BOOL evtCutProc()
Definition d_a_npc_grm.cpp:497
int shop(void *)
Definition d_a_npc_grm.cpp:761
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_grm.cpp:294
BOOL setAction(actionFunc)
Definition d_a_npc_grm.cpp:628
JOINT
Definition d_a_npc_grm.h:47
@ JNT_HANDL
Definition d_a_npc_grm.h:59
@ JNT_CENTER
Definition d_a_npc_grm.h:48
@ JNT_FOOTR
Definition d_a_npc_grm.h:74
@ JNT_HEAD
Definition d_a_npc_grm.h:52
@ JNT_LEGL2
Definition d_a_npc_grm.h:70
@ JNT_MOUTH
Definition d_a_npc_grm.h:55
@ JNT_BACKBONE1
Definition d_a_npc_grm.h:49
@ JNT_THUMBR
Definition d_a_npc_grm.h:67
@ JNT_SHOULDERL
Definition d_a_npc_grm.h:56
@ JNT_ARML2
Definition d_a_npc_grm.h:58
@ JNT_NECK
Definition d_a_npc_grm.h:51
@ JNT_CHIN
Definition d_a_npc_grm.h:53
@ JNT_MAYU
Definition d_a_npc_grm.h:54
@ JNT_ARML1
Definition d_a_npc_grm.h:57
@ JNT_LEGL1
Definition d_a_npc_grm.h:69
@ JNT_THUMBL
Definition d_a_npc_grm.h:61
@ JNT_FOOTL
Definition d_a_npc_grm.h:71
@ JNT_WAIST
Definition d_a_npc_grm.h:68
@ JNT_LEGR2
Definition d_a_npc_grm.h:73
@ JNT_ARMR2
Definition d_a_npc_grm.h:64
@ JNT_ARMR1
Definition d_a_npc_grm.h:63
@ JNT_HANDR
Definition d_a_npc_grm.h:65
@ JNT_FINGERR1
Definition d_a_npc_grm.h:66
@ JNT_SHOULDERR
Definition d_a_npc_grm.h:62
@ JNT_BACKBONE2
Definition d_a_npc_grm.h:50
@ JNT_FINGERL1
Definition d_a_npc_grm.h:60
@ JNT_LEGR1
Definition d_a_npc_grm.h:72
BOOL checkChangeJoint(int param_0)
Definition d_a_npc_grm.h:131
int Draw()
Definition d_a_npc_grm.cpp:286
void reset()
Definition d_a_npc_grm.cpp:334
void srchActors()
Definition d_a_npc_grm.cpp:416
int Delete()
Definition d_a_npc_grm.cpp:262
s32 getNeckJointNo()
Definition d_a_npc_grm.h:129
Definition f_op_actor.h:243
Definition m_Do_hostIO.h:26
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 JORReflexible.h:10
Definition d_a_npc.h:842
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_grm.h:7
daNpcT_HIOParam common
Definition d_a_npc_grm.h:8