Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_coach.h
Go to the documentation of this file.
1#ifndef D_A_NPC_COACH_H
2#define D_A_NPC_COACH_H
3
4#include "d/actor/d_a_npc.h"
5#include "d/d_path.h"
6
17public:
18 /* 0x00 */ f32 gravity; // 重力 - Gravity
19 /* 0x04 */ f32 max_fall_speed; // 最大落下速度 - Maximum Fall Speed
20 /* 0x08 */ f32 jump_coeff; // 跳係数 - Jump Coefficient
21 /* 0x0C */ f32 field_0xc;
22 /* 0x10 */ f32 field_0x10;
23 /* 0x14 */ f32 field_0x14;
24 /* 0x18 */ f32 field_0x18;
25 /* 0x1C */ f32 max_speed; // 最大速度 - Maximum Speed
26 /* 0x20 */ f32 spring_constant; // バネ係数 - Spring Constant
27 /* 0x24 */ f32 damp_coeff[1]; // 減衰係数 - Damp Coefficient
28 /* 0x28 */ f32 field_0x28[4];
29 /* 0x38 */ f32 vert_swing_width; // 縦揺れ幅 - Vertical Swing Width
30 /* 0x3C */ f32 shake_dist; // 揺れ距離 - Shake Distance
31 /* 0x40 */ f32 jump_dist; // 跳ね距離 - Jump Distance
32 /* 0x44 */ f32 wheel_bounce; // 車輪跳ね - Wheel Bounce
33 /* 0x48 */ f32 field_0x48;
34 /* 0x4C */ Vec field_0x4c;
35 /* 0x58 */ f32 field_0x58;
36 /* 0x5C */ f32 field_0x5c;
37 /* 0x60 */ s16 field_0x60;
38 /* 0x62 */ s16 horse_rot_limit; // 馬Rot限度 - Horse Rot Limit
39 /* 0x64 */ s16 horiz_sway_range; // 横揺れ幅 - Horizontal Sway Range
40 /* 0x66 */ s16 field_0x66;
41 /* 0x68 */ s16 field_0x68;
42 /* 0x6A */ s8 field_0x6a;
43 /* 0x6B */ u8 field_0x6b;
44 /* 0x6C */ u8 field_0x6c;
45 /* 0x6D */ u8 shake_test; // 揺れ実験 - Shake Test
46 /* 0x6E */ s16 field_0x6e;
47 /* 0x70 */ int damage_reduction; // ダメージ減量 - Damage Reduction
48 /* 0x74 */ int damage_durability; // ダメージ耐久度 - Damage Durability
49 /* 0x78 */ u8 damage_extinguish_level; // ダメージ消火度 - Damage Extinguish Level
50 /* 0x79 */ u8 horse_camera; // 馬カメラ - Horse Camera
51 /* 0x7A */ u8 field_0x7a;
52 /* 0x7B */ u8 field_0x7b;
53 /* 0x7C */ f32 camera_dist; // カメラ距離 - Camera Distance
54 /* 0x80 */ s16 camera_elevation_angle; // カメラ仰角 - Camera Elevation Angle
55 /* 0x82 */ s16 camera_rotation_angle; // カメラ回転角 - Camera Rotation Angle
56 /* 0x84 */ s16 field_0x84;
57 /* 0x86 */ u8 field_0x86;
58 /* 0x87 */ u8 field_0x87;
59 /* 0x88 */ u8 field_0x88;
60 /* 0x89 */ u8 field_0x89;
61 /* 0x8A */ s16 field_0x8a;
62 /* 0x8C */ f32 field_0x8c;
63 /* 0x90 */ f32 field_0x90;
64 /* 0x94 */ f32 field_0x94;
65 /* 0x98 */ f32 deceleration_speed; // 減速速度 - Deceleration Speed
66 /* 0x9C */ s32 deceleration_time; // 減速時間 - Deceleration Time
67};
68
70public:
73 /* 0x078 */ cXyz field_0x78[2][5];
74 /* 0x0F0 */ cXyz field_0xf0[2][5];
75 /* 0x168 */ f32 field_0x168;
76 /* 0x16C */ s8 field_0x16c;
77 /* 0x170 */ cXyz field_0x170;
78};
79
81public:
83 /* 0x004 */ mDoExt_btpAnm* mpBtpAnm;
84 /* 0x008 */ mDoExt_bckAnm* mpBckAnm;
85 /* 0x00C */ dBgS_ObjAcch mBgc;
86 /* 0x1F0 */ dCcD_Cyl field_0x1f0[4];
88 /* 0x770 */ cXyz field_0x770;
89 /* 0x77C */ f32 mAnmRate;
90 /* 0x780 */ f32 mAimSpeed;
91 /* 0x784 */ f32 field_0x784;
92 /* 0x788 */ int field_0x788;
93 /* 0x78C */ int field_0x78c;
94 /* 0x790 */ int field_0x790;
95 /* 0x794 */ u32 mShadowKey;
97};
98
100public:
101 /* 0x00 */ cXyz field_0x0;
102 /* 0x0C */ u32 field_0xc[2];
103 /* 0x14 */ csXyz mWheelRot;
104 /* 0x1A */ s16 field_0x1a;
105 /* 0x1C */ s16 field_0x1c;
106 /* 0x1E */ s16 field_0x1e;
107 /* 0x20 */ s16 field_0x20;
108};
109
111public:
112 /* 0x000 */ J3DModel* mHarnessModel;
114 /* 0x38C */ dBgS_ObjAcch mBgc;
116 /* 0x6A0 */ dBgW* field_0x6a0;
117 /* 0x6A4 */ Mtx mMtx;
118 /* 0x6D4 */ cXyz field_0x6d4;
119 /* 0x6E0 */ cXyz field_0x6e0;
120 /* 0x6EC */ cXyz field_0x6ec;
121 /* 0x6F8 */ u32 mShadowKey;
122 /* 0x6FC */ f32 field_0x6fc;
123 /* 0x700 */ csXyz field_0x700;
124 /* 0x706 */ csXyz field_0x706;
127};
128
130public:
131 /* 0x000 */ J3DModel* mCoachModel;
133 /* 0x38C */ dBgS_ObjAcch mBgc;
134 /* 0x564 */ dBgW* field_0x564;
135 /* 0x568 */ Mtx field_0x568;
136 /* 0x598 */ Mtx field_0x598;
137 /* 0x5C8 */ cXyz field_0x5c8;
138 /* 0x5D4 */ cXyz field_0x5d4;
139 /* 0x5E0 */ cXyz field_0x5e0;
140 /* 0x5EC */ cXyz field_0x5ec;
141 /* 0x5F8 */ JPABaseEmitter* field_0x5f8[10];
144 /* 0x77C */ int field_0x77c;
145 /* 0x780 */ u32 mShadowKey;
146 /* 0x784 */ f32 field_0x784;
147 /* 0x788 */ f32 field_0x788;
148 /* 0x78C */ f32 mCoachTrans;
149 /* 0x790 */ f32 field_0x790;
150 /* 0x794 */ f32 field_0x794;
151 /* 0x798 */ s16 mCoachRot;
152 /* 0x79A */ csXyz field_0x79a;
153 /* 0x7A0 */ csXyz field_0x7a0;
156};
157
159public:
162 /* 0x38C */ Z2Creature mSound;
163 /* 0x41C */ dCcD_Cyl field_0x41c[2];
164 /* 0x694 */ cXyz field_0x694;
165};
166
168public:
169 inline BOOL setPath(int, int, cXyz&, bool);
170 BOOL isClose() { return dPath_ChkClose(mpPath); }
172 mPntIndex++;
173
174 if (mPntIndex >= mpPath->m_num) {
175 if (isClose()) {
176 mPntIndex = 0;
177 } else {
178 mPntIndex--;
179 return FALSE;
180 }
181 }
182
183 return TRUE;
184 }
186 mPntIndex--;
187
188 if (mPntIndex < 0) {
189 if (isClose()) {
190 mPntIndex = mpPath->m_num - 1;
191 } else {
192 mPntIndex++;
193 return FALSE;
194 }
195 }
196
197 return TRUE;
198 }
199 void getTargetPoint(cXyz& param_1) {
200 if (mpPath != NULL) {
202 }
204 bool isPath() { return mpPath != NULL; }
205 int getCurrentId() { return mCurrentID; }
210 inline s8 checkNearAttackPoint();
211 inline bool checkPoint(cXyz*, f32);
212 inline bool setNextTarget();
213
214 /* 0x00 */ dPath* mpPath;
215 /* 0x04 */ cXyz* field_0x4;
216 /* 0x08 */ f32 field_0x8;
217 /* 0x0C */ int mCurrentID;
218 /* 0x10 */ int mPntIndex;
219};
220
221class daNpcCoach_c : public fopAc_ac_c {
222public:
223 void hitFireArrow(cXyz);
224 void deleteFireArrow(unsigned int);
225 bool deleteFireArrowFromList(unsigned int);
226 void setPosAngle(cXyz&, csXyz&);
227 int ctrlJointHorse(J3DJoint*, J3DModel*);
228 void initCoachPosition(Vec&, SVec&);
229 void changeAtherPath(s8, cXyz&, csXyz&);
230 int createHeap();
231 int execute();
232 void checkCoachDamage();
233 inline void setCoachBlazing(u8);
234 void reinsExecute();
235 void reinsInit();
236 void calcCoachMotion();
237 inline void calcRearWheelRotate();
238 void calcHarnessMotion();
240 void calcHorseMotion();
241 inline void calcHorseAnm();
242 void calcHorsePath();
243 int draw();
246 void create_init();
247 inline void initCollision();
248 void initBaseMtx();
249 void setBaseMtx();
250 void initCoachBlazing();
251 daNpcCoach_c();
252
254 Mtx* getCoachMtx() { return &mCoachMtx; }
255 csXyz* getFrontWheelRot(int param_1) {
256 return (param_1 == 2) ? &mChHarness.field_0x70c.mWheelRot
258 }
259 csXyz* getRearWheelRot(int param_1) {
260 return (param_1 == 1) ? &mChCoach.field_0x7a8.mWheelRot
262 }
265 int getRailID() { return mChPath.getCurrentId(); }
266
267 inline void setDriverMtx();
269 inline void calcYeliaMotion();
275 inline void setCoachCollision();
276 inline s16 getGroundSlope(dBgS_ObjAcch*, s16);
277 inline void calcSpringF(f32*, f32, f32*);
278 inline void calcSpringS(s16*, s16, f32*);
279 inline void setCoachMtx();
281 inline void setHarnessCollision();
282 inline f32 calcMaxSpeed();
283 inline void setHorseCollision();
284 inline void setHorseMtx();
285 inline void setHorseAnm(int);
286 inline void eyeWink();
287 inline bool checkKargoAttack();
288 inline BOOL setExpressionAnm(int, bool);
289 inline void resetOverAngle();
290 inline void reinsDraw();
291 u8 getPathID() { return fopAcM_GetParam(this) & 0xFF; }
292 s16 getMessageNo() { return home.angle.x; }
293 inline void setHarnessMtx();
294 void setAimSpeed(f32 i_aimSpeed) { mChHorse.mAimSpeed = i_aimSpeed; }
295
296 const daNpcCoach_Attr_c& attr() const { return M_attr; }
297
298 static daNpcCoach_Attr_c const M_attr;
299 static u16 const ParticleName[10];
300private:
304 /* 0x1DC0 */ int field_0x1dc0;
305 /* 0x1DC4 */ bool mCoachBlazing;
306 /* 0x1DC5 */ u8 field_0x1dc5;
307 /* 0x1DC6 */ u8 field_0x1dc6;
308 /* 0x1DC7 */ u8 field_0x1dc7;
310 /* 0x2468 */ daNpcChPath_c mChPath;
311 /* 0x247C */ fpc_ProcID field_0x247c[5];
312 /* 0x2490 */ Mtx mCoachMtx;
313 /* 0x24C0 */ int field_0x24c0;
314 /* 0x24C4 */ int mTotalDmgRecv;
315 /* 0x24C8 */ f32 field_0x24c8;
316 /* 0x24CC */ dBgS_AcchCir mAcchCir;
317 /* 0x250C */ dCcD_Stts mStts;
319 /* 0x2550 */ int field_0x2550;
321 /* 0x2558 */ u8 field_0x2558;
322 /* 0x2559 */ u8 field_0x2559;
323 /* 0x255C */ cXyz field_0x255c;
324 /* 0x2568 */ int mPathID;
325 /* 0x256C */ u8 field_0x256c[0x2570 - 0x256c];
326};
327
328STATIC_ASSERT(sizeof(daNpcCoach_c) == 0x2570);
329
331public:
335
336 /* 0x0 */ u8 field_0x0[0x8 - 0x0];
337 /* 0x8 */ int field_0x8;
339};
340
341#endif /* D_A_NPC_COACH_H */
int cPhs_Step
Definition c_phase.h:8
Definition Z2LinkMgr.h:115
Definition Z2Creature.h:7
Definition Z2LinkMgr.h:131
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:244
Definition d_bg_w.h:262
Definition d_cc_d.h:472
Definition d_cc_d.h:487
Definition d_cc_d.h:273
Definition d_kankyo_tev_str.h:8
Definition d_a_npc_coach.h:129
dCcD_Sph field_0x644
Definition d_a_npc_coach.h:143
f32 field_0x784
Definition d_a_npc_coach.h:146
J3DModel * mCoachModel
Definition d_a_npc_coach.h:131
dBgW * field_0x564
Definition d_a_npc_coach.h:134
u32 mShadowKey
Definition d_a_npc_coach.h:145
csXyz field_0x79a
Definition d_a_npc_coach.h:152
s16 mCoachRot
Definition d_a_npc_coach.h:151
daNpcChWheel_c field_0x7cc
Definition d_a_npc_coach.h:155
f32 mCoachTrans
Definition d_a_npc_coach.h:148
cXyz field_0x5ec
Definition d_a_npc_coach.h:140
csXyz field_0x7a0
Definition d_a_npc_coach.h:153
int field_0x77c
Definition d_a_npc_coach.h:144
f32 field_0x788
Definition d_a_npc_coach.h:147
f32 field_0x790
Definition d_a_npc_coach.h:149
dKy_tevstr_c mTevStr
Definition d_a_npc_coach.h:132
Mtx field_0x598
Definition d_a_npc_coach.h:136
daNpcChWheel_c field_0x7a8
Definition d_a_npc_coach.h:154
cXyz field_0x5c8
Definition d_a_npc_coach.h:137
f32 field_0x794
Definition d_a_npc_coach.h:150
Z2SoundObjCoach mSound
Definition d_a_npc_coach.h:142
cXyz field_0x5d4
Definition d_a_npc_coach.h:138
cXyz field_0x5e0
Definition d_a_npc_coach.h:139
JPABaseEmitter * field_0x5f8[10]
Definition d_a_npc_coach.h:141
dBgS_ObjAcch mBgc
Definition d_a_npc_coach.h:133
Mtx field_0x568
Definition d_a_npc_coach.h:135
Definition d_a_npc_coach.h:110
csXyz field_0x700
Definition d_a_npc_coach.h:123
daNpcChWheel_c field_0x70c
Definition d_a_npc_coach.h:125
csXyz field_0x706
Definition d_a_npc_coach.h:124
f32 field_0x6fc
Definition d_a_npc_coach.h:122
u32 mShadowKey
Definition d_a_npc_coach.h:121
cXyz field_0x6ec
Definition d_a_npc_coach.h:120
daNpcChWheel_c field_0x730
Definition d_a_npc_coach.h:126
dBgW * field_0x6a0
Definition d_a_npc_coach.h:116
dBgS_ObjAcch mBgc
Definition d_a_npc_coach.h:114
Mtx mMtx
Definition d_a_npc_coach.h:117
dCcD_Cyl field_0x564
Definition d_a_npc_coach.h:115
cXyz field_0x6d4
Definition d_a_npc_coach.h:118
cXyz field_0x6e0
Definition d_a_npc_coach.h:119
dKy_tevstr_c mTevStr
Definition d_a_npc_coach.h:113
J3DModel * mHarnessModel
Definition d_a_npc_coach.h:112
Definition d_a_npc_coach.h:80
u32 mShadowKey
Definition d_a_npc_coach.h:95
int field_0x788
Definition d_a_npc_coach.h:92
f32 mAnmRate
Definition d_a_npc_coach.h:89
f32 mAimSpeed
Definition d_a_npc_coach.h:90
mDoExt_bckAnm * mpBckAnm
Definition d_a_npc_coach.h:84
daNpcChReins_c mChReins
Definition d_a_npc_coach.h:96
int field_0x78c
Definition d_a_npc_coach.h:93
mDoExt_McaMorf2 * mpModelMorf
Definition d_a_npc_coach.h:82
mDoExt_btpAnm * mpBtpAnm
Definition d_a_npc_coach.h:83
f32 field_0x784
Definition d_a_npc_coach.h:91
Z2CreatureRide mSound
Definition d_a_npc_coach.h:87
int field_0x790
Definition d_a_npc_coach.h:94
cXyz field_0x770
Definition d_a_npc_coach.h:88
dCcD_Cyl field_0x1f0[4]
Definition d_a_npc_coach.h:86
dBgS_ObjAcch mBgc
Definition d_a_npc_coach.h:85
Definition d_a_npc_coach.h:167
cXyz * field_0x4
Definition d_a_npc_coach.h:215
int mCurrentID
Definition d_a_npc_coach.h:217
s8 checkNearAttackPoint()
Definition d_a_npc_coach.cpp:1739
f32 field_0x8
Definition d_a_npc_coach.h:216
BOOL setPrevPoint()
Definition d_a_npc_coach.h:185
s8 getArg0()
Definition d_a_npc_coach.h:206
bool checkPoint(cXyz *, f32)
Definition d_a_npc_coach.cpp:1801
bool setNextTarget()
Definition d_a_npc_coach.cpp:1815
s8 getArg1()
Definition d_a_npc_coach.h:207
BOOL setPath(int, int, cXyz &, bool)
Definition d_a_npc_coach.cpp:510
dPath * mpPath
Definition d_a_npc_coach.h:214
BOOL isClose()
Definition d_a_npc_coach.h:170
bool setNextPoint()
Definition d_a_npc_coach.h:171
int getCurrentId()
Definition d_a_npc_coach.h:205
s8 getArg3()
Definition d_a_npc_coach.h:209
int mPntIndex
Definition d_a_npc_coach.h:218
s8 getArg2()
Definition d_a_npc_coach.h:208
void getTargetPoint(cXyz &param_1)
Definition d_a_npc_coach.h:199
bool isPath()
Definition d_a_npc_coach.h:204
Definition d_a_npc_coach.h:69
mDoExt_3DlineMat1_c field_0x3c
Definition d_a_npc_coach.h:72
mDoExt_3DlineMat1_c field_0x0
Definition d_a_npc_coach.h:71
f32 field_0x168
Definition d_a_npc_coach.h:75
s8 field_0x16c
Definition d_a_npc_coach.h:76
cXyz field_0x170
Definition d_a_npc_coach.h:77
cXyz field_0x78[2][5]
Definition d_a_npc_coach.h:73
cXyz field_0xf0[2][5]
Definition d_a_npc_coach.h:74
Definition d_a_npc_coach.h:99
csXyz mWheelRot
Definition d_a_npc_coach.h:103
u32 field_0xc[2]
Definition d_a_npc_coach.h:102
s16 field_0x20
Definition d_a_npc_coach.h:107
s16 field_0x1e
Definition d_a_npc_coach.h:106
s16 field_0x1c
Definition d_a_npc_coach.h:105
cXyz field_0x0
Definition d_a_npc_coach.h:101
s16 field_0x1a
Definition d_a_npc_coach.h:104
Definition d_a_npc_coach.h:158
cXyz field_0x694
Definition d_a_npc_coach.h:164
dKy_tevstr_c mTevStr
Definition d_a_npc_coach.h:161
dCcD_Cyl field_0x41c[2]
Definition d_a_npc_coach.h:163
mDoExt_McaMorfSO * mpModelMorf
Definition d_a_npc_coach.h:160
Z2Creature mSound
Definition d_a_npc_coach.h:162
Definition d_a_npc_coach.h:16
f32 camera_dist
Definition d_a_npc_coach.h:53
s16 field_0x66
Definition d_a_npc_coach.h:40
f32 field_0x5c
Definition d_a_npc_coach.h:36
f32 vert_swing_width
Definition d_a_npc_coach.h:29
s16 field_0x68
Definition d_a_npc_coach.h:41
s32 deceleration_time
Definition d_a_npc_coach.h:66
f32 field_0x28[4]
Definition d_a_npc_coach.h:28
u8 field_0x88
Definition d_a_npc_coach.h:59
u8 field_0x89
Definition d_a_npc_coach.h:60
u8 damage_extinguish_level
Definition d_a_npc_coach.h:49
f32 spring_constant
Definition d_a_npc_coach.h:26
f32 deceleration_speed
Definition d_a_npc_coach.h:65
f32 gravity
Definition d_a_npc_coach.h:18
u8 shake_test
Definition d_a_npc_coach.h:45
int damage_durability
Definition d_a_npc_coach.h:48
f32 field_0xc
Definition d_a_npc_coach.h:21
int damage_reduction
Definition d_a_npc_coach.h:47
u8 field_0x87
Definition d_a_npc_coach.h:58
u8 field_0x6c
Definition d_a_npc_coach.h:44
f32 field_0x14
Definition d_a_npc_coach.h:23
s16 horiz_sway_range
Definition d_a_npc_coach.h:39
s16 camera_elevation_angle
Definition d_a_npc_coach.h:54
u8 field_0x7a
Definition d_a_npc_coach.h:51
Vec field_0x4c
Definition d_a_npc_coach.h:34
s8 field_0x6a
Definition d_a_npc_coach.h:42
s16 field_0x8a
Definition d_a_npc_coach.h:61
u8 field_0x86
Definition d_a_npc_coach.h:57
f32 field_0x18
Definition d_a_npc_coach.h:24
f32 shake_dist
Definition d_a_npc_coach.h:30
f32 jump_dist
Definition d_a_npc_coach.h:31
s16 field_0x60
Definition d_a_npc_coach.h:37
f32 damp_coeff[1]
Definition d_a_npc_coach.h:27
f32 field_0x90
Definition d_a_npc_coach.h:63
f32 field_0x48
Definition d_a_npc_coach.h:33
s16 field_0x84
Definition d_a_npc_coach.h:56
f32 max_fall_speed
Definition d_a_npc_coach.h:19
f32 field_0x8c
Definition d_a_npc_coach.h:62
u8 field_0x6b
Definition d_a_npc_coach.h:43
f32 wheel_bounce
Definition d_a_npc_coach.h:32
s16 camera_rotation_angle
Definition d_a_npc_coach.h:55
f32 field_0x94
Definition d_a_npc_coach.h:64
s16 horse_rot_limit
Definition d_a_npc_coach.h:38
f32 jump_coeff
Definition d_a_npc_coach.h:20
f32 max_speed
Definition d_a_npc_coach.h:25
u8 field_0x7b
Definition d_a_npc_coach.h:52
s16 field_0x6e
Definition d_a_npc_coach.h:46
f32 field_0x10
Definition d_a_npc_coach.h:22
u8 horse_camera
Definition d_a_npc_coach.h:50
f32 field_0x58
Definition d_a_npc_coach.h:35
Coach.
Definition d_a_npc_coach.h:221
int draw()
Definition d_a_npc_coach.cpp:1925
void setBaseMtx()
Definition d_a_npc_coach.cpp:2130
dBgS_AcchCir mAcchCir
Definition d_a_npc_coach.h:316
f32 field_0x24c8
Definition d_a_npc_coach.h:315
void setHarnessCollision()
Definition d_a_npc_coach.cpp:1401
void calcHorseMotion()
Definition d_a_npc_coach.cpp:1576
void calcHorsePath()
Definition d_a_npc_coach.cpp:1842
void setYeliaMtx()
Definition d_a_npc_coach.h:270
void setHarnessMtx()
Definition d_a_npc_coach.cpp:2119
daNpcChCoach_c mChCoach
Definition d_a_npc_coach.h:303
request_of_phase_process_class mPhase
Definition d_a_npc_coach.h:318
void hitFireArrow(cXyz)
Definition d_a_npc_coach.cpp:286
int getRailID()
Definition d_a_npc_coach.h:265
csXyz * getFrontWheelRot(int param_1)
Definition d_a_npc_coach.h:255
static daNpcCoach_Attr_c const M_attr
Definition d_a_npc_coach.h:203
daNpcChHarness_c mChHarness
Definition d_a_npc_coach.h:302
void setCoachBlazing(u8)
Definition d_a_npc_coach.cpp:590
f32 getCoachTrans()
Definition d_a_npc_coach.h:264
daNpcChPath_c mChPath
Definition d_a_npc_coach.h:310
void create_init()
Definition d_a_npc_coach.cpp:2026
int mTotalDmgRecv
Definition d_a_npc_coach.h:314
int field_0x24c0
Definition d_a_npc_coach.h:313
void setHorseAnm(int)
Definition d_a_npc_coach.cpp:1609
void setCoachMtx()
Definition d_a_npc_coach.cpp:1167
void setAimSpeed(f32 i_aimSpeed)
Definition d_a_npc_coach.h:294
BOOL setExpressionAnm(int, bool)
Definition d_a_npc_coach.cpp:1780
daNpcChHorse_c mChHorse
Definition d_a_npc_coach.h:301
void setCoachCollision()
Definition d_a_npc_coach.cpp:1122
void calcSpringS(s16 *, s16, f32 *)
Definition d_a_npc_coach.cpp:1162
fpc_ProcID field_0x2554
Definition d_a_npc_coach.h:320
void initCollision()
Definition d_a_npc_coach.cpp:425
s16 getGroundSlope(dBgS_ObjAcch *, s16)
Definition d_a_npc_coach.cpp:1276
u8 field_0x1dc7
Definition d_a_npc_coach.h:308
void calcHarnessMotion()
Definition d_a_npc_coach.cpp:1419
f32 calcMaxSpeed()
Definition d_a_npc_coach.cpp:1523
void calcRearWheelRotate()
Definition d_a_npc_coach.cpp:1222
u8 field_0x2558
Definition d_a_npc_coach.h:321
u8 field_0x1dc6
Definition d_a_npc_coach.h:307
bool checkCoachBlazing()
Definition d_a_npc_coach.h:253
void initCoachPosition(Vec &, SVec &)
Definition d_a_npc_coach.cpp:375
s16 getMessageNo()
Definition d_a_npc_coach.h:292
u8 field_0x2559
Definition d_a_npc_coach.h:322
Mtx mCoachMtx
Definition d_a_npc_coach.h:312
int createHeap()
Definition d_a_npc_coach.cpp:702
int execute()
Definition d_a_npc_coach.cpp:856
s16 getCoachRotate()
Definition d_a_npc_coach.h:263
bool deleteFireArrowFromList(unsigned int)
Definition d_a_npc_coach.cpp:344
void calcFrontWheelRotate()
Definition d_a_npc_coach.cpp:1470
void setDriverMtx()
Definition d_a_npc_coach.cpp:829
daNpcChYelia_c mChYelia
Definition d_a_npc_coach.h:309
int ctrlJointHorse(J3DJoint *, J3DModel *)
Definition d_a_npc_coach.cpp:359
void setHorseCollision()
Definition d_a_npc_coach.cpp:1545
void initCoachBlazing()
Definition d_a_npc_coach.cpp:2138
void setPosAngle(cXyz &, csXyz &)
Definition d_a_npc_coach.cpp:354
void eyeWink()
Definition d_a_npc_coach.cpp:1625
void resetOverAngle()
Definition d_a_npc_coach.cpp:1826
void reinsInit()
Definition d_a_npc_coach.cpp:1070
void calcDriverMotion()
Definition d_a_npc_coach.h:268
int field_0x2550
Definition d_a_npc_coach.h:319
cXyz field_0x255c
Definition d_a_npc_coach.h:323
void initBaseMtx()
Definition d_a_npc_coach.cpp:2114
void changeAtherPath(s8, cXyz &, csXyz &)
Definition d_a_npc_coach.cpp:546
int mPathID
Definition d_a_npc_coach.h:324
u8 getPathID()
Definition d_a_npc_coach.h:291
void setWheelSmoke(daNpcChWheel_c *, dBgS_ObjAcch *, dKy_tevstr_c *, csXyz *)
Definition d_a_npc_coach.cpp:1195
u8 field_0x1dc5
Definition d_a_npc_coach.h:306
void deleteFireArrow(unsigned int)
Definition d_a_npc_coach.cpp:308
cPhs_Step create()
Definition d_a_npc_coach.cpp:2011
void reinsDraw()
Definition d_a_npc_coach.cpp:1908
u8 field_0x256c[0x2570 - 0x256c]
Definition d_a_npc_coach.h:325
static u16 const ParticleName[10]
Definition d_a_npc_coach.h:299
daNpcCoach_c()
Definition d_a_npc_coach.cpp:2167
void setHorseMtx()
Definition d_a_npc_coach.cpp:1568
bool checkKargoAttack()
Definition d_a_npc_coach.cpp:1771
fpc_ProcID field_0x247c[5]
Definition d_a_npc_coach.h:311
void calcSpringF(f32 *, f32, f32 *)
Definition d_a_npc_coach.cpp:1157
bool mCoachBlazing
Definition d_a_npc_coach.h:305
void calcCoachMotion()
Definition d_a_npc_coach.cpp:1286
void calcHorseAnm()
Definition d_a_npc_coach.cpp:1635
~daNpcCoach_c()
Definition d_a_npc_coach.cpp:1991
void checkCoachDamage()
Definition d_a_npc_coach.cpp:909
dCcD_Stts mStts
Definition d_a_npc_coach.h:317
int field_0x1dc0
Definition d_a_npc_coach.h:304
Mtx * getCoachMtx()
Definition d_a_npc_coach.h:254
csXyz * getRearWheelRot(int param_1)
Definition d_a_npc_coach.h:259
void calcYeliaMotion()
Definition d_a_npc_coach.cpp:836
void reinsExecute()
Definition d_a_npc_coach.cpp:986
const daNpcCoach_Attr_c & attr() const
Definition d_a_npc_coach.h:296
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
Definition m_Do_ext.h:589
Definition m_Do_ext.h:446
Definition m_Do_ext.h:408
J3DModel * getModel()
Definition m_Do_ext.h:427
Definition m_Do_ext.h:149
Definition m_Do_ext.h:180
static MtxP get()
Definition m_Do_mtx.h:241
static void copy(const Mtx m)
Definition m_Do_mtx.h:357
static void multVecZero(Vec *v)
Definition m_Do_mtx.h:273
STATIC_ASSERT(sizeof(daNpcCoach_c)==0x2570)
dPnt * dPath_GetPnt(const dPath *path, int pnt_index)
Definition d_path.cpp:39
BOOL dPath_ChkClose(const dPath *i_path)
Definition d_path.h:35
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
unsigned int fpc_ProcID
Definition f_pc_base.h:10
struct Vec Vec
Definition m_Do_lib.h:8
Definition c_sxyz.h:6
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:247
Definition c_xyz.h:7
Definition d_path.h:18
u16 m_num
Definition d_path.h:19
dPnt * m_points
Definition d_path.h:25
u8 mArg2
Definition d_path.h:12
Vec m_position
Definition d_path.h:15
u8 mArg0
Definition d_path.h:14
u8 mArg3
Definition d_path.h:13
u8 mArg1
Definition d_path.h:11
Definition d_a_npc_coach.h:330
int field_0x8
Definition d_a_npc_coach.h:337
daNpcCoach_Attr_c field_0xc
Definition d_a_npc_coach.h:338
void default_set()
Definition d_a_npc_coach.h:332
u8 field_0x0[0x8 - 0x0]
Definition d_a_npc_coach.h:336
Definition c_phase.h:19