Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_zrc.h
Go to the documentation of this file.
1#ifndef D_A_NPC_ZRC_H
2#define D_A_NPC_ZRC_H
3
4#include "d/actor/d_a_npc4.h"
5
6
9 /* 0x6C */ f32 field_0x6c;
10 /* 0x70 */ f32 field_0x70;
11};
12
14
16public:
17 virtual ~daNpc_zrC_Param_c() {}
18
19 static daNpc_zrC_HIOParam const m;
20};
21
22#if DEBUG
24public:
26
28
30
32};
33
34#define NPC_ZRC_HIO_CLASS daNpc_zrC_HIO_c
35#else
36#define NPC_ZRC_HIO_CLASS daNpc_zrC_Param_c
37#endif
38
47class daNpc_zrC_c : public daNpcF_c {
48public:
49 typedef BOOL (daNpc_zrC_c::*ActionFn)(void*);
50 typedef BOOL (daNpc_zrC_c::*EventFn)(int);
51
55 int CreateHeap();
56 int Delete();
57 int Execute();
58 int Draw();
60 static int createHeapCallBack(fopAc_ac_c*);
61 static int ctrlJointCallBack(J3DJoint*, int);
62 void setParam();
63 BOOL main();
64 BOOL ctrlBtk();
65 void setAttnPos();
66 bool setExpressionAnm(int, bool);
67 bool setExpressionBtp(int);
68 void setExpression(int, f32);
69 void setMotionAnm(int, f32);
70 void setMotion(int, f32, int);
72 void drawOtherMdls();
74 int isDelete();
75 void reset();
76 void playExpression();
77 void playMotion();
82 void doNormalAction(BOOL);
83 BOOL doEvent();
84 void setLookMode(int);
85 void lookat();
87 BOOL wait(void*);
88 BOOL waitSick(void*);
89 BOOL waitPray(void*);
90 BOOL waitThrone(void*);
91 BOOL talk(void*);
92 BOOL test(void*);
95
96 static char* mEvtCutNameList[2];
97 static EventFn mEvtCutList[2];
98
99private:
104 /* 0xC90 */ NPC_ZRC_HIO_CLASS* mpHIO;
105 /* 0xC94 */ dCcD_Cyl mCcCyl;
107 /* 0xDDC */ ActionFn mpActionFn;
109 /* 0xE10 */ int field_0xe10;
110 /* 0xE14 */ int field_0xe14;
111 /* 0xE18 */ int field_0xe18;
112 /* 0xE1C */ int field_0xe1c;
113 /* 0xE20 */ int mFlowID;
114 /* 0xE24 */ s16 mLookMode;
115 /* 0xE26 */ u16 mMode;
116 /* 0xE28 */ u8 mType;
117 /* 0xE2C */ int mMotionAnm;
118 /* 0xE30 */ bool field_0xe30;
119 /* 0xE34 */ u32 mItemID;
120 /* 0xE38 */ bool mSpeakEvent;
121
123 /* 0x00 */ ANM_F_WAIT_A,
124 /* 0x01 */ ANM_F_SIT_TALK,
125 /* 0x02 */ ANM_F_TALK_A,
126 /* 0x03 */ ANM_F_TOPRAY,
127 /* 0x04 */ ANM_F_SAD,
128 /* 0x05 */ ANM_F_SMILE,
129 /* 0x06 */ ANM_F_KIZUKU,
130 /* 0x07 */ ANM_F_SAD_WAIT,
133 /* 0x0A */ ANM_F_PRAY,
134 /* 0x0B */ ANM_F_GETUP,
135 /* 0x0C */ ANM_F_SIT,
136 /* 0x0D */ ANM_F_STEP,
137 /* 0x0E */ ANM_FH_SAD,
138 /* 0x0F */ ANM_FH_SMILE,
139 /* 0x10 */ ANM_FH_KIZUKU,
141 /* 0x12 */ ANM_WAIT_A,
142 /* 0x13 */ ANM_TOPRAY,
143 /* 0x14 */ ANM_PRAY,
144 /* 0x15 */ ANM_GETUP,
145 /* 0x16 */ ANM_STEP,
146 /* 0x17 */ ANM_SIT,
147 /* 0x18 */ ANM_SIT_TALK,
148 /* 0x19 */ ANM_SAD_TALK,
149 /* 0x1A */ ANM_SAD_WAIT,
150 /* 0x1B */ ANM_TALK_A,
151 /* 0x1C */ ANM_KIZUKU,
152 /* 0x1D */ ANM_KIZUKU_WAIT,
153 /* 0x1E */ ANM_SMILE_TALK,
155 };
156
158 /* 0x00 */ EXPR_TALK_A,
159 /* 0x01 */ EXPR_SIT_TALK,
160 /* 0x02 */ EXPR_PRAY,
161 /* 0x03 */ EXPR_SAD,
162 /* 0x04 */ EXPR_SMILE,
163 /* 0x05 */ EXPR_KIZUKU,
164 /* 0x06 */ EXPR_SAD_WAIT,
167 /* 0x09 */ EXPR_H_KIZUKU,
168 /* 0x0A */ EXPR_H_SAD,
169 /* 0x0B */ EXPR_H_SMILE,
170 /* 0x0C */ EXPR_STEP,
171 /* 0x0D */ EXPR_TOPRAY,
172 /* 0x0E */ EXPR_GETUP,
173 /* 0x0F */ EXPR_SIT,
175 /* 0x11 */ EXPR_WAIT_A,
176 };
177
178 enum Motion {
179 /* 0x0 */ MOT_WAIT_A,
180 /* 0x1 */ MOT_SIT_TALK,
181 /* 0x2 */ MOT_PRAY,
182 /* 0x3 */ MOT_SIT,
183 /* 0x4 */ MOT_SAD_TALK,
184 /* 0x5 */ MOT_SAD_WAIT,
185 /* 0x6 */ MOT_TALK_A,
186 /* 0x7 */ MOT_KIZUKU,
188 /* 0x9 */ MOT_SMILE_TALK,
189 /* 0xA */ MOT_TOPRAY,
190 /* 0xB */ MOT_GETUP,
191 /* 0xC */ MOT_STEP,
193 };
194
195 enum Event {
196 /* 0 */ EVT_NONE,
198 };
199};
200
201STATIC_ASSERT(sizeof(daNpc_zrC_c) == 0xe3c);
202
203#endif /* D_A_NPC_ZRC_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DJoint.h:66
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition Z2Creature.h:7
Definition d_cc_d.h:472
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:121
Definition d_a_npc4.h:170
Definition d_a_npc_zrc.h:23
daNpc_zrC_HIO_c()
Definition d_a_npc_zrc.cpp:185
daNpc_zrC_HIOParam m
Definition d_a_npc_zrc.h:31
void genMessage(JORMContext *)
Definition d_a_npc_zrc.cpp:193
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_zrc.cpp:189
Definition d_a_npc_zrc.h:15
static daNpc_zrC_HIOParam const m
Definition d_a_npc_zrc.h:20
virtual ~daNpc_zrC_Param_c()
Definition d_a_npc_zrc.h:17
Ralis.
Definition d_a_npc_zrc.h:47
int CreateHeap()
Definition d_a_npc_zrc.cpp:289
BOOL waitPray(void *)
Definition d_a_npc_zrc.cpp:1393
void setParam()
Definition d_a_npc_zrc.cpp:416
void setAttnPos()
Definition d_a_npc_zrc.cpp:525
daNpcF_Lookat_c mLookat
Definition d_a_npc_zrc.h:102
bool setExpressionAnm(int, bool)
Definition d_a_npc_zrc.cpp:606
NPC_ZRC_HIO_CLASS * mpHIO
Definition d_a_npc_zrc.h:104
BOOL(daNpc_zrC_c::*) ActionFn(void *)
Definition d_a_npc_zrc.h:49
BOOL(daNpc_zrC_c::*) EventFn(int)
Definition d_a_npc_zrc.h:50
void setExpressionTalkAfter()
Definition d_a_npc_zrc.cpp:1284
u32 mItemID
Definition d_a_npc_zrc.h:119
void drawOtherMdls()
Definition d_a_npc_zrc.cpp:861
bool mSpeakEvent
Definition d_a_npc_zrc.h:120
BOOL wait(void *)
Definition d_a_npc_zrc.cpp:1308
int field_0xe14
Definition d_a_npc_zrc.h:110
void lookat()
Definition d_a_npc_zrc.cpp:1226
Motion
Definition d_a_npc_zrc.h:178
@ MOT_WAIT_A
Definition d_a_npc_zrc.h:179
@ MOT_KIZUKU_WAIT
Definition d_a_npc_zrc.h:187
@ MOT_GETUP
Definition d_a_npc_zrc.h:190
@ MOT_KIZUKU
Definition d_a_npc_zrc.h:186
@ MOT_SICK_DEMO_WAIT
Definition d_a_npc_zrc.h:192
@ MOT_SIT
Definition d_a_npc_zrc.h:182
@ MOT_SMILE_TALK
Definition d_a_npc_zrc.h:188
@ MOT_PRAY
Definition d_a_npc_zrc.h:181
@ MOT_TOPRAY
Definition d_a_npc_zrc.h:189
@ MOT_TALK_A
Definition d_a_npc_zrc.h:185
@ MOT_SAD_WAIT
Definition d_a_npc_zrc.h:184
@ MOT_SAD_TALK
Definition d_a_npc_zrc.h:183
@ MOT_STEP
Definition d_a_npc_zrc.h:191
@ MOT_SIT_TALK
Definition d_a_npc_zrc.h:180
static EventFn mEvtCutList[2]
Definition d_a_npc_zrc.h:179
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_zrc.cpp:359
int Execute()
Definition d_a_npc_zrc.cpp:349
BOOL waitThrone(void *)
Definition d_a_npc_zrc.cpp:1510
void playMotion()
Definition d_a_npc_zrc.cpp:982
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_zrc.h:101
BOOL doEvent()
Definition d_a_npc_zrc.cpp:1124
ActionFn mpActionFn
Definition d_a_npc_zrc.h:107
static char * mEvtCutNameList[2]
Definition d_a_npc_zrc.h:174
s16 mLookMode
Definition d_a_npc_zrc.h:114
int Draw()
Definition d_a_npc_zrc.cpp:353
u8 getTypeFromParam()
Definition d_a_npc_zrc.cpp:865
int isDelete()
Definition d_a_npc_zrc.cpp:880
Animation
Definition d_a_npc_zrc.h:122
@ ANM_KIZUKU_WAIT
Definition d_a_npc_zrc.h:152
@ ANM_GETUP
Definition d_a_npc_zrc.h:144
@ ANM_F_SMILE
Definition d_a_npc_zrc.h:128
@ ANM_F_TOPRAY
Definition d_a_npc_zrc.h:126
@ ANM_F_SICK_DEMO_WAIT
Definition d_a_npc_zrc.h:140
@ ANM_F_SAD
Definition d_a_npc_zrc.h:127
@ ANM_F_KIZUKU
Definition d_a_npc_zrc.h:129
@ ANM_F_STEP
Definition d_a_npc_zrc.h:136
@ ANM_F_PRAY
Definition d_a_npc_zrc.h:133
@ ANM_WAIT_A
Definition d_a_npc_zrc.h:141
@ ANM_F_GETUP
Definition d_a_npc_zrc.h:134
@ ANM_F_TALK_A
Definition d_a_npc_zrc.h:125
@ ANM_TOPRAY
Definition d_a_npc_zrc.h:142
@ ANM_F_SAD_WAIT
Definition d_a_npc_zrc.h:130
@ ANM_SAD_TALK
Definition d_a_npc_zrc.h:148
@ ANM_SAD_WAIT
Definition d_a_npc_zrc.h:149
@ ANM_SMILE_TALK
Definition d_a_npc_zrc.h:153
@ ANM_TALK_A
Definition d_a_npc_zrc.h:150
@ ANM_SIT_TALK
Definition d_a_npc_zrc.h:147
@ ANM_FH_SMILE
Definition d_a_npc_zrc.h:138
@ ANM_SICK_DEMO_WAIT
Definition d_a_npc_zrc.h:154
@ ANM_STEP
Definition d_a_npc_zrc.h:145
@ ANM_SIT
Definition d_a_npc_zrc.h:146
@ ANM_PRAY
Definition d_a_npc_zrc.h:143
@ ANM_F_TALK_NORMAL
Definition d_a_npc_zrc.h:132
@ ANM_F_KIZUKU_WAIT
Definition d_a_npc_zrc.h:131
@ ANM_F_SIT_TALK
Definition d_a_npc_zrc.h:124
@ ANM_FH_KIZUKU
Definition d_a_npc_zrc.h:139
@ ANM_F_WAIT_A
Definition d_a_npc_zrc.h:123
@ ANM_F_SIT
Definition d_a_npc_zrc.h:135
@ ANM_KIZUKU
Definition d_a_npc_zrc.h:151
@ ANM_FH_SAD
Definition d_a_npc_zrc.h:137
int Delete()
Definition d_a_npc_zrc.cpp:344
void doNormalAction(BOOL)
Definition d_a_npc_zrc.cpp:1099
BOOL talk(void *)
Definition d_a_npc_zrc.cpp:1556
BOOL main()
Definition d_a_npc_zrc.cpp:471
BOOL selectAction()
Definition d_a_npc_zrc.cpp:1076
Z2Creature mCreatureSound
Definition d_a_npc_zrc.h:100
dCcD_Cyl mCcCyl
Definition d_a_npc_zrc.h:105
bool field_0xe30
Definition d_a_npc_zrc.h:118
Event
Definition d_a_npc_zrc.h:195
@ EVT_NONE
Definition d_a_npc_zrc.h:196
@ EVT_EARRING_GET
Definition d_a_npc_zrc.h:197
~daNpc_zrC_c()
Definition d_a_npc_zrc.cpp:201
BOOL waitSick(void *)
Definition d_a_npc_zrc.cpp:1368
BOOL ctrlBtk()
Definition d_a_npc_zrc.cpp:505
void playExpression()
Definition d_a_npc_zrc.cpp:926
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_zrc.cpp:406
BOOL chkAction(ActionFn)
Definition d_a_npc_zrc.cpp:1059
int mMotionAnm
Definition d_a_npc_zrc.h:117
void reset()
Definition d_a_npc_zrc.cpp:889
int mFlowID
Definition d_a_npc_zrc.h:113
u16 mMode
Definition d_a_npc_zrc.h:115
void setExpression(int, f32)
Definition d_a_npc_zrc.cpp:758
BOOL setAction(ActionFn)
Definition d_a_npc_zrc.cpp:1063
BOOL drawDbgInfo()
Definition d_a_npc_zrc.cpp:857
cPhs_Step create()
Definition d_a_npc_zrc.cpp:221
daNpc_zrC_c()
Definition d_a_npc_zrc.cpp:198
BOOL test(void *)
Definition d_a_npc_zrc.cpp:1612
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_zrc.cpp:402
int field_0xe18
Definition d_a_npc_zrc.h:111
void playMotionAnm2(daNpcF_c::daNpcF_anmPlayData ***)
Definition d_a_npc_zrc.cpp:1027
request_of_phase_process_class mPhase[5]
Definition d_a_npc_zrc.h:108
void setLookMode(int)
Definition d_a_npc_zrc.cpp:1220
Expression
Definition d_a_npc_zrc.h:157
@ EXPR_SICK_DEMO_WAIT
Definition d_a_npc_zrc.h:174
@ EXPR_TOPRAY
Definition d_a_npc_zrc.h:171
@ EXPR_STEP
Definition d_a_npc_zrc.h:170
@ EXPR_WAIT_A
Definition d_a_npc_zrc.h:175
@ EXPR_TALK_NORMAL
Definition d_a_npc_zrc.h:165
@ EXPR_SAD_WAIT
Definition d_a_npc_zrc.h:164
@ EXPR_KIZUKU_WAIT
Definition d_a_npc_zrc.h:166
@ EXPR_SAD
Definition d_a_npc_zrc.h:161
@ EXPR_SMILE
Definition d_a_npc_zrc.h:162
@ EXPR_GETUP
Definition d_a_npc_zrc.h:172
@ EXPR_H_SMILE
Definition d_a_npc_zrc.h:169
@ EXPR_TALK_A
Definition d_a_npc_zrc.h:158
@ EXPR_SIT_TALK
Definition d_a_npc_zrc.h:159
@ EXPR_KIZUKU
Definition d_a_npc_zrc.h:163
@ EXPR_PRAY
Definition d_a_npc_zrc.h:160
@ EXPR_SIT
Definition d_a_npc_zrc.h:173
@ EXPR_H_SAD
Definition d_a_npc_zrc.h:168
@ EXPR_H_KIZUKU
Definition d_a_npc_zrc.h:167
void adjustShapeAngle()
Definition d_a_npc_zrc.h:94
void setMotionAnm(int, f32)
Definition d_a_npc_zrc.cpp:767
int field_0xe1c
Definition d_a_npc_zrc.h:112
BOOL ECut_earringGet(int)
Definition d_a_npc_zrc.cpp:1637
u8 mType
Definition d_a_npc_zrc.h:116
ActionFn mpNextActionFn
Definition d_a_npc_zrc.h:106
daNpcF_ActorMngr_c mActorMngr[3]
Definition d_a_npc_zrc.h:103
bool setExpressionBtp(int)
Definition d_a_npc_zrc.cpp:701
int field_0xe10
Definition d_a_npc_zrc.h:109
void setMotion(int, f32, int)
Definition d_a_npc_zrc.cpp:845
Definition f_op_actor.h:243
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_zrC_HIOParam)==0x74)
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
Definition d_a_npc4.h:430
Definition d_a_npc4.h:264
Definition d_a_npc_zrc.h:7
daNpcF_HIOParam common
Definition d_a_npc_zrc.h:8
f32 field_0x6c
Definition d_a_npc_zrc.h:9
f32 field_0x70
Definition d_a_npc_zrc.h:10
Definition c_phase.h:19