## [:rewind: Lua Reference](lua.md) # Supported Functions - camera.h - [set_camera_shake_from_hit](#set_camera_shake_from_hit) - [set_camera_shake_from_point](#set_camera_shake_from_point) - [set_environmental_camera_shake](#set_environmental_camera_shake)
- characters.h - [get_character](#get_character) - [get_character_anim_offset](#get_character_anim_offset) - [play_character_sound](#play_character_sound) - [play_character_sound_if_no_flag](#play_character_sound_if_no_flag) - [play_character_sound_offset](#play_character_sound_offset) - [update_character_anim_offset](#update_character_anim_offset)
- external.h - [play_sound](#play_sound)
- mario.h - [adjust_sound_for_speed](#adjust_sound_for_speed) - [check_common_action_exits](#check_common_action_exits) - [check_common_hold_action_exits](#check_common_hold_action_exits) - [drop_and_set_mario_action](#drop_and_set_mario_action) - [execute_mario_action](#execute_mario_action) - [find_floor_height_relative_polar](#find_floor_height_relative_polar) - [find_floor_slope](#find_floor_slope) - [find_mario_anim_flags_and_translation](#find_mario_anim_flags_and_translation) - [force_idle_state](#force_idle_state) - [hurt_and_set_mario_action](#hurt_and_set_mario_action) - [is_anim_at_end](#is_anim_at_end) - [is_anim_past_end](#is_anim_past_end) - [is_anim_past_frame](#is_anim_past_frame) - [mario_facing_downhill](#mario_facing_downhill) - [mario_floor_is_slippery](#mario_floor_is_slippery) - [mario_floor_is_slope](#mario_floor_is_slope) - [mario_floor_is_steep](#mario_floor_is_steep) - [mario_get_floor_class](#mario_get_floor_class) - [mario_get_terrain_sound_addend](#mario_get_terrain_sound_addend) - [mario_set_bubbled](#mario_set_bubbled) - [mario_set_forward_vel](#mario_set_forward_vel) - [play_mario_action_sound](#play_mario_action_sound) - [play_mario_heavy_landing_sound](#play_mario_heavy_landing_sound) - [play_mario_heavy_landing_sound_once](#play_mario_heavy_landing_sound_once) - [play_mario_jump_sound](#play_mario_jump_sound) - [play_mario_landing_sound](#play_mario_landing_sound) - [play_mario_landing_sound_once](#play_mario_landing_sound_once) - [play_mario_sound](#play_mario_sound) - [play_sound_and_spawn_particles](#play_sound_and_spawn_particles) - [play_sound_if_no_flag](#play_sound_if_no_flag) - [resolve_and_return_wall_collisions](#resolve_and_return_wall_collisions) - [return_mario_anim_y_translation](#return_mario_anim_y_translation) - [set_anim_to_frame](#set_anim_to_frame) - [set_jump_from_landing](#set_jump_from_landing) - [set_jumping_action](#set_jumping_action) - [set_mario_action](#set_mario_action) - [set_mario_anim_with_accel](#set_mario_anim_with_accel) - [set_mario_animation](#set_mario_animation) - [set_steep_jump_action](#set_steep_jump_action) - [set_water_plunge_action](#set_water_plunge_action) - [transition_submerged_to_walking](#transition_submerged_to_walking) - [update_mario_pos_for_anim](#update_mario_pos_for_anim) - [update_mario_sound_and_camera](#update_mario_sound_and_camera) - [vec3f_find_ceil](#vec3f_find_ceil)
- mario_actions_airborne.c - [check_common_airborne_cancels](#check_common_airborne_cancels) - [check_fall_damage](#check_fall_damage) - [check_fall_damage_or_get_stuck](#check_fall_damage_or_get_stuck) - [check_horizontal_wind](#check_horizontal_wind) - [check_kick_or_dive_in_air](#check_kick_or_dive_in_air) - [check_wall_kick](#check_wall_kick) - [common_air_action_step](#common_air_action_step) - [common_air_knockback_step](#common_air_knockback_step) - [lava_boost_on_wall](#lava_boost_on_wall) - [mario_execute_airborne_action](#mario_execute_airborne_action) - [play_far_fall_sound](#play_far_fall_sound) - [play_flip_sounds](#play_flip_sounds) - [play_knockback_sound](#play_knockback_sound) - [should_get_stuck_in_ground](#should_get_stuck_in_ground) - [update_air_with_turn](#update_air_with_turn) - [update_air_without_turn](#update_air_without_turn) - [update_flying](#update_flying) - [update_flying_pitch](#update_flying_pitch) - [update_flying_yaw](#update_flying_yaw) - [update_lava_boost_or_twirling](#update_lava_boost_or_twirling)
- mario_actions_automatic.c - [add_tree_leaf_particles](#add_tree_leaf_particles) - [check_common_automatic_cancels](#check_common_automatic_cancels) - [climb_up_ledge](#climb_up_ledge) - [let_go_of_ledge](#let_go_of_ledge) - [mario_execute_automatic_action](#mario_execute_automatic_action) - [perform_hanging_step](#perform_hanging_step) - [play_climbing_sounds](#play_climbing_sounds) - [set_pole_position](#set_pole_position) - [update_hang_moving](#update_hang_moving) - [update_hang_stationary](#update_hang_stationary) - [update_ledge_climb](#update_ledge_climb) - [update_ledge_climb_camera](#update_ledge_climb_camera)
- mario_actions_cutscene.c - [bhv_end_peach_loop](#bhv_end_peach_loop) - [bhv_end_toad_loop](#bhv_end_toad_loop) - [cutscene_put_cap_on](#cutscene_put_cap_on) - [cutscene_take_cap_off](#cutscene_take_cap_off) - [general_star_dance_handler](#general_star_dance_handler) - [generate_yellow_sparkles](#generate_yellow_sparkles) - [handle_save_menu](#handle_save_menu) - [print_displaying_credits_entry](#print_displaying_credits_entry) - [should_start_or_continue_dialog](#should_start_or_continue_dialog) - [spawn_obj_at_mario_rel_yaw](#spawn_obj_at_mario_rel_yaw) - [stuck_in_ground_handler](#stuck_in_ground_handler)
- mario_actions_moving.c - [align_with_floor](#align_with_floor) - [analog_stick_held_back](#analog_stick_held_back) - [anim_and_audio_for_heavy_walk](#anim_and_audio_for_heavy_walk) - [anim_and_audio_for_hold_walk](#anim_and_audio_for_hold_walk) - [anim_and_audio_for_walk](#anim_and_audio_for_walk) - [apply_landing_accel](#apply_landing_accel) - [apply_slope_accel](#apply_slope_accel) - [apply_slope_decel](#apply_slope_decel) - [begin_braking_action](#begin_braking_action) - [begin_walking_action](#begin_walking_action) - [check_common_moving_cancels](#check_common_moving_cancels) - [check_ground_dive_or_punch](#check_ground_dive_or_punch) - [check_ledge_climb_down](#check_ledge_climb_down) - [common_ground_knockback_action](#common_ground_knockback_action) - [common_landing_action](#common_landing_action) - [common_slide_action](#common_slide_action) - [common_slide_action_with_jump](#common_slide_action_with_jump) - [mario_execute_moving_action](#mario_execute_moving_action) - [play_step_sound](#play_step_sound) - [push_or_sidle_wall](#push_or_sidle_wall) - [quicksand_jump_land_action](#quicksand_jump_land_action) - [set_triple_jump_action](#set_triple_jump_action) - [should_begin_sliding](#should_begin_sliding) - [slide_bonk](#slide_bonk) - [stomach_slide_action](#stomach_slide_action) - [tilt_body_butt_slide](#tilt_body_butt_slide) - [tilt_body_ground_shell](#tilt_body_ground_shell) - [tilt_body_running](#tilt_body_running) - [tilt_body_walking](#tilt_body_walking) - [update_decelerating_speed](#update_decelerating_speed) - [update_shell_speed](#update_shell_speed) - [update_sliding](#update_sliding) - [update_sliding_angle](#update_sliding_angle) - [update_walking_speed](#update_walking_speed)
- mario_actions_object.c - [animated_stationary_ground_step](#animated_stationary_ground_step) - [check_common_object_cancels](#check_common_object_cancels) - [mario_execute_object_action](#mario_execute_object_action) - [mario_update_punch_sequence](#mario_update_punch_sequence)
- mario_actions_stationary.c - [check_common_hold_idle_cancels](#check_common_hold_idle_cancels) - [check_common_idle_cancels](#check_common_idle_cancels) - [check_common_landing_cancels](#check_common_landing_cancels) - [check_common_stationary_cancels](#check_common_stationary_cancels) - [landing_step](#landing_step) - [mario_execute_stationary_action](#mario_execute_stationary_action) - [play_anim_sound](#play_anim_sound) - [stopping_step](#stopping_step)
- mario_actions_submerged.c - [apply_water_current](#apply_water_current) - [float_surface_gfx](#float_surface_gfx) - [mario_execute_submerged_action](#mario_execute_submerged_action) - [perform_water_full_step](#perform_water_full_step) - [perform_water_step](#perform_water_step) - [set_swimming_at_surface_particles](#set_swimming_at_surface_particles)
- mario_step.h - [get_additive_y_vel_for_jumps](#get_additive_y_vel_for_jumps) - [mario_bonk_reflection](#mario_bonk_reflection) - [mario_push_off_steep_floor](#mario_push_off_steep_floor) - [mario_update_moving_sand](#mario_update_moving_sand) - [mario_update_quicksand](#mario_update_quicksand) - [mario_update_windy_ground](#mario_update_windy_ground) - [perform_air_step](#perform_air_step) - [perform_ground_step](#perform_ground_step) - [set_vel_from_pitch_and_yaw](#set_vel_from_pitch_and_yaw) - [stationary_ground_step](#stationary_ground_step) - [stop_and_set_height_to_floor](#stop_and_set_height_to_floor)
- surface_collision.h - [f32_find_wall_collision](#f32_find_wall_collision) - [find_ceil](#find_ceil) - [find_floor](#find_floor) - [find_floor_height](#find_floor_height) - [find_floor_height_and_data](#find_floor_height_and_data) - [find_poison_gas_level](#find_poison_gas_level) - [find_surface_on_ray](#find_surface_on_ray) - [find_wall_collisions](#find_wall_collisions) - [find_water_level](#find_water_level)
- thread6.c - [queue_rumble_data](#queue_rumble_data) - [queue_rumble_data_mario](#queue_rumble_data_mario) - [queue_rumble_data_object](#queue_rumble_data_object)
--- # functions from camera.h
## [set_camera_shake_from_hit](#set_camera_shake_from_hit) ### Lua Example `set_camera_shake_from_hit(shake)` ### Parameters | Field | Type | | ----- | ---- | | shake | integer | ### Returns - None ### C Prototype `void set_camera_shake_from_hit(s16 shake);` [:arrow_up_small:](#)
## [set_camera_shake_from_point](#set_camera_shake_from_point) ### Lua Example `set_camera_shake_from_point(shake, posX, posY, posZ)` ### Parameters | Field | Type | | ----- | ---- | | shake | integer | | posX | number | | posY | number | | posZ | number | ### Returns - None ### C Prototype `void set_camera_shake_from_point(s16 shake, f32 posX, f32 posY, f32 posZ);` [:arrow_up_small:](#)
## [set_environmental_camera_shake](#set_environmental_camera_shake) ### Lua Example `set_environmental_camera_shake(shake)` ### Parameters | Field | Type | | ----- | ---- | | shake | integer | ### Returns - None ### C Prototype `void set_environmental_camera_shake(s16 shake);` [:arrow_up_small:](#)
--- # functions from characters.h
## [get_character_anim_offset](#get_character_anim_offset) ### Lua Example `local numberValue = get_character_anim_offset(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - number ### C Prototype `f32 get_character_anim_offset(struct MarioState* m);` [:arrow_up_small:](#)
## [play_character_sound](#play_character_sound) ### Lua Example `play_character_sound(m, characterSound)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | characterSound | integer | ### Returns - None ### C Prototype `void play_character_sound(struct MarioState* m, enum CharacterSound characterSound);` [:arrow_up_small:](#)
## [play_character_sound_if_no_flag](#play_character_sound_if_no_flag) ### Lua Example `play_character_sound_if_no_flag(m, characterSound, flags)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | characterSound | integer | | flags | integer | ### Returns - None ### C Prototype `void play_character_sound_if_no_flag(struct MarioState* m, enum CharacterSound characterSound, u32 flags);` [:arrow_up_small:](#)
## [play_character_sound_offset](#play_character_sound_offset) ### Lua Example `play_character_sound_offset(m, characterSound, offset)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | characterSound | integer | | offset | integer | ### Returns - None ### C Prototype `void play_character_sound_offset(struct MarioState* m, enum CharacterSound characterSound, u32 offset);` [:arrow_up_small:](#)
## [update_character_anim_offset](#update_character_anim_offset) ### Lua Example `update_character_anim_offset(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_character_anim_offset(struct MarioState* m);` [:arrow_up_small:](#)
--- # functions from external.h
## [play_sound](#play_sound) ### Lua Example `play_sound(soundBits, pos)` ### Parameters | Field | Type | | ----- | ---- | | soundBits | integer | | pos | [Vec3f](structs.md#Vec3f) | ### Returns - None ### C Prototype `void play_sound(s32 soundBits, Vec3f pos);` [:arrow_up_small:](#)
--- # functions from mario.h
## [adjust_sound_for_speed](#adjust_sound_for_speed) ### Lua Example `adjust_sound_for_speed(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void adjust_sound_for_speed(struct MarioState *m);` [:arrow_up_small:](#)
## [check_common_action_exits](#check_common_action_exits) ### Lua Example `local integerValue = check_common_action_exits(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_action_exits(struct MarioState *m);` [:arrow_up_small:](#)
## [check_common_hold_action_exits](#check_common_hold_action_exits) ### Lua Example `local integerValue = check_common_hold_action_exits(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_hold_action_exits(struct MarioState *m);` [:arrow_up_small:](#)
## [drop_and_set_mario_action](#drop_and_set_mario_action) ### Lua Example `local integerValue = drop_and_set_mario_action(m, action, actionArg)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | action | integer | | actionArg | integer | ### Returns - integer ### C Prototype `s32 drop_and_set_mario_action(struct MarioState *m, u32 action, u32 actionArg);` [:arrow_up_small:](#)
## [execute_mario_action](#execute_mario_action) ### Lua Example `local integerValue = execute_mario_action(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - integer ### C Prototype `s32 execute_mario_action(UNUSED struct Object *o);` [:arrow_up_small:](#)
## [find_floor_height_relative_polar](#find_floor_height_relative_polar) ### Lua Example `local numberValue = find_floor_height_relative_polar(m, angleFromMario, distFromMario)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | angleFromMario | integer | | distFromMario | number | ### Returns - number ### C Prototype `f32 find_floor_height_relative_polar(struct MarioState *m, s16 angleFromMario, f32 distFromMario);` [:arrow_up_small:](#)
## [find_floor_slope](#find_floor_slope) ### Lua Example `local integerValue = find_floor_slope(m, yawOffset)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | yawOffset | integer | ### Returns - integer ### C Prototype `s16 find_floor_slope(struct MarioState *m, s16 yawOffset);` [:arrow_up_small:](#)
## [find_mario_anim_flags_and_translation](#find_mario_anim_flags_and_translation) ### Lua Example `local integerValue = find_mario_anim_flags_and_translation(o, yaw, translation)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | yaw | integer | | translation | [Vec3s](structs.md#Vec3s) | ### Returns - integer ### C Prototype `s16 find_mario_anim_flags_and_translation(struct Object *o, s32 yaw, Vec3s translation);` [:arrow_up_small:](#)
## [force_idle_state](#force_idle_state) ### Lua Example `local integerValue = force_idle_state(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 force_idle_state(struct MarioState* m);` [:arrow_up_small:](#)
## [hurt_and_set_mario_action](#hurt_and_set_mario_action) ### Lua Example `local integerValue = hurt_and_set_mario_action(m, action, actionArg, hurtCounter)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | action | integer | | actionArg | integer | | hurtCounter | integer | ### Returns - integer ### C Prototype `s32 hurt_and_set_mario_action(struct MarioState *m, u32 action, u32 actionArg, s16 hurtCounter);` [:arrow_up_small:](#)
## [is_anim_at_end](#is_anim_at_end) ### Lua Example `local integerValue = is_anim_at_end(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 is_anim_at_end(struct MarioState *m);` [:arrow_up_small:](#)
## [is_anim_past_end](#is_anim_past_end) ### Lua Example `local integerValue = is_anim_past_end(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 is_anim_past_end(struct MarioState *m);` [:arrow_up_small:](#)
## [is_anim_past_frame](#is_anim_past_frame) ### Lua Example `local integerValue = is_anim_past_frame(m, animFrame)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animFrame | integer | ### Returns - integer ### C Prototype `s32 is_anim_past_frame(struct MarioState *m, s16 animFrame);` [:arrow_up_small:](#)
## [mario_facing_downhill](#mario_facing_downhill) ### Lua Example `local integerValue = mario_facing_downhill(m, turnYaw)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | turnYaw | integer | ### Returns - integer ### C Prototype `s32 mario_facing_downhill(struct MarioState *m, s32 turnYaw);` [:arrow_up_small:](#)
## [mario_floor_is_slippery](#mario_floor_is_slippery) ### Lua Example `local integerValue = mario_floor_is_slippery(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `u32 mario_floor_is_slippery(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_floor_is_slope](#mario_floor_is_slope) ### Lua Example `local integerValue = mario_floor_is_slope(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_floor_is_slope(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_floor_is_steep](#mario_floor_is_steep) ### Lua Example `local integerValue = mario_floor_is_steep(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_floor_is_steep(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_get_floor_class](#mario_get_floor_class) ### Lua Example `local integerValue = mario_get_floor_class(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_get_floor_class(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_get_terrain_sound_addend](#mario_get_terrain_sound_addend) ### Lua Example `local integerValue = mario_get_terrain_sound_addend(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `u32 mario_get_terrain_sound_addend(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_set_bubbled](#mario_set_bubbled) ### Lua Example `mario_set_bubbled(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void mario_set_bubbled(struct MarioState* m);` [:arrow_up_small:](#)
## [mario_set_forward_vel](#mario_set_forward_vel) ### Lua Example `mario_set_forward_vel(m, speed)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | speed | number | ### Returns - None ### C Prototype `void mario_set_forward_vel(struct MarioState *m, f32 speed);` [:arrow_up_small:](#)
## [play_mario_action_sound](#play_mario_action_sound) ### Lua Example `play_mario_action_sound(m, soundBits, waveParticleType)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | | waveParticleType | integer | ### Returns - None ### C Prototype `void play_mario_action_sound(struct MarioState *m, u32 soundBits, u32 waveParticleType);` [:arrow_up_small:](#)
## [play_mario_heavy_landing_sound](#play_mario_heavy_landing_sound) ### Lua Example `play_mario_heavy_landing_sound(m, soundBits)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | ### Returns - None ### C Prototype `void play_mario_heavy_landing_sound(struct MarioState *m, u32 soundBits);` [:arrow_up_small:](#)
## [play_mario_heavy_landing_sound_once](#play_mario_heavy_landing_sound_once) ### Lua Example `play_mario_heavy_landing_sound_once(m, soundBits)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | ### Returns - None ### C Prototype `void play_mario_heavy_landing_sound_once(struct MarioState *m, u32 soundBits);` [:arrow_up_small:](#)
## [play_mario_jump_sound](#play_mario_jump_sound) ### Lua Example `play_mario_jump_sound(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void play_mario_jump_sound(struct MarioState *m);` [:arrow_up_small:](#)
## [play_mario_landing_sound](#play_mario_landing_sound) ### Lua Example `play_mario_landing_sound(m, soundBits)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | ### Returns - None ### C Prototype `void play_mario_landing_sound(struct MarioState *m, u32 soundBits);` [:arrow_up_small:](#)
## [play_mario_landing_sound_once](#play_mario_landing_sound_once) ### Lua Example `play_mario_landing_sound_once(m, soundBits)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | ### Returns - None ### C Prototype `void play_mario_landing_sound_once(struct MarioState *m, u32 soundBits);` [:arrow_up_small:](#)
## [play_mario_sound](#play_mario_sound) ### Lua Example `play_mario_sound(m, primarySoundBits, scondarySoundBits)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | primarySoundBits | integer | | scondarySoundBits | integer | ### Returns - None ### C Prototype `void play_mario_sound(struct MarioState *m, s32 primarySoundBits, s32 scondarySoundBits);` [:arrow_up_small:](#)
## [play_sound_and_spawn_particles](#play_sound_and_spawn_particles) ### Lua Example `play_sound_and_spawn_particles(m, soundBits, waveParticleType)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | | waveParticleType | integer | ### Returns - None ### C Prototype `void play_sound_and_spawn_particles(struct MarioState *m, u32 soundBits, u32 waveParticleType);` [:arrow_up_small:](#)
## [play_sound_if_no_flag](#play_sound_if_no_flag) ### Lua Example `play_sound_if_no_flag(m, soundBits, flags)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | soundBits | integer | | flags | integer | ### Returns - None ### C Prototype `void play_sound_if_no_flag(struct MarioState *m, u32 soundBits, u32 flags);` [:arrow_up_small:](#)
## [return_mario_anim_y_translation](#return_mario_anim_y_translation) ### Lua Example `local integerValue = return_mario_anim_y_translation(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s16 return_mario_anim_y_translation(struct MarioState *m);` [:arrow_up_small:](#)
## [set_anim_to_frame](#set_anim_to_frame) ### Lua Example `set_anim_to_frame(m, animFrame)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animFrame | integer | ### Returns - None ### C Prototype `void set_anim_to_frame(struct MarioState *m, s16 animFrame);` [:arrow_up_small:](#)
## [set_jump_from_landing](#set_jump_from_landing) ### Lua Example `local integerValue = set_jump_from_landing(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 set_jump_from_landing(struct MarioState *m);` [:arrow_up_small:](#)
## [set_jumping_action](#set_jumping_action) ### Lua Example `local integerValue = set_jumping_action(m, action, actionArg)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | action | integer | | actionArg | integer | ### Returns - integer ### C Prototype `s32 set_jumping_action(struct MarioState *m, u32 action, u32 actionArg);` [:arrow_up_small:](#)
## [set_mario_action](#set_mario_action) ### Lua Example `local integerValue = set_mario_action(m, action, actionArg)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | action | integer | | actionArg | integer | ### Returns - integer ### C Prototype `u32 set_mario_action(struct MarioState *m, u32 action, u32 actionArg);` [:arrow_up_small:](#)
## [set_mario_anim_with_accel](#set_mario_anim_with_accel) ### Lua Example `local integerValue = set_mario_anim_with_accel(m, targetAnimID, accel)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | targetAnimID | integer | | accel | integer | ### Returns - integer ### C Prototype `s16 set_mario_anim_with_accel(struct MarioState *m, s32 targetAnimID, s32 accel);` [:arrow_up_small:](#)
## [set_mario_animation](#set_mario_animation) ### Lua Example `local integerValue = set_mario_animation(m, targetAnimID)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | targetAnimID | integer | ### Returns - integer ### C Prototype `s16 set_mario_animation(struct MarioState *m, s32 targetAnimID);` [:arrow_up_small:](#)
## [set_steep_jump_action](#set_steep_jump_action) ### Lua Example `set_steep_jump_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void set_steep_jump_action(struct MarioState *m);` [:arrow_up_small:](#)
## [set_water_plunge_action](#set_water_plunge_action) ### Lua Example `local integerValue = set_water_plunge_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 set_water_plunge_action(struct MarioState *m);` [:arrow_up_small:](#)
## [transition_submerged_to_walking](#transition_submerged_to_walking) ### Lua Example `local integerValue = transition_submerged_to_walking(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 transition_submerged_to_walking(struct MarioState *m);` [:arrow_up_small:](#)
## [update_mario_pos_for_anim](#update_mario_pos_for_anim) ### Lua Example `update_mario_pos_for_anim(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_mario_pos_for_anim(struct MarioState *m);` [:arrow_up_small:](#)
## [update_mario_sound_and_camera](#update_mario_sound_and_camera) ### Lua Example `update_mario_sound_and_camera(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_mario_sound_and_camera(struct MarioState *m);` [:arrow_up_small:](#)
--- # functions from mario_actions_airborne.c
## [check_common_airborne_cancels](#check_common_airborne_cancels) ### Lua Example `local integerValue = check_common_airborne_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_airborne_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [check_fall_damage](#check_fall_damage) ### Lua Example `local integerValue = check_fall_damage(m, hardFallAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | hardFallAction | integer | ### Returns - integer ### C Prototype `s32 check_fall_damage(struct MarioState *m, u32 hardFallAction);` [:arrow_up_small:](#)
## [check_fall_damage_or_get_stuck](#check_fall_damage_or_get_stuck) ### Lua Example `local integerValue = check_fall_damage_or_get_stuck(m, hardFallAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | hardFallAction | integer | ### Returns - integer ### C Prototype `s32 check_fall_damage_or_get_stuck(struct MarioState *m, u32 hardFallAction);` [:arrow_up_small:](#)
## [check_horizontal_wind](#check_horizontal_wind) ### Lua Example `local integerValue = check_horizontal_wind(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_horizontal_wind(struct MarioState *m);` [:arrow_up_small:](#)
## [check_kick_or_dive_in_air](#check_kick_or_dive_in_air) ### Lua Example `local integerValue = check_kick_or_dive_in_air(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_kick_or_dive_in_air(struct MarioState *m);` [:arrow_up_small:](#)
## [check_wall_kick](#check_wall_kick) ### Lua Example `local integerValue = check_wall_kick(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_wall_kick(struct MarioState *m);` [:arrow_up_small:](#)
## [common_air_action_step](#common_air_action_step) ### Lua Example `local integerValue = common_air_action_step(m, landAction, animation, stepArg)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | landAction | integer | | animation | integer | | stepArg | integer | ### Returns - integer ### C Prototype `u32 common_air_action_step(struct MarioState *m, u32 landAction, s32 animation, u32 stepArg);` [:arrow_up_small:](#)
## [common_air_knockback_step](#common_air_knockback_step) ### Lua Example `local integerValue = common_air_knockback_step(m, landAction, hardFallAction, animation, speed)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | landAction | integer | | hardFallAction | integer | | animation | integer | | speed | number | ### Returns - integer ### C Prototype `u32 common_air_knockback_step(struct MarioState *m, u32 landAction, u32 hardFallAction, s32 animation, f32 speed);` [:arrow_up_small:](#)
## [lava_boost_on_wall](#lava_boost_on_wall) ### Lua Example `local integerValue = lava_boost_on_wall(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 lava_boost_on_wall(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_execute_airborne_action](#mario_execute_airborne_action) ### Lua Example `local integerValue = mario_execute_airborne_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_execute_airborne_action(struct MarioState *m);` [:arrow_up_small:](#)
## [play_far_fall_sound](#play_far_fall_sound) ### Lua Example `play_far_fall_sound(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void play_far_fall_sound(struct MarioState *m);` [:arrow_up_small:](#)
## [play_flip_sounds](#play_flip_sounds) ### Lua Example `play_flip_sounds(m, frame1, frame2, frame3)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | frame1 | integer | | frame2 | integer | | frame3 | integer | ### Returns - None ### C Prototype `void play_flip_sounds(struct MarioState *m, s16 frame1, s16 frame2, s16 frame3);` [:arrow_up_small:](#)
## [play_knockback_sound](#play_knockback_sound) ### Lua Example `play_knockback_sound(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void play_knockback_sound(struct MarioState *m);` [:arrow_up_small:](#)
## [should_get_stuck_in_ground](#should_get_stuck_in_ground) ### Lua Example `local integerValue = should_get_stuck_in_ground(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 should_get_stuck_in_ground(struct MarioState *m);` [:arrow_up_small:](#)
## [update_air_with_turn](#update_air_with_turn) ### Lua Example `update_air_with_turn(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_air_with_turn(struct MarioState *m);` [:arrow_up_small:](#)
## [update_air_without_turn](#update_air_without_turn) ### Lua Example `update_air_without_turn(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_air_without_turn(struct MarioState *m);` [:arrow_up_small:](#)
## [update_flying](#update_flying) ### Lua Example `update_flying(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_flying(struct MarioState *m);` [:arrow_up_small:](#)
## [update_flying_pitch](#update_flying_pitch) ### Lua Example `update_flying_pitch(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_flying_pitch(struct MarioState *m);` [:arrow_up_small:](#)
## [update_flying_yaw](#update_flying_yaw) ### Lua Example `update_flying_yaw(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_flying_yaw(struct MarioState *m);` [:arrow_up_small:](#)
## [update_lava_boost_or_twirling](#update_lava_boost_or_twirling) ### Lua Example `update_lava_boost_or_twirling(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_lava_boost_or_twirling(struct MarioState *m);` [:arrow_up_small:](#)
--- # functions from mario_actions_automatic.c
## [add_tree_leaf_particles](#add_tree_leaf_particles) ### Lua Example `add_tree_leaf_particles(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void add_tree_leaf_particles(struct MarioState *m);` [:arrow_up_small:](#)
## [check_common_automatic_cancels](#check_common_automatic_cancels) ### Lua Example `local integerValue = check_common_automatic_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_automatic_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [climb_up_ledge](#climb_up_ledge) ### Lua Example `climb_up_ledge(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void climb_up_ledge(struct MarioState *m);` [:arrow_up_small:](#)
## [let_go_of_ledge](#let_go_of_ledge) ### Lua Example `local integerValue = let_go_of_ledge(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 let_go_of_ledge(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_execute_automatic_action](#mario_execute_automatic_action) ### Lua Example `local integerValue = mario_execute_automatic_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_execute_automatic_action(struct MarioState *m);` [:arrow_up_small:](#)
## [perform_hanging_step](#perform_hanging_step) ### Lua Example `local integerValue = perform_hanging_step(m, nextPos)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | nextPos | [Vec3f](structs.md#Vec3f) | ### Returns - integer ### C Prototype `s32 perform_hanging_step(struct MarioState *m, Vec3f nextPos);` [:arrow_up_small:](#)
## [play_climbing_sounds](#play_climbing_sounds) ### Lua Example `play_climbing_sounds(m, b)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | b | integer | ### Returns - None ### C Prototype `void play_climbing_sounds(struct MarioState *m, s32 b);` [:arrow_up_small:](#)
## [set_pole_position](#set_pole_position) ### Lua Example `local integerValue = set_pole_position(m, offsetY)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | offsetY | number | ### Returns - integer ### C Prototype `s32 set_pole_position(struct MarioState *m, f32 offsetY);` [:arrow_up_small:](#)
## [update_hang_moving](#update_hang_moving) ### Lua Example `local integerValue = update_hang_moving(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 update_hang_moving(struct MarioState *m);` [:arrow_up_small:](#)
## [update_hang_stationary](#update_hang_stationary) ### Lua Example `update_hang_stationary(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_hang_stationary(struct MarioState *m);` [:arrow_up_small:](#)
## [update_ledge_climb](#update_ledge_climb) ### Lua Example `update_ledge_climb(m, animation, endAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animation | integer | | endAction | integer | ### Returns - None ### C Prototype `void update_ledge_climb(struct MarioState *m, s32 animation, u32 endAction);` [:arrow_up_small:](#)
## [update_ledge_climb_camera](#update_ledge_climb_camera) ### Lua Example `update_ledge_climb_camera(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_ledge_climb_camera(struct MarioState *m);` [:arrow_up_small:](#)
--- # functions from mario_actions_cutscene.c
## [bhv_end_peach_loop](#bhv_end_peach_loop) ### Lua Example `bhv_end_peach_loop()` ### Parameters - None ### Returns - None ### C Prototype `void bhv_end_peach_loop(void);` [:arrow_up_small:](#)
## [bhv_end_toad_loop](#bhv_end_toad_loop) ### Lua Example `bhv_end_toad_loop()` ### Parameters - None ### Returns - None ### C Prototype `void bhv_end_toad_loop(void);` [:arrow_up_small:](#)
## [cutscene_put_cap_on](#cutscene_put_cap_on) ### Lua Example `cutscene_put_cap_on(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void cutscene_put_cap_on(struct MarioState *m);` [:arrow_up_small:](#)
## [cutscene_take_cap_off](#cutscene_take_cap_off) ### Lua Example `cutscene_take_cap_off(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void cutscene_take_cap_off(struct MarioState *m);` [:arrow_up_small:](#)
## [general_star_dance_handler](#general_star_dance_handler) ### Lua Example `general_star_dance_handler(m, isInWater)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | isInWater | integer | ### Returns - None ### C Prototype `void general_star_dance_handler(struct MarioState *m, s32 isInWater);` [:arrow_up_small:](#)
## [generate_yellow_sparkles](#generate_yellow_sparkles) ### Lua Example `generate_yellow_sparkles(x, y, z, radius)` ### Parameters | Field | Type | | ----- | ---- | | x | integer | | y | integer | | z | integer | | radius | number | ### Returns - None ### C Prototype `void generate_yellow_sparkles(s16 x, s16 y, s16 z, f32 radius);` [:arrow_up_small:](#)
## [handle_save_menu](#handle_save_menu) ### Lua Example `handle_save_menu(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void handle_save_menu(struct MarioState *m);` [:arrow_up_small:](#)
## [print_displaying_credits_entry](#print_displaying_credits_entry) ### Lua Example `print_displaying_credits_entry()` ### Parameters - None ### Returns - None ### C Prototype `void print_displaying_credits_entry(void);` [:arrow_up_small:](#)
## [should_start_or_continue_dialog](#should_start_or_continue_dialog) ### Lua Example `local integerValue = should_start_or_continue_dialog(m, object)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | object | [Object](structs.md#Object) | ### Returns - integer ### C Prototype `u8 should_start_or_continue_dialog(struct MarioState* m, struct Object* object);` [:arrow_up_small:](#)
## [stuck_in_ground_handler](#stuck_in_ground_handler) ### Lua Example `stuck_in_ground_handler(m, animation, unstuckFrame, target2, target3, endAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animation | integer | | unstuckFrame | integer | | target2 | integer | | target3 | integer | | endAction | integer | ### Returns - None ### C Prototype `void stuck_in_ground_handler(struct MarioState *m, s32 animation, s32 unstuckFrame, s32 target2, s32 target3, s32 endAction);` [:arrow_up_small:](#)
--- # functions from mario_actions_moving.c
## [align_with_floor](#align_with_floor) ### Lua Example `align_with_floor(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void align_with_floor(struct MarioState *m);` [:arrow_up_small:](#)
## [analog_stick_held_back](#analog_stick_held_back) ### Lua Example `local integerValue = analog_stick_held_back(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 analog_stick_held_back(struct MarioState *m);` [:arrow_up_small:](#)
## [anim_and_audio_for_heavy_walk](#anim_and_audio_for_heavy_walk) ### Lua Example `anim_and_audio_for_heavy_walk(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void anim_and_audio_for_heavy_walk(struct MarioState *m);` [:arrow_up_small:](#)
## [anim_and_audio_for_hold_walk](#anim_and_audio_for_hold_walk) ### Lua Example `anim_and_audio_for_hold_walk(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void anim_and_audio_for_hold_walk(struct MarioState *m);` [:arrow_up_small:](#)
## [anim_and_audio_for_walk](#anim_and_audio_for_walk) ### Lua Example `anim_and_audio_for_walk(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void anim_and_audio_for_walk(struct MarioState *m);` [:arrow_up_small:](#)
## [apply_landing_accel](#apply_landing_accel) ### Lua Example `local integerValue = apply_landing_accel(m, frictionFactor)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | frictionFactor | number | ### Returns - integer ### C Prototype `s32 apply_landing_accel(struct MarioState *m, f32 frictionFactor);` [:arrow_up_small:](#)
## [apply_slope_accel](#apply_slope_accel) ### Lua Example `apply_slope_accel(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void apply_slope_accel(struct MarioState *m);` [:arrow_up_small:](#)
## [apply_slope_decel](#apply_slope_decel) ### Lua Example `local integerValue = apply_slope_decel(m, decelCoef)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | decelCoef | number | ### Returns - integer ### C Prototype `s32 apply_slope_decel(struct MarioState *m, f32 decelCoef);` [:arrow_up_small:](#)
## [begin_braking_action](#begin_braking_action) ### Lua Example `local integerValue = begin_braking_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 begin_braking_action(struct MarioState *m);` [:arrow_up_small:](#)
## [begin_walking_action](#begin_walking_action) ### Lua Example `local integerValue = begin_walking_action(m, forwardVel, action, actionArg)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | forwardVel | number | | action | integer | | actionArg | integer | ### Returns - integer ### C Prototype `s32 begin_walking_action(struct MarioState *m, f32 forwardVel, u32 action, u32 actionArg);` [:arrow_up_small:](#)
## [check_common_moving_cancels](#check_common_moving_cancels) ### Lua Example `local integerValue = check_common_moving_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_moving_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [check_ground_dive_or_punch](#check_ground_dive_or_punch) ### Lua Example `local integerValue = check_ground_dive_or_punch(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_ground_dive_or_punch(struct MarioState *m);` [:arrow_up_small:](#)
## [check_ledge_climb_down](#check_ledge_climb_down) ### Lua Example `check_ledge_climb_down(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void check_ledge_climb_down(struct MarioState *m);` [:arrow_up_small:](#)
## [common_ground_knockback_action](#common_ground_knockback_action) ### Lua Example `local integerValue = common_ground_knockback_action(m, animation, arg2, arg3, arg4)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animation | integer | | arg2 | integer | | arg3 | integer | | arg4 | integer | ### Returns - integer ### C Prototype `s32 common_ground_knockback_action(struct MarioState *m, s32 animation, s32 arg2, s32 arg3, s32 arg4);` [:arrow_up_small:](#)
## [common_landing_action](#common_landing_action) ### Lua Example `local integerValue = common_landing_action(m, animation, airAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animation | integer | | airAction | integer | ### Returns - integer ### C Prototype `u32 common_landing_action(struct MarioState *m, s16 animation, u32 airAction);` [:arrow_up_small:](#)
## [common_slide_action](#common_slide_action) ### Lua Example `common_slide_action(m, endAction, airAction, animation)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | endAction | integer | | airAction | integer | | animation | integer | ### Returns - None ### C Prototype `void common_slide_action(struct MarioState *m, u32 endAction, u32 airAction, s32 animation);` [:arrow_up_small:](#)
## [common_slide_action_with_jump](#common_slide_action_with_jump) ### Lua Example `local integerValue = common_slide_action_with_jump(m, stopAction, jumpAction, airAction, animation)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | stopAction | integer | | jumpAction | integer | | airAction | integer | | animation | integer | ### Returns - integer ### C Prototype `s32 common_slide_action_with_jump(struct MarioState *m, u32 stopAction, u32 jumpAction, u32 airAction, s32 animation);` [:arrow_up_small:](#)
## [mario_execute_moving_action](#mario_execute_moving_action) ### Lua Example `local integerValue = mario_execute_moving_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_execute_moving_action(struct MarioState *m);` [:arrow_up_small:](#)
## [play_step_sound](#play_step_sound) ### Lua Example `play_step_sound(m, frame1, frame2)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | frame1 | integer | | frame2 | integer | ### Returns - None ### C Prototype `void play_step_sound(struct MarioState *m, s16 frame1, s16 frame2);` [:arrow_up_small:](#)
## [push_or_sidle_wall](#push_or_sidle_wall) ### Lua Example `push_or_sidle_wall(m, startPos)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | startPos | [Vec3f](structs.md#Vec3f) | ### Returns - None ### C Prototype `void push_or_sidle_wall(struct MarioState *m, Vec3f startPos);` [:arrow_up_small:](#)
## [quicksand_jump_land_action](#quicksand_jump_land_action) ### Lua Example `local integerValue = quicksand_jump_land_action(m, animation1, animation2, endAction, airAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animation1 | integer | | animation2 | integer | | endAction | integer | | airAction | integer | ### Returns - integer ### C Prototype `s32 quicksand_jump_land_action(struct MarioState *m, s32 animation1, s32 animation2, u32 endAction, u32 airAction);` [:arrow_up_small:](#)
## [set_triple_jump_action](#set_triple_jump_action) ### Lua Example `local integerValue = set_triple_jump_action(m, action, actionArg)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | action | integer | | actionArg | integer | ### Returns - integer ### C Prototype `s32 set_triple_jump_action(struct MarioState *m, UNUSED u32 action, UNUSED u32 actionArg);` [:arrow_up_small:](#)
## [should_begin_sliding](#should_begin_sliding) ### Lua Example `local integerValue = should_begin_sliding(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 should_begin_sliding(struct MarioState *m);` [:arrow_up_small:](#)
## [slide_bonk](#slide_bonk) ### Lua Example `slide_bonk(m, fastAction, slowAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | fastAction | integer | | slowAction | integer | ### Returns - None ### C Prototype `void slide_bonk(struct MarioState *m, u32 fastAction, u32 slowAction);` [:arrow_up_small:](#)
## [stomach_slide_action](#stomach_slide_action) ### Lua Example `local integerValue = stomach_slide_action(m, stopAction, airAction, animation)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | stopAction | integer | | airAction | integer | | animation | integer | ### Returns - integer ### C Prototype `s32 stomach_slide_action(struct MarioState *m, u32 stopAction, u32 airAction, s32 animation);` [:arrow_up_small:](#)
## [tilt_body_butt_slide](#tilt_body_butt_slide) ### Lua Example `tilt_body_butt_slide(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void tilt_body_butt_slide(struct MarioState *m);` [:arrow_up_small:](#)
## [tilt_body_ground_shell](#tilt_body_ground_shell) ### Lua Example `tilt_body_ground_shell(m, startYaw)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | startYaw | integer | ### Returns - None ### C Prototype `void tilt_body_ground_shell(struct MarioState *m, s16 startYaw);` [:arrow_up_small:](#)
## [tilt_body_running](#tilt_body_running) ### Lua Example `local integerValue = tilt_body_running(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s16 tilt_body_running(struct MarioState *m);` [:arrow_up_small:](#)
## [tilt_body_walking](#tilt_body_walking) ### Lua Example `tilt_body_walking(m, startYaw)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | startYaw | integer | ### Returns - None ### C Prototype `void tilt_body_walking(struct MarioState *m, s16 startYaw);` [:arrow_up_small:](#)
## [update_decelerating_speed](#update_decelerating_speed) ### Lua Example `local integerValue = update_decelerating_speed(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 update_decelerating_speed(struct MarioState *m);` [:arrow_up_small:](#)
## [update_shell_speed](#update_shell_speed) ### Lua Example `update_shell_speed(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_shell_speed(struct MarioState *m);` [:arrow_up_small:](#)
## [update_sliding](#update_sliding) ### Lua Example `local integerValue = update_sliding(m, stopSpeed)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | stopSpeed | number | ### Returns - integer ### C Prototype `s32 update_sliding(struct MarioState *m, f32 stopSpeed);` [:arrow_up_small:](#)
## [update_sliding_angle](#update_sliding_angle) ### Lua Example `update_sliding_angle(m, accel, lossFactor)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | accel | number | | lossFactor | number | ### Returns - None ### C Prototype `void update_sliding_angle(struct MarioState *m, f32 accel, f32 lossFactor);` [:arrow_up_small:](#)
## [update_walking_speed](#update_walking_speed) ### Lua Example `update_walking_speed(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void update_walking_speed(struct MarioState *m);` [:arrow_up_small:](#)
--- # functions from mario_actions_object.c
## [animated_stationary_ground_step](#animated_stationary_ground_step) ### Lua Example `animated_stationary_ground_step(m, animation, endAction)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animation | integer | | endAction | integer | ### Returns - None ### C Prototype `void animated_stationary_ground_step(struct MarioState *m, s32 animation, u32 endAction);` [:arrow_up_small:](#)
## [check_common_object_cancels](#check_common_object_cancels) ### Lua Example `local integerValue = check_common_object_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_object_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_execute_object_action](#mario_execute_object_action) ### Lua Example `local integerValue = mario_execute_object_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_execute_object_action(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_update_punch_sequence](#mario_update_punch_sequence) ### Lua Example `local integerValue = mario_update_punch_sequence(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_update_punch_sequence(struct MarioState *m);` [:arrow_up_small:](#)
--- # functions from mario_actions_stationary.c
## [check_common_hold_idle_cancels](#check_common_hold_idle_cancels) ### Lua Example `local integerValue = check_common_hold_idle_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_hold_idle_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [check_common_idle_cancels](#check_common_idle_cancels) ### Lua Example `local integerValue = check_common_idle_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_idle_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [check_common_landing_cancels](#check_common_landing_cancels) ### Lua Example `local integerValue = check_common_landing_cancels(m, action)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | action | integer | ### Returns - integer ### C Prototype `s32 check_common_landing_cancels(struct MarioState *m, u32 action);` [:arrow_up_small:](#)
## [check_common_stationary_cancels](#check_common_stationary_cancels) ### Lua Example `local integerValue = check_common_stationary_cancels(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 check_common_stationary_cancels(struct MarioState *m);` [:arrow_up_small:](#)
## [landing_step](#landing_step) ### Lua Example `local integerValue = landing_step(m, arg1, action)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | arg1 | integer | | action | integer | ### Returns - integer ### C Prototype `s32 landing_step(struct MarioState *m, s32 arg1, u32 action);` [:arrow_up_small:](#)
## [mario_execute_stationary_action](#mario_execute_stationary_action) ### Lua Example `local integerValue = mario_execute_stationary_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_execute_stationary_action(struct MarioState *m);` [:arrow_up_small:](#)
## [play_anim_sound](#play_anim_sound) ### Lua Example `play_anim_sound(m, actionState, animFrame, sound)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | actionState | integer | | animFrame | integer | | sound | integer | ### Returns - None ### C Prototype `void play_anim_sound(struct MarioState *m, u32 actionState, s32 animFrame, u32 sound);` [:arrow_up_small:](#)
## [stopping_step](#stopping_step) ### Lua Example `stopping_step(m, animID, action)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animID | integer | | action | integer | ### Returns - None ### C Prototype `void stopping_step(struct MarioState *m, s32 animID, u32 action);` [:arrow_up_small:](#)
--- # functions from mario_actions_submerged.c
## [apply_water_current](#apply_water_current) ### Lua Example `apply_water_current(m, step)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | step | [Vec3f](structs.md#Vec3f) | ### Returns - None ### C Prototype `void apply_water_current(struct MarioState *m, Vec3f step);` [:arrow_up_small:](#)
## [float_surface_gfx](#float_surface_gfx) ### Lua Example `float_surface_gfx(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void float_surface_gfx(struct MarioState *m);` [:arrow_up_small:](#)
## [mario_execute_submerged_action](#mario_execute_submerged_action) ### Lua Example `local integerValue = mario_execute_submerged_action(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 mario_execute_submerged_action(struct MarioState *m);` [:arrow_up_small:](#)
## [perform_water_full_step](#perform_water_full_step) ### Lua Example `local integerValue = perform_water_full_step(m, nextPos)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | nextPos | [Vec3f](structs.md#Vec3f) | ### Returns - integer ### C Prototype `u32 perform_water_full_step(struct MarioState *m, Vec3f nextPos);` [:arrow_up_small:](#)
## [perform_water_step](#perform_water_step) ### Lua Example `local integerValue = perform_water_step(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `u32 perform_water_step(struct MarioState *m);` [:arrow_up_small:](#)
## [set_swimming_at_surface_particles](#set_swimming_at_surface_particles) ### Lua Example `set_swimming_at_surface_particles(m, particleFlag)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | particleFlag | integer | ### Returns - None ### C Prototype `void set_swimming_at_surface_particles(struct MarioState *m, u32 particleFlag);` [:arrow_up_small:](#)
--- # functions from mario_step.h
## [get_additive_y_vel_for_jumps](#get_additive_y_vel_for_jumps) ### Lua Example `local numberValue = get_additive_y_vel_for_jumps()` ### Parameters - None ### Returns - number ### C Prototype `f32 get_additive_y_vel_for_jumps(void);` [:arrow_up_small:](#)
## [mario_bonk_reflection](#mario_bonk_reflection) ### Lua Example `mario_bonk_reflection(arg0, arg1)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | | arg1 | integer | ### Returns - None ### C Prototype `void mario_bonk_reflection(struct MarioState *, u32);` [:arrow_up_small:](#)
## [mario_push_off_steep_floor](#mario_push_off_steep_floor) ### Lua Example `local integerValue = mario_push_off_steep_floor(arg0, arg1, arg2)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | | arg1 | integer | | arg2 | integer | ### Returns - integer ### C Prototype `u32 mario_push_off_steep_floor(struct MarioState *, u32, u32);` [:arrow_up_small:](#)
## [mario_update_moving_sand](#mario_update_moving_sand) ### Lua Example `local integerValue = mario_update_moving_sand(arg0)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `u32 mario_update_moving_sand(struct MarioState *);` [:arrow_up_small:](#)
## [mario_update_quicksand](#mario_update_quicksand) ### Lua Example `local integerValue = mario_update_quicksand(arg0, arg1)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | | arg1 | number | ### Returns - integer ### C Prototype `u32 mario_update_quicksand(struct MarioState *, f32);` [:arrow_up_small:](#)
## [mario_update_windy_ground](#mario_update_windy_ground) ### Lua Example `local integerValue = mario_update_windy_ground(arg0)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `u32 mario_update_windy_ground(struct MarioState *);` [:arrow_up_small:](#)
## [perform_air_step](#perform_air_step) ### Lua Example `local integerValue = perform_air_step(arg0, arg1)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | | arg1 | integer | ### Returns - integer ### C Prototype `s32 perform_air_step(struct MarioState *, u32);` [:arrow_up_small:](#)
## [perform_ground_step](#perform_ground_step) ### Lua Example `local integerValue = perform_ground_step(arg0)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 perform_ground_step(struct MarioState *);` [:arrow_up_small:](#)
## [set_vel_from_pitch_and_yaw](#set_vel_from_pitch_and_yaw) ### Lua Example `set_vel_from_pitch_and_yaw(m)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void set_vel_from_pitch_and_yaw(struct MarioState* m);` [:arrow_up_small:](#)
## [stationary_ground_step](#stationary_ground_step) ### Lua Example `local integerValue = stationary_ground_step(arg0)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | ### Returns - integer ### C Prototype `s32 stationary_ground_step(struct MarioState *);` [:arrow_up_small:](#)
## [stop_and_set_height_to_floor](#stop_and_set_height_to_floor) ### Lua Example `stop_and_set_height_to_floor(arg0)` ### Parameters | Field | Type | | ----- | ---- | | arg0 | [MarioState](structs.md#MarioState) | ### Returns - None ### C Prototype `void stop_and_set_height_to_floor(struct MarioState *);` [:arrow_up_small:](#)
--- # functions from surface_collision.h
## [find_floor_height](#find_floor_height) ### Lua Example `local numberValue = find_floor_height(x, y, z)` ### Parameters | Field | Type | | ----- | ---- | | x | number | | y | number | | z | number | ### Returns - number ### C Prototype `f32 find_floor_height(f32 x, f32 y, f32 z);` [:arrow_up_small:](#)
## [find_poison_gas_level](#find_poison_gas_level) ### Lua Example `local numberValue = find_poison_gas_level(x, z)` ### Parameters | Field | Type | | ----- | ---- | | x | number | | z | number | ### Returns - number ### C Prototype `f32 find_poison_gas_level(f32 x, f32 z);` [:arrow_up_small:](#)
## [find_wall_collisions](#find_wall_collisions) ### Lua Example `local integerValue = find_wall_collisions(colData)` ### Parameters | Field | Type | | ----- | ---- | | colData | [WallCollisionData](structs.md#WallCollisionData) | ### Returns - integer ### C Prototype `s32 find_wall_collisions(struct WallCollisionData *colData);` [:arrow_up_small:](#)
## [find_water_level](#find_water_level) ### Lua Example `local numberValue = find_water_level(x, z)` ### Parameters | Field | Type | | ----- | ---- | | x | number | | z | number | ### Returns - number ### C Prototype `f32 find_water_level(f32 x, f32 z);` [:arrow_up_small:](#)
--- # functions from thread6.c
## [queue_rumble_data](#queue_rumble_data) ### Lua Example `queue_rumble_data(a0, a1)` ### Parameters | Field | Type | | ----- | ---- | | a0 | integer | | a1 | integer | ### Returns - None ### C Prototype `void queue_rumble_data(s16 a0, s16 a1);` [:arrow_up_small:](#)
## [queue_rumble_data_mario](#queue_rumble_data_mario) ### Lua Example `queue_rumble_data_mario(m, a0, a1)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | a0 | integer | | a1 | integer | ### Returns - None ### C Prototype `void queue_rumble_data_mario(struct MarioState* m, s16 a0, s16 a1);` [:arrow_up_small:](#)
## [queue_rumble_data_object](#queue_rumble_data_object) ### Lua Example `queue_rumble_data_object(object, a0, a1)` ### Parameters | Field | Type | | ----- | ---- | | object | [Object](structs.md#Object) | | a0 | integer | | a1 | integer | ### Returns - None ### C Prototype `void queue_rumble_data_object(struct Object* object, s16 a0, s16 a1);` [:arrow_up_small:](#)