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
22
24public:
26
27 static daNpc_ZelRo_HIOParam const m;
28};
29
30class daNpc_ZelRo_c : public daNpcT_c {
31public:
32 enum Material {
33 /* 0x0 */ SC_EYE_L_V,
34 /* 0x1 */ SC_EYE_R_V,
35 /* 0x2 */ ZELR_ROBE01_M_V,
36 /* 0x3 */ ZELR_ROBE02_M_V,
37 /* 0x4 */ ZELDA_BODY_M_V,
41 /* 0x8 */ ZELDA_HAIR_M_V,
42 /* 0x9 */ ZELDA_JEWEL_M_V,
43 };
44
45 enum Joint {
46 /* 0x00 */ JNT_CENTER,
47 /* 0x01 */ JNT_BACKBONE1,
48 /* 0x02 */ JNT_BACKBONE2,
49 /* 0x03 */ JNT_NECK,
50 /* 0x04 */ JNT_HEAD,
51 /* 0x05 */ JNT_CHIN,
52 /* 0x06 */ JNT_MANT,
53 /* 0x07 */ JNT_MAYUL,
54 /* 0x08 */ JNT_MAYUR,
55 /* 0x09 */ JNT_MOMIL1,
56 /* 0x0A */ JNT_MOMIL2,
57 /* 0x0B */ JNT_MOMIL3,
58 /* 0x0C */ JNT_MOMIR1,
59 /* 0x0D */ JNT_MOMIR2,
60 /* 0x0E */ JNT_MOMIR3,
61 /* 0x0F */ JNT_MOUTH,
62 /* 0x10 */ JNT_SHOULDERL,
63 /* 0x11 */ JNT_ARML1,
64 /* 0x12 */ JNT_ARML2,
65 /* 0x13 */ JNT_HANDL,
66 /* 0x14 */ JNT_FINGERL1,
67 /* 0x15 */ JNT_FINGERL2,
68 /* 0x16 */ JNT_THAMBL,
69 /* 0x17 */ JNT_SHOULDERR,
70 /* 0x18 */ JNT_ARMR1,
71 /* 0x19 */ JNT_ARMR2,
72 /* 0x1A */ JNT_HANDR,
73 /* 0x1B */ JNT_FINGERR1,
74 /* 0x1C */ JNT_FINGERR2,
75 /* 0x1D */ JNT_THAMBR,
76 /* 0x1E */ JNT_WAIST,
77 /* 0x1F */ JNT_SKARTL_01,
78 /* 0x20 */ JNT_SKARTL_02,
79 /* 0x21 */ JNT_SKARTL_03,
80 /* 0x22 */ JNT_SKARTR_01,
81 /* 0x23 */ JNT_SKARTR_02,
82 /* 0x24 */ JNT_SKARTR_03,
83 };
84
85 typedef int (daNpc_ZelRo_c::*actionFunc)(void*);
86 typedef int (daNpc_ZelRo_c::*cutFunc)(int);
90 int CreateHeap();
91 int Delete();
92 int Execute();
93 int Draw();
94 static int createHeapCallBack(fopAc_ac_c*);
95 static int ctrlJointCallBack(J3DJoint*, int);
96 u8 getType();
97 int getFlowNodeNo();
98 u8 getPath();
100 void reset();
101 void afterJntAnm(int);
102 BOOL ctrlBtk();
103 void setParam();
104 void setAfterTalkMotion();
105 void srchActors();
106 BOOL evtTalk();
108 void action();
109 void beforeMove();
110 void setAttnPos();
111 void setCollision();
112 int drawDbgInfo();
116 int wait(void*);
117 int talk(void*);
118 int test(void*);
120 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
121 daNpcT_motionAnmData_c const* i_motionAnmData,
122 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
123 int i_faceMotionStepNum,
124 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
125 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
126 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
127 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
128 i_arcNames) {}
134 BOOL checkChangeJoint(int i_joint) { return i_joint == JNT_HEAD; }
135 BOOL checkRemoveJoint(int i_joint) { return i_joint == JNT_MOUTH; }
136
137 static char* mCutNameList;
138 static cutFunc mCutList[1];
139
140private:
142 /* 0xE44 */ dCcD_Cyl mCyl;
143 /* 0xF80 */ u8 mType;
145 /* 0xF90 */ actionFunc mAction;
146 /* 0xF9C */ daNpcT_Path_c mPath;
147 /* 0xFC4 */ u8 field_0xfc4;
148};
149
150STATIC_ASSERT(sizeof(daNpc_ZelRo_c) == 0xfc8);
151
152#endif /* D_A_NPC_ZELRO_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition d_cc_d.h:461
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_zelRo.h:19
daNpc_ZelRo_HIOParam param
Definition d_a_npc_zelRo.h:20
Definition d_a_npc_zelRo.h:23
static daNpc_ZelRo_HIOParam const m
Definition d_a_npc_zelRo.h:99
virtual ~daNpc_ZelRo_Param_c()
Definition d_a_npc_zelRo.h:25
Zelda (Cloaked)
Definition d_a_npc_zelRo.h:30
BOOL chkAction(actionFunc)
Definition d_a_npc_zelRo.cpp:540
BOOL selectAction()
Definition d_a_npc_zelRo.cpp:534
BOOL setAction(actionFunc)
Definition d_a_npc_zelRo.cpp:544
int drawDbgInfo()
Definition d_a_npc_zelRo.cpp:530
void setCollision()
Definition d_a_npc_zelRo.cpp:498
void beforeMove()
Definition d_a_npc_zelRo.cpp:471
void srchActors()
Definition d_a_npc_zelRo.cpp:403
BOOL evtCutProc()
Definition d_a_npc_zelRo.cpp:430
int(daNpc_ZelRo_c::*) actionFunc(void *)
Definition d_a_npc_zelRo.h:85
void setParam()
Definition d_a_npc_zelRo.cpp:373
~daNpc_ZelRo_c()
Definition d_a_npc_zelRo.cpp:91
int CreateHeap()
Definition d_a_npc_zelRo.cpp:197
void setAttnPos()
Definition d_a_npc_zelRo.cpp:477
void action()
Definition d_a_npc_zelRo.cpp:447
Joint
Definition d_a_npc_zelRo.h:45
@ JNT_SKARTL_01
Definition d_a_npc_zelRo.h:77
@ JNT_MOMIR2
Definition d_a_npc_zelRo.h:59
@ JNT_CHIN
Definition d_a_npc_zelRo.h:51
@ JNT_NECK
Definition d_a_npc_zelRo.h:49
@ JNT_FINGERR2
Definition d_a_npc_zelRo.h:74
@ JNT_BACKBONE1
Definition d_a_npc_zelRo.h:47
@ JNT_HANDR
Definition d_a_npc_zelRo.h:72
@ JNT_SHOULDERR
Definition d_a_npc_zelRo.h:69
@ JNT_MAYUR
Definition d_a_npc_zelRo.h:54
@ JNT_WAIST
Definition d_a_npc_zelRo.h:76
@ JNT_SHOULDERL
Definition d_a_npc_zelRo.h:62
@ JNT_FINGERL1
Definition d_a_npc_zelRo.h:66
@ JNT_MANT
Definition d_a_npc_zelRo.h:52
@ JNT_THAMBL
Definition d_a_npc_zelRo.h:68
@ JNT_SKARTR_02
Definition d_a_npc_zelRo.h:81
@ JNT_MOMIL3
Definition d_a_npc_zelRo.h:57
@ JNT_MOMIL1
Definition d_a_npc_zelRo.h:55
@ JNT_FINGERR1
Definition d_a_npc_zelRo.h:73
@ JNT_ARMR2
Definition d_a_npc_zelRo.h:71
@ JNT_SKARTL_02
Definition d_a_npc_zelRo.h:78
@ JNT_SKARTR_01
Definition d_a_npc_zelRo.h:80
@ JNT_SKARTR_03
Definition d_a_npc_zelRo.h:82
@ JNT_MOMIL2
Definition d_a_npc_zelRo.h:56
@ JNT_HANDL
Definition d_a_npc_zelRo.h:65
@ JNT_FINGERL2
Definition d_a_npc_zelRo.h:67
@ JNT_MAYUL
Definition d_a_npc_zelRo.h:53
@ JNT_ARML1
Definition d_a_npc_zelRo.h:63
@ JNT_ARML2
Definition d_a_npc_zelRo.h:64
@ JNT_MOUTH
Definition d_a_npc_zelRo.h:61
@ JNT_HEAD
Definition d_a_npc_zelRo.h:50
@ JNT_CENTER
Definition d_a_npc_zelRo.h:46
@ JNT_BACKBONE2
Definition d_a_npc_zelRo.h:48
@ JNT_THAMBR
Definition d_a_npc_zelRo.h:75
@ JNT_MOMIR1
Definition d_a_npc_zelRo.h:58
@ JNT_ARMR1
Definition d_a_npc_zelRo.h:70
@ JNT_MOMIR3
Definition d_a_npc_zelRo.h:60
@ JNT_SKARTL_03
Definition d_a_npc_zelRo.h:79
void reset()
Definition d_a_npc_zelRo.cpp:319
static char * mCutNameList
Definition d_a_npc_zelRo.h:137
BOOL isDelete()
Definition d_a_npc_zelRo.cpp:304
cPhs__Step create()
Definition d_a_npc_zelRo.cpp:143
daNpc_ZelRo_HIO_c * mHIO
Definition d_a_npc_zelRo.h:141
u8 mType
Definition d_a_npc_zelRo.h:143
u8 getType()
Definition d_a_npc_zelRo.cpp:280
BOOL evtTalk()
Definition d_a_npc_zelRo.cpp:407
void afterJntAnm(int)
Definition d_a_npc_zelRo.cpp:338
actionFunc mAction
Definition d_a_npc_zelRo.h:145
int test(void *)
Definition d_a_npc_zelRo.cpp:629
Material
Definition d_a_npc_zelRo.h:32
@ ZELR_ROBE01_M_V
Definition d_a_npc_zelRo.h:35
@ ZELDA_HAIR_M_V
Definition d_a_npc_zelRo.h:41
@ SC_EYE_R_V
Definition d_a_npc_zelRo.h:34
@ ZELDA_DOUBLESIDE_M_V
Definition d_a_npc_zelRo.h:38
@ SC_EYE_L_V
Definition d_a_npc_zelRo.h:33
@ ZELDA_EYEBALL_L_V
Definition d_a_npc_zelRo.h:39
@ ZELDA_JEWEL_M_V
Definition d_a_npc_zelRo.h:42
@ ZELDA_EYEBALL_R_V
Definition d_a_npc_zelRo.h:40
@ ZELR_ROBE02_M_V
Definition d_a_npc_zelRo.h:36
@ ZELDA_BODY_M_V
Definition d_a_npc_zelRo.h:37
s32 getBackboneJointNo()
Definition d_a_npc_zelRo.h:133
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_zelRo.cpp:263
u8 getPath()
Definition d_a_npc_zelRo.cpp:300
u8 field_0xfc4
Definition d_a_npc_zelRo.h:147
u16 getEyeballLMaterialNo()
Definition d_a_npc_zelRo.h:130
int wait(void *)
Definition d_a_npc_zelRo.cpp:561
int Delete()
Definition d_a_npc_zelRo.cpp:233
s32 getNeckJointNo()
Definition d_a_npc_zelRo.h:132
static cutFunc mCutList[1]
Definition d_a_npc_zelRo.h:87
int getFlowNodeNo()
Definition d_a_npc_zelRo.cpp:290
int Execute()
Definition d_a_npc_zelRo.cpp:238
dCcD_Cyl mCyl
Definition d_a_npc_zelRo.h:142
daNpcT_Path_c mPath
Definition d_a_npc_zelRo.h:146
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_zelRo.cpp:267
BOOL ctrlBtk()
Definition d_a_npc_zelRo.cpp:348
u16 getEyeballRMaterialNo()
Definition d_a_npc_zelRo.h:129
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:119
void setAfterTalkMotion()
Definition d_a_npc_zelRo.cpp:398
int Draw()
Definition d_a_npc_zelRo.cpp:242
int talk(void *)
Definition d_a_npc_zelRo.cpp:593
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_zelRo.h:134
int(daNpc_ZelRo_c::*) cutFunc(int)
Definition d_a_npc_zelRo.h:86
actionFunc mNextAction
Definition d_a_npc_zelRo.h:144
s32 getHeadJointNo()
Definition d_a_npc_zelRo.h:131
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_zelRo.h:135
Definition f_op_actor.h:230
Definition m_Do_hostIO.h:27
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 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_zelRo.h:15
daNpcT_HIOParam common
Definition d_a_npc_zelRo.h:16