sm64coopdx/docs/lua/functions-5.md
PeachyPeach 69e129805e
More math improvements (#820)
* More math improvements

* more math functions

* stack check

* added error message when trying to modify read-only table; fix gSmluaConstants printed to console
2025-05-29 02:52:31 +02:00

145 KiB

Lua Functions


< prev | 1 | 2 | 3 | 4 | 5 | 6 | next >]


functions from misc.h


smooth_step

Description

Smoothly steps between edge0 and edge1 with x as delta

Lua Example

local numberValue = smooth_step(edge0, edge1, x)

Parameters

Field Type
edge0 number
edge1 number
x number

Returns

  • number

C Prototype

float smooth_step(float edge0, float edge1, float x);

🔼


update_all_mario_stars

Description

Updates every Mario state's star count with the save file total star count

Lua Example

update_all_mario_stars()

Parameters

  • None

Returns

  • None

C Prototype

void update_all_mario_stars(void);

🔼


clock_elapsed

Description

Gets the current clock elapsed time

Lua Example

local numberValue = clock_elapsed()

Parameters

  • None

Returns

  • number

C Prototype

f32 clock_elapsed(void);

🔼


clock_elapsed_f64

Description

Gets the current clock elapsed time with double precision

Lua Example

local numberValue = clock_elapsed_f64()

Parameters

  • None

Returns

  • number

C Prototype

f64 clock_elapsed_f64(void);

🔼


clock_elapsed_ticks

Description

Gets the current clock elapsed time in frames

Lua Example

local integerValue = clock_elapsed_ticks()

Parameters

  • None

Returns

  • integer

C Prototype

u32 clock_elapsed_ticks(void);

🔼


clock_is_date

Description

Checks whether it is the day given

Lua Example

local booleanValue = clock_is_date(month, day)

Parameters

Field Type
month integer
day integer

Returns

  • boolean

C Prototype

bool clock_is_date(u8 month, u8 day);

🔼


delta_interpolate_f32

Description

Linearly interpolates between a and b with delta

Lua Example

local numberValue = delta_interpolate_f32(a, b, delta)

Parameters

Field Type
a number
b number
delta number

Returns

  • number

C Prototype

f32 delta_interpolate_f32(f32 a, f32 b, f32 delta);

🔼


delta_interpolate_s32

Description

Linearly interpolates between a and b with delta

Lua Example

local integerValue = delta_interpolate_s32(a, b, delta)

Parameters

Field Type
a integer
b integer
delta number

Returns

  • integer

C Prototype

s32 delta_interpolate_s32(s32 a, s32 b, f32 delta);

🔼


delta_interpolate_vec3f

Description

Linearly interpolates res between a and b with delta

Lua Example

delta_interpolate_vec3f(res, a, b, delta)

Parameters

Field Type
res Vec3f
a Vec3f
b Vec3f
delta number

Returns

  • None

C Prototype

void delta_interpolate_vec3f(Vec3f res, Vec3f a, Vec3f b, f32 delta);

🔼


delta_interpolate_vec3s

Description

Linearly interpolates res between a and b with delta

Lua Example

delta_interpolate_vec3s(res, a, b, delta)

Parameters

Field Type
res Vec3s
a Vec3s
b Vec3s
delta number

Returns

  • None

C Prototype

void delta_interpolate_vec3s(Vec3s res, Vec3s a, Vec3s b, f32 delta);

🔼



functions from mod_storage.h


mod_storage_save

Description

Saves a key corresponding to a string value to mod storage

Lua Example

local booleanValue = mod_storage_save(key, value)

Parameters

Field Type
key string
value string

Returns

  • boolean

C Prototype

bool mod_storage_save(const char* key, const char* value);

🔼


mod_storage_save_number

Description

Saves a key corresponding to a float value to mod storage

Lua Example

local booleanValue = mod_storage_save_number(key, value)

Parameters

Field Type
key string
value number

Returns

  • boolean

C Prototype

bool mod_storage_save_number(const char* key, f32 value);

🔼


mod_storage_save_bool

Description

Saves a key corresponding to a bool value to mod storage

Lua Example

local booleanValue = mod_storage_save_bool(key, value)

Parameters

Field Type
key string
value boolean

Returns

  • boolean

C Prototype

bool mod_storage_save_bool(const char* key, bool value);

🔼


mod_storage_load

Description

Loads a string value from a key in mod storage

Lua Example

local stringValue = mod_storage_load(key)

Parameters

Field Type
key string

Returns

  • string

C Prototype

const char *mod_storage_load(const char* key);

🔼


mod_storage_load_number

Description

Loads a float value from a key in mod storage

Lua Example

local numberValue = mod_storage_load_number(key)

Parameters

Field Type
key string

Returns

  • number

C Prototype

f32 mod_storage_load_number(const char* key);

🔼


mod_storage_load_bool

Description

Loads a bool value from a key in mod storage

Lua Example

local booleanValue = mod_storage_load_bool(key)

Parameters

Field Type
key string

Returns

  • boolean

C Prototype

bool mod_storage_load_bool(const char* key);

🔼


mod_storage_exists

Description

Checks if a key is in mod storage

Lua Example

local booleanValue = mod_storage_exists(key)

Parameters

Field Type
key string

Returns

  • boolean

C Prototype

bool mod_storage_exists(const char* key);

🔼


mod_storage_remove

Description

Removes a key from mod storage

Lua Example

local booleanValue = mod_storage_remove(key)

Parameters

Field Type
key string

Returns

  • boolean

C Prototype

bool mod_storage_remove(const char* key);

🔼


mod_storage_clear

Description

Clears the mod's data from mod storage

Lua Example

local booleanValue = mod_storage_clear()

Parameters

  • None

Returns

  • boolean

C Prototype

bool mod_storage_clear(void);

🔼



functions from network_player.h


network_player_connected_count

Description

Gets the amount of players connected

Lua Example

local integerValue = network_player_connected_count()

Parameters

  • None

Returns

  • integer

C Prototype

u8 network_player_connected_count(void);

🔼


network_player_set_description

Description

Sets the description field of np

Lua Example

network_player_set_description(np, description, r, g, b, a)

Parameters

Field Type
np NetworkPlayer
description string
r integer
g integer
b integer
a integer

Returns

  • None

C Prototype

void network_player_set_description(struct NetworkPlayer* np, const char* description, u8 r, u8 g, u8 b, u8 a);

🔼


network_player_set_override_location

Description

Overrides the location of np

Lua Example

network_player_set_override_location(np, location)

Parameters

Field Type
np NetworkPlayer
location string

Returns

  • None

C Prototype

void network_player_set_override_location(struct NetworkPlayer *np, const char *location);

🔼


network_player_from_global_index

Description

Gets a network player from globalIndex

Lua Example

local NetworkPlayerValue = network_player_from_global_index(globalIndex)

Parameters

Field Type
globalIndex integer

Returns

NetworkPlayer

C Prototype

struct NetworkPlayer* network_player_from_global_index(u8 globalIndex);

🔼


get_network_player_from_level

Description

Gets the first network player whose information matches courseNum, actNum, and levelNum

Lua Example

local NetworkPlayerValue = get_network_player_from_level(courseNum, actNum, levelNum)

Parameters

Field Type
courseNum integer
actNum integer
levelNum integer

Returns

NetworkPlayer

C Prototype

struct NetworkPlayer* get_network_player_from_level(s16 courseNum, s16 actNum, s16 levelNum);

🔼


get_network_player_from_area

Description

Gets the first network player whose information matches courseNum, actNum, levelNum, and areaIndex

Lua Example

local NetworkPlayerValue = get_network_player_from_area(courseNum, actNum, levelNum, areaIndex)

Parameters

Field Type
courseNum integer
actNum integer
levelNum integer
areaIndex integer

Returns

NetworkPlayer

C Prototype

struct NetworkPlayer* get_network_player_from_area(s16 courseNum, s16 actNum, s16 levelNum, s16 areaIndex);

🔼


get_network_player_smallest_global

Description

Gets the active network player with the smallest global index. Useful for assigning one player to "own" some kind of functionality or object

Lua Example

local NetworkPlayerValue = get_network_player_smallest_global()

Parameters

  • None

Returns

NetworkPlayer

C Prototype

struct NetworkPlayer* get_network_player_smallest_global(void);

🔼


network_player_set_override_palette_color

Description

Sets the part in np's override color palette

Lua Example

network_player_set_override_palette_color(np, part, color)

Parameters

Field Type
np NetworkPlayer
part enum PlayerPart
color Color

Returns

  • None

C Prototype

void network_player_set_override_palette_color(struct NetworkPlayer *np, enum PlayerPart part, Color color);

🔼


network_player_reset_override_palette

Description

Resets np's override color palette

Lua Example

network_player_reset_override_palette(np)

Parameters

Field Type
np NetworkPlayer

Returns

  • None

C Prototype

void network_player_reset_override_palette(struct NetworkPlayer *np);

🔼


network_player_is_override_palette_same

Description

Checks if np's override color palette is identical to the regular color palette

Lua Example

local booleanValue = network_player_is_override_palette_same(np)

Parameters

Field Type
np NetworkPlayer

Returns

  • boolean

C Prototype

bool network_player_is_override_palette_same(struct NetworkPlayer *np);

🔼



functions from network_utils.h


network_global_index_from_local

Description

Gets a player's global index from their local index

Lua Example

local integerValue = network_global_index_from_local(localIndex)

Parameters

Field Type
localIndex integer

Returns

  • integer

C Prototype

u8 network_global_index_from_local(u8 localIndex);

🔼


network_local_index_from_global

Description

Gets a player's local index from their global index

Lua Example

local integerValue = network_local_index_from_global(globalIndex)

Parameters

Field Type
globalIndex integer

Returns

  • integer

C Prototype

u8 network_local_index_from_global(u8 globalIndex);

🔼


network_is_server

Description

Checks if you are hosting the current lobby, this value doesn't change

Lua Example

local booleanValue = network_is_server()

Parameters

  • None

Returns

  • boolean

C Prototype

bool network_is_server(void);

🔼


network_is_moderator

Description

Checks if you are a moderator in the current lobby

Lua Example

local booleanValue = network_is_moderator()

Parameters

  • None

Returns

  • boolean

C Prototype

bool network_is_moderator(void);

🔼


network_get_player_text_color_string

Description

Gets the DJUI hex color code string for the player corresponding to localIndex's cap color

Lua Example

local stringValue = network_get_player_text_color_string(localIndex)

Parameters

Field Type
localIndex integer

Returns

  • string

C Prototype

const char* network_get_player_text_color_string(u8 localIndex);

🔼


network_check_singleplayer_pause

Description

Checks if the game can currently be paused in singleplayer

Lua Example

local booleanValue = network_check_singleplayer_pause()

Parameters

  • None

Returns

  • boolean

C Prototype

bool network_check_singleplayer_pause(void);

🔼


network_discord_id_from_local_index

Description

Gets a Discord ID corresponding to the network player with localIndex

Lua Example

local stringValue = network_discord_id_from_local_index(localIndex)

Parameters

Field Type
localIndex integer

Returns

  • string

C Prototype

const char* network_discord_id_from_local_index(u8 localIndex);

🔼



functions from obj_behaviors.c


set_yoshi_as_not_dead

Description

Resets Yoshi as being alive

Lua Example

set_yoshi_as_not_dead()

Parameters

  • None

Returns

  • None

C Prototype

void set_yoshi_as_not_dead(void);

🔼


absf_2

Description

An absolute value (always positive) function.

Lua Example

local numberValue = absf_2(f)

Parameters

Field Type
f number

Returns

  • number

C Prototype

f32 absf_2(f32 f);

🔼


obj_find_wall

Description

Finds any wall collisions, applies them, and turns away from the surface.

Lua Example

local integerValue = obj_find_wall(objNewX, objY, objNewZ, objVelX, objVelZ)

Parameters

Field Type
objNewX number
objY number
objNewZ number
objVelX number
objVelZ number

Returns

  • integer

C Prototype

s8 obj_find_wall(f32 objNewX, f32 objY, f32 objNewZ, f32 objVelX, f32 objVelZ);

🔼


turn_obj_away_from_steep_floor

Description

Turns an object away from steep floors, similarly to walls.

Lua Example

local integerValue = turn_obj_away_from_steep_floor(objFloor, floorY, objVelX, objVelZ)

Parameters

Field Type
objFloor Surface
floorY number
objVelX number
objVelZ number

Returns

  • integer

C Prototype

s8 turn_obj_away_from_steep_floor(struct Surface *objFloor, f32 floorY, f32 objVelX, f32 objVelZ);

🔼


obj_orient_graph

Description

Orients an object with the given normals, typically the surface under the object.

Lua Example

obj_orient_graph(obj, normalX, normalY, normalZ)

Parameters

Field Type
obj Object
normalX number
normalY number
normalZ number

Returns

  • None

C Prototype

void obj_orient_graph(struct Object *obj, f32 normalX, f32 normalY, f32 normalZ);

🔼


calc_obj_friction

Description

Orients an object with the given normals, typically the surface under the object.

Lua Example

calc_obj_friction(objFriction, floor_nY)

Parameters

Field Type
objFriction Pointer <number>
floor_nY number

Returns

  • None

C Prototype

void calc_obj_friction(f32 *objFriction, f32 floor_nY);

🔼


calc_new_obj_vel_and_pos_y

Description

Updates an objects speed for gravity and updates Y position.

Lua Example

calc_new_obj_vel_and_pos_y(objFloor, objFloorY, objVelX, objVelZ)

Parameters

Field Type
objFloor Surface
objFloorY number
objVelX number
objVelZ number

Returns

  • None

C Prototype

void calc_new_obj_vel_and_pos_y(struct Surface *objFloor, f32 objFloorY, f32 objVelX, f32 objVelZ);

🔼


calc_new_obj_vel_and_pos_y_underwater

Description

Adjusts the current object's veloicty and y position for being underwater

Lua Example

calc_new_obj_vel_and_pos_y_underwater(objFloor, floorY, objVelX, objVelZ, waterY)

Parameters

Field Type
objFloor Surface
floorY number
objVelX number
objVelZ number
waterY number

Returns

  • None

C Prototype

void calc_new_obj_vel_and_pos_y_underwater(struct Surface *objFloor, f32 floorY, f32 objVelX, f32 objVelZ, f32 waterY);

🔼


obj_update_pos_vel_xz

Description

Updates an objects position from oForwardVel and oMoveAngleYaw.

Lua Example

obj_update_pos_vel_xz()

Parameters

  • None

Returns

  • None

C Prototype

void obj_update_pos_vel_xz(void);

🔼


obj_splash

Description

Generates splashes if at surface of water, entering water, or bubbles if underwater

Lua Example

obj_splash(waterY, objY)

Parameters

Field Type
waterY integer
objY integer

Returns

  • None

C Prototype

void obj_splash(s32 waterY, s32 objY);

🔼


object_step

Description

Generic object move function. Handles walls, water, floors, and gravity. Returns flags for certain interactions

Lua Example

local integerValue = object_step()

Parameters

  • None

Returns

  • integer

C Prototype

s16 object_step(void);

🔼


object_step_without_floor_orient

Description

Takes an object step but does not orient with the object's floor. Used for boulders, falling pillars, and the rolling snowman body

Lua Example

local integerValue = object_step_without_floor_orient()

Parameters

  • None

Returns

  • integer

C Prototype

s16 object_step_without_floor_orient(void);

🔼


obj_move_xyz_using_fvel_and_yaw

Description

Don't use this function outside of of a context where the current object and obj are the same. Moves obj based on a seemingly random mix of using either the current obj or obj's fields

Lua Example

obj_move_xyz_using_fvel_and_yaw(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_move_xyz_using_fvel_and_yaw(struct Object *obj);

🔼


is_point_within_radius_of_mario

Description

Checks if a point is within distance from any active Mario visible to enemies' graphical position

Lua Example

local integerValue = is_point_within_radius_of_mario(x, y, z, dist)

Parameters

Field Type
x number
y number
z number
dist integer

Returns

  • integer

C Prototype

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

🔼


is_point_within_radius_of_any_player

Description

Checks if a point is within distance from any active Mario's graphical position

Lua Example

local integerValue = is_point_within_radius_of_any_player(x, y, z, dist)

Parameters

Field Type
x number
y number
z number
dist integer

Returns

  • integer

C Prototype

s8 is_point_within_radius_of_any_player(f32 x, f32 y, f32 z, s32 dist);

🔼


is_player_active

Description

Checks if m is in the current course/act/level/area and isn't bubbled

Lua Example

local integerValue = is_player_active(m)

Parameters

Field Type
m MarioState

Returns

  • integer

C Prototype

u8 is_player_active(struct MarioState* m);

🔼


is_other_player_active

Description

Checks if any player besides the local player is in the current course/act/level/area

Lua Example

local integerValue = is_other_player_active()

Parameters

  • None

Returns

  • integer

C Prototype

u8 is_other_player_active(void);

🔼


is_player_in_local_area

Description

Checks if m is in the current course/act/level/area

Lua Example

local integerValue = is_player_in_local_area(m)

Parameters

Field Type
m MarioState

Returns

  • integer

C Prototype

u8 is_player_in_local_area(struct MarioState* m);

🔼


nearest_mario_state_to_object

Description

Gets the nearest active Mario who isn't bubbled to obj

Lua Example

local MarioStateValue = nearest_mario_state_to_object(obj)

Parameters

Field Type
obj Object

Returns

MarioState

C Prototype

struct MarioState* nearest_mario_state_to_object(struct Object *obj);

🔼


nearest_possible_mario_state_to_object

Description

Gets the nearest possible Mario to obj despite anything like bubbled state or enemy visibility

Lua Example

local MarioStateValue = nearest_possible_mario_state_to_object(obj)

Parameters

Field Type
obj Object

Returns

MarioState

C Prototype

struct MarioState* nearest_possible_mario_state_to_object(struct Object *obj);

🔼


nearest_player_to_object

Description

Gets the nearest player (Mario Object) to obj

Lua Example

local ObjectValue = nearest_player_to_object(obj)

Parameters

Field Type
obj Object

Returns

Object

C Prototype

struct Object* nearest_player_to_object(struct Object *obj);

🔼


nearest_interacting_mario_state_to_object

Description

Gets the nearest interacting Mario to obj

Lua Example

local MarioStateValue = nearest_interacting_mario_state_to_object(obj)

Parameters

Field Type
obj Object

Returns

MarioState

C Prototype

struct MarioState *nearest_interacting_mario_state_to_object(struct Object *obj);

🔼


nearest_interacting_player_to_object

Description

Gets the nearest interacting player (Mario Object) to obj

Lua Example

local ObjectValue = nearest_interacting_player_to_object(obj)

Parameters

Field Type
obj Object

Returns

Object

C Prototype

struct Object *nearest_interacting_player_to_object(struct Object *obj);

🔼


is_nearest_mario_state_to_object

Description

Checks if m is the nearest Mario to obj

Lua Example

local integerValue = is_nearest_mario_state_to_object(m, obj)

Parameters

Field Type
m MarioState
obj Object

Returns

  • integer

C Prototype

u8 is_nearest_mario_state_to_object(struct MarioState *m, struct Object *obj);

🔼


is_nearest_player_to_object

Description

Checks if m is the nearest player (Mario Object) to obj

Lua Example

local integerValue = is_nearest_player_to_object(m, obj)

Parameters

Field Type
m Object
obj Object

Returns

  • integer

C Prototype

u8 is_nearest_player_to_object(struct Object *m, struct Object *obj);

🔼


is_point_close_to_object

Description

Checks if a point is within dist of obj

Lua Example

local integerValue = is_point_close_to_object(obj, x, y, z, dist)

Parameters

Field Type
obj Object
x number
y number
z number
dist integer

Returns

  • integer

C Prototype

s8 is_point_close_to_object(struct Object *obj, f32 x, f32 y, f32 z, s32 dist);

🔼


set_object_visibility

Description

Sets an object as visible if within a certain distance of Mario's graphical position

Lua Example

set_object_visibility(obj, dist)

Parameters

Field Type
obj Object
dist integer

Returns

  • None

C Prototype

void set_object_visibility(struct Object *obj, s32 dist);

🔼


obj_return_home_if_safe

Description

Turns an object towards home if Mario is not near to it

Lua Example

local integerValue = obj_return_home_if_safe(obj, homeX, y, homeZ, dist)

Parameters

Field Type
obj Object
homeX number
y number
homeZ number
dist integer

Returns

  • integer

C Prototype

s8 obj_return_home_if_safe(struct Object *obj, f32 homeX, f32 y, f32 homeZ, s32 dist);

🔼


obj_return_and_displace_home

Description

Randomly displaces an objects home if RNG says to, and turns the object towards its home

Lua Example

obj_return_and_displace_home(obj, homeX, homeY, homeZ, baseDisp)

Parameters

Field Type
obj Object
homeX number
homeY number
homeZ number
baseDisp integer

Returns

  • None

C Prototype

void obj_return_and_displace_home(struct Object *obj, f32 homeX, UNUSED f32 homeY, f32 homeZ, s32 baseDisp);

🔼


obj_check_if_facing_toward_angle

Description

A series of checks using sin and cos to see if a given angle is facing in the same direction of a given angle, within a certain range

Lua Example

local integerValue = obj_check_if_facing_toward_angle(base, goal, range)

Parameters

Field Type
base integer
goal integer
range integer

Returns

  • integer

C Prototype

s8 obj_check_if_facing_toward_angle(u32 base, u32 goal, s16 range);

🔼


obj_find_wall_displacement

Description

Finds any wall collisions and returns what the displacement vector would be.

Lua Example

local integerValue = obj_find_wall_displacement(dist, x, y, z, radius)

Parameters

Field Type
dist Vec3f
x number
y number
z number
radius number

Returns

  • integer

C Prototype

s8 obj_find_wall_displacement(Vec3f dist, f32 x, f32 y, f32 z, f32 radius);

🔼


obj_spawn_yellow_coins

Description

Spawns a number of coins at the location of an object with a random forward velocity, y velocity, and direction

Lua Example

obj_spawn_yellow_coins(obj, nCoins)

Parameters

Field Type
obj Object
nCoins integer

Returns

  • None

C Prototype

void obj_spawn_yellow_coins(struct Object *obj, s8 nCoins);

🔼


obj_flicker_and_disappear

Description

Controls whether certain objects should flicker/when to despawn

Lua Example

local integerValue = obj_flicker_and_disappear(obj, lifeSpan)

Parameters

Field Type
obj Object
lifeSpan integer

Returns

  • integer

C Prototype

s8 obj_flicker_and_disappear(struct Object *obj, s16 lifeSpan);

🔼


current_mario_room_check

Description

Checks if a given room is Mario's current room, even if on an object

Lua Example

local integerValue = current_mario_room_check(room)

Parameters

Field Type
room integer

Returns

  • integer

C Prototype

s8 current_mario_room_check(s16 room);

🔼


obj_check_floor_death

Description

Checks if floor's type is burning or death plane and if so change the current object's action accordingly

Lua Example

obj_check_floor_death(collisionFlags, floor)

Parameters

Field Type
collisionFlags integer
floor Surface

Returns

  • None

C Prototype

void obj_check_floor_death(s16 collisionFlags, struct Surface *floor);

🔼


obj_lava_death

Description

Controls an object dying in lava by creating smoke, sinking the object, playing audio, and eventually despawning it. Returns TRUE when the obj is dead

Lua Example

local integerValue = obj_lava_death()

Parameters

  • None

Returns

  • integer

C Prototype

s8 obj_lava_death(void);

🔼


spawn_orange_number

Description

Spawns an orange number object relatively, such as those that count up for secrets.

Lua Example

spawn_orange_number(behParam, relX, relY, relZ)

Parameters

Field Type
behParam integer
relX integer
relY integer
relZ integer

Returns

  • None

C Prototype

void spawn_orange_number(s8 behParam, s16 relX, s16 relY, s16 relZ);

🔼



functions from obj_behaviors_2.c


obj_is_rendering_enabled

Description

Checks if the current object's rendering is enabled

Lua Example

local integerValue = obj_is_rendering_enabled()

Parameters

  • None

Returns

  • integer

C Prototype

s32 obj_is_rendering_enabled(void);

🔼


obj_get_pitch_from_vel

Description

Calculates the current object's theoretical pitch from forward velocity and vertical velocity

Lua Example

local integerValue = obj_get_pitch_from_vel()

Parameters

  • None

Returns

  • integer

C Prototype

s16 obj_get_pitch_from_vel(void);

🔼


obj_set_dist_from_home

Description

Sets the current object's position to the home with an additional forward vector multiplied by distFromHome

Lua Example

obj_set_dist_from_home(distFromHome)

Parameters

Field Type
distFromHome number

Returns

  • None

C Prototype

void obj_set_dist_from_home(f32 distFromHome);

🔼


obj_is_near_to_and_facing_mario

Description

Checks if the current object is in maxDist to m and the angle difference is less than maxAngleDiff

Lua Example

local integerValue = obj_is_near_to_and_facing_mario(m, maxDist, maxAngleDiff)

Parameters

Field Type
m MarioState
maxDist number
maxAngleDiff integer

Returns

  • integer

C Prototype

s32 obj_is_near_to_and_facing_mario(struct MarioState* m, f32 maxDist, s16 maxAngleDiff);

🔼


platform_on_track_update_pos_or_spawn_ball

Description

Handles the platform on track's trajectory marker ball spawning

Lua Example

platform_on_track_update_pos_or_spawn_ball(ballIndex, x, y, z)

Parameters

Field Type
ballIndex integer
x number
y number
z number

Returns

  • None

C Prototype

void platform_on_track_update_pos_or_spawn_ball(s32 ballIndex, f32 x, f32 y, f32 z);

🔼


cur_obj_spin_all_dimensions

Description

Spins an object in every direction with pitchSpeed and rollSpeed

Lua Example

cur_obj_spin_all_dimensions(pitchSpeed, rollSpeed)

Parameters

Field Type
pitchSpeed number
rollSpeed number

Returns

  • None

C Prototype

void cur_obj_spin_all_dimensions(f32 pitchSpeed, f32 rollSpeed);

🔼


obj_rotate_yaw_and_bounce_off_walls

Description

Approaches the current object's yaw to targetYaw by turnAmount

Lua Example

obj_rotate_yaw_and_bounce_off_walls(targetYaw, turnAmount)

Parameters

Field Type
targetYaw integer
turnAmount integer

Returns

  • None

C Prototype

void obj_rotate_yaw_and_bounce_off_walls(s16 targetYaw, s16 turnAmount);

🔼


obj_get_pitch_to_home

Description

Gets the current object's theoretical pitch to the home with the lateral distance from it

Lua Example

local integerValue = obj_get_pitch_to_home(latDistToHome)

Parameters

Field Type
latDistToHome number

Returns

  • integer

C Prototype

s16 obj_get_pitch_to_home(f32 latDistToHome);

🔼


obj_compute_vel_from_move_pitch

Description

Computes the current object's forward vel and vertical velocity with the move angle pitch

Lua Example

obj_compute_vel_from_move_pitch(speed)

Parameters

Field Type
speed number

Returns

  • None

C Prototype

void obj_compute_vel_from_move_pitch(f32 speed);

🔼


cur_obj_init_anim_extend

Description

Initializes an animation for the current object and loops back around if the animation ends

Lua Example

cur_obj_init_anim_extend(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • None

C Prototype

void cur_obj_init_anim_extend(s32 animIndex);

🔼


cur_obj_init_anim_and_check_if_end

Description

Initializes an animation for the current object and returns if the animation has ended

Lua Example

local integerValue = cur_obj_init_anim_and_check_if_end(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • integer

C Prototype

s32 cur_obj_init_anim_and_check_if_end(s32 animIndex);

🔼


cur_obj_init_anim_check_frame

Description

Initializes an animation for the current object and checks if the animation frame is a specific frame

Lua Example

local integerValue = cur_obj_init_anim_check_frame(animIndex, animFrame)

Parameters

Field Type
animIndex integer
animFrame integer

Returns

  • integer

C Prototype

s32 cur_obj_init_anim_check_frame(s32 animIndex, s32 animFrame);

🔼


cur_obj_set_anim_if_at_end

Description

Sets the current object's animation to a new animation if the current animation has ended

Lua Example

local integerValue = cur_obj_set_anim_if_at_end(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • integer

C Prototype

s32 cur_obj_set_anim_if_at_end(s32 animIndex);

🔼


cur_obj_play_sound_at_anim_range

Description

Plays a sound when the animation frame is in a range

Lua Example

local integerValue = cur_obj_play_sound_at_anim_range(startFrame, endFrame, sound)

Parameters

Field Type
startFrame integer
endFrame integer
sound integer

Returns

  • integer

C Prototype

s32 cur_obj_play_sound_at_anim_range(s8 startFrame, s8 endFrame, u32 sound);

🔼


obj_turn_pitch_toward_mario

Description

Turns the current object towards m by turnAmount and subtracts and adds targetOffsetY to the Y position, effectively cancelling any effect out

Lua Example

local integerValue = obj_turn_pitch_toward_mario(m, targetOffsetY, turnAmount)

Parameters

Field Type
m MarioState
targetOffsetY number
turnAmount integer

Returns

  • integer

C Prototype

s16 obj_turn_pitch_toward_mario(struct MarioState* m, f32 targetOffsetY, s16 turnAmount);

🔼


approach_f32_ptr

Description

Approaches a target for px using delta

Lua Example

local integerValue = approach_f32_ptr(px, target, delta)

Parameters

Field Type
px Pointer <number>
target number
delta number

Returns

  • integer

C Prototype

s32 approach_f32_ptr(f32 *px, f32 target, f32 delta);

🔼


obj_forward_vel_approach

Description

Approaches a target value with the current object's forward velocity using delta

Lua Example

local integerValue = obj_forward_vel_approach(target, delta)

Parameters

Field Type
target number
delta number

Returns

  • integer

C Prototype

s32 obj_forward_vel_approach(f32 target, f32 delta);

🔼


obj_y_vel_approach

Description

Approaches a target value with the current object's vertical velocity using delta

Lua Example

local integerValue = obj_y_vel_approach(target, delta)

Parameters

Field Type
target number
delta number

Returns

  • integer

C Prototype

s32 obj_y_vel_approach(f32 target, f32 delta);

🔼


obj_move_pitch_approach

Description

Approaches a target value with the current object's move pitch using delta

Lua Example

local integerValue = obj_move_pitch_approach(target, delta)

Parameters

Field Type
target integer
delta integer

Returns

  • integer

C Prototype

s32 obj_move_pitch_approach(s16 target, s16 delta);

🔼


obj_face_pitch_approach

Description

Approaches a target value with the current object's facing pitch using delta

Lua Example

local integerValue = obj_face_pitch_approach(targetPitch, deltaPitch)

Parameters

Field Type
targetPitch integer
deltaPitch integer

Returns

  • integer

C Prototype

s32 obj_face_pitch_approach(s16 targetPitch, s16 deltaPitch);

🔼


obj_face_yaw_approach

Description

Approaches a target value with the current object's facing yaw using delta

Lua Example

local integerValue = obj_face_yaw_approach(targetYaw, deltaYaw)

Parameters

Field Type
targetYaw integer
deltaYaw integer

Returns

  • integer

C Prototype

s32 obj_face_yaw_approach(s16 targetYaw, s16 deltaYaw);

🔼


obj_face_roll_approach

Description

Approaches a target value with the current object's facing roll using delta

Lua Example

local integerValue = obj_face_roll_approach(targetRoll, deltaRoll)

Parameters

Field Type
targetRoll integer
deltaRoll integer

Returns

  • integer

C Prototype

s32 obj_face_roll_approach(s16 targetRoll, s16 deltaRoll);

🔼


obj_smooth_turn

Lua Example

local integerValue = obj_smooth_turn(angleVel, angle, targetAngle, targetSpeedProportion, accel, minSpeed, maxSpeed)

Parameters

Field Type
angleVel Pointer <integer>
angle Pointer <integer>
targetAngle integer
targetSpeedProportion number
accel integer
minSpeed integer
maxSpeed integer

Returns

  • integer

C Prototype

s32 obj_smooth_turn(s16 *angleVel, s32 *angle, s16 targetAngle, f32 targetSpeedProportion, s16 accel, s16 minSpeed, s16 maxSpeed);

🔼


obj_roll_to_match_yaw_turn

Description

Rolls the current object to the move angle subtracted by targetYaw, clamping between negative and positive maxRoll and using rollSpeed

Lua Example

obj_roll_to_match_yaw_turn(targetYaw, maxRoll, rollSpeed)

Parameters

Field Type
targetYaw integer
maxRoll integer
rollSpeed integer

Returns

  • None

C Prototype

void obj_roll_to_match_yaw_turn(s16 targetYaw, s16 maxRoll, s16 rollSpeed);

🔼


random_linear_offset

Description

Generates a random offset with a base and range of base to range

Lua Example

local integerValue = random_linear_offset(base, range)

Parameters

Field Type
base integer
range integer

Returns

  • integer

C Prototype

s16 random_linear_offset(s16 base, s16 range);

🔼


random_mod_offset

Description

Generates a random offset using step multiplied a value between 0 and mod (the random function goes to 65535 but wraps around to 0 at mod)

Lua Example

local integerValue = random_mod_offset(base, step, mod)

Parameters

Field Type
base integer
step integer
mod integer

Returns

  • integer

C Prototype

s16 random_mod_offset(s16 base, s16 step, s16 mod);

🔼


obj_random_fixed_turn

Description

Rotates the current object's move angle yaw using delta in either a randomly decided positive or negative direction

Lua Example

local integerValue = obj_random_fixed_turn(delta)

Parameters

Field Type
delta integer

Returns

  • integer

C Prototype

s16 obj_random_fixed_turn(s16 delta);

🔼


obj_grow_then_shrink

Description

Begin by increasing the current object's scale by *scaleVel, and slowly decreasing scaleVel. Once the object starts to shrink, wait a bit, and then begin to scale the object toward endScale. The first time it reaches below shootFireScale during this time, return 1. Return -1 once it's reached endScale

Lua Example

local integerValue = obj_grow_then_shrink(scaleVel, shootFireScale, endScale)

Parameters

Field Type
scaleVel Pointer <number>
shootFireScale number
endScale number

Returns

  • integer

C Prototype

s32 obj_grow_then_shrink(f32 *scaleVel, f32 shootFireScale, f32 endScale);

🔼


oscillate_toward

Lua Example

local integerValue = oscillate_toward(value, vel, target, velCloseToZero, accel, slowdown)

Parameters

Field Type
value Pointer <integer>
vel Pointer <number>
target integer
velCloseToZero number
accel number
slowdown number

Returns

  • integer

C Prototype

s32 oscillate_toward(s32 *value, f32 *vel, s32 target, f32 velCloseToZero, f32 accel, f32 slowdown);

🔼


obj_update_blinking

Lua Example

obj_update_blinking(blinkTimer, baseCycleLength, cycleLengthRange, blinkLength)

Parameters

Field Type
blinkTimer Pointer <integer>
baseCycleLength integer
cycleLengthRange integer
blinkLength integer

Returns

  • None

C Prototype

void obj_update_blinking(s32 *blinkTimer, s16 baseCycleLength, s16 cycleLengthRange, s16 blinkLength);

🔼


obj_resolve_object_collisions

Description

Resolves "collisions" with the current object and other objects by offsetting the current object's position

Lua Example

local integerValue = obj_resolve_object_collisions(targetYaw)

Parameters

Field Type
targetYaw Pointer <integer>

Returns

  • integer

C Prototype

s32 obj_resolve_object_collisions(s32 *targetYaw);

🔼


obj_bounce_off_walls_edges_objects

Description

Bounces the current object off of walls, edges, and objects using *targetYaw

Lua Example

local integerValue = obj_bounce_off_walls_edges_objects(targetYaw)

Parameters

Field Type
targetYaw Pointer <integer>

Returns

  • integer

C Prototype

s32 obj_bounce_off_walls_edges_objects(s32 *targetYaw);

🔼


obj_resolve_collisions_and_turn

Description

Resolves collisions and turns the current object towards targetYaw using turnSpeed

Lua Example

local integerValue = obj_resolve_collisions_and_turn(targetYaw, turnSpeed)

Parameters

Field Type
targetYaw integer
turnSpeed integer

Returns

  • integer

C Prototype

s32 obj_resolve_collisions_and_turn(s16 targetYaw, s16 turnSpeed);

🔼


obj_die_if_health_non_positive

Description

Spawns mist particles, plays a sound (oDeathSound,) spawns coins (oNumLootCoins,) and hides the object if the health is less than 0 or deletes the object if the health is 0 or higher

Lua Example

obj_die_if_health_non_positive()

Parameters

  • None

Returns

  • None

C Prototype

void obj_die_if_health_non_positive(void);

🔼


obj_unused_die

Description

Sets the current object's health to 0 and runs obj_die_if_health_non_positive()

Lua Example

obj_unused_die()

Parameters

  • None

Returns

  • None

C Prototype

void obj_unused_die(void);

🔼


obj_set_knockback_action

Description

Sets the current object's action, forward velocity, and vertical velocity to preset values (OBJ_ACT_*)

Lua Example

obj_set_knockback_action(attackType)

Parameters

Field Type
attackType integer

Returns

  • None

C Prototype

void obj_set_knockback_action(s32 attackType);

🔼


obj_set_squished_action

Description

Plays SOUND_OBJ_STOMPED and sets the current object's action to OBJ_ACT_SQUISHED

Lua Example

obj_set_squished_action()

Parameters

  • None

Returns

  • None

C Prototype

void obj_set_squished_action(void);

🔼


obj_die_if_above_lava_and_health_non_positive

Lua Example

local integerValue = obj_die_if_above_lava_and_health_non_positive()

Parameters

  • None

Returns

  • integer

C Prototype

s32 obj_die_if_above_lava_and_health_non_positive(void);

🔼


obj_handle_attacks

Lua Example

local integerValue = obj_handle_attacks(hitbox, attackedMarioAction, attackHandlers)

Parameters

Field Type
hitbox ObjectHitbox
attackedMarioAction integer
attackHandlers Pointer <integer>

Returns

  • integer

C Prototype

s32 obj_handle_attacks(struct ObjectHitbox *hitbox, s32 attackedMarioAction, u8 *attackHandlers);

🔼


obj_act_knockback

Lua Example

obj_act_knockback(baseScale)

Parameters

Field Type
baseScale number

Returns

  • None

C Prototype

void obj_act_knockback(UNUSED f32 baseScale);

🔼


obj_act_squished

Lua Example

obj_act_squished(baseScale)

Parameters

Field Type
baseScale number

Returns

  • None

C Prototype

void obj_act_squished(f32 baseScale);

🔼


obj_update_standard_actions

Lua Example

local integerValue = obj_update_standard_actions(scale)

Parameters

Field Type
scale number

Returns

  • integer

C Prototype

s32 obj_update_standard_actions(f32 scale);

🔼


obj_check_attacks

Description

Checks the current object's interaction status and sets action to attackedMarioAction if Mario has been attacked and runs obj_die_if_health_non_positive() if the object is attacked by Mario. Sets the hitbox parameters and resets interaction status to 0

Lua Example

local integerValue = obj_check_attacks(hitbox, attackedMarioAction)

Parameters

Field Type
hitbox ObjectHitbox
attackedMarioAction integer

Returns

  • integer

C Prototype

s32 obj_check_attacks(struct ObjectHitbox *hitbox, s32 attackedMarioAction);

🔼


obj_move_for_one_second

Description

Moves the current object for specifically one second (oTimer < 30)

Lua Example

local integerValue = obj_move_for_one_second(endAction)

Parameters

Field Type
endAction integer

Returns

  • integer

C Prototype

s32 obj_move_for_one_second(s32 endAction);

🔼


treat_far_home_as_mario

Description

Moves the current object for specifically one second (oTimer < 30)

Lua Example

treat_far_home_as_mario(threshold, distanceToPlayer, angleToPlayer)

Parameters

Field Type
threshold number
distanceToPlayer Pointer <integer>
angleToPlayer Pointer <integer>

Returns

  • None

C Prototype

void treat_far_home_as_mario(f32 threshold, s32* distanceToPlayer, s32* angleToPlayer);

🔼


obj_spit_fire

Lua Example

local ObjectValue = obj_spit_fire(relativePosX, relativePosY, relativePosZ, scale, model, startSpeed, endSpeed, movePitch)

Parameters

Field Type
relativePosX integer
relativePosY integer
relativePosZ integer
scale number
model integer
startSpeed number
endSpeed number
movePitch integer

Returns

Object

C Prototype

struct Object* obj_spit_fire(s16 relativePosX, s16 relativePosY, s16 relativePosZ, f32 scale, s32 model, f32 startSpeed, f32 endSpeed, s16 movePitch);

🔼



functions from object_helpers.c


clear_move_flag

Lua Example

local integerValue = clear_move_flag(bitSet, flag)

Parameters

Field Type
bitSet Pointer <integer>
flag integer

Returns

  • integer

C Prototype

s32 clear_move_flag(u32 *bitSet, s32 flag);

🔼


set_room_override

Description

Overrides the current room Mario is in. Set to -1 to reset override

Lua Example

set_room_override(room)

Parameters

Field Type
room integer

Returns

  • None

C Prototype

void set_room_override(s16 room);

🔼


obj_update_pos_from_parent_transformation

Lua Example

obj_update_pos_from_parent_transformation(a0, a1)

Parameters

Field Type
a0 Mat4
a1 Object

Returns

  • None

C Prototype

void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1);

🔼


obj_apply_scale_to_matrix

Lua Example

obj_apply_scale_to_matrix(obj, dst, src)

Parameters

Field Type
obj Object
dst Mat4
src Mat4

Returns

  • None

C Prototype

void obj_apply_scale_to_matrix(struct Object *obj, Mat4 dst, Mat4 src);

🔼


create_transformation_from_matrices

Lua Example

create_transformation_from_matrices(a0, a1, a2)

Parameters

Field Type
a0 Mat4
a1 Mat4
a2 Mat4

Returns

  • None

C Prototype

void create_transformation_from_matrices(Mat4 a0, Mat4 a1, Mat4 a2);

🔼


obj_set_held_state

Lua Example

obj_set_held_state(obj, heldBehavior)

Parameters

Field Type
obj Object
heldBehavior Pointer <BehaviorScript>

Returns

  • None

C Prototype

void obj_set_held_state(struct Object *obj, const BehaviorScript *heldBehavior);

🔼


lateral_dist_between_objects

Lua Example

local numberValue = lateral_dist_between_objects(obj1, obj2)

Parameters

Field Type
obj1 Object
obj2 Object

Returns

  • number

C Prototype

f32 lateral_dist_between_objects(struct Object *obj1, struct Object *obj2);

🔼


dist_between_objects

Lua Example

local numberValue = dist_between_objects(obj1, obj2)

Parameters

Field Type
obj1 Object
obj2 Object

Returns

  • number

C Prototype

f32 dist_between_objects(struct Object *obj1, struct Object *obj2);

🔼


dist_between_object_and_point

Lua Example

local numberValue = dist_between_object_and_point(obj, pointX, pointY, pointZ)

Parameters

Field Type
obj Object
pointX number
pointY number
pointZ number

Returns

  • number

C Prototype

f32 dist_between_object_and_point(struct Object *obj, f32 pointX, f32 pointY, f32 pointZ);

🔼


cur_obj_forward_vel_approach_upward

Lua Example

cur_obj_forward_vel_approach_upward(target, increment)

Parameters

Field Type
target number
increment number

Returns

  • None

C Prototype

void cur_obj_forward_vel_approach_upward(f32 target, f32 increment);

🔼


approach_f32_signed

Lua Example

local integerValue = approach_f32_signed(value, target, increment)

Parameters

Field Type
value Pointer <number>
target number
increment number

Returns

  • integer

C Prototype

s32 approach_f32_signed(f32 *value, f32 target, f32 increment);

🔼


approach_f32_symmetric

Lua Example

local numberValue = approach_f32_symmetric(value, target, increment)

Parameters

Field Type
value number
target number
increment number

Returns

  • number

C Prototype

f32 approach_f32_symmetric(f32 value, f32 target, f32 increment);

🔼


approach_s16_symmetric

Lua Example

local integerValue = approach_s16_symmetric(value, target, increment)

Parameters

Field Type
value integer
target integer
increment integer

Returns

  • integer

C Prototype

s16 approach_s16_symmetric(s16 value, s16 target, s16 increment);

🔼


cur_obj_rotate_yaw_toward

Lua Example

local integerValue = cur_obj_rotate_yaw_toward(target, increment)

Parameters

Field Type
target integer
increment integer

Returns

  • integer

C Prototype

s32 cur_obj_rotate_yaw_toward(s16 target, s16 increment);

🔼


obj_angle_to_object

Lua Example

local integerValue = obj_angle_to_object(obj1, obj2)

Parameters

Field Type
obj1 Object
obj2 Object

Returns

  • integer

C Prototype

s16 obj_angle_to_object(struct Object *obj1, struct Object *obj2);

🔼


obj_pitch_to_object

Lua Example

local integerValue = obj_pitch_to_object(obj, target)

Parameters

Field Type
obj Object
target Object

Returns

  • integer

C Prototype

s16 obj_pitch_to_object(struct Object* obj, struct Object* target);

🔼


obj_angle_to_point

Lua Example

local integerValue = obj_angle_to_point(obj, pointX, pointZ)

Parameters

Field Type
obj Object
pointX number
pointZ number

Returns

  • integer

C Prototype

s16 obj_angle_to_point(struct Object *obj, f32 pointX, f32 pointZ);

🔼


obj_turn_toward_object

Lua Example

local integerValue = obj_turn_toward_object(obj, target, angleIndex, turnAmount)

Parameters

Field Type
obj Object
target Object
angleIndex integer
turnAmount integer

Returns

  • integer

C Prototype

s16 obj_turn_toward_object(struct Object *obj, struct Object *target, s16 angleIndex, s16 turnAmount);

🔼


obj_set_parent_relative_pos

Lua Example

obj_set_parent_relative_pos(obj, relX, relY, relZ)

Parameters

Field Type
obj Object
relX integer
relY integer
relZ integer

Returns

  • None

C Prototype

void obj_set_parent_relative_pos(struct Object *obj, s16 relX, s16 relY, s16 relZ);

🔼


obj_set_pos

Lua Example

obj_set_pos(obj, x, y, z)

Parameters

Field Type
obj Object
x integer
y integer
z integer

Returns

  • None

C Prototype

void obj_set_pos(struct Object *obj, s16 x, s16 y, s16 z);

🔼


obj_set_angle

Lua Example

obj_set_angle(obj, pitch, yaw, roll)

Parameters

Field Type
obj Object
pitch integer
yaw integer
roll integer

Returns

  • None

C Prototype

void obj_set_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll);

🔼


obj_set_move_angle

Lua Example

obj_set_move_angle(obj, pitch, yaw, roll)

Parameters

Field Type
obj Object
pitch integer
yaw integer
roll integer

Returns

  • None

C Prototype

void obj_set_move_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll);

🔼


obj_set_face_angle

Lua Example

obj_set_face_angle(obj, pitch, yaw, roll)

Parameters

Field Type
obj Object
pitch integer
yaw integer
roll integer

Returns

  • None

C Prototype

void obj_set_face_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll);

🔼


obj_set_gfx_angle

Lua Example

obj_set_gfx_angle(obj, pitch, yaw, roll)

Parameters

Field Type
obj Object
pitch integer
yaw integer
roll integer

Returns

  • None

C Prototype

void obj_set_gfx_angle(struct Object *obj, s16 pitch, s16 yaw, s16 roll);

🔼


obj_set_gfx_pos

Lua Example

obj_set_gfx_pos(obj, x, y, z)

Parameters

Field Type
obj Object
x number
y number
z number

Returns

  • None

C Prototype

void obj_set_gfx_pos(struct Object *obj, f32 x, f32 y, f32 z);

🔼


obj_set_gfx_scale

Lua Example

obj_set_gfx_scale(obj, x, y, z)

Parameters

Field Type
obj Object
x number
y number
z number

Returns

  • None

C Prototype

void obj_set_gfx_scale(struct Object *obj, f32 x, f32 y, f32 z);

🔼


spawn_water_droplet

Lua Example

local ObjectValue = spawn_water_droplet(parent, params)

Parameters

Field Type
parent Object
params WaterDropletParams

Returns

Object

C Prototype

struct Object *spawn_water_droplet(struct Object *parent, struct WaterDropletParams *params);

🔼


obj_build_relative_transform

Lua Example

obj_build_relative_transform(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_build_relative_transform(struct Object *obj);

🔼


cur_obj_move_using_vel

Lua Example

cur_obj_move_using_vel()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_move_using_vel(void);

🔼


obj_copy_graph_y_offset

Lua Example

obj_copy_graph_y_offset(dst, src)

Parameters

Field Type
dst Object
src Object

Returns

  • None

C Prototype

void obj_copy_graph_y_offset(struct Object *dst, struct Object *src);

🔼


obj_copy_pos_and_angle

Lua Example

obj_copy_pos_and_angle(dst, src)

Parameters

Field Type
dst Object
src Object

Returns

  • None

C Prototype

void obj_copy_pos_and_angle(struct Object *dst, struct Object *src);

🔼


obj_copy_pos

Lua Example

obj_copy_pos(dst, src)

Parameters

Field Type
dst Object
src Object

Returns

  • None

C Prototype

void obj_copy_pos(struct Object *dst, struct Object *src);

🔼


obj_copy_angle

Lua Example

obj_copy_angle(dst, src)

Parameters

Field Type
dst Object
src Object

Returns

  • None

C Prototype

void obj_copy_angle(struct Object *dst, struct Object *src);

🔼


obj_set_gfx_pos_from_pos

Lua Example

obj_set_gfx_pos_from_pos(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_set_gfx_pos_from_pos(struct Object *obj);

🔼


obj_init_animation

Lua Example

obj_init_animation(obj, animIndex)

Parameters

Field Type
obj Object
animIndex integer

Returns

  • None

C Prototype

void obj_init_animation(struct Object *obj, s32 animIndex);

🔼


linear_mtxf_mul_vec3f

Description

Multiplies a vector by a matrix of the form: | ? ? ? 0 | | ? ? ? 0 | | ? ? ? 0 | | 0 0 0 1 | i.e. a matrix representing a linear transformation over 3 space

Lua Example

linear_mtxf_mul_vec3f(m, dst, v)

Parameters

Field Type
m Mat4
dst Vec3f
v Vec3f

Returns

  • None

C Prototype

void linear_mtxf_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v);

🔼


linear_mtxf_transpose_mul_vec3f

Description

Multiplies a vector by the transpose of a matrix of the form: | ? ? ? 0 | | ? ? ? 0 | | ? ? ? 0 | | 0 0 0 1 | i.e. a matrix representing a linear transformation over 3 space

Lua Example

linear_mtxf_transpose_mul_vec3f(m, dst, v)

Parameters

Field Type
m Mat4
dst Vec3f
v Vec3f

Returns

  • None

C Prototype

void linear_mtxf_transpose_mul_vec3f(Mat4 m, Vec3f dst, Vec3f v);

🔼


obj_apply_scale_to_transform

Lua Example

obj_apply_scale_to_transform(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_apply_scale_to_transform(struct Object *obj);

🔼


obj_copy_scale

Lua Example

obj_copy_scale(dst, src)

Parameters

Field Type
dst Object
src Object

Returns

  • None

C Prototype

void obj_copy_scale(struct Object *dst, struct Object *src);

🔼


obj_scale_xyz

Lua Example

obj_scale_xyz(obj, xScale, yScale, zScale)

Parameters

Field Type
obj Object
xScale number
yScale number
zScale number

Returns

  • None

C Prototype

void obj_scale_xyz(struct Object *obj, f32 xScale, f32 yScale, f32 zScale);

🔼


obj_scale

Lua Example

obj_scale(obj, scale)

Parameters

Field Type
obj Object
scale number

Returns

  • None

C Prototype

void obj_scale(struct Object *obj, f32 scale);

🔼


cur_obj_scale

Lua Example

cur_obj_scale(scale)

Parameters

Field Type
scale number

Returns

  • None

C Prototype

void cur_obj_scale(f32 scale);

🔼


cur_obj_init_animation

Lua Example

cur_obj_init_animation(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • None

C Prototype

void cur_obj_init_animation(s32 animIndex);

🔼


cur_obj_init_animation_with_sound

Lua Example

cur_obj_init_animation_with_sound(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • None

C Prototype

void cur_obj_init_animation_with_sound(s32 animIndex);

🔼


obj_init_animation_with_accel_and_sound

Lua Example

obj_init_animation_with_accel_and_sound(obj, animIndex, accel)

Parameters

Field Type
obj Object
animIndex integer
accel number

Returns

  • None

C Prototype

void obj_init_animation_with_accel_and_sound(struct Object *obj, s32 animIndex, f32 accel);

🔼


cur_obj_init_animation_with_accel_and_sound

Lua Example

cur_obj_init_animation_with_accel_and_sound(animIndex, accel)

Parameters

Field Type
animIndex integer
accel number

Returns

  • None

C Prototype

void cur_obj_init_animation_with_accel_and_sound(s32 animIndex, f32 accel);

🔼


obj_init_animation_with_sound

Lua Example

obj_init_animation_with_sound(obj, animations, animIndex)

Parameters

Field Type
obj Object
animations AnimationTable
animIndex integer

Returns

  • None

C Prototype

void obj_init_animation_with_sound(struct Object *obj, const struct AnimationTable* animations, s32 animIndex);

🔼


cur_obj_enable_rendering_and_become_tangible

Lua Example

cur_obj_enable_rendering_and_become_tangible(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void cur_obj_enable_rendering_and_become_tangible(struct Object *obj);

🔼


cur_obj_enable_rendering

Lua Example

cur_obj_enable_rendering()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_enable_rendering(void);

🔼


cur_obj_disable_rendering_and_become_intangible

Lua Example

cur_obj_disable_rendering_and_become_intangible(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void cur_obj_disable_rendering_and_become_intangible(struct Object *obj);

🔼


cur_obj_disable_rendering

Lua Example

cur_obj_disable_rendering()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_disable_rendering(void);

🔼


cur_obj_unhide

Lua Example

cur_obj_unhide()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_unhide(void);

🔼


cur_obj_hide

Lua Example

cur_obj_hide()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_hide(void);

🔼


cur_obj_set_pos_relative

Lua Example

cur_obj_set_pos_relative(other, dleft, dy, dforward)

Parameters

Field Type
other Object
dleft number
dy number
dforward number

Returns

  • None

C Prototype

void cur_obj_set_pos_relative(struct Object *other, f32 dleft, f32 dy, f32 dforward);

🔼


cur_obj_set_pos_relative_to_parent

Lua Example

cur_obj_set_pos_relative_to_parent(dleft, dy, dforward)

Parameters

Field Type
dleft number
dy number
dforward number

Returns

  • None

C Prototype

void cur_obj_set_pos_relative_to_parent(f32 dleft, f32 dy, f32 dforward);

🔼


cur_obj_enable_rendering_2

Lua Example

cur_obj_enable_rendering_2()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_enable_rendering_2(void);

🔼


cur_obj_unused_init_on_floor

Lua Example

cur_obj_unused_init_on_floor()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_unused_init_on_floor(void);

🔼


obj_set_face_angle_to_move_angle

Lua Example

obj_set_face_angle_to_move_angle(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_set_face_angle_to_move_angle(struct Object *obj);

🔼


get_object_list_from_behavior

Lua Example

local integerValue = get_object_list_from_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

  • integer

C Prototype

u32 get_object_list_from_behavior(const BehaviorScript *behavior);

🔼


cur_obj_nearest_object_with_behavior

Lua Example

local ObjectValue = cur_obj_nearest_object_with_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

Object

C Prototype

struct Object *cur_obj_nearest_object_with_behavior(const BehaviorScript *behavior);

🔼


cur_obj_dist_to_nearest_object_with_behavior

Lua Example

local numberValue = cur_obj_dist_to_nearest_object_with_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

  • number

C Prototype

f32 cur_obj_dist_to_nearest_object_with_behavior(const BehaviorScript *behavior);

🔼


cur_obj_find_nearest_pole

Lua Example

local ObjectValue = cur_obj_find_nearest_pole()

Parameters

  • None

Returns

Object

C Prototype

struct Object* cur_obj_find_nearest_pole(void);

🔼


cur_obj_find_nearest_object_with_behavior

Lua Example

local ObjectValue = cur_obj_find_nearest_object_with_behavior(behavior, dist)

Parameters

Field Type
behavior Pointer <BehaviorScript>
dist Pointer <number>

Returns

Object

C Prototype

struct Object *cur_obj_find_nearest_object_with_behavior(const BehaviorScript *behavior, f32 *dist);

🔼


cur_obj_count_objects_with_behavior

Lua Example

local integerValue = cur_obj_count_objects_with_behavior(behavior, dist)

Parameters

Field Type
behavior Pointer <BehaviorScript>
dist number

Returns

  • integer

C Prototype

u16 cur_obj_count_objects_with_behavior(const BehaviorScript* behavior, f32 dist);

🔼


find_unimportant_object

Lua Example

local ObjectValue = find_unimportant_object()

Parameters

  • None

Returns

Object

C Prototype

struct Object *find_unimportant_object(void);

🔼


count_unimportant_objects

Lua Example

local integerValue = count_unimportant_objects()

Parameters

  • None

Returns

  • integer

C Prototype

s32 count_unimportant_objects(void);

🔼


count_objects_with_behavior

Lua Example

local integerValue = count_objects_with_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

  • integer

C Prototype

s32 count_objects_with_behavior(const BehaviorScript *behavior);

🔼


find_object_with_behavior

Lua Example

local ObjectValue = find_object_with_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

Object

C Prototype

struct Object *find_object_with_behavior(const BehaviorScript *behavior);

🔼


cur_obj_find_nearby_held_actor

Lua Example

local ObjectValue = cur_obj_find_nearby_held_actor(behavior, maxDist)

Parameters

Field Type
behavior Pointer <BehaviorScript>
maxDist number

Returns

Object

C Prototype

struct Object *cur_obj_find_nearby_held_actor(const BehaviorScript *behavior, f32 maxDist);

🔼


cur_obj_reset_timer_and_subaction

Lua Example

cur_obj_reset_timer_and_subaction()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_reset_timer_and_subaction(void);

🔼


cur_obj_change_action

Lua Example

cur_obj_change_action(action)

Parameters

Field Type
action integer

Returns

  • None

C Prototype

void cur_obj_change_action(s32 action);

🔼


cur_obj_set_vel_from_mario_vel

Lua Example

cur_obj_set_vel_from_mario_vel(m, f12, f14)

Parameters

Field Type
m MarioState
f12 number
f14 number

Returns

  • None

C Prototype

void cur_obj_set_vel_from_mario_vel(struct MarioState* m, f32 f12, f32 f14);

🔼


cur_obj_reverse_animation

Lua Example

cur_obj_reverse_animation()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_reverse_animation(void);

🔼


cur_obj_extend_animation_if_at_end

Lua Example

cur_obj_extend_animation_if_at_end()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_extend_animation_if_at_end(void);

🔼


cur_obj_check_if_near_animation_end

Lua Example

local integerValue = cur_obj_check_if_near_animation_end()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_check_if_near_animation_end(void);

🔼


cur_obj_check_if_at_animation_end

Lua Example

local integerValue = cur_obj_check_if_at_animation_end()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_check_if_at_animation_end(void);

🔼


cur_obj_check_anim_frame

Lua Example

local integerValue = cur_obj_check_anim_frame(frame)

Parameters

Field Type
frame integer

Returns

  • integer

C Prototype

s32 cur_obj_check_anim_frame(s32 frame);

🔼


cur_obj_check_anim_frame_in_range

Lua Example

local integerValue = cur_obj_check_anim_frame_in_range(startFrame, rangeLength)

Parameters

Field Type
startFrame integer
rangeLength integer

Returns

  • integer

C Prototype

s32 cur_obj_check_anim_frame_in_range(s32 startFrame, s32 rangeLength);

🔼


cur_obj_check_frame_prior_current_frame

Lua Example

local integerValue = cur_obj_check_frame_prior_current_frame(a0)

Parameters

Field Type
a0 Pointer <integer>

Returns

  • integer

C Prototype

s32 cur_obj_check_frame_prior_current_frame(s16 *a0);

🔼


mario_is_in_air_action

Lua Example

local integerValue = mario_is_in_air_action(m)

Parameters

Field Type
m MarioState

Returns

  • integer

C Prototype

s32 mario_is_in_air_action(struct MarioState* m);

🔼


mario_is_dive_sliding

Lua Example

local integerValue = mario_is_dive_sliding(m)

Parameters

Field Type
m MarioState

Returns

  • integer

C Prototype

s32 mario_is_dive_sliding(struct MarioState* m);

🔼


cur_obj_set_y_vel_and_animation

Lua Example

cur_obj_set_y_vel_and_animation(sp18, sp1C)

Parameters

Field Type
sp18 number
sp1C integer

Returns

  • None

C Prototype

void cur_obj_set_y_vel_and_animation(f32 sp18, s32 sp1C);

🔼


cur_obj_unrender_and_reset_state

Lua Example

cur_obj_unrender_and_reset_state(sp18, sp1C)

Parameters

Field Type
sp18 integer
sp1C integer

Returns

  • None

C Prototype

void cur_obj_unrender_and_reset_state(s32 sp18, s32 sp1C);

🔼


cur_obj_move_after_thrown_or_dropped

Lua Example

cur_obj_move_after_thrown_or_dropped(forwardVel, velY)

Parameters

Field Type
forwardVel number
velY number

Returns

  • None

C Prototype

void cur_obj_move_after_thrown_or_dropped(f32 forwardVel, f32 velY);

🔼


cur_obj_get_thrown_or_placed

Lua Example

cur_obj_get_thrown_or_placed(forwardVel, velY, thrownAction)

Parameters

Field Type
forwardVel number
velY number
thrownAction integer

Returns

  • None

C Prototype

void cur_obj_get_thrown_or_placed(f32 forwardVel, f32 velY, s32 thrownAction);

🔼


cur_obj_get_dropped

Lua Example

cur_obj_get_dropped()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_get_dropped(void);

🔼


mario_set_flag

Lua Example

mario_set_flag(flag)

Parameters

Field Type
flag integer

Returns

  • None

C Prototype

void mario_set_flag(s32 flag);

🔼


cur_obj_clear_interact_status_flag

Lua Example

local integerValue = cur_obj_clear_interact_status_flag(flag)

Parameters

Field Type
flag integer

Returns

  • integer

C Prototype

s32 cur_obj_clear_interact_status_flag(s32 flag);

🔼


obj_mark_for_deletion

Description

Marks an object to be unloaded at the end of the frame

Lua Example

obj_mark_for_deletion(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_mark_for_deletion(struct Object *obj);

🔼


cur_obj_disable

Lua Example

cur_obj_disable()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_disable(void);

🔼


cur_obj_become_intangible

Lua Example

cur_obj_become_intangible()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_become_intangible(void);

🔼


cur_obj_become_tangible

Lua Example

cur_obj_become_tangible()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_become_tangible(void);

🔼


obj_become_tangible

Lua Example

obj_become_tangible(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_become_tangible(struct Object *obj);

🔼


cur_obj_update_floor_height

Lua Example

cur_obj_update_floor_height()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_update_floor_height(void);

🔼


cur_obj_update_floor_height_and_get_floor

Lua Example

local SurfaceValue = cur_obj_update_floor_height_and_get_floor()

Parameters

  • None

Returns

Surface

C Prototype

struct Surface *cur_obj_update_floor_height_and_get_floor(void);

🔼


apply_drag_to_value

Lua Example

apply_drag_to_value(value, dragStrength)

Parameters

Field Type
value Pointer <number>
dragStrength number

Returns

  • None

C Prototype

void apply_drag_to_value(f32 *value, f32 dragStrength);

🔼


cur_obj_apply_drag_xz

Lua Example

cur_obj_apply_drag_xz(dragStrength)

Parameters

Field Type
dragStrength number

Returns

  • None

C Prototype

void cur_obj_apply_drag_xz(f32 dragStrength);

🔼


cur_obj_move_xz

Lua Example

local integerValue = cur_obj_move_xz(steepSlopeNormalY, careAboutEdgesAndSteepSlopes)

Parameters

Field Type
steepSlopeNormalY number
careAboutEdgesAndSteepSlopes integer

Returns

  • integer

C Prototype

s32 cur_obj_move_xz(f32 steepSlopeNormalY, s32 careAboutEdgesAndSteepSlopes);

🔼


cur_obj_move_update_underwater_flags

Lua Example

cur_obj_move_update_underwater_flags()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_move_update_underwater_flags(void);

🔼


cur_obj_move_update_ground_air_flags

Lua Example

cur_obj_move_update_ground_air_flags(gravity, bounciness)

Parameters

Field Type
gravity number
bounciness number

Returns

  • None

C Prototype

void cur_obj_move_update_ground_air_flags(UNUSED f32 gravity, f32 bounciness);

🔼


cur_obj_move_y_and_get_water_level

Lua Example

local numberValue = cur_obj_move_y_and_get_water_level(gravity, buoyancy)

Parameters

Field Type
gravity number
buoyancy number

Returns

  • number

C Prototype

f32 cur_obj_move_y_and_get_water_level(f32 gravity, f32 buoyancy);

🔼


cur_obj_move_y

Lua Example

cur_obj_move_y(gravity, bounciness, buoyancy)

Parameters

Field Type
gravity number
bounciness number
buoyancy number

Returns

  • None

C Prototype

void cur_obj_move_y(f32 gravity, f32 bounciness, f32 buoyancy);

🔼


cur_obj_unused_resolve_wall_collisions

Lua Example

cur_obj_unused_resolve_wall_collisions(offsetY, radius)

Parameters

Field Type
offsetY number
radius number

Returns

  • None

C Prototype

void cur_obj_unused_resolve_wall_collisions(f32 offsetY, f32 radius);

🔼


abs_angle_diff

Lua Example

local integerValue = abs_angle_diff(x0, x1)

Parameters

Field Type
x0 integer
x1 integer

Returns

  • integer

C Prototype

s16 abs_angle_diff(s16 x0, s16 x1);

🔼


cur_obj_move_xz_using_fvel_and_yaw

Lua Example

cur_obj_move_xz_using_fvel_and_yaw()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_move_xz_using_fvel_and_yaw(void);

🔼


cur_obj_move_y_with_terminal_vel

Lua Example

cur_obj_move_y_with_terminal_vel()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_move_y_with_terminal_vel(void);

🔼


cur_obj_compute_vel_xz

Lua Example

cur_obj_compute_vel_xz()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_compute_vel_xz(void);

🔼


increment_velocity_toward_range

Lua Example

local numberValue = increment_velocity_toward_range(value, center, zeroThreshold, increment)

Parameters

Field Type
value number
center number
zeroThreshold number
increment number

Returns

  • number

C Prototype

f32 increment_velocity_toward_range(f32 value, f32 center, f32 zeroThreshold, f32 increment);

🔼


obj_check_if_collided_with_object

Lua Example

local integerValue = obj_check_if_collided_with_object(obj1, obj2)

Parameters

Field Type
obj1 Object
obj2 Object

Returns

  • integer

C Prototype

s32 obj_check_if_collided_with_object(struct Object *obj1, struct Object *obj2);

🔼


cur_obj_set_behavior

Lua Example

cur_obj_set_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

  • None

C Prototype

void cur_obj_set_behavior(const BehaviorScript *behavior);

🔼


obj_set_behavior

Lua Example

obj_set_behavior(obj, behavior)

Parameters

Field Type
obj Object
behavior Pointer <BehaviorScript>

Returns

  • None

C Prototype

void obj_set_behavior(struct Object *obj, const BehaviorScript *behavior);

🔼


cur_obj_has_behavior

Lua Example

local integerValue = cur_obj_has_behavior(behavior)

Parameters

Field Type
behavior Pointer <BehaviorScript>

Returns

  • integer

C Prototype

s32 cur_obj_has_behavior(const BehaviorScript *behavior);

🔼


obj_has_behavior

Lua Example

local integerValue = obj_has_behavior(obj, behavior)

Parameters

Field Type
obj Object
behavior Pointer <BehaviorScript>

Returns

  • integer

C Prototype

s32 obj_has_behavior(struct Object *obj, const BehaviorScript *behavior);

🔼


cur_obj_lateral_dist_from_obj_to_home

Lua Example

local numberValue = cur_obj_lateral_dist_from_obj_to_home(obj)

Parameters

Field Type
obj Object

Returns

  • number

C Prototype

f32 cur_obj_lateral_dist_from_obj_to_home(struct Object *obj);

🔼


cur_obj_lateral_dist_from_mario_to_home

Lua Example

local numberValue = cur_obj_lateral_dist_from_mario_to_home()

Parameters

  • None

Returns

  • number

C Prototype

f32 cur_obj_lateral_dist_from_mario_to_home(void);

🔼


cur_obj_lateral_dist_to_home

Lua Example

local numberValue = cur_obj_lateral_dist_to_home()

Parameters

  • None

Returns

  • number

C Prototype

f32 cur_obj_lateral_dist_to_home(void);

🔼


cur_obj_outside_home_square

Lua Example

local integerValue = cur_obj_outside_home_square(halfLength)

Parameters

Field Type
halfLength number

Returns

  • integer

C Prototype

s32 cur_obj_outside_home_square(f32 halfLength);

🔼


cur_obj_outside_home_rectangle

Lua Example

local integerValue = cur_obj_outside_home_rectangle(minX, maxX, minZ, maxZ)

Parameters

Field Type
minX number
maxX number
minZ number
maxZ number

Returns

  • integer

C Prototype

s32 cur_obj_outside_home_rectangle(f32 minX, f32 maxX, f32 minZ, f32 maxZ);

🔼


cur_obj_set_pos_to_home

Lua Example

cur_obj_set_pos_to_home()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_pos_to_home(void);

🔼


cur_obj_set_pos_to_home_and_stop

Lua Example

cur_obj_set_pos_to_home_and_stop()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_pos_to_home_and_stop(void);

🔼


cur_obj_shake_y

Lua Example

cur_obj_shake_y(amount)

Parameters

Field Type
amount number

Returns

  • None

C Prototype

void cur_obj_shake_y(f32 amount);

🔼


cur_obj_start_cam_event

Lua Example

cur_obj_start_cam_event(obj, cameraEvent)

Parameters

Field Type
obj Object
cameraEvent integer

Returns

  • None

C Prototype

void cur_obj_start_cam_event(UNUSED struct Object *obj, s32 cameraEvent);

🔼


set_mario_interact_hoot_if_in_range

Lua Example

set_mario_interact_hoot_if_in_range(sp0, sp4, sp8)

Parameters

Field Type
sp0 integer
sp4 integer
sp8 number

Returns

  • None

C Prototype

void set_mario_interact_hoot_if_in_range(UNUSED s32 sp0, UNUSED s32 sp4, f32 sp8);

🔼


obj_set_billboard

Lua Example

obj_set_billboard(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_set_billboard(struct Object *obj);

🔼


obj_set_cylboard

Lua Example

obj_set_cylboard(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_set_cylboard(struct Object *obj);

🔼


cur_obj_set_billboard_if_vanilla_cam

Lua Example

cur_obj_set_billboard_if_vanilla_cam()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_billboard_if_vanilla_cam(void);

🔼


obj_set_hitbox_radius_and_height

Lua Example

obj_set_hitbox_radius_and_height(o, radius, height)

Parameters

Field Type
o Object
radius number
height number

Returns

  • None

C Prototype

void obj_set_hitbox_radius_and_height(struct Object *o, f32 radius, f32 height);

🔼


obj_set_hurtbox_radius_and_height

Lua Example

obj_set_hurtbox_radius_and_height(o, radius, height)

Parameters

Field Type
o Object
radius number
height number

Returns

  • None

C Prototype

void obj_set_hurtbox_radius_and_height(struct Object *o, f32 radius, f32 height);

🔼


cur_obj_set_hitbox_radius_and_height

Lua Example

cur_obj_set_hitbox_radius_and_height(radius, height)

Parameters

Field Type
radius number
height number

Returns

  • None

C Prototype

void cur_obj_set_hitbox_radius_and_height(f32 radius, f32 height);

🔼


cur_obj_set_hurtbox_radius_and_height

Lua Example

cur_obj_set_hurtbox_radius_and_height(radius, height)

Parameters

Field Type
radius number
height number

Returns

  • None

C Prototype

void cur_obj_set_hurtbox_radius_and_height(f32 radius, f32 height);

🔼


obj_spawn_loot_coins

Lua Example

obj_spawn_loot_coins(obj, numCoins, sp30, coinBehavior, posJitter, model)

Parameters

Field Type
obj Object
numCoins integer
sp30 number
coinBehavior Pointer <BehaviorScript>
posJitter integer
model integer

Returns

  • None

C Prototype

void obj_spawn_loot_coins(struct Object *obj, s32 numCoins, f32 sp30, const BehaviorScript *coinBehavior, s16 posJitter, s16 model);

🔼


obj_spawn_loot_blue_coins

Lua Example

obj_spawn_loot_blue_coins(obj, numCoins, sp28, posJitter)

Parameters

Field Type
obj Object
numCoins integer
sp28 number
posJitter integer

Returns

  • None

C Prototype

void obj_spawn_loot_blue_coins(struct Object *obj, s32 numCoins, f32 sp28, s16 posJitter);

🔼


obj_spawn_loot_yellow_coins

Lua Example

obj_spawn_loot_yellow_coins(obj, numCoins, sp28)

Parameters

Field Type
obj Object
numCoins integer
sp28 number

Returns

  • None

C Prototype

void obj_spawn_loot_yellow_coins(struct Object *obj, s32 numCoins, f32 sp28);

🔼


cur_obj_spawn_loot_coin_at_mario_pos

Lua Example

cur_obj_spawn_loot_coin_at_mario_pos(m)

Parameters

Field Type
m MarioState

Returns

  • None

C Prototype

void cur_obj_spawn_loot_coin_at_mario_pos(struct MarioState* m);

🔼


cur_obj_abs_y_dist_to_home

Lua Example

local numberValue = cur_obj_abs_y_dist_to_home()

Parameters

  • None

Returns

  • number

C Prototype

f32 cur_obj_abs_y_dist_to_home(void);

🔼


cur_obj_advance_looping_anim

Lua Example

local integerValue = cur_obj_advance_looping_anim()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_advance_looping_anim(void);

🔼


cur_obj_detect_steep_floor

Lua Example

local integerValue = cur_obj_detect_steep_floor(steepAngleDegrees)

Parameters

Field Type
steepAngleDegrees integer

Returns

  • integer

C Prototype

s32 cur_obj_detect_steep_floor(s16 steepAngleDegrees);

🔼


cur_obj_resolve_wall_collisions

Lua Example

local integerValue = cur_obj_resolve_wall_collisions()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_resolve_wall_collisions(void);

🔼


cur_obj_update_floor

Lua Example

cur_obj_update_floor()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_update_floor(void);

🔼


cur_obj_update_floor_and_resolve_wall_collisions

Lua Example

cur_obj_update_floor_and_resolve_wall_collisions(steepSlopeDegrees)

Parameters

Field Type
steepSlopeDegrees integer

Returns

  • None

C Prototype

void cur_obj_update_floor_and_resolve_wall_collisions(s16 steepSlopeDegrees);

🔼


cur_obj_update_floor_and_walls

Lua Example

cur_obj_update_floor_and_walls()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_update_floor_and_walls(void);

🔼


cur_obj_move_standard

Lua Example

cur_obj_move_standard(steepSlopeAngleDegrees)

Parameters

Field Type
steepSlopeAngleDegrees integer

Returns

  • None

C Prototype

void cur_obj_move_standard(s16 steepSlopeAngleDegrees);

🔼


cur_obj_within_12k_bounds

Lua Example

local integerValue = cur_obj_within_12k_bounds()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_within_12k_bounds(void);

🔼


cur_obj_move_using_vel_and_gravity

Lua Example

cur_obj_move_using_vel_and_gravity()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_move_using_vel_and_gravity(void);

🔼


cur_obj_move_using_fvel_and_gravity

Lua Example

cur_obj_move_using_fvel_and_gravity()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_move_using_fvel_and_gravity(void);

🔼


obj_set_pos_relative

Lua Example

obj_set_pos_relative(obj, other, dleft, dy, dforward)

Parameters

Field Type
obj Object
other Object
dleft number
dy number
dforward number

Returns

  • None

C Prototype

void obj_set_pos_relative(struct Object *obj, struct Object *other, f32 dleft, f32 dy, f32 dforward);

🔼


cur_obj_angle_to_home

Lua Example

local integerValue = cur_obj_angle_to_home()

Parameters

  • None

Returns

  • integer

C Prototype

s16 cur_obj_angle_to_home(void);

🔼


obj_set_gfx_pos_at_obj_pos

Lua Example

obj_set_gfx_pos_at_obj_pos(obj1, obj2)

Parameters

Field Type
obj1 Object
obj2 Object

Returns

  • None

C Prototype

void obj_set_gfx_pos_at_obj_pos(struct Object *obj1, struct Object *obj2);

🔼


obj_translate_local

Description

Transforms the vector at localTranslateIndex into the object's local coordinates, and then adds it to the vector at posIndex

Lua Example

obj_translate_local(obj, posIndex, localTranslateIndex)

Parameters

Field Type
obj Object
posIndex integer
localTranslateIndex integer

Returns

  • None

C Prototype

void obj_translate_local(struct Object *obj, s16 posIndex, s16 localTranslateIndex);

🔼


obj_build_transform_from_pos_and_angle

Lua Example

obj_build_transform_from_pos_and_angle(obj, posIndex, angleIndex)

Parameters

Field Type
obj Object
posIndex integer
angleIndex integer

Returns

  • None

C Prototype

void obj_build_transform_from_pos_and_angle(struct Object *obj, s16 posIndex, s16 angleIndex);

🔼


obj_set_throw_matrix_from_transform

Lua Example

obj_set_throw_matrix_from_transform(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_set_throw_matrix_from_transform(struct Object *obj);

🔼


obj_build_transform_relative_to_parent

Lua Example

obj_build_transform_relative_to_parent(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_build_transform_relative_to_parent(struct Object *obj);

🔼


obj_create_transform_from_self

Lua Example

obj_create_transform_from_self(obj)

Parameters

Field Type
obj Object

Returns

  • None

C Prototype

void obj_create_transform_from_self(struct Object *obj);

🔼


cur_obj_rotate_move_angle_using_vel

Lua Example

cur_obj_rotate_move_angle_using_vel()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_rotate_move_angle_using_vel(void);

🔼


cur_obj_rotate_face_angle_using_vel

Lua Example

cur_obj_rotate_face_angle_using_vel()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_rotate_face_angle_using_vel(void);

🔼


cur_obj_set_face_angle_to_move_angle

Lua Example

cur_obj_set_face_angle_to_move_angle()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_face_angle_to_move_angle(void);

🔼


cur_obj_follow_path

Lua Example

local integerValue = cur_obj_follow_path(unusedArg)

Parameters

Field Type
unusedArg integer

Returns

  • integer

C Prototype

s32 cur_obj_follow_path(UNUSED s32 unusedArg);

🔼


chain_segment_init

Lua Example

chain_segment_init(segment)

Parameters

Field Type
segment ChainSegment

Returns

  • None

C Prototype

void chain_segment_init(struct ChainSegment *segment);

🔼


random_f32_around_zero

Lua Example

local numberValue = random_f32_around_zero(diameter)

Parameters

Field Type
diameter number

Returns

  • number

C Prototype

f32 random_f32_around_zero(f32 diameter);

🔼


obj_scale_random

Lua Example

obj_scale_random(obj, rangeLength, minScale)

Parameters

Field Type
obj Object
rangeLength number
minScale number

Returns

  • None

C Prototype

void obj_scale_random(struct Object *obj, f32 rangeLength, f32 minScale);

🔼


obj_translate_xyz_random

Lua Example

obj_translate_xyz_random(obj, rangeLength)

Parameters

Field Type
obj Object
rangeLength number

Returns

  • None

C Prototype

void obj_translate_xyz_random(struct Object *obj, f32 rangeLength);

🔼


obj_translate_xz_random

Lua Example

obj_translate_xz_random(obj, rangeLength)

Parameters

Field Type
obj Object
rangeLength number

Returns

  • None

C Prototype

void obj_translate_xz_random(struct Object *obj, f32 rangeLength);

🔼


obj_build_vel_from_transform

Lua Example

obj_build_vel_from_transform(a0)

Parameters

Field Type
a0 Object

Returns

  • None

C Prototype

void obj_build_vel_from_transform(struct Object *a0);

🔼


cur_obj_set_pos_via_transform

Lua Example

cur_obj_set_pos_via_transform()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_pos_via_transform(void);

🔼


cur_obj_reflect_move_angle_off_wall

Lua Example

local integerValue = cur_obj_reflect_move_angle_off_wall()

Parameters

  • None

Returns

  • integer

C Prototype

s16 cur_obj_reflect_move_angle_off_wall(void);

🔼


cur_obj_spawn_particles

Lua Example

cur_obj_spawn_particles(info)

Parameters

Field Type
info SpawnParticlesInfo

Returns

  • None

C Prototype

void cur_obj_spawn_particles(struct SpawnParticlesInfo *info);

🔼


obj_set_hitbox

Lua Example

obj_set_hitbox(obj, hitbox)

Parameters

Field Type
obj Object
hitbox ObjectHitbox

Returns

  • None

C Prototype

void obj_set_hitbox(struct Object *obj, struct ObjectHitbox *hitbox);

🔼


signum_positive

Lua Example

local integerValue = signum_positive(x)

Parameters

Field Type
x integer

Returns

  • integer

C Prototype

s32 signum_positive(s32 x);

🔼


Lua Example

local integerValue = cur_obj_wait_then_blink(timeUntilBlinking, numBlinks)

Parameters

Field Type
timeUntilBlinking integer
numBlinks integer

Returns

  • integer

C Prototype

s32 cur_obj_wait_then_blink(s32 timeUntilBlinking, s32 numBlinks);

🔼


cur_obj_is_mario_ground_pounding_platform

Lua Example

local integerValue = cur_obj_is_mario_ground_pounding_platform()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_is_mario_ground_pounding_platform(void);

🔼


obj_is_mario_ground_pounding_platform

Lua Example

local integerValue = obj_is_mario_ground_pounding_platform(m, obj)

Parameters

Field Type
m MarioState
obj Object

Returns

  • integer

C Prototype

s32 obj_is_mario_ground_pounding_platform(struct MarioState *m, struct Object *obj);

🔼


spawn_mist_particles

Lua Example

spawn_mist_particles()

Parameters

  • None

Returns

  • None

C Prototype

void spawn_mist_particles(void);

🔼


spawn_mist_particles_with_sound

Lua Example

spawn_mist_particles_with_sound(sp18)

Parameters

Field Type
sp18 integer

Returns

  • None

C Prototype

void spawn_mist_particles_with_sound(u32 sp18);

🔼


cur_obj_push_mario_away

Lua Example

cur_obj_push_mario_away(radius)

Parameters

Field Type
radius number

Returns

  • None

C Prototype

void cur_obj_push_mario_away(f32 radius);

🔼


cur_obj_push_mario_away_from_cylinder

Lua Example

cur_obj_push_mario_away_from_cylinder(radius, extentY)

Parameters

Field Type
radius number
extentY number

Returns

  • None

C Prototype

void cur_obj_push_mario_away_from_cylinder(f32 radius, f32 extentY);

🔼


bhv_dust_smoke_loop

Lua Example

bhv_dust_smoke_loop()

Parameters

  • None

Returns

  • None

C Prototype

void bhv_dust_smoke_loop(void);

🔼


stub_obj_helpers_3

Lua Example

stub_obj_helpers_3(sp0, sp4)

Parameters

Field Type
sp0 integer
sp4 integer

Returns

  • None

C Prototype

void stub_obj_helpers_3(UNUSED s32 sp0, UNUSED s32 sp4);

🔼


cur_obj_scale_over_time

Lua Example

cur_obj_scale_over_time(a0, a1, sp10, sp14)

Parameters

Field Type
a0 integer
a1 integer
sp10 number
sp14 number

Returns

  • None

C Prototype

void cur_obj_scale_over_time(s32 a0, s32 a1, f32 sp10, f32 sp14);

🔼


cur_obj_set_pos_to_home_with_debug

Lua Example

cur_obj_set_pos_to_home_with_debug()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_pos_to_home_with_debug(void);

🔼


stub_obj_helpers_4

Lua Example

stub_obj_helpers_4()

Parameters

  • None

Returns

  • None

C Prototype

void stub_obj_helpers_4(void);

🔼


cur_obj_is_mario_on_platform

Lua Example

local integerValue = cur_obj_is_mario_on_platform()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_is_mario_on_platform(void);

🔼


cur_obj_is_any_player_on_platform

Lua Example

local integerValue = cur_obj_is_any_player_on_platform()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_is_any_player_on_platform(void);

🔼


cur_obj_shake_y_until

Lua Example

local integerValue = cur_obj_shake_y_until(cycles, amount)

Parameters

Field Type
cycles integer
amount integer

Returns

  • integer

C Prototype

s32 cur_obj_shake_y_until(s32 cycles, s32 amount);

🔼


cur_obj_move_up_and_down

Lua Example

local integerValue = cur_obj_move_up_and_down(a0)

Parameters

Field Type
a0 integer

Returns

  • integer

C Prototype

s32 cur_obj_move_up_and_down(s32 a0);

🔼


spawn_star_with_no_lvl_exit

Lua Example

local ObjectValue = spawn_star_with_no_lvl_exit(sp20, sp24)

Parameters

Field Type
sp20 integer
sp24 integer

Returns

Object

C Prototype

struct Object *spawn_star_with_no_lvl_exit(s32 sp20, s32 sp24);

🔼


spawn_base_star_with_no_lvl_exit

Lua Example

spawn_base_star_with_no_lvl_exit()

Parameters

  • None

Returns

  • None

C Prototype

void spawn_base_star_with_no_lvl_exit(void);

🔼


bit_shift_left

Lua Example

local integerValue = bit_shift_left(a0)

Parameters

Field Type
a0 integer

Returns

  • integer

C Prototype

s32 bit_shift_left(s32 a0);

🔼


cur_obj_mario_far_away

Lua Example

local integerValue = cur_obj_mario_far_away()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_mario_far_away(void);

🔼


is_mario_moving_fast_or_in_air

Lua Example

local integerValue = is_mario_moving_fast_or_in_air(speedThreshold)

Parameters

Field Type
speedThreshold integer

Returns

  • integer

C Prototype

s32 is_mario_moving_fast_or_in_air(s32 speedThreshold);

🔼


is_item_in_array

Lua Example

local integerValue = is_item_in_array(item, array)

Parameters

Field Type
item integer
array Pointer <integer>

Returns

  • integer

C Prototype

s32 is_item_in_array(s8 item, s8 *array);

🔼


bhv_init_room

Lua Example

bhv_init_room()

Parameters

  • None

Returns

  • None

C Prototype

void bhv_init_room(void);

🔼


cur_obj_enable_rendering_if_mario_in_room

Lua Example

cur_obj_enable_rendering_if_mario_in_room()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_enable_rendering_if_mario_in_room(void);

🔼


cur_obj_set_hitbox_and_die_if_attacked

Lua Example

local integerValue = cur_obj_set_hitbox_and_die_if_attacked(hitbox, deathSound, noLootCoins)

Parameters

Field Type
hitbox ObjectHitbox
deathSound integer
noLootCoins integer

Returns

  • integer

C Prototype

s32 cur_obj_set_hitbox_and_die_if_attacked(struct ObjectHitbox *hitbox, s32 deathSound, s32 noLootCoins);

🔼


obj_explode_and_spawn_coins

Lua Example

obj_explode_and_spawn_coins(sp18, sp1C)

Parameters

Field Type
sp18 number
sp1C integer

Returns

  • None

C Prototype

void obj_explode_and_spawn_coins(f32 sp18, s32 sp1C);

🔼


cur_obj_if_hit_wall_bounce_away

Lua Example

cur_obj_if_hit_wall_bounce_away()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_if_hit_wall_bounce_away(void);

🔼


cur_obj_hide_if_mario_far_away_y

Lua Example

local integerValue = cur_obj_hide_if_mario_far_away_y(distY)

Parameters

Field Type
distY number

Returns

  • integer

C Prototype

s32 cur_obj_hide_if_mario_far_away_y(f32 distY);

🔼


obj_is_hidden

Lua Example

local integerValue = obj_is_hidden(obj)

Parameters

Field Type
obj Object

Returns

  • integer

C Prototype

s32 obj_is_hidden(struct Object *obj);

🔼


enable_time_stop

Lua Example

enable_time_stop()

Parameters

  • None

Returns

  • None

C Prototype

void enable_time_stop(void);

🔼


enable_time_stop_if_alone

Lua Example

enable_time_stop_if_alone()

Parameters

  • None

Returns

  • None

C Prototype

void enable_time_stop_if_alone(void);

🔼


disable_time_stop

Lua Example

disable_time_stop()

Parameters

  • None

Returns

  • None

C Prototype

void disable_time_stop(void);

🔼


set_time_stop_flags

Lua Example

set_time_stop_flags(flags)

Parameters

Field Type
flags integer

Returns

  • None

C Prototype

void set_time_stop_flags(s32 flags);

🔼


set_time_stop_flags_if_alone

Lua Example

set_time_stop_flags_if_alone(flags)

Parameters

Field Type
flags integer

Returns

  • None

C Prototype

void set_time_stop_flags_if_alone(s32 flags);

🔼


clear_time_stop_flags

Lua Example

clear_time_stop_flags(flags)

Parameters

Field Type
flags integer

Returns

  • None

C Prototype

void clear_time_stop_flags(s32 flags);

🔼


cur_obj_can_mario_activate_textbox

Lua Example

local integerValue = cur_obj_can_mario_activate_textbox(m, radius, height, unused)

Parameters

Field Type
m MarioState
radius number
height number
unused integer

Returns

  • integer

C Prototype

s32 cur_obj_can_mario_activate_textbox(struct MarioState* m, f32 radius, f32 height, UNUSED s32 unused);

🔼


cur_obj_can_mario_activate_textbox_2

Lua Example

local integerValue = cur_obj_can_mario_activate_textbox_2(m, radius, height)

Parameters

Field Type
m MarioState
radius number
height number

Returns

  • integer

C Prototype

s32 cur_obj_can_mario_activate_textbox_2(struct MarioState* m, f32 radius, f32 height);

🔼


cur_obj_end_dialog

Lua Example

cur_obj_end_dialog(m, dialogFlags, dialogResult)

Parameters

Field Type
m MarioState
dialogFlags integer
dialogResult integer

Returns

  • None

C Prototype

void cur_obj_end_dialog(struct MarioState* m, s32 dialogFlags, s32 dialogResult);

🔼


cur_obj_has_model

Lua Example

local integerValue = cur_obj_has_model(modelID)

Parameters

Field Type
modelID integer

Returns

  • integer

C Prototype

s32 cur_obj_has_model(u16 modelID);

🔼


cur_obj_align_gfx_with_floor

Lua Example

cur_obj_align_gfx_with_floor()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_align_gfx_with_floor(void);

🔼


mario_is_within_rectangle

Lua Example

local integerValue = mario_is_within_rectangle(minX, maxX, minZ, maxZ)

Parameters

Field Type
minX integer
maxX integer
minZ integer
maxZ integer

Returns

  • integer

C Prototype

s32 mario_is_within_rectangle(s16 minX, s16 maxX, s16 minZ, s16 maxZ);

🔼


cur_obj_shake_screen

Lua Example

cur_obj_shake_screen(shake)

Parameters

Field Type
shake integer

Returns

  • None

C Prototype

void cur_obj_shake_screen(s32 shake);

🔼


obj_attack_collided_from_other_object

Lua Example

local integerValue = obj_attack_collided_from_other_object(obj)

Parameters

Field Type
obj Object

Returns

  • integer

C Prototype

s32 obj_attack_collided_from_other_object(struct Object *obj);

🔼


cur_obj_was_attacked_or_ground_pounded

Lua Example

local integerValue = cur_obj_was_attacked_or_ground_pounded()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_was_attacked_or_ground_pounded(void);

🔼


obj_copy_behavior_params

Lua Example

obj_copy_behavior_params(dst, src)

Parameters

Field Type
dst Object
src Object

Returns

  • None

C Prototype

void obj_copy_behavior_params(struct Object *dst, struct Object *src);

🔼


cur_obj_init_animation_and_anim_frame

Lua Example

cur_obj_init_animation_and_anim_frame(animIndex, animFrame)

Parameters

Field Type
animIndex integer
animFrame integer

Returns

  • None

C Prototype

void cur_obj_init_animation_and_anim_frame(s32 animIndex, s32 animFrame);

🔼


cur_obj_init_animation_and_check_if_near_end

Lua Example

local integerValue = cur_obj_init_animation_and_check_if_near_end(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • integer

C Prototype

s32 cur_obj_init_animation_and_check_if_near_end(s32 animIndex);

🔼


cur_obj_init_animation_and_extend_if_at_end

Lua Example

cur_obj_init_animation_and_extend_if_at_end(animIndex)

Parameters

Field Type
animIndex integer

Returns

  • None

C Prototype

void cur_obj_init_animation_and_extend_if_at_end(s32 animIndex);

🔼


cur_obj_check_grabbed_mario

Lua Example

local integerValue = cur_obj_check_grabbed_mario()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_check_grabbed_mario(void);

🔼


player_performed_grab_escape_action

Lua Example

local integerValue = player_performed_grab_escape_action()

Parameters

  • None

Returns

  • integer

C Prototype

s32 player_performed_grab_escape_action(void);

🔼


cur_obj_unused_play_footstep_sound

Lua Example

cur_obj_unused_play_footstep_sound(animFrame1, animFrame2, sound)

Parameters

Field Type
animFrame1 integer
animFrame2 integer
sound integer

Returns

  • None

C Prototype

void cur_obj_unused_play_footstep_sound(s32 animFrame1, s32 animFrame2, s32 sound);

🔼


enable_time_stop_including_mario

Lua Example

enable_time_stop_including_mario()

Parameters

  • None

Returns

  • None

C Prototype

void enable_time_stop_including_mario(void);

🔼


disable_time_stop_including_mario

Lua Example

disable_time_stop_including_mario()

Parameters

  • None

Returns

  • None

C Prototype

void disable_time_stop_including_mario(void);

🔼


cur_obj_check_interacted

Lua Example

local integerValue = cur_obj_check_interacted()

Parameters

  • None

Returns

  • integer

C Prototype

s32 cur_obj_check_interacted(void);

🔼


cur_obj_spawn_loot_blue_coin

Lua Example

cur_obj_spawn_loot_blue_coin()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_spawn_loot_blue_coin(void);

🔼


cur_obj_spawn_star_at_y_offset

Lua Example

cur_obj_spawn_star_at_y_offset(targetX, targetY, targetZ, offsetY)

Parameters

Field Type
targetX number
targetY number
targetZ number
offsetY number

Returns

  • None

C Prototype

void cur_obj_spawn_star_at_y_offset(f32 targetX, f32 targetY, f32 targetZ, f32 offsetY);

🔼


cur_obj_set_home_once

Description

Sets the current object's home only the first time it's called

Lua Example

cur_obj_set_home_once()

Parameters

  • None

Returns

  • None

C Prototype

void cur_obj_set_home_once(void);

🔼


get_trajectory_length

Description

Gets a trajectory's length

Lua Example

local integerValue = get_trajectory_length(trajectory)

Parameters

Field Type
trajectory Pointer <Trajectory>

Returns

  • integer

C Prototype

s32 get_trajectory_length(Trajectory* trajectory);

🔼



functions from object_list_processor.h


set_object_respawn_info_bits

Description

Runs an OR operator on the obj's respawn info with bits << 8. If bits is 0xFF, this prevents the object from respawning after leaving and re-entering the area

Lua Example

set_object_respawn_info_bits(obj, bits)

Parameters

Field Type
obj Object
bits integer

Returns

  • None

C Prototype

void set_object_respawn_info_bits(struct Object *obj, u8 bits);

🔼



functions from platform_displacement.h


apply_platform_displacement

Description

Apply one frame of platform rotation to the object using the given platform

Lua Example

apply_platform_displacement(o, platform)

Parameters

Field Type
o Object
platform Object

Returns

  • None

C Prototype

void apply_platform_displacement(struct Object *o, struct Object *platform);

🔼



functions from rumble_init.h


queue_rumble_data

Description

Queues 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);

🔼


queue_rumble_data_object

Description

Queues rumble data for object, factoring in its distance from Mario

Lua Example

queue_rumble_data_object(object, a0, a1)

Parameters

Field Type
object Object
a0 integer
a1 integer

Returns

  • None

C Prototype

void queue_rumble_data_object(struct Object* object, s16 a0, s16 a1);

🔼


queue_rumble_data_mario

Description

Queues rumble data for Mario

Lua Example

queue_rumble_data_mario(m, a0, a1)

Parameters

Field Type
m MarioState
a0 integer
a1 integer

Returns

  • None

C Prototype

void queue_rumble_data_mario(struct MarioState* m, s16 a0, s16 a1);

🔼


reset_rumble_timers

Description

Resets rumble timers

Lua Example

reset_rumble_timers(m)

Parameters

Field Type
m MarioState

Returns

  • None

C Prototype

void reset_rumble_timers(struct MarioState* m);

🔼


reset_rumble_timers_2

Description

Resets rumble timers and sets a field based on a0

Lua Example

reset_rumble_timers_2(m, a0)

Parameters

Field Type
m MarioState
a0 integer

Returns

  • None

C Prototype

void reset_rumble_timers_2(struct MarioState* m, s32 a0);

🔼



functions from save_file.h


get_level_num_from_course_num

Description

Gets the course number's corresponding level number

Lua Example

local integerValue = get_level_num_from_course_num(courseNum)

Parameters

Field Type
courseNum integer

Returns

  • integer

C Prototype

s8 get_level_num_from_course_num(s16 courseNum);

🔼


get_level_course_num

Description

Gets the level number's corresponding course number

Lua Example

local integerValue = get_level_course_num(levelNum)

Parameters

Field Type
levelNum integer

Returns

  • integer

C Prototype

s8 get_level_course_num(s16 levelNum);

🔼


touch_coin_score_age

Description

Marks the coin score for a specific course as the newest among all save files. Adjusts the age of other scores to reflect the update. Useful for leaderboard tracking or displaying recent progress

Lua Example

touch_coin_score_age(fileIndex, courseIndex)

Parameters

Field Type
fileIndex integer
courseIndex integer

Returns

  • None

C Prototype

void touch_coin_score_age(s32 fileIndex, s32 courseIndex);

🔼


save_file_do_save

Description

Saves the current state of the game into a specified save file. Includes data verification and backup management. Useful for maintaining game progress during play or when saving manually

Lua Example

save_file_do_save(fileIndex, forceSave)

Parameters

Field Type
fileIndex integer
forceSave integer

Returns

  • None

C Prototype

void save_file_do_save(s32 fileIndex, s8 forceSave);

🔼


save_file_erase

Description

Erases all data in a specified save file, including backup slots. Marks the save file as modified and performs a save to apply the changes. Useful for resetting a save file to its default state

Lua Example

save_file_erase(fileIndex)

Parameters

Field Type
fileIndex integer

Returns

  • None

C Prototype

void save_file_erase(s32 fileIndex);

🔼


save_file_erase_current_backup_save

Description

Erases the backup data for the current save file without affecting the primary save data. Reloads the save file afterward

Lua Example

save_file_erase_current_backup_save()

Parameters

  • None

Returns

  • None

C Prototype

void save_file_erase_current_backup_save(void);

🔼


save_file_reload

Description

Reloads the save file data into memory, optionally resetting all save files. Marks the save file as modified. Useful for reloading state after data corruption or during development debugging

Lua Example

save_file_reload(load_all)

Parameters

Field Type
load_all integer

Returns

  • None

C Prototype

void save_file_reload(u8 load_all);

🔼


save_file_get_max_coin_score

Description

Determines the maximum coin score for a course across all save files. Returns the score along with the file index of the save containing it. Useful for leaderboard-style comparisons and overall progress tracking

Lua Example

local integerValue = save_file_get_max_coin_score(courseIndex)

Parameters

Field Type
courseIndex integer

Returns

  • integer

C Prototype

u32 save_file_get_max_coin_score(s32 courseIndex);

🔼


save_file_get_course_star_count

Description

Calculates the total number of stars collected in a specific course for a given save file. Useful for determining completion status of individual levels

Lua Example

local integerValue = save_file_get_course_star_count(fileIndex, courseIndex)

Parameters

Field Type
fileIndex integer
courseIndex integer

Returns

  • integer

C Prototype

s32 save_file_get_course_star_count(s32 fileIndex, s32 courseIndex);

🔼


save_file_get_total_star_count

Description

Calculates the total number of stars collected across multiple courses within a specified range. Useful for determining the overall progress toward game completion

Lua Example

local integerValue = save_file_get_total_star_count(fileIndex, minCourse, maxCourse)

Parameters

Field Type
fileIndex integer
minCourse integer
maxCourse integer

Returns

  • integer

C Prototype

s32 save_file_get_total_star_count(s32 fileIndex, s32 minCourse, s32 maxCourse);

🔼


save_file_set_flags

Description

Adds new flags to the save file's flag bitmask. Useful for updating progress or triggering new gameplay features

Lua Example

save_file_set_flags(flags)

Parameters

Field Type
flags integer

Returns

  • None

C Prototype

void save_file_set_flags(u32 flags);

🔼


save_file_clear_flags

Description

Clears specific flags in the current save file. The flags are specified as a bitmask in the flags parameter. Ensures that the save file remains valid after clearing. Useful for removing specific game states, such as collected items or completed objectives, without resetting the entire save

Lua Example

save_file_clear_flags(flags)

Parameters

Field Type
flags integer

Returns

  • None

C Prototype

void save_file_clear_flags(u32 flags);

🔼


save_file_get_flags

Description

Retrieves the bitmask of flags representing the current state of the save file. Flags indicate collected items, completed objectives, and other game states. Useful for checking specific game progress details

Lua Example

local integerValue = save_file_get_flags()

Parameters

  • None

Returns

  • integer

C Prototype

u32 save_file_get_flags(void);

🔼


save_file_get_star_flags

Description

Retrieves the bitmask of stars collected in a specific course or castle secret stars (-1). Useful for evaluating level progress and completion

Lua Example

local integerValue = save_file_get_star_flags(fileIndex, courseIndex)

Parameters

Field Type
fileIndex integer
courseIndex integer

Returns

  • integer

C Prototype

u32 save_file_get_star_flags(s32 fileIndex, s32 courseIndex);

🔼


save_file_set_star_flags

Description

Adds specific star flags to the save file, indicating collected stars for a course or castle secret stars. Updates the save file flags as necessary. Useful for recording progress after star collection

Lua Example

save_file_set_star_flags(fileIndex, courseIndex, starFlags)

Parameters

Field Type
fileIndex integer
courseIndex integer
starFlags integer

Returns

  • None

C Prototype

void save_file_set_star_flags(s32 fileIndex, s32 courseIndex, u32 starFlags);

🔼


save_file_remove_star_flags

Description

Removes specific star flags from the save file. This modifies the bitmask representing collected stars for a course or castle secret stars. Useful for undoing progress or debugging collected stars

Lua Example

save_file_remove_star_flags(fileIndex, courseIndex, starFlagsToRemove)

Parameters

Field Type
fileIndex integer
courseIndex integer
starFlagsToRemove integer

Returns

  • None

C Prototype

void save_file_remove_star_flags(s32 fileIndex, s32 courseIndex, u32 starFlagsToRemove);

🔼


save_file_get_course_coin_score

Description

Returns the highest coin score for a specified course in the save file. Performs checks to ensure the coin score is valid. Useful for tracking player achievements and high scores

Lua Example

local integerValue = save_file_get_course_coin_score(fileIndex, courseIndex)

Parameters

Field Type
fileIndex integer
courseIndex integer

Returns

  • integer

C Prototype

s32 save_file_get_course_coin_score(s32 fileIndex, s32 courseIndex);

🔼


save_file_set_course_coin_score

Description

Updates the coin score for a specific course in the save file. The new score is provided in the coinScore parameter. Useful for manually setting achievements such as high coin counts in individual levels

Lua Example

save_file_set_course_coin_score(fileIndex, courseIndex, coinScore)

Parameters

Field Type
fileIndex integer
courseIndex integer
coinScore integer

Returns

  • None

C Prototype

void save_file_set_course_coin_score(s32 fileIndex, s32 courseIndex, u8 coinScore);

🔼


save_file_is_cannon_unlocked

Description

Checks whether the cannon in the specified course is unlocked. Returns true if the cannon is unlocked, otherwise false. Useful for tracking course-specific progress and enabling shortcuts

Lua Example

local integerValue = save_file_is_cannon_unlocked(fileIndex, courseIndex)

Parameters

Field Type
fileIndex integer
courseIndex integer

Returns

  • integer

C Prototype

s32 save_file_is_cannon_unlocked(s32 fileIndex, s32 courseIndex);

🔼


save_file_get_cap_pos

Description

Retrieves the current position of Mario's cap, if it is on the ground in the current level and area. The position is stored in the provided capPos parameter. Useful for tracking the cap's location after it has been dropped or lost

Lua Example

local integerValue = save_file_get_cap_pos(capPos)

Parameters

Field Type
capPos Vec3s

Returns

  • integer

C Prototype

s32 save_file_get_cap_pos(Vec3s capPos);

🔼


save_file_get_sound_mode

Description

Returns the current sound mode (e.g., stereo, mono) stored in the save file. Useful for checking the audio output preferences when loading a save

Lua Example

local integerValue = save_file_get_sound_mode()

Parameters

  • None

Returns

  • integer

C Prototype

u16 save_file_get_sound_mode(void);

🔼


---

< prev | 1 | 2 | 3 | 4 | 5 | 6 | next >]