Go to the source code of this file.
|
void | nullify_displaylist (uintptr_t) |
|
void | func_802AAAAC (Collision *) |
|
f32 | func_802AAB4C (Player *) |
|
s32 | check_collision_zx (Collision *, f32, f32, f32, f32, u16) |
|
s32 | check_collision_yx (Collision *, f32, f32, f32, f32, u16) |
|
s32 | check_collision_zy (Collision *, f32, f32, f32, f32, u16) |
|
s8 | get_surface_type (u16) |
|
s16 | get_track_section_id (u16) |
|
s16 | func_802ABD7C (u16) |
|
s16 | func_802ABDB8 (u16) |
|
s16 | func_802ABDF4 (u16) |
|
f32 | calculate_surface_height (f32, f32, f32, u16) |
|
f32 | func_802ABEAC (Collision *, Vec3f) |
|
void | shell_collision (Collision *, Vec3f) |
|
void | process_shell_collision (Vec3f, f32, Vec3f, f32) |
|
u16 | player_terrain_collision (Player *, KartTyre *, f32, f32, f32) |
|
void | adjust_pos_orthogonally (Vec3f, f32, Vec3f, f32) |
|
s32 | detect_tyre_collision (KartTyre *) |
|
u16 | actor_terrain_collision (Collision *, f32, f32, f32, f32, f32, f32, f32) |
|
u16 | check_bounding_collision (Collision *, f32, f32, f32, f32) |
|
f32 | spawn_actor_on_surface (f32, f32, f32) |
|
void | set_vtx_buffer (uintptr_t, u32, u32) |
|
s32 | is_line_intersecting_rectangle (s16, s16, s16, s16, s16, s16, s16, s16) |
|
s32 | is_triangle_intersecting_bounding_box (s16, s16, s16, s16, u16) |
|
void | generate_collision_grid (void) |
|
void | generate_collision_mesh_with_defaults (Gfx *) |
|
void | generate_collision_mesh_with_default_section_id (Gfx *, s8) |
|
void | generate_collision_mesh (Gfx *, s8, u16) |
|
void | find_and_set_tile_size (uintptr_t, s32, s32) |
|
void | set_vertex_colours (uintptr_t, u32, s32, s8, u8, u8, u8) |
|
void | find_vtx_and_set_colours (uintptr_t, s8, u8, u8, u8) |
|
void | subtract_scaled_vector (Vec3f, f32, Vec3f) |
|
◆ COLLISION
◆ NO_COLLISION
◆ actor_terrain_collision()
◆ adjust_pos_orthogonally()
◆ calculate_surface_height()
◆ check_bounding_collision()
◆ check_collision_yx()
◆ check_collision_zx()
◆ check_collision_zy()
◆ detect_tyre_collision()
◆ find_and_set_tile_size()
void find_and_set_tile_size |
( |
uintptr_t | addr, |
|
|
s32 | uls, |
|
|
s32 | ult ) |
Search for G_SETTILESIZE and set its args.
◆ find_vtx_and_set_colours()
void find_vtx_and_set_colours |
( |
uintptr_t | displayList, |
|
|
s8 | alpha, |
|
|
u8 | red, |
|
|
u8 | green, |
|
|
u8 | blue ) |
Recursive search for vertices and set their colour values.
◆ func_802AAAAC()
◆ func_802AAB4C()
◆ func_802ABD7C()
s16 func_802ABD7C |
( |
u16 | index | ) |
|
◆ func_802ABDB8()
s16 func_802ABDB8 |
( |
u16 | index | ) |
|
◆ func_802ABDF4()
s16 func_802ABDF4 |
( |
u16 | index | ) |
|
◆ func_802ABEAC()
◆ generate_collision_grid()
void generate_collision_grid |
( |
void | | ) |
|
Splits the collision mesh into 32x32 sections. This allows the game to check only nearby geography for a collision rather than checking against the whole collision mesh. (checking against the whole mesh for every actor would be expensive)
- Warning
- gNextFreeMemoryAddress incremented just outside this function. Bad practice to hide memory allocation like this.
◆ generate_collision_mesh()
void generate_collision_mesh |
( |
Gfx * | addr, |
|
|
s8 | surfaceType, |
|
|
u16 | sectionId ) |
Generate via a recursive search and set for vertex data.
◆ generate_collision_mesh_with_default_section_id()
void generate_collision_mesh_with_default_section_id |
( |
Gfx * | gfx, |
|
|
s8 | surfaceType ) |
Recursive search for vtx and set sectionId's to 0xFF
◆ generate_collision_mesh_with_defaults()
void generate_collision_mesh_with_defaults |
( |
Gfx * | gfx | ) |
|
Recursive search for vtx and set surfaceTypes to -1 and sectionId's to 0xFF
◆ get_surface_type()
s8 get_surface_type |
( |
u16 | index | ) |
|
◆ get_track_section_id()
s16 get_track_section_id |
( |
u16 | index | ) |
|
◆ is_line_intersecting_rectangle()
- Returns
- 1 intersecting triangle, 0 not intersecting.
◆ is_triangle_intersecting_bounding_box()
s32 is_triangle_intersecting_bounding_box |
( |
s16 | minX, |
|
|
s16 | maxX, |
|
|
s16 | minZ, |
|
|
s16 | maxZ, |
|
|
u16 | index ) |
◆ nullify_displaylist()
void nullify_displaylist |
( |
uintptr_t | addr | ) |
|
◆ player_terrain_collision()
◆ process_shell_collision()
◆ set_vertex_colours()
◆ set_vtx_buffer()
void set_vtx_buffer |
( |
uintptr_t | addr, |
|
|
u32 | numVertices, |
|
|
u32 | bufferIndex ) |
Generates a list of pointers to course vtx.
◆ shell_collision()
◆ spawn_actor_on_surface()
If unable to spawn actor on the surface set to -3000.0f or if outside the collision grid, spawn in the air (3000.0f).
◆ subtract_scaled_vector()
void subtract_scaled_vector |
( |
Vec3f | pos1, |
|
|
f32 | boundingBoxSize, |
|
|
Vec3f | pos2 ) |