Mario Kart 64
Loading...
Searching...
No Matches
code_80005FD0.h File Reference
#include "vehicles.h"
#include "camera.h"
#include "waypoints.h"
#include <assets/common_data.h>
Include dependency graph for code_80005FD0.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  struct_801642D8
 
struct  unexpiredActors
 
struct  Test
 
struct  D_801642D8_entry
 
struct  UnkStruct_46D0
 
struct  Path2D
 

Enumerations

enum  { KART_AI_BEHAVIOUR_STATE_NONE , KART_AI_BEHAVIOUR_STATE_START , KART_AI_BEHAVIOUR_STATE_RUNNING }
 
enum  { SPEED_KART_AI_BEHAVIOUR_NORMAL , SPEED_KART_AI_BEHAVIOUR_FAST , SPEED_KART_AI_BEHAVIOUR_SLOW , SPEED_KART_AI_BEHAVIOUR_MAX }
 

Functions

s16 get_angle_between_waypoints (Vec3f, Vec3f)
 
s32 func_80006018 (f32, f32, f32, f32, f32, f32, f32, f32)
 
void adjust_position_by_angle (Vec3f, Vec3f, s16)
 
s32 set_vehicle_render_distance_flags (Vec3f, f32, s32)
 
void func_800065D0 (s32, Player *)
 
void set_places (void)
 
void func_800070F4 (void)
 
void func_800074D4 (void)
 
s32 func_80007BF8 (u16, u16, u16, u16, u16)
 
void func_80007D04 (s32, Player *)
 
void func_80007FA4 (s32, Player *, f32)
 
void func_80008424 (s32, f32, Player *)
 
s32 func_800088D8 (s32, s16, s16)
 
void func_80008DC0 (s32)
 
s32 func_80008E58 (s32, s32)
 
void func_80008F38 (s32)
 
void func_80009000 (s32)
 
void func_800090F0 (s32, Player *)
 
f32 func_80009258 (s32, f32, f32)
 
void func_8000929C (s32, Player *)
 
void update_vehicles (void)
 
void func_800098FC (s32, Player *)
 
void func_800099EC (s32, Player *)
 
void func_80009B60 (s32)
 
void func_8000B140 (s32)
 
s32 func_8000B7E4 (s32, u16)
 
s32 func_8000B820 (s32)
 
f32 func_8000B874 (f32, f32, u16, s32)
 
void func_8000B95C (s32, u16, s32)
 
void func_8000BA14 (u16, f32, f32, s16)
 
void func_8000BBD8 (u16, f32, s16)
 
s16 func_8000BD94 (f32, f32, f32, s32)
 
s16 find_closest_waypoint_track_section (f32, f32, f32, u16, s32 *)
 
s16 func_8000C884 (f32, f32, f32, s16, s32, u16)
 
s16 find_closest_waypoint_with_previous_waypoint (f32, f32, f32, s16, s32)
 
void func_8000CBA4 (f32, f32, f32, s16 *, s32)
 
void func_8000CBF8 (f32, f32, f32, s16 *, s32)
 
s16 func_8000CC88 (f32, f32, f32, Player *, s32, s32 *)
 
s16 func_8000CD24 (f32, f32, f32, s16, Player *, s32, s32)
 
s16 find_closest_vehicles_waypoint (f32, f32, f32, s16)
 
s16 func_8000D24C (f32, f32, f32, s32 *)
 
s16 func_8000D2B4 (f32, f32, f32, s16, s32)
 
s16 func_8000D33C (f32, f32, f32, s16, s32)
 
f32 func_8000D3B8 (s32)
 
void func_8000D438 (s32, u16)
 
s16 func_8000D6D0 (Vec3f, s16 *, f32, f32, s16, s16)
 
s16 func_8000D940 (Vec3f, s16 *, f32, f32, s16)
 
s16 update_vehicle_following_waypoint (Vec3f, s16 *, f32)
 
void set_bomb_kart_spawn_positions (void)
 
void func_8000DF8C (s32)
 
s32 add_actor_in_unexpired_actor_list (s32, s16)
 
s32 add_red_shell_in_unexpired_actor_list (s32)
 
s32 add_green_shell_in_unexpired_actor_list (s32)
 
s32 add_blue_shell_in_unexpired_actor_list (s32)
 
void delete_actor_in_unexpired_actor_list (s32)
 
void func_8000EEDC (void)
 
void generate_player_smoke (void)
 
void func_8000F0E0 (void)
 
void func_8000F124 (void)
 
void func_8000F2BC (TrackWaypoint *, size_t)
 
void func_8000F2DC (void)
 
void func_8000F628 (void)
 
void func_800100F0 (s32)
 
void func_80010218 (s32)
 
f32 func_80010480 (s32, u16)
 
void func_800107C4 (s32)
 
s16 func_80010CB0 (s32, s32)
 
void func_80010DBC (s32)
 
void func_80010E6C (s32)
 
f32 func_80010F40 (f32, f32, f32, s32, s32)
 
f32 func_80010FA0 (f32, f32, f32, s32, s32)
 
s32 func_80011014 (TrackWaypoint *, TrackWaypoint *, s32, s32)
 
s32 process_path_data (TrackWaypoint *, TrackWaypoint *)
 
s32 generate_2d_path (Path2D *, TrackWaypoint *, s32)
 
void copy_courses_kart_ai_behaviour (void)
 
void reset_kart_ai_behaviour_none (s32)
 
void reset_kart_ai_behaviour (s32)
 
void kart_ai_behaviour_start (s32, Player *)
 
void kart_ai_behaviour_end (s32, Player *)
 
void kart_ai_behaviour (s32)
 
void func_80011EC0 (s32, Player *, s32, u16)
 
void generate_train_waypoints (void)
 
void generate_ferry_waypoints (void)
 
void spawn_vehicle_on_road (VehicleStuff *)
 
void spawn_course_vehicles (void)
 
void set_vehicle_pos_waypoint (TrainCarStuff *, Path2D *, u16)
 
void init_vehicles_trains (void)
 
void sync_train_components (TrainCarStuff *, s16)
 sync the train components vehicle with the actor
 
void update_vehicle_trains (void)
 
void func_80012DC0 (s32, Player *)
 
void func_80013054 (void)
 
void check_ai_crossing_distance (s32)
 
void init_vehicles_ferry (void)
 
void update_vehicle_paddle_boats (void)
 
void func_80013854 (Player *)
 
void initialize_toads_turnpike_vehicle (f32, f32, s32, s32, VehicleStuff *, TrackWaypoint *)
 
f32 func_80013C74 (s16, s16)
 
void update_vehicle_follow_waypoint (VehicleStuff *)
 
void func_80013F7C (s32, Player *, VehicleStuff *, f32, f32, s32, u32)
 
f32 func_800145A8 (s16, f32, s16)
 
void func_800146B8 (s32, s32, VehicleStuff *)
 
void init_vehicles_box_trucks (void)
 
void update_vehicle_box_trucks (void)
 
void func_800148C4 (s32, Player *)
 
void func_8001490C (s32)
 
void init_vehicles_school_buses (void)
 
void update_vehicle_school_bus (void)
 
void func_80014A18 (s32, Player *)
 
void func_80014A60 (s32)
 
void init_vehicles_trucks (void)
 
void update_vehicle_tanker_trucks (void)
 
void func_80014B6C (s32, Player *)
 
void func_80014BB4 (s32)
 
void init_vehicles_cars (void)
 
void update_vehicle_cars (void)
 
void func_80014CC0 (s32, Player *)
 
void func_80014D08 (s32)
 
void func_80014D30 (s32, s32)
 
void func_80014DE4 (s32)
 
f32 func_80014EE4 (f32, s32)
 
void calculate_camera_up_vector (Camera *, s32)
 
void func_8001530C (void)
 
void func_80015314 (s32, f32, s32)
 
void func_80015390 (Camera *, Player *, s32)
 
void func_80015544 (s32, f32, s32, s32)
 
void func_8001577C (Camera *, UNUSED Player *, s32, s32)
 
void func_80015A9C (s32, f32, s32, s16)
 
void func_80015C94 (Camera *, Player *, s32, s32)
 
void func_800162CC (s32, f32, s32, s16)
 
void func_80016494 (Camera *, Player *, s32, s32)
 
void func_80016C3C (s32, f32, s32)
 
void func_80017720 (s32, f32, s32, s16)
 
void func_800178F4 (Camera *, Player *, s32, s32)
 
void func_80017F10 (s32, f32, s32, s16)
 
void func_800180F0 (Camera *, Player *, s32, s32)
 
void func_80018718 (s32, f32, s32, s16)
 
void func_800188F4 (Camera *, Player *, s32, s32)
 
void func_80019118 (s32, f32, s32, s16)
 
void func_8001933C (Camera *, UNUSED Player *, s32, s32)
 
void func_8001968C (void)
 
void func_8001969C (s32, f32, s32, s16)
 
void func_80019760 (Camera *, UNUSED Player *, s32, s32)
 
void func_80019890 (s32, s32)
 
void func_80019B50 (s32, u16)
 
void func_80019C50 (s32)
 
void func_80019D2C (Camera *, Player *, s32)
 
void func_80019DE4 (void)
 
void func_80019DF4 (void)
 
void func_80019E58 (void)
 
void func_80019ED0 (void)
 
void func_80019FB4 (s32)
 
void func_8001A0A4 (u16 *, Camera *, Player *, s8, s32)
 
void func_8001A0DC (u16 *, Camera *, Player *, s8, s32)
 
void func_8001A124 (s32, s32)
 
s32 func_8001A310 (s32, s32)
 
void func_8001A348 (s32, f32, s32)
 
void func_8001A3D8 (s32, f32, s32)
 
void func_8001A450 (s32, s32, s32)
 
void func_8001A518 (s32, s32, s32)
 
void func_8001A588 (u16 *, Camera *, Player *, s8, s32)
 
void func_8001AAAC (s16, s16, s16)
 
void func_8001AB00 (void)
 
void kart_ai_decisions_branch_item (s32, s16 *, s32)
 
void func_8001ABE0 (s32, D_801642D8_entry *)
 
void func_8001ABEC (struct struct_801642D8 *)
 
void kart_ai_use_item_strategy (s32)
 
void func_8001BE78 (void)
 
void func_8001C05C (void)
 
void func_8001C14C (void)
 
void func_8001C3C4 (s32)
 
void func_8001C42C (void)
 

Variables

Collision D_80162E70
 
s16 D_80162EB0
 
s16 D_80162EB2
 
KartAIBehaviourgCoursesKartAIBehaviour []
 
s16 D_80162F10 []
 
s16 D_80162F50 []
 
Vec3f D_80162FA0
 
Vec3f D_80162FB0
 
Vec3f D_80162FC0
 
s16 gTrainSmokeTimer
 
s16 D_80162FD0
 
f32 gCourseCompletionPercentByRank []
 
s16 D_80162FF8 []
 
s16 D_80163010 []
 
f32 D_80163028 []
 
s16 D_80163050 []
 
f32 D_80163068 []
 
f32 D_80163090 []
 
s32 D_801630B8 []
 
u16 D_801630E0
 
s16 D_801630E2
 
s16 D_801630E8 []
 
s16 gFerrySmokeTimer
 
s32 D_80163100 []
 
s32 D_80163128 []
 
s32 D_80163150 []
 
f32 D_80163178 []
 
f32 D_801631A0 []
 
s16 D_801631C8
 
s32 D_801631CC
 
TrackWaypointD_801631D0
 
TrackWaypointD_801631D4
 
s16D_801631D8
 
u16 D_801631E0 []
 
u16 D_801631F8 []
 
f32 D_8016320C
 
f32 D_80163210 []
 
s32 D_80163238
 
u16 D_80163240 []
 
u16 D_80163258 []
 
u16 D_80163270 []
 
s32 D_80163288 []
 
KartAIBehavioursCurrentKartAIBehaviour
 
u16 gCurrentKartAIBehaviourId []
 
u16 gPreviousKartAIBehaviourId []
 
u16 gKartAIBehaviourState []
 
s16 D_80163300 []
 
u16 D_80163318 []
 
u16 D_80163330 []
 
u16 D_80163344 []
 
u16 D_80163348 []
 
u16 D_8016334C []
 
u16 gSpeedKartAIBehaviour []
 
s32 D_80163368 []
 
s32 D_80163378
 
s32 D_8016337C
 
s16 D_80163380 []
 
s16 D_80163398 []
 
s16 D_801633B0 []
 
s16 D_801633C8 []
 
s16 D_801633E0 []
 
s16 D_801633F8 []
 
s16 D_80163410 []
 
f32 D_80163418 []
 
f32 D_80163428 []
 
f32 D_80163438 []
 
s32 D_80163448
 
f32 D_8016344C
 
f32 D_80163450 []
 
s16 D_80163478
 
s16 D_8016347A
 
s16 D_8016347C
 
s16 D_8016347E
 
s32 D_80163480
 
s32 D_80163484
 
s32 D_80163488
 
s16 D_8016348C
 
s16 D_80163490 []
 
s16 D_801634A8 []
 
s16 D_801634C0 []
 
s16 bStopAICrossing []
 
s16 D_801634EC
 
s32 D_801634F0
 
s32 D_801634F4
 
Test D_801634F8 []
 
Path2DgVehicle2DWaypoint
 
s32 gVehicle2DWaypointLength
 
u16 isCrossingTriggeredByIndex []
 
u16 sCrossingActiveTimer []
 
s32 D_80163DD8 []
 
struct unexpiredActors gUnexpiredActorsList []
 
D_801642D8_entry D_801642D8 []
 
s16 D_80164358
 
s16 D_8016435A
 
s16 D_8016435C
 
s16 gGPCurrentRacePlayerIdByRank []
 
s16 D_80164378 []
 
s32 gLapCountByPlayerId []
 
s32 gGPCurrentRaceRankByPlayerId []
 
s32 D_801643E0 []
 
s32 D_80164408 []
 
u16 D_80164430
 
u16 gNearestWaypointByPlayerId []
 
s32 D_80164450 []
 
s16 D_80164478 []
 
s32 D_8016448C
 
f32 D_80164498 []
 
f32 gLapCompletionPercentByPlayerId []
 
f32 gCourseCompletionPercentByPlayerId []
 
s16 D_801644F8 []
 
f32 D_80164510 []
 
s16 D_80164538 []
 
s32 D_801645D0 []
 
s32 D_801645E8 []
 
f32 D_801645F8 []
 
s32 D_80164608 []
 
f32 D_80164618 []
 
s32 D_80164628 []
 
f32 D_80164638 []
 
f32 D_80164648 []
 
f32 D_80164658 []
 
s16 D_80164670 []
 
s16 D_80164678 []
 
s16 D_80164680 []
 
f32 D_80164688 []
 
f32 D_80164698
 
f32 D_8016469C
 
f32 D_801646A0
 
s16 D_801646C0 []
 
u32 D_801646C8
 
u16 D_801646CC
 
UnkStruct_46D0 D_801646D0 []
 
u16 D_801637BE
 
u16 D_80163E2A
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
KART_AI_BEHAVIOUR_STATE_NONE 
KART_AI_BEHAVIOUR_STATE_START 
KART_AI_BEHAVIOUR_STATE_RUNNING 

◆ anonymous enum

anonymous enum
Enumerator
SPEED_KART_AI_BEHAVIOUR_NORMAL 
SPEED_KART_AI_BEHAVIOUR_FAST 
SPEED_KART_AI_BEHAVIOUR_SLOW 
SPEED_KART_AI_BEHAVIOUR_MAX 

Function Documentation

◆ add_actor_in_unexpired_actor_list()

s32 add_actor_in_unexpired_actor_list ( s32 actorIndex,
s16 arg1 )
Here is the caller graph for this function:

◆ add_blue_shell_in_unexpired_actor_list()

s32 add_blue_shell_in_unexpired_actor_list ( s32 arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_green_shell_in_unexpired_actor_list()

s32 add_green_shell_in_unexpired_actor_list ( s32 actorIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_red_shell_in_unexpired_actor_list()

s32 add_red_shell_in_unexpired_actor_list ( s32 actorIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ adjust_position_by_angle()

void adjust_position_by_angle ( Vec3f newPos,
Vec3f oldPos,
s16 orientationY )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculate_camera_up_vector()

void calculate_camera_up_vector ( Camera * camera,
s32 cameraIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ check_ai_crossing_distance()

void check_ai_crossing_distance ( s32 playerId)
Here is the call graph for this function:

◆ copy_courses_kart_ai_behaviour()

void copy_courses_kart_ai_behaviour ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ delete_actor_in_unexpired_actor_list()

void delete_actor_in_unexpired_actor_list ( s32 actorIndex)
Here is the caller graph for this function:

◆ find_closest_vehicles_waypoint()

s16 find_closest_vehicles_waypoint ( f32 ,
f32 ,
f32 ,
s16  )

◆ find_closest_waypoint_track_section()

s16 find_closest_waypoint_track_section ( f32 posX,
f32 posY,
f32 posZ,
u16 trackSectionId,
s32 * pathIndex )
Here is the caller graph for this function:

◆ find_closest_waypoint_with_previous_waypoint()

s16 find_closest_waypoint_with_previous_waypoint ( f32 posX,
f32 posY,
f32 posZ,
s16 waypointIndex,
s32 pathIndex )

Tries to find the waypoint nearest to (posX, posY, posZ) Only considers waypoints within 400 units of (posX, posY, posZ) Looks 3 waypoints behind and 6 waypoints ahead of waypointIndex

This fake match is done to stop the compiler from optimzing out considerWaypoint. Maybe if no waypoint was found some debugging info was printed out, but come production time they removed the debug printing but not the loop?

Here is the caller graph for this function:

◆ func_80006018()

s32 func_80006018 ( f32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5,
f32 arg6,
f32 arg7 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800065D0()

void func_800065D0 ( s32 playerId,
Player * player )

◆ func_800070F4()

void func_800070F4 ( void )
Here is the caller graph for this function:

◆ func_800074D4()

void func_800074D4 ( void )
Here is the caller graph for this function:

◆ func_80007BF8()

s32 func_80007BF8 ( u16 arg0,
u16 arg1,
u16 arg2,
u16 arg3,
u16 arg4 )
Here is the caller graph for this function:

◆ func_80007D04()

void func_80007D04 ( s32 playerId,
Player * player )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80007FA4()

void func_80007FA4 ( s32 arg0,
Player * player,
f32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80008424()

void func_80008424 ( s32 playerId,
f32 arg1,
Player * player )
Here is the call graph for this function:

◆ func_800088D8()

s32 func_800088D8 ( s32 ,
s16 ,
s16  )
Here is the caller graph for this function:

◆ func_80008DC0()

void func_80008DC0 ( s32 pathIndex)
Here is the caller graph for this function:

◆ func_80008E58()

s32 func_80008E58 ( s32 payerId,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80008F38()

void func_80008F38 ( s32 playerId)
Here is the caller graph for this function:

◆ func_80009000()

void func_80009000 ( s32 playerId)

◆ func_800090F0()

void func_800090F0 ( s32 playerId,
Player * player )
Here is the call graph for this function:

◆ func_80009258()

f32 func_80009258 ( s32 ,
f32 ,
f32  )

◆ func_8000929C()

void func_8000929C ( s32 ,
Player *  )

◆ func_800098FC()

void func_800098FC ( s32 arg0,
Player * player )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800099EC()

void func_800099EC ( s32 ,
Player *  )

◆ func_80009B60()

void func_80009B60 ( s32 )
Here is the caller graph for this function:

◆ func_8000B140()

void func_8000B140 ( s32 )

◆ func_8000B7E4()

s32 func_8000B7E4 ( s32 ,
u16  )

◆ func_8000B820()

s32 func_8000B820 ( s32 playerIndex)
Here is the caller graph for this function:

◆ func_8000B874()

f32 func_8000B874 ( f32 posX,
f32 posZ,
u16 waypointIndex,
s32 pathIndex )
Here is the caller graph for this function:

◆ func_8000B95C()

void func_8000B95C ( s32 playerId,
u16 waypointIndex,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000BA14()

void func_8000BA14 ( u16 waypointIndex,
f32 arg1,
f32 arg2,
s16 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000BBD8()

void func_8000BBD8 ( u16 waypointIndex,
f32 arg1,
s16 pathIndex )
Here is the caller graph for this function:

◆ func_8000BD94()

s16 func_8000BD94 ( f32 posX,
f32 posY,
f32 posZ,
s32 pathIndex )
Here is the caller graph for this function:

◆ func_8000C884()

s16 func_8000C884 ( f32 posX,
f32 posY,
f32 posZ,
s16 waypointIndex,
s32 pathIndex,
u16 trackSectionId )

Tries to find the waypoint nearest to (posX, posY, posZ) Only consider waypoints in the same segment as trackSectionId Only considers waypoints within 500 units of(posX, posY, posZ) Looks 3 waypoints behind and 6 waypoints ahead of waypointIndex

Here is the caller graph for this function:

◆ func_8000CBA4()

void func_8000CBA4 ( f32 ,
f32 ,
f32 ,
s16 * ,
s32  )

◆ func_8000CBF8()

void func_8000CBF8 ( f32 ,
f32 ,
f32 ,
s16 * ,
s32  )

◆ func_8000CC88()

s16 func_8000CC88 ( f32 posX,
f32 posY,
f32 posZ,
Player * player,
s32 playerId,
s32 * pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000CD24()

s16 func_8000CD24 ( f32 posX,
f32 posY,
f32 posZ,
s16 waypointIndex,
Player * player,
s32 playerId,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000D24C()

s16 func_8000D24C ( f32 posX,
f32 posY,
f32 posZ,
s32 * pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000D2B4()

s16 func_8000D2B4 ( f32 posX,
f32 posY,
f32 posZ,
s16 waypointIndex,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000D33C()

s16 func_8000D33C ( f32 posX,
f32 posY,
f32 posZ,
s16 waypointIndex,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000D3B8()

f32 func_8000D3B8 ( s32 playerId)
Here is the caller graph for this function:

◆ func_8000D438()

void func_8000D438 ( s32 arg0,
u16 arg1 )
Here is the call graph for this function:

◆ func_8000D6D0()

s16 func_8000D6D0 ( Vec3f position,
s16 * waypointIndex,
f32 speed,
f32 arg3,
s16 pathIndex,
s16 arg5 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000D940()

s16 func_8000D940 ( Vec3f pos,
s16 * waypointIndex,
f32 speed,
f32 arg3,
s16 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000DF8C()

void func_8000DF8C ( s32 bombKartId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000EEDC()

void func_8000EEDC ( void )
Here is the caller graph for this function:

◆ func_8000F0E0()

void func_8000F0E0 ( void )
Here is the caller graph for this function:

◆ func_8000F124()

void func_8000F124 ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000F2BC()

void func_8000F2BC ( TrackWaypoint * arg0,
size_t size )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000F2DC()

void func_8000F2DC ( void )
Warning
does not appear to zero all the above allocated variables.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8000F628()

void func_8000F628 ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800100F0()

void func_800100F0 ( s32 pathIndex)
Todo
Confirm this comment
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80010218()

void func_80010218 ( s32 pathIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80010480()

f32 func_80010480 ( s32 pathIndex,
u16 waypointIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800107C4()

void func_800107C4 ( s32 pathIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80010CB0()

s16 func_80010CB0 ( s32 pathIndex,
s32 waypointIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80010DBC()

void func_80010DBC ( s32 pathIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80010E6C()

void func_80010E6C ( s32 pathIndex)
Here is the caller graph for this function:

◆ func_80010F40()

f32 func_80010F40 ( f32 ,
f32 ,
f32 ,
s32 ,
s32  )

◆ func_80010FA0()

f32 func_80010FA0 ( f32 ,
f32 ,
f32 ,
s32 ,
s32  )

◆ func_80011014()

s32 func_80011014 ( TrackWaypoint * ,
TrackWaypoint * ,
s32 ,
s32  )

◆ func_80011EC0()

void func_80011EC0 ( s32 ,
Player * ,
s32 ,
u16  )

◆ func_80012DC0()

void func_80012DC0 ( s32 playerId,
Player * player )
Here is the call graph for this function:

◆ func_80013054()

void func_80013054 ( void )

Appears to check if the train is close to the crossing. Implements sCrossingActiveTimer as a counter

◆ func_80013854()

void func_80013854 ( Player * player)
Here is the call graph for this function:

◆ func_80013C74()

f32 func_80013C74 ( s16 someType,
s16 waypointIndex )
Here is the caller graph for this function:

◆ func_80013F7C()

void func_80013F7C ( s32 playerId,
Player * player,
VehicleStuff * vehicle,
f32 arg3,
f32 arg4,
s32 arg5,
u32 soundBits )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800145A8()

f32 func_800145A8 ( s16 arg0,
f32 arg1,
s16 arg2 )
Here is the caller graph for this function:

◆ func_800146B8()

void func_800146B8 ( s32 playerId,
s32 arg1,
VehicleStuff * vehicle )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800148C4()

void func_800148C4 ( s32 playerId,
Player * player )
Here is the call graph for this function:

◆ func_8001490C()

void func_8001490C ( s32 playerId)
Here is the call graph for this function:

◆ func_80014A18()

void func_80014A18 ( s32 playerId,
Player * player )
Here is the call graph for this function:

◆ func_80014A60()

void func_80014A60 ( s32 playerId)
Here is the call graph for this function:

◆ func_80014B6C()

void func_80014B6C ( s32 playerId,
Player * player )
Here is the call graph for this function:

◆ func_80014BB4()

void func_80014BB4 ( s32 playerId)
Here is the call graph for this function:

◆ func_80014CC0()

void func_80014CC0 ( s32 playerId,
Player * player )
Here is the call graph for this function:

◆ func_80014D08()

void func_80014D08 ( s32 playerId)
Here is the call graph for this function:

◆ func_80014D30()

void func_80014D30 ( s32 cameraId,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80014DE4()

void func_80014DE4 ( s32 cameraIndex)
Here is the caller graph for this function:

◆ func_80014EE4()

f32 func_80014EE4 ( f32 arg0,
s32 arg1 )
Here is the caller graph for this function:

◆ func_8001530C()

void func_8001530C ( void )

◆ func_80015314()

void func_80015314 ( s32 ,
f32 ,
s32  )

◆ func_80015390()

void func_80015390 ( Camera * ,
Player * ,
s32  )

◆ func_80015544()

void func_80015544 ( s32 playerId,
f32 arg1,
s32 cameraId,
s32 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001577C()

void func_8001577C ( Camera * ,
UNUSED Player * ,
s32 ,
s32  )

◆ func_80015A9C()

void func_80015A9C ( s32 playerId,
f32 arg1,
s32 cameraId,
s16 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80015C94()

void func_80015C94 ( Camera * ,
Player * ,
s32 ,
s32  )

◆ func_800162CC()

void func_800162CC ( s32 playerId,
f32 arg1,
s32 cameraId,
s16 pathIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80016494()

void func_80016494 ( Camera * ,
Player * ,
s32 ,
s32  )

◆ func_80016C3C()

void func_80016C3C ( s32 ,
f32 ,
s32  )

◆ func_80017720()

void func_80017720 ( s32 ,
f32 ,
s32 ,
s16  )

◆ func_800178F4()

void func_800178F4 ( Camera * ,
Player * ,
s32 ,
s32  )

◆ func_80017F10()

void func_80017F10 ( s32 ,
f32 ,
s32 ,
s16  )

◆ func_800180F0()

void func_800180F0 ( Camera * ,
Player * ,
s32 ,
s32  )

◆ func_80018718()

void func_80018718 ( s32 ,
f32 ,
s32 ,
s16  )

◆ func_800188F4()

void func_800188F4 ( Camera * ,
Player * ,
s32 ,
s32  )

◆ func_80019118()

void func_80019118 ( s32 ,
f32 ,
s32 ,
s16  )

◆ func_8001933C()

void func_8001933C ( Camera * ,
UNUSED Player * ,
s32 ,
s32  )

◆ func_8001968C()

void func_8001968C ( void )
Here is the caller graph for this function:

◆ func_8001969C()

void func_8001969C ( s32 ,
f32 ,
s32 ,
s16  )

◆ func_80019760()

void func_80019760 ( Camera * ,
UNUSED Player * ,
s32 ,
s32  )

◆ func_80019890()

void func_80019890 ( s32 playerId,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80019B50()

void func_80019B50 ( s32 cameraIndex,
u16 arg1 )
Here is the caller graph for this function:

◆ func_80019C50()

void func_80019C50 ( s32 arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80019D2C()

void func_80019D2C ( Camera * camera,
Player * player,
s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80019DE4()

void func_80019DE4 ( void )
Here is the caller graph for this function:

◆ func_80019DF4()

void func_80019DF4 ( void )
Here is the caller graph for this function:

◆ func_80019E58()

void func_80019E58 ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80019ED0()

void func_80019ED0 ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80019FB4()

void func_80019FB4 ( s32 cameraId)
Here is the caller graph for this function:

◆ func_8001A0A4()

void func_8001A0A4 ( u16 * ,
Camera * ,
Player * ,
s8 ,
s32  )

◆ func_8001A0DC()

void func_8001A0DC ( u16 * arg0,
Camera * arg1,
Player * arg2,
s8 arg3,
s32 arg4 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001A124()

void func_8001A124 ( s32 arg0,
s32 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001A310()

s32 func_8001A310 ( s32 waypoint,
s32 arg1 )
Here is the caller graph for this function:

◆ func_8001A348()

void func_8001A348 ( s32 cameraId,
f32 arg1,
s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001A3D8()

void func_8001A3D8 ( s32 arg0,
f32 arg1,
s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001A450()

void func_8001A450 ( s32 playerId,
s32 arg1,
s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001A518()

void func_8001A518 ( s32 arg0,
s32 arg1,
s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001A588()

void func_8001A588 ( u16 * ,
Camera * ,
Player * ,
s8 ,
s32  )

◆ func_8001AAAC()

void func_8001AAAC ( s16 arg0,
s16 arg1,
s16 arg2 )
Here is the caller graph for this function:

◆ func_8001AB00()

void func_8001AB00 ( void )
Here is the caller graph for this function:

◆ func_8001ABE0()

void func_8001ABE0 ( s32 ,
D_801642D8_entry *  )

◆ func_8001ABEC()

void func_8001ABEC ( struct struct_801642D8 * arg0)

◆ func_8001BE78()

void func_8001BE78 ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001C05C()

void func_8001C05C ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001C14C()

void func_8001C14C ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001C3C4()

void func_8001C3C4 ( s32 cameraId)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001C42C()

void func_8001C42C ( void )
Here is the call graph for this function:

◆ generate_2d_path()

s32 generate_2d_path ( Path2D * pathDest,
TrackWaypoint * pathSrc,
s32 numWaypoints )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_ferry_waypoints()

void generate_ferry_waypoints ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_player_smoke()

void generate_player_smoke ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generate_train_waypoints()

void generate_train_waypoints ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_angle_between_waypoints()

s16 get_angle_between_waypoints ( Vec3f arg0,
Vec3f arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_vehicles_box_trucks()

void init_vehicles_box_trucks ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_vehicles_cars()

void init_vehicles_cars ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_vehicles_ferry()

void init_vehicles_ferry ( void )
Here is the caller graph for this function:

◆ init_vehicles_school_buses()

void init_vehicles_school_buses ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_vehicles_trains()

void init_vehicles_trains ( void )

Set waypoint spawn locations for each rolling stock The railroad has 465 waypoints

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

◆ init_vehicles_trucks()

void init_vehicles_trucks ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize_toads_turnpike_vehicle()

void initialize_toads_turnpike_vehicle ( f32 speedA,
f32 speedB,
s32 numVehicles,
s32 arg3,
VehicleStuff * vehicleList,
TrackWaypoint * waypointList )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kart_ai_behaviour()

void kart_ai_behaviour ( s32 playerIndex)
Here is the call graph for this function:

◆ kart_ai_behaviour_end()

void kart_ai_behaviour_end ( s32 playerIndex,
Player * player )
Here is the caller graph for this function:

◆ kart_ai_behaviour_start()

void kart_ai_behaviour_start ( s32 playerId,
Player * player )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ kart_ai_decisions_branch_item()

void kart_ai_decisions_branch_item ( s32 ,
s16 * ,
s32  )

◆ kart_ai_use_item_strategy()

void kart_ai_use_item_strategy ( s32 )

◆ process_path_data()

s32 process_path_data ( TrackWaypoint * dest,
TrackWaypoint * src )
Here is the caller graph for this function:

◆ reset_kart_ai_behaviour()

void reset_kart_ai_behaviour ( s32 playerIndex)

◆ reset_kart_ai_behaviour_none()

void reset_kart_ai_behaviour_none ( s32 playerIndex)
Here is the caller graph for this function:

◆ set_bomb_kart_spawn_positions()

void set_bomb_kart_spawn_positions ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_places()

void set_places ( void )

◆ set_vehicle_pos_waypoint()

void set_vehicle_pos_waypoint ( TrainCarStuff * trainCar,
Path2D * posXZ,
u16 waypoint )
Here is the caller graph for this function:

◆ set_vehicle_render_distance_flags()

s32 set_vehicle_render_distance_flags ( Vec3f vehiclePos,
f32 renderDistance,
s32 flags )
Here is the caller graph for this function:

◆ spawn_course_vehicles()

void spawn_course_vehicles ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ spawn_vehicle_on_road()

void spawn_vehicle_on_road ( VehicleStuff * vehicle)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sync_train_components()

void sync_train_components ( TrainCarStuff * trainCar,
s16 orientationY )

sync the train components vehicle with the actor

Parameters
trainCar
orientationY
Here is the caller graph for this function:

◆ update_vehicle_box_trucks()

void update_vehicle_box_trucks ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_cars()

void update_vehicle_cars ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_follow_waypoint()

void update_vehicle_follow_waypoint ( VehicleStuff * vehicle)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_following_waypoint()

s16 update_vehicle_following_waypoint ( Vec3f pos,
s16 * waypointIndex,
f32 speed )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_paddle_boats()

void update_vehicle_paddle_boats ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_school_bus()

void update_vehicle_school_bus ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_tanker_trucks()

void update_vehicle_tanker_trucks ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicle_trains()

void update_vehicle_trains ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_vehicles()

void update_vehicles ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ bStopAICrossing

s16 bStopAICrossing[]
extern

◆ D_80162E70

Collision D_80162E70
extern

◆ D_80162EB0

s16 D_80162EB0
extern

◆ D_80162EB2

s16 D_80162EB2
extern

◆ D_80162F10

s16 D_80162F10[]
extern

◆ D_80162F50

s16 D_80162F50[]
extern

◆ D_80162FA0

Vec3f D_80162FA0
extern

◆ D_80162FB0

Vec3f D_80162FB0
extern

◆ D_80162FC0

Vec3f D_80162FC0
extern

◆ D_80162FD0

s16 D_80162FD0
extern

◆ D_80162FF8

s16 D_80162FF8[]
extern

◆ D_80163010

s16 D_80163010[]
extern

◆ D_80163028

f32 D_80163028[]
extern

◆ D_80163050

s16 D_80163050[]
extern

◆ D_80163068

f32 D_80163068[]
extern

◆ D_80163090

f32 D_80163090[]
extern

◆ D_801630B8

s32 D_801630B8[]
extern

◆ D_801630E0

u16 D_801630E0
extern

◆ D_801630E2

s16 D_801630E2
extern

◆ D_801630E8

s16 D_801630E8[]
extern

◆ D_80163100

s32 D_80163100[]
extern

◆ D_80163128

s32 D_80163128[]
extern

◆ D_80163150

s32 D_80163150[]
extern

◆ D_80163178

f32 D_80163178[]
extern

◆ D_801631A0

f32 D_801631A0[]
extern

◆ D_801631C8

s16 D_801631C8
extern

◆ D_801631CC

s32 D_801631CC
extern

◆ D_801631D0

TrackWaypoint* D_801631D0
extern

◆ D_801631D4

TrackWaypoint* D_801631D4
extern

◆ D_801631D8

s16* D_801631D8
extern

◆ D_801631E0

u16 D_801631E0[]
extern

◆ D_801631F8

u16 D_801631F8[]
extern

◆ D_8016320C

f32 D_8016320C
extern

◆ D_80163210

f32 D_80163210[]
extern

◆ D_80163238

s32 D_80163238
extern

◆ D_80163240

u16 D_80163240[]
extern

◆ D_80163258

u16 D_80163258[]
extern

◆ D_80163270

u16 D_80163270[]
extern

◆ D_80163288

s32 D_80163288[]
extern

◆ D_80163300

s16 D_80163300[]
extern

◆ D_80163318

u16 D_80163318[]
extern

◆ D_80163330

u16 D_80163330[]
extern

◆ D_80163344

u16 D_80163344[]
extern

◆ D_80163348

u16 D_80163348[]
extern

◆ D_8016334C

u16 D_8016334C[]
extern

◆ D_80163368

s32 D_80163368[]
extern

◆ D_80163378

s32 D_80163378
extern

◆ D_8016337C

s32 D_8016337C
extern

◆ D_80163380

s16 D_80163380[]
extern

◆ D_80163398

s16 D_80163398[]
extern

◆ D_801633B0

s16 D_801633B0[]
extern

◆ D_801633C8

s16 D_801633C8[]
extern

◆ D_801633E0

s16 D_801633E0[]
extern

◆ D_801633F8

s16 D_801633F8[]
extern

◆ D_80163410

s16 D_80163410[]
extern

◆ D_80163418

f32 D_80163418[]
extern

◆ D_80163428

f32 D_80163428[]
extern

◆ D_80163438

f32 D_80163438[]
extern

◆ D_80163448

s32 D_80163448
extern

◆ D_8016344C

f32 D_8016344C
extern

◆ D_80163450

f32 D_80163450[]
extern

◆ D_80163478

s16 D_80163478
extern

◆ D_8016347A

s16 D_8016347A
extern

◆ D_8016347C

s16 D_8016347C
extern

◆ D_8016347E

s16 D_8016347E
extern

◆ D_80163480

s32 D_80163480
extern

◆ D_80163484

s32 D_80163484
extern

◆ D_80163488

s32 D_80163488
extern

◆ D_8016348C

s16 D_8016348C
extern

◆ D_80163490

s16 D_80163490[]
extern

◆ D_801634A8

s16 D_801634A8[]
extern

◆ D_801634C0

s16 D_801634C0[]
extern

◆ D_801634EC

s16 D_801634EC
extern

◆ D_801634F0

s32 D_801634F0
extern

◆ D_801634F4

s32 D_801634F4
extern

◆ D_801634F8

Test D_801634F8[]
extern

◆ D_801637BE

u16 D_801637BE
extern

◆ D_80163DD8

s32 D_80163DD8[]
extern

◆ D_80163E2A

u16 D_80163E2A
extern

◆ D_801642D8

D_801642D8_entry D_801642D8[]
extern

◆ D_80164358

s16 D_80164358
extern

◆ D_8016435A

s16 D_8016435A
extern

◆ D_8016435C

s16 D_8016435C
extern

◆ D_80164378

s16 D_80164378[]
extern

◆ D_801643E0

s32 D_801643E0[]
extern

◆ D_80164408

s32 D_80164408[]
extern

◆ D_80164430

u16 D_80164430
extern

◆ D_80164450

s32 D_80164450[]
extern

◆ D_80164478

s16 D_80164478[]
extern

◆ D_8016448C

s32 D_8016448C
extern

◆ D_80164498

f32 D_80164498[]
extern

◆ D_801644F8

s16 D_801644F8[]
extern

◆ D_80164510

f32 D_80164510[]
extern

◆ D_80164538

s16 D_80164538[]
extern

◆ D_801645D0

s32 D_801645D0[]
extern

◆ D_801645E8

s32 D_801645E8[]
extern

◆ D_801645F8

f32 D_801645F8[]
extern

◆ D_80164608

s32 D_80164608[]
extern

◆ D_80164618

f32 D_80164618[]
extern

◆ D_80164628

s32 D_80164628[]
extern

◆ D_80164638

f32 D_80164638[]
extern

◆ D_80164648

f32 D_80164648[]
extern

◆ D_80164658

f32 D_80164658[]
extern

◆ D_80164670

s16 D_80164670[]
extern

◆ D_80164678

s16 D_80164678[]
extern

◆ D_80164680

s16 D_80164680[]
extern

◆ D_80164688

f32 D_80164688[]
extern

◆ D_80164698

f32 D_80164698
extern

◆ D_8016469C

f32 D_8016469C
extern

◆ D_801646A0

f32 D_801646A0
extern

◆ D_801646C0

s16 D_801646C0[]
extern

◆ D_801646C8

u32 D_801646C8
extern

◆ D_801646CC

u16 D_801646CC
extern

◆ D_801646D0

UnkStruct_46D0 D_801646D0[]
extern

◆ gCourseCompletionPercentByPlayerId

f32 gCourseCompletionPercentByPlayerId[]
extern

◆ gCourseCompletionPercentByRank

f32 gCourseCompletionPercentByRank[NUM_PLAYERS]
extern

◆ gCoursesKartAIBehaviour

KartAIBehaviour* gCoursesKartAIBehaviour[]
extern

◆ gCurrentKartAIBehaviourId

u16 gCurrentKartAIBehaviourId[]
extern

◆ gFerrySmokeTimer

s16 gFerrySmokeTimer
extern

◆ gGPCurrentRacePlayerIdByRank

s16 gGPCurrentRacePlayerIdByRank[]
extern

◆ gGPCurrentRaceRankByPlayerId

s32 gGPCurrentRaceRankByPlayerId[]
extern

◆ gKartAIBehaviourState

u16 gKartAIBehaviourState[]
extern

◆ gLapCompletionPercentByPlayerId

f32 gLapCompletionPercentByPlayerId[]
extern

◆ gLapCountByPlayerId

s32 gLapCountByPlayerId[]
extern

◆ gNearestWaypointByPlayerId

u16 gNearestWaypointByPlayerId[]
extern

◆ gPreviousKartAIBehaviourId

u16 gPreviousKartAIBehaviourId[]
extern

◆ gSpeedKartAIBehaviour

u16 gSpeedKartAIBehaviour[]
extern

◆ gTrainSmokeTimer

s16 gTrainSmokeTimer
extern

◆ gUnexpiredActorsList

struct unexpiredActors gUnexpiredActorsList[]
extern

◆ gVehicle2DWaypoint

Path2D* gVehicle2DWaypoint
extern

◆ gVehicle2DWaypointLength

s32 gVehicle2DWaypointLength
extern

◆ isCrossingTriggeredByIndex

u16 isCrossingTriggeredByIndex[]
extern

◆ sCrossingActiveTimer

u16 sCrossingActiveTimer[]
extern

◆ sCurrentKartAIBehaviour

KartAIBehaviour* sCurrentKartAIBehaviour
extern