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};
30
32public:
34
35 static daNpc_grMC_HIOParam const m;
36};
37
39public:
40
41 enum Joint {
42 /* 0x00 */ JNT_CENTER,
43 /* 0x01 */ JNT_BACKBONE1,
44 /* 0x02 */ JNT_BACKBONE2,
45 /* 0x03 */ JNT_NECK,
46 /* 0x04 */ JNT_HEAD,
47 /* 0x05 */ JNT_CHIN,
48 /* 0x06 */ JNT_MAYU,
49 /* 0x07 */ JNT_MOUTH,
50 /* 0x08 */ JNT_SHOULDERL,
51 /* 0x09 */ JNT_ARML1,
52 /* 0x0A */ JNT_ARML2,
53 /* 0x0B */ JNT_HANDL,
54 /* 0x0C */ JNT_SHOULDERR,
55 /* 0x0D */ JNT_ARMR1,
56 /* 0x0E */ JNT_ARMR2,
57 /* 0x0F */ JNT_HANDR,
58 /* 0x10 */ JNT_WAIST,
59 /* 0x11 */ JNT_LEGL1,
60 /* 0x12 */ JNT_LEGL2,
61 /* 0x13 */ JNT_FOOTL,
62 /* 0x14 */ JNT_LEGR1,
63 /* 0x15 */ JNT_LEGR2,
64 /* 0x16 */ JNT_FOOTR,
65 };
66
67 typedef int (daNpc_grMC_c::*cutFunc)(int);
68 typedef int (daNpc_grMC_c::*actionFunc)(void*);
69
72 int CreateHeap();
73 int Delete();
74 int Execute();
75 int Draw();
76 static int createHeapCallBack(fopAc_ac_c*);
77 static int ctrlJointCallBack(J3DJoint*, int);
78 u8 getType();
79 int getFlowNodeNo();
81 BOOL isDelete();
82 void reset();
83 void afterJntAnm(int);
84 void setParam();
85 void setAfterTalkMotion();
86 void srchActors();
87 BOOL evtTalk();
89 void action();
90 void beforeMove();
91 void setAttnPos();
92 void setCollision();
93 int drawDbgInfo();
94 void drawOtherMdl();
98 int tend(void*);
99 int talk(void*);
100 int shop(void*);
101 int test(void*);
103 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
104 daNpcT_motionAnmData_c const* i_motionAnmData,
105 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
106 int i_faceMotionStepNum,
107 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
108 int i_motionStepNum,
109 daNpcT_evtData_c const* i_evtData,
110 char** i_arcNames)
111 : dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
112 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
113 i_arcNames) {}
117 BOOL checkChangeJoint(int param_1) { return param_1 == JNT_HEAD; }
118 BOOL checkRemoveJoint(int param_1) { return param_1 == JNT_MOUTH; }
119 u16 getEyeballMaterialNo() { return 1; };
120
121 static char* mCutNameList;
122 static cutFunc mCutList[1];
123
124private:
125 /* 0x0F7C */ NPC_GRMC_HIO_CLASS* mHIO;
126 /* 0x0F80 */ dCcD_Cyl mCyl;
127 /* 0x10BC */ u8 mType;
129 /* 0x10CC */ actionFunc mAction;
130 /* 0x10D8 */ int field_0x10d8;
131 /* 0x10DC */ u8 field_0x10dc;
132 /* 0x10DD */ u8 field_0x10dd;
133 /* 0x10DE */ u8 field_0x10de[0x10e0 - 0x10de];
134 /* 0x10E0 */ u8 field_0x10e0;
135};
136
137STATIC_ASSERT(sizeof(daNpc_grMC_c) == 0x10e4);
138
139#endif /* D_A_NPC_GRMC_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_grmc.h:26
daNpc_grMC_HIOParam m
Definition d_a_npc_grmc.h:28
Definition d_a_npc_grmc.h:31
static daNpc_grMC_HIOParam const m
Definition d_a_npc_grmc.h:167
virtual ~daNpc_grMC_Param_c()
Definition d_a_npc_grmc.h:33
Goron Child (Shopkeeper)
Definition d_a_npc_grmc.h:38
void beforeMove()
Definition d_a_npc_grmc.cpp:525
int talk(void *)
Definition d_a_npc_grmc.cpp:669
int getFlowNodeNo()
Definition d_a_npc_grmc.cpp:354
u8 mType
Definition d_a_npc_grmc.h:127
BOOL evtTalk()
Definition d_a_npc_grmc.cpp:466
void srchActors()
Definition d_a_npc_grmc.cpp:462
cPhs__Step create()
Definition d_a_npc_grmc.cpp:211
NPC_GRMC_HIO_CLASS * mHIO
Definition d_a_npc_grmc.h:125
~daNpc_grMC_c()
Definition d_a_npc_grmc.cpp:157
static char * mCutNameList
Definition d_a_npc_grmc.h:121
void setAfterTalkMotion()
Definition d_a_npc_grmc.cpp:438
int test(void *)
Definition d_a_npc_grmc.cpp:740
void setAttnPos()
Definition d_a_npc_grmc.cpp:531
BOOL evtCutProc()
Definition d_a_npc_grmc.cpp:483
int Delete()
Definition d_a_npc_grmc.cpp:296
actionFunc mAction
Definition d_a_npc_grmc.h:129
dCcD_Cyl mCyl
Definition d_a_npc_grmc.h:126
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:102
BOOL setAction(actionFunc)
Definition d_a_npc_grmc.cpp:613
u8 field_0x10de[0x10e0 - 0x10de]
Definition d_a_npc_grmc.h:133
u8 field_0x10dd
Definition d_a_npc_grmc.h:132
u8 field_0x10dc
Definition d_a_npc_grmc.h:131
BOOL chkAction(actionFunc)
Definition d_a_npc_grmc.cpp:609
int Execute()
Definition d_a_npc_grmc.cpp:301
u8 getMaxNumItem()
Definition d_a_npc_grmc.cpp:364
void action()
Definition d_a_npc_grmc.cpp:500
int Draw()
Definition d_a_npc_grmc.cpp:321
void drawOtherMdl()
Definition d_a_npc_grmc.cpp:593
u8 getType()
Definition d_a_npc_grmc.cpp:350
BOOL checkChangeJoint(int param_1)
Definition d_a_npc_grmc.h:117
s32 getNeckJointNo()
Definition d_a_npc_grmc.h:115
int(daNpc_grMC_c::*) cutFunc(int)
Definition d_a_npc_grmc.h:67
BOOL selectAction()
Definition d_a_npc_grmc.cpp:603
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_grmc.cpp:337
void setParam()
Definition d_a_npc_grmc.cpp:396
s32 getBackboneJointNo()
Definition d_a_npc_grmc.h:116
void setCollision()
Definition d_a_npc_grmc.cpp:557
BOOL checkRemoveJoint(int param_1)
Definition d_a_npc_grmc.h:118
int(daNpc_grMC_c::*) actionFunc(void *)
Definition d_a_npc_grmc.h:68
void afterJntAnm(int)
Definition d_a_npc_grmc.cpp:386
BOOL isDelete()
Definition d_a_npc_grmc.cpp:368
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_grmc.cpp:332
int CreateHeap()
Definition d_a_npc_grmc.cpp:262
Joint
Definition d_a_npc_grmc.h:41
@ JNT_HANDL
Definition d_a_npc_grmc.h:53
@ JNT_SHOULDERL
Definition d_a_npc_grmc.h:50
@ JNT_NECK
Definition d_a_npc_grmc.h:45
@ JNT_SHOULDERR
Definition d_a_npc_grmc.h:54
@ JNT_CHIN
Definition d_a_npc_grmc.h:47
@ JNT_MAYU
Definition d_a_npc_grmc.h:48
@ JNT_ARML1
Definition d_a_npc_grmc.h:51
@ JNT_HANDR
Definition d_a_npc_grmc.h:57
@ JNT_ARML2
Definition d_a_npc_grmc.h:52
@ JNT_FOOTR
Definition d_a_npc_grmc.h:64
@ JNT_ARMR2
Definition d_a_npc_grmc.h:56
@ JNT_LEGL2
Definition d_a_npc_grmc.h:60
@ JNT_BACKBONE2
Definition d_a_npc_grmc.h:44
@ JNT_ARMR1
Definition d_a_npc_grmc.h:55
@ JNT_CENTER
Definition d_a_npc_grmc.h:42
@ JNT_WAIST
Definition d_a_npc_grmc.h:58
@ JNT_MOUTH
Definition d_a_npc_grmc.h:49
@ JNT_BACKBONE1
Definition d_a_npc_grmc.h:43
@ JNT_LEGL1
Definition d_a_npc_grmc.h:59
@ JNT_HEAD
Definition d_a_npc_grmc.h:46
@ JNT_LEGR2
Definition d_a_npc_grmc.h:63
@ JNT_LEGR1
Definition d_a_npc_grmc.h:62
@ JNT_FOOTL
Definition d_a_npc_grmc.h:61
int tend(void *)
Definition d_a_npc_grmc.cpp:630
actionFunc mNextAction
Definition d_a_npc_grmc.h:128
u8 field_0x10e0
Definition d_a_npc_grmc.h:134
u16 getEyeballMaterialNo()
Definition d_a_npc_grmc.h:119
static cutFunc mCutList[1]
Definition d_a_npc_grmc.h:153
int shop(void *)
Definition d_a_npc_grmc.cpp:707
int drawDbgInfo()
Definition d_a_npc_grmc.cpp:589
s32 getHeadJointNo()
Definition d_a_npc_grmc.h:114
void reset()
Definition d_a_npc_grmc.cpp:379
int field_0x10d8
Definition d_a_npc_grmc.h:130
Definition f_op_actor.h:230
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_grMC_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_grmc.h:22
daNpcT_HIOParam common
Definition d_a_npc_grmc.h:23