Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_zelRo.h
Go to the documentation of this file.
1#ifndef D_A_NPC_ZELRO_H
2#define D_A_NPC_ZELRO_H
3
4#include "d/actor/d_a_npc.h"
5
18
20public:
22
23 static daNpc_ZelRo_HIOParam const m;
24};
25
26#if DEBUG
37
38#define NPC_ZELRO_HIO_CLASS daNpc_ZelRo_HIO_c
39#else
40#define NPC_ZELRO_HIO_CLASS daNpc_ZelRo_Param_c
41#endif
42
43class daNpc_ZelRo_c : public daNpcT_c {
44public:
45 enum Material {
46 /* 0x0 */ SC_EYE_L_V,
47 /* 0x1 */ SC_EYE_R_V,
48 /* 0x2 */ ZELR_ROBE01_M_V,
49 /* 0x3 */ ZELR_ROBE02_M_V,
50 /* 0x4 */ ZELDA_BODY_M_V,
54 /* 0x8 */ ZELDA_HAIR_M_V,
55 /* 0x9 */ ZELDA_JEWEL_M_V,
56 };
57
58 enum Joint {
59 /* 0x00 */ JNT_CENTER,
60 /* 0x01 */ JNT_BACKBONE1,
61 /* 0x02 */ JNT_BACKBONE2,
62 /* 0x03 */ JNT_NECK,
63 /* 0x04 */ JNT_HEAD,
64 /* 0x05 */ JNT_CHIN,
65 /* 0x06 */ JNT_MANT,
66 /* 0x07 */ JNT_MAYUL,
67 /* 0x08 */ JNT_MAYUR,
68 /* 0x09 */ JNT_MOMIL1,
69 /* 0x0A */ JNT_MOMIL2,
70 /* 0x0B */ JNT_MOMIL3,
71 /* 0x0C */ JNT_MOMIR1,
72 /* 0x0D */ JNT_MOMIR2,
73 /* 0x0E */ JNT_MOMIR3,
74 /* 0x0F */ JNT_MOUTH,
75 /* 0x10 */ JNT_SHOULDERL,
76 /* 0x11 */ JNT_ARML1,
77 /* 0x12 */ JNT_ARML2,
78 /* 0x13 */ JNT_HANDL,
79 /* 0x14 */ JNT_FINGERL1,
80 /* 0x15 */ JNT_FINGERL2,
81 /* 0x16 */ JNT_THAMBL,
82 /* 0x17 */ JNT_SHOULDERR,
83 /* 0x18 */ JNT_ARMR1,
84 /* 0x19 */ JNT_ARMR2,
85 /* 0x1A */ JNT_HANDR,
86 /* 0x1B */ JNT_FINGERR1,
87 /* 0x1C */ JNT_FINGERR2,
88 /* 0x1D */ JNT_THAMBR,
89 /* 0x1E */ JNT_WAIST,
90 /* 0x1F */ JNT_SKARTL_01,
91 /* 0x20 */ JNT_SKARTL_02,
92 /* 0x21 */ JNT_SKARTL_03,
93 /* 0x22 */ JNT_SKARTR_01,
94 /* 0x23 */ JNT_SKARTR_02,
95 /* 0x24 */ JNT_SKARTR_03,
96 };
97
98 typedef int (daNpc_ZelRo_c::*actionFunc)(void*);
99 typedef int (daNpc_ZelRo_c::*cutFunc)(int);
100
103 int CreateHeap();
104 int Delete();
105 int Execute();
106 int Draw();
107 static int createHeapCallBack(fopAc_ac_c*);
108 static int ctrlJointCallBack(J3DJoint*, int);
109 u8 getType();
110 int getFlowNodeNo();
111 u8 getPath();
112 BOOL isDelete();
113 void reset();
114 void afterJntAnm(int);
115 BOOL ctrlBtk();
116 void setParam();
117 void setAfterTalkMotion();
118 void srchActors();
119 BOOL evtTalk();
121 void action();
122 void beforeMove();
123 void setAttnPos();
124 void setCollision();
125 int drawDbgInfo();
129 int wait(void*);
130 int talk(void*);
131 int test(void*);
133 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
134 daNpcT_motionAnmData_c const* i_motionAnmData,
135 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
136 int i_faceMotionStepNum,
137 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
138 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
139 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
140 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
141 i_arcNames) {}
147 BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; }
148 BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; }
149
150 static char* mCutNameList;
151 static cutFunc mCutList[1];
152
153private:
154 /* 0xE40 */ NPC_ZELRO_HIO_CLASS* mpHIO;
155 /* 0xE44 */ dCcD_Cyl mCyl;
156 /* 0xF80 */ u8 mType;
158 /* 0xF90 */ actionFunc mAction;
159 /* 0xF9C */ daNpcT_Path_c mPath;
160 /* 0xFC4 */ u8 field_0xfc4;
161};
162
163STATIC_ASSERT(sizeof(daNpc_ZelRo_c) == 0xfc8);
164
165#endif /* D_A_NPC_ZELRO_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_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_zelRo.h:27
void genMessage(JORMContext *)
Definition d_a_npc_zelRo.cpp:146
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_zelRo.cpp:142
daNpc_ZelRo_HIOParam m
Definition d_a_npc_zelRo.h:35
daNpc_ZelRo_HIO_c()
Definition d_a_npc_zelRo.cpp:138
Definition d_a_npc_zelRo.h:19
static daNpc_ZelRo_HIOParam const m
Definition d_a_npc_zelRo.h:91
virtual ~daNpc_ZelRo_Param_c()
Definition d_a_npc_zelRo.h:21
Zelda (Cloaked)
Definition d_a_npc_zelRo.h:43
BOOL chkAction(actionFunc)
Definition d_a_npc_zelRo.cpp:561
NPC_ZELRO_HIO_CLASS * mpHIO
Definition d_a_npc_zelRo.h:154
BOOL selectAction()
Definition d_a_npc_zelRo.cpp:555
BOOL setAction(actionFunc)
Definition d_a_npc_zelRo.cpp:565
int drawDbgInfo()
Definition d_a_npc_zelRo.cpp:551
void setCollision()
Definition d_a_npc_zelRo.cpp:519
void beforeMove()
Definition d_a_npc_zelRo.cpp:492
void srchActors()
Definition d_a_npc_zelRo.cpp:424
BOOL evtCutProc()
Definition d_a_npc_zelRo.cpp:451
int(daNpc_ZelRo_c::*) actionFunc(void *)
Definition d_a_npc_zelRo.h:98
void setParam()
Definition d_a_npc_zelRo.cpp:394
~daNpc_ZelRo_c()
Definition d_a_npc_zelRo.cpp:151
int CreateHeap()
Definition d_a_npc_zelRo.cpp:224
void setAttnPos()
Definition d_a_npc_zelRo.cpp:498
void action()
Definition d_a_npc_zelRo.cpp:468
Joint
Definition d_a_npc_zelRo.h:58
@ JNT_SKARTL_01
Definition d_a_npc_zelRo.h:90
@ JNT_MOMIR2
Definition d_a_npc_zelRo.h:72
@ JNT_CHIN
Definition d_a_npc_zelRo.h:64
@ JNT_NECK
Definition d_a_npc_zelRo.h:62
@ JNT_FINGERR2
Definition d_a_npc_zelRo.h:87
@ JNT_BACKBONE1
Definition d_a_npc_zelRo.h:60
@ JNT_HANDR
Definition d_a_npc_zelRo.h:85
@ JNT_SHOULDERR
Definition d_a_npc_zelRo.h:82
@ JNT_MAYUR
Definition d_a_npc_zelRo.h:67
@ JNT_WAIST
Definition d_a_npc_zelRo.h:89
@ JNT_SHOULDERL
Definition d_a_npc_zelRo.h:75
@ JNT_FINGERL1
Definition d_a_npc_zelRo.h:79
@ JNT_MANT
Definition d_a_npc_zelRo.h:65
@ JNT_THAMBL
Definition d_a_npc_zelRo.h:81
@ JNT_SKARTR_02
Definition d_a_npc_zelRo.h:94
@ JNT_MOMIL3
Definition d_a_npc_zelRo.h:70
@ JNT_MOMIL1
Definition d_a_npc_zelRo.h:68
@ JNT_FINGERR1
Definition d_a_npc_zelRo.h:86
@ JNT_ARMR2
Definition d_a_npc_zelRo.h:84
@ JNT_SKARTL_02
Definition d_a_npc_zelRo.h:91
@ JNT_SKARTR_01
Definition d_a_npc_zelRo.h:93
@ JNT_SKARTR_03
Definition d_a_npc_zelRo.h:95
@ JNT_MOMIL2
Definition d_a_npc_zelRo.h:69
@ JNT_HANDL
Definition d_a_npc_zelRo.h:78
@ JNT_FINGERL2
Definition d_a_npc_zelRo.h:80
@ JNT_MAYUL
Definition d_a_npc_zelRo.h:66
@ JNT_ARML1
Definition d_a_npc_zelRo.h:76
@ JNT_ARML2
Definition d_a_npc_zelRo.h:77
@ JNT_MOUTH
Definition d_a_npc_zelRo.h:74
@ JNT_HEAD
Definition d_a_npc_zelRo.h:63
@ JNT_CENTER
Definition d_a_npc_zelRo.h:59
@ JNT_BACKBONE2
Definition d_a_npc_zelRo.h:61
@ JNT_THAMBR
Definition d_a_npc_zelRo.h:88
@ JNT_MOMIR1
Definition d_a_npc_zelRo.h:71
@ JNT_ARMR1
Definition d_a_npc_zelRo.h:83
@ JNT_MOMIR3
Definition d_a_npc_zelRo.h:73
@ JNT_SKARTL_03
Definition d_a_npc_zelRo.h:92
void reset()
Definition d_a_npc_zelRo.cpp:340
static char * mCutNameList
Definition d_a_npc_zelRo.h:150
BOOL isDelete()
Definition d_a_npc_zelRo.cpp:325
u8 mType
Definition d_a_npc_zelRo.h:156
u8 getType()
Definition d_a_npc_zelRo.cpp:301
BOOL evtTalk()
Definition d_a_npc_zelRo.cpp:428
void afterJntAnm(int)
Definition d_a_npc_zelRo.cpp:359
actionFunc mAction
Definition d_a_npc_zelRo.h:158
int test(void *)
Definition d_a_npc_zelRo.cpp:650
Material
Definition d_a_npc_zelRo.h:45
@ ZELR_ROBE01_M_V
Definition d_a_npc_zelRo.h:48
@ ZELDA_HAIR_M_V
Definition d_a_npc_zelRo.h:54
@ SC_EYE_R_V
Definition d_a_npc_zelRo.h:47
@ ZELDA_DOUBLESIDE_M_V
Definition d_a_npc_zelRo.h:51
@ SC_EYE_L_V
Definition d_a_npc_zelRo.h:46
@ ZELDA_EYEBALL_L_V
Definition d_a_npc_zelRo.h:52
@ ZELDA_JEWEL_M_V
Definition d_a_npc_zelRo.h:55
@ ZELDA_EYEBALL_R_V
Definition d_a_npc_zelRo.h:53
@ ZELR_ROBE02_M_V
Definition d_a_npc_zelRo.h:49
@ ZELDA_BODY_M_V
Definition d_a_npc_zelRo.h:50
s32 getBackboneJointNo()
Definition d_a_npc_zelRo.h:146
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_zelRo.cpp:284
u8 getPath()
Definition d_a_npc_zelRo.cpp:321
u8 field_0xfc4
Definition d_a_npc_zelRo.h:160
u16 getEyeballLMaterialNo()
Definition d_a_npc_zelRo.h:143
int wait(void *)
Definition d_a_npc_zelRo.cpp:582
int Delete()
Definition d_a_npc_zelRo.cpp:260
s32 getNeckJointNo()
Definition d_a_npc_zelRo.h:145
static cutFunc mCutList[1]
Definition d_a_npc_zelRo.h:87
int getFlowNodeNo()
Definition d_a_npc_zelRo.cpp:311
int Execute()
Definition d_a_npc_zelRo.cpp:265
dCcD_Cyl mCyl
Definition d_a_npc_zelRo.h:155
daNpcT_Path_c mPath
Definition d_a_npc_zelRo.h:159
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_zelRo.cpp:288
BOOL ctrlBtk()
Definition d_a_npc_zelRo.cpp:369
u16 getEyeballRMaterialNo()
Definition d_a_npc_zelRo.h:142
daNpc_ZelRo_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_zelRo.h:132
cPhs_Step create()
Definition d_a_npc_zelRo.cpp:165
void setAfterTalkMotion()
Definition d_a_npc_zelRo.cpp:419
int Draw()
Definition d_a_npc_zelRo.cpp:269
int talk(void *)
Definition d_a_npc_zelRo.cpp:614
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_zelRo.h:147
int(daNpc_ZelRo_c::*) cutFunc(int)
Definition d_a_npc_zelRo.h:99
actionFunc mNextAction
Definition d_a_npc_zelRo.h:157
s32 getHeadJointNo()
Definition d_a_npc_zelRo.h:144
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_zelRo.h:148
Definition f_op_actor.h:243
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_ZelRo_c)==0xfc8)
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_zelRo.h:15
daNpcT_HIOParam common
Definition d_a_npc_zelRo.h:16