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
33
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();
87 BOOL isDelete();
88 void reset();
89 void afterJntAnm(int);
90 void setParam();
91 void setAfterTalkMotion();
92 void srchActors();
93 BOOL evtTalk();
95 void action();
96 void beforeMove();
97 void setAttnPos();
98 void setCollision();
99 int drawDbgInfo();
100 void drawOtherMdl();
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) {}
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 J3DJoint.h:66
Definition JORMContext.h:128
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:224
daNpc_grMC_HIOParam m
Definition d_a_npc_grmc.h:28
daNpc_grMC_HIO_c()
Definition d_a_npc_grmc.cpp:220
void genMessage(JORMContext *)
Definition d_a_npc_grmc.cpp:228
Definition d_a_npc_grmc.h:37
static daNpc_grMC_HIOParam const m
Definition d_a_npc_grmc.h:173
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:545
int talk(void *)
Definition d_a_npc_grmc.cpp:689
int getFlowNodeNo()
Definition d_a_npc_grmc.cpp:374
u8 mType
Definition d_a_npc_grmc.h:133
BOOL evtTalk()
Definition d_a_npc_grmc.cpp:486
void srchActors()
Definition d_a_npc_grmc.cpp:482
~daNpc_grMC_c()
Definition d_a_npc_grmc.cpp:157
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:458
int test(void *)
Definition d_a_npc_grmc.cpp:760
void setAttnPos()
Definition d_a_npc_grmc.cpp:551
BOOL evtCutProc()
Definition d_a_npc_grmc.cpp:503
int Delete()
Definition d_a_npc_grmc.cpp:323
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:633
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:629
int Execute()
Definition d_a_npc_grmc.cpp:328
u8 getMaxNumItem()
Definition d_a_npc_grmc.cpp:384
void action()
Definition d_a_npc_grmc.cpp:520
int Draw()
Definition d_a_npc_grmc.cpp:348
void drawOtherMdl()
Definition d_a_npc_grmc.cpp:613
u8 getType()
Definition d_a_npc_grmc.cpp:370
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:233
int(daNpc_grMC_c::*) cutFunc(int)
Definition d_a_npc_grmc.h:73
BOOL selectAction()
Definition d_a_npc_grmc.cpp:623
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_grmc.cpp:357
void setParam()
Definition d_a_npc_grmc.cpp:416
s32 getBackboneJointNo()
Definition d_a_npc_grmc.h:122
void setCollision()
Definition d_a_npc_grmc.cpp:577
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:406
BOOL isDelete()
Definition d_a_npc_grmc.cpp:388
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_grmc.cpp:352
int CreateHeap()
Definition d_a_npc_grmc.cpp:289
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:650
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:153
int shop(void *)
Definition d_a_npc_grmc.cpp:727
int drawDbgInfo()
Definition d_a_npc_grmc.cpp:609
s32 getHeadJointNo()
Definition d_a_npc_grmc.h:120
void reset()
Definition d_a_npc_grmc.cpp:399
int field_0x10d8
Definition d_a_npc_grmc.h:136
Definition f_op_actor.h:243
Definition m_Do_hostIO.h:26
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 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_grmc.h:22
daNpcT_HIOParam common
Definition d_a_npc_grmc.h:23