Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_grmc.h
Go to the documentation of this file.
1#ifndef D_A_NPC_GRMC_H
2#define D_A_NPC_GRMC_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_shop_system.h"
6
16#if DEBUG
17#define NPC_GRMC_HIO_CLASS daNpc_grMC_HIO_c
18#else
19#define NPC_GRMC_HIO_CLASS daNpc_grMC_Param_c
20#endif
21
25
27public:
29
31
32 void listenPropertyEvent(const JORPropertyEvent*);
33
34 void genMessage(JORMContext*);
35};
36
38public:
40
41 static daNpc_grMC_HIOParam const m;
42};
43
45public:
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_SHOULDERR,
61 /* 0x0D */ JNT_ARMR1,
62 /* 0x0E */ JNT_ARMR2,
63 /* 0x0F */ JNT_HANDR,
64 /* 0x10 */ JNT_WAIST,
65 /* 0x11 */ JNT_LEGL1,
66 /* 0x12 */ JNT_LEGL2,
67 /* 0x13 */ JNT_FOOTL,
68 /* 0x14 */ JNT_LEGR1,
69 /* 0x15 */ JNT_LEGR2,
70 /* 0x16 */ JNT_FOOTR,
71 };
72
73 typedef int (daNpc_grMC_c::*cutFunc)(int);
74 typedef int (daNpc_grMC_c::*actionFunc)(void*);
75
78 int CreateHeap();
79 int Delete();
80 int Execute();
81 int Draw();
82 static int createHeapCallBack(fopAc_ac_c*);
83 static int ctrlJointCallBack(J3DJoint*, int);
84 u8 getType();
85 int getFlowNodeNo();
86 u8 getMaxNumItem();
87 BOOL isDelete();
88 void reset();
89 void afterJntAnm(int);
90 void setParam();
91 void setAfterTalkMotion();
92 void srchActors();
93 BOOL evtTalk();
94 BOOL evtCutProc();
95 void action();
96 void beforeMove();
97 void setAttnPos();
98 void setCollision();
99 int drawDbgInfo();
100 void drawOtherMdl();
101 BOOL selectAction();
102 BOOL chkAction(actionFunc);
103 BOOL setAction(actionFunc);
104 int tend(void*);
105 int talk(void*);
106 int shop(void*);
107 int test(void*);
109 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
110 daNpcT_motionAnmData_c const* i_motionAnmData,
111 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
112 int i_faceMotionStepNum,
113 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
114 int i_motionStepNum,
115 daNpcT_evtData_c const* i_evtData,
116 char** i_arcNames)
117 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
118 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
119 i_arcNames) {}
120 s32 getHeadJointNo() { return JNT_HEAD; }
121 s32 getNeckJointNo() { return JNT_NECK; }
123 BOOL checkChangeJoint(int param_1) { return param_1 == JNT_HEAD; }
124 BOOL checkRemoveJoint(int param_1) { return param_1 == JNT_MOUTH; }
125 u16 getEyeballMaterialNo() { return 1; };
126
127 static char* mCutNameList;
128 static cutFunc mCutList[1];
129
130private:
131 /* 0x0F7C */ NPC_GRMC_HIO_CLASS* mpHIO;
132 /* 0x0F80 */ dCcD_Cyl mCyl;
133 /* 0x10BC */ u8 mType;
135 /* 0x10CC */ actionFunc mAction;
136 /* 0x10D8 */ int field_0x10d8;
137 /* 0x10DC */ u8 field_0x10dc;
138 /* 0x10DD */ u8 field_0x10dd;
139 /* 0x10DE */ u8 field_0x10de[0x10e0 - 0x10de];
140 /* 0x10E0 */ u8 field_0x10e0;
141};
142
143STATIC_ASSERT(sizeof(daNpc_grMC_c) == 0x10e4);
144
145#endif /* D_A_NPC_GRMC_H */
int cPhs_Step
Definition c_phase.h:8
Definition d_cc_d.h:472
Definition d_shop_system.h:11
Definition d_a_npc_grmc.h:26
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_grmc.cpp:225
daNpc_grMC_HIOParam m
Definition d_a_npc_grmc.h:28
daNpc_grMC_HIO_c()
Definition d_a_npc_grmc.cpp:221
void genMessage(JORMContext *)
Definition d_a_npc_grmc.cpp:229
Definition d_a_npc_grmc.h:37
static daNpc_grMC_HIOParam const m
Definition d_a_npc_grmc.h:174
virtual ~daNpc_grMC_Param_c()
Definition d_a_npc_grmc.h:39
Goron Child (Shopkeeper)
Definition d_a_npc_grmc.h:44
void beforeMove()
Definition d_a_npc_grmc.cpp:546
int talk(void *)
Definition d_a_npc_grmc.cpp:690
int getFlowNodeNo()
Definition d_a_npc_grmc.cpp:375
u8 mType
Definition d_a_npc_grmc.h:133
BOOL evtTalk()
Definition d_a_npc_grmc.cpp:487
void srchActors()
Definition d_a_npc_grmc.cpp:483
~daNpc_grMC_c()
Definition d_a_npc_grmc.cpp:158
static char * mCutNameList
Definition d_a_npc_grmc.h:127
NPC_GRMC_HIO_CLASS * mpHIO
Definition d_a_npc_grmc.h:131
void setAfterTalkMotion()
Definition d_a_npc_grmc.cpp:459
int test(void *)
Definition d_a_npc_grmc.cpp:761
void setAttnPos()
Definition d_a_npc_grmc.cpp:552
BOOL evtCutProc()
Definition d_a_npc_grmc.cpp:504
int Delete()
Definition d_a_npc_grmc.cpp:324
actionFunc mAction
Definition d_a_npc_grmc.h:135
dCcD_Cyl mCyl
Definition d_a_npc_grmc.h:132
daNpc_grMC_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_grmc.h:108
BOOL setAction(actionFunc)
Definition d_a_npc_grmc.cpp:634
u8 field_0x10de[0x10e0 - 0x10de]
Definition d_a_npc_grmc.h:139
u8 field_0x10dd
Definition d_a_npc_grmc.h:138
u8 field_0x10dc
Definition d_a_npc_grmc.h:137
BOOL chkAction(actionFunc)
Definition d_a_npc_grmc.cpp:630
int Execute()
Definition d_a_npc_grmc.cpp:329
u8 getMaxNumItem()
Definition d_a_npc_grmc.cpp:385
void action()
Definition d_a_npc_grmc.cpp:521
int Draw()
Definition d_a_npc_grmc.cpp:349
void drawOtherMdl()
Definition d_a_npc_grmc.cpp:614
u8 getType()
Definition d_a_npc_grmc.cpp:371
BOOL checkChangeJoint(int param_1)
Definition d_a_npc_grmc.h:123
s32 getNeckJointNo()
Definition d_a_npc_grmc.h:121
cPhs_Step create()
Definition d_a_npc_grmc.cpp:234
int(daNpc_grMC_c::*) cutFunc(int)
Definition d_a_npc_grmc.h:73
BOOL selectAction()
Definition d_a_npc_grmc.cpp:624
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_grmc.cpp:358
void setParam()
Definition d_a_npc_grmc.cpp:417
s32 getBackboneJointNo()
Definition d_a_npc_grmc.h:122
void setCollision()
Definition d_a_npc_grmc.cpp:578
BOOL checkRemoveJoint(int param_1)
Definition d_a_npc_grmc.h:124
int(daNpc_grMC_c::*) actionFunc(void *)
Definition d_a_npc_grmc.h:74
void afterJntAnm(int)
Definition d_a_npc_grmc.cpp:407
BOOL isDelete()
Definition d_a_npc_grmc.cpp:389
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_grmc.cpp:353
int CreateHeap()
Definition d_a_npc_grmc.cpp:290
Joint
Definition d_a_npc_grmc.h:47
@ JNT_HANDL
Definition d_a_npc_grmc.h:59
@ JNT_SHOULDERL
Definition d_a_npc_grmc.h:56
@ JNT_NECK
Definition d_a_npc_grmc.h:51
@ JNT_SHOULDERR
Definition d_a_npc_grmc.h:60
@ JNT_CHIN
Definition d_a_npc_grmc.h:53
@ JNT_MAYU
Definition d_a_npc_grmc.h:54
@ JNT_ARML1
Definition d_a_npc_grmc.h:57
@ JNT_HANDR
Definition d_a_npc_grmc.h:63
@ JNT_ARML2
Definition d_a_npc_grmc.h:58
@ JNT_FOOTR
Definition d_a_npc_grmc.h:70
@ JNT_ARMR2
Definition d_a_npc_grmc.h:62
@ JNT_LEGL2
Definition d_a_npc_grmc.h:66
@ JNT_BACKBONE2
Definition d_a_npc_grmc.h:50
@ JNT_ARMR1
Definition d_a_npc_grmc.h:61
@ JNT_CENTER
Definition d_a_npc_grmc.h:48
@ JNT_WAIST
Definition d_a_npc_grmc.h:64
@ JNT_MOUTH
Definition d_a_npc_grmc.h:55
@ JNT_BACKBONE1
Definition d_a_npc_grmc.h:49
@ JNT_LEGL1
Definition d_a_npc_grmc.h:65
@ JNT_HEAD
Definition d_a_npc_grmc.h:52
@ JNT_LEGR2
Definition d_a_npc_grmc.h:69
@ JNT_LEGR1
Definition d_a_npc_grmc.h:68
@ JNT_FOOTL
Definition d_a_npc_grmc.h:67
int tend(void *)
Definition d_a_npc_grmc.cpp:651
actionFunc mNextAction
Definition d_a_npc_grmc.h:134
u8 field_0x10e0
Definition d_a_npc_grmc.h:140
u16 getEyeballMaterialNo()
Definition d_a_npc_grmc.h:125
static cutFunc mCutList[1]
Definition d_a_npc_grmc.h:154
int shop(void *)
Definition d_a_npc_grmc.cpp:728
int drawDbgInfo()
Definition d_a_npc_grmc.cpp:610
s32 getHeadJointNo()
Definition d_a_npc_grmc.h:120
void reset()
Definition d_a_npc_grmc.cpp:400
int field_0x10d8
Definition d_a_npc_grmc.h:136
Definition f_op_actor.h:271
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_grMC_c)==0x10e4)
Definition d_a_npc.h:843
Definition d_a_npc.h:484
Definition d_a_npc.h:489
Definition d_a_npc.h:504
Definition d_a_npc_grmc.h:22
daNpcT_HIOParam common
Definition d_a_npc_grmc.h:23