287 {
290 f32 yaw;
291 f32 angle;
292 f32 outSinTheta;
293 f32 outCosTheta;
294 f32 playerX, playerY, playerZ;
295 f32 x, y, z;
296 s32 result;
297 s32 hammerLevel;
298 s32 soundID;
299 u32 unk_BC;
300 s32 ten;
301 s32 ret;
302 s32 i;
303
307 if (angle >= 90.0f && angle < 270.0f) {
308 yaw += -30.0f;
309 } else {
310 yaw += 30.0f;
311 }
312 }
313
315 playerX = playerStatus->
pos.
x;
316 playerY = playerStatus->
pos.
y;
317 playerZ = playerStatus->
pos.
z;
318
319
320 for (i = 1; i < 16; i++) {
321 x = playerX + (outSinTheta * i);
322 y = playerY;
323 z = playerZ - (outCosTheta * i);
330 }
331 }
332 }
333
335 break;
336 }
337 }
338
339 if (i >= 16) {
343 if (angle >= 90.0f && angle < 270.0f) {
344 yaw += 15.0f;
345 } else {
346 yaw += -15.0f;
347 }
348 }
350
351
352 for (i = 1; i < 16; i++) {
353 x = playerX + (outSinTheta * i);
354 y = playerY;
355 z = playerZ - (outCosTheta * i);
362 }
363 }
364 }
365
367 break;
368 }
369 }
370 }
371
374 if (hammerLevel == 2) {
376 } else if (hammerLevel == 1) {
378 } else {
380 }
382
384
390 }
391
395 }
396 }
397
400 }
403 }
407 }
409 playerStatus->
flags &= ~PS_FLAG_NO_FLIPPING;
410 }
411
415 }
416
418 ten = 10;
420 playerStatus->
flags &= ~PS_FLAG_HAMMER_CHECK;
422 }
423 playerStatus->
flags &= ~PS_FLAG_NO_FLIPPING;
424 }
425}
AnimID trueAnimation
Encoding back-facing sprite.
@ PLAYER_COLLISION_HAMMER
Entity * get_entity_by_index(s32 index)
f32 player_get_side_angle(void)
s32 player_test_lateral_overlap(s32, PlayerStatus *, f32 *, f32 *, f32 *, f32, f32)
void set_action_state(s32 actionState)
void sin_cos_rad(f32 rad, f32 *outSinTheta, f32 *outCosTheta)
void sfx_play_sound_at_player(s32 soundID, s32 arg1)
#define COLLISION_WITH_ENTITY_BIT
CollisionStatus gCollisionStatus
PlayerStatus gPlayerStatus
HiddenPanelsData gCurrentHiddenPanels
s32 action_hammer_is_swinging_away(s32 animID)
void action_hammer_play_hit_fx(s32 hitID)
HammerHitData * HammerHit