102 {
107 f32 moveAngle, moveSpeed;
111
112
113
114
116
119 } else {
121 }
122
123 if (moveSpeed != 0.0f) {
126
129 } else {
131 }
135 }
136 } else {
139 }
140 }
141
144 } else {
146 }
150 }
151 } else {
154 }
155 }
156
162 }
163 } else {
165 }
171 } else {
177 }
183 }
184
185
186
187
188 sushie->moveSpeed = moveSpeed;
189 if (moveSpeed != 0.0f) {
193 y =
sushie->moveToPos.y + -6.0f;
197 {
201 } else {
203 }
206 } else {
209 }
210 moveSpeed = 2.0f;
214 y =
sushie->moveToPos.y + -6.0f;
217 moveSpeed, moveAngle,
depth,
sushie->collisionDiameter))
218 {
221 }
225 y =
sushie->moveToPos.y + -6.0f;
228 moveSpeed, moveAngle,
depth,
sushie->collisionDiameter))
229 {
232 }
233 }
234
235
236
237
248 } else {
249 return;
250 }
251 }
252 }
256 }
257 }
267 if (
sushie->moveToPos.y < y + 5.0f) {
268 sushie->moveToPos.y = y + 5.0f;
269 }
270 } else {
273 }
277 }
281 }
287 }
293 }
294 }
295 }
296
302#if VERSION_JP
304#else
306#endif
310 }
315 }
320 }
326 }
331 }
332 }
333}
@ COLLIDER_FLAGS_SURFACE_TYPE_MASK
@ SOUND_ID_TRIGGER_CHANGE_SOUND
void suggest_player_anim_always_forward(AnimID anim)
s32 get_collider_flags(s32 colliderID)
HitID npc_raycast_up_corners(s32 ignoreFlags, f32 *posX, f32 *posY, f32 *posZ, f32 *hitDepth, f32 yaw, f32 radius)
b32 npc_test_move_taller_with_slipping(s32, f32 *, f32 *, f32 *, f32, f32, f32, f32)
void sin_cos_rad(f32 rad, f32 *outSinTheta, f32 *outCosTheta)
void npc_set_imgfx_params(Npc *npc, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
void sfx_play_sound_at_npc(s32 soundID, s32 arg1, s32 npcID)
void set_player_imgfx_all(s32 animID, ImgFXType imgfxType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
PlayerStatus gPlayerStatus
void N test_for_water_level(s32 ignoreFlags, f32 posX, f32 posY, f32 posZ, f32 yaw, f32 radius)
void N get_movement_from_input(f32 *outAngle, f32 *outSpeed)