Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Functions | Variables
platform_on_track.inc.c File Reference

Functions

static void platform_on_track_reset (void)
 Despawn all track balls and enter the init action. More...
 
static void platform_on_track_mario_not_on_platform (void)
 If this platform is the kind that disappears, pause for a while, then begin blinking, and finally reset. More...
 
void bhv_platform_on_track_init (void)
 Init function for bhvPlatformOnTrack. More...
 
static void platform_on_track_act_init (void)
 Move to the start waypoint, spawn the first track balls, and enter the wait for mario action. More...
 
static void platform_on_track_act_wait_for_mario (void)
 Wait for mario to stand on the platform for 20 frames, then begin moving. More...
 
static void platform_on_track_act_move_along_track (void)
 Move along the track. More...
 
static void platform_on_track_act_pause_briefly (void)
 Wait 20 frames then continue moving. More...
 
static void platform_on_track_act_fall (void)
 Fall downward with no terminal velocity, stopping after reaching y = -12k and eventually blinking and disappearing. More...
 
static void platform_on_track_rock_ski_lift (void)
 Control the rocking of the ski lift. More...
 
void bhv_platform_on_track_update (void)
 Update function for bhvPlatformOnTrack. More...
 
void bhv_track_ball_update (void)
 Update function for bhvTrackBall. More...
 

Variables

static voidsPlatformOnTrackCollisionModels []
 Behavior for bhvPlatformOnTrack and bhvTrackBall. More...
 
static voidsPlatformOnTrackPaths []
 Paths for the different instances of these platforms. More...
 

Function Documentation

◆ bhv_platform_on_track_init()

void bhv_platform_on_track_init ( void  )

Init function for bhvPlatformOnTrack.

◆ bhv_platform_on_track_update()

void bhv_platform_on_track_update ( void  )

Update function for bhvPlatformOnTrack.

◆ bhv_track_ball_update()

void bhv_track_ball_update ( void  )

Update function for bhvTrackBall.

◆ platform_on_track_act_fall()

static void platform_on_track_act_fall ( void  )
static

Fall downward with no terminal velocity, stopping after reaching y = -12k and eventually blinking and disappearing.

Doesn't ensure visibility

◆ platform_on_track_act_init()

static void platform_on_track_act_init ( void  )
static

Move to the start waypoint, spawn the first track balls, and enter the wait for mario action.

◆ platform_on_track_act_move_along_track()

static void platform_on_track_act_move_along_track ( void  )
static

Move along the track.

After reaching the end, either start falling, return to the init action, or continue moving back to the start waypoint.

Both oAngleVelYaw and oAngleVelRoll aren't reset until the platform

If the platform is moving counterclockwise upward or

◆ platform_on_track_act_pause_briefly()

static void platform_on_track_act_pause_briefly ( void  )
static

Wait 20 frames then continue moving.

◆ platform_on_track_act_wait_for_mario()

static void platform_on_track_act_wait_for_mario ( void  )
static

Wait for mario to stand on the platform for 20 frames, then begin moving.

◆ platform_on_track_mario_not_on_platform()

static void platform_on_track_mario_not_on_platform ( void  )
static

If this platform is the kind that disappears, pause for a while, then begin blinking, and finally reset.

◆ platform_on_track_reset()

static void platform_on_track_reset ( void  )
static

Despawn all track balls and enter the init action.

◆ platform_on_track_rock_ski_lift()

static void platform_on_track_rock_ski_lift ( void  )
static

Control the rocking of the ski lift.

Variable Documentation

◆ sPlatformOnTrackCollisionModels

void* sPlatformOnTrackCollisionModels[]
static
Initial value:
= {
}
u8 rr_seg7_collision_07029038[]
u8 checkerboard_platform_seg8_collision_0800D710[]
u8 bitfs_seg7_collision_070157E0[]
Definition: obj_behaviors_2.c:104
u8 ccm_seg7_collision_070163F8[]

Behavior for bhvPlatformOnTrack and bhvTrackBall.

The platform spawns up to 5 track balls at a time, which then despawn themselves as the platform moves past them. Collision models for the different types of platforms.

◆ sPlatformOnTrackPaths

void* sPlatformOnTrackPaths[]
static
Initial value:

Paths for the different instances of these platforms.