Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_zra.h
Go to the documentation of this file.
1#ifndef D_A_NPC_ZRA_H
2#define D_A_NPC_ZRA_H
3
4#include "d/actor/d_a_npc4.h"
6
9 /* 0x6C */ f32 mSwimSpeed;
11 /* 0x74 */ s16 mSwimAngleSpeed;
12 /* 0x78 */ f32 mSwimAnmRate;
13 /* 0x7C */ f32 field_0x7c;
14 /* 0x80 */ f32 field_0x80;
15 /* 0x84 */ f32 mMaxScaleFactor;
16 /* 0x88 */ f32 mMinDepth;
17 /* 0x8C */ f32 field_0x8c;
18 /* 0x90 */ f32 field_0x90;
19 /* 0x94 */ f32 mWalkSpeed;
20 /* 0x98 */ s16 mWalkAngleSpeed;
21 /* 0x9A */ s16 mWalkAngleScale;
22 /* 0x9C */ f32 mWalkAnmRate;
23 /* 0xA0 */ f32 field_0xa0;
24 /* 0xA4 */ f32 field_0xa4;
25 /* 0xA8 */ f32 field_0xa8;
26 /* 0xAC */ f32 field_0xac;
27};
28
30
32public:
33 virtual ~daNpc_zrA_Param_c() {}
34
35 static daNpc_zrA_HIOParam const m;
36};
37
38#if DEBUG
40public:
42
44
46
48};
49
50#define NPC_ZRA_HIO_CLASS daNpc_zrA_HIO_c
51#else
52#define NPC_ZRA_HIO_CLASS daNpc_zrA_Param_c
53#endif
54
66
68
77class daNpc_zrA_c : public daNpcF_c {
78public:
79 typedef BOOL (daNpc_zrA_c::*ActionFn)(void*);
80 typedef BOOL (daNpc_zrA_c::*EventFn)(int);
81
82 enum Type {
83 /* 0 */ TYPE_WAIT,
84 /* 1 */ TYPE_SWIM,
86 /* 3 */ TYPE_RIVER,
88 /* 5 */ TYPE_SEARCH,
89 /* 6 */ TYPE_SPA,
90 };
91
95 /* 2 */ SOLDIER_NONE,
96 };
97
99 /* 0 */ ACT_TYPE_0,
100 /* 1 */ ACT_TYPE_1,
101 /* 2 */ ACT_TYPE_2,
102 /* 3 */ ACT_TYPE_3,
103 /* 4 */ ACT_TYPE_4,
104 /* 5 */ ACT_TYPE_5,
105 /* 6 */ ACT_TYPE_6,
106 };
107
108 enum GameMode {
109 /* 0 */ GAME_MODE_0,
110 /* 1 */ GAME_MODE_1,
111 /* 2 */ GAME_MODE_2,
112 /* 3 */ GAME_MODE_3,
113 };
114
115 enum SwimMode {
116 /* 0 */ SWIM_WAIT,
117 /* 1 */ SWIM_RAIL,
118 /* 2 */ SWIM_TURN,
119 /* 3 */ SWIM_3,
120 };
121
123 /* 0x00 */ ANM_NONE,
124 /* 0x01 */ ANM_F_TALK_A,
125 /* 0x02 */ ANM_F_TALK_A_SP,
126 /* 0x03 */ ANM_F_WAIT_SWIM,
129 /* 0x06 */ ANM_FH_SADSIT_A,
130 /* 0x07 */ ANM_FH_SADSIT_B,
131 /* 0x08 */ ANM_FH_SADSIT_C,
132 /* 0x09 */ ANM_FH_SADSIT_D,
133 /* 0x0A */ ANM_FH_SADSIT_E,
136 /* 0x0D */ ANM_F_LOOKUP,
137 /* 0x0E */ ANM_FH_LOOKUP,
139 /* 0x10 */ ANM_F_TALK_B_SP,
144 /* 0x15 */ ANM_SWIM_TURN,
145 /* 0x16 */ ANM_STILL,
146 /* 0x17 */ ANM_FALLSWIM,
147 /* 0x18 */ ANM_SWIM_TALK,
148 /* 0x19 */ ANM_SADSIT_A,
149 /* 0x1A */ ANM_SADSIT_B,
150 /* 0x1B */ ANM_SADSIT_C,
151 /* 0x1C */ ANM_SADSIT_D,
152 /* 0x1D */ ANM_SADSIT_E,
153 /* 0x1E */ ANM_TOBIKOMI_S,
154 /* 0x1F */ ANM_TOBIKOMI_T,
155 /* 0x20 */ ANM_TOBIKOMI_E,
156 /* 0x21 */ ANM_LOOKING_SP,
158 /* 0x23 */ ANM_TALK_B_SP,
159 /* 0x24 */ ANM_LOOKUP,
160 /* 0x25 */ ANM_SPA_WAIT_B,
161 /* 0x26 */ ANM_SPA_TALK_B,
162 /* 0x27 */ ANM_SPA_WAIT_A,
163 /* 0x28 */ ANM_SPA_TALK_A,
164 /* 0x29 */ ANM_WAIT_A,
165 /* 0x2A */ ANM_WALK_A,
166 /* 0x2B */ ANM_TALK_A,
167 /* 0x2C */ ANM_SWIM_A,
168 /* 0x2D */ ANM_SWIM_B,
169 /* 0x2E */ ANM_WAIT_SWIM,
170 /* 0x2F */ ANM_DIVE,
171 /* 0x30 */ ANM_DIVE_B,
172 /* 0x31 */ ANM_FLOAT,
173 /* 0x32 */ ANM_FLOAT_B,
174 /* 0x33 */ ANM_STEP,
175 /* 0x34 */ ANM_WAIT_SP,
176 /* 0x35 */ ANM_WALK_A_SP,
177 /* 0x36 */ ANM_TALK_A_SP,
178 /* 0x37 */ ANM_SWIM_A_SP,
179 /* 0x38 */ ANM_SWIM_B_SP,
181 /* 0x3A */ ANM_DIVE_SP,
182 /* 0x3B */ ANM_DIVE_B_SP,
183 /* 0x3C */ ANM_FLOAT_SP,
184 /* 0x3D */ ANM_FLOAT_B_SP,
185 /* 0x3E */ ANM_STEP_SP,
186 };
187
189 /* 0x00 */ EXPR_TALK_NOMAL,
190 /* 0x01 */ EXPR_SADSIT_A,
191 /* 0x02 */ EXPR_SADSIT_B,
192 /* 0x03 */ EXPR_SADSIT_C,
193 /* 0x04 */ EXPR_SADSIT_D,
194 /* 0x05 */ EXPR_SADSIT_E,
195 /* 0x06 */ EXPR_LOOKING_SP,
196 /* 0x07 */ EXPR_LOOKUP,
197 /* 0x08 */ EXPR_SPA_TALK_A,
198 /* 0x09 */ EXPR_SPA_TALK_B,
200 /* 0x0B */ EXPR_TALK_B_SP,
201 /* 0x0C */ EXPR_TALK_A,
202 /* 0x0D */ EXPR_WAIT_SWIM,
203 /* 0x0E */ EXPR_TALK_A_SP,
206 /* 0x11 */ EXPR_LOOKUP_2,
207 /* 0x12 */ EXPR_SPA_WAIT_A,
208 /* 0x13 */ EXPR_SPA_WAIT_B,
209 /* 0x14 */ EXPR_NONE,
210 };
211
212 enum Motion {
213 /* 0x00 */ MOT_WAIT_A,
214 /* 0x01 */ MOT_WAIT_SWIM,
215 /* 0x02 */ MOT_SWIM_TALK,
216 /* 0x03 */ MOT_WAIT_A_2,
217 /* 0x04 */ MOT_WAIT_SWIM_2,
218 /* 0x05 */ MOT_TALK_A,
219 /* 0x06 */ MOT_SADSIT_A,
220 /* 0x07 */ MOT_SADSIT_B,
221 /* 0x08 */ MOT_SADSIT_C,
222 /* 0x09 */ MOT_SADSIT_D,
223 /* 0x0A */ MOT_SADSIT_E,
224 /* 0x0B */ MOT_LOOKING_SP,
225 /* 0x0C */ MOT_LOOKUP,
226 /* 0x0D */ MOT_SPA_TALK_A,
227 /* 0x0E */ MOT_SPA_TALK_B,
229 /* 0x10 */ MOT_TALK_B_SP,
230 /* 0x11 */ MOT_TALK_A_2,
231 /* 0x12 */ MOT_SPA_WAIT_A,
232 /* 0x13 */ MOT_SPA_WAIT_B,
233 /* 0x14 */ MOT_WALK_A,
234 /* 0x16 */ MOT_SWIM_A = 0x16,
235 /* 0x17 */ MOT_SWIM_B,
236 /* 0x18 */ MOT_DIVE_SWIM_A,
238 /* 0x1A */ MOT_DIVE_SWIM_B,
240 /* 0x1C */ MOT_STEP,
241 /* 0x1D */ MOT_FLOAT,
242 /* 0x1E */ MOT_FLOAT_B,
243 /* 0x1F */ MOT_SWIM_TURN,
244 /* 0x20 */ MOT_TOBIKOMI_S,
245 /* 0x21 */ MOT_TOBIKOMI_T,
246 /* 0x22 */ MOT_TOBIKOMI_E,
247 /* 0x23 */ MOT_FALLSWIM,
248 };
249
265
266 daNpc_zrA_c();
267 ~daNpc_zrA_c();
269 int CreateHeap();
270 int Delete();
271 int Execute();
272 int Draw();
274 static int createHeapCallBack(fopAc_ac_c*);
275 static int ctrlJointCallBack(J3DJoint*, int);
276 void setParam();
277 BOOL main();
278 BOOL ctrlBtk();
279 void setAttnPos();
280 void setMtx();
281 bool setExpressionAnm(int, bool);
282 bool setExpressionBtp(int);
283 void setExpression(int, f32);
284 void setMotionAnm(int, f32);
285 void setMotionWaterAnm(int);
286 void setMotion(int, f32, BOOL);
288 void drawOtherMdls();
295 /* inline */ u8 getNoFromParam() { return (u8)fopAcM_GetParam(this); }
296 /* inline */ u8 getPathNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
297 BOOL isDelete();
298 void reset();
299 void playExpression();
300 void playMotion();
302 bool setAction(ActionFn);
303 bool selectAction();
304 BOOL doEvent();
305 BOOL setSkipZev(int, int);
306 void setLookMode(int);
307 void lookat();
310 void setPrtcl();
311 BOOL test(void*);
312 BOOL wait(void*);
313 void walkCalc();
314 void waitCalc();
315 BOOL waitSpa(void*);
317 BOOL talk(void*);
319 BOOL swim(void*);
326 void calcBank(s16, s16, s16&, s16&);
363 BOOL tobiEnd(void*);
368
369 int getType() { return mType; }
370 u32 getAngleNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
371 void setBlastFlag(u8 i_flag) { mBlastFlag = i_flag; }
373
375 /* 0x0BD8 */ J3DModel* mpObjectModel[3];
381 /* 0x12E4 */ dPaPo_c mPaPo;
383 /* 0x1334 */ NPC_ZRA_HIO_CLASS* mpHIO;
384 /* 0x1338 */ dCcD_Cyl mCcCyl;
386 /* 0x1480 */ ActionFn mpActionFn;
388 /* 0x14CC */ u32 mItemID;
389 /* 0x14D0 */ int field_0x14d0;
390 /* 0x14D4 */ int field_0x14d4;
391 /* 0x14D8 */ int mSwimTurnTimer;
392 /* 0x14DC */ int field_0x14dc;
393 /* 0x14E0 */ int mFlowID;
394 /* 0x14E4 */ s16 mLookMode;
395 /* 0x14E6 */ u16 mMode;
396 /* 0x14E8 */ u8 mType;
397 /* 0x14E9 */ u8 mSoldierType;
398 /* 0x14EC */ int mBaseMotionAnm;
399 /* 0x14F0 */ int mBtkID;
400 /* 0x14F4 */ int mBpkID;
401 /* 0x14F8 */ u32 mWaterAnmFlags;
402 /* 0x14FC */ char* mStaffName;
403 /* 0x1500 */ cXyz field_0x1500;
404 /* 0x150C */ u8 mMeterCount;
405 /* 0x150D */ u8 mGameMode;
406 /* 0x150E */ u8 mSwitch1;
407 /* 0x150F */ u8 mSwitch2;
408 /* 0x1510 */ int field_0x1510;
409 /* 0x1514 */ int mSpinAngle;
410 /* 0x1518 */ s16 field_0x1518;
411 /* 0x151C */ int mSpinTimer;
412 /* 0x1520 */ u8 mSwimMode;
413 /* 0x1521 */ bool field_0x1521;
414 /* 0x1524 */ f32 mSwimSpeedF;
415 /* 0x1528 */ f32 mSwimSpeedScale;
416 /* 0x152C */ u8 field_0x152c[4];
417 /* 0x1530 */ csXyz mWaistAngle;
418 /* 0x1536 */ csXyz mSwimAngleCalc;
419 /* 0x153C */ bool field_0x153c;
420 /* 0x153D */ bool field_0x153d;
421 /* 0x153E */ bool field_0x153e;
422 /* 0x1540 */ int mSwimFastTurnTimer;
423 /* 0x1544 */ cXyz mSwimSpeed;
424 /* 0x1550 */ bool field_0x1550;
425 /* 0x1554 */ int field_0x1554;
426 /* 0x1558 */ int field_0x1558;
427 /* 0x155C */ int mModulationParam;
429 /* 0x156C */ f32 mScaleFactor;
430 /* 0x1570 */ int mEvasionTimer;
431 /* 0x1574 */ s16 mEvasionAngle;
432 /* 0x1576 */ u8 mActionType;
433 /* 0x1577 */ bool mIsAboveWater;
434 /* 0x1578 */ cXyz field_0x1578;
435 /* 0x1584 */ cXyz field_0x1584;
436 /* 0x1590 */ bool mResetWaistAngle;
437 /* 0x1591 */ bool mIsTurning;
439 /* 0x1593 */ bool mCheckSwimTurn;
440 /* 0x1594 */ u8 mActionSelect;
441 /* 0x1595 */ int mRiverPathIdx;
442 /* 0x159C */ cXyz field_0x159c[3];
443 /* 0x15C0 */ u8 field_0x15c0;
444 /* 0x15C1 */ bool mBlastFlag;
445
446 static char* mEvtCutNameList[11];
447 static EventFn mEvtCutList[11];
448};
449
450STATIC_ASSERT(sizeof(daNpc_zrA_c) == 0x15C4);
451
452#endif /* D_A_NPC_ZRA_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DJoint.h:66
Definition J3DModel.h:43
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:105
Definition JORMContext.h:128
Definition Z2Creature.h:7
Definition c_sxyz.h:10
Definition d_cc_d.h:472
Particle effect management class for center-based effects.
Definition d_particle_copoly.h:25
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:121
Definition d_a_npc4.h:72
dPath * mPathInfo
Definition d_a_npc4.h:77
Definition d_a_npc4.h:170
mDoExt_McaMorfSO * mAnm_p
Definition d_a_npc4.h:172
Definition d_a_npc_zra.h:39
void genMessage(JORMContext *)
Definition d_a_npc_zra.cpp:449
daNpc_zrA_HIO_c()
Definition d_a_npc_zra.cpp:441
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_zra.cpp:445
daNpc_zrA_HIOParam m
Definition d_a_npc_zra.h:47
Definition d_a_npc_zra.h:31
virtual ~daNpc_zrA_Param_c()
Definition d_a_npc_zra.h:33
static daNpc_zrA_HIOParam const m
Definition d_a_npc_zra.h:24
Zora (Adult)
Definition d_a_npc_zra.h:55
BOOL getDstPosDstXZ(cXyz, cXyz &)
Definition d_a_npc_zra.cpp:103
void setNextIdxDst(cXyz)
Definition d_a_npc_zra.cpp:92
BOOL chkPassedChase(u16, cXyz)
Definition d_a_npc_zra.cpp:118
f32 chkPassDst(u16, cXyz)
Definition d_a_npc_zra.cpp:148
BOOL getDstPosDst2(cXyz, cXyz &)
Definition d_a_npc_zra.cpp:78
int getEndIdx()
Definition d_a_npc_zra.h:64
int getDstPosChase(u16, cXyz, cXyz &)
Definition d_a_npc_zra.cpp:123
BOOL chkPassedDstXZ(cXyz)
Definition d_a_npc_zra.cpp:99
Definition d_a_npc_zra.h:77
ActionType getActionTypeFromParam()
Definition d_a_npc_zra.cpp:1567
int mBaseMotionAnm
Definition d_a_npc_zra.h:398
void calcModulation()
GameMode
Definition d_a_npc_zra.h:108
@ GAME_MODE_1
Definition d_a_npc_zra.h:110
@ GAME_MODE_0
Definition d_a_npc_zra.h:109
@ GAME_MODE_2
Definition d_a_npc_zra.h:111
@ GAME_MODE_3
Definition d_a_npc_zra.h:112
void drawOtherMdls()
Definition d_a_npc_zra.cpp:1497
cXyz field_0x1578
Definition d_a_npc_zra.h:434
int mSpinAngle
Definition d_a_npc_zra.h:409
BOOL ECut_thanksBlast(int)
BOOL doEvent()
Definition d_a_npc_zra.cpp:1997
f32 mScaleFactor
Definition d_a_npc_zra.h:429
cXyz mModulationOffset
Definition d_a_npc_zra.h:428
BOOL ECut_searchPrince1(int)
cPhs_Step create()
Definition d_a_npc_zra.cpp:491
void calcWaistAngleStop()
J3DModel * mpObjectModel[3]
Definition d_a_npc_zra.h:375
int field_0x1558
Definition d_a_npc_zra.h:426
static char * mEvtCutNameList[11]
Definition d_a_npc_zra.h:412
BOOL isDelete()
Definition d_a_npc_zra.cpp:1619
BOOL drawDbgInfo()
Definition d_a_npc_zra.cpp:1493
MtxP getHeadMtx()
Definition d_a_npc_zra.h:372
BOOL(daNpc_zrA_c::*) ActionFn(void *)
Definition d_a_npc_zra.h:79
SwimMode
Definition d_a_npc_zra.h:115
@ SWIM_3
Definition d_a_npc_zra.h:119
@ SWIM_RAIL
Definition d_a_npc_zra.h:117
@ SWIM_TURN
Definition d_a_npc_zra.h:118
@ SWIM_WAIT
Definition d_a_npc_zra.h:116
void playMotion()
Definition d_a_npc_zra.cpp:1787
u8 mSwimMode
Definition d_a_npc_zra.h:412
csXyz mWaistAngle
Definition d_a_npc_zra.h:417
void setExpression(int, f32)
Definition d_a_npc_zra.cpp:1310
void waitCalc()
daNpc_zrA_c()
Definition d_a_npc_zra.cpp:454
int Draw()
Definition d_a_npc_zra.cpp:685
mDoExt_bpkAnm mWaterBpkAnm
Definition d_a_npc_zra.h:378
BOOL setSkipZev(int, int)
Definition d_a_npc_zra.cpp:2148
BOOL tobikomi3(void *)
u32 mItemID
Definition d_a_npc_zra.h:388
BOOL chkAction(ActionFn)
Definition d_a_npc_zra.cpp:1884
void reset()
Definition d_a_npc_zra.cpp:1631
void setExpressionTalkAfter()
Definition d_a_npc_zra.cpp:2237
bool field_0x1550
Definition d_a_npc_zra.h:424
int getType()
Definition d_a_npc_zra.h:369
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_zra.cpp:841
Type
Definition d_a_npc_zra.h:82
@ TYPE_WAIT
Definition d_a_npc_zra.h:83
@ TYPE_SPA
Definition d_a_npc_zra.h:89
@ TYPE_SEARCH
Definition d_a_npc_zra.h:88
@ TYPE_WATERFALL
Definition d_a_npc_zra.h:85
@ TYPE_TOBIKOMI
Definition d_a_npc_zra.h:87
@ TYPE_SWIM
Definition d_a_npc_zra.h:84
@ TYPE_RIVER
Definition d_a_npc_zra.h:86
cXyz mSwimSpeed
Definition d_a_npc_zra.h:423
BOOL tobiJump(void *)
s16 mEvasionAngle
Definition d_a_npc_zra.h:431
int CreateHeap()
Definition d_a_npc_zra.cpp:589
int mModulationParam
Definition d_a_npc_zra.h:427
void calcSwimPos(cXyz &)
BOOL ECut_searchPrince2(int)
BOOL swimRiverDescend(void *)
BOOL calcWaistAngleCheck()
void calcWaistAngle()
BOOL ctrlBtk()
Definition d_a_npc_zra.cpp:979
bool mCheckSwimTurn
Definition d_a_npc_zra.h:439
u32 mWaterAnmFlags
Definition d_a_npc_zra.h:401
request_of_phase_process_class mPhase[8]
Definition d_a_npc_zra.h:387
bool field_0x1521
Definition d_a_npc_zra.h:413
BOOL returnRiverDescend(void *)
Z2Creature mCreatureSound
Definition d_a_npc_zra.h:374
GameMode getGameModeFromParam()
Definition d_a_npc_zra.cpp:1558
BOOL waitLake(void *)
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_zra.cpp:764
int mEvasionTimer
Definition d_a_npc_zra.h:430
int mSwimFastTurnTimer
Definition d_a_npc_zra.h:422
void calcSwimAngle(csXyz &, csXyz &, s16, s16)
u8 field_0x152c[4]
Definition d_a_npc_zra.h:416
BOOL ECut_carryWaterfallSkip(int)
BOOL tobiEnd(void *)
int field_0x14d0
Definition d_a_npc_zra.h:389
u16 mMode
Definition d_a_npc_zra.h:395
Type getTypeFromArgument()
Definition d_a_npc_zra.cpp:1520
void walkCalc()
void playExpression()
Definition d_a_npc_zra.cpp:1725
char * mStaffName
Definition d_a_npc_zra.h:402
bool field_0x153d
Definition d_a_npc_zra.h:420
int Delete()
Definition d_a_npc_zra.cpp:676
ActionFn mpActionFn
Definition d_a_npc_zra.h:386
csXyz mSwimAngleCalc
Definition d_a_npc_zra.h:418
BOOL test(void *)
Definition d_a_npc_zra.cpp:2281
BOOL turnSwimInit()
SoldierType
Definition d_a_npc_zra.h:92
@ SOLDIER_NOSPEAR
Definition d_a_npc_zra.h:94
@ SOLDIER_NONE
Definition d_a_npc_zra.h:95
@ SOLDIER_SPEAR
Definition d_a_npc_zra.h:93
NPC_ZRA_HIO_CLASS * mpHIO
Definition d_a_npc_zra.h:383
BOOL ECut_resultAnnounce(int)
f32 mSwimSpeedF
Definition d_a_npc_zra.h:414
BOOL ECut_carryWaterfall(int)
u8 getNoFromParam()
Definition d_a_npc_zra.h:295
bool mIsTurning
Definition d_a_npc_zra.h:437
Motion
Definition d_a_npc_zra.h:212
@ MOT_SWIM_TALK
Definition d_a_npc_zra.h:215
@ MOT_SPA_TALK_A
Definition d_a_npc_zra.h:226
@ MOT_SWIM_A
Definition d_a_npc_zra.h:234
@ MOT_TALK_B_SP
Definition d_a_npc_zra.h:229
@ MOT_TALK_A_2
Definition d_a_npc_zra.h:230
@ MOT_TALK_SWIM_SP
Definition d_a_npc_zra.h:228
@ MOT_WAIT_A
Definition d_a_npc_zra.h:213
@ MOT_TOBIKOMI_T
Definition d_a_npc_zra.h:245
@ MOT_SADSIT_B
Definition d_a_npc_zra.h:220
@ MOT_SADSIT_C
Definition d_a_npc_zra.h:221
@ MOT_DIVE_B_SWIM_B
Definition d_a_npc_zra.h:239
@ MOT_FALLSWIM
Definition d_a_npc_zra.h:247
@ MOT_SPA_WAIT_A
Definition d_a_npc_zra.h:231
@ MOT_DIVE_SWIM_B
Definition d_a_npc_zra.h:238
@ MOT_TALK_A
Definition d_a_npc_zra.h:218
@ MOT_WAIT_SWIM
Definition d_a_npc_zra.h:214
@ MOT_SWIM_TURN
Definition d_a_npc_zra.h:243
@ MOT_STEP
Definition d_a_npc_zra.h:240
@ MOT_DIVE_B_SWIM_A
Definition d_a_npc_zra.h:237
@ MOT_SWIM_B
Definition d_a_npc_zra.h:235
@ MOT_WAIT_A_2
Definition d_a_npc_zra.h:216
@ MOT_SADSIT_A
Definition d_a_npc_zra.h:219
@ MOT_SADSIT_D
Definition d_a_npc_zra.h:222
@ MOT_SPA_WAIT_B
Definition d_a_npc_zra.h:232
@ MOT_FLOAT
Definition d_a_npc_zra.h:241
@ MOT_WALK_A
Definition d_a_npc_zra.h:233
@ MOT_LOOKUP
Definition d_a_npc_zra.h:225
@ MOT_FLOAT_B
Definition d_a_npc_zra.h:242
@ MOT_SPA_TALK_B
Definition d_a_npc_zra.h:227
@ MOT_SADSIT_E
Definition d_a_npc_zra.h:223
@ MOT_TOBIKOMI_E
Definition d_a_npc_zra.h:246
@ MOT_LOOKING_SP
Definition d_a_npc_zra.h:224
@ MOT_TOBIKOMI_S
Definition d_a_npc_zra.h:244
@ MOT_DIVE_SWIM_A
Definition d_a_npc_zra.h:236
@ MOT_WAIT_SWIM_2
Definition d_a_npc_zra.h:217
int field_0x1510
Definition d_a_npc_zra.h:408
int mSwimTurnTimer
Definition d_a_npc_zra.h:391
bool mResetWaistAngle
Definition d_a_npc_zra.h:436
void setMotionAnm(int, f32)
Definition d_a_npc_zra.cpp:1319
BOOL ECut_talkSwim(int)
u32 getAngleNoFromParam()
Definition d_a_npc_zra.h:370
BOOL main()
Definition d_a_npc_zra.cpp:912
BOOL diveRiverDescend(void *)
BOOL tobikomi2(void *)
daNpc_zrA_Path_c mPath
Definition d_a_npc_zra.h:379
void resetModulation()
bool setExpressionAnm(int, bool)
Definition d_a_npc_zra.cpp:1161
BOOL waitSwim()
BOOL turnSwim()
u8 mActionSelect
Definition d_a_npc_zra.h:440
~daNpc_zrA_c()
Definition d_a_npc_zra.cpp:456
int mBpkID
Definition d_a_npc_zra.h:400
u8 mSwitch2
Definition d_a_npc_zra.h:407
void calcCanoeMove(BOOL)
cXyz field_0x159c[3]
Definition d_a_npc_zra.h:442
void setLookMode(int)
Definition d_a_npc_zra.cpp:2156
f32 mSwimSpeedScale
Definition d_a_npc_zra.h:415
void setMotion(int, f32, BOOL)
Definition d_a_npc_zra.cpp:1481
BOOL swim(void *)
ActionType
Definition d_a_npc_zra.h:98
@ ACT_TYPE_3
Definition d_a_npc_zra.h:102
@ ACT_TYPE_5
Definition d_a_npc_zra.h:104
@ ACT_TYPE_0
Definition d_a_npc_zra.h:99
@ ACT_TYPE_4
Definition d_a_npc_zra.h:103
@ ACT_TYPE_2
Definition d_a_npc_zra.h:101
@ ACT_TYPE_1
Definition d_a_npc_zra.h:100
@ ACT_TYPE_6
Definition d_a_npc_zra.h:105
void lookat()
Definition d_a_npc_zra.cpp:2162
void setMtx()
Definition d_a_npc_zra.cpp:1143
u8 field_0x15c0
Definition d_a_npc_zra.h:443
int mRiverPathIdx
Definition d_a_npc_zra.h:441
u8 mGameMode
Definition d_a_npc_zra.h:405
bool setExpressionBtp(int)
Definition d_a_npc_zra.cpp:1268
BOOL tobikomi1(void *)
void setPrtcl()
Definition d_a_npc_zra.cpp:2266
BOOL waitSearch(void *)
int field_0x1554
Definition d_a_npc_zra.h:425
Animation
Definition d_a_npc_zra.h:122
@ ANM_DIVE_SP
Definition d_a_npc_zra.h:181
@ ANM_FH_TALK_NOMAL
Definition d_a_npc_zra.h:128
@ ANM_WAIT_SP
Definition d_a_npc_zra.h:175
@ ANM_SWIM_TURN
Definition d_a_npc_zra.h:144
@ ANM_F_LOOKING_SP
Definition d_a_npc_zra.h:134
@ ANM_WAIT_A
Definition d_a_npc_zra.h:164
@ ANM_STEP
Definition d_a_npc_zra.h:174
@ ANM_F_TALK_SWIM_SP
Definition d_a_npc_zra.h:138
@ ANM_SADSIT_A
Definition d_a_npc_zra.h:148
@ ANM_WAIT_SWIM
Definition d_a_npc_zra.h:169
@ ANM_SWIM_TALK
Definition d_a_npc_zra.h:147
@ ANM_LOOKING_SP
Definition d_a_npc_zra.h:156
@ ANM_F_LOOKUP
Definition d_a_npc_zra.h:136
@ ANM_TALK_A_SP
Definition d_a_npc_zra.h:177
@ ANM_TALK_B_SP
Definition d_a_npc_zra.h:158
@ ANM_F_WAIT_SWIM
Definition d_a_npc_zra.h:126
@ ANM_FLOAT_SP
Definition d_a_npc_zra.h:183
@ ANM_FH_SADSIT_D
Definition d_a_npc_zra.h:132
@ ANM_DIVE
Definition d_a_npc_zra.h:170
@ ANM_SPA_TALK_B
Definition d_a_npc_zra.h:161
@ ANM_SWIM_A_SP
Definition d_a_npc_zra.h:178
@ ANM_FALLSWIM
Definition d_a_npc_zra.h:146
@ ANM_SPA_WAIT_A
Definition d_a_npc_zra.h:162
@ ANM_FLOAT
Definition d_a_npc_zra.h:172
@ ANM_NONE
Definition d_a_npc_zra.h:123
@ ANM_FH_SADSIT_A
Definition d_a_npc_zra.h:129
@ ANM_F_TALK_A_SP
Definition d_a_npc_zra.h:125
@ ANM_F_TALK_NOMAL
Definition d_a_npc_zra.h:127
@ ANM_TALK_A
Definition d_a_npc_zra.h:166
@ ANM_FH_LOOKUP
Definition d_a_npc_zra.h:137
@ ANM_FH_LOOKING_SP
Definition d_a_npc_zra.h:135
@ ANM_DIVE_B_SP
Definition d_a_npc_zra.h:182
@ ANM_FLOAT_B
Definition d_a_npc_zra.h:173
@ ANM_TOBIKOMI_S
Definition d_a_npc_zra.h:153
@ ANM_FH_SADSIT_E
Definition d_a_npc_zra.h:133
@ ANM_SADSIT_D
Definition d_a_npc_zra.h:151
@ ANM_F_TALK_A
Definition d_a_npc_zra.h:124
@ ANM_WALK_A_SP
Definition d_a_npc_zra.h:176
@ ANM_F_SPA_TALK_A
Definition d_a_npc_zra.h:140
@ ANM_SADSIT_C
Definition d_a_npc_zra.h:150
@ ANM_SPA_TALK_A
Definition d_a_npc_zra.h:163
@ ANM_SADSIT_B
Definition d_a_npc_zra.h:149
@ ANM_TOBIKOMI_E
Definition d_a_npc_zra.h:155
@ ANM_TALK_SWIM_SP
Definition d_a_npc_zra.h:157
@ ANM_FLOAT_B_SP
Definition d_a_npc_zra.h:184
@ ANM_TOBIKOMI_T
Definition d_a_npc_zra.h:154
@ ANM_SWIM_B_SP
Definition d_a_npc_zra.h:179
@ ANM_STEP_SP
Definition d_a_npc_zra.h:185
@ ANM_SWIM_A
Definition d_a_npc_zra.h:167
@ ANM_STILL
Definition d_a_npc_zra.h:145
@ ANM_LOOKUP
Definition d_a_npc_zra.h:159
@ ANM_SPA_WAIT_B
Definition d_a_npc_zra.h:160
@ ANM_SADSIT_E
Definition d_a_npc_zra.h:152
@ ANM_FH_SPA_WAIT_A
Definition d_a_npc_zra.h:141
@ ANM_SWIM_B
Definition d_a_npc_zra.h:168
@ ANM_WALK_A
Definition d_a_npc_zra.h:165
@ ANM_WAIT_SWIM_SP
Definition d_a_npc_zra.h:180
@ ANM_FH_SADSIT_C
Definition d_a_npc_zra.h:131
@ ANM_DIVE_B
Definition d_a_npc_zra.h:171
@ ANM_F_TALK_B_SP
Definition d_a_npc_zra.h:139
@ ANM_F_SPA_TALK_B
Definition d_a_npc_zra.h:142
@ ANM_FH_SADSIT_B
Definition d_a_npc_zra.h:130
@ ANM_FH_SPA_WAIT_B
Definition d_a_npc_zra.h:143
int mBtkID
Definition d_a_npc_zra.h:399
BOOL talk(void *)
int field_0x14d4
Definition d_a_npc_zra.h:390
void moveRiverPosCalc(cXyz &)
bool field_0x153c
Definition d_a_npc_zra.h:419
bool field_0x153e
Definition d_a_npc_zra.h:421
u8 mSoldierType
Definition d_a_npc_zra.h:397
BOOL tobiWait(void *)
BOOL(daNpc_zrA_c::*) EventFn(int)
Definition d_a_npc_zra.h:80
int mFlowID
Definition d_a_npc_zra.h:393
void setMotionWaterAnm(int)
Definition d_a_npc_zra.cpp:1410
u8 mActionType
Definition d_a_npc_zra.h:432
int field_0x14dc
Definition d_a_npc_zra.h:392
BOOL evasionCalc(cXyz &, csXyz &)
daNpcF_ActorMngr_c mActorMngr[3]
Definition d_a_npc_zra.h:382
bool mBlastFlag
Definition d_a_npc_zra.h:444
BOOL waitWaterfall(void *)
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_zra.cpp:837
u8 mType
Definition d_a_npc_zra.h:396
bool setAction(ActionFn)
Definition d_a_npc_zra.cpp:1888
u8 mSwitch1
Definition d_a_npc_zra.h:406
BOOL ECut_beforeBlastzrR(int)
void adjustShapeAngle()
Definition d_a_npc_zra.h:367
void setBlastFlag(u8 i_flag)
Definition d_a_npc_zra.h:371
u8 getPathNoFromParam()
Definition d_a_npc_zra.h:296
BOOL railSwim()
BOOL swimGoalRiverDescend(void *)
void calcWaitSwim(BOOL)
Event
Definition d_a_npc_zra.h:250
@ EVT_TALK_MULTI
Definition d_a_npc_zra.h:262
@ EVT_CARRY_WATERFALL
Definition d_a_npc_zra.h:257
@ EVT_CARRY_WATERFALL_NIGHT
Definition d_a_npc_zra.h:258
@ EVT_TALK_MULTI2
Definition d_a_npc_zra.h:263
@ EVT_THANKS_BLAST
Definition d_a_npc_zra.h:255
@ EVT_CARRY_WATERFALL_SKIP
Definition d_a_npc_zra.h:259
@ EVT_BEFORE_BLAST_ZRR
Definition d_a_npc_zra.h:253
@ EVT_CARRY_WATERFALL_NIGHT_SKIP
Definition d_a_npc_zra.h:260
@ EVT_NONE
Definition d_a_npc_zra.h:251
@ EVT_RESULT_ANNOUNCE
Definition d_a_npc_zra.h:256
@ EVT_TALK_SWIM
Definition d_a_npc_zra.h:252
@ EVT_SEARCH_PRINCE
Definition d_a_npc_zra.h:261
@ EVT_AFTER_BLAST_ZRR
Definition d_a_npc_zra.h:254
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_zra.h:376
s16 mLookMode
Definition d_a_npc_zra.h:394
BOOL ECut_afterBlastzrR(int)
void calcWaistAngleInit()
dPaPo_c mPaPo
Definition d_a_npc_zra.h:381
BOOL waitSpa(void *)
BOOL tobiSearch(void *)
void createRuppi()
u8 mCheckSwimTurnTimer
Definition d_a_npc_zra.h:438
SoldierType getSoldierTypeFromParam()
Definition d_a_npc_zra.cpp:1541
Expression
Definition d_a_npc_zra.h:188
@ EXPR_SPA_WAIT_B
Definition d_a_npc_zra.h:208
@ EXPR_SPA_TALK_A
Definition d_a_npc_zra.h:197
@ EXPR_SADSIT_E
Definition d_a_npc_zra.h:194
@ EXPR_SPA_TALK_B
Definition d_a_npc_zra.h:198
@ EXPR_TALK_NOMAL
Definition d_a_npc_zra.h:189
@ EXPR_TALK_A_SP
Definition d_a_npc_zra.h:203
@ EXPR_SADSIT_B
Definition d_a_npc_zra.h:191
@ EXPR_SADSIT_D
Definition d_a_npc_zra.h:193
@ EXPR_SPA_WAIT_A
Definition d_a_npc_zra.h:207
@ EXPR_TALK_A
Definition d_a_npc_zra.h:201
@ EXPR_TALK_B_SP
Definition d_a_npc_zra.h:200
@ EXPR_NONE
Definition d_a_npc_zra.h:209
@ EXPR_SADSIT_A
Definition d_a_npc_zra.h:190
@ EXPR_TALK_SWIM_SP
Definition d_a_npc_zra.h:199
@ EXPR_LOOKING_SP_2
Definition d_a_npc_zra.h:205
@ EXPR_TALK_NOMAL_2
Definition d_a_npc_zra.h:204
@ EXPR_SADSIT_C
Definition d_a_npc_zra.h:192
@ EXPR_WAIT_SWIM
Definition d_a_npc_zra.h:202
@ EXPR_LOOKUP_2
Definition d_a_npc_zra.h:206
@ EXPR_LOOKING_SP
Definition d_a_npc_zra.h:195
@ EXPR_LOOKUP
Definition d_a_npc_zra.h:196
dCcD_Cyl mCcCyl
Definition d_a_npc_zra.h:384
mDoExt_btkAnm mWaterBtkAnm
Definition d_a_npc_zra.h:377
BOOL talkSwim(void *)
int mSpinTimer
Definition d_a_npc_zra.h:411
BOOL swimWaterfall(void *)
cXyz field_0x1584
Definition d_a_npc_zra.h:435
ActionFn mpNextActionFn
Definition d_a_npc_zra.h:385
static EventFn mEvtCutList[11]
Definition d_a_npc_zra.h:426
u8 getMultiNoFromParam()
Definition d_a_npc_zra.cpp:1611
BOOL diveCalc(s16, s16, BOOL)
bool mIsAboveWater
Definition d_a_npc_zra.h:433
cXyz field_0x1500
Definition d_a_npc_zra.h:403
void setParam()
Definition d_a_npc_zra.cpp:852
daNpcF_Lookat_c mLookat
Definition d_a_npc_zra.h:380
bool selectAction()
Definition d_a_npc_zra.cpp:1901
u8 mMeterCount
Definition d_a_npc_zra.h:404
BOOL turnSwimCheck()
void calcBank(s16, s16, s16 &, s16 &)
int Execute()
Definition d_a_npc_zra.cpp:681
BOOL swimRiverDescend2(void *)
BOOL wait(void *)
u8 getMultiModeFromParam()
Definition d_a_npc_zra.cpp:1600
BOOL waitRiverDescend(void *)
BOOL chkFindPlayer()
Definition d_a_npc_zra.cpp:2220
BOOL ECut_talkMulti(int)
BOOL diveWaterfall(void *)
s16 field_0x1518
Definition d_a_npc_zra.h:410
void setAttnPos()
Definition d_a_npc_zra.cpp:1003
Definition f_op_actor.h:243
J3DModel * getModel()
Definition m_Do_ext.h:427
Definition m_Do_ext.h:122
Definition m_Do_ext.h:63
Definition m_Do_hostIO.h:26
Type
Definition d_a_e_gm.cpp:65
STATIC_ASSERT(sizeof(daNpc_zrA_HIOParam)==0xB0)
f32(* MtxP)[4]
Definition mtx.h:38
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
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 c_xyz.h:7
u16 m_num
Definition d_path.h:19
Definition d_a_npc4.h:430
Definition d_a_npc_zra.h:7
s16 mWalkAngleScale
Definition d_a_npc_zra.h:21
f32 mWalkAnmRate
Definition d_a_npc_zra.h:22
f32 mMinDepth
Definition d_a_npc_zra.h:16
s16 mSwimAngleSpeed
Definition d_a_npc_zra.h:11
f32 field_0x90
Definition d_a_npc_zra.h:18
f32 field_0xac
Definition d_a_npc_zra.h:26
f32 mMinSwimSpeedScale
Definition d_a_npc_zra.h:10
f32 field_0xa8
Definition d_a_npc_zra.h:25
f32 field_0xa4
Definition d_a_npc_zra.h:24
f32 field_0xa0
Definition d_a_npc_zra.h:23
f32 mSwimSpeed
Definition d_a_npc_zra.h:9
f32 mMaxScaleFactor
Definition d_a_npc_zra.h:15
f32 mWalkSpeed
Definition d_a_npc_zra.h:19
s16 mWalkAngleSpeed
Definition d_a_npc_zra.h:20
f32 field_0x7c
Definition d_a_npc_zra.h:13
f32 field_0x8c
Definition d_a_npc_zra.h:17
f32 mSwimAnmRate
Definition d_a_npc_zra.h:12
daNpcF_HIOParam common
Definition d_a_npc_zra.h:8
f32 field_0x80
Definition d_a_npc_zra.h:14
Definition c_phase.h:19