11#include "sprite/npc/WorldClubba.h"
12#include "sprite/npc/WorldKoopatrol.h"
13#include "sprite/npc/HammerBros.h"
15extern Addr world_action_CLASS_VRAM;
16#define PLAYER_ACTION_VRAM_DEF world_action_CLASS_VRAM
18#define PLAYER_ACTION_VRAM_DEF (void*) 0x802B6000
117 playerStatus->
flags &= ~PS_FLAG_TIME_STOPPED;
145 playerStatus->
animFlags &= ~PA_FLAG_SPINNING;
215 playerStatus->
flags &= ~PS_FLAG_SPECIAL_JUMP;
250 playerStatus->
flags &= ~PS_FLAG_CUTSCENE_MOVEMENT;
268 playerStatus->
flags &= ~PS_FLAG_SPINNING;
269 playerStatus->
animFlags &= ~PA_FLAG_SPINNING;
422 ANIM_WorldClubba_Anim00,
423 ANIM_WorldClubba_Anim02,
424 ANIM_WorldClubba_Anim03,
425 ANIM_WorldClubba_Anim04,
426 ANIM_WorldClubba_Anim05,
427 ANIM_WorldClubba_Anim08,
428 ANIM_WorldClubba_Anim07,
429 ANIM_WorldClubba_Anim13,
430 ANIM_WorldClubba_Anim14,
435 ANIM_HammerBros_Anim00,
436 ANIM_HammerBros_Anim02,
437 ANIM_HammerBros_Anim03,
438 ANIM_HammerBros_Anim04,
439 ANIM_HammerBros_Anim06,
440 ANIM_HammerBros_Anim07,
441 ANIM_HammerBros_Anim09,
442 ANIM_HammerBros_Anim0A,
443 ANIM_HammerBros_Anim0B,
444 ANIM_HammerBros_Anim1A,
449 ANIM_WorldKoopatrol_Anim00,
450 ANIM_WorldKoopatrol_Anim01,
451 ANIM_WorldKoopatrol_Anim02,
452 ANIM_WorldKoopatrol_Anim04,
453 ANIM_WorldKoopatrol_Anim05,
454 ANIM_WorldKoopatrol_Anim06,
455 ANIM_WorldKoopatrol_Anim07,
456 ANIM_WorldKoopatrol_Anim08,
457 ANIM_WorldKoopatrol_Anim09,
458 ANIM_WorldKoopatrol_Anim12,
459 ANIM_WorldKoopatrol_Anim14,
460 ANIM_WorldKoopatrol_Anim1B,
466 ANIM_WorldKoopatrol_Anim01,
467 ANIM_WorldKoopatrol_Anim04,
468 ANIM_WorldKoopatrol_Anim06,
469 ANIM_WorldKoopatrol_Anim08,
470 ANIM_WorldKoopatrol_Anim00,
471 ANIM_WorldKoopatrol_Anim1B
474 ANIM_WorldKoopatrol_Anim01,
475 ANIM_WorldKoopatrol_Anim04,
476 ANIM_WorldKoopatrol_Anim06,
477 ANIM_WorldKoopatrol_Anim08,
478 ANIM_WorldKoopatrol_Anim00,
479 ANIM_WorldKoopatrol_Anim1B
482 ANIM_HammerBros_Anim03,
483 ANIM_HammerBros_Anim06,
484 ANIM_HammerBros_Anim09,
485 ANIM_HammerBros_Anim0B,
486 ANIM_HammerBros_Anim00,
487 ANIM_HammerBros_Anim1A
490 ANIM_WorldClubba_Anim02,
491 ANIM_WorldClubba_Anim03,
492 ANIM_WorldClubba_Anim04,
493 ANIM_WorldClubba_Anim05,
494 ANIM_WorldClubba_Anim00,
495 ANIM_WorldClubba_Anim14
509 if (listIndex >= 0) {
520 playerStatus->
animFlags &= ~PA_FLAG_INVISIBLE;
544 if (disguiseNpc != NULL) {
545 disguiseNpc->
flags &= ~NPC_FLAG_IGNORE_CAMERA_FOR_YAW;
623 yaw = camera->
curYaw - 270.0f;
625 yaw = camera->
curYaw - 90.0f;
629 for (radius = 2, i = 2; i > 0; radius += 18, i--) {
630 f32 x = playerStatus->
pos.
x + (dx * radius);
631 f32 y = playerStatus->
pos.
y + 4.0f;
632 f32 z = playerStatus->
pos.
z - (dy * radius);
void phys_reset_spin_history(void)
s32 PeachDisguiseReapplyDelay
AnimID HammerBroDisguiseExtraAnims[]
void phys_update_action_state(void)
void update_locomotion_state(void)
DisguiseAnims BasicPeachDisguiseAnims[]
s32(* LandingAdjustCamCallback)(void)
void peach_force_disguise_action(s32 useParasol)
void check_input_spin(void)
void phys_peach_update(void)
s32 PrevPlayerCamRelativeYaw
s32 phys_adjust_cam_on_landing(void)
s32 peach_disguise_check_overlaps(void)
void * LastLoadedActionOffset
void start_bounce_b(void)
#define PLAYER_ACTION_VRAM_DEF
void set_action_state(s32 actionState)
void start_bounce_a(void)
void peach_sync_disguise_npc(void)
s32 gSpinHistoryBufferPos
void peach_set_disguise_anim(AnimID anim)
b32 check_input_hammer(void)
void peach_check_for_parasol_input(void)
s16 gSpinHistoryPosAngle[5]
AnimID * PeachDisguiseExtraAnims[]
AnimID ClubbaDisguiseExtraAnims[]
b32 check_input_jump(void)
AnimID KoopatrolDisguiseExtraAnims[]
f32 phys_get_spin_history(s32 lag, s32 *x, s32 *y, s32 *z)
void phys_clear_spin_history(void)
Npc * peach_make_disguise_npc(s32 peachDisguise)
void phys_set_landing_adjust_cam_check(s32(*funcPtr)(void))
Action PlayerActionsTable[]
struct EffectInstance * specialDecorationEffect
@ PEACH_DISGUISE_KOOPATROL
@ PEACH_DISGUISE_HAMMER_BROS
@ PS_FLAG_ENTERING_BATTLE
@ PS_FLAG_ACTION_STATE_CHANGED
@ PS_FLAG_CUTSCENE_MOVEMENT
@ PS_FLAG_NO_STATIC_COLLISION
@ LANDING_CAM_NEVER_ADJUST
@ LANDING_CAM_CHECK_SURFACE
@ COLLIDER_FLAGS_SURFACE_TYPE_MASK
@ ENTITY_TYPE_TRUMPET_PLANT
@ ENTITY_TYPE_BELLBELL_PLANT
@ ENTITY_TYPE_PINK_FLOWER
@ PLAYER_COLLISION_HAMMER
@ PA_FLAG_INTERRUPT_USE_PARTNER
forces actions with bow, parakarry, watt, and lakilester to end (sushie not tested)
@ PA_FLAG_SPEECH_PROMPT_AVAILABLE
(...) prompt
@ PA_FLAG_USING_PEACH_PHYSICS
@ PA_FLAG_INTERACT_PROMPT_AVAILABLE
! prompt
@ ENTITY_FLAG_SHOWS_INSPECT_PROMPT
@ ACTION_STATE_TALK
Reading signs doesn't count.
@ ACTION_STATE_USE_TWEESTER
@ ACTION_STATE_USE_SNEAKY_PARASOL
@ ACTION_STATE_ENEMY_FIRST_STRIKE
@ ACTION_STATE_BOUNCE
Used with Kooper.
@ ACTION_STATE_HIT_FIRE
Causes Mario to fly up and take damage. Used for fire bars.
@ CAMERA_MOVE_IGNORE_PLAYER_Y
@ CAMERA_MOVE_ACCEL_INTERP_Y
@ CAMERA_MOVE_NO_INTERP_Y
@ NPC_FLAG_IGNORE_WORLD_COLLISION
@ NPC_FLAG_IGNORE_PLAYER_COLLISION
@ NPC_FLAG_IGNORE_CAMERA_FOR_YAW
b32 check_conversation_trigger(void)
Entity * get_entity_by_index(s32 index)
s32 is_ability_active(s32 arg0)
s32 get_collider_flags(s32 colliderID)
u32 dma_copy(Addr romStart, Addr romEnd, void *vramDest)
s32 enable_player_input(void)
s32 phys_should_player_be_sliding(void)
s32 player_test_lateral_overlap(s32, PlayerStatus *, f32 *, f32 *, f32 *, f32, f32)
void calculate_camera_yinterp_rate(void)
void sin_cos_rad(f32 rad, f32 *outSinTheta, f32 *outCosTheta)
s32 create_standard_npc(NpcBlueprint *blueprint, AnimID *animList)
void disable_npc_shadow(Npc *npc)
void free_npc_by_index(s32 listIndex)
Npc * get_npc_by_index(s32 listIndex)
void set_npc_yaw(Npc *npc, f32 yaw)
void sfx_stop_sound(s32 soundID)
#define COLLISION_WITH_ENTITY_BIT
#define LOAD_INTEGRATOR_FALL(ptr)
EvtScript * boundScriptBytecode
void(* onRender)(struct Npc *)
void(* onUpdate)(struct Npc *)
u8 Addr[]
Linker symbol address, as in ld_addrs.h.
#define ANIM_LIST_END
Terminates an extraAnimationList.
CollisionStatus gCollisionStatus
PartnerStatus gPartnerStatus
GameStatus * gGameStatusPtr
PlayerSpinState gPlayerSpinState
PlayerStatus gPlayerStatus
s32 PeachDisguiseNpcIndex