Mario Kart 64
Loading...
Searching...
No Matches
collision.h File Reference
#include "common_structs.h"
Include dependency graph for collision.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void nullify_displaylist (uintptr_t)
 
void func_802AAAAC (Collision *)
 
f32 func_802AAB4C (Player *)
 
s32 func_802AAE4C (Collision *, f32, f32, f32, f32, u16)
 
s32 func_802AB288 (Collision *, f32, f32, f32, f32, u16)
 
s32 func_802AB6C4 (Collision *, f32, f32, f32, f32, u16)
 
s8 get_surface_type (u16)
 
s16 func_802ABD40 (u16)
 
s16 func_802ABD7C (u16)
 
s16 func_802ABDB8 (u16)
 
s16 func_802ABDF4 (u16)
 
f32 func_802ABE30 (f32, f32, f32, u16)
 
f32 func_802ABEAC (Collision *, Vec3f)
 
void process_shell_collision (Vec3f, f32, Vec3f, f32)
 
u16 process_collision (Player *, KartBoundingBoxCorner *, f32, f32, f32)
 
void func_802AC114 (Vec3f, f32, Vec3f, f32)
 
s32 func_802AC22C (KartBoundingBoxCorner *)
 
u16 func_802AD950 (Collision *, f32, f32, f32, f32, f32, f32, f32)
 
u16 func_802ADDC8 (Collision *, f32, f32, f32, f32)
 
f32 func_802AE1C0 (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 func_802AF314 (void)
 
void set_vertex_data_with_defaults (Gfx *)
 
void set_vertex_data_with_default_section_id (Gfx *, s8)
 
void find_and_set_vertex_data (Gfx *, s8, u16)
 
void find_and_set_tile_size (uintptr_t, s32, s32)
 
void set_vertex_colours (u32, 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)
 

Function Documentation

◆ 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.

Here is the caller graph for this function:

◆ find_and_set_vertex_data()

void find_and_set_vertex_data ( Gfx * addr,
s8 surfaceType,
u16 sectionId )

Recursive search and set for vertex data

Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802AAAAC()

void func_802AAAAC ( Collision * collision)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802AAB4C()

f32 func_802AAB4C ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802AAE4C()

s32 func_802AAE4C ( Collision * collision,
f32 boundingBoxSize,
f32 posX,
f32 posY,
f32 posZ,
u16 index )
Here is the caller graph for this function:

◆ func_802AB288()

s32 func_802AB288 ( Collision * collision,
f32 boundingBoxSize,
f32 posX,
f32 posY,
f32 posZ,
u16 index )
Here is the caller graph for this function:

◆ func_802AB6C4()

s32 func_802AB6C4 ( Collision * collision,
f32 boundingBoxSize,
f32 posX,
f32 posY,
f32 posZ,
u16 index )
Here is the caller graph for this function:

◆ func_802ABD40()

s16 func_802ABD40 ( u16 index)
Here is the caller graph for this function:

◆ func_802ABD7C()

s16 func_802ABD7C ( u16 index)
Here is the caller graph for this function:

◆ func_802ABDB8()

s16 func_802ABDB8 ( u16 index)
Here is the caller graph for this function:

◆ func_802ABDF4()

s16 func_802ABDF4 ( u16 index)
Here is the caller graph for this function:

◆ func_802ABE30()

f32 func_802ABE30 ( f32 x,
f32 y,
f32 z,
u16 index )
Here is the caller graph for this function:

◆ func_802ABEAC()

f32 func_802ABEAC ( Collision * collision,
Vec3f pos )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802AC114()

void func_802AC114 ( Vec3f ,
f32 ,
Vec3f ,
f32  )

◆ func_802AC22C()

s32 func_802AC22C ( KartBoundingBoxCorner * arg0)
Here is the call graph for this function:

◆ func_802AD950()

u16 func_802AD950 ( Collision * collision,
f32 boundingBoxSize,
f32 x1,
f32 y1,
f32 z1,
f32 x2,
f32 y2,
f32 z2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802ADDC8()

u16 func_802ADDC8 ( Collision * collision,
f32 boundingBoxSize,
f32 posX,
f32 posY,
f32 posZ )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802AE1C0()

f32 func_802AE1C0 ( f32 posX,
f32 posY,
f32 posZ )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802AF314()

void func_802AF314 ( void )

Appears to initialize some variables and struct members after course displaylists have been parsed.

Bug
possibly bug. Allocate memory but not increment the pointer. This is bad, dumb code, and more importantly it's bad dumb code that doesn't make any sense here. It is incremented after this function completes using a different variable. Not good.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_surface_type()

s8 get_surface_type ( u16 index)
Here is the caller graph for this function:

◆ is_line_intersecting_rectangle()

s32 is_line_intersecting_rectangle ( s16 minX,
s16 maxX,
s16 minZ,
s16 maxZ,
s16 x1,
s16 z1,
s16 x2,
s16 z2 )
Returns
1 intersecting triangle, 0 not intersecting.
Here is the caller graph for this function:

◆ is_triangle_intersecting_bounding_box()

s32 is_triangle_intersecting_bounding_box ( s16 minX,
s16 maxX,
s16 minZ,
s16 maxZ,
u16 index )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ nullify_displaylist()

void nullify_displaylist ( uintptr_t addr)
Here is the caller graph for this function:

◆ process_collision()

u16 process_collision ( Player * player,
KartBoundingBoxCorner * corner,
f32 cornerPosX,
f32 cornerPosY,
f32 cornerPosZ )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ process_shell_collision()

void process_shell_collision ( Vec3f ,
f32 ,
Vec3f ,
f32  )

◆ set_vertex_colours()

void set_vertex_colours ( u32 ,
u32 ,
s32 ,
s8 ,
u8 ,
u8 ,
u8  )

◆ set_vertex_data_with_default_section_id()

void set_vertex_data_with_default_section_id ( Gfx * gfx,
s8 surfaceType )

Recursive search for vtx and set sectionId's to 0xFF

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_vertex_data_with_defaults()

void set_vertex_data_with_defaults ( Gfx * gfx)

Recursive search for vtx and set surfaceTypes to -1 and sectionId's to 0xFF

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_vtx_buffer()

void set_vtx_buffer ( uintptr_t addr,
u32 numVertices,
u32 bufferIndex )

Generates a list of pointers to course vtx.

Here is the caller graph for this function:

◆ subtract_scaled_vector()

void subtract_scaled_vector ( Vec3f pos1,
f32 boundingBoxSize,
Vec3f pos2 )
Here is the caller graph for this function: