Documentation of area.h and characters.h (#548)

* Documentation of characters.h

Documenting characters.h

* Add documentation to Area.h

* Redo autogen for new descriptions
This commit is contained in:
John S 2024-12-07 16:06:27 -05:00 committed by GitHub
parent e9df872213
commit 58de87d1c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 7215 additions and 7136 deletions

View file

@ -2,12 +2,14 @@
--- @param id integer
--- @return ObjectWarpNode
--- Finds a warp node in the current area by its ID. The warp node must exist in the list of warp nodes for the current area. Useful for locating a specific warp point in the level, such as teleportation zones or connections to other areas.
function area_get_warp_node(id)
-- ...
end
--- @param o Object
--- @return ObjectWarpNode
--- Finds a warp node in the current area using parameters from the provided object. The object's behavior parameters are used to determine the warp node ID. Useful for associating an object (like a door or warp pipe) with its corresponding warp node in the area.
function area_get_warp_node_from_params(o)
-- ...
end
@ -3007,18 +3009,21 @@ end
--- @param m MarioState
--- @param characterAnim CharacterAnimID
--- @return integer
--- Gets the animation ID to use for a specific character and animation combination. The ID is based on `characterAnim` and the character currently controlled by Mario (`m`). Useful for determining which animation to play for actions like walking, jumping, or idle states
function get_character_anim(m, characterAnim)
-- ...
end
--- @param m MarioState
--- @return number
--- Calculates the animation offset for Mario's current animation. The offset is determined by the type of animation being played (e.g., hand, feet, or torso movement). Useful for smoothly syncing Mario's model height or positional adjustments during animations
function get_character_anim_offset(m)
-- ...
end
--- @param m MarioState
--- @param characterSound CharacterSound
--- Plays a character-specific sound based on the given `characterSound` value. The sound is tied to Mario's current state (`m`). Useful for triggering sound effects for actions like jumping or interacting with the environment
function play_character_sound(m, characterSound)
-- ...
end
@ -3026,6 +3031,7 @@ end
--- @param m MarioState
--- @param characterSound CharacterSound
--- @param flags integer
--- Plays a character-specific sound only if certain flags are not set. This ensures that sounds are not repeated unnecessarily. The sound is based on `characterSound`, and the flags are checked using `flags`. Useful for avoiding duplicate sound effects in rapid succession or conditional actions
function play_character_sound_if_no_flag(m, characterSound, flags)
-- ...
end
@ -3033,11 +3039,13 @@ end
--- @param m MarioState
--- @param characterSound CharacterSound
--- @param offset integer
--- Plays a character-specific sound with an additional `offset`, allowing variations or delays in the sound effect. Uses Mario's current state (`m`). Useful for adding dynamic sound effects or syncing sounds to specific animations or events
function play_character_sound_offset(m, characterSound, offset)
-- ...
end
--- @param m MarioState
--- Updates Mario's current animation offset. This adjusts Mario's position based on the calculated offset to ensure animations appear smooth and natural. Useful for keeping Mario's animations visually aligned, particularly when transitioning between animations
function update_character_anim_offset(m)
-- ...
end

View file

@ -2,7 +2,7 @@
---
[< prev](functions.md) | [1](functions.md) | 2 | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [next >](functions-3.md)]
[< prev](functions.md) | [1](functions.md) | 2 | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [6](functions-6.md) | [next >](functions-3.md)]
---
@ -10572,5 +10572,5 @@
<br />
---
[< prev](functions.md) | [1](functions.md) | 2 | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [next >](functions-3.md)]
[< prev](functions.md) | [1](functions.md) | 2 | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [6](functions-6.md) | [next >](functions-3.md)]

View file

@ -2,7 +2,7 @@
---
[< prev](functions-2.md) | [1](functions.md) | [2](functions-2.md) | 3 | [4](functions-4.md) | [5](functions-5.md) | [next >](functions-4.md)]
[< prev](functions-2.md) | [1](functions.md) | [2](functions-2.md) | 3 | [4](functions-4.md) | [5](functions-5.md) | [6](functions-6.md) | [next >](functions-4.md)]
---
@ -1918,6 +1918,9 @@
## [get_character_anim](#get_character_anim)
### Description
Gets the animation ID to use for a specific character and animation combination. The ID is based on `characterAnim` and the character currently controlled by Mario (`m`). Useful for determining which animation to play for actions like walking, jumping, or idle states
### Lua Example
`local integerValue = get_character_anim(m, characterAnim)`
@ -1939,6 +1942,9 @@
## [get_character_anim_offset](#get_character_anim_offset)
### Description
Calculates the animation offset for Mario's current animation. The offset is determined by the type of animation being played (e.g., hand, feet, or torso movement). Useful for smoothly syncing Mario's model height or positional adjustments during animations
### Lua Example
`local numberValue = get_character_anim_offset(m)`
@ -1959,6 +1965,9 @@
## [play_character_sound](#play_character_sound)
### Description
Plays a character-specific sound based on the given `characterSound` value. The sound is tied to Mario's current state (`m`). Useful for triggering sound effects for actions like jumping or interacting with the environment
### Lua Example
`play_character_sound(m, characterSound)`
@ -1980,6 +1989,9 @@
## [play_character_sound_if_no_flag](#play_character_sound_if_no_flag)
### Description
Plays a character-specific sound only if certain flags are not set. This ensures that sounds are not repeated unnecessarily. The sound is based on `characterSound`, and the flags are checked using `flags`. Useful for avoiding duplicate sound effects in rapid succession or conditional actions
### Lua Example
`play_character_sound_if_no_flag(m, characterSound, flags)`
@ -2002,6 +2014,9 @@
## [play_character_sound_offset](#play_character_sound_offset)
### Description
Plays a character-specific sound with an additional `offset`, allowing variations or delays in the sound effect. Uses Mario's current state (`m`). Useful for adding dynamic sound effects or syncing sounds to specific animations or events
### Lua Example
`play_character_sound_offset(m, characterSound, offset)`
@ -2024,6 +2039,9 @@
## [update_character_anim_offset](#update_character_anim_offset)
### Description
Updates Mario's current animation offset. This adjusts Mario's position based on the calculated offset to ensure animations appear smooth and natural. Useful for keeping Mario's animations visually aligned, particularly when transitioning between animations
### Lua Example
`update_character_anim_offset(m)`
@ -8394,263 +8412,8 @@
[:arrow_up_small:](#)
<br />
---
# functions from mario_step.h
<br />
## [get_additive_y_vel_for_jumps](#get_additive_y_vel_for_jumps)
### Lua Example
`local numberValue = get_additive_y_vel_for_jumps()`
### Parameters
- None
### Returns
- `number`
### C Prototype
`f32 get_additive_y_vel_for_jumps(void);`
[:arrow_up_small:](#)
<br />
## [init_bully_collision_data](#init_bully_collision_data)
### Lua Example
`init_bully_collision_data(data, posX, posZ, forwardVel, yaw, conversionRatio, radius)`
### Parameters
| Field | Type |
| ----- | ---- |
| data | [BullyCollisionData](structs.md#BullyCollisionData) |
| posX | `number` |
| posZ | `number` |
| forwardVel | `number` |
| yaw | `integer` |
| conversionRatio | `number` |
| radius | `number` |
### Returns
- None
### C Prototype
`void init_bully_collision_data(struct BullyCollisionData *data, f32 posX, f32 posZ, f32 forwardVel, s16 yaw, f32 conversionRatio, f32 radius);`
[:arrow_up_small:](#)
<br />
## [mario_bonk_reflection](#mario_bonk_reflection)
### Lua Example
`mario_bonk_reflection(arg0, arg1)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
| arg1 | `integer` |
### Returns
- None
### C Prototype
`void mario_bonk_reflection(struct MarioState *, u32);`
[:arrow_up_small:](#)
<br />
## [mario_push_off_steep_floor](#mario_push_off_steep_floor)
### Lua Example
`local integerValue = mario_push_off_steep_floor(arg0, arg1, arg2)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
| arg1 | `integer` |
| arg2 | `integer` |
### Returns
- `integer`
### C Prototype
`u32 mario_push_off_steep_floor(struct MarioState *, u32, u32);`
[:arrow_up_small:](#)
<br />
## [mario_update_moving_sand](#mario_update_moving_sand)
### Lua Example
`local integerValue = mario_update_moving_sand(arg0)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
### Returns
- `integer`
### C Prototype
`u32 mario_update_moving_sand(struct MarioState *);`
[:arrow_up_small:](#)
<br />
## [mario_update_quicksand](#mario_update_quicksand)
### Lua Example
`local integerValue = mario_update_quicksand(arg0, arg1)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
| arg1 | `number` |
### Returns
- `integer`
### C Prototype
`u32 mario_update_quicksand(struct MarioState *, f32);`
[:arrow_up_small:](#)
<br />
## [mario_update_windy_ground](#mario_update_windy_ground)
### Lua Example
`local integerValue = mario_update_windy_ground(arg0)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
### Returns
- `integer`
### C Prototype
`u32 mario_update_windy_ground(struct MarioState *);`
[:arrow_up_small:](#)
<br />
## [perform_air_step](#perform_air_step)
### Lua Example
`local integerValue = perform_air_step(arg0, arg1)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
| arg1 | `integer` |
### Returns
- `integer`
### C Prototype
`s32 perform_air_step(struct MarioState *, u32);`
[:arrow_up_small:](#)
<br />
## [perform_ground_step](#perform_ground_step)
### Lua Example
`local integerValue = perform_ground_step(arg0)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
### Returns
- `integer`
### C Prototype
`s32 perform_ground_step(struct MarioState *);`
[:arrow_up_small:](#)
<br />
## [set_vel_from_pitch_and_yaw](#set_vel_from_pitch_and_yaw)
### Lua Example
`set_vel_from_pitch_and_yaw(m)`
### Parameters
| Field | Type |
| ----- | ---- |
| m | [MarioState](structs.md#MarioState) |
### Returns
- None
### C Prototype
`void set_vel_from_pitch_and_yaw(struct MarioState* m);`
[:arrow_up_small:](#)
<br />
## [stationary_ground_step](#stationary_ground_step)
### Lua Example
`local integerValue = stationary_ground_step(arg0)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
### Returns
- `integer`
### C Prototype
`s32 stationary_ground_step(struct MarioState *);`
[:arrow_up_small:](#)
<br />
## [stop_and_set_height_to_floor](#stop_and_set_height_to_floor)
### Lua Example
`stop_and_set_height_to_floor(arg0)`
### Parameters
| Field | Type |
| ----- | ---- |
| arg0 | [MarioState](structs.md#MarioState) |
### Returns
- None
### C Prototype
`void stop_and_set_height_to_floor(struct MarioState *);`
[:arrow_up_small:](#)
<br />
---
[< prev](functions-2.md) | [1](functions.md) | [2](functions-2.md) | 3 | [4](functions-4.md) | [5](functions-5.md) | [next >](functions-4.md)]
[< prev](functions-2.md) | [1](functions.md) | [2](functions-2.md) | 3 | [4](functions-4.md) | [5](functions-5.md) | [6](functions-6.md) | [next >](functions-4.md)]

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1851
docs/lua/functions-6.md Normal file

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@
---
1 | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [next >](functions-2.md)]
1 | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [6](functions-6.md) | [next >](functions-2.md)]
---
@ -1124,18 +1124,18 @@
<br />
- mario_step.h
- [get_additive_y_vel_for_jumps](functions-3.md#get_additive_y_vel_for_jumps)
- [init_bully_collision_data](functions-3.md#init_bully_collision_data)
- [mario_bonk_reflection](functions-3.md#mario_bonk_reflection)
- [mario_push_off_steep_floor](functions-3.md#mario_push_off_steep_floor)
- [mario_update_moving_sand](functions-3.md#mario_update_moving_sand)
- [mario_update_quicksand](functions-3.md#mario_update_quicksand)
- [mario_update_windy_ground](functions-3.md#mario_update_windy_ground)
- [perform_air_step](functions-3.md#perform_air_step)
- [perform_ground_step](functions-3.md#perform_ground_step)
- [set_vel_from_pitch_and_yaw](functions-3.md#set_vel_from_pitch_and_yaw)
- [stationary_ground_step](functions-3.md#stationary_ground_step)
- [stop_and_set_height_to_floor](functions-3.md#stop_and_set_height_to_floor)
- [get_additive_y_vel_for_jumps](functions-4.md#get_additive_y_vel_for_jumps)
- [init_bully_collision_data](functions-4.md#init_bully_collision_data)
- [mario_bonk_reflection](functions-4.md#mario_bonk_reflection)
- [mario_push_off_steep_floor](functions-4.md#mario_push_off_steep_floor)
- [mario_update_moving_sand](functions-4.md#mario_update_moving_sand)
- [mario_update_quicksand](functions-4.md#mario_update_quicksand)
- [mario_update_windy_ground](functions-4.md#mario_update_windy_ground)
- [perform_air_step](functions-4.md#perform_air_step)
- [perform_ground_step](functions-4.md#perform_ground_step)
- [set_vel_from_pitch_and_yaw](functions-4.md#set_vel_from_pitch_and_yaw)
- [stationary_ground_step](functions-4.md#stationary_ground_step)
- [stop_and_set_height_to_floor](functions-4.md#stop_and_set_height_to_floor)
<br />
@ -1328,246 +1328,246 @@
<br />
- object_helpers.c
- [abs_angle_diff](functions-4.md#abs_angle_diff)
- [apply_drag_to_value](functions-4.md#apply_drag_to_value)
- [approach_f32_signed](functions-4.md#approach_f32_signed)
- [approach_f32_symmetric](functions-4.md#approach_f32_symmetric)
- [approach_s16_symmetric](functions-4.md#approach_s16_symmetric)
- [bhv_dust_smoke_loop](functions-4.md#bhv_dust_smoke_loop)
- [bhv_init_room](functions-4.md#bhv_init_room)
- [bit_shift_left](functions-4.md#bit_shift_left)
- [chain_segment_init](functions-4.md#chain_segment_init)
- [clear_move_flag](functions-4.md#clear_move_flag)
- [clear_time_stop_flags](functions-4.md#clear_time_stop_flags)
- [count_objects_with_behavior](functions-4.md#count_objects_with_behavior)
- [count_unimportant_objects](functions-4.md#count_unimportant_objects)
- [create_transformation_from_matrices](functions-4.md#create_transformation_from_matrices)
- [cur_obj_abs_y_dist_to_home](functions-4.md#cur_obj_abs_y_dist_to_home)
- [cur_obj_advance_looping_anim](functions-4.md#cur_obj_advance_looping_anim)
- [cur_obj_align_gfx_with_floor](functions-4.md#cur_obj_align_gfx_with_floor)
- [cur_obj_angle_to_home](functions-4.md#cur_obj_angle_to_home)
- [cur_obj_apply_drag_xz](functions-4.md#cur_obj_apply_drag_xz)
- [cur_obj_become_intangible](functions-4.md#cur_obj_become_intangible)
- [cur_obj_become_tangible](functions-4.md#cur_obj_become_tangible)
- [cur_obj_can_mario_activate_textbox](functions-4.md#cur_obj_can_mario_activate_textbox)
- [cur_obj_can_mario_activate_textbox_2](functions-4.md#cur_obj_can_mario_activate_textbox_2)
- [cur_obj_change_action](functions-4.md#cur_obj_change_action)
- [cur_obj_check_anim_frame](functions-4.md#cur_obj_check_anim_frame)
- [cur_obj_check_anim_frame_in_range](functions-4.md#cur_obj_check_anim_frame_in_range)
- [cur_obj_check_frame_prior_current_frame](functions-4.md#cur_obj_check_frame_prior_current_frame)
- [cur_obj_check_grabbed_mario](functions-4.md#cur_obj_check_grabbed_mario)
- [cur_obj_check_if_at_animation_end](functions-4.md#cur_obj_check_if_at_animation_end)
- [cur_obj_check_if_near_animation_end](functions-4.md#cur_obj_check_if_near_animation_end)
- [cur_obj_check_interacted](functions-4.md#cur_obj_check_interacted)
- [cur_obj_clear_interact_status_flag](functions-4.md#cur_obj_clear_interact_status_flag)
- [cur_obj_compute_vel_xz](functions-4.md#cur_obj_compute_vel_xz)
- [cur_obj_count_objects_with_behavior](functions-4.md#cur_obj_count_objects_with_behavior)
- [cur_obj_detect_steep_floor](functions-4.md#cur_obj_detect_steep_floor)
- [cur_obj_disable](functions-4.md#cur_obj_disable)
- [cur_obj_disable_rendering](functions-4.md#cur_obj_disable_rendering)
- [cur_obj_disable_rendering_and_become_intangible](functions-4.md#cur_obj_disable_rendering_and_become_intangible)
- [cur_obj_dist_to_nearest_object_with_behavior](functions-4.md#cur_obj_dist_to_nearest_object_with_behavior)
- [cur_obj_enable_rendering](functions-4.md#cur_obj_enable_rendering)
- [cur_obj_enable_rendering_2](functions-4.md#cur_obj_enable_rendering_2)
- [cur_obj_enable_rendering_and_become_tangible](functions-4.md#cur_obj_enable_rendering_and_become_tangible)
- [cur_obj_enable_rendering_if_mario_in_room](functions-4.md#cur_obj_enable_rendering_if_mario_in_room)
- [cur_obj_end_dialog](functions-4.md#cur_obj_end_dialog)
- [cur_obj_extend_animation_if_at_end](functions-4.md#cur_obj_extend_animation_if_at_end)
- [cur_obj_find_nearby_held_actor](functions-4.md#cur_obj_find_nearby_held_actor)
- [cur_obj_find_nearest_object_with_behavior](functions-4.md#cur_obj_find_nearest_object_with_behavior)
- [cur_obj_find_nearest_pole](functions-4.md#cur_obj_find_nearest_pole)
- [cur_obj_follow_path](functions-4.md#cur_obj_follow_path)
- [cur_obj_forward_vel_approach_upward](functions-4.md#cur_obj_forward_vel_approach_upward)
- [cur_obj_get_dropped](functions-4.md#cur_obj_get_dropped)
- [cur_obj_get_thrown_or_placed](functions-4.md#cur_obj_get_thrown_or_placed)
- [cur_obj_has_behavior](functions-4.md#cur_obj_has_behavior)
- [cur_obj_has_model](functions-4.md#cur_obj_has_model)
- [cur_obj_hide](functions-4.md#cur_obj_hide)
- [cur_obj_hide_if_mario_far_away_y](functions-4.md#cur_obj_hide_if_mario_far_away_y)
- [cur_obj_if_hit_wall_bounce_away](functions-4.md#cur_obj_if_hit_wall_bounce_away)
- [cur_obj_init_animation](functions-4.md#cur_obj_init_animation)
- [cur_obj_init_animation_and_anim_frame](functions-4.md#cur_obj_init_animation_and_anim_frame)
- [cur_obj_init_animation_and_check_if_near_end](functions-4.md#cur_obj_init_animation_and_check_if_near_end)
- [cur_obj_init_animation_and_extend_if_at_end](functions-4.md#cur_obj_init_animation_and_extend_if_at_end)
- [cur_obj_init_animation_with_accel_and_sound](functions-4.md#cur_obj_init_animation_with_accel_and_sound)
- [cur_obj_init_animation_with_sound](functions-4.md#cur_obj_init_animation_with_sound)
- [cur_obj_is_any_player_on_platform](functions-4.md#cur_obj_is_any_player_on_platform)
- [cur_obj_is_mario_ground_pounding_platform](functions-4.md#cur_obj_is_mario_ground_pounding_platform)
- [cur_obj_is_mario_on_platform](functions-4.md#cur_obj_is_mario_on_platform)
- [cur_obj_lateral_dist_from_mario_to_home](functions-4.md#cur_obj_lateral_dist_from_mario_to_home)
- [cur_obj_lateral_dist_from_obj_to_home](functions-4.md#cur_obj_lateral_dist_from_obj_to_home)
- [cur_obj_lateral_dist_to_home](functions-4.md#cur_obj_lateral_dist_to_home)
- [cur_obj_mario_far_away](functions-4.md#cur_obj_mario_far_away)
- [cur_obj_move_after_thrown_or_dropped](functions-4.md#cur_obj_move_after_thrown_or_dropped)
- [cur_obj_move_standard](functions-4.md#cur_obj_move_standard)
- [cur_obj_move_up_and_down](functions-4.md#cur_obj_move_up_and_down)
- [cur_obj_move_update_ground_air_flags](functions-4.md#cur_obj_move_update_ground_air_flags)
- [cur_obj_move_update_underwater_flags](functions-4.md#cur_obj_move_update_underwater_flags)
- [cur_obj_move_using_fvel_and_gravity](functions-4.md#cur_obj_move_using_fvel_and_gravity)
- [cur_obj_move_using_vel](functions-4.md#cur_obj_move_using_vel)
- [cur_obj_move_using_vel_and_gravity](functions-4.md#cur_obj_move_using_vel_and_gravity)
- [cur_obj_move_xz](functions-4.md#cur_obj_move_xz)
- [cur_obj_move_xz_using_fvel_and_yaw](functions-4.md#cur_obj_move_xz_using_fvel_and_yaw)
- [cur_obj_move_y](functions-4.md#cur_obj_move_y)
- [cur_obj_move_y_and_get_water_level](functions-4.md#cur_obj_move_y_and_get_water_level)
- [cur_obj_move_y_with_terminal_vel](functions-4.md#cur_obj_move_y_with_terminal_vel)
- [cur_obj_nearest_object_with_behavior](functions-4.md#cur_obj_nearest_object_with_behavior)
- [cur_obj_outside_home_rectangle](functions-4.md#cur_obj_outside_home_rectangle)
- [cur_obj_outside_home_square](functions-4.md#cur_obj_outside_home_square)
- [cur_obj_push_mario_away](functions-4.md#cur_obj_push_mario_away)
- [cur_obj_push_mario_away_from_cylinder](functions-4.md#cur_obj_push_mario_away_from_cylinder)
- [cur_obj_reflect_move_angle_off_wall](functions-4.md#cur_obj_reflect_move_angle_off_wall)
- [cur_obj_reset_timer_and_subaction](functions-4.md#cur_obj_reset_timer_and_subaction)
- [cur_obj_resolve_wall_collisions](functions-4.md#cur_obj_resolve_wall_collisions)
- [cur_obj_reverse_animation](functions-4.md#cur_obj_reverse_animation)
- [cur_obj_rotate_face_angle_using_vel](functions-4.md#cur_obj_rotate_face_angle_using_vel)
- [cur_obj_rotate_move_angle_using_vel](functions-4.md#cur_obj_rotate_move_angle_using_vel)
- [cur_obj_rotate_yaw_toward](functions-4.md#cur_obj_rotate_yaw_toward)
- [cur_obj_scale](functions-4.md#cur_obj_scale)
- [cur_obj_scale_over_time](functions-4.md#cur_obj_scale_over_time)
- [cur_obj_set_behavior](functions-4.md#cur_obj_set_behavior)
- [cur_obj_set_billboard_if_vanilla_cam](functions-4.md#cur_obj_set_billboard_if_vanilla_cam)
- [cur_obj_set_face_angle_to_move_angle](functions-4.md#cur_obj_set_face_angle_to_move_angle)
- [cur_obj_set_hitbox_and_die_if_attacked](functions-4.md#cur_obj_set_hitbox_and_die_if_attacked)
- [cur_obj_set_hitbox_radius_and_height](functions-4.md#cur_obj_set_hitbox_radius_and_height)
- [cur_obj_set_home_once](functions-4.md#cur_obj_set_home_once)
- [cur_obj_set_hurtbox_radius_and_height](functions-4.md#cur_obj_set_hurtbox_radius_and_height)
- [cur_obj_set_pos_relative](functions-4.md#cur_obj_set_pos_relative)
- [cur_obj_set_pos_relative_to_parent](functions-4.md#cur_obj_set_pos_relative_to_parent)
- [cur_obj_set_pos_to_home](functions-4.md#cur_obj_set_pos_to_home)
- [cur_obj_set_pos_to_home_and_stop](functions-4.md#cur_obj_set_pos_to_home_and_stop)
- [cur_obj_set_pos_to_home_with_debug](functions-4.md#cur_obj_set_pos_to_home_with_debug)
- [cur_obj_set_pos_via_transform](functions-4.md#cur_obj_set_pos_via_transform)
- [cur_obj_set_vel_from_mario_vel](functions-4.md#cur_obj_set_vel_from_mario_vel)
- [cur_obj_set_y_vel_and_animation](functions-4.md#cur_obj_set_y_vel_and_animation)
- [cur_obj_shake_screen](functions-4.md#cur_obj_shake_screen)
- [cur_obj_shake_y](functions-4.md#cur_obj_shake_y)
- [cur_obj_shake_y_until](functions-4.md#cur_obj_shake_y_until)
- [cur_obj_spawn_loot_blue_coin](functions-4.md#cur_obj_spawn_loot_blue_coin)
- [cur_obj_spawn_loot_coin_at_mario_pos](functions-4.md#cur_obj_spawn_loot_coin_at_mario_pos)
- [cur_obj_spawn_particles](functions-4.md#cur_obj_spawn_particles)
- [cur_obj_spawn_star_at_y_offset](functions-4.md#cur_obj_spawn_star_at_y_offset)
- [cur_obj_start_cam_event](functions-4.md#cur_obj_start_cam_event)
- [cur_obj_unhide](functions-4.md#cur_obj_unhide)
- [cur_obj_unrender_and_reset_state](functions-4.md#cur_obj_unrender_and_reset_state)
- [cur_obj_unused_init_on_floor](functions-4.md#cur_obj_unused_init_on_floor)
- [cur_obj_unused_play_footstep_sound](functions-4.md#cur_obj_unused_play_footstep_sound)
- [cur_obj_unused_resolve_wall_collisions](functions-4.md#cur_obj_unused_resolve_wall_collisions)
- [cur_obj_update_floor](functions-4.md#cur_obj_update_floor)
- [cur_obj_update_floor_and_resolve_wall_collisions](functions-4.md#cur_obj_update_floor_and_resolve_wall_collisions)
- [cur_obj_update_floor_and_walls](functions-4.md#cur_obj_update_floor_and_walls)
- [cur_obj_update_floor_height](functions-4.md#cur_obj_update_floor_height)
- [cur_obj_update_floor_height_and_get_floor](functions-4.md#cur_obj_update_floor_height_and_get_floor)
- [cur_obj_wait_then_blink](functions-4.md#cur_obj_wait_then_blink)
- [cur_obj_was_attacked_or_ground_pounded](functions-4.md#cur_obj_was_attacked_or_ground_pounded)
- [cur_obj_within_12k_bounds](functions-4.md#cur_obj_within_12k_bounds)
- [disable_time_stop](functions-4.md#disable_time_stop)
- [disable_time_stop_including_mario](functions-4.md#disable_time_stop_including_mario)
- [dist_between_object_and_point](functions-4.md#dist_between_object_and_point)
- [dist_between_objects](functions-4.md#dist_between_objects)
- [enable_time_stop](functions-4.md#enable_time_stop)
- [enable_time_stop_if_alone](functions-4.md#enable_time_stop_if_alone)
- [enable_time_stop_including_mario](functions-4.md#enable_time_stop_including_mario)
- [find_object_with_behavior](functions-4.md#find_object_with_behavior)
- [find_unimportant_object](functions-4.md#find_unimportant_object)
- [geo_offset_klepto_debug](functions-4.md#geo_offset_klepto_debug)
- [get_object_list_from_behavior](functions-4.md#get_object_list_from_behavior)
- [get_trajectory_length](functions-4.md#get_trajectory_length)
- [increment_velocity_toward_range](functions-4.md#increment_velocity_toward_range)
- [is_item_in_array](functions-4.md#is_item_in_array)
- [is_mario_moving_fast_or_in_air](functions-4.md#is_mario_moving_fast_or_in_air)
- [lateral_dist_between_objects](functions-4.md#lateral_dist_between_objects)
- [linear_mtxf_mul_vec3f](functions-4.md#linear_mtxf_mul_vec3f)
- [linear_mtxf_transpose_mul_vec3f](functions-4.md#linear_mtxf_transpose_mul_vec3f)
- [mario_is_dive_sliding](functions-4.md#mario_is_dive_sliding)
- [mario_is_in_air_action](functions-4.md#mario_is_in_air_action)
- [mario_is_within_rectangle](functions-4.md#mario_is_within_rectangle)
- [mario_set_flag](functions-4.md#mario_set_flag)
- [obj_angle_to_object](functions-4.md#obj_angle_to_object)
- [obj_angle_to_point](functions-4.md#obj_angle_to_point)
- [obj_apply_scale_to_matrix](functions-4.md#obj_apply_scale_to_matrix)
- [obj_apply_scale_to_transform](functions-4.md#obj_apply_scale_to_transform)
- [obj_attack_collided_from_other_object](functions-4.md#obj_attack_collided_from_other_object)
- [obj_become_tangible](functions-4.md#obj_become_tangible)
- [obj_build_relative_transform](functions-4.md#obj_build_relative_transform)
- [obj_build_transform_from_pos_and_angle](functions-4.md#obj_build_transform_from_pos_and_angle)
- [obj_build_transform_relative_to_parent](functions-4.md#obj_build_transform_relative_to_parent)
- [obj_build_vel_from_transform](functions-4.md#obj_build_vel_from_transform)
- [obj_check_if_collided_with_object](functions-4.md#obj_check_if_collided_with_object)
- [obj_copy_angle](functions-4.md#obj_copy_angle)
- [obj_copy_behavior_params](functions-4.md#obj_copy_behavior_params)
- [obj_copy_graph_y_offset](functions-4.md#obj_copy_graph_y_offset)
- [obj_copy_pos](functions-4.md#obj_copy_pos)
- [obj_copy_pos_and_angle](functions-4.md#obj_copy_pos_and_angle)
- [obj_copy_scale](functions-4.md#obj_copy_scale)
- [obj_create_transform_from_self](functions-4.md#obj_create_transform_from_self)
- [obj_explode_and_spawn_coins](functions-4.md#obj_explode_and_spawn_coins)
- [obj_has_behavior](functions-4.md#obj_has_behavior)
- [obj_init_animation](functions-4.md#obj_init_animation)
- [obj_init_animation_with_accel_and_sound](functions-4.md#obj_init_animation_with_accel_and_sound)
- [obj_init_animation_with_sound](functions-4.md#obj_init_animation_with_sound)
- [obj_is_hidden](functions-4.md#obj_is_hidden)
- [obj_mark_for_deletion](functions-4.md#obj_mark_for_deletion)
- [obj_pitch_to_object](functions-4.md#obj_pitch_to_object)
- [obj_scale](functions-4.md#obj_scale)
- [obj_scale_random](functions-4.md#obj_scale_random)
- [obj_scale_xyz](functions-4.md#obj_scale_xyz)
- [obj_set_angle](functions-4.md#obj_set_angle)
- [obj_set_behavior](functions-4.md#obj_set_behavior)
- [obj_set_billboard](functions-4.md#obj_set_billboard)
- [obj_set_cylboard](functions-4.md#obj_set_cylboard)
- [obj_set_face_angle](functions-4.md#obj_set_face_angle)
- [obj_set_face_angle_to_move_angle](functions-4.md#obj_set_face_angle_to_move_angle)
- [obj_set_gfx_angle](functions-4.md#obj_set_gfx_angle)
- [obj_set_gfx_pos](functions-4.md#obj_set_gfx_pos)
- [obj_set_gfx_pos_at_obj_pos](functions-4.md#obj_set_gfx_pos_at_obj_pos)
- [obj_set_gfx_pos_from_pos](functions-4.md#obj_set_gfx_pos_from_pos)
- [obj_set_gfx_scale](functions-4.md#obj_set_gfx_scale)
- [obj_set_held_state](functions-4.md#obj_set_held_state)
- [obj_set_hitbox](functions-4.md#obj_set_hitbox)
- [obj_set_hitbox_radius_and_height](functions-4.md#obj_set_hitbox_radius_and_height)
- [obj_set_hurtbox_radius_and_height](functions-4.md#obj_set_hurtbox_radius_and_height)
- [obj_set_move_angle](functions-4.md#obj_set_move_angle)
- [obj_set_parent_relative_pos](functions-4.md#obj_set_parent_relative_pos)
- [obj_set_pos](functions-4.md#obj_set_pos)
- [obj_set_pos_relative](functions-4.md#obj_set_pos_relative)
- [obj_set_throw_matrix_from_transform](functions-4.md#obj_set_throw_matrix_from_transform)
- [obj_spawn_loot_blue_coins](functions-4.md#obj_spawn_loot_blue_coins)
- [obj_spawn_loot_coins](functions-4.md#obj_spawn_loot_coins)
- [obj_spawn_loot_yellow_coins](functions-4.md#obj_spawn_loot_yellow_coins)
- [obj_translate_local](functions-4.md#obj_translate_local)
- [obj_translate_xyz_random](functions-4.md#obj_translate_xyz_random)
- [obj_translate_xz_random](functions-4.md#obj_translate_xz_random)
- [obj_turn_toward_object](functions-4.md#obj_turn_toward_object)
- [obj_update_pos_from_parent_transformation](functions-4.md#obj_update_pos_from_parent_transformation)
- [player_performed_grab_escape_action](functions-4.md#player_performed_grab_escape_action)
- [random_f32_around_zero](functions-4.md#random_f32_around_zero)
- [set_mario_interact_hoot_if_in_range](functions-4.md#set_mario_interact_hoot_if_in_range)
- [set_room_override](functions-4.md#set_room_override)
- [set_time_stop_flags](functions-4.md#set_time_stop_flags)
- [set_time_stop_flags_if_alone](functions-4.md#set_time_stop_flags_if_alone)
- [signum_positive](functions-4.md#signum_positive)
- [spawn_base_star_with_no_lvl_exit](functions-4.md#spawn_base_star_with_no_lvl_exit)
- [spawn_mist_particles](functions-4.md#spawn_mist_particles)
- [spawn_mist_particles_with_sound](functions-4.md#spawn_mist_particles_with_sound)
- [spawn_star_with_no_lvl_exit](functions-4.md#spawn_star_with_no_lvl_exit)
- [spawn_water_droplet](functions-4.md#spawn_water_droplet)
- [stub_obj_helpers_3](functions-4.md#stub_obj_helpers_3)
- [stub_obj_helpers_4](functions-4.md#stub_obj_helpers_4)
- [abs_angle_diff](functions-5.md#abs_angle_diff)
- [apply_drag_to_value](functions-5.md#apply_drag_to_value)
- [approach_f32_signed](functions-5.md#approach_f32_signed)
- [approach_f32_symmetric](functions-5.md#approach_f32_symmetric)
- [approach_s16_symmetric](functions-5.md#approach_s16_symmetric)
- [bhv_dust_smoke_loop](functions-5.md#bhv_dust_smoke_loop)
- [bhv_init_room](functions-5.md#bhv_init_room)
- [bit_shift_left](functions-5.md#bit_shift_left)
- [chain_segment_init](functions-5.md#chain_segment_init)
- [clear_move_flag](functions-5.md#clear_move_flag)
- [clear_time_stop_flags](functions-5.md#clear_time_stop_flags)
- [count_objects_with_behavior](functions-5.md#count_objects_with_behavior)
- [count_unimportant_objects](functions-5.md#count_unimportant_objects)
- [create_transformation_from_matrices](functions-5.md#create_transformation_from_matrices)
- [cur_obj_abs_y_dist_to_home](functions-5.md#cur_obj_abs_y_dist_to_home)
- [cur_obj_advance_looping_anim](functions-5.md#cur_obj_advance_looping_anim)
- [cur_obj_align_gfx_with_floor](functions-5.md#cur_obj_align_gfx_with_floor)
- [cur_obj_angle_to_home](functions-5.md#cur_obj_angle_to_home)
- [cur_obj_apply_drag_xz](functions-5.md#cur_obj_apply_drag_xz)
- [cur_obj_become_intangible](functions-5.md#cur_obj_become_intangible)
- [cur_obj_become_tangible](functions-5.md#cur_obj_become_tangible)
- [cur_obj_can_mario_activate_textbox](functions-5.md#cur_obj_can_mario_activate_textbox)
- [cur_obj_can_mario_activate_textbox_2](functions-5.md#cur_obj_can_mario_activate_textbox_2)
- [cur_obj_change_action](functions-5.md#cur_obj_change_action)
- [cur_obj_check_anim_frame](functions-5.md#cur_obj_check_anim_frame)
- [cur_obj_check_anim_frame_in_range](functions-5.md#cur_obj_check_anim_frame_in_range)
- [cur_obj_check_frame_prior_current_frame](functions-5.md#cur_obj_check_frame_prior_current_frame)
- [cur_obj_check_grabbed_mario](functions-5.md#cur_obj_check_grabbed_mario)
- [cur_obj_check_if_at_animation_end](functions-5.md#cur_obj_check_if_at_animation_end)
- [cur_obj_check_if_near_animation_end](functions-5.md#cur_obj_check_if_near_animation_end)
- [cur_obj_check_interacted](functions-5.md#cur_obj_check_interacted)
- [cur_obj_clear_interact_status_flag](functions-5.md#cur_obj_clear_interact_status_flag)
- [cur_obj_compute_vel_xz](functions-5.md#cur_obj_compute_vel_xz)
- [cur_obj_count_objects_with_behavior](functions-5.md#cur_obj_count_objects_with_behavior)
- [cur_obj_detect_steep_floor](functions-5.md#cur_obj_detect_steep_floor)
- [cur_obj_disable](functions-5.md#cur_obj_disable)
- [cur_obj_disable_rendering](functions-5.md#cur_obj_disable_rendering)
- [cur_obj_disable_rendering_and_become_intangible](functions-5.md#cur_obj_disable_rendering_and_become_intangible)
- [cur_obj_dist_to_nearest_object_with_behavior](functions-5.md#cur_obj_dist_to_nearest_object_with_behavior)
- [cur_obj_enable_rendering](functions-5.md#cur_obj_enable_rendering)
- [cur_obj_enable_rendering_2](functions-5.md#cur_obj_enable_rendering_2)
- [cur_obj_enable_rendering_and_become_tangible](functions-5.md#cur_obj_enable_rendering_and_become_tangible)
- [cur_obj_enable_rendering_if_mario_in_room](functions-5.md#cur_obj_enable_rendering_if_mario_in_room)
- [cur_obj_end_dialog](functions-5.md#cur_obj_end_dialog)
- [cur_obj_extend_animation_if_at_end](functions-5.md#cur_obj_extend_animation_if_at_end)
- [cur_obj_find_nearby_held_actor](functions-5.md#cur_obj_find_nearby_held_actor)
- [cur_obj_find_nearest_object_with_behavior](functions-5.md#cur_obj_find_nearest_object_with_behavior)
- [cur_obj_find_nearest_pole](functions-5.md#cur_obj_find_nearest_pole)
- [cur_obj_follow_path](functions-5.md#cur_obj_follow_path)
- [cur_obj_forward_vel_approach_upward](functions-5.md#cur_obj_forward_vel_approach_upward)
- [cur_obj_get_dropped](functions-5.md#cur_obj_get_dropped)
- [cur_obj_get_thrown_or_placed](functions-5.md#cur_obj_get_thrown_or_placed)
- [cur_obj_has_behavior](functions-5.md#cur_obj_has_behavior)
- [cur_obj_has_model](functions-5.md#cur_obj_has_model)
- [cur_obj_hide](functions-5.md#cur_obj_hide)
- [cur_obj_hide_if_mario_far_away_y](functions-5.md#cur_obj_hide_if_mario_far_away_y)
- [cur_obj_if_hit_wall_bounce_away](functions-5.md#cur_obj_if_hit_wall_bounce_away)
- [cur_obj_init_animation](functions-5.md#cur_obj_init_animation)
- [cur_obj_init_animation_and_anim_frame](functions-5.md#cur_obj_init_animation_and_anim_frame)
- [cur_obj_init_animation_and_check_if_near_end](functions-5.md#cur_obj_init_animation_and_check_if_near_end)
- [cur_obj_init_animation_and_extend_if_at_end](functions-5.md#cur_obj_init_animation_and_extend_if_at_end)
- [cur_obj_init_animation_with_accel_and_sound](functions-5.md#cur_obj_init_animation_with_accel_and_sound)
- [cur_obj_init_animation_with_sound](functions-5.md#cur_obj_init_animation_with_sound)
- [cur_obj_is_any_player_on_platform](functions-5.md#cur_obj_is_any_player_on_platform)
- [cur_obj_is_mario_ground_pounding_platform](functions-5.md#cur_obj_is_mario_ground_pounding_platform)
- [cur_obj_is_mario_on_platform](functions-5.md#cur_obj_is_mario_on_platform)
- [cur_obj_lateral_dist_from_mario_to_home](functions-5.md#cur_obj_lateral_dist_from_mario_to_home)
- [cur_obj_lateral_dist_from_obj_to_home](functions-5.md#cur_obj_lateral_dist_from_obj_to_home)
- [cur_obj_lateral_dist_to_home](functions-5.md#cur_obj_lateral_dist_to_home)
- [cur_obj_mario_far_away](functions-5.md#cur_obj_mario_far_away)
- [cur_obj_move_after_thrown_or_dropped](functions-5.md#cur_obj_move_after_thrown_or_dropped)
- [cur_obj_move_standard](functions-5.md#cur_obj_move_standard)
- [cur_obj_move_up_and_down](functions-5.md#cur_obj_move_up_and_down)
- [cur_obj_move_update_ground_air_flags](functions-5.md#cur_obj_move_update_ground_air_flags)
- [cur_obj_move_update_underwater_flags](functions-5.md#cur_obj_move_update_underwater_flags)
- [cur_obj_move_using_fvel_and_gravity](functions-5.md#cur_obj_move_using_fvel_and_gravity)
- [cur_obj_move_using_vel](functions-5.md#cur_obj_move_using_vel)
- [cur_obj_move_using_vel_and_gravity](functions-5.md#cur_obj_move_using_vel_and_gravity)
- [cur_obj_move_xz](functions-5.md#cur_obj_move_xz)
- [cur_obj_move_xz_using_fvel_and_yaw](functions-5.md#cur_obj_move_xz_using_fvel_and_yaw)
- [cur_obj_move_y](functions-5.md#cur_obj_move_y)
- [cur_obj_move_y_and_get_water_level](functions-5.md#cur_obj_move_y_and_get_water_level)
- [cur_obj_move_y_with_terminal_vel](functions-5.md#cur_obj_move_y_with_terminal_vel)
- [cur_obj_nearest_object_with_behavior](functions-5.md#cur_obj_nearest_object_with_behavior)
- [cur_obj_outside_home_rectangle](functions-5.md#cur_obj_outside_home_rectangle)
- [cur_obj_outside_home_square](functions-5.md#cur_obj_outside_home_square)
- [cur_obj_push_mario_away](functions-5.md#cur_obj_push_mario_away)
- [cur_obj_push_mario_away_from_cylinder](functions-5.md#cur_obj_push_mario_away_from_cylinder)
- [cur_obj_reflect_move_angle_off_wall](functions-5.md#cur_obj_reflect_move_angle_off_wall)
- [cur_obj_reset_timer_and_subaction](functions-5.md#cur_obj_reset_timer_and_subaction)
- [cur_obj_resolve_wall_collisions](functions-5.md#cur_obj_resolve_wall_collisions)
- [cur_obj_reverse_animation](functions-5.md#cur_obj_reverse_animation)
- [cur_obj_rotate_face_angle_using_vel](functions-5.md#cur_obj_rotate_face_angle_using_vel)
- [cur_obj_rotate_move_angle_using_vel](functions-5.md#cur_obj_rotate_move_angle_using_vel)
- [cur_obj_rotate_yaw_toward](functions-5.md#cur_obj_rotate_yaw_toward)
- [cur_obj_scale](functions-5.md#cur_obj_scale)
- [cur_obj_scale_over_time](functions-5.md#cur_obj_scale_over_time)
- [cur_obj_set_behavior](functions-5.md#cur_obj_set_behavior)
- [cur_obj_set_billboard_if_vanilla_cam](functions-5.md#cur_obj_set_billboard_if_vanilla_cam)
- [cur_obj_set_face_angle_to_move_angle](functions-5.md#cur_obj_set_face_angle_to_move_angle)
- [cur_obj_set_hitbox_and_die_if_attacked](functions-5.md#cur_obj_set_hitbox_and_die_if_attacked)
- [cur_obj_set_hitbox_radius_and_height](functions-5.md#cur_obj_set_hitbox_radius_and_height)
- [cur_obj_set_home_once](functions-5.md#cur_obj_set_home_once)
- [cur_obj_set_hurtbox_radius_and_height](functions-5.md#cur_obj_set_hurtbox_radius_and_height)
- [cur_obj_set_pos_relative](functions-5.md#cur_obj_set_pos_relative)
- [cur_obj_set_pos_relative_to_parent](functions-5.md#cur_obj_set_pos_relative_to_parent)
- [cur_obj_set_pos_to_home](functions-5.md#cur_obj_set_pos_to_home)
- [cur_obj_set_pos_to_home_and_stop](functions-5.md#cur_obj_set_pos_to_home_and_stop)
- [cur_obj_set_pos_to_home_with_debug](functions-5.md#cur_obj_set_pos_to_home_with_debug)
- [cur_obj_set_pos_via_transform](functions-5.md#cur_obj_set_pos_via_transform)
- [cur_obj_set_vel_from_mario_vel](functions-5.md#cur_obj_set_vel_from_mario_vel)
- [cur_obj_set_y_vel_and_animation](functions-5.md#cur_obj_set_y_vel_and_animation)
- [cur_obj_shake_screen](functions-5.md#cur_obj_shake_screen)
- [cur_obj_shake_y](functions-5.md#cur_obj_shake_y)
- [cur_obj_shake_y_until](functions-5.md#cur_obj_shake_y_until)
- [cur_obj_spawn_loot_blue_coin](functions-5.md#cur_obj_spawn_loot_blue_coin)
- [cur_obj_spawn_loot_coin_at_mario_pos](functions-5.md#cur_obj_spawn_loot_coin_at_mario_pos)
- [cur_obj_spawn_particles](functions-5.md#cur_obj_spawn_particles)
- [cur_obj_spawn_star_at_y_offset](functions-5.md#cur_obj_spawn_star_at_y_offset)
- [cur_obj_start_cam_event](functions-5.md#cur_obj_start_cam_event)
- [cur_obj_unhide](functions-5.md#cur_obj_unhide)
- [cur_obj_unrender_and_reset_state](functions-5.md#cur_obj_unrender_and_reset_state)
- [cur_obj_unused_init_on_floor](functions-5.md#cur_obj_unused_init_on_floor)
- [cur_obj_unused_play_footstep_sound](functions-5.md#cur_obj_unused_play_footstep_sound)
- [cur_obj_unused_resolve_wall_collisions](functions-5.md#cur_obj_unused_resolve_wall_collisions)
- [cur_obj_update_floor](functions-5.md#cur_obj_update_floor)
- [cur_obj_update_floor_and_resolve_wall_collisions](functions-5.md#cur_obj_update_floor_and_resolve_wall_collisions)
- [cur_obj_update_floor_and_walls](functions-5.md#cur_obj_update_floor_and_walls)
- [cur_obj_update_floor_height](functions-5.md#cur_obj_update_floor_height)
- [cur_obj_update_floor_height_and_get_floor](functions-5.md#cur_obj_update_floor_height_and_get_floor)
- [cur_obj_wait_then_blink](functions-5.md#cur_obj_wait_then_blink)
- [cur_obj_was_attacked_or_ground_pounded](functions-5.md#cur_obj_was_attacked_or_ground_pounded)
- [cur_obj_within_12k_bounds](functions-5.md#cur_obj_within_12k_bounds)
- [disable_time_stop](functions-5.md#disable_time_stop)
- [disable_time_stop_including_mario](functions-5.md#disable_time_stop_including_mario)
- [dist_between_object_and_point](functions-5.md#dist_between_object_and_point)
- [dist_between_objects](functions-5.md#dist_between_objects)
- [enable_time_stop](functions-5.md#enable_time_stop)
- [enable_time_stop_if_alone](functions-5.md#enable_time_stop_if_alone)
- [enable_time_stop_including_mario](functions-5.md#enable_time_stop_including_mario)
- [find_object_with_behavior](functions-5.md#find_object_with_behavior)
- [find_unimportant_object](functions-5.md#find_unimportant_object)
- [geo_offset_klepto_debug](functions-5.md#geo_offset_klepto_debug)
- [get_object_list_from_behavior](functions-5.md#get_object_list_from_behavior)
- [get_trajectory_length](functions-5.md#get_trajectory_length)
- [increment_velocity_toward_range](functions-5.md#increment_velocity_toward_range)
- [is_item_in_array](functions-5.md#is_item_in_array)
- [is_mario_moving_fast_or_in_air](functions-5.md#is_mario_moving_fast_or_in_air)
- [lateral_dist_between_objects](functions-5.md#lateral_dist_between_objects)
- [linear_mtxf_mul_vec3f](functions-5.md#linear_mtxf_mul_vec3f)
- [linear_mtxf_transpose_mul_vec3f](functions-5.md#linear_mtxf_transpose_mul_vec3f)
- [mario_is_dive_sliding](functions-5.md#mario_is_dive_sliding)
- [mario_is_in_air_action](functions-5.md#mario_is_in_air_action)
- [mario_is_within_rectangle](functions-5.md#mario_is_within_rectangle)
- [mario_set_flag](functions-5.md#mario_set_flag)
- [obj_angle_to_object](functions-5.md#obj_angle_to_object)
- [obj_angle_to_point](functions-5.md#obj_angle_to_point)
- [obj_apply_scale_to_matrix](functions-5.md#obj_apply_scale_to_matrix)
- [obj_apply_scale_to_transform](functions-5.md#obj_apply_scale_to_transform)
- [obj_attack_collided_from_other_object](functions-5.md#obj_attack_collided_from_other_object)
- [obj_become_tangible](functions-5.md#obj_become_tangible)
- [obj_build_relative_transform](functions-5.md#obj_build_relative_transform)
- [obj_build_transform_from_pos_and_angle](functions-5.md#obj_build_transform_from_pos_and_angle)
- [obj_build_transform_relative_to_parent](functions-5.md#obj_build_transform_relative_to_parent)
- [obj_build_vel_from_transform](functions-5.md#obj_build_vel_from_transform)
- [obj_check_if_collided_with_object](functions-5.md#obj_check_if_collided_with_object)
- [obj_copy_angle](functions-5.md#obj_copy_angle)
- [obj_copy_behavior_params](functions-5.md#obj_copy_behavior_params)
- [obj_copy_graph_y_offset](functions-5.md#obj_copy_graph_y_offset)
- [obj_copy_pos](functions-5.md#obj_copy_pos)
- [obj_copy_pos_and_angle](functions-5.md#obj_copy_pos_and_angle)
- [obj_copy_scale](functions-5.md#obj_copy_scale)
- [obj_create_transform_from_self](functions-5.md#obj_create_transform_from_self)
- [obj_explode_and_spawn_coins](functions-5.md#obj_explode_and_spawn_coins)
- [obj_has_behavior](functions-5.md#obj_has_behavior)
- [obj_init_animation](functions-5.md#obj_init_animation)
- [obj_init_animation_with_accel_and_sound](functions-5.md#obj_init_animation_with_accel_and_sound)
- [obj_init_animation_with_sound](functions-5.md#obj_init_animation_with_sound)
- [obj_is_hidden](functions-5.md#obj_is_hidden)
- [obj_mark_for_deletion](functions-5.md#obj_mark_for_deletion)
- [obj_pitch_to_object](functions-5.md#obj_pitch_to_object)
- [obj_scale](functions-5.md#obj_scale)
- [obj_scale_random](functions-5.md#obj_scale_random)
- [obj_scale_xyz](functions-5.md#obj_scale_xyz)
- [obj_set_angle](functions-5.md#obj_set_angle)
- [obj_set_behavior](functions-5.md#obj_set_behavior)
- [obj_set_billboard](functions-5.md#obj_set_billboard)
- [obj_set_cylboard](functions-5.md#obj_set_cylboard)
- [obj_set_face_angle](functions-5.md#obj_set_face_angle)
- [obj_set_face_angle_to_move_angle](functions-5.md#obj_set_face_angle_to_move_angle)
- [obj_set_gfx_angle](functions-5.md#obj_set_gfx_angle)
- [obj_set_gfx_pos](functions-5.md#obj_set_gfx_pos)
- [obj_set_gfx_pos_at_obj_pos](functions-5.md#obj_set_gfx_pos_at_obj_pos)
- [obj_set_gfx_pos_from_pos](functions-5.md#obj_set_gfx_pos_from_pos)
- [obj_set_gfx_scale](functions-5.md#obj_set_gfx_scale)
- [obj_set_held_state](functions-5.md#obj_set_held_state)
- [obj_set_hitbox](functions-5.md#obj_set_hitbox)
- [obj_set_hitbox_radius_and_height](functions-5.md#obj_set_hitbox_radius_and_height)
- [obj_set_hurtbox_radius_and_height](functions-5.md#obj_set_hurtbox_radius_and_height)
- [obj_set_move_angle](functions-5.md#obj_set_move_angle)
- [obj_set_parent_relative_pos](functions-5.md#obj_set_parent_relative_pos)
- [obj_set_pos](functions-5.md#obj_set_pos)
- [obj_set_pos_relative](functions-5.md#obj_set_pos_relative)
- [obj_set_throw_matrix_from_transform](functions-5.md#obj_set_throw_matrix_from_transform)
- [obj_spawn_loot_blue_coins](functions-5.md#obj_spawn_loot_blue_coins)
- [obj_spawn_loot_coins](functions-5.md#obj_spawn_loot_coins)
- [obj_spawn_loot_yellow_coins](functions-5.md#obj_spawn_loot_yellow_coins)
- [obj_translate_local](functions-5.md#obj_translate_local)
- [obj_translate_xyz_random](functions-5.md#obj_translate_xyz_random)
- [obj_translate_xz_random](functions-5.md#obj_translate_xz_random)
- [obj_turn_toward_object](functions-5.md#obj_turn_toward_object)
- [obj_update_pos_from_parent_transformation](functions-5.md#obj_update_pos_from_parent_transformation)
- [player_performed_grab_escape_action](functions-5.md#player_performed_grab_escape_action)
- [random_f32_around_zero](functions-5.md#random_f32_around_zero)
- [set_mario_interact_hoot_if_in_range](functions-5.md#set_mario_interact_hoot_if_in_range)
- [set_room_override](functions-5.md#set_room_override)
- [set_time_stop_flags](functions-5.md#set_time_stop_flags)
- [set_time_stop_flags_if_alone](functions-5.md#set_time_stop_flags_if_alone)
- [signum_positive](functions-5.md#signum_positive)
- [spawn_base_star_with_no_lvl_exit](functions-5.md#spawn_base_star_with_no_lvl_exit)
- [spawn_mist_particles](functions-5.md#spawn_mist_particles)
- [spawn_mist_particles_with_sound](functions-5.md#spawn_mist_particles_with_sound)
- [spawn_star_with_no_lvl_exit](functions-5.md#spawn_star_with_no_lvl_exit)
- [spawn_water_droplet](functions-5.md#spawn_water_droplet)
- [stub_obj_helpers_3](functions-5.md#stub_obj_helpers_3)
- [stub_obj_helpers_4](functions-5.md#stub_obj_helpers_4)
<br />
- object_list_processor.h
- [set_object_respawn_info_bits](functions-4.md#set_object_respawn_info_bits)
- [set_object_respawn_info_bits](functions-5.md#set_object_respawn_info_bits)
<br />
- rumble_init.c
- [queue_rumble_data](functions-4.md#queue_rumble_data)
- [queue_rumble_data_mario](functions-4.md#queue_rumble_data_mario)
- [queue_rumble_data_object](functions-4.md#queue_rumble_data_object)
- [reset_rumble_timers](functions-4.md#reset_rumble_timers)
- [reset_rumble_timers_2](functions-4.md#reset_rumble_timers_2)
- [queue_rumble_data](functions-5.md#queue_rumble_data)
- [queue_rumble_data_mario](functions-5.md#queue_rumble_data_mario)
- [queue_rumble_data_object](functions-5.md#queue_rumble_data_object)
- [reset_rumble_timers](functions-5.md#reset_rumble_timers)
- [reset_rumble_timers_2](functions-5.md#reset_rumble_timers_2)
<br />
@ -1821,113 +1821,113 @@
<br />
- smlua_obj_utils.h
- [get_temp_object_hitbox](functions-5.md#get_temp_object_hitbox)
- [get_trajectory](functions-5.md#get_trajectory)
- [obj_check_hitbox_overlap](functions-5.md#obj_check_hitbox_overlap)
- [obj_check_overlap_with_hitbox_params](functions-5.md#obj_check_overlap_with_hitbox_params)
- [obj_count_objects_with_behavior_id](functions-5.md#obj_count_objects_with_behavior_id)
- [obj_get_collided_object](functions-5.md#obj_get_collided_object)
- [obj_get_field_f32](functions-5.md#obj_get_field_f32)
- [obj_get_field_s16](functions-5.md#obj_get_field_s16)
- [obj_get_field_s32](functions-5.md#obj_get_field_s32)
- [obj_get_field_u32](functions-5.md#obj_get_field_u32)
- [obj_get_first](functions-5.md#obj_get_first)
- [obj_get_first_with_behavior_id](functions-5.md#obj_get_first_with_behavior_id)
- [obj_get_first_with_behavior_id_and_field_f32](functions-5.md#obj_get_first_with_behavior_id_and_field_f32)
- [obj_get_first_with_behavior_id_and_field_s32](functions-5.md#obj_get_first_with_behavior_id_and_field_s32)
- [obj_get_nearest_object_with_behavior_id](functions-5.md#obj_get_nearest_object_with_behavior_id)
- [obj_get_next](functions-5.md#obj_get_next)
- [obj_get_next_with_same_behavior_id](functions-5.md#obj_get_next_with_same_behavior_id)
- [obj_get_next_with_same_behavior_id_and_field_f32](functions-5.md#obj_get_next_with_same_behavior_id_and_field_f32)
- [obj_get_next_with_same_behavior_id_and_field_s32](functions-5.md#obj_get_next_with_same_behavior_id_and_field_s32)
- [obj_get_temp_spawn_particles_info](functions-5.md#obj_get_temp_spawn_particles_info)
- [obj_has_behavior_id](functions-5.md#obj_has_behavior_id)
- [obj_has_model_extended](functions-5.md#obj_has_model_extended)
- [obj_is_attackable](functions-5.md#obj_is_attackable)
- [obj_is_breakable_object](functions-5.md#obj_is_breakable_object)
- [obj_is_bully](functions-5.md#obj_is_bully)
- [obj_is_coin](functions-5.md#obj_is_coin)
- [obj_is_exclamation_box](functions-5.md#obj_is_exclamation_box)
- [obj_is_grabbable](functions-5.md#obj_is_grabbable)
- [obj_is_mushroom_1up](functions-5.md#obj_is_mushroom_1up)
- [obj_is_secret](functions-5.md#obj_is_secret)
- [obj_is_valid_for_interaction](functions-5.md#obj_is_valid_for_interaction)
- [obj_move_xyz](functions-5.md#obj_move_xyz)
- [obj_set_field_f32](functions-5.md#obj_set_field_f32)
- [obj_set_field_s16](functions-5.md#obj_set_field_s16)
- [obj_set_field_s32](functions-5.md#obj_set_field_s32)
- [obj_set_field_u32](functions-5.md#obj_set_field_u32)
- [obj_set_model_extended](functions-5.md#obj_set_model_extended)
- [obj_set_vel](functions-5.md#obj_set_vel)
- [set_whirlpools](functions-5.md#set_whirlpools)
- [spawn_non_sync_object](functions-5.md#spawn_non_sync_object)
- [spawn_sync_object](functions-5.md#spawn_sync_object)
- [get_temp_object_hitbox](functions-6.md#get_temp_object_hitbox)
- [get_trajectory](functions-6.md#get_trajectory)
- [obj_check_hitbox_overlap](functions-6.md#obj_check_hitbox_overlap)
- [obj_check_overlap_with_hitbox_params](functions-6.md#obj_check_overlap_with_hitbox_params)
- [obj_count_objects_with_behavior_id](functions-6.md#obj_count_objects_with_behavior_id)
- [obj_get_collided_object](functions-6.md#obj_get_collided_object)
- [obj_get_field_f32](functions-6.md#obj_get_field_f32)
- [obj_get_field_s16](functions-6.md#obj_get_field_s16)
- [obj_get_field_s32](functions-6.md#obj_get_field_s32)
- [obj_get_field_u32](functions-6.md#obj_get_field_u32)
- [obj_get_first](functions-6.md#obj_get_first)
- [obj_get_first_with_behavior_id](functions-6.md#obj_get_first_with_behavior_id)
- [obj_get_first_with_behavior_id_and_field_f32](functions-6.md#obj_get_first_with_behavior_id_and_field_f32)
- [obj_get_first_with_behavior_id_and_field_s32](functions-6.md#obj_get_first_with_behavior_id_and_field_s32)
- [obj_get_nearest_object_with_behavior_id](functions-6.md#obj_get_nearest_object_with_behavior_id)
- [obj_get_next](functions-6.md#obj_get_next)
- [obj_get_next_with_same_behavior_id](functions-6.md#obj_get_next_with_same_behavior_id)
- [obj_get_next_with_same_behavior_id_and_field_f32](functions-6.md#obj_get_next_with_same_behavior_id_and_field_f32)
- [obj_get_next_with_same_behavior_id_and_field_s32](functions-6.md#obj_get_next_with_same_behavior_id_and_field_s32)
- [obj_get_temp_spawn_particles_info](functions-6.md#obj_get_temp_spawn_particles_info)
- [obj_has_behavior_id](functions-6.md#obj_has_behavior_id)
- [obj_has_model_extended](functions-6.md#obj_has_model_extended)
- [obj_is_attackable](functions-6.md#obj_is_attackable)
- [obj_is_breakable_object](functions-6.md#obj_is_breakable_object)
- [obj_is_bully](functions-6.md#obj_is_bully)
- [obj_is_coin](functions-6.md#obj_is_coin)
- [obj_is_exclamation_box](functions-6.md#obj_is_exclamation_box)
- [obj_is_grabbable](functions-6.md#obj_is_grabbable)
- [obj_is_mushroom_1up](functions-6.md#obj_is_mushroom_1up)
- [obj_is_secret](functions-6.md#obj_is_secret)
- [obj_is_valid_for_interaction](functions-6.md#obj_is_valid_for_interaction)
- [obj_move_xyz](functions-6.md#obj_move_xyz)
- [obj_set_field_f32](functions-6.md#obj_set_field_f32)
- [obj_set_field_s16](functions-6.md#obj_set_field_s16)
- [obj_set_field_s32](functions-6.md#obj_set_field_s32)
- [obj_set_field_u32](functions-6.md#obj_set_field_u32)
- [obj_set_model_extended](functions-6.md#obj_set_model_extended)
- [obj_set_vel](functions-6.md#obj_set_vel)
- [set_whirlpools](functions-6.md#set_whirlpools)
- [spawn_non_sync_object](functions-6.md#spawn_non_sync_object)
- [spawn_sync_object](functions-6.md#spawn_sync_object)
<br />
- smlua_text_utils.h
- [smlua_text_utils_act_name_get](functions-5.md#smlua_text_utils_act_name_get)
- [smlua_text_utils_act_name_mod_index](functions-5.md#smlua_text_utils_act_name_mod_index)
- [smlua_text_utils_act_name_replace](functions-5.md#smlua_text_utils_act_name_replace)
- [smlua_text_utils_act_name_reset](functions-5.md#smlua_text_utils_act_name_reset)
- [smlua_text_utils_castle_secret_stars_replace](functions-5.md#smlua_text_utils_castle_secret_stars_replace)
- [smlua_text_utils_course_acts_replace](functions-5.md#smlua_text_utils_course_acts_replace)
- [smlua_text_utils_course_name_get](functions-5.md#smlua_text_utils_course_name_get)
- [smlua_text_utils_course_name_mod_index](functions-5.md#smlua_text_utils_course_name_mod_index)
- [smlua_text_utils_course_name_replace](functions-5.md#smlua_text_utils_course_name_replace)
- [smlua_text_utils_course_name_reset](functions-5.md#smlua_text_utils_course_name_reset)
- [smlua_text_utils_dialog_replace](functions-5.md#smlua_text_utils_dialog_replace)
- [smlua_text_utils_extra_text_replace](functions-5.md#smlua_text_utils_extra_text_replace)
- [smlua_text_utils_get_language](functions-5.md#smlua_text_utils_get_language)
- [smlua_text_utils_secret_star_replace](functions-5.md#smlua_text_utils_secret_star_replace)
- [smlua_text_utils_act_name_get](functions-6.md#smlua_text_utils_act_name_get)
- [smlua_text_utils_act_name_mod_index](functions-6.md#smlua_text_utils_act_name_mod_index)
- [smlua_text_utils_act_name_replace](functions-6.md#smlua_text_utils_act_name_replace)
- [smlua_text_utils_act_name_reset](functions-6.md#smlua_text_utils_act_name_reset)
- [smlua_text_utils_castle_secret_stars_replace](functions-6.md#smlua_text_utils_castle_secret_stars_replace)
- [smlua_text_utils_course_acts_replace](functions-6.md#smlua_text_utils_course_acts_replace)
- [smlua_text_utils_course_name_get](functions-6.md#smlua_text_utils_course_name_get)
- [smlua_text_utils_course_name_mod_index](functions-6.md#smlua_text_utils_course_name_mod_index)
- [smlua_text_utils_course_name_replace](functions-6.md#smlua_text_utils_course_name_replace)
- [smlua_text_utils_course_name_reset](functions-6.md#smlua_text_utils_course_name_reset)
- [smlua_text_utils_dialog_replace](functions-6.md#smlua_text_utils_dialog_replace)
- [smlua_text_utils_extra_text_replace](functions-6.md#smlua_text_utils_extra_text_replace)
- [smlua_text_utils_get_language](functions-6.md#smlua_text_utils_get_language)
- [smlua_text_utils_secret_star_replace](functions-6.md#smlua_text_utils_secret_star_replace)
<br />
- sound_init.h
- [disable_background_sound](functions-5.md#disable_background_sound)
- [enable_background_sound](functions-5.md#enable_background_sound)
- [fadeout_cap_music](functions-5.md#fadeout_cap_music)
- [fadeout_level_music](functions-5.md#fadeout_level_music)
- [fadeout_music](functions-5.md#fadeout_music)
- [lower_background_noise](functions-5.md#lower_background_noise)
- [play_cap_music](functions-5.md#play_cap_music)
- [play_cutscene_music](functions-5.md#play_cutscene_music)
- [play_infinite_stairs_music](functions-5.md#play_infinite_stairs_music)
- [play_menu_sounds](functions-5.md#play_menu_sounds)
- [play_painting_eject_sound](functions-5.md#play_painting_eject_sound)
- [play_shell_music](functions-5.md#play_shell_music)
- [raise_background_noise](functions-5.md#raise_background_noise)
- [reset_volume](functions-5.md#reset_volume)
- [set_background_music](functions-5.md#set_background_music)
- [stop_cap_music](functions-5.md#stop_cap_music)
- [stop_shell_music](functions-5.md#stop_shell_music)
- [disable_background_sound](functions-6.md#disable_background_sound)
- [enable_background_sound](functions-6.md#enable_background_sound)
- [fadeout_cap_music](functions-6.md#fadeout_cap_music)
- [fadeout_level_music](functions-6.md#fadeout_level_music)
- [fadeout_music](functions-6.md#fadeout_music)
- [lower_background_noise](functions-6.md#lower_background_noise)
- [play_cap_music](functions-6.md#play_cap_music)
- [play_cutscene_music](functions-6.md#play_cutscene_music)
- [play_infinite_stairs_music](functions-6.md#play_infinite_stairs_music)
- [play_menu_sounds](functions-6.md#play_menu_sounds)
- [play_painting_eject_sound](functions-6.md#play_painting_eject_sound)
- [play_shell_music](functions-6.md#play_shell_music)
- [raise_background_noise](functions-6.md#raise_background_noise)
- [reset_volume](functions-6.md#reset_volume)
- [set_background_music](functions-6.md#set_background_music)
- [stop_cap_music](functions-6.md#stop_cap_music)
- [stop_shell_music](functions-6.md#stop_shell_music)
<br />
- spawn_sound.c
- [calc_dist_to_volume_range_1](functions-5.md#calc_dist_to_volume_range_1)
- [calc_dist_to_volume_range_2](functions-5.md#calc_dist_to_volume_range_2)
- [cur_obj_play_sound_1](functions-5.md#cur_obj_play_sound_1)
- [cur_obj_play_sound_2](functions-5.md#cur_obj_play_sound_2)
- [exec_anim_sound_state](functions-5.md#exec_anim_sound_state)
- [calc_dist_to_volume_range_1](functions-6.md#calc_dist_to_volume_range_1)
- [calc_dist_to_volume_range_2](functions-6.md#calc_dist_to_volume_range_2)
- [cur_obj_play_sound_1](functions-6.md#cur_obj_play_sound_1)
- [cur_obj_play_sound_2](functions-6.md#cur_obj_play_sound_2)
- [exec_anim_sound_state](functions-6.md#exec_anim_sound_state)
<br />
- surface_collision.h
- [find_ceil_height](functions-5.md#find_ceil_height)
- [find_floor_height](functions-5.md#find_floor_height)
- [find_poison_gas_level](functions-5.md#find_poison_gas_level)
- [find_wall_collisions](functions-5.md#find_wall_collisions)
- [find_water_level](functions-5.md#find_water_level)
- [find_ceil_height](functions-6.md#find_ceil_height)
- [find_floor_height](functions-6.md#find_floor_height)
- [find_poison_gas_level](functions-6.md#find_poison_gas_level)
- [find_wall_collisions](functions-6.md#find_wall_collisions)
- [find_water_level](functions-6.md#find_water_level)
<br />
- surface_load.h
- [get_area_terrain_size](functions-5.md#get_area_terrain_size)
- [load_area_terrain](functions-5.md#load_area_terrain)
- [load_object_collision_model](functions-5.md#load_object_collision_model)
- [obj_get_surface_from_index](functions-5.md#obj_get_surface_from_index)
- [surface_has_force](functions-5.md#surface_has_force)
- [get_area_terrain_size](functions-6.md#get_area_terrain_size)
- [load_area_terrain](functions-6.md#load_area_terrain)
- [load_object_collision_model](functions-6.md#load_object_collision_model)
- [obj_get_surface_from_index](functions-6.md#obj_get_surface_from_index)
- [surface_has_force](functions-6.md#surface_has_force)
<br />
@ -2423,6 +2423,9 @@ N/A
## [area_get_warp_node](#area_get_warp_node)
### Description
Finds a warp node in the current area by its ID. The warp node must exist in the list of warp nodes for the current area. Useful for locating a specific warp point in the level, such as teleportation zones or connections to other areas.
### Lua Example
`local ObjectWarpNodeValue = area_get_warp_node(id)`
@ -2443,6 +2446,9 @@ N/A
## [area_get_warp_node_from_params](#area_get_warp_node_from_params)
### Description
Finds a warp node in the current area using parameters from the provided object. The object's behavior parameters are used to determine the warp node ID. Useful for associating an object (like a door or warp pipe) with its corresponding warp node in the area.
### Lua Example
`local ObjectWarpNodeValue = area_get_warp_node_from_params(o)`
@ -2462,5 +2468,5 @@ N/A
<br />
---
1 | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [next >](functions-2.md)]
1 | [2](functions-2.md) | [3](functions-3.md) | [4](functions-4.md) | [5](functions-5.md) | [6](functions-6.md) | [next >](functions-2.md)]

View file

@ -158,8 +158,18 @@ extern u8 gSpawnedStarHiddenCount;
void override_viewport_and_clip(Vp *a, Vp *b, u8 c, u8 d, u8 e);
void print_intro_text(void);
u32 get_mario_spawn_type(struct Object *o);
/* |description|
Finds a warp node in the current area by its ID. The warp node must exist in the list of warp nodes for the current area.
Useful for locating a specific warp point in the level, such as teleportation zones or connections to other areas.
|descriptionEnd| */
struct ObjectWarpNode *area_get_warp_node(u8 id);
struct ObjectWarpNode *area_get_any_warp_node(void);
/* |description|
Finds a warp node in the current area using parameters from the provided object. The object's behavior parameters are used to determine the warp node ID.
Useful for associating an object (like a door or warp pipe) with its corresponding warp node in the area.
|descriptionEnd| */
struct ObjectWarpNode *area_get_warp_node_from_params(struct Object *o);
void clear_areas(void);
void clear_area_graph_nodes(void);

View file

@ -359,12 +359,39 @@ struct MarioState;
extern struct Character gCharacters[];
struct Character* get_character(struct MarioState* m);
/* |description|
Plays a character-specific sound based on the given `characterSound` value. The sound is tied to Mario's current state (`m`).
Useful for triggering sound effects for actions like jumping or interacting with the environment
|descriptionEnd| */
void play_character_sound(struct MarioState* m, enum CharacterSound characterSound);
/* |description|
Plays a character-specific sound with an additional `offset`, allowing variations or delays in the sound effect. Uses Mario's current state (`m`).
Useful for adding dynamic sound effects or syncing sounds to specific animations or events
|descriptionEnd| */
void play_character_sound_offset(struct MarioState* m, enum CharacterSound characterSound, u32 offset);
/* |description|
Plays a character-specific sound only if certain flags are not set. This ensures that sounds are not repeated unnecessarily. The sound is based on `characterSound`, and the flags are checked using `flags`.
Useful for avoiding duplicate sound effects in rapid succession or conditional actions
|descriptionEnd| */
void play_character_sound_if_no_flag(struct MarioState* m, enum CharacterSound characterSound, u32 flags);
/* |description|
Calculates the animation offset for Mario's current animation. The offset is determined by the type of animation being played (e.g., hand, feet, or torso movement).
Useful for smoothly syncing Mario's model height or positional adjustments during animations
|descriptionEnd| */
f32 get_character_anim_offset(struct MarioState* m);
s32 get_character_anim(struct MarioState* m, enum CharacterAnimID characterAnim);
void update_character_anim_offset(struct MarioState* m);
/* |description|
Gets the animation ID to use for a specific character and animation combination. The ID is based on `characterAnim` and the character currently controlled by Mario (`m`).
Useful for determining which animation to play for actions like walking, jumping, or idle states
|descriptionEnd| */
s32 get_character_anim(struct MarioState* m, enum CharacterAnimID characterAnim);
/* |description|
Updates Mario's current animation offset. This adjusts Mario's position based on the calculated offset to ensure animations appear smooth and natural.
Useful for keeping Mario's animations visually aligned, particularly when transitioning between animations
|descriptionEnd| */
void update_character_anim_offset(struct MarioState* m);
#endif // CHARACTERS_H