## [:rewind: Lua Functions](functions.md) --- [< prev](functions-5.md) | [1](functions.md) | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | 6] --- # functions from seqplayer.h
## [sequence_player_get_tempo](#sequence_player_get_tempo) ### Description Gets the tempo of `player` ### Lua Example `local integerValue = sequence_player_get_tempo(player)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | ### Returns - `integer` ### C Prototype `u16 sequence_player_get_tempo(u8 player);` [:arrow_up_small:](#)
## [sequence_player_set_tempo](#sequence_player_set_tempo) ### Description Sets the `tempo` of `player`. Resets when another sequence is played ### Lua Example `sequence_player_set_tempo(player, tempo)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | | tempo | `integer` | ### Returns - None ### C Prototype `void sequence_player_set_tempo(u8 player, u16 tempo);` [:arrow_up_small:](#)
## [sequence_player_get_tempo_acc](#sequence_player_get_tempo_acc) ### Description Gets the tempoAcc (tempo accumulation) of `player` ### Lua Example `local integerValue = sequence_player_get_tempo_acc(player)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | ### Returns - `integer` ### C Prototype `u16 sequence_player_get_tempo_acc(u8 player);` [:arrow_up_small:](#)
## [sequence_player_set_tempo_acc](#sequence_player_set_tempo_acc) ### Description Sets the `tempoAcc` (tempo accumulation) of `player`. Resets when another sequence is played ### Lua Example `sequence_player_set_tempo_acc(player, tempoAcc)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | | tempoAcc | `integer` | ### Returns - None ### C Prototype `void sequence_player_set_tempo_acc(u8 player, u16 tempoAcc);` [:arrow_up_small:](#)
## [sequence_player_get_transposition](#sequence_player_get_transposition) ### Description Gets the transposition (pitch) of `player` ### Lua Example `local integerValue = sequence_player_get_transposition(player)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | ### Returns - `integer` ### C Prototype `u16 sequence_player_get_transposition(u8 player);` [:arrow_up_small:](#)
## [sequence_player_set_transposition](#sequence_player_set_transposition) ### Description Sets the `transposition` (pitch) of `player`. Resets when another sequence is played ### Lua Example `sequence_player_set_transposition(player, transposition)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | | transposition | `integer` | ### Returns - None ### C Prototype `void sequence_player_set_transposition(u8 player, u16 transposition);` [:arrow_up_small:](#)
## [sequence_player_get_volume](#sequence_player_get_volume) ### Description Gets the volume of `player` ### Lua Example `local numberValue = sequence_player_get_volume(player)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | ### Returns - `number` ### C Prototype `f32 sequence_player_get_volume(u8 player);` [:arrow_up_small:](#)
## [sequence_player_get_fade_volume](#sequence_player_get_fade_volume) ### Description Gets the fade volume of `player` ### Lua Example `local numberValue = sequence_player_get_fade_volume(player)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | ### Returns - `number` ### C Prototype `f32 sequence_player_get_fade_volume(u8 player);` [:arrow_up_small:](#)
## [sequence_player_get_mute_volume_scale](#sequence_player_get_mute_volume_scale) ### Description Gets the mute volume scale of `player` ### Lua Example `local numberValue = sequence_player_get_mute_volume_scale(player)` ### Parameters | Field | Type | | ----- | ---- | | player | `integer` | ### Returns - `number` ### C Prototype `f32 sequence_player_get_mute_volume_scale(u8 player);` [:arrow_up_small:](#)
--- # functions from smlua_anim_utils.h
## [get_mario_vanilla_animation](#get_mario_vanilla_animation) ### Description Gets a vanilla mario Animation with `index` ### Lua Example `local AnimationValue = get_mario_vanilla_animation(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns [Animation](structs.md#Animation) ### C Prototype `struct Animation *get_mario_vanilla_animation(u16 index);` [:arrow_up_small:](#)
## [smlua_anim_util_set_animation](#smlua_anim_util_set_animation) ### Description Sets the animation of `obj` to the animation `name` corresponds to ### Lua Example `smlua_anim_util_set_animation(obj, name)` ### Parameters | Field | Type | | ----- | ---- | | obj | [Object](structs.md#Object) | | name | `string` | ### Returns - None ### C Prototype `void smlua_anim_util_set_animation(struct Object *obj, const char *name);` [:arrow_up_small:](#)
## [smlua_anim_util_get_current_animation_name](#smlua_anim_util_get_current_animation_name) ### Description Gets the name of the current animation playing on `obj`, returns `nil` if there's no name ### Lua Example `local stringValue = smlua_anim_util_get_current_animation_name(obj)` ### Parameters | Field | Type | | ----- | ---- | | obj | [Object](structs.md#Object) | ### Returns - `string` ### C Prototype `const char *smlua_anim_util_get_current_animation_name(struct Object *obj);` [:arrow_up_small:](#)
--- # functions from smlua_audio_utils.h
## [smlua_audio_utils_reset_all](#smlua_audio_utils_reset_all) ### Description Resets all custom sequences back to vanilla ### Lua Example `smlua_audio_utils_reset_all()` ### Parameters - None ### Returns - None ### C Prototype `void smlua_audio_utils_reset_all(void);` [:arrow_up_small:](#)
## [smlua_audio_utils_replace_sequence](#smlua_audio_utils_replace_sequence) ### Description Replaces the sequence corresponding to `sequenceId` with one called `m64Name`.m64 with `bankId` and `defaultVolume` ### Lua Example `smlua_audio_utils_replace_sequence(sequenceId, bankId, defaultVolume, m64Name)` ### Parameters | Field | Type | | ----- | ---- | | sequenceId | `integer` | | bankId | `integer` | | defaultVolume | `integer` | | m64Name | `string` | ### Returns - None ### C Prototype `void smlua_audio_utils_replace_sequence(u8 sequenceId, u8 bankId, u8 defaultVolume, const char* m64Name);` [:arrow_up_small:](#)
## [audio_stream_load](#audio_stream_load) ### Description Loads an `audio` stream by `filename` (with extension) ### Lua Example `local ModAudioValue = audio_stream_load(filename)` ### Parameters | Field | Type | | ----- | ---- | | filename | `string` | ### Returns [ModAudio](structs.md#ModAudio) ### C Prototype `struct ModAudio* audio_stream_load(const char* filename);` [:arrow_up_small:](#)
## [audio_stream_destroy](#audio_stream_destroy) ### Description Destroys an `audio` stream ### Lua Example `audio_stream_destroy(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - None ### C Prototype `void audio_stream_destroy(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_play](#audio_stream_play) ### Description Plays an `audio` stream with `volume`. `restart` sets the elapsed time back to 0. ### Lua Example `audio_stream_play(audio, restart, volume)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | restart | `boolean` | | volume | `number` | ### Returns - None ### C Prototype `void audio_stream_play(struct ModAudio* audio, bool restart, f32 volume);` [:arrow_up_small:](#)
## [audio_stream_pause](#audio_stream_pause) ### Description Pauses an `audio` stream ### Lua Example `audio_stream_pause(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - None ### C Prototype `void audio_stream_pause(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_stop](#audio_stream_stop) ### Description Stops an `audio` stream ### Lua Example `audio_stream_stop(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - None ### C Prototype `void audio_stream_stop(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_get_position](#audio_stream_get_position) ### Description Gets the position of an `audio` stream in seconds ### Lua Example `local numberValue = audio_stream_get_position(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - `number` ### C Prototype `f32 audio_stream_get_position(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_set_position](#audio_stream_set_position) ### Description Sets the position of an `audio` stream in seconds ### Lua Example `audio_stream_set_position(audio, pos)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | pos | `number` | ### Returns - None ### C Prototype `void audio_stream_set_position(struct ModAudio* audio, f32 pos);` [:arrow_up_small:](#)
## [audio_stream_get_looping](#audio_stream_get_looping) ### Description Gets if an `audio` stream is looping or not ### Lua Example `local booleanValue = audio_stream_get_looping(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - `boolean` ### C Prototype `bool audio_stream_get_looping(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_set_looping](#audio_stream_set_looping) ### Description Sets if an `audio` stream is looping or not ### Lua Example `audio_stream_set_looping(audio, looping)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | looping | `boolean` | ### Returns - None ### C Prototype `void audio_stream_set_looping(struct ModAudio* audio, bool looping);` [:arrow_up_small:](#)
## [audio_stream_set_loop_points](#audio_stream_set_loop_points) ### Description Sets an `audio` stream's loop points in samples ### Lua Example `audio_stream_set_loop_points(audio, loopStart, loopEnd)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | loopStart | `integer` | | loopEnd | `integer` | ### Returns - None ### C Prototype `void audio_stream_set_loop_points(struct ModAudio* audio, s64 loopStart, s64 loopEnd);` [:arrow_up_small:](#)
## [audio_stream_get_frequency](#audio_stream_get_frequency) ### Description Gets the frequency of an `audio` stream ### Lua Example `local numberValue = audio_stream_get_frequency(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - `number` ### C Prototype `f32 audio_stream_get_frequency(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_set_frequency](#audio_stream_set_frequency) ### Description Sets the frequency of an `audio` stream ### Lua Example `audio_stream_set_frequency(audio, freq)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | freq | `number` | ### Returns - None ### C Prototype `void audio_stream_set_frequency(struct ModAudio* audio, f32 freq);` [:arrow_up_small:](#)
## [audio_stream_get_volume](#audio_stream_get_volume) ### Description Gets the volume of an `audio` stream ### Lua Example `local numberValue = audio_stream_get_volume(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - `number` ### C Prototype `f32 audio_stream_get_volume(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_stream_set_volume](#audio_stream_set_volume) ### Description Sets the volume of an `audio` stream ### Lua Example `audio_stream_set_volume(audio, volume)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | volume | `number` | ### Returns - None ### C Prototype `void audio_stream_set_volume(struct ModAudio* audio, f32 volume);` [:arrow_up_small:](#)
## [audio_sample_load](#audio_sample_load) ### Description Loads an `audio` sample ### Lua Example `local ModAudioValue = audio_sample_load(filename)` ### Parameters | Field | Type | | ----- | ---- | | filename | `string` | ### Returns [ModAudio](structs.md#ModAudio) ### C Prototype `struct ModAudio* audio_sample_load(const char* filename);` [:arrow_up_small:](#)
## [audio_sample_destroy](#audio_sample_destroy) ### Description Destroys an `audio` sample ### Lua Example `audio_sample_destroy(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - None ### C Prototype `void audio_sample_destroy(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_sample_stop](#audio_sample_stop) ### Description Stops an `audio` sample ### Lua Example `audio_sample_stop(audio)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | ### Returns - None ### C Prototype `void audio_sample_stop(struct ModAudio* audio);` [:arrow_up_small:](#)
## [audio_sample_play](#audio_sample_play) ### Description Plays an `audio` sample at `position` with `volume` ### Lua Example `audio_sample_play(audio, position, volume)` ### Parameters | Field | Type | | ----- | ---- | | audio | [ModAudio](structs.md#ModAudio) | | position | [Vec3f](structs.md#Vec3f) | | volume | `number` | ### Returns - None ### C Prototype `void audio_sample_play(struct ModAudio* audio, Vec3f position, f32 volume);` [:arrow_up_small:](#)
--- # functions from smlua_camera_utils.h
## [camera_reset_overrides](#camera_reset_overrides) ### Description Resets camera config overrides ### Lua Example `camera_reset_overrides()` ### Parameters - None ### Returns - None ### C Prototype `void camera_reset_overrides(void);` [:arrow_up_small:](#)
## [camera_freeze](#camera_freeze) ### Description Freezes the camera by not updating it ### Lua Example `camera_freeze()` ### Parameters - None ### Returns - None ### C Prototype `void camera_freeze(void);` [:arrow_up_small:](#)
## [camera_unfreeze](#camera_unfreeze) ### Description Unfreezes the camera ### Lua Example `camera_unfreeze()` ### Parameters - None ### Returns - None ### C Prototype `void camera_unfreeze(void);` [:arrow_up_small:](#)
## [camera_is_frozen](#camera_is_frozen) ### Description Checks if the camera is frozen ### Lua Example `local booleanValue = camera_is_frozen()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_is_frozen(void);` [:arrow_up_small:](#)
## [camera_romhack_allow_only_mods](#camera_romhack_allow_only_mods) ### Description Sets if only mods are allowed to modify the camera (Enabling prevents the player from modifying the camera through the settings) ### Lua Example `camera_romhack_allow_only_mods(allow)` ### Parameters | Field | Type | | ----- | ---- | | allow | `integer` | ### Returns - None ### C Prototype `void camera_romhack_allow_only_mods(u8 allow);` [:arrow_up_small:](#)
## [camera_set_romhack_override](#camera_set_romhack_override) ### Description Sets the romhack camera override status ### Lua Example `camera_set_romhack_override(rco)` ### Parameters | Field | Type | | ----- | ---- | | rco | [enum RomhackCameraOverride](constants.md#enum-RomhackCameraOverride) | ### Returns - None ### C Prototype `void camera_set_romhack_override(enum RomhackCameraOverride rco);` [:arrow_up_small:](#)
## [camera_romhack_allow_centering](#camera_romhack_allow_centering) ### Description Sets if the romhack camera should allow centering, triggered with the L button ### Lua Example `camera_romhack_allow_centering(allow)` ### Parameters | Field | Type | | ----- | ---- | | allow | `integer` | ### Returns - None ### C Prototype `void camera_romhack_allow_centering(u8 allow);` [:arrow_up_small:](#)
## [camera_allow_toxic_gas_camera](#camera_allow_toxic_gas_camera) ### Description Sets if the romhack camera should fly above poison gas ### Lua Example `camera_allow_toxic_gas_camera(allow)` ### Parameters | Field | Type | | ----- | ---- | | allow | `integer` | ### Returns - None ### C Prototype `void camera_allow_toxic_gas_camera(u8 allow);` [:arrow_up_small:](#)
## [camera_romhack_allow_dpad_usage](#camera_romhack_allow_dpad_usage) ### Description Sets if the romhack camera should allow D-Pad movement ### Lua Example `camera_romhack_allow_dpad_usage(allow)` ### Parameters | Field | Type | | ----- | ---- | | allow | `integer` | ### Returns - None ### C Prototype `void camera_romhack_allow_dpad_usage(u8 allow);` [:arrow_up_small:](#)
## [rom_hack_cam_set_collisions](#rom_hack_cam_set_collisions) ### Description Toggles collision settings for the ROM hack camera. This enables or disables specific collision behaviors in modded levels ### Lua Example `rom_hack_cam_set_collisions(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `integer` | ### Returns - None ### C Prototype `void rom_hack_cam_set_collisions(u8 enable);` [:arrow_up_small:](#)
## [camera_romhack_set_zoomed_in_dist](#camera_romhack_set_zoomed_in_dist) ### Description Sets the romhack camera's zoomed in distance (Default: 900) ### Lua Example `camera_romhack_set_zoomed_in_dist(val)` ### Parameters | Field | Type | | ----- | ---- | | val | `integer` | ### Returns - None ### C Prototype `void camera_romhack_set_zoomed_in_dist(u32 val);` [:arrow_up_small:](#)
## [camera_romhack_set_zoomed_out_dist](#camera_romhack_set_zoomed_out_dist) ### Description Sets the romhack camera's zoomed out additional distance (Default: 500) ### Lua Example `camera_romhack_set_zoomed_out_dist(val)` ### Parameters | Field | Type | | ----- | ---- | | val | `integer` | ### Returns - None ### C Prototype `void camera_romhack_set_zoomed_out_dist(u32 val);` [:arrow_up_small:](#)
## [camera_romhack_set_zoomed_in_height](#camera_romhack_set_zoomed_in_height) ### Description Sets the romhack camera's zoomed in height (Default: 300) ### Lua Example `camera_romhack_set_zoomed_in_height(val)` ### Parameters | Field | Type | | ----- | ---- | | val | `integer` | ### Returns - None ### C Prototype `void camera_romhack_set_zoomed_in_height(u32 val);` [:arrow_up_small:](#)
## [camera_romhack_set_zoomed_out_height](#camera_romhack_set_zoomed_out_height) ### Description Sets the romhack camera's zoomed out additional height (Default: 150) ### Lua Example `camera_romhack_set_zoomed_out_height(val)` ### Parameters | Field | Type | | ----- | ---- | | val | `integer` | ### Returns - None ### C Prototype `void camera_romhack_set_zoomed_out_height(u32 val);` [:arrow_up_small:](#)
## [camera_romhack_get_zoomed_in_dist](#camera_romhack_get_zoomed_in_dist) ### Description Gets the romhack camera's zoomed in distance ### Lua Example `local integerValue = camera_romhack_get_zoomed_in_dist()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_romhack_get_zoomed_in_dist(void);` [:arrow_up_small:](#)
## [camera_romhack_get_zoomed_out_dist](#camera_romhack_get_zoomed_out_dist) ### Description Gets the romhack camera's additional zoomed out distance ### Lua Example `local integerValue = camera_romhack_get_zoomed_out_dist()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_romhack_get_zoomed_out_dist(void);` [:arrow_up_small:](#)
## [camera_romhack_get_zoomed_in_height](#camera_romhack_get_zoomed_in_height) ### Description Gets the romhack camera's zoomed in height ### Lua Example `local integerValue = camera_romhack_get_zoomed_in_height()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_romhack_get_zoomed_in_height(void);` [:arrow_up_small:](#)
## [camera_romhack_get_zoomed_out_height](#camera_romhack_get_zoomed_out_height) ### Description Gets the romhack camera's additional zoomed out height ### Lua Example `local integerValue = camera_romhack_get_zoomed_out_height()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_romhack_get_zoomed_out_height(void);` [:arrow_up_small:](#)
## [camera_get_romhack_override](#camera_get_romhack_override) ### Description Gets the current romhack camera override status ### Lua Example `local enumValue = camera_get_romhack_override()` ### Parameters - None ### Returns [enum RomhackCameraOverride](constants.md#enum-RomhackCameraOverride) ### C Prototype `enum RomhackCameraOverride camera_get_romhack_override(void);` [:arrow_up_small:](#)
## [camera_romhack_get_allow_centering](#camera_romhack_get_allow_centering) ### Description Gets if the romhack camera should allow centering ### Lua Example `local integerValue = camera_romhack_get_allow_centering()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 camera_romhack_get_allow_centering(void);` [:arrow_up_small:](#)
## [camera_get_allow_toxic_gas_camera](#camera_get_allow_toxic_gas_camera) ### Description Gets if the romhack camera should fly above poison gas ### Lua Example `local integerValue = camera_get_allow_toxic_gas_camera()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 camera_get_allow_toxic_gas_camera(void);` [:arrow_up_small:](#)
## [camera_romhack_get_allow_dpad_usage](#camera_romhack_get_allow_dpad_usage) ### Description Gets if the romhack camera should allow D-Pad movement ### Lua Example `local integerValue = camera_romhack_get_allow_dpad_usage()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 camera_romhack_get_allow_dpad_usage(void);` [:arrow_up_small:](#)
## [camera_romhack_get_collisions](#camera_romhack_get_collisions) ### Description Gets if the romhack camera has surface collisions ### Lua Example `local integerValue = camera_romhack_get_collisions()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 camera_romhack_get_collisions(void);` [:arrow_up_small:](#)
## [camera_config_is_free_cam_enabled](#camera_config_is_free_cam_enabled) ### Description Checks if Free Camera is enabled ### Lua Example `local booleanValue = camera_config_is_free_cam_enabled()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_free_cam_enabled(void);` [:arrow_up_small:](#)
## [camera_config_is_analog_cam_enabled](#camera_config_is_analog_cam_enabled) ### Description Checks if Analog Camera is enabled ### Lua Example `local booleanValue = camera_config_is_analog_cam_enabled()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_analog_cam_enabled(void);` [:arrow_up_small:](#)
## [camera_config_is_dpad_enabled](#camera_config_is_dpad_enabled) ### Description Checks if Freecam DPad Behavior is enabled ### Lua Example `local booleanValue = camera_config_is_dpad_enabled()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_dpad_enabled(void);` [:arrow_up_small:](#)
## [camera_config_is_collision_enabled](#camera_config_is_collision_enabled) ### Description Checks if Camera Collision is enabled ### Lua Example `local booleanValue = camera_config_is_collision_enabled()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_collision_enabled(void);` [:arrow_up_small:](#)
## [camera_config_is_mouse_look_enabled](#camera_config_is_mouse_look_enabled) ### Description Checks if Mouse Look is enabled ### Lua Example `local booleanValue = camera_config_is_mouse_look_enabled()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_mouse_look_enabled(void);` [:arrow_up_small:](#)
## [camera_config_is_x_inverted](#camera_config_is_x_inverted) ### Description Checks if camera X is inverted ### Lua Example `local booleanValue = camera_config_is_x_inverted()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_x_inverted(void);` [:arrow_up_small:](#)
## [camera_config_is_y_inverted](#camera_config_is_y_inverted) ### Description Checks if camera Y is inverted ### Lua Example `local booleanValue = camera_config_is_y_inverted()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_is_y_inverted(void);` [:arrow_up_small:](#)
## [camera_config_get_x_sensitivity](#camera_config_get_x_sensitivity) ### Description Gets camera X sensitivity ### Lua Example `local integerValue = camera_config_get_x_sensitivity()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_config_get_x_sensitivity(void);` [:arrow_up_small:](#)
## [camera_config_get_y_sensitivity](#camera_config_get_y_sensitivity) ### Description Gets camera Y sensitivity ### Lua Example `local integerValue = camera_config_get_y_sensitivity()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_config_get_y_sensitivity(void);` [:arrow_up_small:](#)
## [camera_config_get_aggression](#camera_config_get_aggression) ### Description Gets camera aggression ### Lua Example `local integerValue = camera_config_get_aggression()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_config_get_aggression(void);` [:arrow_up_small:](#)
## [camera_config_get_pan_level](#camera_config_get_pan_level) ### Description Gets camera pan level ### Lua Example `local integerValue = camera_config_get_pan_level()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_config_get_pan_level(void);` [:arrow_up_small:](#)
## [camera_config_get_deceleration](#camera_config_get_deceleration) ### Description Gets camera deceleration ### Lua Example `local integerValue = camera_config_get_deceleration()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 camera_config_get_deceleration(void);` [:arrow_up_small:](#)
## [camera_config_get_centering](#camera_config_get_centering) ### Description Gets if the L button will center the camera ### Lua Example `local booleanValue = camera_config_get_centering()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_config_get_centering(void);` [:arrow_up_small:](#)
## [camera_config_enable_free_cam](#camera_config_enable_free_cam) ### Description Overrides if Free Camera is enabled ### Lua Example `camera_config_enable_free_cam(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `boolean` | ### Returns - None ### C Prototype `void camera_config_enable_free_cam(bool enable);` [:arrow_up_small:](#)
## [camera_config_enable_analog_cam](#camera_config_enable_analog_cam) ### Description Overrides if Analog Camera is enabled ### Lua Example `camera_config_enable_analog_cam(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `boolean` | ### Returns - None ### C Prototype `void camera_config_enable_analog_cam(bool enable);` [:arrow_up_small:](#)
## [camera_config_enable_centering](#camera_config_enable_centering) ### Description Overrides if the L button will center the camera ### Lua Example `camera_config_enable_centering(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `boolean` | ### Returns - None ### C Prototype `void camera_config_enable_centering(bool enable);` [:arrow_up_small:](#)
## [camera_config_enable_dpad](#camera_config_enable_dpad) ### Description Overrides if Freecam DPad Behavior is enabled ### Lua Example `camera_config_enable_dpad(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `boolean` | ### Returns - None ### C Prototype `void camera_config_enable_dpad(bool enable);` [:arrow_up_small:](#)
## [camera_config_enable_collisions](#camera_config_enable_collisions) ### Description Overrides if Camera Collision is enabled ### Lua Example `camera_config_enable_collisions(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `boolean` | ### Returns - None ### C Prototype `void camera_config_enable_collisions(bool enable);` [:arrow_up_small:](#)
## [camera_config_enable_mouse_look](#camera_config_enable_mouse_look) ### Description Overrides if camera mouse look is enabled ### Lua Example `camera_config_enable_mouse_look(enable)` ### Parameters | Field | Type | | ----- | ---- | | enable | `boolean` | ### Returns - None ### C Prototype `void camera_config_enable_mouse_look(bool enable);` [:arrow_up_small:](#)
## [camera_config_invert_x](#camera_config_invert_x) ### Description Overrides if camera X is inverted ### Lua Example `camera_config_invert_x(invert)` ### Parameters | Field | Type | | ----- | ---- | | invert | `boolean` | ### Returns - None ### C Prototype `void camera_config_invert_x(bool invert);` [:arrow_up_small:](#)
## [camera_config_invert_y](#camera_config_invert_y) ### Description Overrides if camera Y is inverted ### Lua Example `camera_config_invert_y(invert)` ### Parameters | Field | Type | | ----- | ---- | | invert | `boolean` | ### Returns - None ### C Prototype `void camera_config_invert_y(bool invert);` [:arrow_up_small:](#)
## [camera_config_set_x_sensitivity](#camera_config_set_x_sensitivity) ### Description Overrides camera X sensitivity ### Lua Example `camera_config_set_x_sensitivity(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void camera_config_set_x_sensitivity(u32 value);` [:arrow_up_small:](#)
## [camera_config_set_y_sensitivity](#camera_config_set_y_sensitivity) ### Description Overrides camera Y sensitivity ### Lua Example `camera_config_set_y_sensitivity(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void camera_config_set_y_sensitivity(u32 value);` [:arrow_up_small:](#)
## [camera_config_set_aggression](#camera_config_set_aggression) ### Description Overrides camera aggression ### Lua Example `camera_config_set_aggression(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void camera_config_set_aggression(u32 value);` [:arrow_up_small:](#)
## [camera_config_set_pan_level](#camera_config_set_pan_level) ### Description Overrides camera pan level ### Lua Example `camera_config_set_pan_level(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void camera_config_set_pan_level(u32 value);` [:arrow_up_small:](#)
## [camera_config_set_deceleration](#camera_config_set_deceleration) ### Description Overrides camera deceleration ### Lua Example `camera_config_set_deceleration(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void camera_config_set_deceleration(u32 value);` [:arrow_up_small:](#)
## [camera_get_checking_surfaces](#camera_get_checking_surfaces) ### Description Checks if the camera should account for surfaces ### Lua Example `local booleanValue = camera_get_checking_surfaces()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool camera_get_checking_surfaces(void);` [:arrow_up_small:](#)
## [camera_set_checking_surfaces](#camera_set_checking_surfaces) ### Description Sets if the camera should account for surfaces ### Lua Example `camera_set_checking_surfaces(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `boolean` | ### Returns - None ### C Prototype `void camera_set_checking_surfaces(bool value);` [:arrow_up_small:](#)
--- # functions from smlua_collision_utils.h
## [collision_find_floor](#collision_find_floor) ### Description Finds a potential floor at the given `x`, `y`, and `z` values ### Lua Example `local SurfaceValue = collision_find_floor(x, y, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | y | `number` | | z | `number` | ### Returns [Surface](structs.md#Surface) ### C Prototype `struct Surface* collision_find_floor(f32 x, f32 y, f32 z);` [:arrow_up_small:](#)
## [collision_find_ceil](#collision_find_ceil) ### Description Finds a potential ceiling at the given `x`, `y`, and `z` values ### Lua Example `local SurfaceValue = collision_find_ceil(x, y, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | y | `number` | | z | `number` | ### Returns [Surface](structs.md#Surface) ### C Prototype `struct Surface* collision_find_ceil(f32 x, f32 y, f32 z);` [:arrow_up_small:](#)
## [get_water_surface_pseudo_floor](#get_water_surface_pseudo_floor) ### Description Gets the generated water floor surface used when riding a shell ### Lua Example `local SurfaceValue = get_water_surface_pseudo_floor()` ### Parameters - None ### Returns [Surface](structs.md#Surface) ### C Prototype `struct Surface* get_water_surface_pseudo_floor(void);` [:arrow_up_small:](#)
## [smlua_collision_util_get](#smlua_collision_util_get) ### Description Gets the `Collision` with `name` ### Lua Example `local PointerValue = smlua_collision_util_get(name)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | ### Returns - `Pointer` <`Collision`> ### C Prototype `Collision* smlua_collision_util_get(const char* name);` [:arrow_up_small:](#)
## [collision_get_temp_wall_collision_data](#collision_get_temp_wall_collision_data) ### Description Returns a temporary wall collision data pointer ### Lua Example `local WallCollisionDataValue = collision_get_temp_wall_collision_data()` ### Parameters - None ### Returns [WallCollisionData](structs.md#WallCollisionData) ### C Prototype `struct WallCollisionData* collision_get_temp_wall_collision_data(void);` [:arrow_up_small:](#)
## [get_surface_from_wcd_index](#get_surface_from_wcd_index) ### Description Gets the surface corresponding to `index` from `wcd` ### Lua Example `local SurfaceValue = get_surface_from_wcd_index(wcd, index)` ### Parameters | Field | Type | | ----- | ---- | | wcd | [WallCollisionData](structs.md#WallCollisionData) | | index | `integer` | ### Returns [Surface](structs.md#Surface) ### C Prototype `struct Surface* get_surface_from_wcd_index(struct WallCollisionData* wcd, s8 index);` [:arrow_up_small:](#)
## [smlua_collision_util_get_current_terrain_collision](#smlua_collision_util_get_current_terrain_collision) ### Description Gets the current level terrain collision ### Lua Example `local PointerValue = smlua_collision_util_get_current_terrain_collision()` ### Parameters - None ### Returns - `Pointer` <`Collision`> ### C Prototype `Collision* smlua_collision_util_get_current_terrain_collision(void);` [:arrow_up_small:](#)
## [smlua_collision_util_get_level_collision](#smlua_collision_util_get_level_collision) ### Description Gets the `level` terrain collision from `area` ### Lua Example `local PointerValue = smlua_collision_util_get_level_collision(level, area)` ### Parameters | Field | Type | | ----- | ---- | | level | `integer` | | area | `integer` | ### Returns - `Pointer` <`Collision`> ### C Prototype `Collision *smlua_collision_util_get_level_collision(u32 level, u16 area);` [:arrow_up_small:](#)
## [smlua_collision_util_find_surface_types](#smlua_collision_util_find_surface_types) ### Description Gets a table of the surface types from `data` ### Lua Example `smlua_collision_util_find_surface_types(data)` ### Parameters | Field | Type | | ----- | ---- | | data | `Pointer` <`Collision`> | ### Returns - None ### C Prototype `void smlua_collision_util_find_surface_types(Collision* data);` [:arrow_up_small:](#)
--- # functions from smlua_deprecated.h
--- # functions from smlua_gfx_utils.h
## [set_override_fov](#set_override_fov) ### Description Sets the override FOV ### Lua Example `set_override_fov(fov)` ### Parameters | Field | Type | | ----- | ---- | | fov | `number` | ### Returns - None ### C Prototype `void set_override_fov(f32 fov);` [:arrow_up_small:](#)
## [set_override_near](#set_override_near) ### Description Sets the override near plane ### Lua Example `set_override_near(near)` ### Parameters | Field | Type | | ----- | ---- | | near | `number` | ### Returns - None ### C Prototype `void set_override_near(f32 near);` [:arrow_up_small:](#)
## [set_override_far](#set_override_far) ### Description Sets the override far plane ### Lua Example `set_override_far(far)` ### Parameters | Field | Type | | ----- | ---- | | far | `number` | ### Returns - None ### C Prototype `void set_override_far(f32 far);` [:arrow_up_small:](#)
## [get_lighting_dir](#get_lighting_dir) ### Description Gets a value of the global lighting direction ### Lua Example `local numberValue = get_lighting_dir(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `number` ### C Prototype `f32 get_lighting_dir(u8 index);` [:arrow_up_small:](#)
## [set_lighting_dir](#set_lighting_dir) ### Description Sets a value of the global lighting direction ### Lua Example `set_lighting_dir(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `number` | ### Returns - None ### C Prototype `void set_lighting_dir(u8 index, f32 value);` [:arrow_up_small:](#)
## [get_lighting_color](#get_lighting_color) ### Description Gets a value of the global lighting color ### Lua Example `local integerValue = get_lighting_color(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `u8 get_lighting_color(u8 index);` [:arrow_up_small:](#)
## [get_lighting_color_ambient](#get_lighting_color_ambient) ### Description Gets a value of the global ambient lighting color ### Lua Example `local integerValue = get_lighting_color_ambient(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `u8 get_lighting_color_ambient(u8 index);` [:arrow_up_small:](#)
## [set_lighting_color](#set_lighting_color) ### Description Sets a value of the global lighting color ### Lua Example `set_lighting_color(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_lighting_color(u8 index, u8 value);` [:arrow_up_small:](#)
## [set_lighting_color_ambient](#set_lighting_color_ambient) ### Description Sets a value of the global lighting color (run this after `set_lighting_color` for the ambient color to not be overriden) ### Lua Example `set_lighting_color_ambient(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_lighting_color_ambient(u8 index, u8 value);` [:arrow_up_small:](#)
## [get_vertex_color](#get_vertex_color) ### Description Gets a value of the global vertex shading color ### Lua Example `local integerValue = get_vertex_color(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `u8 get_vertex_color(u8 index);` [:arrow_up_small:](#)
## [set_vertex_color](#set_vertex_color) ### Description Sets a value of the global vertex shading color ### Lua Example `set_vertex_color(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_vertex_color(u8 index, u8 value);` [:arrow_up_small:](#)
## [get_fog_color](#get_fog_color) ### Description Gets a value of the global fog color ### Lua Example `local integerValue = get_fog_color(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `u8 get_fog_color(u8 index);` [:arrow_up_small:](#)
## [set_fog_color](#set_fog_color) ### Description Sets a value of the global fog color ### Lua Example `set_fog_color(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_fog_color(u8 index, u8 value);` [:arrow_up_small:](#)
## [get_fog_intensity](#get_fog_intensity) ### Description Gets the intensity of the fog ### Lua Example `local numberValue = get_fog_intensity()` ### Parameters - None ### Returns - `number` ### C Prototype `f32 get_fog_intensity(void);` [:arrow_up_small:](#)
## [set_fog_intensity](#set_fog_intensity) ### Description Sets the intensity of the fog (this value scales very quickly, 1.0 to 1.1 is a desirable range) ### Lua Example `set_fog_intensity(intensity)` ### Parameters | Field | Type | | ----- | ---- | | intensity | `number` | ### Returns - None ### C Prototype `void set_fog_intensity(f32 intensity);` [:arrow_up_small:](#)
## [get_skybox](#get_skybox) ### Description Gets the current skybox ### Lua Example `local integerValue = get_skybox()` ### Parameters - None ### Returns - `integer` ### C Prototype `s8 get_skybox(void);` [:arrow_up_small:](#)
## [set_override_skybox](#set_override_skybox) ### Description Sets the override skybox ### Lua Example `set_override_skybox(background)` ### Parameters | Field | Type | | ----- | ---- | | background | `integer` | ### Returns - None ### C Prototype `void set_override_skybox(s8 background);` [:arrow_up_small:](#)
## [get_skybox_color](#get_skybox_color) ### Description Gets a value of the global skybox color ### Lua Example `local integerValue = get_skybox_color(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `u8 get_skybox_color(u8 index);` [:arrow_up_small:](#)
## [set_skybox_color](#set_skybox_color) ### Description Sets a value of the global skybox color ### Lua Example `set_skybox_color(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_skybox_color(u8 index, u8 value);` [:arrow_up_small:](#)
## [gfx_parse](#gfx_parse) ### Description Traverses a display list. Takes a Lua function as a parameter, which is called back for each command in the display list with the parameters `cmd` (display list pointer), and `op` ### Lua Example `gfx_parse(cmd, func)` ### Parameters | Field | Type | | ----- | ---- | | cmd | `Pointer` <`Gfx`> | | func | `Lua Function` () | ### Returns - None ### C Prototype `void gfx_parse(Gfx *cmd, LuaFunction func);` [:arrow_up_small:](#)
## [gfx_get_op](#gfx_get_op) ### Description Gets the op of the display list command ### Lua Example `local integerValue = gfx_get_op(cmd)` ### Parameters | Field | Type | | ----- | ---- | | cmd | `Pointer` <`Gfx`> | ### Returns - `integer` ### C Prototype `u32 gfx_get_op(Gfx *cmd);` [:arrow_up_small:](#)
## [gfx_get_display_list](#gfx_get_display_list) ### Description Gets the display list from a display list command if it has the op `G_DL` ### Lua Example `local PointerValue = gfx_get_display_list(cmd)` ### Parameters | Field | Type | | ----- | ---- | | cmd | `Pointer` <`Gfx`> | ### Returns - `Pointer` <`Gfx`> ### C Prototype `Gfx *gfx_get_display_list(Gfx *cmd);` [:arrow_up_small:](#)
## [gfx_get_vertex_buffer](#gfx_get_vertex_buffer) ### Description Gets the vertex buffer from a display list command if it has the op `G_VTX` ### Lua Example `local PointerValue = gfx_get_vertex_buffer(cmd)` ### Parameters | Field | Type | | ----- | ---- | | cmd | `Pointer` <`Gfx`> | ### Returns - `Pointer` <`Vtx`> ### C Prototype `Vtx *gfx_get_vertex_buffer(Gfx *cmd);` [:arrow_up_small:](#)
## [gfx_get_vertex_count](#gfx_get_vertex_count) ### Description Gets the number of vertices from a display list command if it has the op `G_VTX` ### Lua Example `local integerValue = gfx_get_vertex_count(cmd)` ### Parameters | Field | Type | | ----- | ---- | | cmd | `Pointer` <`Gfx`> | ### Returns - `integer` ### C Prototype `u16 gfx_get_vertex_count(Gfx *cmd);` [:arrow_up_small:](#)
## [gfx_get_length](#gfx_get_length) ### Description Gets the max length of a display list ### Lua Example `local integerValue = gfx_get_length(gfx)` ### Parameters | Field | Type | | ----- | ---- | | gfx | `Pointer` <`Gfx`> | ### Returns - `integer` ### C Prototype `u32 gfx_get_length(Gfx *gfx);` [:arrow_up_small:](#)
## [gfx_get_command](#gfx_get_command) ### Description Gets a command of a display list at position `offset` ### Lua Example `local PointerValue = gfx_get_command(gfx, offset)` ### Parameters | Field | Type | | ----- | ---- | | gfx | `Pointer` <`Gfx`> | | offset | `integer` | ### Returns - `Pointer` <`Gfx`> ### C Prototype `Gfx *gfx_get_command(Gfx *gfx, u32 offset);` [:arrow_up_small:](#)
## [gfx_get_next_command](#gfx_get_next_command) ### Description Gets the next command of a given display list pointer. Intended to use in a for loop ### Lua Example `local PointerValue = gfx_get_next_command(gfx)` ### Parameters | Field | Type | | ----- | ---- | | gfx | `Pointer` <`Gfx`> | ### Returns - `Pointer` <`Gfx`> ### C Prototype `Gfx *gfx_get_next_command(Gfx *gfx);` [:arrow_up_small:](#)
## [gfx_copy](#gfx_copy) ### Description Copies `length` commands from display list `src` to display list `dest` ### Lua Example `gfx_copy(dest, src, length)` ### Parameters | Field | Type | | ----- | ---- | | dest | `Pointer` <`Gfx`> | | src | `Pointer` <`Gfx`> | | length | `integer` | ### Returns - None ### C Prototype `void gfx_copy(Gfx *dest, Gfx *src, u32 length);` [:arrow_up_small:](#)
## [gfx_create](#gfx_create) ### Description Creates a new named display list of `length` commands ### Lua Example `local PointerValue = gfx_create(name, length)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | | length | `integer` | ### Returns - `Pointer` <`Gfx`> ### C Prototype `Gfx *gfx_create(const char *name, u32 length);` [:arrow_up_small:](#)
## [gfx_resize](#gfx_resize) ### Description Resizes a display list created by `gfx_create` ### Lua Example `gfx_resize(gfx, newLength)` ### Parameters | Field | Type | | ----- | ---- | | gfx | `Pointer` <`Gfx`> | | newLength | `integer` | ### Returns - None ### C Prototype `void gfx_resize(Gfx *gfx, u32 newLength);` [:arrow_up_small:](#)
## [gfx_delete](#gfx_delete) ### Description Deletes a display list created by `gfx_create` ### Lua Example `gfx_delete(gfx)` ### Parameters | Field | Type | | ----- | ---- | | gfx | `Pointer` <`Gfx`> | ### Returns - None ### C Prototype `void gfx_delete(Gfx *gfx);` [:arrow_up_small:](#)
## [gfx_delete_all](#gfx_delete_all) ### Description Deletes all display lists created by `gfx_create` ### Lua Example `gfx_delete_all()` ### Parameters - None ### Returns - None ### C Prototype `void gfx_delete_all();` [:arrow_up_small:](#)
## [vtx_get_count](#vtx_get_count) ### Description Gets the max count of vertices of a vertex buffer ### Lua Example `local integerValue = vtx_get_count(vtx)` ### Parameters | Field | Type | | ----- | ---- | | vtx | `Pointer` <`Vtx`> | ### Returns - `integer` ### C Prototype `u32 vtx_get_count(Vtx *vtx);` [:arrow_up_small:](#)
## [vtx_get_vertex](#vtx_get_vertex) ### Description Gets a vertex of a vertex buffer at position `offset` ### Lua Example `local PointerValue = vtx_get_vertex(vtx, offset)` ### Parameters | Field | Type | | ----- | ---- | | vtx | `Pointer` <`Vtx`> | | offset | `integer` | ### Returns - `Pointer` <`Vtx`> ### C Prototype `Vtx *vtx_get_vertex(Vtx *vtx, u32 offset);` [:arrow_up_small:](#)
## [vtx_get_next_vertex](#vtx_get_next_vertex) ### Description Gets the next vertex of a given vertex pointer. Intended to use in a for loop ### Lua Example `local PointerValue = vtx_get_next_vertex(vtx)` ### Parameters | Field | Type | | ----- | ---- | | vtx | `Pointer` <`Vtx`> | ### Returns - `Pointer` <`Vtx`> ### C Prototype `Vtx *vtx_get_next_vertex(Vtx *vtx);` [:arrow_up_small:](#)
## [vtx_copy](#vtx_copy) ### Description Copies `count` vertices from vertex buffer `src` to vertex buffer `dest` ### Lua Example `vtx_copy(dest, src, count)` ### Parameters | Field | Type | | ----- | ---- | | dest | `Pointer` <`Vtx`> | | src | `Pointer` <`Vtx`> | | count | `integer` | ### Returns - None ### C Prototype `void vtx_copy(Vtx *dest, Vtx *src, u32 count);` [:arrow_up_small:](#)
## [vtx_create](#vtx_create) ### Description Creates a new named vertex buffer of `count` vertices ### Lua Example `local PointerValue = vtx_create(name, count)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | | count | `integer` | ### Returns - `Pointer` <`Vtx`> ### C Prototype `Vtx *vtx_create(const char *name, u32 count);` [:arrow_up_small:](#)
## [vtx_resize](#vtx_resize) ### Description Resizes a vertex buffer created by `vtx_create` ### Lua Example `vtx_resize(vtx, newCount)` ### Parameters | Field | Type | | ----- | ---- | | vtx | `Pointer` <`Vtx`> | | newCount | `integer` | ### Returns - None ### C Prototype `void vtx_resize(Vtx *vtx, u32 newCount);` [:arrow_up_small:](#)
## [vtx_delete](#vtx_delete) ### Description Deletes a vertex buffer created by `vtx_create` ### Lua Example `vtx_delete(vtx)` ### Parameters | Field | Type | | ----- | ---- | | vtx | `Pointer` <`Vtx`> | ### Returns - None ### C Prototype `void vtx_delete(Vtx *vtx);` [:arrow_up_small:](#)
## [vtx_delete_all](#vtx_delete_all) ### Description Deletes all vertex buffers created by `vtx_create` ### Lua Example `vtx_delete_all()` ### Parameters - None ### Returns - None ### C Prototype `void vtx_delete_all();` [:arrow_up_small:](#)
--- # functions from smlua_level_utils.h
## [smlua_level_util_change_area](#smlua_level_util_change_area) ### Description Instantly changes the current area to `areaIndex` ### Lua Example `smlua_level_util_change_area(areaIndex)` ### Parameters | Field | Type | | ----- | ---- | | areaIndex | `integer` | ### Returns - None ### C Prototype `void smlua_level_util_change_area(s32 areaIndex);` [:arrow_up_small:](#)
## [smlua_level_util_get_info](#smlua_level_util_get_info) ### Description Gets information on a custom level from `levelNum` ### Lua Example `local CustomLevelInfoValue = smlua_level_util_get_info(levelNum)` ### Parameters | Field | Type | | ----- | ---- | | levelNum | `integer` | ### Returns [CustomLevelInfo](structs.md#CustomLevelInfo) ### C Prototype `struct CustomLevelInfo* smlua_level_util_get_info(s16 levelNum);` [:arrow_up_small:](#)
## [smlua_level_util_get_info_from_short_name](#smlua_level_util_get_info_from_short_name) ### Description Gets information on a custom level from `shortName` ### Lua Example `local CustomLevelInfoValue = smlua_level_util_get_info_from_short_name(shortName)` ### Parameters | Field | Type | | ----- | ---- | | shortName | `string` | ### Returns [CustomLevelInfo](structs.md#CustomLevelInfo) ### C Prototype `struct CustomLevelInfo* smlua_level_util_get_info_from_short_name(const char* shortName);` [:arrow_up_small:](#)
## [smlua_level_util_get_info_from_course_num](#smlua_level_util_get_info_from_course_num) ### Description Gets information on a custom level from `courseNum` ### Lua Example `local CustomLevelInfoValue = smlua_level_util_get_info_from_course_num(courseNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | ### Returns [CustomLevelInfo](structs.md#CustomLevelInfo) ### C Prototype `struct CustomLevelInfo* smlua_level_util_get_info_from_course_num(u8 courseNum);` [:arrow_up_small:](#)
## [level_register](#level_register) ### Description Registers a fully custom level. Level ID begins at 50 ### Lua Example `local integerValue = level_register(scriptEntryName, courseNum, fullName, shortName, acousticReach, echoLevel1, echoLevel2, echoLevel3)` ### Parameters | Field | Type | | ----- | ---- | | scriptEntryName | `string` | | courseNum | `integer` | | fullName | `string` | | shortName | `string` | | acousticReach | `integer` | | echoLevel1 | `integer` | | echoLevel2 | `integer` | | echoLevel3 | `integer` | ### Returns - `integer` ### C Prototype `s16 level_register(const char* scriptEntryName, s16 courseNum, const char* fullName, const char* shortName, u32 acousticReach, u32 echoLevel1, u32 echoLevel2, u32 echoLevel3);` [:arrow_up_small:](#)
## [level_is_vanilla_level](#level_is_vanilla_level) ### Description Checks if `levelNum` is a vanilla level ### Lua Example `local booleanValue = level_is_vanilla_level(levelNum)` ### Parameters | Field | Type | | ----- | ---- | | levelNum | `integer` | ### Returns - `boolean` ### C Prototype `bool level_is_vanilla_level(s16 levelNum);` [:arrow_up_small:](#)
## [warp_to_warpnode](#warp_to_warpnode) ### Description Warps to `aWarpId` of `aArea` in `aLevel` during `aAct` ### Lua Example `local booleanValue = warp_to_warpnode(aLevel, aArea, aAct, aWarpId)` ### Parameters | Field | Type | | ----- | ---- | | aLevel | `integer` | | aArea | `integer` | | aAct | `integer` | | aWarpId | `integer` | ### Returns - `boolean` ### C Prototype `bool warp_to_warpnode(s32 aLevel, s32 aArea, s32 aAct, s32 aWarpId);` [:arrow_up_small:](#)
## [warp_to_level](#warp_to_level) ### Description Warps to `aArea` of `aLevel` in `aAct` ### Lua Example `local booleanValue = warp_to_level(aLevel, aArea, aAct)` ### Parameters | Field | Type | | ----- | ---- | | aLevel | `integer` | | aArea | `integer` | | aAct | `integer` | ### Returns - `boolean` ### C Prototype `bool warp_to_level(s32 aLevel, s32 aArea, s32 aAct);` [:arrow_up_small:](#)
## [warp_restart_level](#warp_restart_level) ### Description Restarts the current level ### Lua Example `local booleanValue = warp_restart_level()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool warp_restart_level(void);` [:arrow_up_small:](#)
## [warp_to_start_level](#warp_to_start_level) ### Description Warps to the start level (Castle Grounds by default) ### Lua Example `local booleanValue = warp_to_start_level()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool warp_to_start_level(void);` [:arrow_up_small:](#)
## [warp_exit_level](#warp_exit_level) ### Description Exits the current level after `aDelay` ### Lua Example `local booleanValue = warp_exit_level(aDelay)` ### Parameters | Field | Type | | ----- | ---- | | aDelay | `integer` | ### Returns - `boolean` ### C Prototype `bool warp_exit_level(s32 aDelay);` [:arrow_up_small:](#)
## [warp_to_castle](#warp_to_castle) ### Description Warps back to the castle from `aLevel` ### Lua Example `local booleanValue = warp_to_castle(aLevel)` ### Parameters | Field | Type | | ----- | ---- | | aLevel | `integer` | ### Returns - `boolean` ### C Prototype `bool warp_to_castle(s32 aLevel);` [:arrow_up_small:](#)
--- # functions from smlua_misc_utils.h
## [get_network_area_timer](#get_network_area_timer) ### Description Gets the current area's networked timer ### Lua Example `local integerValue = get_network_area_timer()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 get_network_area_timer(void);` [:arrow_up_small:](#)
## [get_area_update_counter](#get_area_update_counter) ### Description Gets the area update counter incremented when objects are updated ### Lua Example `local integerValue = get_area_update_counter()` ### Parameters - None ### Returns - `integer` ### C Prototype `u16 get_area_update_counter(void);` [:arrow_up_small:](#)
## [get_temp_s32_pointer](#get_temp_s32_pointer) ### Description Returns a temporary signed 32-bit integer pointer with its value set to `initialValue` ### Lua Example `local PointerValue = get_temp_s32_pointer(initialValue)` ### Parameters | Field | Type | | ----- | ---- | | initialValue | `integer` | ### Returns - `Pointer` <`integer`> ### C Prototype `s32* get_temp_s32_pointer(s32 initialValue);` [:arrow_up_small:](#)
## [deref_s32_pointer](#deref_s32_pointer) ### Description Gets the signed 32-bit integer value from `pointer` ### Lua Example `local integerValue = deref_s32_pointer(pointer)` ### Parameters | Field | Type | | ----- | ---- | | pointer | `Pointer` <`integer`> | ### Returns - `integer` ### C Prototype `s32 deref_s32_pointer(s32* pointer);` [:arrow_up_small:](#)
## [djui_popup_create_global](#djui_popup_create_global) ### Description Creates a DJUI popup that is broadcasted to every client ### Lua Example `djui_popup_create_global(message, lines)` ### Parameters | Field | Type | | ----- | ---- | | message | `string` | | lines | `integer` | ### Returns - None ### C Prototype `void djui_popup_create_global(const char* message, int lines);` [:arrow_up_small:](#)
## [djui_is_popup_disabled](#djui_is_popup_disabled) ### Description Returns if popups are disabled ### Lua Example `local booleanValue = djui_is_popup_disabled()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool djui_is_popup_disabled(void);` [:arrow_up_small:](#)
## [djui_set_popup_disabled_override](#djui_set_popup_disabled_override) ### Description Sets if popups are disabled ### Lua Example `djui_set_popup_disabled_override(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `boolean` | ### Returns - None ### C Prototype `void djui_set_popup_disabled_override(bool value);` [:arrow_up_small:](#)
## [djui_reset_popup_disabled_override](#djui_reset_popup_disabled_override) ### Description Resets if popups are disabled ### Lua Example `djui_reset_popup_disabled_override()` ### Parameters - None ### Returns - None ### C Prototype `void djui_reset_popup_disabled_override(void);` [:arrow_up_small:](#)
## [djui_is_playerlist_open](#djui_is_playerlist_open) ### Description Checks if the DJUI playerlist is open ### Lua Example `local booleanValue = djui_is_playerlist_open()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool djui_is_playerlist_open(void);` [:arrow_up_small:](#)
## [djui_attempting_to_open_playerlist](#djui_attempting_to_open_playerlist) ### Description Checks if the DJUI playerlist is attempting to be opened ### Lua Example `local booleanValue = djui_attempting_to_open_playerlist()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool djui_attempting_to_open_playerlist(void);` [:arrow_up_small:](#)
## [djui_get_playerlist_page_index](#djui_get_playerlist_page_index) ### Description Gets the DJUI playerlist's page index ### Lua Example `local integerValue = djui_get_playerlist_page_index()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 djui_get_playerlist_page_index(void);` [:arrow_up_small:](#)
## [djui_menu_get_font](#djui_menu_get_font) ### Description Gets the DJUI menu font ### Lua Example `local enumValue = djui_menu_get_font()` ### Parameters - None ### Returns [enum DjuiFontType](constants.md#enum-DjuiFontType) ### C Prototype `enum DjuiFontType djui_menu_get_font(void);` [:arrow_up_small:](#)
## [djui_menu_get_theme](#djui_menu_get_theme) ### Description Gets the DJUI menu theme ### Lua Example `local DjuiThemeValue = djui_menu_get_theme()` ### Parameters - None ### Returns [DjuiTheme](structs.md#DjuiTheme) ### C Prototype `struct DjuiTheme* djui_menu_get_theme(void);` [:arrow_up_small:](#)
## [get_dialog_box_state](#get_dialog_box_state) ### Description Gets the current state of the dialog box ### Lua Example `local integerValue = get_dialog_box_state()` ### Parameters - None ### Returns - `integer` ### C Prototype `s8 get_dialog_box_state(void);` [:arrow_up_small:](#)
## [get_dialog_id](#get_dialog_id) ### Description Gets the current dialog box ID ### Lua Example `local integerValue = get_dialog_id()` ### Parameters - None ### Returns - `integer` ### C Prototype `s16 get_dialog_id(void);` [:arrow_up_small:](#)
## [get_last_star_or_key](#get_last_star_or_key) ### Description Gets if the last objective collected was a star (0) or a key (1) ### Lua Example `local integerValue = get_last_star_or_key()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 get_last_star_or_key(void);` [:arrow_up_small:](#)
## [set_last_star_or_key](#set_last_star_or_key) ### Description Sets if the last objective collected was a star (0) or a key (1) ### Lua Example `set_last_star_or_key(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void set_last_star_or_key(u8 value);` [:arrow_up_small:](#)
## [get_last_completed_course_num](#get_last_completed_course_num) ### Description Gets the last course a star or key was collected in ### Lua Example `local integerValue = get_last_completed_course_num()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 get_last_completed_course_num(void);` [:arrow_up_small:](#)
## [set_last_completed_course_num](#set_last_completed_course_num) ### Description Sets the last course a star or key was collected in ### Lua Example `set_last_completed_course_num(courseNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | ### Returns - None ### C Prototype `void set_last_completed_course_num(u8 courseNum);` [:arrow_up_small:](#)
## [get_last_completed_star_num](#get_last_completed_star_num) ### Description Gets the last collected star's number (1-7) ### Lua Example `local integerValue = get_last_completed_star_num()` ### Parameters - None ### Returns - `integer` ### C Prototype `u8 get_last_completed_star_num(void);` [:arrow_up_small:](#)
## [set_last_completed_star_num](#set_last_completed_star_num) ### Description Sets the last collected star's number (1-7) ### Lua Example `set_last_completed_star_num(starNum)` ### Parameters | Field | Type | | ----- | ---- | | starNum | `integer` | ### Returns - None ### C Prototype `void set_last_completed_star_num(u8 starNum);` [:arrow_up_small:](#)
## [get_got_file_coin_hi_score](#get_got_file_coin_hi_score) ### Description Checks if the save file's coin "HI SCORE" was obtained with the last star or key collection ### Lua Example `local booleanValue = get_got_file_coin_hi_score()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool get_got_file_coin_hi_score(void);` [:arrow_up_small:](#)
## [set_got_file_coin_hi_score](#set_got_file_coin_hi_score) ### Description Sets if the save file's coin "HI SCORE" was obtained with the last star or key collection ### Lua Example `set_got_file_coin_hi_score(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `boolean` | ### Returns - None ### C Prototype `void set_got_file_coin_hi_score(bool value);` [:arrow_up_small:](#)
## [get_save_file_modified](#get_save_file_modified) ### Description Checks if the save file has been modified without saving ### Lua Example `local booleanValue = get_save_file_modified()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool get_save_file_modified(void);` [:arrow_up_small:](#)
## [set_save_file_modified](#set_save_file_modified) ### Description Sets if the save file has been modified without saving ### Lua Example `set_save_file_modified(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `boolean` | ### Returns - None ### C Prototype `void set_save_file_modified(bool value);` [:arrow_up_small:](#)
## [hud_hide](#hud_hide) ### Description Hides the HUD ### Lua Example `hud_hide()` ### Parameters - None ### Returns - None ### C Prototype `void hud_hide(void);` [:arrow_up_small:](#)
## [hud_show](#hud_show) ### Description Shows the HUD ### Lua Example `hud_show()` ### Parameters - None ### Returns - None ### C Prototype `void hud_show(void);` [:arrow_up_small:](#)
## [hud_is_hidden](#hud_is_hidden) ### Description Checks if the HUD is hidden ### Lua Example `local booleanValue = hud_is_hidden()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool hud_is_hidden(void);` [:arrow_up_small:](#)
## [hud_get_value](#hud_get_value) ### Description Gets a HUD display value ### Lua Example `local integerValue = hud_get_value(type)` ### Parameters | Field | Type | | ----- | ---- | | type | [enum HudDisplayValue](constants.md#enum-HudDisplayValue) | ### Returns - `integer` ### C Prototype `s32 hud_get_value(enum HudDisplayValue type);` [:arrow_up_small:](#)
## [hud_set_value](#hud_set_value) ### Description Sets a HUD display value ### Lua Example `hud_set_value(type, value)` ### Parameters | Field | Type | | ----- | ---- | | type | [enum HudDisplayValue](constants.md#enum-HudDisplayValue) | | value | `integer` | ### Returns - None ### C Prototype `void hud_set_value(enum HudDisplayValue type, s32 value);` [:arrow_up_small:](#)
## [hud_render_power_meter](#hud_render_power_meter) ### Description Renders a power meter on the HUD ### Lua Example `hud_render_power_meter(health, x, y, width, height)` ### Parameters | Field | Type | | ----- | ---- | | health | `integer` | | x | `number` | | y | `number` | | width | `number` | | height | `number` | ### Returns - None ### C Prototype `void hud_render_power_meter(s32 health, f32 x, f32 y, f32 width, f32 height);` [:arrow_up_small:](#)
## [hud_render_power_meter_interpolated](#hud_render_power_meter_interpolated) ### Description Renders an interpolated power meter on the HUD ### Lua Example `hud_render_power_meter_interpolated(health, prevX, prevY, prevWidth, prevHeight, x, y, width, height)` ### Parameters | Field | Type | | ----- | ---- | | health | `integer` | | prevX | `number` | | prevY | `number` | | prevWidth | `number` | | prevHeight | `number` | | x | `number` | | y | `number` | | width | `number` | | height | `number` | ### Returns - None ### C Prototype `void hud_render_power_meter_interpolated(s32 health, f32 prevX, f32 prevY, f32 prevWidth, f32 prevHeight, f32 x, f32 y, f32 width, f32 height);` [:arrow_up_small:](#)
## [hud_get_flash](#hud_get_flash) ### Description Gets if the star counter on the HUD should flash ### Lua Example `local integerValue = hud_get_flash()` ### Parameters - None ### Returns - `integer` ### C Prototype `s8 hud_get_flash(void);` [:arrow_up_small:](#)
## [hud_set_flash](#hud_set_flash) ### Description Sets if the star counter on the HUD should flash ### Lua Example `hud_set_flash(value)` ### Parameters | Field | Type | | ----- | ---- | | value | `integer` | ### Returns - None ### C Prototype `void hud_set_flash(s8 value);` [:arrow_up_small:](#)
## [is_game_paused](#is_game_paused) ### Description Checks if the game is paused ### Lua Example `local booleanValue = is_game_paused()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool is_game_paused(void);` [:arrow_up_small:](#)
## [is_transition_playing](#is_transition_playing) ### Description Checks if a screen transition is playing ### Lua Example `local booleanValue = is_transition_playing()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool is_transition_playing(void);` [:arrow_up_small:](#)
## [allocate_mario_action](#allocate_mario_action) ### Description Allocates an action ID with bitwise flags ### Lua Example `local integerValue = allocate_mario_action(actFlags)` ### Parameters | Field | Type | | ----- | ---- | | actFlags | `integer` | ### Returns - `integer` ### C Prototype `u32 allocate_mario_action(u32 actFlags);` [:arrow_up_small:](#)
## [get_hand_foot_pos_x](#get_hand_foot_pos_x) ### Description Gets the X coordinate of Mario's hand (0-1) or foot (2-3) but it is important to note that the positions are not updated off-screen ### Lua Example `local numberValue = get_hand_foot_pos_x(m, index)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | index | `integer` | ### Returns - `number` ### C Prototype `f32 get_hand_foot_pos_x(struct MarioState* m, u8 index);` [:arrow_up_small:](#)
## [get_hand_foot_pos_y](#get_hand_foot_pos_y) ### Description Gets the Y coordinate of Mario's hand (0-1) or foot (2-3) but It is important to note that the positions are not updated off-screen ### Lua Example `local numberValue = get_hand_foot_pos_y(m, index)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | index | `integer` | ### Returns - `number` ### C Prototype `f32 get_hand_foot_pos_y(struct MarioState* m, u8 index);` [:arrow_up_small:](#)
## [get_hand_foot_pos_z](#get_hand_foot_pos_z) ### Description Gets the Z coordinate of Mario's hand (0-1) or foot (2-3) but it is important to note that the positions are not updated off-screen ### Lua Example `local numberValue = get_hand_foot_pos_z(m, index)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | index | `integer` | ### Returns - `number` ### C Prototype `f32 get_hand_foot_pos_z(struct MarioState* m, u8 index);` [:arrow_up_small:](#)
## [get_mario_anim_part_pos](#get_mario_anim_part_pos) ### Description Retrieves the animated part position associated to `animPart` from the MarioState `m` and stores it into `pos`. Returns `true` on success or `false` on failure ### Lua Example `local booleanValue = get_mario_anim_part_pos(m, animPart, pos)` ### Parameters | Field | Type | | ----- | ---- | | m | [MarioState](structs.md#MarioState) | | animPart | `integer` | | pos | [Vec3f](structs.md#Vec3f) | ### Returns - `boolean` ### C Prototype `bool get_mario_anim_part_pos(struct MarioState *m, u32 animPart, Vec3f pos);` [:arrow_up_small:](#)
## [get_current_save_file_num](#get_current_save_file_num) ### Description Gets the current save file number (1-indexed) ### Lua Example `local integerValue = get_current_save_file_num()` ### Parameters - None ### Returns - `integer` ### C Prototype `s16 get_current_save_file_num(void);` [:arrow_up_small:](#)
## [save_file_get_using_backup_slot](#save_file_get_using_backup_slot) ### Description Checks if the save file is using its backup slot ### Lua Example `local booleanValue = save_file_get_using_backup_slot()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool save_file_get_using_backup_slot(void);` [:arrow_up_small:](#)
## [save_file_set_using_backup_slot](#save_file_set_using_backup_slot) ### Description Sets if the save file should use its backup slot ### Lua Example `save_file_set_using_backup_slot(usingBackupSlot)` ### Parameters | Field | Type | | ----- | ---- | | usingBackupSlot | `boolean` | ### Returns - None ### C Prototype `void save_file_set_using_backup_slot(bool usingBackupSlot);` [:arrow_up_small:](#)
## [movtexqc_register](#movtexqc_register) ### Description Registers a custom moving texture entry (used for vanilla water boxes) ### Lua Example `movtexqc_register(name, level, area, type)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | | level | `integer` | | area | `integer` | | type | `integer` | ### Returns - None ### C Prototype `void movtexqc_register(const char* name, s16 level, s16 area, s16 type);` [:arrow_up_small:](#)
## [get_water_level](#get_water_level) ### Description Gets the water level in an area corresponding to `index` (0-indexed) ### Lua Example `local integerValue = get_water_level(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `s16 get_water_level(u8 index);` [:arrow_up_small:](#)
## [set_water_level](#set_water_level) ### Description Sets the water level in an area corresponding to `index` (0-indexed) ### Lua Example `set_water_level(index, height, sync)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | height | `integer` | | sync | `boolean` | ### Returns - None ### C Prototype `void set_water_level(u8 index, s16 height, bool sync);` [:arrow_up_small:](#)
## [course_is_main_course](#course_is_main_course) ### Description Checks if a course is a main course and not the castle or secret levels ### Lua Example `local booleanValue = course_is_main_course(courseNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | ### Returns - `boolean` ### C Prototype `bool course_is_main_course(u16 courseNum);` [:arrow_up_small:](#)
## [get_ttc_speed_setting](#get_ttc_speed_setting) ### Description Gets TTC's speed setting ### Lua Example `local integerValue = get_ttc_speed_setting()` ### Parameters - None ### Returns - `integer` ### C Prototype `s16 get_ttc_speed_setting(void);` [:arrow_up_small:](#)
## [set_ttc_speed_setting](#set_ttc_speed_setting) ### Description Sets TTC's speed setting (TTC_SPEED_*) ### Lua Example `set_ttc_speed_setting(speed)` ### Parameters | Field | Type | | ----- | ---- | | speed | `integer` | ### Returns - None ### C Prototype `void set_ttc_speed_setting(s16 speed);` [:arrow_up_small:](#)
## [get_time](#get_time) ### Description Gets the Unix Timestamp ### Lua Example `local integerValue = get_time()` ### Parameters - None ### Returns - `integer` ### C Prototype `s64 get_time(void);` [:arrow_up_small:](#)
## [get_date_and_time](#get_date_and_time) ### Description Gets the system clock's date and time ### Lua Example `local DateTimeValue = get_date_and_time()` ### Parameters - None ### Returns [DateTime](structs.md#DateTime) ### C Prototype `struct DateTime* get_date_and_time(void);` [:arrow_up_small:](#)
## [get_envfx](#get_envfx) ### Description Gets the non overridden environment effect (e.g. snow) ### Lua Example `local integerValue = get_envfx()` ### Parameters - None ### Returns - `integer` ### C Prototype `u16 get_envfx(void);` [:arrow_up_small:](#)
## [set_override_envfx](#set_override_envfx) ### Description Sets the override environment effect (e.g. snow) ### Lua Example `set_override_envfx(envfx)` ### Parameters | Field | Type | | ----- | ---- | | envfx | `integer` | ### Returns - None ### C Prototype `void set_override_envfx(s32 envfx);` [:arrow_up_small:](#)
## [get_global_timer](#get_global_timer) ### Description Gets the global timer that has been ticking at 30 frames per second since game boot ### Lua Example `local integerValue = get_global_timer()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 get_global_timer(void);` [:arrow_up_small:](#)
## [get_dialog_response](#get_dialog_response) ### Description Gets the choice selected inside of a dialog box (0-1) ### Lua Example `local integerValue = get_dialog_response()` ### Parameters - None ### Returns - `integer` ### C Prototype `s32 get_dialog_response(void);` [:arrow_up_small:](#)
## [get_local_discord_id](#get_local_discord_id) ### Description Gets the local discord ID if it isn't disabled, otherwise "0" is returned ### Lua Example `local stringValue = get_local_discord_id()` ### Parameters - None ### Returns - `string` ### C Prototype `const char* get_local_discord_id(void);` [:arrow_up_small:](#)
## [get_coopnet_id](#get_coopnet_id) ### Description Gets the CoopNet ID of a player with `localIndex` if CoopNet is being used and the player is connected, otherwise "-1" is returned ### Lua Example `local stringValue = get_coopnet_id(localIndex)` ### Parameters | Field | Type | | ----- | ---- | | localIndex | `integer` | ### Returns - `string` ### C Prototype `const char* get_coopnet_id(s8 localIndex);` [:arrow_up_small:](#)
## [get_volume_master](#get_volume_master) ### Description Gets the master volume level ### Lua Example `local numberValue = get_volume_master()` ### Parameters - None ### Returns - `number` ### C Prototype `f32 get_volume_master(void);` [:arrow_up_small:](#)
## [get_volume_level](#get_volume_level) ### Description Gets the volume level of music ### Lua Example `local numberValue = get_volume_level()` ### Parameters - None ### Returns - `number` ### C Prototype `f32 get_volume_level(void);` [:arrow_up_small:](#)
## [get_volume_sfx](#get_volume_sfx) ### Description Gets the volume level of sound effects ### Lua Example `local numberValue = get_volume_sfx()` ### Parameters - None ### Returns - `number` ### C Prototype `f32 get_volume_sfx(void);` [:arrow_up_small:](#)
## [get_volume_env](#get_volume_env) ### Description Gets the volume level of environment sounds effects ### Lua Example `local numberValue = get_volume_env()` ### Parameters - None ### Returns - `number` ### C Prototype `f32 get_volume_env(void);` [:arrow_up_small:](#)
## [set_volume_master](#set_volume_master) ### Description Sets the master volume level ### Lua Example `set_volume_master(volume)` ### Parameters | Field | Type | | ----- | ---- | | volume | `number` | ### Returns - None ### C Prototype `void set_volume_master(f32 volume);` [:arrow_up_small:](#)
## [set_volume_level](#set_volume_level) ### Description Sets the volume level of music ### Lua Example `set_volume_level(volume)` ### Parameters | Field | Type | | ----- | ---- | | volume | `number` | ### Returns - None ### C Prototype `void set_volume_level(f32 volume);` [:arrow_up_small:](#)
## [set_volume_sfx](#set_volume_sfx) ### Description Sets the volume level of sound effects ### Lua Example `set_volume_sfx(volume)` ### Parameters | Field | Type | | ----- | ---- | | volume | `number` | ### Returns - None ### C Prototype `void set_volume_sfx(f32 volume);` [:arrow_up_small:](#)
## [set_volume_env](#set_volume_env) ### Description Sets the volume level of environment sounds effects ### Lua Example `set_volume_env(volume)` ### Parameters | Field | Type | | ----- | ---- | | volume | `number` | ### Returns - None ### C Prototype `void set_volume_env(f32 volume);` [:arrow_up_small:](#)
## [get_environment_region](#get_environment_region) ### Description Gets an environment region (gas/water boxes) height value ### Lua Example `local integerValue = get_environment_region(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `integer` ### C Prototype `s16 get_environment_region(u8 index);` [:arrow_up_small:](#)
## [set_environment_region](#set_environment_region) ### Description Sets an environment region (gas/water boxes) height value ### Lua Example `set_environment_region(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_environment_region(u8 index, s16 value);` [:arrow_up_small:](#)
## [mod_file_exists](#mod_file_exists) ### Description Checks if a file exists inside of a mod ### Lua Example `local booleanValue = mod_file_exists(filename)` ### Parameters | Field | Type | | ----- | ---- | | filename | `string` | ### Returns - `boolean` ### C Prototype `bool mod_file_exists(const char* filename);` [:arrow_up_small:](#)
## [get_active_mod](#get_active_mod) ### Description Gets the mod currently being processed ### Lua Example `local ModValue = get_active_mod()` ### Parameters - None ### Returns [Mod](structs.md#Mod) ### C Prototype `struct Mod* get_active_mod(void);` [:arrow_up_small:](#)
## [set_window_title](#set_window_title) ### Description Sets the window title to a custom title ### Lua Example `set_window_title(title)` ### Parameters | Field | Type | | ----- | ---- | | title | `string` | ### Returns - None ### C Prototype `void set_window_title(const char* title);` [:arrow_up_small:](#)
## [reset_window_title](#reset_window_title) ### Description Resets the window title ### Lua Example `reset_window_title()` ### Parameters - None ### Returns - None ### C Prototype `void reset_window_title(void);` [:arrow_up_small:](#)
## [get_os_name](#get_os_name) ### Description Gets the name of the operating system the game is running on ### Lua Example `local stringValue = get_os_name()` ### Parameters - None ### Returns - `string` ### C Prototype `const char* get_os_name(void);` [:arrow_up_small:](#)
## [geo_get_current_root](#geo_get_current_root) ### Description Gets the current GraphNodeRoot ### Lua Example `local GraphNodeRootValue = geo_get_current_root()` ### Parameters - None ### Returns [GraphNodeRoot](structs.md#GraphNodeRoot) ### C Prototype `struct GraphNodeRoot* geo_get_current_root(void);` [:arrow_up_small:](#)
## [geo_get_current_master_list](#geo_get_current_master_list) ### Description Gets the current GraphNodeMasterList ### Lua Example `local GraphNodeMasterListValue = geo_get_current_master_list()` ### Parameters - None ### Returns [GraphNodeMasterList](structs.md#GraphNodeMasterList) ### C Prototype `struct GraphNodeMasterList* geo_get_current_master_list(void);` [:arrow_up_small:](#)
## [geo_get_current_perspective](#geo_get_current_perspective) ### Description Gets the current GraphNodePerspective ### Lua Example `local GraphNodePerspectiveValue = geo_get_current_perspective()` ### Parameters - None ### Returns [GraphNodePerspective](structs.md#GraphNodePerspective) ### C Prototype `struct GraphNodePerspective* geo_get_current_perspective(void);` [:arrow_up_small:](#)
## [geo_get_current_camera](#geo_get_current_camera) ### Description Gets the current GraphNodeCamera ### Lua Example `local GraphNodeCameraValue = geo_get_current_camera()` ### Parameters - None ### Returns [GraphNodeCamera](structs.md#GraphNodeCamera) ### C Prototype `struct GraphNodeCamera* geo_get_current_camera(void);` [:arrow_up_small:](#)
## [geo_get_current_held_object](#geo_get_current_held_object) ### Description Gets the current GraphNodeHeldObject ### Lua Example `local GraphNodeHeldObjectValue = geo_get_current_held_object()` ### Parameters - None ### Returns [GraphNodeHeldObject](structs.md#GraphNodeHeldObject) ### C Prototype `struct GraphNodeHeldObject* geo_get_current_held_object(void);` [:arrow_up_small:](#)
--- # functions from smlua_model_utils.h
## [smlua_model_util_get_id](#smlua_model_util_get_id) ### Description Gets the extended model ID for the `name` of a `GeoLayout` ### Lua Example `local enumValue = smlua_model_util_get_id(name)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | ### Returns [enum ModelExtendedId](constants.md#enum-ModelExtendedId) ### C Prototype `enum ModelExtendedId smlua_model_util_get_id(const char* name);` [:arrow_up_small:](#)
--- # functions from smlua_obj_utils.h
## [spawn_sync_object](#spawn_sync_object) ### Description Spawns a synchronized object in at `x`, `y`, and `z` as a child object of the local Mario with his rotation. You can change the fields of the object in `objSetupFunction` ### Lua Example `local ObjectValue = spawn_sync_object(behaviorId, modelId, x, y, z, objSetupFunction)` ### Parameters | Field | Type | | ----- | ---- | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | | modelId | [enum ModelExtendedId](constants.md#enum-ModelExtendedId) | | x | `number` | | y | `number` | | z | `number` | | objSetupFunction | `Lua Function` () | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object* spawn_sync_object(enum BehaviorId behaviorId, enum ModelExtendedId modelId, f32 x, f32 y, f32 z, LuaFunction objSetupFunction);` [:arrow_up_small:](#)
## [spawn_non_sync_object](#spawn_non_sync_object) ### Description Spawns a synchronized object in at `x`, `y`, and `z` as a child object of the local Mario with his rotation. You can change the fields of the object in `objSetupFunction` ### Lua Example `local ObjectValue = spawn_non_sync_object(behaviorId, modelId, x, y, z, objSetupFunction)` ### Parameters | Field | Type | | ----- | ---- | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | | modelId | [enum ModelExtendedId](constants.md#enum-ModelExtendedId) | | x | `number` | | y | `number` | | z | `number` | | objSetupFunction | `Lua Function` () | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object* spawn_non_sync_object(enum BehaviorId behaviorId, enum ModelExtendedId modelId, f32 x, f32 y, f32 z, LuaFunction objSetupFunction);` [:arrow_up_small:](#)
## [obj_has_behavior_id](#obj_has_behavior_id) ### Description Checks if an object has `behaviorId` ### Lua Example `local integerValue = obj_has_behavior_id(o, behaviorId)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | ### Returns - `integer` ### C Prototype `s32 obj_has_behavior_id(struct Object *o, enum BehaviorId behaviorId);` [:arrow_up_small:](#)
## [obj_has_model_extended](#obj_has_model_extended) ### Description Checks if an object's model is equal to `modelId` ### Lua Example `local integerValue = obj_has_model_extended(o, modelId)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | modelId | [enum ModelExtendedId](constants.md#enum-ModelExtendedId) | ### Returns - `integer` ### C Prototype `s32 obj_has_model_extended(struct Object *o, enum ModelExtendedId modelId);` [:arrow_up_small:](#)
## [obj_get_model_id_extended](#obj_get_model_id_extended) ### Description Returns an object's extended model id ### Lua Example `local enumValue = obj_get_model_id_extended(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns [enum ModelExtendedId](constants.md#enum-ModelExtendedId) ### C Prototype `enum ModelExtendedId obj_get_model_id_extended(struct Object *o);` [:arrow_up_small:](#)
## [obj_set_model_extended](#obj_set_model_extended) ### Description Sets an object's model to `modelId` ### Lua Example `obj_set_model_extended(o, modelId)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | modelId | [enum ModelExtendedId](constants.md#enum-ModelExtendedId) | ### Returns - None ### C Prototype `void obj_set_model_extended(struct Object *o, enum ModelExtendedId modelId);` [:arrow_up_small:](#)
## [get_trajectory](#get_trajectory) ### Description Gets a trajectory by `name` ### Lua Example `local PointerValue = get_trajectory(name)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | ### Returns - `Pointer` <`Trajectory`> ### C Prototype `Trajectory* get_trajectory(const char* name);` [:arrow_up_small:](#)
## [geo_get_current_object](#geo_get_current_object) ### Description When used in a geo function, retrieve the current processed object ### Lua Example `local ObjectValue = geo_get_current_object()` ### Parameters - None ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *geo_get_current_object(void);` [:arrow_up_small:](#)
## [get_current_object](#get_current_object) ### Description Gets the object currently being processed ### Lua Example `local ObjectValue = get_current_object()` ### Parameters - None ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *get_current_object(void);` [:arrow_up_small:](#)
## [get_dialog_object](#get_dialog_object) ### Description Gets the NPC object Mario is talking to ### Lua Example `local ObjectValue = get_dialog_object()` ### Parameters - None ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *get_dialog_object(void);` [:arrow_up_small:](#)
## [get_cutscene_focus](#get_cutscene_focus) ### Description Gets the cutscene focus object ### Lua Example `local ObjectValue = get_cutscene_focus()` ### Parameters - None ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *get_cutscene_focus(void);` [:arrow_up_small:](#)
## [get_secondary_camera_focus](#get_secondary_camera_focus) ### Description Gets the secondary camera focus object ### Lua Example `local ObjectValue = get_secondary_camera_focus()` ### Parameters - None ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *get_secondary_camera_focus(void);` [:arrow_up_small:](#)
## [set_cutscene_focus](#set_cutscene_focus) ### Description Sets the cutscene focus object ### Lua Example `local voidValue = set_cutscene_focus(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `void *` ### C Prototype `void *set_cutscene_focus(struct Object *o);` [:arrow_up_small:](#)
## [set_secondary_camera_focus](#set_secondary_camera_focus) ### Description Sets the secondary camera focus object ### Lua Example `local voidValue = set_secondary_camera_focus(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `void *` ### C Prototype `void *set_secondary_camera_focus(struct Object *o);` [:arrow_up_small:](#)
## [obj_get_first](#obj_get_first) ### Description Gets the first object in an object list ### Lua Example `local ObjectValue = obj_get_first(objList)` ### Parameters | Field | Type | | ----- | ---- | | objList | [enum ObjectList](constants.md#enum-ObjectList) | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_first(enum ObjectList objList);` [:arrow_up_small:](#)
## [obj_get_first_with_behavior_id](#obj_get_first_with_behavior_id) ### Description Gets the first object loaded with `behaviorId` ### Lua Example `local ObjectValue = obj_get_first_with_behavior_id(behaviorId)` ### Parameters | Field | Type | | ----- | ---- | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_first_with_behavior_id(enum BehaviorId behaviorId);` [:arrow_up_small:](#)
## [obj_get_first_with_behavior_id_and_field_s32](#obj_get_first_with_behavior_id_and_field_s32) ### Description Gets the first object loaded with `behaviorId` and object signed 32-bit integer field (look in `object_fields.h` to get the index of a field) ### Lua Example `local ObjectValue = obj_get_first_with_behavior_id_and_field_s32(behaviorId, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | | fieldIndex | `integer` | | value | `integer` | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_first_with_behavior_id_and_field_s32(enum BehaviorId behaviorId, s32 fieldIndex, s32 value);` [:arrow_up_small:](#)
## [obj_get_first_with_behavior_id_and_field_f32](#obj_get_first_with_behavior_id_and_field_f32) ### Description Gets the first object loaded with `behaviorId` and object float field (look in `object_fields.h` to get the index of a field) ### Lua Example `local ObjectValue = obj_get_first_with_behavior_id_and_field_f32(behaviorId, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | | fieldIndex | `integer` | | value | `number` | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_first_with_behavior_id_and_field_f32(enum BehaviorId behaviorId, s32 fieldIndex, f32 value);` [:arrow_up_small:](#)
## [obj_get_next](#obj_get_next) ### Description Gets the next object in an object list ### Lua Example `local ObjectValue = obj_get_next(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_next(struct Object *o);` [:arrow_up_small:](#)
## [obj_get_next_with_same_behavior_id](#obj_get_next_with_same_behavior_id) ### Description Gets the next object loaded with the same behavior ID ### Lua Example `local ObjectValue = obj_get_next_with_same_behavior_id(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_next_with_same_behavior_id(struct Object *o);` [:arrow_up_small:](#)
## [obj_get_next_with_same_behavior_id_and_field_s32](#obj_get_next_with_same_behavior_id_and_field_s32) ### Description Gets the next object loaded with the same behavior ID and object signed 32-bit integer field (look in `object_fields.h` to get the index of a field) ### Lua Example `local ObjectValue = obj_get_next_with_same_behavior_id_and_field_s32(o, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | value | `integer` | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_next_with_same_behavior_id_and_field_s32(struct Object *o, s32 fieldIndex, s32 value);` [:arrow_up_small:](#)
## [obj_get_next_with_same_behavior_id_and_field_f32](#obj_get_next_with_same_behavior_id_and_field_f32) ### Description Gets the next object loaded with the same behavior ID and object float field (look in `object_fields.h` to get the index of a field) ### Lua Example `local ObjectValue = obj_get_next_with_same_behavior_id_and_field_f32(o, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | value | `number` | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_next_with_same_behavior_id_and_field_f32(struct Object *o, s32 fieldIndex, f32 value);` [:arrow_up_small:](#)
## [obj_get_nearest_object_with_behavior_id](#obj_get_nearest_object_with_behavior_id) ### Description Gets the nearest object with `behaviorId` to `o` ### Lua Example `local ObjectValue = obj_get_nearest_object_with_behavior_id(o, behaviorId)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_nearest_object_with_behavior_id(struct Object *o, enum BehaviorId behaviorId);` [:arrow_up_small:](#)
## [obj_count_objects_with_behavior_id](#obj_count_objects_with_behavior_id) ### Description Counts every object with `behaviorId` ### Lua Example `local integerValue = obj_count_objects_with_behavior_id(behaviorId)` ### Parameters | Field | Type | | ----- | ---- | | behaviorId | [enum BehaviorId](constants.md#enum-BehaviorId) | ### Returns - `integer` ### C Prototype `s32 obj_count_objects_with_behavior_id(enum BehaviorId behaviorId);` [:arrow_up_small:](#)
## [obj_get_collided_object](#obj_get_collided_object) ### Description Gets the corresponding collided object to an index from `o` ### Lua Example `local ObjectValue = obj_get_collided_object(o, index)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | index | `integer` | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object *obj_get_collided_object(struct Object *o, s16 index);` [:arrow_up_small:](#)
## [obj_get_field_u32](#obj_get_field_u32) ### Description Gets the unsigned 32-bit integer value from the field corresponding to `fieldIndex` ### Lua Example `local integerValue = obj_get_field_u32(o, fieldIndex)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | ### Returns - `integer` ### C Prototype `u32 obj_get_field_u32(struct Object *o, s32 fieldIndex);` [:arrow_up_small:](#)
## [obj_get_field_s32](#obj_get_field_s32) ### Description Gets the signed 32-bit integer value from the field corresponding to `fieldIndex` ### Lua Example `local integerValue = obj_get_field_s32(o, fieldIndex)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | ### Returns - `integer` ### C Prototype `s32 obj_get_field_s32(struct Object *o, s32 fieldIndex);` [:arrow_up_small:](#)
## [obj_get_field_f32](#obj_get_field_f32) ### Description Sets the float value from the field corresponding to `fieldIndex` ### Lua Example `local numberValue = obj_get_field_f32(o, fieldIndex)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | ### Returns - `number` ### C Prototype `f32 obj_get_field_f32(struct Object *o, s32 fieldIndex);` [:arrow_up_small:](#)
## [obj_get_field_s16](#obj_get_field_s16) ### Description Gets the signed 32-bit integer value from the sub field corresponding to `fieldSubIndex` from the field corresponding to `fieldIndex` ### Lua Example `local integerValue = obj_get_field_s16(o, fieldIndex, fieldSubIndex)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | fieldSubIndex | `integer` | ### Returns - `integer` ### C Prototype `s16 obj_get_field_s16(struct Object *o, s32 fieldIndex, s32 fieldSubIndex);` [:arrow_up_small:](#)
## [obj_set_field_u32](#obj_set_field_u32) ### Description Sets the unsigned 32-bit integer value from the field corresponding to `fieldIndex` ### Lua Example `obj_set_field_u32(o, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void obj_set_field_u32(struct Object *o, s32 fieldIndex, u32 value);` [:arrow_up_small:](#)
## [obj_set_field_s32](#obj_set_field_s32) ### Description Sets the signed 32-bit integer value from the field corresponding to `fieldIndex` ### Lua Example `obj_set_field_s32(o, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void obj_set_field_s32(struct Object *o, s32 fieldIndex, s32 value);` [:arrow_up_small:](#)
## [obj_set_field_f32](#obj_set_field_f32) ### Description Sets the float value from the field corresponding to `fieldIndex` ### Lua Example `obj_set_field_f32(o, fieldIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | value | `number` | ### Returns - None ### C Prototype `void obj_set_field_f32(struct Object *o, s32 fieldIndex, f32 value);` [:arrow_up_small:](#)
## [obj_set_field_s16](#obj_set_field_s16) ### Description Sets the signed 32-bit integer value from the sub field corresponding to `fieldSubIndex` from the field corresponding to `fieldIndex` ### Lua Example `obj_set_field_s16(o, fieldIndex, fieldSubIndex, value)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | fieldIndex | `integer` | | fieldSubIndex | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void obj_set_field_s16(struct Object *o, s32 fieldIndex, s32 fieldSubIndex, s16 value);` [:arrow_up_small:](#)
## [obj_get_temp_spawn_particles_info](#obj_get_temp_spawn_particles_info) ### Description Returns a temporary particle spawn info pointer with its model loaded in from `modelId` ### Lua Example `local SpawnParticlesInfoValue = obj_get_temp_spawn_particles_info(modelId)` ### Parameters | Field | Type | | ----- | ---- | | modelId | [enum ModelExtendedId](constants.md#enum-ModelExtendedId) | ### Returns [SpawnParticlesInfo](structs.md#SpawnParticlesInfo) ### C Prototype `struct SpawnParticlesInfo* obj_get_temp_spawn_particles_info(enum ModelExtendedId modelId);` [:arrow_up_small:](#)
## [get_temp_object_hitbox](#get_temp_object_hitbox) ### Description Returns a temporary object hitbox pointer ### Lua Example `local ObjectHitboxValue = get_temp_object_hitbox()` ### Parameters - None ### Returns [ObjectHitbox](structs.md#ObjectHitbox) ### C Prototype `struct ObjectHitbox* get_temp_object_hitbox(void);` [:arrow_up_small:](#)
## [obj_is_attackable](#obj_is_attackable) ### Description Checks if `o` is attackable ### Lua Example `local booleanValue = obj_is_attackable(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_attackable(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_breakable_object](#obj_is_breakable_object) ### Description Checks if `o` is breakable ### Lua Example `local booleanValue = obj_is_breakable_object(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_breakable_object(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_bully](#obj_is_bully) ### Description Checks if `o` is a Bully ### Lua Example `local booleanValue = obj_is_bully(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_bully(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_coin](#obj_is_coin) ### Description Checks if `o` is a coin ### Lua Example `local booleanValue = obj_is_coin(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_coin(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_exclamation_box](#obj_is_exclamation_box) ### Description Checks if `o` is an exclamation box ### Lua Example `local booleanValue = obj_is_exclamation_box(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_exclamation_box(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_grabbable](#obj_is_grabbable) ### Description Checks if `o` is grabbable ### Lua Example `local booleanValue = obj_is_grabbable(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_grabbable(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_mushroom_1up](#obj_is_mushroom_1up) ### Description Checks if `o` is a 1-Up Mushroom ### Lua Example `local booleanValue = obj_is_mushroom_1up(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_mushroom_1up(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_secret](#obj_is_secret) ### Description Checks if `o` is a secret ### Lua Example `local booleanValue = obj_is_secret(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_secret(struct Object *o);` [:arrow_up_small:](#)
## [obj_is_valid_for_interaction](#obj_is_valid_for_interaction) ### Description Checks if `o` is activated, tangible, and interactible ### Lua Example `local booleanValue = obj_is_valid_for_interaction(o)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_is_valid_for_interaction(struct Object *o);` [:arrow_up_small:](#)
## [obj_check_hitbox_overlap](#obj_check_hitbox_overlap) ### Description Checks if `o1`'s hitbox is colliding with `o2`'s hitbox ### Lua Example `local booleanValue = obj_check_hitbox_overlap(o1, o2)` ### Parameters | Field | Type | | ----- | ---- | | o1 | [Object](structs.md#Object) | | o2 | [Object](structs.md#Object) | ### Returns - `boolean` ### C Prototype `bool obj_check_hitbox_overlap(struct Object *o1, struct Object *o2);` [:arrow_up_small:](#)
## [obj_check_overlap_with_hitbox_params](#obj_check_overlap_with_hitbox_params) ### Description Checks if `o`'s hitbox is colliding with the parameters of a hitbox ### Lua Example `local booleanValue = obj_check_overlap_with_hitbox_params(o, x, y, z, h, r, d)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | x | `number` | | y | `number` | | z | `number` | | h | `number` | | r | `number` | | d | `number` | ### Returns - `boolean` ### C Prototype `bool obj_check_overlap_with_hitbox_params(struct Object *o, f32 x, f32 y, f32 z, f32 h, f32 r, f32 d);` [:arrow_up_small:](#)
## [obj_set_vel](#obj_set_vel) ### Description Sets an object's velocity to `vx`, `vy`, and `vz` ### Lua Example `obj_set_vel(o, vx, vy, vz)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | vx | `number` | | vy | `number` | | vz | `number` | ### Returns - None ### C Prototype `void obj_set_vel(struct Object *o, f32 vx, f32 vy, f32 vz);` [:arrow_up_small:](#)
## [obj_move_xyz](#obj_move_xyz) ### Description Moves the object in the direction of `dx`, `dy`, and `dz` ### Lua Example `obj_move_xyz(o, dx, dy, dz)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | dx | `number` | | dy | `number` | | dz | `number` | ### Returns - None ### C Prototype `void obj_move_xyz(struct Object *o, f32 dx, f32 dy, f32 dz);` [:arrow_up_small:](#)
## [set_whirlpools](#set_whirlpools) ### Description Sets the parameters of one of the two whirlpools (0-indexed) in an area ### Lua Example `set_whirlpools(x, y, z, strength, area, index)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | y | `number` | | z | `number` | | strength | `integer` | | area | `integer` | | index | `integer` | ### Returns - None ### C Prototype `void set_whirlpools(f32 x, f32 y, f32 z, s16 strength, s16 area, s32 index);` [:arrow_up_small:](#)
--- # functions from smlua_text_utils.h
## [smlua_text_utils_reset_all](#smlua_text_utils_reset_all) ### Description Resets every modified dialog back to vanilla ### Lua Example `smlua_text_utils_reset_all()` ### Parameters - None ### Returns - None ### C Prototype `void smlua_text_utils_reset_all(void);` [:arrow_up_small:](#)
## [smlua_text_utils_dialog_replace](#smlua_text_utils_dialog_replace) ### Description Replaces `dialogId` with a custom one ### Lua Example `smlua_text_utils_dialog_replace(dialogId, unused, linesPerBox, leftOffset, width, str)` ### Parameters | Field | Type | | ----- | ---- | | dialogId | [enum DialogId](constants.md#enum-DialogId) | | unused | `integer` | | linesPerBox | `integer` | | leftOffset | `integer` | | width | `integer` | | str | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_dialog_replace(enum DialogId dialogId, u32 unused, s8 linesPerBox, s16 leftOffset, s16 width, const char* str);` [:arrow_up_small:](#)
## [smlua_text_utils_course_acts_replace](#smlua_text_utils_course_acts_replace) ### Description Replaces the act names of `courseNum` ### Lua Example `smlua_text_utils_course_acts_replace(courseNum, courseName, act1, act2, act3, act4, act5, act6)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | courseName | `string` | | act1 | `string` | | act2 | `string` | | act3 | `string` | | act4 | `string` | | act5 | `string` | | act6 | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_course_acts_replace(s16 courseNum, const char* courseName, const char* act1, const char* act2, const char* act3, const char* act4, const char* act5, const char* act6);` [:arrow_up_small:](#)
## [smlua_text_utils_secret_star_replace](#smlua_text_utils_secret_star_replace) ### Description Replaces the secret star course name of `courseNum` with `courseName` ### Lua Example `smlua_text_utils_secret_star_replace(courseNum, courseName)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | courseName | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_secret_star_replace(s16 courseNum, const char* courseName);` [:arrow_up_small:](#)
## [smlua_text_utils_course_name_replace](#smlua_text_utils_course_name_replace) ### Description Replaces the name of `courseNum` with `name` ### Lua Example `smlua_text_utils_course_name_replace(courseNum, name)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | name | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_course_name_replace(s16 courseNum, const char* name);` [:arrow_up_small:](#)
## [smlua_text_utils_course_name_get](#smlua_text_utils_course_name_get) ### Description Gets the name of `courseNum` ### Lua Example `local stringValue = smlua_text_utils_course_name_get(courseNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | ### Returns - `string` ### C Prototype `const char* smlua_text_utils_course_name_get(s16 courseNum);` [:arrow_up_small:](#)
## [smlua_text_utils_course_name_mod_index](#smlua_text_utils_course_name_mod_index) ### Description Gets the index of the mod that replaced the name of `courseNum` ### Lua Example `local integerValue = smlua_text_utils_course_name_mod_index(courseNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | ### Returns - `integer` ### C Prototype `s32 smlua_text_utils_course_name_mod_index(s16 courseNum);` [:arrow_up_small:](#)
## [smlua_text_utils_course_name_reset](#smlua_text_utils_course_name_reset) ### Description Resets the name of `courseNum` ### Lua Example `smlua_text_utils_course_name_reset(courseNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | ### Returns - None ### C Prototype `void smlua_text_utils_course_name_reset(s16 courseNum);` [:arrow_up_small:](#)
## [smlua_text_utils_act_name_replace](#smlua_text_utils_act_name_replace) ### Description Replaces the act name of `actNum` in `courseNum` with `name` ### Lua Example `smlua_text_utils_act_name_replace(courseNum, actNum, name)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | actNum | `integer` | | name | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_act_name_replace(s16 courseNum, u8 actNum, const char* name);` [:arrow_up_small:](#)
## [smlua_text_utils_act_name_get](#smlua_text_utils_act_name_get) ### Description Gets the act name of `actNum` in `courseNum` ### Lua Example `local stringValue = smlua_text_utils_act_name_get(courseNum, actNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | actNum | `integer` | ### Returns - `string` ### C Prototype `const char* smlua_text_utils_act_name_get(s16 courseNum, u8 actNum);` [:arrow_up_small:](#)
## [smlua_text_utils_act_name_mod_index](#smlua_text_utils_act_name_mod_index) ### Description Gets the index of the mod that replaced the act name of `actNum` in `courseNum` ### Lua Example `local integerValue = smlua_text_utils_act_name_mod_index(courseNum, actNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | actNum | `integer` | ### Returns - `integer` ### C Prototype `s32 smlua_text_utils_act_name_mod_index(s16 courseNum, u8 actNum);` [:arrow_up_small:](#)
## [smlua_text_utils_act_name_reset](#smlua_text_utils_act_name_reset) ### Description Resets the act name of `actNum` in `courseNum` ### Lua Example `smlua_text_utils_act_name_reset(courseNum, actNum)` ### Parameters | Field | Type | | ----- | ---- | | courseNum | `integer` | | actNum | `integer` | ### Returns - None ### C Prototype `void smlua_text_utils_act_name_reset(s16 courseNum, u8 actNum);` [:arrow_up_small:](#)
## [smlua_text_utils_castle_secret_stars_replace](#smlua_text_utils_castle_secret_stars_replace) ### Description Replaces the castle secret stars text with `name` ### Lua Example `smlua_text_utils_castle_secret_stars_replace(name)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_castle_secret_stars_replace(const char* name);` [:arrow_up_small:](#)
## [smlua_text_utils_extra_text_replace](#smlua_text_utils_extra_text_replace) ### Description Replace extra text (e.g. one of the castle's secret stars) with `text` ### Lua Example `smlua_text_utils_extra_text_replace(index, text)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | text | `string` | ### Returns - None ### C Prototype `void smlua_text_utils_extra_text_replace(s16 index, const char* text);` [:arrow_up_small:](#)
## [smlua_text_utils_get_language](#smlua_text_utils_get_language) ### Description Gets the current language ### Lua Example `local stringValue = smlua_text_utils_get_language()` ### Parameters - None ### Returns - `string` ### C Prototype `const char* smlua_text_utils_get_language(void);` [:arrow_up_small:](#)
--- # functions from sound_init.h
## [reset_volume](#reset_volume) ### Description Resets if music volume has been lowered ### Lua Example `reset_volume()` ### Parameters - None ### Returns - None ### C Prototype `void reset_volume(void);` [:arrow_up_small:](#)
## [raise_background_noise](#raise_background_noise) ### Description Raises music volume back up to normal levels ### Lua Example `raise_background_noise(a)` ### Parameters | Field | Type | | ----- | ---- | | a | `integer` | ### Returns - None ### C Prototype `void raise_background_noise(s32 a);` [:arrow_up_small:](#)
## [lower_background_noise](#lower_background_noise) ### Description Lowers the volume of music by 40% ### Lua Example `lower_background_noise(a)` ### Parameters | Field | Type | | ----- | ---- | | a | `integer` | ### Returns - None ### C Prototype `void lower_background_noise(s32 a);` [:arrow_up_small:](#)
## [disable_background_sound](#disable_background_sound) ### Description Disables background soundbanks ### Lua Example `disable_background_sound()` ### Parameters - None ### Returns - None ### C Prototype `void disable_background_sound(void);` [:arrow_up_small:](#)
## [enable_background_sound](#enable_background_sound) ### Description Enables background soundbanks ### Lua Example `enable_background_sound()` ### Parameters - None ### Returns - None ### C Prototype `void enable_background_sound(void);` [:arrow_up_small:](#)
## [play_menu_sounds](#play_menu_sounds) ### Description Play menu sounds from `SOUND_MENU_FLAG_*` constants and queues rumble if `SOUND_MENU_FLAG_LETGOMARIOFACE` is one of the flags ### Lua Example `play_menu_sounds(soundMenuFlags)` ### Parameters | Field | Type | | ----- | ---- | | soundMenuFlags | `integer` | ### Returns - None ### C Prototype `void play_menu_sounds(s16 soundMenuFlags);` [:arrow_up_small:](#)
## [play_painting_eject_sound](#play_painting_eject_sound) ### Description Plays the painting eject sound effect if it has not already been played ### Lua Example `play_painting_eject_sound()` ### Parameters - None ### Returns - None ### C Prototype `void play_painting_eject_sound(void);` [:arrow_up_small:](#)
## [play_infinite_stairs_music](#play_infinite_stairs_music) ### Description Plays the infinite stairs music if you're in the endless stairs room and have less than `gLevelValues.infiniteStairsRequirement` stars ### Lua Example `play_infinite_stairs_music()` ### Parameters - None ### Returns - None ### C Prototype `void play_infinite_stairs_music(void);` [:arrow_up_small:](#)
## [set_background_music](#set_background_music) ### Description Sets the background music to `seqArgs` on sequence player `a` with a fade in time of `fadeTimer` ### Lua Example `set_background_music(a, seqArgs, fadeTimer)` ### Parameters | Field | Type | | ----- | ---- | | a | `integer` | | seqArgs | `integer` | | fadeTimer | `integer` | ### Returns - None ### C Prototype `void set_background_music(u16 a, u16 seqArgs, s16 fadeTimer);` [:arrow_up_small:](#)
## [fadeout_music](#fadeout_music) ### Description Fades out level, shell, and cap music ### Lua Example `fadeout_music(fadeOutTime)` ### Parameters | Field | Type | | ----- | ---- | | fadeOutTime | `integer` | ### Returns - None ### C Prototype `void fadeout_music(s16 fadeOutTime);` [:arrow_up_small:](#)
## [fadeout_level_music](#fadeout_level_music) ### Description Fades out the level sequence player ### Lua Example `fadeout_level_music(fadeTimer)` ### Parameters | Field | Type | | ----- | ---- | | fadeTimer | `integer` | ### Returns - None ### C Prototype `void fadeout_level_music(s16 fadeTimer);` [:arrow_up_small:](#)
## [play_cutscene_music](#play_cutscene_music) ### Description Plays and sets the current music to `seqArgs` ### Lua Example `play_cutscene_music(seqArgs)` ### Parameters | Field | Type | | ----- | ---- | | seqArgs | `integer` | ### Returns - None ### C Prototype `void play_cutscene_music(u16 seqArgs);` [:arrow_up_small:](#)
## [play_shell_music](#play_shell_music) ### Description Plays shell music ### Lua Example `play_shell_music()` ### Parameters - None ### Returns - None ### C Prototype `void play_shell_music(void);` [:arrow_up_small:](#)
## [stop_shell_music](#stop_shell_music) ### Description Stops shell music completely ### Lua Example `stop_shell_music()` ### Parameters - None ### Returns - None ### C Prototype `void stop_shell_music(void);` [:arrow_up_small:](#)
## [play_cap_music](#play_cap_music) ### Description Plays `seqArgs` as cap music ### Lua Example `play_cap_music(seqArgs)` ### Parameters | Field | Type | | ----- | ---- | | seqArgs | `integer` | ### Returns - None ### C Prototype `void play_cap_music(u16 seqArgs);` [:arrow_up_small:](#)
## [fadeout_cap_music](#fadeout_cap_music) ### Description Fades out cap music ### Lua Example `fadeout_cap_music()` ### Parameters - None ### Returns - None ### C Prototype `void fadeout_cap_music(void);` [:arrow_up_small:](#)
## [stop_cap_music](#stop_cap_music) ### Description Stops cap music completely ### Lua Example `stop_cap_music()` ### Parameters - None ### Returns - None ### C Prototype `void stop_cap_music(void);` [:arrow_up_small:](#)
--- # functions from spawn_sound.h
## [cur_obj_play_sound_1](#cur_obj_play_sound_1) ### Description Plays a sound if the current object is visible ### Lua Example `cur_obj_play_sound_1(soundMagic)` ### Parameters | Field | Type | | ----- | ---- | | soundMagic | `integer` | ### Returns - None ### C Prototype `void cur_obj_play_sound_1(s32 soundMagic);` [:arrow_up_small:](#)
## [cur_obj_play_sound_2](#cur_obj_play_sound_2) ### Description Plays a sound if the current object is visible and queues rumble for specific sounds ### Lua Example `cur_obj_play_sound_2(soundMagic)` ### Parameters | Field | Type | | ----- | ---- | | soundMagic | `integer` | ### Returns - None ### C Prototype `void cur_obj_play_sound_2(s32 soundMagic);` [:arrow_up_small:](#)
## [create_sound_spawner](#create_sound_spawner) ### Description Create a sound spawner for objects that need a sound play once. (Breakable walls, King Bobomb exploding, etc) ### Lua Example `create_sound_spawner(soundMagic)` ### Parameters | Field | Type | | ----- | ---- | | soundMagic | `integer` | ### Returns - None ### C Prototype `void create_sound_spawner(s32 soundMagic);` [:arrow_up_small:](#)
## [calc_dist_to_volume_range_1](#calc_dist_to_volume_range_1) ### Description Unused vanilla function, calculates a volume based on `distance`. If `distance` is less than 500 then 127, if `distance` is greater than 1500 then 0, if `distance` is between 500 and 1500 then it ranges linearly from 60 to 124. What an even more strange and confusing function ### Lua Example `local integerValue = calc_dist_to_volume_range_1(distance)` ### Parameters | Field | Type | | ----- | ---- | | distance | `number` | ### Returns - `integer` ### C Prototype `s32 calc_dist_to_volume_range_1(f32 distance);` [:arrow_up_small:](#)
## [calc_dist_to_volume_range_2](#calc_dist_to_volume_range_2) ### Description Unused vanilla function, calculates a volume based on `distance`. If `distance` is less than 1300 then 127, if `distance` is greater than 2300 then 0, if `distance` is between 1300 and 2300 then it ranges linearly from 60 to 127. What a strange and confusing function ### Lua Example `local integerValue = calc_dist_to_volume_range_2(distance)` ### Parameters | Field | Type | | ----- | ---- | | distance | `number` | ### Returns - `integer` ### C Prototype `s32 calc_dist_to_volume_range_2(f32 distance);` [:arrow_up_small:](#)
--- # functions from surface_collision.h
## [find_wall_collisions](#find_wall_collisions) ### Description Detects wall collisions at a given position and adjusts the position based on the walls found. Returns the number of wall collisions detected ### Lua Example `local integerValue = find_wall_collisions(colData)` ### Parameters | Field | Type | | ----- | ---- | | colData | [WallCollisionData](structs.md#WallCollisionData) | ### Returns - `integer` ### C Prototype `s32 find_wall_collisions(struct WallCollisionData *colData);` [:arrow_up_small:](#)
## [find_ceil_height](#find_ceil_height) ### Description Finds the height of the highest ceiling above a given position (x, y, z). If no ceiling is found, returns the default height limit of `gLevelValues.cellHeightLimit`(20000 by default) ### Lua Example `local numberValue = find_ceil_height(x, y, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | y | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_ceil_height(f32 x, f32 y, f32 z);` [:arrow_up_small:](#)
## [find_floor_height](#find_floor_height) ### Description Finds the height of the highest floor below a given position (x, y, z). If no floor is found, returns the default floor height of `gLevelValues.floorLowerLimit`(-11000 by default) ### Lua Example `local numberValue = find_floor_height(x, y, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | y | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_floor_height(f32 x, f32 y, f32 z);` [:arrow_up_small:](#)
## [find_water_level](#find_water_level) ### Description Finds the height of water at a given position (x, z), if the position is within a water region. If no water is found, returns the default height of `gLevelValues.floorLowerLimit`(-11000 by default) ### Lua Example `local numberValue = find_water_level(x, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_water_level(f32 x, f32 z);` [:arrow_up_small:](#)
## [find_poison_gas_level](#find_poison_gas_level) ### Description Finds the height of the poison gas at a given position (x, z), if the position is within a gas region. If no gas is found, returns the default height of `gLevelValues.floorLowerLimit`(-11000 by default) ### Lua Example `local numberValue = find_poison_gas_level(x, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_poison_gas_level(f32 x, f32 z);` [:arrow_up_small:](#)
## [set_find_wall_direction](#set_find_wall_direction) ### Description Sets whether collision finding functions should check wall directions. ### Lua Example `set_find_wall_direction(dir, active, airborne)` ### Parameters | Field | Type | | ----- | ---- | | dir | [Vec3f](structs.md#Vec3f) | | active | `boolean` | | airborne | `boolean` | ### Returns - None ### C Prototype `void set_find_wall_direction(Vec3f dir, bool active, bool airborne);` [:arrow_up_small:](#)
## [closest_point_to_triangle](#closest_point_to_triangle) ### Description Gets the closest point of the triangle to `src` and returns it in `out`. ### Lua Example `closest_point_to_triangle(surf, src, out)` ### Parameters | Field | Type | | ----- | ---- | | surf | [Surface](structs.md#Surface) | | src | [Vec3f](structs.md#Vec3f) | | out | [Vec3f](structs.md#Vec3f) | ### Returns - None ### C Prototype `void closest_point_to_triangle(struct Surface* surf, Vec3f src, Vec3f out);` [:arrow_up_small:](#)
--- # functions from surface_load.h
## [load_object_collision_model](#load_object_collision_model) ### Description Loads the object's collision data into dynamic collision. You must run this every frame in your object's behavior loop for it to have collision ### Lua Example `load_object_collision_model()` ### Parameters - None ### Returns - None ### C Prototype `void load_object_collision_model(void);` [:arrow_up_small:](#)
## [obj_get_surface_from_index](#obj_get_surface_from_index) ### Description Gets a surface corresponding to `index` from the surface pool buffer ### Lua Example `local SurfaceValue = obj_get_surface_from_index(o, index)` ### Parameters | Field | Type | | ----- | ---- | | o | [Object](structs.md#Object) | | index | `integer` | ### Returns [Surface](structs.md#Surface) ### C Prototype `struct Surface *obj_get_surface_from_index(struct Object *o, u32 index);` [:arrow_up_small:](#)
## [surface_has_force](#surface_has_force) ### Description Checks if a surface has force ### Lua Example `local booleanValue = surface_has_force(surfaceType)` ### Parameters | Field | Type | | ----- | ---- | | surfaceType | `integer` | ### Returns - `boolean` ### C Prototype `bool surface_has_force(s16 surfaceType);` [:arrow_up_small:](#)
--- # functions from sync_object.h
## [sync_object_get_object](#sync_object_get_object) ### Description Retrieves an object from a sync ID ### Lua Example `local ObjectValue = sync_object_get_object(syncId)` ### Parameters | Field | Type | | ----- | ---- | | syncId | `integer` | ### Returns [Object](structs.md#Object) ### C Prototype `struct Object* sync_object_get_object(u32 syncId);` [:arrow_up_small:](#)
## [sync_object_is_initialized](#sync_object_is_initialized) ### Description Checks if a sync object is initialized using a `syncId` ### Lua Example `local booleanValue = sync_object_is_initialized(syncId)` ### Parameters | Field | Type | | ----- | ---- | | syncId | `integer` | ### Returns - `boolean` ### C Prototype `bool sync_object_is_initialized(u32 syncId);` [:arrow_up_small:](#)
## [sync_object_is_owned_locally](#sync_object_is_owned_locally) ### Description Checks if a sync object is owned locally using a `syncId` ### Lua Example `local booleanValue = sync_object_is_owned_locally(syncId)` ### Parameters | Field | Type | | ----- | ---- | | syncId | `integer` | ### Returns - `boolean` ### C Prototype `bool sync_object_is_owned_locally(u32 syncId);` [:arrow_up_small:](#)
--- [< prev](functions-5.md) | [1](functions.md) | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | 6]