Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Functions | Variables
mario_step.h File Reference
#include "types.h"

Go to the source code of this file.

Functions

f32 get_additive_y_vel_for_jumps (void)
 Always returns zero. More...
 
void nop_80254E3C (struct MarioState *)
 
void nop_80254E50 (void)
 Does nothing. More...
 
void mario_bonk_reflection (struct MarioState *, u32)
 
u32 mario_update_quicksand (struct MarioState *, f32)
 
u32 mario_push_off_steep_floor (struct MarioState *, u32, u32)
 
u32 mario_update_moving_sand (struct MarioState *)
 
u32 mario_update_windy_ground (struct MarioState *)
 
void stop_and_set_height_to_floor (struct MarioState *)
 
s32 stationary_ground_step (struct MarioState *)
 
s32 perform_ground_step (struct MarioState *)
 
s32 perform_air_step (struct MarioState *, u32)
 

Variables

struct Surface gWaterSurfacePseudoFloor
 

Function Documentation

◆ get_additive_y_vel_for_jumps()

f32 get_additive_y_vel_for_jumps ( void  )

Always returns zero.

This may have been intended to be used for the beta trampoline. Its return value is used by set_mario_y_vel_based_on_fspeed as a constant addition to Mario's Y velocity. Given the closeness of this function to nop_80254E50, it is probable that this was intended to check whether a trampoline had made itself known through nop_80254E50 and whether Mario was on it, and if so return a higher value than 0.

◆ mario_bonk_reflection()

void mario_bonk_reflection ( struct MarioState ,
u32   
)

◆ mario_push_off_steep_floor()

u32 mario_push_off_steep_floor ( struct MarioState ,
u32  ,
u32   
)

◆ mario_update_moving_sand()

u32 mario_update_moving_sand ( struct MarioState )

◆ mario_update_quicksand()

u32 mario_update_quicksand ( struct MarioState ,
f32   
)

◆ mario_update_windy_ground()

u32 mario_update_windy_ground ( struct MarioState )

◆ nop_80254E3C()

void nop_80254E3C ( struct MarioState )

◆ nop_80254E50()

void nop_80254E50 ( void  )

Does nothing.

This is only called by the beta trampoline. Due to its proximity to get_additive_y_vel_for_jumps, another currently-pointless function, it is probable that this was used by the trampoline to make itself known to get_additive_y_vel_for_jumps, or to set a variable with its intended additive Y vel.

◆ perform_air_step()

s32 perform_air_step ( struct MarioState ,
u32   
)

On one qf, hit OOB/ceil/wall to store the 2 return value, and continue

◆ perform_ground_step()

s32 perform_ground_step ( struct MarioState )

◆ stationary_ground_step()

s32 stationary_ground_step ( struct MarioState )

This is responsible for several stationary downwarps.

◆ stop_and_set_height_to_floor()

void stop_and_set_height_to_floor ( struct MarioState )

This is responsible for some downwarps.

Variable Documentation

◆ gWaterSurfacePseudoFloor

struct Surface gWaterSurfacePseudoFloor