Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Data Structures | Functions | Variables
obj_behaviors.h File Reference
#include "types.h"
#include "object_helpers2.h"
#include "engine/surface_collision.h"

Go to the source code of this file.

Data Structures

struct  Struct802E2F58
 

Functions

void func_802E2F40 (void)
 
struct Struct802E2F58func_802E2F58 (s32 arg0, struct Object *arg1, UNUSED s32 arg2)
 
f32 absf_2 (f32 f)
 
void TurnObjAwayFromSurface (f32 objVelX, f32 objVelZ, f32 nX, UNUSED f32 nY, f32 nZ, f32 *objYawX, f32 *objYawZ)
 
s32 ObjFindWall (f32 objNewX, f32 objY, f32 objNewZ, f32 objVelX, f32 objVelZ)
 
s32 TurnObjAwayFromAwkwardFloor (struct Surface *objFloor, f32 floorY, f32 objVelX, f32 objVelZ)
 
void ObjOrientGraph (struct Object *obj, f32 normalX, f32 normalY, f32 normalZ)
 
void CalcObjFriction (f32 *objFriction, f32 floor_nY)
 
void CalcNewObjVelAndPosY (struct Surface *objFloor, f32 objFloorY, f32 objVelX, f32 arg3)
 
void CalcNewObjVelAndPosYUnderwater (struct Surface *objFloor, f32 floorY, f32 objVelX, f32 objVelZ, f32 waterY)
 
void ObjUpdatePosVelXZ (void)
 
void ObjSplash (s32 waterY, s32 objY)
 
s16 ObjectStep (void)
 
s16 func_802E4204 (void)
 
void obj_move_xyz_using_fvel_and_yaw (struct Object *obj)
 Uses an object's forward velocity and yaw to move its X, Y, and Z positions. More...
 
s32 is_point_within_radius_of_mario (f32 x, f32 y, f32 z, s32 dist)
 
s32 IsPointCloseToObject (struct Object *obj, f32 x, f32 y, f32 z, s32 dist)
 
void SetObjectVisibility (struct Object *obj, s32 arg1)
 
s32 ObjLeaveIfMarioIsNearHome (struct Object *obj, f32 arg1, f32 arg2, f32 arg3, s32 arg4)
 
void ObjDisplaceHome (struct Object *obj, f32 homeX, UNUSED f32 homeY, f32 homeZ, s32 baseDisp)
 
s32 func_802E46C0 (u32 arg0, u32 arg1, s16 arg2)
 
s32 func_802E478C (Vec3f dist, f32 x, f32 y, f32 z, f32 arg4)
 
void ObjSpawnYellowCoins (struct Object *obj, s32 nCoins)
 
s32 ObjFlickerAndDisappear (struct Object *obj, s16 arg1)
 
s8 func_802E49A4 (s16 arg0)
 
s16 func_802E4A38 (s32 *arg0, s16 arg1, f32 arg2, s32 arg3)
 
void ObjCheckFloorDeath (s16 collisionFlags, struct Surface *floor)
 
s32 ObjLavaDeath (void)
 
void SpawnOrangeNumber (s8 arg0, s16 arg1, s16 arg2, s16 arg3)
 
s32 Unknown802E4DF4 (s16 *arg0)
 
s32 CoinStep (s16 *collisionFlagsPtr)
 
void MovingCoinFlickerLoop (void)
 
void CoinCollected (void)
 
void bhv_moving_yellow_coin_init (void)
 
void bhv_moving_yellow_coin_loop (void)
 
void bhv_moving_blue_coin_init (void)
 
void bhv_moving_blue_coin_loop (void)
 
void bhv_blue_coin_sliding_jumping_init (void)
 
void func_802E540C (void)
 
void func_802E54DC (void)
 
void bhv_blue_coin_sliding_loop (void)
 
void bhv_blue_coin_jumping_loop (void)
 
void bhv_seaweed_init (void)
 
void bhv_seaweed_bundle_init (void)
 
void bhv_bobomb_init (void)
 
void func_802E5B7C (void)
 
void BobombExplodeLoop (void)
 
void CheckBobombInteractions (void)
 
void BobombPatrolLoop (void)
 
void BobombChaseMarioLoop (void)
 
void BobombLaunchedLoop (void)
 
void GenericBobombFreeLoop (void)
 
void StationaryBobombFreeLoop (void)
 
void BobombFreeLoop (void)
 
void BobombHeldLoop (void)
 
void BobombDroppedLoop (void)
 
void BobombThrownLoop (void)
 
void ObjRandomBlink (s32 *blinkTimer)
 
void bhv_bobomb_loop (void)
 
void bhv_bobomb_fuse_smoke_init (void)
 
void bhv_bobomb_buddy_init (void)
 
void BobombBuddyIdleLoop (void)
 
void BobombBuddyCannonLoop (s16 arg0, s16 arg1)
 
void BobombBuddyTalkLoop (void)
 
void BobombBuddyTurnToTalkLoop (void)
 
void BobombBuddyActionLoop (void)
 
void bhv_bobomb_buddy_loop (void)
 
void bhv_cannon_closed_init (void)
 
void CannonTrapDoorOpeningLoop (void)
 
void bhv_cannon_closed_loop (void)
 
void bhv_whirlpool_init (void)
 
void func_802E70A8 (void)
 
void WhirlpoolOrientGraph (void)
 
void bhv_whirlpool_loop (void)
 
void bhv_jet_stream_loop (void)
 
void bhv_homing_amp_init (void)
 Homing amp initialization function. More...
 
void bhv_homing_amp_loop (void)
 Homing amp update function. More...
 
void bhv_circling_amp_init (void)
 Circling amp initialization function. More...
 
void bhv_circling_amp_loop (void)
 Circling amp update function. More...
 
void bhv_butterfly_init (void)
 
void ButterflyStep (s32 speed)
 
void CalculateButterflyAngle (void)
 
void ButterflyRestingLoop (void)
 
void ButterflyFollowMarioLoop (void)
 
void ButterflyReturnHomeLoop (void)
 
void bhv_butterfly_loop (void)
 
void bhv_hoot_init (void)
 
f32 HootFindNextFloor (struct FloorGeometry **arg0, f32 arg1)
 
void HootFloorBounce (void)
 
void HootFreeStep (s16 arg0, s32 arg1)
 
void PlayerSetHootYaw (void)
 
void HootCarryStep (s32 arg0, UNUSED f32 arg1, UNUSED f32 arg2)
 
void HootSurfaceCollision (f32 arg0, UNUSED f32 arg1, f32 arg2)
 
void HootAscentLoop (f32 arg0, f32 arg1)
 
void HootActionLoop (void)
 
void HootTurnToHome (void)
 
void HootAwakeLoop (void)
 
void bhv_hoot_loop (void)
 
void bhv_beta_holdable_object_init (void)
 Behavior for bhvBetaHoldableObject. More...
 
void bhv_beta_holdable_object_loop (void)
 Update function for bhvBetaHoldableObject. More...
 
void bhv_object_bubble_init (void)
 
void bhv_object_bubble_loop (void)
 
void bhv_object_water_wave_init (void)
 
void bhv_object_water_wave_loop (void)
 
void bhv_explosion_init (void)
 
void bhv_explosion_loop (void)
 
void bhv_bobomb_bully_death_smoke_init (void)
 
void bhv_bobomb_explosion_bubble_init (void)
 
void bhv_bobomb_explosion_bubble_loop (void)
 
void bhv_respawner_loop (void)
 
void create_respawner (s32 arg0, void *behToSpawn, s32 minSpawnDist)
 
void bhv_small_bully_init (void)
 
void bhv_big_bully_init (void)
 
void BullyCheckMarioCollision (void)
 
void BullyChaseMarioLoop (void)
 
void BullyKnockbackLoop (void)
 
void BullyBackUpLoop (void)
 
void BullyBackUpCheck (s16 arg0)
 
void PlayBullyStompingSound (void)
 
void BullyStep (void)
 
void BullySpawnCoin (void)
 
void BullyLavaDeath (void)
 
void bhv_bully_loop (void)
 
void BigBullySpawnMinion (s32 arg0, s32 arg1, s32 arg2, s16 arg3)
 
void bhv_big_bully_with_minions_init (void)
 
void BigBullyWithMinionsLavaDeath (void)
 
void bhv_big_bully_with_minions_loop (void)
 
f32 WaterRingCalcMarioDistInFront (void)
 
void WaterRingInit (void)
 
void bhv_jet_stream_water_ring_init (void)
 
void CheckWaterRingCollection (f32 avgScale, struct Object *ringManager)
 
void SetWaterRingScale (f32 avgScale)
 
void WaterRingCollectedLoop (void)
 
void JetStreamWaterRingNotCollectedLoop (void)
 
void bhv_jet_stream_water_ring_loop (void)
 
void Unknown802EB8A4 (void)
 
void JetStreamRingSpawnerActiveLoop (void)
 
void bhv_jet_stream_ring_spawner_loop (void)
 
void bhv_manta_ray_water_ring_init (void)
 
void MantaRayWaterRingNotCollectedLoop (void)
 
void bhv_manta_ray_water_ring_loop (void)
 
void bhv_bowser_bomb_loop (void)
 
void bhv_bowser_bomb_explosion_loop (void)
 
void bhv_bowser_bomb_smoke_loop (void)
 
void bhv_celebration_star_init (void)
 
void CelebrationStarSpinAroundMarioLoop (void)
 
void CelebrationStarFaceCameraLoop (void)
 
void bhv_celebration_star_loop (void)
 
void bhv_celebration_star_sparkle_loop (void)
 
void bhv_star_key_collection_puff_spawner_loop (void)
 
void bhv_lll_drawbridge_spawner_loop (void)
 
void bhv_lll_drawbridge_loop (void)
 
void bhv_small_bomp_init (void)
 
void bhv_small_bomp_loop (void)
 
void bhv_large_bomp_init (void)
 
void bhv_large_bomp_loop (void)
 
void bhv_wf_sliding_platform_init (void)
 
void bhv_wf_sliding_platform_loop (void)
 
void bhv_moneybag_init (void)
 
void MoneybagCheckMarioCollision (void)
 
void MoneybagJump (s8 collisionFlags)
 
void MoneybagMoveAroundLoop (void)
 
void MoneybagReturnHomeLoop (void)
 
void MoneybagDisappearLoop (void)
 
void MoneybagDeathLoop (void)
 
void bhv_moneybag_loop (void)
 
void bhv_moneybag_hidden_loop (void)
 
void bhv_bowling_ball_init (void)
 
void func_802EDA14 (void)
 
void func_802EDA6C (void)
 
void bhv_bowling_ball_roll_loop (void)
 
void bhv_bowling_ball_initializeLoop (void)
 
void bhv_bowling_ball_loop (void)
 
void bhv_generic_bowling_ball_spawner_init (void)
 
void bhv_generic_bowling_ball_spawner_loop (void)
 
void bhv_thi_bowling_ball_spawner_loop (void)
 
void bhv_bob_pit_bowling_ball_init (void)
 
void bhv_bob_pit_bowling_ball_loop (void)
 
void bhv_free_bowling_ball_init (void)
 
void bhv_free_bowling_ball_roll_loop (void)
 
void bhv_free_bowling_ball_loop (void)
 
void bhv_rr_cruiser_wing_init (void)
 
void bhv_rr_cruiser_wing_loop (void)
 
void CreateStar (f32, f32, f32)
 

Variables

struct SurfaceD_803600E0
 
s8 D_80331500
 
s16 D_80331504
 
s8 D_80331508
 
s8 D_8033150C
 
s8 D_80331510
 
u8 bob_seg7_metal_ball_path0 []
 
u8 ttm_seg7_trajectory_070170A0 []
 
u8 bob_seg7_metal_ball_path1 []
 

Function Documentation

◆ absf_2()

f32 absf_2 ( f32  f)

◆ bhv_beta_holdable_object_init()

void bhv_beta_holdable_object_init ( void  )

Behavior for bhvBetaHoldableObject.

This is a simple implementation of a holdable object, probably used for testing. This was previously assumed to be a beta shell, as there are unused shell models left in the game; however, there is no evidence to support this theory. Initialization function for bhvBetaHoldableObject. Just sets various physics constants for the object.

◆ bhv_beta_holdable_object_loop()

void bhv_beta_holdable_object_loop ( void  )

Update function for bhvBetaHoldableObject.

Apply standard physics to the object if not held; otherwise, handle holding logic.

◆ bhv_big_bully_init()

void bhv_big_bully_init ( void  )

◆ bhv_big_bully_with_minions_init()

void bhv_big_bully_with_minions_init ( void  )

◆ bhv_big_bully_with_minions_loop()

void bhv_big_bully_with_minions_loop ( void  )

The Big Bully that spawns from killing its 3 minions uses the knockback timer

◆ bhv_blue_coin_jumping_loop()

void bhv_blue_coin_jumping_loop ( void  )

◆ bhv_blue_coin_sliding_jumping_init()

void bhv_blue_coin_sliding_jumping_init ( void  )

◆ bhv_blue_coin_sliding_loop()

void bhv_blue_coin_sliding_loop ( void  )

◆ bhv_bob_pit_bowling_ball_init()

void bhv_bob_pit_bowling_ball_init ( void  )

◆ bhv_bob_pit_bowling_ball_loop()

void bhv_bob_pit_bowling_ball_loop ( void  )

◆ bhv_bobomb_buddy_init()

void bhv_bobomb_buddy_init ( void  )

◆ bhv_bobomb_buddy_loop()

void bhv_bobomb_buddy_loop ( void  )

◆ bhv_bobomb_bully_death_smoke_init()

void bhv_bobomb_bully_death_smoke_init ( void  )

◆ bhv_bobomb_explosion_bubble_init()

void bhv_bobomb_explosion_bubble_init ( void  )

◆ bhv_bobomb_explosion_bubble_loop()

void bhv_bobomb_explosion_bubble_loop ( void  )

◆ bhv_bobomb_fuse_smoke_init()

void bhv_bobomb_fuse_smoke_init ( void  )

◆ bhv_bobomb_init()

void bhv_bobomb_init ( void  )

◆ bhv_bobomb_loop()

void bhv_bobomb_loop ( void  )

◆ bhv_bowling_ball_init()

void bhv_bowling_ball_init ( void  )

◆ bhv_bowling_ball_initializeLoop()

void bhv_bowling_ball_initializeLoop ( void  )

Uninitialzed parameter, but the parameter is unused in the called function

oBowlingBallInitYaw is never explicitly initialized, so it is 0.

◆ bhv_bowling_ball_loop()

void bhv_bowling_ball_loop ( void  )

◆ bhv_bowling_ball_roll_loop()

void bhv_bowling_ball_roll_loop ( void  )

Uninitialzed parameter, but the parameter is unused in the called function

oBowlingBallInitYaw is never explicitly initialized, so it is 0.

◆ bhv_bowser_bomb_explosion_loop()

void bhv_bowser_bomb_explosion_loop ( void  )

◆ bhv_bowser_bomb_loop()

void bhv_bowser_bomb_loop ( void  )

◆ bhv_bowser_bomb_smoke_loop()

void bhv_bowser_bomb_smoke_loop ( void  )

◆ bhv_bully_loop()

void bhv_bully_loop ( void  )

Because this function runs no matter what, Mario is able to interrupt the bully's

◆ bhv_butterfly_init()

void bhv_butterfly_init ( void  )

◆ bhv_butterfly_loop()

void bhv_butterfly_loop ( void  )

◆ bhv_cannon_closed_init()

void bhv_cannon_closed_init ( void  )

◆ bhv_cannon_closed_loop()

void bhv_cannon_closed_loop ( void  )

◆ bhv_celebration_star_init()

void bhv_celebration_star_init ( void  )

◆ bhv_celebration_star_loop()

void bhv_celebration_star_loop ( void  )

◆ bhv_celebration_star_sparkle_loop()

void bhv_celebration_star_sparkle_loop ( void  )

◆ bhv_circling_amp_init()

void bhv_circling_amp_init ( void  )

Circling amp initialization function.

◆ bhv_circling_amp_loop()

void bhv_circling_amp_loop ( void  )

Circling amp update function.

This calls the main update functions for both types of circling amps, and calls the common amp cooldown function when the amp is cooling down.

◆ bhv_explosion_init()

void bhv_explosion_init ( void  )

◆ bhv_explosion_loop()

void bhv_explosion_loop ( void  )

◆ bhv_free_bowling_ball_init()

void bhv_free_bowling_ball_init ( void  )

◆ bhv_free_bowling_ball_loop()

void bhv_free_bowling_ball_loop ( void  )

◆ bhv_free_bowling_ball_roll_loop()

void bhv_free_bowling_ball_roll_loop ( void  )

◆ bhv_generic_bowling_ball_spawner_init()

void bhv_generic_bowling_ball_spawner_init ( void  )

◆ bhv_generic_bowling_ball_spawner_loop()

void bhv_generic_bowling_ball_spawner_loop ( void  )

◆ bhv_homing_amp_init()

void bhv_homing_amp_init ( void  )

Homing amp initialization function.

◆ bhv_homing_amp_loop()

void bhv_homing_amp_loop ( void  )

Homing amp update function.

◆ bhv_hoot_init()

void bhv_hoot_init ( void  )

◆ bhv_hoot_loop()

void bhv_hoot_loop ( void  )

◆ bhv_jet_stream_loop()

void bhv_jet_stream_loop ( void  )

◆ bhv_jet_stream_ring_spawner_loop()

void bhv_jet_stream_ring_spawner_loop ( void  )

◆ bhv_jet_stream_water_ring_init()

void bhv_jet_stream_water_ring_init ( void  )

◆ bhv_jet_stream_water_ring_loop()

void bhv_jet_stream_water_ring_loop ( void  )

◆ bhv_large_bomp_init()

void bhv_large_bomp_init ( void  )

◆ bhv_large_bomp_loop()

void bhv_large_bomp_loop ( void  )

◆ bhv_lll_drawbridge_loop()

void bhv_lll_drawbridge_loop ( void  )

Because the global timer increments when the game is paused, pausing and unpausing

Because the global timer increments when the game is paused, pausing and unpausing

◆ bhv_lll_drawbridge_spawner_loop()

void bhv_lll_drawbridge_spawner_loop ( void  )

◆ bhv_manta_ray_water_ring_init()

void bhv_manta_ray_water_ring_init ( void  )

◆ bhv_manta_ray_water_ring_loop()

void bhv_manta_ray_water_ring_loop ( void  )

◆ bhv_moneybag_hidden_loop()

void bhv_moneybag_hidden_loop ( void  )

◆ bhv_moneybag_init()

void bhv_moneybag_init ( void  )

◆ bhv_moneybag_loop()

void bhv_moneybag_loop ( void  )

◆ bhv_moving_blue_coin_init()

void bhv_moving_blue_coin_init ( void  )

◆ bhv_moving_blue_coin_loop()

void bhv_moving_blue_coin_loop ( void  )

◆ bhv_moving_yellow_coin_init()

void bhv_moving_yellow_coin_init ( void  )

◆ bhv_moving_yellow_coin_loop()

void bhv_moving_yellow_coin_loop ( void  )

◆ bhv_object_bubble_init()

void bhv_object_bubble_init ( void  )

◆ bhv_object_bubble_loop()

void bhv_object_bubble_loop ( void  )

◆ bhv_object_water_wave_init()

void bhv_object_water_wave_init ( void  )

◆ bhv_object_water_wave_loop()

void bhv_object_water_wave_loop ( void  )

◆ bhv_respawner_loop()

void bhv_respawner_loop ( void  )

◆ bhv_rr_cruiser_wing_init()

void bhv_rr_cruiser_wing_init ( void  )

◆ bhv_rr_cruiser_wing_loop()

void bhv_rr_cruiser_wing_loop ( void  )

◆ bhv_seaweed_bundle_init()

void bhv_seaweed_bundle_init ( void  )

gfx.animFrame uninitialized

◆ bhv_seaweed_init()

void bhv_seaweed_init ( void  )

◆ bhv_small_bomp_init()

void bhv_small_bomp_init ( void  )

◆ bhv_small_bomp_loop()

void bhv_small_bomp_loop ( void  )

◆ bhv_small_bully_init()

void bhv_small_bully_init ( void  )

◆ bhv_star_key_collection_puff_spawner_loop()

void bhv_star_key_collection_puff_spawner_loop ( void  )

◆ bhv_thi_bowling_ball_spawner_loop()

void bhv_thi_bowling_ball_spawner_loop ( void  )

◆ bhv_wf_sliding_platform_init()

void bhv_wf_sliding_platform_init ( void  )

◆ bhv_wf_sliding_platform_loop()

void bhv_wf_sliding_platform_loop ( void  )

◆ bhv_whirlpool_init()

void bhv_whirlpool_init ( void  )

◆ bhv_whirlpool_loop()

void bhv_whirlpool_loop ( void  )

◆ BigBullySpawnMinion()

void BigBullySpawnMinion ( s32  arg0,
s32  arg1,
s32  arg2,
s16  arg3 
)

◆ BigBullyWithMinionsLavaDeath()

void BigBullyWithMinionsLavaDeath ( void  )

◆ BobombBuddyActionLoop()

void BobombBuddyActionLoop ( void  )

◆ BobombBuddyCannonLoop()

void BobombBuddyCannonLoop ( s16  arg0,
s16  arg1 
)

◆ BobombBuddyIdleLoop()

void BobombBuddyIdleLoop ( void  )

◆ BobombBuddyTalkLoop()

void BobombBuddyTalkLoop ( void  )

◆ BobombBuddyTurnToTalkLoop()

void BobombBuddyTurnToTalkLoop ( void  )

◆ BobombChaseMarioLoop()

void BobombChaseMarioLoop ( void  )

◆ BobombDroppedLoop()

void BobombDroppedLoop ( void  )

◆ BobombExplodeLoop()

void BobombExplodeLoop ( void  )

◆ BobombFreeLoop()

void BobombFreeLoop ( void  )

◆ BobombHeldLoop()

void BobombHeldLoop ( void  )

Although the Bob-omb's action is set to explode when the fuse timer expires,

◆ BobombLaunchedLoop()

void BobombLaunchedLoop ( void  )

◆ BobombPatrolLoop()

void BobombPatrolLoop ( void  )

◆ BobombThrownLoop()

void BobombThrownLoop ( void  )

◆ BullyBackUpCheck()

void BullyBackUpCheck ( s16  arg0)

◆ BullyBackUpLoop()

void BullyBackUpLoop ( void  )

BullyBackUpCheck() happens after this function, and has the potential to reset

◆ BullyChaseMarioLoop()

void BullyChaseMarioLoop ( void  )

◆ BullyCheckMarioCollision()

void BullyCheckMarioCollision ( void  )

◆ BullyKnockbackLoop()

void BullyKnockbackLoop ( void  )

◆ BullyLavaDeath()

void BullyLavaDeath ( void  )

◆ BullySpawnCoin()

void BullySpawnCoin ( void  )

◆ BullyStep()

void BullyStep ( void  )

◆ ButterflyFollowMarioLoop()

void ButterflyFollowMarioLoop ( void  )

◆ ButterflyRestingLoop()

void ButterflyRestingLoop ( void  )

◆ ButterflyReturnHomeLoop()

void ButterflyReturnHomeLoop ( void  )

◆ ButterflyStep()

void ButterflyStep ( s32  speed)

◆ CalcNewObjVelAndPosY()

void CalcNewObjVelAndPosY ( struct Surface objFloor,
f32  objFloorY,
f32  objVelX,
f32  arg3 
)

potential TRUNC crash

◆ CalcNewObjVelAndPosYUnderwater()

void CalcNewObjVelAndPosYUnderwater ( struct Surface objFloor,
f32  floorY,
f32  objVelX,
f32  objVelZ,
f32  waterY 
)

◆ CalcObjFriction()

void CalcObjFriction ( f32 objFriction,
f32  floor_nY 
)

◆ CalculateButterflyAngle()

void CalculateButterflyAngle ( void  )

◆ CannonTrapDoorOpeningLoop()

void CannonTrapDoorOpeningLoop ( void  )

◆ CelebrationStarFaceCameraLoop()

void CelebrationStarFaceCameraLoop ( void  )

◆ CelebrationStarSpinAroundMarioLoop()

void CelebrationStarSpinAroundMarioLoop ( void  )

◆ CheckBobombInteractions()

void CheckBobombInteractions ( void  )

◆ CheckWaterRingCollection()

void CheckWaterRingCollection ( f32  avgScale,
struct Object ringManager 
)

◆ CoinCollected()

void CoinCollected ( void  )

◆ CoinStep()

s32 CoinStep ( s16 collisionFlagsPtr)

◆ create_respawner()

void create_respawner ( s32  arg0,
void behToSpawn,
s32  minSpawnDist 
)

◆ CreateStar()

void CreateStar ( f32  ,
f32  ,
f32   
)

◆ func_802E2F40()

void func_802E2F40 ( void  )

◆ func_802E2F58()

struct Struct802E2F58* func_802E2F58 ( s32  arg0,
struct Object arg1,
UNUSED s32  arg2 
)

◆ func_802E4204()

s16 func_802E4204 ( void  )

◆ func_802E46C0()

s32 func_802E46C0 ( u32  arg0,
u32  arg1,
s16  arg2 
)

◆ func_802E478C()

s32 func_802E478C ( Vec3f  dist,
f32  x,
f32  y,
f32  z,
f32  arg4 
)

◆ func_802E49A4()

s8 func_802E49A4 ( s16  arg0)

◆ func_802E4A38()

s16 func_802E4A38 ( s32 arg0,
s16  arg1,
f32  arg2,
s32  arg3 
)

◆ func_802E540C()

void func_802E540C ( void  )

◆ func_802E54DC()

void func_802E54DC ( void  )

◆ func_802E5B7C()

void func_802E5B7C ( void  )

◆ func_802E70A8()

void func_802E70A8 ( void  )

◆ func_802EDA14()

void func_802EDA14 ( void  )

◆ func_802EDA6C()

void func_802EDA6C ( void  )

◆ GenericBobombFreeLoop()

void GenericBobombFreeLoop ( void  )

◆ HootActionLoop()

void HootActionLoop ( void  )

◆ HootAscentLoop()

void HootAscentLoop ( f32  arg0,
f32  arg1 
)

◆ HootAwakeLoop()

void HootAwakeLoop ( void  )

◆ HootCarryStep()

void HootCarryStep ( s32  arg0,
UNUSED f32  arg1,
UNUSED f32  arg2 
)

◆ HootFindNextFloor()

f32 HootFindNextFloor ( struct FloorGeometry **  arg0,
f32  arg1 
)

◆ HootFloorBounce()

void HootFloorBounce ( void  )

◆ HootFreeStep()

void HootFreeStep ( s16  arg0,
s32  arg1 
)

◆ HootSurfaceCollision()

void HootSurfaceCollision ( f32  arg0,
UNUSED f32  arg1,
f32  arg2 
)

◆ HootTurnToHome()

void HootTurnToHome ( void  )

◆ is_point_within_radius_of_mario()

s32 is_point_within_radius_of_mario ( f32  x,
f32  y,
f32  z,
s32  dist 
)

◆ IsPointCloseToObject()

s32 IsPointCloseToObject ( struct Object obj,
f32  x,
f32  y,
f32  z,
s32  dist 
)

◆ JetStreamRingSpawnerActiveLoop()

void JetStreamRingSpawnerActiveLoop ( void  )

The Jet Stream Ring Spawner is its own parent object. The code may have been copied

Because the index counter overflows at 10000, it's possible to wait

◆ JetStreamWaterRingNotCollectedLoop()

void JetStreamWaterRingNotCollectedLoop ( void  )

In this case ringSpawner and ringManager are the same object,

◆ MantaRayWaterRingNotCollectedLoop()

void MantaRayWaterRingNotCollectedLoop ( void  )

◆ MoneybagCheckMarioCollision()

void MoneybagCheckMarioCollision ( void  )

◆ MoneybagDeathLoop()

void MoneybagDeathLoop ( void  )

◆ MoneybagDisappearLoop()

void MoneybagDisappearLoop ( void  )

◆ MoneybagJump()

void MoneybagJump ( s8  collisionFlags)

◆ MoneybagMoveAroundLoop()

void MoneybagMoveAroundLoop ( void  )

◆ MoneybagReturnHomeLoop()

void MoneybagReturnHomeLoop ( void  )

◆ MovingCoinFlickerLoop()

void MovingCoinFlickerLoop ( void  )

◆ obj_move_xyz_using_fvel_and_yaw()

void obj_move_xyz_using_fvel_and_yaw ( struct Object obj)

Uses an object's forward velocity and yaw to move its X, Y, and Z positions.

This does accept an object as an argument, though it is always called with o. If it wasn't called with o, it would modify o's X and Z velocities based on obj's forward velocity and yaw instead of o's, and wouldn't update o's position.

◆ ObjCheckFloorDeath()

void ObjCheckFloorDeath ( s16  collisionFlags,
struct Surface floor 
)

◆ ObjDisplaceHome()

void ObjDisplaceHome ( struct Object obj,
f32  homeX,
UNUSED f32  homeY,
f32  homeZ,
s32  baseDisp 
)

◆ ObjectStep()

s16 ObjectStep ( void  )

◆ ObjFindWall()

s32 ObjFindWall ( f32  objNewX,
f32  objY,
f32  objNewZ,
f32  objVelX,
f32  objVelZ 
)

◆ ObjFlickerAndDisappear()

s32 ObjFlickerAndDisappear ( struct Object obj,
s16  arg1 
)

◆ ObjLavaDeath()

s32 ObjLavaDeath ( void  )

◆ ObjLeaveIfMarioIsNearHome()

s32 ObjLeaveIfMarioIsNearHome ( struct Object obj,
f32  arg1,
f32  arg2,
f32  arg3,
s32  arg4 
)

◆ ObjOrientGraph()

void ObjOrientGraph ( struct Object obj,
f32  normalX,
f32  normalY,
f32  normalZ 
)

◆ ObjRandomBlink()

void ObjRandomBlink ( s32 blinkTimer)

◆ ObjSpawnYellowCoins()

void ObjSpawnYellowCoins ( struct Object obj,
s32  nCoins 
)

◆ ObjSplash()

void ObjSplash ( s32  waterY,
s32  objY 
)

◆ ObjUpdatePosVelXZ()

void ObjUpdatePosVelXZ ( void  )

◆ PlayBullyStompingSound()

void PlayBullyStompingSound ( void  )

◆ PlayerSetHootYaw()

void PlayerSetHootYaw ( void  )

◆ SetObjectVisibility()

void SetObjectVisibility ( struct Object obj,
s32  arg1 
)

◆ SetWaterRingScale()

void SetWaterRingScale ( f32  avgScale)

◆ SpawnOrangeNumber()

void SpawnOrangeNumber ( s8  arg0,
s16  arg1,
s16  arg2,
s16  arg3 
)

◆ StationaryBobombFreeLoop()

void StationaryBobombFreeLoop ( void  )

◆ TurnObjAwayFromAwkwardFloor()

s32 TurnObjAwayFromAwkwardFloor ( struct Surface objFloor,
f32  floorY,
f32  objVelX,
f32  objVelZ 
)

TRUNC overflow exception after 36 minutes

◆ TurnObjAwayFromSurface()

void TurnObjAwayFromSurface ( f32  objVelX,
f32  objVelZ,
f32  nX,
UNUSED f32  nY,
f32  nZ,
f32 objYawX,
f32 objYawZ 
)

◆ Unknown802E4DF4()

s32 Unknown802E4DF4 ( s16 arg0)

◆ Unknown802EB8A4()

void Unknown802EB8A4 ( void  )

◆ WaterRingCalcMarioDistInFront()

f32 WaterRingCalcMarioDistInFront ( void  )

◆ WaterRingCollectedLoop()

void WaterRingCollectedLoop ( void  )

◆ WaterRingInit()

void WaterRingInit ( void  )

This normal calculation assumes a facing yaw of 0, which is not the case

◆ WhirlpoolOrientGraph()

void WhirlpoolOrientGraph ( void  )

Variable Documentation

◆ bob_seg7_metal_ball_path0

u8 bob_seg7_metal_ball_path0[]

◆ bob_seg7_metal_ball_path1

u8 bob_seg7_metal_ball_path1[]

◆ D_80331500

s8 D_80331500

◆ D_80331504

s16 D_80331504

◆ D_80331508

s8 D_80331508

◆ D_8033150C

s8 D_8033150C

◆ D_80331510

s8 D_80331510

◆ D_803600E0

struct Surface* D_803600E0

◆ ttm_seg7_trajectory_070170A0

u8 ttm_seg7_trajectory_070170A0[]