forked from zeldaret/tp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathd_a_npc_zra.h
More file actions
466 lines (443 loc) · 15.6 KB
/
d_a_npc_zra.h
File metadata and controls
466 lines (443 loc) · 15.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
#ifndef D_A_NPC_ZRA_H
#define D_A_NPC_ZRA_H
#include "d/actor/d_a_npc.h"
/**
* @ingroup actors-npcs
* @class daNpc_zrA_Path_c
* @brief Zora (Adult)
*
* @details
*
*/
class daNpc_zrA_Path_c : public daNpcF_Path_c {
public:
/* 80B7850C */ BOOL getDstPosDst2(cXyz, cXyz&);
/* 80B7876C */ void setNextIdxDst(cXyz);
/* 80B788F8 */ BOOL chkPassedDstXZ(cXyz);
/* 80B78A60 */ BOOL getDstPosDstXZ(cXyz, cXyz&);
/* 80B78CA0 */ BOOL chkPassedChase(u16, cXyz);
/* 80B78CFC */ int getDstPosChase(u16, cXyz, cXyz&);
/* 80B78E08 */ f32 chkPassDst(u16, cXyz);
/* 80B7EF88 */ ~daNpc_zrA_Path_c() {}
int getEndIdx() { return mpRoomPath->m_num - 1; }
};
STATIC_ASSERT(sizeof(daNpc_zrA_Path_c) == 0x630);
class daNpc_zrA_c : public daNpcF_c {
public:
typedef BOOL (daNpc_zrA_c::*ActionFn)(void*);
typedef BOOL (daNpc_zrA_c::*EventFn)(int);
enum Type {
/* 0 */ TYPE_WAIT,
/* 1 */ TYPE_SWIM,
/* 2 */ TYPE_WATERFALL,
/* 3 */ TYPE_RIVER,
/* 4 */ TYPE_TOBIKOMI,
/* 5 */ TYPE_SEARCH,
/* 6 */ TYPE_SPA,
};
enum SoldierType {
/* 0 */ SOLDIER_SPEAR,
/* 1 */ SOLDIER_NOSPEAR,
/* 2 */ SOLDIER_NONE,
};
enum ActionType {
/* 0 */ ACT_TYPE_0,
/* 1 */ ACT_TYPE_1,
/* 2 */ ACT_TYPE_2,
/* 3 */ ACT_TYPE_3,
/* 4 */ ACT_TYPE_4,
/* 5 */ ACT_TYPE_5,
/* 6 */ ACT_TYPE_6,
};
enum GameMode {
/* 0 */ GAME_MODE_0,
/* 1 */ GAME_MODE_1,
/* 2 */ GAME_MODE_2,
/* 3 */ GAME_MODE_3,
};
enum SwimMode {
/* 0 */ SWIM_WAIT,
/* 1 */ SWIM_RAIL,
/* 2 */ SWIM_TURN,
/* 3 */ SWIM_3,
};
enum Animation {
/* 0x00 */ ANM_NONE,
/* 0x01 */ ANM_F_TALK_A,
/* 0x02 */ ANM_F_TALK_A_SP,
/* 0x03 */ ANM_F_WAIT_SWIM,
/* 0x04 */ ANM_F_TALK_NOMAL,
/* 0x05 */ ANM_FH_TALK_NOMAL,
/* 0x06 */ ANM_FH_SADSIT_A,
/* 0x07 */ ANM_FH_SADSIT_B,
/* 0x08 */ ANM_FH_SADSIT_C,
/* 0x09 */ ANM_FH_SADSIT_D,
/* 0x0A */ ANM_FH_SADSIT_E,
/* 0x0B */ ANM_F_LOOKING_SP,
/* 0x0C */ ANM_FH_LOOKING_SP,
/* 0x0D */ ANM_F_LOOKUP,
/* 0x0E */ ANM_FH_LOOKUP,
/* 0x0F */ ANM_F_TALK_SWIM_SP,
/* 0x10 */ ANM_F_TALK_B_SP,
/* 0x11 */ ANM_F_SPA_TALK_A,
/* 0x12 */ ANM_FH_SPA_WAIT_A,
/* 0x13 */ ANM_F_SPA_TALK_B,
/* 0x14 */ ANM_FH_SPA_WAIT_B,
/* 0x15 */ ANM_SWIM_TURN,
/* 0x16 */ ANM_STILL,
/* 0x17 */ ANM_FALLSWIM,
/* 0x18 */ ANM_SWIM_TALK,
/* 0x19 */ ANM_SADSIT_A,
/* 0x1A */ ANM_SADSIT_B,
/* 0x1B */ ANM_SADSIT_C,
/* 0x1C */ ANM_SADSIT_D,
/* 0x1D */ ANM_SADSIT_E,
/* 0x1E */ ANM_TOBIKOMI_S,
/* 0x1F */ ANM_TOBIKOMI_T,
/* 0x20 */ ANM_TOBIKOMI_E,
/* 0x21 */ ANM_LOOKING_SP,
/* 0x22 */ ANM_TALK_SWIM_SP,
/* 0x23 */ ANM_TALK_B_SP,
/* 0x24 */ ANM_LOOKUP,
/* 0x25 */ ANM_SPA_WAIT_B,
/* 0x26 */ ANM_SPA_TALK_B,
/* 0x27 */ ANM_SPA_WAIT_A,
/* 0x28 */ ANM_SPA_TALK_A,
/* 0x29 */ ANM_WAIT_A,
/* 0x2A */ ANM_WALK_A,
/* 0x2B */ ANM_TALK_A,
/* 0x2C */ ANM_SWIM_A,
/* 0x2D */ ANM_SWIM_B,
/* 0x2E */ ANM_WAIT_SWIM,
/* 0x2F */ ANM_DIVE,
/* 0x30 */ ANM_DIVE_B,
/* 0x31 */ ANM_FLOAT,
/* 0x32 */ ANM_FLOAT_B,
/* 0x33 */ ANM_STEP,
/* 0x34 */ ANM_WAIT_SP,
/* 0x35 */ ANM_WALK_A_SP,
/* 0x36 */ ANM_TALK_A_SP,
/* 0x37 */ ANM_SWIM_A_SP,
/* 0x38 */ ANM_SWIM_B_SP,
/* 0x39 */ ANM_WAIT_SWIM_SP,
/* 0x3A */ ANM_DIVE_SP,
/* 0x3B */ ANM_DIVE_B_SP,
/* 0x3C */ ANM_FLOAT_SP,
/* 0x3D */ ANM_FLOAT_B_SP,
/* 0x3E */ ANM_STEP_SP,
};
enum Expression {
/* 0x00 */ EXPR_TALK_NOMAL,
/* 0x01 */ EXPR_SADSIT_A,
/* 0x02 */ EXPR_SADSIT_B,
/* 0x03 */ EXPR_SADSIT_C,
/* 0x04 */ EXPR_SADSIT_D,
/* 0x05 */ EXPR_SADSIT_E,
/* 0x06 */ EXPR_LOOKING_SP,
/* 0x07 */ EXPR_LOOKUP,
/* 0x08 */ EXPR_SPA_TALK_A,
/* 0x09 */ EXPR_SPA_TALK_B,
/* 0x0A */ EXPR_TALK_SWIM_SP,
/* 0x0B */ EXPR_TALK_B_SP,
/* 0x0C */ EXPR_TALK_A,
/* 0x0D */ EXPR_WAIT_SWIM,
/* 0x0E */ EXPR_TALK_A_SP,
/* 0x0F */ EXPR_TALK_NOMAL_2,
/* 0x10 */ EXPR_LOOKING_SP_2,
/* 0x11 */ EXPR_LOOKUP_2,
/* 0x12 */ EXPR_SPA_WAIT_A,
/* 0x13 */ EXPR_SPA_WAIT_B,
/* 0x14 */ EXPR_NONE,
};
enum Motion {
/* 0x00 */ MOT_WAIT_A,
/* 0x01 */ MOT_WAIT_SWIM,
/* 0x02 */ MOT_SWIM_TALK,
/* 0x03 */ MOT_WAIT_A_2,
/* 0x04 */ MOT_WAIT_SWIM_2,
/* 0x05 */ MOT_TALK_A,
/* 0x06 */ MOT_SADSIT_A,
/* 0x07 */ MOT_SADSIT_B,
/* 0x08 */ MOT_SADSIT_C,
/* 0x09 */ MOT_SADSIT_D,
/* 0x0A */ MOT_SADSIT_E,
/* 0x0B */ MOT_LOOKING_SP,
/* 0x0C */ MOT_LOOKUP,
/* 0x0D */ MOT_SPA_TALK_A,
/* 0x0E */ MOT_SPA_TALK_B,
/* 0x0F */ MOT_TALK_SWIM_SP,
/* 0x10 */ MOT_TALK_B_SP,
/* 0x11 */ MOT_TALK_A_2,
/* 0x12 */ MOT_SPA_WAIT_A,
/* 0x13 */ MOT_SPA_WAIT_B,
/* 0x14 */ MOT_WALK_A,
/* 0x16 */ MOT_SWIM_A = 0x16,
/* 0x17 */ MOT_SWIM_B,
/* 0x18 */ MOT_DIVE_SWIM_A,
/* 0x19 */ MOT_DIVE_B_SWIM_A,
/* 0x1A */ MOT_DIVE_SWIM_B,
/* 0x1B */ MOT_DIVE_B_SWIM_B,
/* 0x1C */ MOT_STEP,
/* 0x1D */ MOT_FLOAT,
/* 0x1E */ MOT_FLOAT_B,
/* 0x1F */ MOT_SWIM_TURN,
/* 0x20 */ MOT_TOBIKOMI_S,
/* 0x21 */ MOT_TOBIKOMI_T,
/* 0x22 */ MOT_TOBIKOMI_E,
/* 0x23 */ MOT_FALLSWIM,
};
enum Event {
/* 0x0 */ EVT_NONE,
/* 0x1 */ EVT_TALK_SWIM,
/* 0x2 */ EVT_BEFORE_BLAST_ZRR,
/* 0x3 */ EVT_AFTER_BLAST_ZRR,
/* 0x4 */ EVT_THANKS_BLAST,
/* 0x5 */ EVT_RESULT_ANNOUNCE,
/* 0x6 */ EVT_CARRY_WATERFALL,
/* 0x7 */ EVT_CARRY_WATERFALL_NIGHT,
/* 0x8 */ EVT_CARRY_WATERFALL_SKIP,
/* 0x9 */ EVT_CARRY_WATERFALL_NIGHT_SKIP,
/* 0xA */ EVT_SEARCH_PRINCE,
/* 0xB */ EVT_TALK_MULTI,
/* 0xC */ EVT_TALK_MULTI2,
};
/* 80B7956C */ daNpc_zrA_c();
/* 80B79828 */ ~daNpc_zrA_c();
/* 80B79B58 */ cPhs__Step create();
/* 80B79F38 */ int CreateHeap();
/* 80B7A51C */ int Delete();
/* 80B7A550 */ int Execute();
/* 80B7A570 */ int Draw();
/* 80B7A864 */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 80B7AB9C */ static int createHeapCallBack(fopAc_ac_c*);
/* 80B7ABBC */ static int ctrlJointCallBack(J3DJoint*, int);
/* 80B7AC08 */ void setParam();
/* 80B7ADF0 */ BOOL main();
/* 80B7B0A4 */ BOOL ctrlBtk();
/* 80B7B1DC */ void setAttnPos();
/* 80B7B91C */ void setMtx();
/* 80B7B9D4 */ bool setExpressionAnm(int, bool);
/* 80B7BD60 */ bool setExpressionBtp(int);
/* 80B7BE74 */ void setExpression(int, f32);
/* 80B7BEA0 */ void setMotionAnm(int, f32);
/* 80B7C070 */ void setMotionWaterAnm(int);
/* 80B7C308 */ void setMotion(int, f32, BOOL);
/* 80B7C34C */ BOOL drawDbgInfo();
/* 80B7C354 */ void drawOtherMdls();
/* 80B7C44C */ Type getTypeFromArgument();
/* 80B7C4B4 */ SoldierType getSoldierTypeFromParam();
/* 80B7C500 */ GameMode getGameModeFromParam();
/* 80B7C524 */ ActionType getActionTypeFromParam();
/* 80B7C5E4 */ u8 getMultiModeFromParam();
/* 80B7C614 */ u8 getMultiNoFromParam();
/* inline */ u8 getNoFromParam() { return (u8)fopAcM_GetParam(this); }
/* inline */ u8 getPathNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
/* 80B7C644 */ BOOL isDelete();
/* 80B7C71C */ void reset();
/* 80B7CA8C */ void playExpression();
/* 80B7D0FC */ void playMotion();
/* 80B7DAF4 */ BOOL chkAction(ActionFn);
/* 80B7DB20 */ bool setAction(ActionFn);
/* 80B7DBC8 */ bool selectAction();
/* 80B7DF40 */ BOOL doEvent();
/* 80B7E668 */ BOOL setSkipZev(int, int);
/* 80B7E6F4 */ void setLookMode(int);
/* 80B7E718 */ void lookat();
/* 80B7E9E0 */ BOOL chkFindPlayer();
/* 80B7EA90 */ void setExpressionTalkAfter();
/* 80B7EBA0 */ void setPrtcl();
/* 80B7EC54 */ BOOL test(void*);
/* 80B7F8C4 */ BOOL wait(void*);
/* 80B7FD10 */ void walkCalc();
/* 80B7FE18 */ void waitCalc();
/* 80B800A4 */ BOOL waitSpa(void*);
/* 80B80228 */ BOOL waitLake(void*);
/* 80B80418 */ BOOL talk(void*);
/* 80B806FC */ BOOL ECut_talkMulti(int);
/* 80B80860 */ BOOL swim(void*);
/* 80B80A94 */ BOOL railSwim();
/* 80B81788 */ BOOL waitSwim();
/* 80B81918 */ BOOL turnSwimInit();
/* 80B81A18 */ BOOL turnSwim();
/* 80B81CC8 */ BOOL turnSwimCheck();
/* 80B81D68 */ BOOL evasionCalc(cXyz&, csXyz&);
/* 80B81FB8 */ void calcBank(s16, s16, s16&, s16&);
/* 80B8204C */ void calcWaistAngle();
/* 80B82238 */ void calcWaistAngleInit();
/* 80B822CC */ void calcWaistAngleStop();
/* 80B822D8 */ BOOL calcWaistAngleCheck();
/* 80B82300 */ void calcModulation();
/* 80B8247C */ void resetModulation();
/* 80B824F4 */ void calcSwimAngle(csXyz&, csXyz&, s16, s16);
/* 80B82584 */ void calcSwimPos(cXyz&);
/* 80B825FC */ void calcWaitSwim(BOOL);
/* 80B826F0 */ BOOL ECut_talkSwim(int);
/* 80B82C54 */ BOOL waitWaterfall(void*);
/* 80B82E88 */ BOOL swimWaterfall(void*);
/* 80B833C8 */ BOOL diveWaterfall(void*);
/* 80B83548 */ BOOL talkSwim(void*);
/* 80B837E8 */ BOOL ECut_carryWaterfall(int);
/* 80B83D08 */ BOOL ECut_carryWaterfallSkip(int);
/* 80B83FA4 */ BOOL diveCalc(s16, s16, BOOL);
/* 80B84298 */ BOOL waitRiverDescend(void*);
/* 80B84B74 */ BOOL swimRiverDescend(void*);
/* 80B85B14 */ BOOL swimRiverDescend2(void*);
/* 80B8601C */ BOOL diveRiverDescend(void*);
/* 80B86440 */ BOOL swimGoalRiverDescend(void*);
/* 80B86A2C */ BOOL returnRiverDescend(void*);
/* 80B86D9C */ void moveRiverPosCalc(cXyz&);
/* 80B86E78 */ void createRuppi();
/* 80B86FAC */ BOOL ECut_beforeBlastzrR(int);
/* 80B872F0 */ BOOL ECut_afterBlastzrR(int);
/* 80B87510 */ BOOL ECut_thanksBlast(int);
/* 80B88B04 */ BOOL ECut_resultAnnounce(int);
/* 80B8A064 */ void calcCanoeMove(BOOL);
/* 80B8A43C */ BOOL tobiSearch(void*);
/* 80B8A54C */ BOOL tobiWait(void*);
/* 80B8A648 */ BOOL tobikomi1(void*);
/* 80B8A7F8 */ BOOL tobikomi2(void*);
/* 80B8AA1C */ BOOL tobikomi3(void*);
/* 80B8AB78 */ BOOL tobiJump(void*);
/* 80B8B1FC */ BOOL tobiEnd(void*);
/* 80B8B420 */ BOOL waitSearch(void*);
/* 80B8B530 */ BOOL ECut_searchPrince1(int);
/* 80B8BCE8 */ BOOL ECut_searchPrince2(int);
/* 80B8C3E8 */ void adjustShapeAngle() {}
int getType() { return mType; }
u32 getAngleNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
void setBlastFlag(u8 i_flag) { mBlastFlag = i_flag; }
MtxP getHeadMtx() { return mpMorf->getModel()->getAnmMtx(4); }
/* 0x0B48 */ Z2Creature mCreatureSound;
/* 0x0BD8 */ J3DModel* mpObjectModel[3];
/* 0x0BE4 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0x0BE8 */ mDoExt_btkAnm mWaterBtkAnm;
/* 0x0C00 */ mDoExt_bpkAnm mWaterBpkAnm;
/* 0x0C18 */ daNpc_zrA_Path_c mPath;
/* 0x1248 */ daNpcF_Lookat_c mLookat;
/* 0x12E4 */ dPaPo_c mPaPo;
/* 0x131C */ daNpcF_ActorMngr_c mActorMngr[3];
/* 0x1334 */ u8 field_0x1334[4];
/* 0x1338 */ dCcD_Cyl mCcCyl;
/* 0x1474 */ ActionFn mpNextActionFn;
/* 0x1480 */ ActionFn mpActionFn;
/* 0x148C */ request_of_phase_process_class mPhase[8];
/* 0x14CC */ u32 mItemID;
/* 0x14D0 */ int field_0x14d0;
/* 0x14D4 */ int field_0x14d4;
/* 0x14D8 */ int mSwimTurnTimer;
/* 0x14DC */ int field_0x14dc;
/* 0x14E0 */ int mFlowID;
/* 0x14E4 */ s16 mLookMode;
/* 0x14E6 */ u16 mMode;
/* 0x14E8 */ u8 mType;
/* 0x14E9 */ u8 mSoldierType;
/* 0x14EC */ int mBaseMotionAnm;
/* 0x14F0 */ int mBtkID;
/* 0x14F4 */ int mBpkID;
/* 0x14F8 */ u32 mWaterAnmFlags;
/* 0x14FC */ char* mStaffName;
/* 0x1500 */ cXyz field_0x1500;
/* 0x150C */ u8 mMeterCount;
/* 0x150D */ u8 mGameMode;
/* 0x150E */ u8 mSwitch1;
/* 0x150F */ u8 mSwitch2;
/* 0x1510 */ int field_0x1510;
/* 0x1514 */ int mSpinAngle;
/* 0x1518 */ s16 field_0x1518;
/* 0x151C */ int mSpinTimer;
/* 0x1520 */ u8 mSwimMode;
/* 0x1521 */ bool field_0x1521;
/* 0x1524 */ f32 mSwimSpeedF;
/* 0x1528 */ f32 mSwimSpeedScale;
/* 0x152C */ u8 field_0x152c[4];
/* 0x1530 */ csXyz mWaistAngle;
/* 0x1536 */ csXyz mSwimAngleCalc;
/* 0x153C */ bool field_0x153c;
/* 0x153D */ bool field_0x153d;
/* 0x153E */ bool field_0x153e;
/* 0x1540 */ int mSwimFastTurnTimer;
/* 0x1544 */ cXyz mSwimSpeed;
/* 0x1550 */ bool field_0x1550;
/* 0x1554 */ int field_0x1554;
/* 0x1558 */ int field_0x1558;
/* 0x155C */ int mModulationParam;
/* 0x1560 */ cXyz mModulationOffset;
/* 0x156C */ f32 mScaleFactor;
/* 0x1570 */ int mEvasionTimer;
/* 0x1574 */ s16 mEvasionAngle;
/* 0x1576 */ u8 mActionType;
/* 0x1577 */ bool mIsAboveWater;
/* 0x1578 */ cXyz field_0x1578;
/* 0x1584 */ cXyz field_0x1584;
/* 0x1590 */ bool mResetWaistAngle;
/* 0x1591 */ bool mIsTurning;
/* 0x1592 */ u8 mCheckSwimTurnTimer;
/* 0x1593 */ bool mCheckSwimTurn;
/* 0x1594 */ u8 mActionSelect;
/* 0x1595 */ int mRiverPathIdx;
/* 0x159C */ cXyz field_0x159c[3];
/* 0x15C0 */ u8 field_0x15c0;
/* 0x15C1 */ bool mBlastFlag;
static char* mEvtCutNameList[11];
static EventFn mEvtCutList[11];
};
STATIC_ASSERT(sizeof(daNpc_zrA_c) == 0x15C4);
class daNpc_zrA_Param_c {
public:
struct param {
/* 0x00 */ f32 mAttnOffsetY;
/* 0x04 */ f32 mGravity;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 mShadowDepth;
/* 0x10 */ f32 mCcWeight;
/* 0x14 */ f32 mCylH;
/* 0x18 */ f32 mWallH;
/* 0x1C */ f32 mWallR;
/* 0x20 */ f32 mBodyUpAngle;
/* 0x24 */ f32 mBodyDownAngle;
/* 0x28 */ f32 mBodyLeftAngle;
/* 0x2C */ f32 mBodyRightAngle;
/* 0x30 */ f32 mHeadUpAngle;
/* 0x34 */ f32 mHeadDownAngle;
/* 0x38 */ f32 mHeadLeftAngle;
/* 0x3C */ f32 mHeadRightAngle;
/* 0x40 */ f32 mNeckAngleScl;
/* 0x44 */ f32 mMorfFrames;
/* 0x48 */ s16 mSpeakDistIdx;
/* 0x4A */ s16 mSpeakAngleIdx;
/* 0x4C */ s16 mTalkDistIdx;
/* 0x4E */ s16 mTalkAngleIdx;
/* 0x50 */ f32 mAttnFovY;
/* 0x54 */ f32 mAttnRadius;
/* 0x58 */ f32 mAttnUpperY;
/* 0x5C */ f32 mAttnLowerY;
/* 0x60 */ s16 field_0x60;
/* 0x62 */ s16 mDamageTimer;
/* 0x64 */ s16 mTestExpression;
/* 0x66 */ s16 mTestMotion;
/* 0x68 */ s16 mTestLookMode;
/* 0x6A */ bool mTest;
/* 0x6C */ f32 mSwimSpeed;
/* 0x70 */ f32 mMinSwimSpeedScale;
/* 0x74 */ s16 mSwimAngleSpeed;
/* 0x78 */ f32 mSwimAnmRate;
/* 0x7C */ f32 field_0x7c;
/* 0x80 */ f32 field_0x80;
/* 0x84 */ f32 mMaxScaleFactor;
/* 0x88 */ f32 mMinDepth;
/* 0x8C */ f32 field_0x8c;
/* 0x90 */ f32 field_0x90;
/* 0x94 */ f32 mWalkSpeed;
/* 0x98 */ s16 mWalkAngleSpeed;
/* 0x9A */ s16 mWalkAngleScale;
/* 0x9C */ f32 mWalkAnmRate;
/* 0xA0 */ f32 field_0xa0;
/* 0xA4 */ f32 field_0xa4;
/* 0xA8 */ f32 field_0xa8;
/* 0xAC */ f32 field_0xac;
};
/* 80B8C3EC */ virtual ~daNpc_zrA_Param_c() {}
static param const m;
};
STATIC_ASSERT(sizeof(daNpc_zrA_Param_c::param) == 0xB0);
#endif /* D_A_NPC_ZRA_H */