## [:rewind: Lua Functions](functions.md) --- [< prev](functions-4.md) | [1](functions.md) | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | 5] --- # functions from smlua_misc_utils.h
## [add_scroll_target](#add_scroll_target) ### Lua Example `add_scroll_target(index, name, offset, size)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | name | `string` | | offset | `integer` | | size | `integer` | ### Returns - None ### C Prototype `void add_scroll_target(u32 index, const char* name, u32 offset, u32 size);` [:arrow_up_small:](#)
## [allocate_mario_action](#allocate_mario_action) ### 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:](#)
## [camera_config_enable_analog_cam](#camera_config_enable_analog_cam) ### 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_free_cam](#camera_config_enable_free_cam) ### 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_mouse_look](#camera_config_enable_mouse_look) ### 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_get_aggression](#camera_config_get_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_deceleration](#camera_config_get_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_pan_level](#camera_config_get_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_x_sensitivity](#camera_config_get_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) ### 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_invert_x](#camera_config_invert_x) ### 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) ### 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_is_analog_cam_enabled](#camera_config_is_analog_cam_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_free_cam_enabled](#camera_config_is_free_cam_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_mouse_look_enabled](#camera_config_is_mouse_look_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) ### 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) ### 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_set_aggression](#camera_config_set_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_deceleration](#camera_config_set_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_config_set_pan_level](#camera_config_set_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_x_sensitivity](#camera_config_set_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) ### 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_freeze](#camera_freeze) ### Lua Example `camera_freeze()` ### Parameters - None ### Returns - None ### C Prototype `void camera_freeze(void);` [:arrow_up_small:](#)
## [camera_is_frozen](#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_reset_overrides](#camera_reset_overrides) ### Lua Example `camera_reset_overrides()` ### Parameters - None ### Returns - None ### C Prototype `void camera_reset_overrides(void);` [:arrow_up_small:](#)
## [camera_unfreeze](#camera_unfreeze) ### Lua Example `camera_unfreeze()` ### Parameters - None ### Returns - None ### C Prototype `void camera_unfreeze(void);` [:arrow_up_small:](#)
## [course_is_main_course](#course_is_main_course) ### 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:](#)
## [deref_s32_pointer](#deref_s32_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) ### 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:](#)
## [get_current_save_file_num](#get_current_save_file_num) ### 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:](#)
## [get_dialog_box_state](#get_dialog_box_state) ### Lua Example `local integerValue = get_dialog_box_state()` ### Parameters - None ### Returns - `integer` ### C Prototype `s8 get_dialog_box_state();` [:arrow_up_small:](#)
## [get_dialog_id](#get_dialog_id) ### Lua Example `local integerValue = get_dialog_id()` ### Parameters - None ### Returns - `integer` ### C Prototype `s16 get_dialog_id(void);` [:arrow_up_small:](#)
## [get_envfx](#get_envfx) ### Lua Example `local integerValue = get_envfx()` ### Parameters - None ### Returns - `integer` ### C Prototype `u16 get_envfx(void);` [:arrow_up_small:](#)
## [get_environment_region](#get_environment_region) ### Lua Example `local numberValue = get_environment_region(index)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | ### Returns - `number` ### C Prototype `f32 get_environment_region(u8 index);` [:arrow_up_small:](#)
## [get_hand_foot_pos_x](#get_hand_foot_pos_x) ### 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) ### 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) ### 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_last_star_or_key](#get_last_star_or_key) ### Lua Example `local integerValue = get_last_star_or_key()` ### Parameters - None ### Returns - `integer` ### C Prototype `s32 get_last_star_or_key(void);` [:arrow_up_small:](#)
## [get_lighting_dir](#get_lighting_dir) ### 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:](#)
## [get_network_area_timer](#get_network_area_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_os_name](#get_os_name) ### Lua Example `local stringValue = get_os_name()` ### Parameters - None ### Returns - `string` ### C Prototype `char* get_os_name(void);` [:arrow_up_small:](#)
## [get_skybox](#get_skybox) ### Lua Example `local integerValue = get_skybox()` ### Parameters - None ### Returns - `integer` ### C Prototype `s8 get_skybox();` [:arrow_up_small:](#)
## [get_temp_s32_pointer](#get_temp_s32_pointer) ### 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:](#)
## [get_time](#get_time) ### Lua Example `local integerValue = get_time()` ### Parameters - None ### Returns - `integer` ### C Prototype `u32 get_time(void);` [:arrow_up_small:](#)
## [get_ttc_speed_setting](#get_ttc_speed_setting) ### Lua Example `local integerValue = get_ttc_speed_setting()` ### Parameters - None ### Returns - `integer` ### C Prototype `s16 get_ttc_speed_setting();` [:arrow_up_small:](#)
## [hud_get_value](#hud_get_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_hide](#hud_hide) ### Lua Example `hud_hide()` ### Parameters - None ### Returns - None ### C Prototype `void hud_hide(void);` [:arrow_up_small:](#)
## [hud_is_hidden](#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_render_power_meter](#hud_render_power_meter) ### 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) ### 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_set_value](#hud_set_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_show](#hud_show) ### Lua Example `hud_show()` ### Parameters - None ### Returns - None ### C Prototype `void hud_show(void);` [:arrow_up_small:](#)
## [is_game_paused](#is_game_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) ### Lua Example `local booleanValue = is_transition_playing()` ### Parameters - None ### Returns - `boolean` ### C Prototype `bool is_transition_playing(void);` [:arrow_up_small:](#)
## [movtexqc_register](#movtexqc_register) ### 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:](#)
## [play_transition](#play_transition) ### Lua Example `play_transition(transType, time, red, green, blue)` ### Parameters | Field | Type | | ----- | ---- | | transType | `integer` | | time | `integer` | | red | `integer` | | green | `integer` | | blue | `integer` | ### Returns - None ### C Prototype `void play_transition(s16 transType, s16 time, u8 red, u8 green, u8 blue);` [:arrow_up_small:](#)
## [save_file_set_using_backup_slot](#save_file_set_using_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:](#)
## [set_environment_region](#set_environment_region) ### Lua Example `set_environment_region(index, value)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | value | `integer` | ### Returns - None ### C Prototype `void set_environment_region(u8 index, s32 value);` [:arrow_up_small:](#)
## [set_last_star_or_key](#set_last_star_or_key) ### 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:](#)
## [set_lighting_dir](#set_lighting_dir) ### 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:](#)
## [set_override_envfx](#set_override_envfx) ### Lua Example `set_override_envfx(envfx)` ### Parameters | Field | Type | | ----- | ---- | | envfx | `integer` | ### Returns - None ### C Prototype `void set_override_envfx(s32 envfx);` [:arrow_up_small:](#)
## [set_override_far](#set_override_far) ### Lua Example `set_override_far(far)` ### Parameters | Field | Type | | ----- | ---- | | far | `number` | ### Returns - None ### C Prototype `void set_override_far(f32 far);` [:arrow_up_small:](#)
## [set_override_fov](#set_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) ### 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_skybox](#set_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:](#)
## [set_ttc_speed_setting](#set_ttc_speed_setting) ### 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:](#)
--- # functions from smlua_model_utils.h
## [smlua_model_util_get_id](#smlua_model_util_get_id) ### Lua Example `local integerValue = smlua_model_util_get_id(name)` ### Parameters | Field | Type | | ----- | ---- | | name | `string` | ### Returns - `integer` ### C Prototype `u32 smlua_model_util_get_id(const char* name);` [:arrow_up_small:](#)
--- # functions from smlua_obj_utils.h
## [get_temp_object_hitbox](#get_temp_object_hitbox) ### 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:](#)
## [get_trajectory](#get_trajectory) ### 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:](#)
## [obj_check_hitbox_overlap](#obj_check_hitbox_overlap) ### 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) ### 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_count_objects_with_behavior_id](#obj_count_objects_with_behavior_id) ### 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) ### 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_first](#obj_get_first) ### 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) ### 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_f32](#obj_get_first_with_behavior_id_and_field_f32) ### 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_first_with_behavior_id_and_field_s32](#obj_get_first_with_behavior_id_and_field_s32) ### 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_nearest_object_with_behavior_id](#obj_get_nearest_object_with_behavior_id) ### 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_get_next](#obj_get_next) ### 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) ### 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_f32](#obj_get_next_with_same_behavior_id_and_field_f32) ### 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_next_with_same_behavior_id_and_field_s32](#obj_get_next_with_same_behavior_id_and_field_s32) ### 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_temp_spawn_particles_info](#obj_get_temp_spawn_particles_info) ### 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:](#)
## [obj_has_behavior_id](#obj_has_behavior_id) ### 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) ### 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_is_attackable](#obj_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) ### 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) ### 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) ### 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) ### 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) ### 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) ### 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) ### 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) ### 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_move_xyz](#obj_move_xyz) ### 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:](#)
## [obj_set_model_extended](#obj_set_model_extended) ### 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:](#)
## [obj_set_vel](#obj_set_vel) ### 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:](#)
## [set_whirlpools](#set_whirlpools) ### 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:](#)
## [spawn_non_sync_object](#spawn_non_sync_object) ### 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:](#)
## [spawn_sync_object](#spawn_sync_object) ### 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:](#)
--- # functions from smlua_text_utils.h
## [smlua_text_utils_castle_secret_stars_replace](#smlua_text_utils_castle_secret_stars_replace) ### 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_course_acts_replace](#smlua_text_utils_course_acts_replace) ### 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_dialog_replace](#smlua_text_utils_dialog_replace) ### 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_extra_text_replace](#smlua_text_utils_extra_text_replace) ### 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) ### Lua Example `local stringValue = smlua_text_utils_get_language()` ### Parameters - None ### Returns - `string` ### C Prototype `char* smlua_text_utils_get_language(void);` [:arrow_up_small:](#)
## [smlua_text_utils_reset_all](#smlua_text_utils_reset_all) ### 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_secret_star_replace](#smlua_text_utils_secret_star_replace) ### 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:](#)
--- # functions from sound_init.h
## [disable_background_sound](#disable_background_sound) ### 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) ### Lua Example `enable_background_sound()` ### Parameters - None ### Returns - None ### C Prototype `void enable_background_sound(void);` [:arrow_up_small:](#)
## [fadeout_cap_music](#fadeout_cap_music) ### Lua Example `fadeout_cap_music()` ### Parameters - None ### Returns - None ### C Prototype `void fadeout_cap_music(void);` [:arrow_up_small:](#)
## [fadeout_level_music](#fadeout_level_music) ### Lua Example `fadeout_level_music(fadeTimer)` ### Parameters | Field | Type | | ----- | ---- | | fadeTimer | `integer` | ### Returns - None ### C Prototype `void fadeout_level_music(s16 fadeTimer);` [:arrow_up_small:](#)
## [fadeout_music](#fadeout_music) ### Lua Example `fadeout_music(fadeOutTime)` ### Parameters | Field | Type | | ----- | ---- | | fadeOutTime | `integer` | ### Returns - None ### C Prototype `void fadeout_music(s16 fadeOutTime);` [:arrow_up_small:](#)
## [lower_background_noise](#lower_background_noise) ### Lua Example `lower_background_noise(a)` ### Parameters | Field | Type | | ----- | ---- | | a | `integer` | ### Returns - None ### C Prototype `void lower_background_noise(s32 a);` [:arrow_up_small:](#)
## [play_cap_music](#play_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:](#)
## [play_cutscene_music](#play_cutscene_music) ### 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_infinite_stairs_music](#play_infinite_stairs_music) ### Lua Example `play_infinite_stairs_music()` ### Parameters - None ### Returns - None ### C Prototype `void play_infinite_stairs_music(void);` [:arrow_up_small:](#)
## [play_menu_sounds](#play_menu_sounds) ### 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) ### Lua Example `play_painting_eject_sound()` ### Parameters - None ### Returns - None ### C Prototype `void play_painting_eject_sound(void);` [:arrow_up_small:](#)
## [play_shell_music](#play_shell_music) ### Lua Example `play_shell_music()` ### Parameters - None ### Returns - None ### C Prototype `void play_shell_music(void);` [:arrow_up_small:](#)
## [raise_background_noise](#raise_background_noise) ### Lua Example `raise_background_noise(a)` ### Parameters | Field | Type | | ----- | ---- | | a | `integer` | ### Returns - None ### C Prototype `void raise_background_noise(s32 a);` [:arrow_up_small:](#)
## [reset_volume](#reset_volume) ### Lua Example `reset_volume()` ### Parameters - None ### Returns - None ### C Prototype `void reset_volume(void);` [:arrow_up_small:](#)
## [set_background_music](#set_background_music) ### 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:](#)
## [stop_cap_music](#stop_cap_music) ### Lua Example `stop_cap_music()` ### Parameters - None ### Returns - None ### C Prototype `void stop_cap_music(void);` [:arrow_up_small:](#)
## [stop_shell_music](#stop_shell_music) ### Lua Example `stop_shell_music()` ### Parameters - None ### Returns - None ### C Prototype `void stop_shell_music(void);` [:arrow_up_small:](#)
--- # functions from spawn_sound.c
## [calc_dist_to_volume_range_1](#calc_dist_to_volume_range_1) ### 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) ### 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:](#)
## [cur_obj_play_sound_1](#cur_obj_play_sound_1) ### 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) ### 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:](#)
## [exec_anim_sound_state](#exec_anim_sound_state) ### Lua Example `exec_anim_sound_state(soundStates, maxSoundStates)` ### Parameters | Field | Type | | ----- | ---- | | soundStates | [SoundState](structs.md#SoundState) | | maxSoundStates | `integer` | ### Returns - None ### C Prototype `void exec_anim_sound_state(struct SoundState *soundStates, u16 maxSoundStates);` [:arrow_up_small:](#)
--- # functions from surface_collision.h
## [find_ceil_height](#find_ceil_height) ### 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) ### Lua Example `local numberValue = find_floor_height(x, y, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | y | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_floor_height(f32 x, f32 y, f32 z);` [:arrow_up_small:](#)
## [find_poison_gas_level](#find_poison_gas_level) ### Lua Example `local numberValue = find_poison_gas_level(x, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_poison_gas_level(f32 x, f32 z);` [:arrow_up_small:](#)
## [find_wall_collisions](#find_wall_collisions) ### Lua Example `local integerValue = find_wall_collisions(colData)` ### Parameters | Field | Type | | ----- | ---- | | colData | [WallCollisionData](structs.md#WallCollisionData) | ### Returns - `integer` ### C Prototype `s32 find_wall_collisions(struct WallCollisionData *colData);` [:arrow_up_small:](#)
## [find_water_level](#find_water_level) ### Lua Example `local numberValue = find_water_level(x, z)` ### Parameters | Field | Type | | ----- | ---- | | x | `number` | | z | `number` | ### Returns - `number` ### C Prototype `f32 find_water_level(f32 x, f32 z);` [:arrow_up_small:](#)
--- # functions from surface_load.h
## [alloc_surface_pools](#alloc_surface_pools) ### Lua Example `alloc_surface_pools()` ### Parameters - None ### Returns - None ### C Prototype `void alloc_surface_pools(void);` [:arrow_up_small:](#)
## [clear_dynamic_surfaces](#clear_dynamic_surfaces) ### Lua Example `clear_dynamic_surfaces()` ### Parameters - None ### Returns - None ### C Prototype `void clear_dynamic_surfaces(void);` [:arrow_up_small:](#)
## [get_area_terrain_size](#get_area_terrain_size) ### Lua Example `local integerValue = get_area_terrain_size(data)` ### Parameters | Field | Type | | ----- | ---- | | data | `Pointer` <`integer`> | ### Returns - `integer` ### C Prototype `u32 get_area_terrain_size(s16 *data);` [:arrow_up_small:](#)
## [load_area_terrain](#load_area_terrain) ### Lua Example `load_area_terrain(index, data, surfaceRooms, macroObjects)` ### Parameters | Field | Type | | ----- | ---- | | index | `integer` | | data | `Pointer` <`integer`> | | surfaceRooms | `Pointer` <`integer`> | | macroObjects | `Pointer` <`integer`> | ### Returns - None ### C Prototype `void load_area_terrain(s16 index, s16 *data, s8 *surfaceRooms, s16 *macroObjects);` [:arrow_up_small:](#)
## [load_object_collision_model](#load_object_collision_model) ### Lua Example `load_object_collision_model()` ### Parameters - None ### Returns - None ### C Prototype `void load_object_collision_model(void);` [:arrow_up_small:](#)
--- [< prev](functions-4.md) | [1](functions.md) | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | 5]