|
void | shelled_koopa_attack_handler (s32 attackType) |
| Attack handler for regular-sized shelled koopa. More...
|
|
void | wiggler_jumped_on_attack_handler (void) |
| Attack handler for when wiggler is jumped or ground pounded on. More...
|
|
void | huge_goomba_weakly_attacked (void) |
| Attack handler for when mario attacks a huge goomba with an attack that doesn't kill it. More...
|
|
static s32 | obj_is_rendering_enabled (void) |
|
static s16 | obj_get_pitch_from_vel (void) |
|
static s32 | obj_update_race_proposition_dialog (s16 arg0) |
| Show dialog proposing a race. More...
|
|
static void | obj_set_dist_from_home (f32 distFromHome) |
|
static s32 | obj_is_near_to_and_facing_mario (f32 maxDist, s16 maxAngleDiff) |
|
static void | obj_perform_position_op (s32 op) |
|
static void | platform_on_track_update_pos_or_spawn_ball (s32 ballIndex, f32 x, f32 y, f32 z) |
|
static void | func_802F8D78 (f32 arg0, f32 arg1) |
|
static void | obj_rotate_yaw_and_bounce_off_walls (s16 targetYaw, s16 turnAmount) |
|
static s16 | obj_get_pitch_to_home (f32 latDistToHome) |
|
static void | obj_compute_vel_from_move_pitch (f32 speed) |
|
static s32 | clamp_s16 (s16 *value, s16 minimum, s16 maximum) |
|
static s32 | clamp_f32 (f32 *value, f32 minimum, f32 maximum) |
|
static void | func_802F927C (s32 arg0) |
|
static s32 | func_802F92B0 (s32 arg0) |
|
static s32 | func_802F92EC (s32 arg0, s32 arg1) |
|
static s32 | func_802F932C (s32 arg0) |
|
static s32 | func_802F9378 (s8 arg0, s8 arg1, u32 sound) |
|
static s16 | obj_turn_pitch_toward_mario (f32 targetOffsetY, s16 turnAmount) |
|
static s32 | approach_f32_ptr (f32 *px, f32 target, f32 delta) |
|
static s32 | obj_forward_vel_approach (f32 target, f32 delta) |
|
static s32 | obj_y_vel_approach (f32 target, f32 delta) |
|
static s32 | obj_move_pitch_approach (s16 target, s16 delta) |
|
static s32 | obj_face_pitch_approach (s16 targetPitch, s16 deltaPitch) |
|
static s32 | obj_face_yaw_approach (s16 targetYaw, s16 deltaYaw) |
|
static s32 | obj_face_roll_approach (s16 targetRoll, s16 deltaRoll) |
|
static s32 | obj_smooth_turn (s16 *angleVel, s32 *angle, s16 targetAngle, f32 targetSpeedProportion, s16 accel, s16 minSpeed, s16 maxSpeed) |
|
static void | obj_roll_to_match_yaw_turn (s16 targetYaw, s16 maxRoll, s16 rollSpeed) |
|
static s16 | random_linear_offset (s16 base, s16 range) |
|
static s16 | random_mod_offset (s16 base, s16 step, s16 mod) |
|
static s16 | obj_random_fixed_turn (s16 delta) |
|
static s32 | obj_grow_then_shrink (f32 *scaleVel, f32 shootFireScale, f32 endScale) |
| Begin by increasing the object's scale by *scaleVel, and slowly decreasing scaleVel. More...
|
|
static s32 | oscillate_toward (s32 *value, f32 *vel, s32 target, f32 velCloseToZero, f32 accel, f32 slowdown) |
|
static void | obj_update_blinking (s32 *blinkTimer, s16 baseCycleLength, s16 cycleLengthRange, s16 blinkLength) |
|
static s32 | obj_resolve_object_collisions (s32 *targetYaw) |
|
static s32 | obj_bounce_off_walls_edges_objects (s32 *targetYaw) |
|
static s32 | obj_resolve_collisions_and_turn (s16 targetYaw, s16 turnSpeed) |
|
static void | obj_die_if_health_non_positive (void) |
|
static void | obj_unused_die (void) |
|
static void | obj_set_knockback_action (s32 attackType) |
|
static void | obj_set_squished_action (void) |
|
static s32 | obj_die_if_above_lava_and_health_non_positive (void) |
|
static s32 | obj_handle_attacks (struct ObjectHitbox *hitbox, s32 attackedMarioAction, u8 *attackHandlers) |
|
static void | obj_act_knockback (UNUSED f32 baseScale) |
|
static void | obj_act_squished (f32 baseScale) |
|
static s32 | obj_update_standard_actions (f32 scale) |
|
static s32 | obj_check_attacks (struct ObjectHitbox *hitbox, s32 attackedMarioAction) |
|
static s32 | obj_move_for_one_second (s32 endAction) |
|
static void | treat_far_home_as_mario (f32 threshold) |
| If we are far from home (> threshold away), then set oAngleToMario to the angle to home and oDistanceToMario to 25000. More...
|
|
void | BehSlidingPlatform2Init (void) |
|
void | BehSlidingPlatform2Loop (void) |
|
void | BehOctagonalPlatformRotatingInit (void) |
|
void | BehOctagonalPlatformRotatingLoop (void) |
|
void | BehAnimatesOnFloorSwitchPressInit (void) |
|
void | BehAnimatesOnFloorSwitchPressLoop (void) |
|
void | BehCannonBarrelBubblesLoop (void) |
|
void | func_80308DF0 (void) |
|
void | func_80308E84 (void) |
|
void | func_80309004 (void) |
|
void | BehWaterBombCannonLoop (void) |
|
void | BehUnagiInit (void) |
|
void | func_803091C4 (void) |
|
void | func_803092AC (s32 arg0) |
|
void | func_80309430 (void) |
|
void | func_80309530 (void) |
|
void | BehUnagiLoop (void) |
|
void | BehUnagiSubobjectLoop (void) |
|
void | BehHauntedChairInit (void) |
|
void | func_8030A5D8 (void) |
|
void | func_8030A968 (void) |
|
void | BehHauntedChairLoop (void) |
|
void | func_8030AF6C (void) |
|
void | func_8030AFF0 (void) |
|
void | func_8030B110 (void) |
|
void | func_8030B1C8 (void) |
|
void | BehFlyingBookendLoop (void) |
|
void | BehBookendSpawnLoop (void) |
|
void | func_8030B464 (void) |
|
void | func_8030B50C (void) |
|
void | func_8030B5A4 (void) |
|
void | func_8030B728 (void) |
|
void | func_8030B794 (void) |
|
void | bhv_haunted_bookshelf_manager_loop (void) |
|
void | bhv_book_switch_loop (void) |
|
void | obj_spit_fire (s16 relativePosX, s16 relativePosY, s16 relativePosZ, f32 scale, s32 model, f32 startSpeed, f32 endSpeed, s16 movePitch) |
|
void | BehSmallPiranhaFlameLoop (void) |
|
void | BehFlyGuyFlameLoop (void) |
|
Gfx * | Geo18_8030D93C (s32 arg0, struct GraphNode *node, UNUSED void *arg2) |
|
Gfx * | Geo18_8030D9AC (s32 arg0, struct GraphNode *node, UNUSED void *arg2) |
|
void | func_8030C914 (void) |
|
void | func_8030CA38 (void) |
|
void | BehSnufitLoop (void) |
|
void | BehSnufitBallsLoop (void) |
|
void | BehHauntedRoomCheckLoop (void) |
|
void | func_80311264 (void) |
|
void | func_80311520 (void) |
|
void | BehHauntedRoomCheckSubobjectLoop (void) |
|
void | func_803116F8 (void) |
|
void | func_803117F4 (void) |
|
void | BehClamShellLoop (void) |
|
void | func_80312F8C (void) |
|
void | func_80313170 (void) |
|
void | BehBubbaLoop (void) |
|
If we are far from home (> threshold away), then set oAngleToMario to the angle to home and oDistanceToMario to 25000.
If we are close to home, but Mario is far from us (> threshold away), then keep oAngleToMario the same and set oDistanceToMario to 20000. If we are close to both home and Mario, then keep both oAngleToMario and oDistanceToMario the same.
The point of this function is to avoid having to write extra code to get the object to return to home. When mario is far away and the object is far from home, it could theoretically re-use the "approach mario" logic to approach its home instead. However, most objects that use this function handle the far-from-home case separately anyway. This function causes seemingly erroneous behavior in some objects that try to attack mario (e.g. fly guy shooting fire or lunging), especially when combined with partial updates.