Mario Kart 64
Loading...
Searching...
No Matches
code_80005FD0.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include "code_80005FD0.h"
#include "math_util.h"
#include "code_800029B0.h"
#include "racing/memory.h"
#include "waypoints.h"
#include "camera.h"
#include "actors.h"
#include "actors_extended.h"
#include "render_player.h"
#include "player_controller.h"
#include "update_objects.h"
#include "collision.h"
#include <actor_types.h>
#include "vehicles.h"
#include "render_objects.h"
#include "code_80057C60.h"
#include "bomb_kart.h"
#include "courses/all_course_data.h"
#include <assets/common_data.h>
#include <common_structs.h>
#include "main.h"
#include "menus.h"
#include "code_80091750.h"
#include "audio/external.h"
#include "ending/podium_ceremony_actors.h"
#include "spawn_players.h"
#include "sounds.h"
#include "data/path_spawn_metadata.h"
Include dependency graph for code_80005FD0.c:

Macros

#define GET_PATH_LENGTH(waypoint)
 

Functions

s16 get_angle_between_waypoints (Vec3f arg0, Vec3f arg1)
 
s32 func_80006018 (f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7)
 
void adjust_position_by_angle (Vec3f newPos, Vec3f oldPos, s16 orientationY)
 
s32 set_vehicle_render_distance_flags (Vec3f vehiclePos, f32 renderDistance, s32 flags)
 
void func_800065D0 (s32 playerId, Player *player)
 
void set_places (void)
 
void func_800070F4 (void)
 
void func_800074D4 (void)
 
s32 func_80007BF8 (u16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4)
 
void func_80007D04 (s32 playerId, Player *player)
 
void func_80007FA4 (s32 arg0, Player *player, f32 arg2)
 
void func_80008424 (s32 playerId, f32 arg1, Player *player)
 
void func_80008DC0 (s32 pathIndex)
 
s32 func_80008E58 (s32 payerId, s32 pathIndex)
 
void func_80008F38 (s32 playerId)
 
void func_80009000 (s32 playerId)
 
void func_800090F0 (s32 playerId, Player *player)
 
f32 func_80009258 (UNUSED s32 playerId, f32 arg1, f32 arg2)
 
void update_vehicles (void)
 
void func_800098FC (s32 arg0, Player *player)
 
void func_800099EC (s32 playerId, UNUSED Player *unused)
 
s32 func_8000B7E4 (UNUSED s32 arg0, u16 waypointIndex)
 
s32 func_8000B820 (s32 playerIndex)
 
f32 func_8000B874 (f32 posX, f32 posZ, u16 waypointIndex, s32 pathIndex)
 
void func_8000B95C (s32 playerId, u16 waypointIndex, s32 pathIndex)
 
void func_8000BA14 (u16 waypointIndex, f32 arg1, f32 arg2, s16 pathIndex)
 
void func_8000BBD8 (u16 waypointIndex, f32 arg1, s16 pathIndex)
 
s16 func_8000BD94 (f32 posX, f32 posY, f32 posZ, s32 pathIndex)
 
s16 find_closest_waypoint_track_section (f32 posX, f32 posY, f32 posZ, u16 trackSectionId, s32 *pathIndex)
 
s16 func_8000C884 (f32 posX, f32 posY, f32 posZ, s16 waypointIndex, s32 pathIndex, u16 trackSectionId)
 
s16 find_closest_waypoint_with_previous_waypoint (f32 posX, f32 posY, f32 posZ, s16 waypointIndex, s32 pathIndex)
 
void func_8000CBA4 (UNUSED f32 posX, f32 posY, UNUSED f32 posZ, s16 *waypointIndex, UNUSED s32 arg4)
 
void func_8000CBF8 (UNUSED f32 posX, UNUSED f32 posY, f32 posZ, s16 *waypointIndex, s32 pathIndex)
 
s16 func_8000CC88 (f32 posX, f32 posY, f32 posZ, Player *player, s32 playerId, s32 *pathIndex)
 
s16 func_8000CD24 (f32 posX, f32 posY, f32 posZ, s16 waypointIndex, Player *player, s32 playerId, s32 pathIndex)
 
s16 find_closest_vehicles_waypoint (f32 xPos, UNUSED f32 yPos, f32 zPos, s16 waypointIndex)
 
s16 func_8000D24C (f32 posX, f32 posY, f32 posZ, s32 *pathIndex)
 
s16 func_8000D2B4 (f32 posX, f32 posY, f32 posZ, s16 waypointIndex, s32 pathIndex)
 
s16 func_8000D33C (f32 posX, f32 posY, f32 posZ, s16 waypointIndex, s32 pathIndex)
 
f32 func_8000D3B8 (s32 playerId)
 
void func_8000D438 (s32 arg0, u16 arg1)
 
s16 func_8000D6D0 (Vec3f position, s16 *waypointIndex, f32 speed, f32 arg3, s16 pathIndex, s16 arg5)
 
s16 func_8000D940 (Vec3f pos, s16 *waypointIndex, f32 speed, f32 arg3, s16 pathIndex)
 
s16 update_vehicle_following_waypoint (Vec3f pos, s16 *waypointIndex, f32 speed)
 
void set_bomb_kart_spawn_positions (void)
 
void func_8000DF8C (s32 bombKartId)
 
s32 add_actor_in_unexpired_actor_list (s32 actorIndex, s16 arg1)
 
s32 add_red_shell_in_unexpired_actor_list (s32 actorIndex)
 
s32 add_green_shell_in_unexpired_actor_list (s32 actorIndex)
 
s32 add_blue_shell_in_unexpired_actor_list (s32 arg0)
 
void delete_actor_in_unexpired_actor_list (s32 actorIndex)
 
void func_8000EEDC (void)
 
void generate_player_smoke (void)
 
void func_8000F0E0 (void)
 
void func_8000F124 (void)
 
void func_8000F2BC (TrackWaypoint *arg0, size_t size)
 
void func_8000F2DC (void)
 
void func_8000F628 (void)
 
void func_800100F0 (s32 pathIndex)
 
void func_80010218 (s32 pathIndex)
 
f32 func_80010480 (s32 pathIndex, u16 waypointIndex)
 
void func_800107C4 (s32 pathIndex)
 
s16 func_80010CB0 (s32 pathIndex, s32 waypointIndex)
 
void func_80010DBC (s32 pathIndex)
 
void func_80010E6C (s32 pathIndex)
 
f32 func_80010F40 (f32 arg0, f32 arg1, f32 arg2, UNUSED s32 arg3, UNUSED s32 arg4)
 
f32 func_80010FA0 (f32 arg0, f32 arg1, f32 arg2, UNUSED s32 arg3, UNUSED s32 arg4)
 
s32 func_80011014 (TrackWaypoint *pathDest, TrackWaypoint *path, s32 numPathPoints, UNUSED s32 pathIndex)
 
s32 process_path_data (TrackWaypoint *dest, TrackWaypoint *src)
 
s32 generate_2d_path (Path2D *pathDest, TrackWaypoint *pathSrc, s32 numWaypoints)
 
void copy_courses_kart_ai_behaviour (void)
 
void reset_kart_ai_behaviour_none (s32 playerIndex)
 
void reset_kart_ai_behaviour (s32 playerIndex)
 
void kart_ai_behaviour_start (s32 playerId, Player *player)
 
void kart_ai_behaviour_end (s32 playerIndex, Player *player)
 
void kart_ai_behaviour (s32 playerIndex)
 
void func_80011EC0 (s32 arg0, Player *player, s32 arg2, UNUSED u16 arg3)
 
void generate_train_waypoints (void)
 
void generate_ferry_waypoints (void)
 
void spawn_vehicle_on_road (VehicleStuff *vehicle)
 
void spawn_course_vehicles (void)
 
void set_vehicle_pos_waypoint (TrainCarStuff *trainCar, Path2D *posXZ, u16 waypoint)
 
void init_vehicles_trains (void)
 
void sync_train_components (TrainCarStuff *trainCar, s16 orientationY)
 sync the train components vehicle with the actor
 
void update_vehicle_trains (void)
 
void func_80012DC0 (s32 playerId, Player *player)
 
void func_80013054 (void)
 
void check_ai_crossing_distance (s32 playerId)
 
void init_vehicles_ferry (void)
 
void update_vehicle_paddle_boats (void)
 
void func_80013854 (Player *player)
 
void initialize_toads_turnpike_vehicle (f32 speedA, f32 speedB, s32 numVehicles, s32 arg3, VehicleStuff *vehicleList, TrackWaypoint *waypointList)
 
f32 func_80013C74 (s16 someType, s16 waypointIndex)
 
void update_vehicle_follow_waypoint (VehicleStuff *vehicle)
 
void func_80013F7C (s32 playerId, Player *player, VehicleStuff *vehicle, f32 arg3, f32 arg4, s32 arg5, u32 soundBits)
 
f32 func_800145A8 (s16 arg0, f32 arg1, s16 arg2)
 
void func_800146B8 (s32 playerId, s32 arg1, VehicleStuff *vehicle)
 
void init_vehicles_box_trucks (void)
 
void update_vehicle_box_trucks (void)
 
void func_800148C4 (s32 playerId, Player *player)
 
void func_8001490C (s32 playerId)
 
void init_vehicles_school_buses (void)
 
void update_vehicle_school_bus (void)
 
void func_80014A18 (s32 playerId, Player *player)
 
void func_80014A60 (s32 playerId)
 
void init_vehicles_trucks (void)
 
void update_vehicle_tanker_trucks (void)
 
void func_80014B6C (s32 playerId, Player *player)
 
void func_80014BB4 (s32 playerId)
 
void init_vehicles_cars (void)
 
void update_vehicle_cars (void)
 
void func_80014CC0 (s32 playerId, Player *player)
 
void func_80014D08 (s32 playerId)
 
void func_80014D30 (s32 cameraId, s32 pathIndex)
 
void func_80014DE4 (s32 cameraIndex)
 
f32 func_80014EE4 (f32 arg0, s32 arg1)
 
void calculate_camera_up_vector (Camera *camera, s32 cameraIndex)
 
UNUSED void func_8001530C (void)
 
void func_80015314 (s32 playerId, UNUSED f32 arg1, s32 cameraId)
 
void func_80015390 (Camera *camera, UNUSED Player *player, UNUSED s32 arg2)
 
void func_80015544 (s32 playerId, f32 arg1, s32 cameraId, s32 pathIndex)
 
void func_8001577C (Camera *camera, UNUSED Player *playerArg, UNUSED s32 arg2, s32 cameraId)
 
void func_80015A9C (s32 playerId, f32 arg1, s32 cameraId, s16 pathIndex)
 
void func_80015C94 (Camera *camera, UNUSED Player *unusedPlayer, UNUSED s32 arg2, s32 cameraId)
 
void func_800162CC (s32 playerId, f32 arg1, s32 cameraId, s16 pathIndex)
 
void func_80016494 (Camera *camera, UNUSED Player *unusedPlayer, UNUSED s32 arg2, s32 cameraId)
 
void func_80016C3C (UNUSED s32 playerId, UNUSED f32 arg1, s32 cameraId)
 
void func_80017054 (Camera *camera, UNUSED Player *player, UNUSED s32 index, s32 cameraId)
 
void func_80017720 (s32 playerId, UNUSED f32 arg1, s32 cameraId, s16 pathIndex)
 
void func_800178F4 (Camera *camera, UNUSED Player *unusedPlayer, UNUSED s32 arg2, s32 cameraId)
 
void func_80017F10 (s32 playerId, UNUSED f32 arg1, s32 cameraId, s16 pathIndex)
 
void func_800180F0 (Camera *camera, UNUSED Player *unusedPlayer, UNUSED s32 arg2, s32 cameraId)
 
void func_80018718 (s32 playerId, UNUSED f32 arg1, s32 cameraId, s16 pathIndex)
 
void func_800188F4 (Camera *camera, UNUSED Player *unusePlayer, UNUSED s32 arg2, s32 cameraId)
 
void func_80019118 (s32 playerId, f32 arg1, s32 cameraId, UNUSED s16 pathIndex)
 
void func_8001933C (Camera *camera, UNUSED Player *playerArg, UNUSED s32 arg2, s32 cameraId)
 
void func_8001968C (void)
 
void func_8001969C (UNUSED s32 playerId, UNUSED f32 arg1, s32 cameraId, UNUSED s16 pathIndex)
 
void func_80019760 (Camera *camera, UNUSED Player *player, UNUSED s32 arg2, s32 cameraId)
 
void func_80019890 (s32 playerId, s32 cameraId)
 
void func_80019B50 (s32 cameraIndex, u16 arg1)
 
void func_80019C50 (s32 arg0)
 
void func_80019D2C (Camera *camera, Player *player, s32 arg2)
 
void func_80019DE4 (void)
 
void func_80019DF4 (void)
 
void func_80019E58 (void)
 
void func_80019ED0 (void)
 
void func_80019FB4 (s32 cameraId)
 
void func_8001A0A4 (UNUSED u16 *arg0, UNUSED Camera *arg1, UNUSED Player *arg2, UNUSED s8 arg3, s32 arg4)
 
void func_8001A0DC (u16 *arg0, Camera *arg1, Player *arg2, s8 arg3, s32 arg4)
 
void func_8001A124 (s32 arg0, s32 arg1)
 
void func_8001A220 (UNUSED s32 arg0, s32 cameraId)
 
s32 func_8001A310 (s32 waypoint, s32 arg1)
 
void func_8001A348 (s32 cameraId, f32 arg1, s32 arg2)
 
void func_8001A3D8 (s32 arg0, f32 arg1, s32 arg2)
 
void func_8001A450 (s32 playerId, s32 arg1, s32 arg2)
 
void func_8001A518 (s32 arg0, s32 arg1, s32 arg2)
 
void func_8001A588 (UNUSED u16 *localD_80152300, Camera *camera, Player *player, s8 index, s32 cameraIndex)
 
void func_8001AAAC (s16 arg0, s16 arg1, s16 arg2)
 
void func_8001AB00 (void)
 
void kart_ai_decisions_branch_item (UNUSED s32 arg0, s16 *arg1, s32 arg2)
 
void func_8001ABE0 (UNUSED s32 arg0, UNUSED D_801642D8_entry *arg1)
 
void func_8001ABEC (struct struct_801642D8 *arg0)
 
void func_8001BE78 (void)
 
void func_8001C05C (void)
 
void func_8001C14C (void)
 
void func_8001C3C4 (s32 cameraId)
 
UNUSED void func_8001C42C (void)
 

Variables

s32 unk_code_80005FD0_pad [24]
 
Collision D_80162E70
 
s16 D_80162EB0
 
s16 D_80162EB2
 
KartAIBehaviourgCoursesKartAIBehaviour [NUM_COURSES - 1]
 
s32 D_80162F08 [2]
 
s16 D_80162F10 [30]
 
s16 D_80162F50 [30]
 
s32 D_80162F90 [4]
 
Vec3f D_80162FA0
 
Vec3f D_80162FB0
 
Vec3f D_80162FC0
 
s16 gTrainSmokeTimer
 
s16 sSomeNearestWaypoint
 
s16 D_80162FD0
 
f32 gCourseCompletionPercentByRank [NUM_PLAYERS]
 
s16 D_80162FF8 [12]
 
s16 D_80163010 [12]
 
f32 D_80163028 [10]
 
s16 D_80163050 [12]
 
f32 D_80163068 [10]
 
f32 D_80163090 [10]
 
s32 D_801630B8 [10]
 
u16 D_801630E0
 
s16 D_801630E2
 
s16 D_801630E8 [10]
 
s16 gFerrySmokeTimer
 
s32 D_80163100 [10]
 
s32 D_80163128 [10]
 
s32 D_80163150 [10]
 
f32 D_80163178 [10]
 
f32 D_801631A0 [10]
 
s16 D_801631C8
 
s32 D_801631CC
 
TrackWaypointD_801631D0
 
TrackWaypointD_801631D4
 
s16D_801631D8
 
s16D_801631DC
 
u16 D_801631E0 [12]
 
u16 D_801631F8 [10]
 
f32 D_8016320C
 
f32 D_80163210 [10]
 
s32 D_80163238
 
u16 D_80163240 [12]
 
u16 D_80163258 [12]
 
u16 D_80163270 [12]
 
s32 D_80163288 [10]
 
KartAIBehavioursCurrentKartAIBehaviour
 
u16 gCurrentKartAIBehaviourId [12]
 
u16 gPreviousKartAIBehaviourId [12]
 
u16 gKartAIBehaviourState [12]
 
s16 D_80163300 [12]
 
u16 D_80163318 [12]
 
u16 D_80163330 [10]
 
u16 D_80163344 [2]
 
u16 D_80163348 [2]
 
u16 D_8016334C [2]
 
u16 gSpeedKartAIBehaviour [12]
 
s32 D_80163368 [4]
 
s32 D_80163378
 
s32 D_8016337C
 
s16 D_80163380 [12]
 
s16 D_80163398 [12]
 
s16 D_801633B0 [12]
 
s16 D_801633C8 [12]
 
s16 D_801633E0 [12]
 
s16 D_801633F8 [12]
 
s16 D_80163410 [4]
 
f32 D_80163418 [4]
 
f32 D_80163428 [4]
 
f32 D_80163438 [4]
 
s32 D_80163448
 
f32 D_8016344C
 
f32 D_80163450 [10]
 
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 [12]
 
s16 D_801634A8 [12]
 
s16 D_801634C0 [12]
 
s16 bStopAICrossing [10]
 
s16 D_801634EC
 
s32 D_801634F0
 
s32 D_801634F4
 
Test D_801634F8 [10]
 
Path2DgVehicle2DWaypoint
 
s32 gVehicle2DWaypointLength
 
TrainStuff gTrainList [NUM_TRAINS]
 
u16 isCrossingTriggeredByIndex [NUM_CROSSINGS]
 
u16 sCrossingActiveTimer [NUM_CROSSINGS]
 
PaddleBoatStuff gPaddleBoats [NUM_PADDLE_BOATS]
 
VehicleStuff gBoxTruckList [NUM_RACE_BOX_TRUCKS]
 
VehicleStuff gSchoolBusList [NUM_RACE_SCHOOL_BUSES]
 
VehicleStuff gTankerTruckList [NUM_RACE_TANKER_TRUCKS]
 
VehicleStuff gCarList [NUM_RACE_CARS]
 
s32 D_80163DD8 [4]
 
BombKart gBombKarts [NUM_BOMB_KARTS_MAX]
 
Collision D_80164038 [NUM_BOMB_KARTS_MAX]
 
struct unexpiredActors gUnexpiredActorsList [8]
 
D_801642D8_entry D_801642D8 [8]
 
s16 D_80164358
 
s16 D_8016435A
 
s16 D_8016435C
 
s16 gGPCurrentRacePlayerIdByRank [12]
 
s16 D_80164378 [12]
 
s32 gLapCountByPlayerId [10]
 
s32 gGPCurrentRaceRankByPlayerId [10]
 
s32 D_801643E0 [10]
 
s32 D_80164408 [10]
 
u16 D_80164430
 
u16 gNearestWaypointByPlayerId [12]
 
s32 D_80164450 [10]
 
s16 D_80164478 [10]
 
s32 D_8016448C
 
TrackWaypointD_80164490
 
f32 D_80164498 [4]
 
f32 gLapCompletionPercentByPlayerId [10]
 
f32 gCourseCompletionPercentByPlayerId [10]
 
s16 D_801644F8 [12]
 
f32 D_80164510 [10]
 
s16 D_80164538 [12]
 
TrackWaypointD_80164550 [4]
 
TrackWaypointD_80164560 [4]
 
TrackWaypointD_80164570 [4]
 
s16D_80164580 [4]
 
s16D_80164590 [4]
 
s16D_801645A0 [4]
 
u16 gPathIndexByPlayerId [12]
 
u16 gWaypointCountByPathIndex [4]
 
s32 D_801645D0 [4]
 
s16D_801645E0
 
s32 D_801645E8 [4]
 
f32 D_801645F8 [4]
 
s32 D_80164608 [4]
 
f32 D_80164618 [4]
 
s32 D_80164628 [4]
 
f32 D_80164638 [4]
 
f32 D_80164648 [4]
 
f32 D_80164658 [4]
 
s16 gNearestWaypointByCameraId [4]
 
s16 D_80164670 [4]
 
s16 D_80164678 [4]
 
s16 D_80164680 [4]
 
f32 D_80164688 [4]
 
f32 D_80164698
 
f32 D_8016469C
 
f32 D_801646A0
 
s32 D_801646A4
 
s32 D_801646A8
 
s32 D_801646AC
 
s32 D_801646B0
 
s32 D_801646B4
 
s32 D_801646B8
 
s32 D_801646BC
 
s16 D_801646C0 [4]
 
u32 D_801646C8
 
u16 D_801646CC
 
UnkStruct_46D0 D_801646D0 [4]
 
char * D_800EB710 = "ゴール直後の強制ソート\n"
 
char * D_800EB728 = "2PGPで片方がゴール直後の強制ソート\n"
 
char * D_800EB74C = "順位計算エラー!! (num %d) (rank %d) (e_rank %d)\n"
 
char * D_800EB780 = "バイパス切り替え エラー!!!(num %d org_bipas %d bipas %d)\n"
 
char * D_800EB7BC = "(%d) rap %3d rate_count_F %10.2f rap_count_F %10.2f area %5d \n"
 
char * D_800EB800 = "迷路に突入! enemy %d (%d --> %d)\n"
 
char * D_800EB824 = "迷路から出た! enemy %d (%d --> %d)\n"
 
char * D_800EB84C = "enemy voice set (%d slip_flag %x weapon %x)\n"
 
char * D_800EB87C = "スピンヴォイス!!(%d , name %d)\n"
 
char * D_800EB8A0 = "ダメージヴォイス!!(%d, name %d)\n"
 
char * D_800EB8C4 = "===== ENEMY DRIVE SUB (%d) =====\n"
 
char * D_800EB8E8 = "ENEMY END(手抜き)\n\n"
 
char * D_800EB8FC = "ENEMY END(手抜き)\n\n"
 
char * D_800EB910 = "(1)enemy stick angle over!! (%d)\n"
 
char * D_800EB934 = "ENEMY END\n\n"
 
char * D_800EB940 = "(2)enemy stick angle over!! (%d)\n"
 
char * D_800EB964 = "ENEMY END\n\n"
 
char * D_800EB970 = "AREA ERR!!! (現在のセンターライン %d に未登録のグループです) %d\n"
 
char * D_800EB9B4 = "AREA ERR!!! (未登録のグループです) %d\n"
 
char * D_800EB9DC = "get_oga_area_sub_BP() ... エリアが見つからないッス! (b_num = %d)\n"
 
char * D_800EBA20 = " 状況: (%d, %d, %d) \n"
 
char * D_800EBA38 = "<%d> (%d, %d, %d) [%d] lng %f\n"
 
char * D_800EBA58 = "ワリオスタジアム ジャンプ失敗!!! (area %d, y %7.2f)\n"
 
char * D_800EBA94 = "水に落ちた!! センターラインに強制移動しました (num %d: area %d ) (%d,%d,%d)\n"
 
char * D_800EBAE4
 
char * D_800EBB60
 
char * D_800EBBDC = "こーすあうと!!! エリアを再計算しました (num %d: area %d ==>%d)\n"
 
char * D_800EBC24 = "直接指定のBOM(%d) (%7.2f, %7.2f, %7.2f) \n"
 
char * D_800EBC50 = "BOM HIT CHECK\n"
 
char * D_800EBC60 = "BOM HIT !!!!! (%d)\n"
 
char * D_800EBC74 = "BOM待機\n"
 
char * D_800EBC80 = "RESULT BOM area(%d)\n"
 
char * D_800EBC98 = "BOM が 落ちました。\n"
 
char * D_800EBCB0 = "カメ用火柱 SET 失敗 (TABLE IS FULL)\n"
 
char * D_800EBCD8 = "赤ガメ火柱セットエラー! (category %d)\n"
 
char * D_800EBD00 = "青ガメ火柱セットエラー! (category %d)\n"
 
char * D_800EBD28 = "トゲガメ火柱セットエラー! (category %d)\n"
 
char * D_800EBD54 = "カメ火柱初期化!!\n"
 
char * D_800EBD68 = "センターライン初期化\n"
 
char * D_800EBD80 = "MAP NUMBER %d\n"
 
char * D_800EBD90 = "center_EX ptr = %x %x (%x)\n"
 
char * D_800EBDB4 = "\n"
 
char * D_800EBDB8 = "center_BP[%d] ptr = %x %x (%x)\n"
 
char * D_800EBDE0 = "side_point_L_BP[%d] ptr = %x %x (%x)\n"
 
char * D_800EBE08 = "side_point_R_BP[%d] ptr = %x %x (%x)\n"
 
char * D_800EBE30 = "curve_BP[%d] ptr = %x %x (%x)\n"
 
char * D_800EBE58 = "angle_BP[%d] ptr = %x %x (%x)\n"
 
char * D_800EBE80 = "short_cut_data_BP[%d] ptr = %x %x (%x)\n"
 
char * D_800EBEA8 = "\n"
 
char * D_800EBEAC = "小川の使用メモリー合計 = %d\n"
 
char * D_800EBECC = "敵初期化\n"
 
char * D_800EBED8 = "敵初期化終了\n"
 
char * D_800EBEE8 = "バイパス CENTER LINE 分割開始\n"
 
char * D_800EBF08 = "センターラインをROMから読みます (map:%d)\n"
 
char * D_800EBF34 = "ROM center (BP%d) line adr. = %x (%x)\n"
 
char * D_800EBF5C = "センターラインを計算します (map:%d)\n"
 
char * D_800EBF84 = "center (BP%d) line adr. = %x (%x)\n"
 
char * D_800EBFA8 = "BP center_point_number : %d\n"
 
char * D_800EBFC8 = "センターライン データ エラー!!\n"
 
char * D_800EBFEC = "バイパス CENTER LINE 分割終了 (%d -> %d 個)\n"
 
char * D_800EC01C = "センターラインが ありません。(map:%d)\n"
 
char * D_800EC044 = "サイドポイント計算 (バイパス %d)\n"
 
char * D_800EC068 = "カーブデータ計算 (バイパス %d)\n"
 
char * D_800EC088 = "センターラインが ありません。(map:%d)\n"
 
char * D_800EC0B0 = "アングルデータ計算 (バイパス %d) \n"
 
char * D_800EC0D4 = "センターラインが ありません。(map:%d)\n"
 
char * D_800EC0FC = "ショートカットデータ計算 (バイパス %d)\n"
 
char * D_800EC124 = "extern POINT rom_center_KT%d_BP%d[] = {\n"
 
char * D_800EC150 = "\t{%d,%d,%d,%d},\n"
 
char * D_800EC164 = "\t0x8000,0x8000,0x8000,0\n};\n\n"
 
char * D_800EC184 = "area read from ROM (%d)\n"
 
char * D_800EC1A0 = "ノーマルジャンプ!!!(%d)\n"
 
char * D_800EC1BC = "ターボオン!!!(%d)\n"
 
char * D_800EC1D4 = "手抜き禁止!!!(%d)\n"
 
char * D_800EC1EC = "アクション開始データエラー!(num %d, act %d)\n"
 
char * D_800EC21C = "アクション終了データエラー!(num %d, act %d, old_act_num %d)\n"
 
char * D_800EC25C = "SL : center_point_number : %d\n"
 
char * D_800EC27C = "SL: CENTER LINE 分割開始\n"
 
char * D_800EC298 = "SL: CENTER LINE 分割終了 (%d -> %d 個)\n"
 
char * D_800EC2C0 = "SHIP : center_point_number : %d\n"
 
char * D_800EC2E4 = "SHIP: CENTER LINE 分割開始\n"
 
char * D_800EC300 = "SHIP: CENTER LINE 分割終了 (%d -> %d 個)\n"
 
char * D_800EC32C = "汎用OBJキャラ初期化\n"
 
char * D_800EC344 = "SL OBJ設定\n"
 
char * D_800EC350 = "SHIP OBJ設定\n"
 
char * D_800EC360 = "トラックOBJ設定\n"
 
char * D_800EC374 = "バスOBJ設定\n"
 
char * D_800EC384 = "タンクOBJ設定\n"
 
char * D_800EC394 = "RV OBJ設定\n"
 
char * D_800EC3A0 = "汎用OBJキャラ初期化終了\n"
 
char * D_800EC3BC = "クラクション (num %d, permit %d, %d)\n"
 
char * D_800EC3E4 = "OGA CAMERA INIT (%d)\n"
 
char * D_800EC3FC = "OGA CAMERA INIT END\n"
 
char * D_800EC414 = "高速カメラ ERR !!! (ncx = %f)\n"
 
char * D_800EC434 = "高速カメラ ERR !!! (ncz = %f)\n"
 
char * D_800EC454 = "高速カメラ ERR !!! (ecx = %f)\n"
 
char * D_800EC474 = "高速カメラ ERR !!! (ecz = %f)\n"
 
char * D_800EC494 = "OGA DRIVERS POINT CAMERA MODE \n"
 
char * D_800EC4B4 = "OGA WINNER CAMERA MODE \n"
 
char * D_800EC4D0 = "OGA TIMEATTACK QUICK CAMERA INIT \n"
 
char * D_800EC4F4 = "OGA BATTLE CAMERA INIT win(%d)\n"
 
char * D_800EC514 = "GOAL! <<rank 1>> camera %d rank %d\n"
 
char * D_800EC53C = "GOAL! <<rank 2,3,4>> camera %d rank %d\n"
 
char * D_800EC568 = "GOAL! <<rank 5,6,7,8>> camera %d rank %d\n"
 
char * D_800EC594 = "カメラとカートが衝突しました!!! (%d)\n"
 
char * D_800EC5C0 = "<<< ITEM OBJ NUMBER ERR !! >>> item %d obj_num %d \n"
 
char * D_800EC5F8 = "<<< BANANA SET 失敗 >>> obj_num %d zure %f \n"
 
char * D_800EC628 = "BANANA 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800EC65C = "理由: EXISTOBJ \n"
 
char * D_800EC670 = "理由: category \n"
 
char * D_800EC684 = "理由: sparam \n"
 
char * D_800EC694 = "理由: num \n"
 
char * D_800EC6A0 = "BANANA HOLD (num %d time %d hold_time %d)\n"
 
char * D_800EC6D0 = "設置 BANANA 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800EC708 = "理由: EXISTOBJ \n"
 
char * D_800EC71C = "理由: category \n"
 
char * D_800EC730 = "理由: sparam \n"
 
char * D_800EC740 = "理由: num \n"
 
char * D_800EC74C = "BANANA 置きました。 (num %d)\n"
 
char * D_800EC76C = "<<< BANANA NAGE SET 失敗 >>> obj_num %d \n"
 
char * D_800EC798 = "BANANA NAGE MOVE 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800EC7D8 = "理由: EXISTOBJ \n"
 
char * D_800EC7EC = "理由: category \n"
 
char * D_800EC800 = "理由: sparam \n"
 
char * D_800EC810 = "理由: num \n"
 
char * D_800EC81C = "BANANA NAGE END 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800EC858 = "理由: EXISTOBJ \n"
 
char * D_800EC86C = "理由: category \n"
 
char * D_800EC880 = "理由: sparam \n"
 
char * D_800EC890 = "理由: num \n"
 
char * D_800EC89C = "G_SHELL HOLD (num %d time %d hold_time %d)\n"
 
char * D_800EC8CC = "<<< G_SHELL SET 失敗 >>> obj_num %d \n"
 
char * D_800EC8F4 = "<<< G_SHELL SET 失敗 >>> object_count %d \n"
 
char * D_800EC920 = "G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800EC954 = "理由: EXISTOBJ \n"
 
char * D_800EC968 = "理由: category \n"
 
char * D_800EC97C = "理由: sparam \n"
 
char * D_800EC98C = "理由: num \n"
 
char * D_800EC998 = "発射直前 G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800EC9D8 = "理由: EXISTOBJ \n"
 
char * D_800EC9EC = "理由: category \n"
 
char * D_800ECA00 = "理由: sparam \n"
 
char * D_800ECA10 = "理由: num \n"
 
char * D_800ECA1C = "G_SHELL 発射 (num %d)\n"
 
char * D_800ECA34 = "R_SHELL HOLD (num %d time %d hold_time %d obj_num %d)\n"
 
char * D_800ECA70 = "<<< R_SHELL SET 失敗 >>> obj_num %d \n"
 
char * D_800ECA98 = "<<< R_SHELL SET 失敗 >>> object_count %d \n"
 
char * D_800ECAC4 = "R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800ECAF8 = "理由: EXISTOBJ \n"
 
char * D_800ECB0C = "理由: category \n"
 
char * D_800ECB20 = "理由: sparam \n"
 
char * D_800ECB30 = "理由: num \n"
 
char * D_800ECB3C = "R_SHELL SHOOT (num %d time %d hold_time %d obj_num %d)\n"
 
char * D_800ECB78 = "発射直前 R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800ECBB8 = "理由: EXISTOBJ \n"
 
char * D_800ECBCC = "理由: category \n"
 
char * D_800ECBE0 = "理由: sparam \n"
 
char * D_800ECBF0 = "理由: num \n"
 
char * D_800ECBFC = "R_SHELL 発射 (num %d)\n"
 
char * D_800ECC14 = "S_BANANA HOLD (num %d time %d hold_time %d)\n"
 
char * D_800ECC44 = "<<< SUPER_BANANA SET 失敗 >>> obj_num %d \n"
 
char * D_800ECC70 = "<<< SUPER_BANANA SET 失敗 >>> object_count %d \n"
 
char * D_800ECCA0 = "S_BANANA 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800ECCD8 = "理由: category \n"
 
char * D_800ECCEC = "理由: sparam \n"
 
char * D_800ECCFC = "理由: sb_ok \n"
 
char * D_800ECD0C = "S_BANANA RELEASE (num %d time %d )\n"
 
char * D_800ECD34 = "<<< FAKE IBOX SET 失敗 >>> obj_num %d \n"
 
char * D_800ECD5C = "IBOX 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800ECD90 = "理由: EXISTOBJ \n"
 
char * D_800ECDA4 = "理由: category \n"
 
char * D_800ECDB8 = "理由: sparam \n"
 
char * D_800ECDC8 = "理由: num \n"
 
char * D_800ECDD4 = "FBOX HOLD (num %d time %d hold_time %d)\n"
 
char * D_800ECE00 = "設置 IBOX 所有者チェックに引っ掛かりました。(num %d)\n"
 
char * D_800ECE38 = "理由: EXISTOBJ \n"
 
char * D_800ECE4C = "理由: category \n"
 
char * D_800ECE60 = "理由: sparam \n"
 
char * D_800ECE70 = "理由: num \n"
 
char * D_800ECE7C = "雷START (%d)\n"
 
char * D_800ECE8C = "雷END (%d)\n"
 
char * D_800ECE98 = "---------- 表彰台初期化\n"
 
char * D_800ECEB4 = "map_number = %d - > 20 書き換え中。\n"
 
char * D_800ECEDC = "OGA 表彰 move 開始\n"
 
char * D_800ECEF0 = "4位の人の表示をコールしました。\n"
 
char * D_800ECF14 = "表彰台に到着\n"
 
char * D_800ECF24 = "全員集合!\n"
 
char * D_800ECF30 = "道路に到着\n"
 
char * D_800ECF3C = "4位の人終了\n"
 
char * D_800ECF4C = "OGA 表彰 move 終了\n"
 
char * D_800ECF60 = "OGAWA DEBUG DRAW\n"
 

Macro Definition Documentation

◆ GET_PATH_LENGTH

#define GET_PATH_LENGTH ( waypoint)
Value:
for (i = 0;; i++) { \
if ((u16) waypoint[i].posX == 0x8000) { \
break; \
} \
}
unsigned short int u16
Definition ultratypes.h:14

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 xPos,
UNUSED f32 yPos,
f32 zPos,
s16 waypointIndex )
Here is the caller graph for this function:

◆ 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_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 ( UNUSED s32 playerId,
f32 arg1,
f32 arg2 )

Helps calculate time since player last touched finishline.

◆ 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 playerId,
UNUSED Player * unused )
Here is the call graph for this function:

◆ func_8000B7E4()

s32 func_8000B7E4 ( UNUSED s32 arg0,
u16 waypointIndex )

◆ 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 ( UNUSED f32 posX,
f32 posY,
UNUSED f32 posZ,
s16 * waypointIndex,
UNUSED s32 arg4 )
Here is the caller graph for this function:

◆ func_8000CBF8()

void func_8000CBF8 ( UNUSED f32 posX,
UNUSED f32 posY,
f32 posZ,
s16 * waypointIndex,
s32 pathIndex )
Here is the caller graph for this function:

◆ 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 arg0,
f32 arg1,
f32 arg2,
UNUSED s32 arg3,
UNUSED s32 arg4 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80010FA0()

f32 func_80010FA0 ( f32 arg0,
f32 arg1,
f32 arg2,
UNUSED s32 arg3,
UNUSED s32 arg4 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80011014()

s32 func_80011014 ( TrackWaypoint * pathDest,
TrackWaypoint * path,
s32 numPathPoints,
UNUSED s32 pathIndex )
Returns
's the number of items processed.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80011EC0()

void func_80011EC0 ( s32 arg0,
Player * player,
s32 arg2,
UNUSED u16 arg3 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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()

UNUSED void func_8001530C ( void )

◆ func_80015314()

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

◆ func_80015390()

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

◆ 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 * camera,
UNUSED Player * playerArg,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 * camera,
UNUSED Player * unusedPlayer,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 * camera,
UNUSED Player * unusedPlayer,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80016C3C()

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

◆ func_80017054()

void func_80017054 ( Camera * camera,
UNUSED Player * player,
UNUSED s32 index,
s32 cameraId )
Here is the caller graph for this function:

◆ func_80017720()

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

◆ func_800178F4()

void func_800178F4 ( Camera * camera,
UNUSED Player * unusedPlayer,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80017F10()

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

◆ func_800180F0()

void func_800180F0 ( Camera * camera,
UNUSED Player * unusedPlayer,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80018718()

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

◆ func_800188F4()

void func_800188F4 ( Camera * camera,
UNUSED Player * unusePlayer,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80019118()

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

◆ func_8001933C()

void func_8001933C ( Camera * camera,
UNUSED Player * playerArg,
UNUSED s32 arg2,
s32 cameraId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8001968C()

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

◆ func_8001969C()

void func_8001969C ( UNUSED s32 playerId,
UNUSED f32 arg1,
s32 cameraId,
UNUSED s16 pathIndex )
Bug
Adding an (f32) cast changes asm, why?
Here is the caller graph for this function:

◆ func_80019760()

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

◆ 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 ( UNUSED u16 * arg0,
UNUSED Camera * arg1,
UNUSED Player * arg2,
UNUSED s8 arg3,
s32 arg4 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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_8001A220()

void func_8001A220 ( UNUSED s32 arg0,
s32 cameraId )
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 ( UNUSED u16 * localD_80152300,
Camera * camera,
Player * player,
s8 index,
s32 cameraIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ 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 ( UNUSED s32 arg0,
UNUSED D_801642D8_entry * arg1 )

◆ 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()

UNUSED 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 ( UNUSED s32 arg0,
s16 * arg1,
s32 arg2 )

◆ 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[10]

◆ D_800EB710

char* D_800EB710 = "ゴール直後の強制ソート\n"

◆ D_800EB728

char* D_800EB728 = "2PGPで片方がゴール直後の強制ソート\n"

◆ D_800EB74C

char* D_800EB74C = "順位計算エラー!! (num %d) (rank %d) (e_rank %d)\n"

◆ D_800EB780

char* D_800EB780 = "バイパス切り替え エラー!!!(num %d org_bipas %d bipas %d)\n"

◆ D_800EB7BC

char* D_800EB7BC = "(%d) rap %3d rate_count_F %10.2f rap_count_F %10.2f area %5d \n"

◆ D_800EB800

char* D_800EB800 = "迷路に突入! enemy %d (%d --> %d)\n"

◆ D_800EB824

char* D_800EB824 = "迷路から出た! enemy %d (%d --> %d)\n"

◆ D_800EB84C

char* D_800EB84C = "enemy voice set (%d slip_flag %x weapon %x)\n"

◆ D_800EB87C

char* D_800EB87C = "スピンヴォイス!!(%d , name %d)\n"

◆ D_800EB8A0

char* D_800EB8A0 = "ダメージヴォイス!!(%d, name %d)\n"

◆ D_800EB8C4

char* D_800EB8C4 = "===== ENEMY DRIVE SUB (%d) =====\n"

◆ D_800EB8E8

char* D_800EB8E8 = "ENEMY END(手抜き)\n\n"

◆ D_800EB8FC

char* D_800EB8FC = "ENEMY END(手抜き)\n\n"

◆ D_800EB910

char* D_800EB910 = "(1)enemy stick angle over!! (%d)\n"

◆ D_800EB934

char* D_800EB934 = "ENEMY END\n\n"

◆ D_800EB940

char* D_800EB940 = "(2)enemy stick angle over!! (%d)\n"

◆ D_800EB964

char* D_800EB964 = "ENEMY END\n\n"

◆ D_800EB970

char* D_800EB970 = "AREA ERR!!! (現在のセンターライン %d に未登録のグループです) %d\n"

◆ D_800EB9B4

char* D_800EB9B4 = "AREA ERR!!! (未登録のグループです) %d\n"

◆ D_800EB9DC

char* D_800EB9DC = "get_oga_area_sub_BP() ... エリアが見つからないッス! (b_num = %d)\n"

◆ D_800EBA20

char* D_800EBA20 = " 状況: (%d, %d, %d) \n"

◆ D_800EBA38

char* D_800EBA38 = "<%d> (%d, %d, %d) [%d] lng %f\n"

◆ D_800EBA58

char* D_800EBA58 = "ワリオスタジアム ジャンプ失敗!!! (area %d, y %7.2f)\n"

◆ D_800EBA94

char* D_800EBA94 = "水に落ちた!! センターラインに強制移動しました (num %d: area %d ) (%d,%d,%d)\n"

◆ D_800EBAE4

char* D_800EBAE4
Initial value:
= "こーすあうと!!(手抜き中:バンプ有り) センターラインに強制移動しました (num %d: area %d ==>%d) "
"(group %d) (%d,%d,%d)\n"

◆ D_800EBB60

char* D_800EBB60
Initial value:
= "こーすあうと!!(手抜き中:バンプ無し) センターラインに強制移動しました (num %d: area %d ==>%d) "
"(group %d) (%d,%d,%d)\n"

◆ D_800EBBDC

char* D_800EBBDC = "こーすあうと!!! エリアを再計算しました (num %d: area %d ==>%d)\n"

◆ D_800EBC24

char* D_800EBC24 = "直接指定のBOM(%d) (%7.2f, %7.2f, %7.2f) \n"

◆ D_800EBC50

char* D_800EBC50 = "BOM HIT CHECK\n"

◆ D_800EBC60

char* D_800EBC60 = "BOM HIT !!!!! (%d)\n"

◆ D_800EBC74

char* D_800EBC74 = "BOM待機\n"

◆ D_800EBC80

char* D_800EBC80 = "RESULT BOM area(%d)\n"

◆ D_800EBC98

char* D_800EBC98 = "BOM が 落ちました。\n"

◆ D_800EBCB0

char* D_800EBCB0 = "カメ用火柱 SET 失敗 (TABLE IS FULL)\n"

◆ D_800EBCD8

char* D_800EBCD8 = "赤ガメ火柱セットエラー! (category %d)\n"

◆ D_800EBD00

char* D_800EBD00 = "青ガメ火柱セットエラー! (category %d)\n"

◆ D_800EBD28

char* D_800EBD28 = "トゲガメ火柱セットエラー! (category %d)\n"

◆ D_800EBD54

char* D_800EBD54 = "カメ火柱初期化!!\n"

◆ D_800EBD68

char* D_800EBD68 = "センターライン初期化\n"

◆ D_800EBD80

char* D_800EBD80 = "MAP NUMBER %d\n"

◆ D_800EBD90

char* D_800EBD90 = "center_EX ptr = %x %x (%x)\n"

◆ D_800EBDB4

char* D_800EBDB4 = "\n"

◆ D_800EBDB8

char* D_800EBDB8 = "center_BP[%d] ptr = %x %x (%x)\n"

◆ D_800EBDE0

char* D_800EBDE0 = "side_point_L_BP[%d] ptr = %x %x (%x)\n"

◆ D_800EBE08

char* D_800EBE08 = "side_point_R_BP[%d] ptr = %x %x (%x)\n"

◆ D_800EBE30

char* D_800EBE30 = "curve_BP[%d] ptr = %x %x (%x)\n"

◆ D_800EBE58

char* D_800EBE58 = "angle_BP[%d] ptr = %x %x (%x)\n"

◆ D_800EBE80

char* D_800EBE80 = "short_cut_data_BP[%d] ptr = %x %x (%x)\n"

◆ D_800EBEA8

char* D_800EBEA8 = "\n"

◆ D_800EBEAC

char* D_800EBEAC = "小川の使用メモリー合計 = %d\n"

◆ D_800EBECC

char* D_800EBECC = "敵初期化\n"

◆ D_800EBED8

char* D_800EBED8 = "敵初期化終了\n"

◆ D_800EBEE8

char* D_800EBEE8 = "バイパス CENTER LINE 分割開始\n"

◆ D_800EBF08

char* D_800EBF08 = "センターラインをROMから読みます (map:%d)\n"

◆ D_800EBF34

char* D_800EBF34 = "ROM center (BP%d) line adr. = %x (%x)\n"

◆ D_800EBF5C

char* D_800EBF5C = "センターラインを計算します (map:%d)\n"

◆ D_800EBF84

char* D_800EBF84 = "center (BP%d) line adr. = %x (%x)\n"

◆ D_800EBFA8

char* D_800EBFA8 = "BP center_point_number : %d\n"

◆ D_800EBFC8

char* D_800EBFC8 = "センターライン データ エラー!!\n"

◆ D_800EBFEC

char* D_800EBFEC = "バイパス CENTER LINE 分割終了 (%d -> %d 個)\n"

◆ D_800EC01C

char* D_800EC01C = "センターラインが ありません。(map:%d)\n"

◆ D_800EC044

char* D_800EC044 = "サイドポイント計算 (バイパス %d)\n"

◆ D_800EC068

char* D_800EC068 = "カーブデータ計算 (バイパス %d)\n"

◆ D_800EC088

char* D_800EC088 = "センターラインが ありません。(map:%d)\n"

◆ D_800EC0B0

char* D_800EC0B0 = "アングルデータ計算 (バイパス %d) \n"

◆ D_800EC0D4

char* D_800EC0D4 = "センターラインが ありません。(map:%d)\n"

◆ D_800EC0FC

char* D_800EC0FC = "ショートカットデータ計算 (バイパス %d)\n"

◆ D_800EC124

char* D_800EC124 = "extern POINT rom_center_KT%d_BP%d[] = {\n"

◆ D_800EC150

char* D_800EC150 = "\t{%d,%d,%d,%d},\n"

◆ D_800EC164

char* D_800EC164 = "\t0x8000,0x8000,0x8000,0\n};\n\n"

◆ D_800EC184

char* D_800EC184 = "area read from ROM (%d)\n"

◆ D_800EC1A0

char* D_800EC1A0 = "ノーマルジャンプ!!!(%d)\n"

◆ D_800EC1BC

char* D_800EC1BC = "ターボオン!!!(%d)\n"

◆ D_800EC1D4

char* D_800EC1D4 = "手抜き禁止!!!(%d)\n"

◆ D_800EC1EC

char* D_800EC1EC = "アクション開始データエラー!(num %d, act %d)\n"

◆ D_800EC21C

char* D_800EC21C = "アクション終了データエラー!(num %d, act %d, old_act_num %d)\n"

◆ D_800EC25C

char* D_800EC25C = "SL : center_point_number : %d\n"

◆ D_800EC27C

char* D_800EC27C = "SL: CENTER LINE 分割開始\n"

◆ D_800EC298

char* D_800EC298 = "SL: CENTER LINE 分割終了 (%d -> %d 個)\n"

◆ D_800EC2C0

char* D_800EC2C0 = "SHIP : center_point_number : %d\n"

◆ D_800EC2E4

char* D_800EC2E4 = "SHIP: CENTER LINE 分割開始\n"

◆ D_800EC300

char* D_800EC300 = "SHIP: CENTER LINE 分割終了 (%d -> %d 個)\n"

◆ D_800EC32C

char* D_800EC32C = "汎用OBJキャラ初期化\n"

◆ D_800EC344

char* D_800EC344 = "SL OBJ設定\n"

◆ D_800EC350

char* D_800EC350 = "SHIP OBJ設定\n"

◆ D_800EC360

char* D_800EC360 = "トラックOBJ設定\n"

◆ D_800EC374

char* D_800EC374 = "バスOBJ設定\n"

◆ D_800EC384

char* D_800EC384 = "タンクOBJ設定\n"

◆ D_800EC394

char* D_800EC394 = "RV OBJ設定\n"

◆ D_800EC3A0

char* D_800EC3A0 = "汎用OBJキャラ初期化終了\n"

◆ D_800EC3BC

char* D_800EC3BC = "クラクション (num %d, permit %d, %d)\n"

◆ D_800EC3E4

char* D_800EC3E4 = "OGA CAMERA INIT (%d)\n"

◆ D_800EC3FC

char* D_800EC3FC = "OGA CAMERA INIT END\n"

◆ D_800EC414

char* D_800EC414 = "高速カメラ ERR !!! (ncx = %f)\n"

◆ D_800EC434

char* D_800EC434 = "高速カメラ ERR !!! (ncz = %f)\n"

◆ D_800EC454

char* D_800EC454 = "高速カメラ ERR !!! (ecx = %f)\n"

◆ D_800EC474

char* D_800EC474 = "高速カメラ ERR !!! (ecz = %f)\n"

◆ D_800EC494

char* D_800EC494 = "OGA DRIVERS POINT CAMERA MODE \n"

◆ D_800EC4B4

char* D_800EC4B4 = "OGA WINNER CAMERA MODE \n"

◆ D_800EC4D0

char* D_800EC4D0 = "OGA TIMEATTACK QUICK CAMERA INIT \n"

◆ D_800EC4F4

char* D_800EC4F4 = "OGA BATTLE CAMERA INIT win(%d)\n"

◆ D_800EC514

char* D_800EC514 = "GOAL! <<rank 1>> camera %d rank %d\n"

◆ D_800EC53C

char* D_800EC53C = "GOAL! <<rank 2,3,4>> camera %d rank %d\n"

◆ D_800EC568

char* D_800EC568 = "GOAL! <<rank 5,6,7,8>> camera %d rank %d\n"

◆ D_800EC594

char* D_800EC594 = "カメラとカートが衝突しました!!! (%d)\n"

◆ D_800EC5C0

char* D_800EC5C0 = "<<< ITEM OBJ NUMBER ERR !! >>> item %d obj_num %d \n"

◆ D_800EC5F8

char* D_800EC5F8 = "<<< BANANA SET 失敗 >>> obj_num %d zure %f \n"

◆ D_800EC628

char* D_800EC628 = "BANANA 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800EC65C

char* D_800EC65C = "理由: EXISTOBJ \n"

◆ D_800EC670

char* D_800EC670 = "理由: category \n"

◆ D_800EC684

char* D_800EC684 = "理由: sparam \n"

◆ D_800EC694

char* D_800EC694 = "理由: num \n"

◆ D_800EC6A0

char* D_800EC6A0 = "BANANA HOLD (num %d time %d hold_time %d)\n"

◆ D_800EC6D0

char* D_800EC6D0 = "設置 BANANA 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800EC708

char* D_800EC708 = "理由: EXISTOBJ \n"

◆ D_800EC71C

char* D_800EC71C = "理由: category \n"

◆ D_800EC730

char* D_800EC730 = "理由: sparam \n"

◆ D_800EC740

char* D_800EC740 = "理由: num \n"

◆ D_800EC74C

char* D_800EC74C = "BANANA 置きました。 (num %d)\n"

◆ D_800EC76C

char* D_800EC76C = "<<< BANANA NAGE SET 失敗 >>> obj_num %d \n"

◆ D_800EC798

char* D_800EC798 = "BANANA NAGE MOVE 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800EC7D8

char* D_800EC7D8 = "理由: EXISTOBJ \n"

◆ D_800EC7EC

char* D_800EC7EC = "理由: category \n"

◆ D_800EC800

char* D_800EC800 = "理由: sparam \n"

◆ D_800EC810

char* D_800EC810 = "理由: num \n"

◆ D_800EC81C

char* D_800EC81C = "BANANA NAGE END 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800EC858

char* D_800EC858 = "理由: EXISTOBJ \n"

◆ D_800EC86C

char* D_800EC86C = "理由: category \n"

◆ D_800EC880

char* D_800EC880 = "理由: sparam \n"

◆ D_800EC890

char* D_800EC890 = "理由: num \n"

◆ D_800EC89C

char* D_800EC89C = "G_SHELL HOLD (num %d time %d hold_time %d)\n"

◆ D_800EC8CC

char* D_800EC8CC = "<<< G_SHELL SET 失敗 >>> obj_num %d \n"

◆ D_800EC8F4

char* D_800EC8F4 = "<<< G_SHELL SET 失敗 >>> object_count %d \n"

◆ D_800EC920

char* D_800EC920 = "G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800EC954

char* D_800EC954 = "理由: EXISTOBJ \n"

◆ D_800EC968

char* D_800EC968 = "理由: category \n"

◆ D_800EC97C

char* D_800EC97C = "理由: sparam \n"

◆ D_800EC98C

char* D_800EC98C = "理由: num \n"

◆ D_800EC998

char* D_800EC998 = "発射直前 G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800EC9D8

char* D_800EC9D8 = "理由: EXISTOBJ \n"

◆ D_800EC9EC

char* D_800EC9EC = "理由: category \n"

◆ D_800ECA00

char* D_800ECA00 = "理由: sparam \n"

◆ D_800ECA10

char* D_800ECA10 = "理由: num \n"

◆ D_800ECA1C

char* D_800ECA1C = "G_SHELL 発射 (num %d)\n"

◆ D_800ECA34

char* D_800ECA34 = "R_SHELL HOLD (num %d time %d hold_time %d obj_num %d)\n"

◆ D_800ECA70

char* D_800ECA70 = "<<< R_SHELL SET 失敗 >>> obj_num %d \n"

◆ D_800ECA98

char* D_800ECA98 = "<<< R_SHELL SET 失敗 >>> object_count %d \n"

◆ D_800ECAC4

char* D_800ECAC4 = "R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800ECAF8

char* D_800ECAF8 = "理由: EXISTOBJ \n"

◆ D_800ECB0C

char* D_800ECB0C = "理由: category \n"

◆ D_800ECB20

char* D_800ECB20 = "理由: sparam \n"

◆ D_800ECB30

char* D_800ECB30 = "理由: num \n"

◆ D_800ECB3C

char* D_800ECB3C = "R_SHELL SHOOT (num %d time %d hold_time %d obj_num %d)\n"

◆ D_800ECB78

char* D_800ECB78 = "発射直前 R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800ECBB8

char* D_800ECBB8 = "理由: EXISTOBJ \n"

◆ D_800ECBCC

char* D_800ECBCC = "理由: category \n"

◆ D_800ECBE0

char* D_800ECBE0 = "理由: sparam \n"

◆ D_800ECBF0

char* D_800ECBF0 = "理由: num \n"

◆ D_800ECBFC

char* D_800ECBFC = "R_SHELL 発射 (num %d)\n"

◆ D_800ECC14

char* D_800ECC14 = "S_BANANA HOLD (num %d time %d hold_time %d)\n"

◆ D_800ECC44

char* D_800ECC44 = "<<< SUPER_BANANA SET 失敗 >>> obj_num %d \n"

◆ D_800ECC70

char* D_800ECC70 = "<<< SUPER_BANANA SET 失敗 >>> object_count %d \n"

◆ D_800ECCA0

char* D_800ECCA0 = "S_BANANA 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800ECCD8

char* D_800ECCD8 = "理由: category \n"

◆ D_800ECCEC

char* D_800ECCEC = "理由: sparam \n"

◆ D_800ECCFC

char* D_800ECCFC = "理由: sb_ok \n"

◆ D_800ECD0C

char* D_800ECD0C = "S_BANANA RELEASE (num %d time %d )\n"

◆ D_800ECD34

char* D_800ECD34 = "<<< FAKE IBOX SET 失敗 >>> obj_num %d \n"

◆ D_800ECD5C

char* D_800ECD5C = "IBOX 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800ECD90

char* D_800ECD90 = "理由: EXISTOBJ \n"

◆ D_800ECDA4

char* D_800ECDA4 = "理由: category \n"

◆ D_800ECDB8

char* D_800ECDB8 = "理由: sparam \n"

◆ D_800ECDC8

char* D_800ECDC8 = "理由: num \n"

◆ D_800ECDD4

char* D_800ECDD4 = "FBOX HOLD (num %d time %d hold_time %d)\n"

◆ D_800ECE00

char* D_800ECE00 = "設置 IBOX 所有者チェックに引っ掛かりました。(num %d)\n"

◆ D_800ECE38

char* D_800ECE38 = "理由: EXISTOBJ \n"

◆ D_800ECE4C

char* D_800ECE4C = "理由: category \n"

◆ D_800ECE60

char* D_800ECE60 = "理由: sparam \n"

◆ D_800ECE70

char* D_800ECE70 = "理由: num \n"

◆ D_800ECE7C

char* D_800ECE7C = "雷START (%d)\n"

◆ D_800ECE8C

char* D_800ECE8C = "雷END (%d)\n"

◆ D_800ECE98

char* D_800ECE98 = "---------- 表彰台初期化\n"

◆ D_800ECEB4

char* D_800ECEB4 = "map_number = %d - > 20 書き換え中。\n"

◆ D_800ECEDC

char* D_800ECEDC = "OGA 表彰 move 開始\n"

◆ D_800ECEF0

char* D_800ECEF0 = "4位の人の表示をコールしました。\n"

◆ D_800ECF14

char* D_800ECF14 = "表彰台に到着\n"

◆ D_800ECF24

char* D_800ECF24 = "全員集合!\n"

◆ D_800ECF30

char* D_800ECF30 = "道路に到着\n"

◆ D_800ECF3C

char* D_800ECF3C = "4位の人終了\n"

◆ D_800ECF4C

char* D_800ECF4C = "OGA 表彰 move 終了\n"

◆ D_800ECF60

char* D_800ECF60 = "OGAWA DEBUG DRAW\n"

◆ D_80162E70

Collision D_80162E70

◆ D_80162EB0

s16 D_80162EB0

◆ D_80162EB2

s16 D_80162EB2

◆ D_80162F08

s32 D_80162F08[2]

◆ D_80162F10

s16 D_80162F10[30]

◆ D_80162F50

s16 D_80162F50[30]

◆ D_80162F90

s32 D_80162F90[4]

◆ D_80162FA0

Vec3f D_80162FA0

◆ D_80162FB0

Vec3f D_80162FB0

◆ D_80162FC0

Vec3f D_80162FC0

◆ D_80162FD0

s16 D_80162FD0

◆ D_80162FF8

s16 D_80162FF8[12]

◆ D_80163010

s16 D_80163010[12]

◆ D_80163028

f32 D_80163028[10]

◆ D_80163050

s16 D_80163050[12]

◆ D_80163068

f32 D_80163068[10]

Stuff that may not be directly related to waypoints, but are only referenced in code_80005FD0. So they are at least waypoint adjacent.

◆ D_80163090

f32 D_80163090[10]

◆ D_801630B8

s32 D_801630B8[10]

◆ D_801630E0

u16 D_801630E0

◆ D_801630E2

s16 D_801630E2

◆ D_801630E8

s16 D_801630E8[10]

◆ D_80163100

s32 D_80163100[10]

◆ D_80163128

s32 D_80163128[10]

◆ D_80163150

s32 D_80163150[10]

◆ D_80163178

f32 D_80163178[10]

◆ D_801631A0

f32 D_801631A0[10]

◆ D_801631C8

s16 D_801631C8

◆ D_801631CC

s32 D_801631CC

◆ D_801631D0

TrackWaypoint* D_801631D0

◆ D_801631D4

TrackWaypoint* D_801631D4

◆ D_801631D8

s16* D_801631D8

◆ D_801631DC

s16* D_801631DC

◆ D_801631E0

u16 D_801631E0[12]

◆ D_801631F8

u16 D_801631F8[10]

◆ D_8016320C

f32 D_8016320C

◆ D_80163210

f32 D_80163210[10]

◆ D_80163238

s32 D_80163238

◆ D_80163240

u16 D_80163240[12]

◆ D_80163258

u16 D_80163258[12]

◆ D_80163270

u16 D_80163270[12]

◆ D_80163288

s32 D_80163288[10]

◆ D_80163300

s16 D_80163300[12]

◆ D_80163318

u16 D_80163318[12]

◆ D_80163330

u16 D_80163330[10]

◆ D_80163344

u16 D_80163344[2]

◆ D_80163348

u16 D_80163348[2]

◆ D_8016334C

u16 D_8016334C[2]

◆ D_80163368

s32 D_80163368[4]

◆ D_80163378

s32 D_80163378

◆ D_8016337C

s32 D_8016337C

◆ D_80163380

s16 D_80163380[12]

◆ D_80163398

s16 D_80163398[12]

◆ D_801633B0

s16 D_801633B0[12]

◆ D_801633C8

s16 D_801633C8[12]

◆ D_801633E0

s16 D_801633E0[12]

◆ D_801633F8

s16 D_801633F8[12]

◆ D_80163410

s16 D_80163410[4]

◆ D_80163418

f32 D_80163418[4]

◆ D_80163428

f32 D_80163428[4]

◆ D_80163438

f32 D_80163438[4]

◆ D_80163448

s32 D_80163448

◆ D_8016344C

f32 D_8016344C

◆ D_80163450

f32 D_80163450[10]

◆ D_80163478

s16 D_80163478

◆ D_8016347A

s16 D_8016347A

◆ D_8016347C

s16 D_8016347C

◆ D_8016347E

s16 D_8016347E

◆ D_80163480

s32 D_80163480

◆ D_80163484

s32 D_80163484

◆ D_80163488

s32 D_80163488

◆ D_8016348C

s16 D_8016348C

◆ D_80163490

s16 D_80163490[12]

◆ D_801634A8

s16 D_801634A8[12]

◆ D_801634C0

s16 D_801634C0[12]

◆ D_801634EC

s16 D_801634EC

◆ D_801634F0

s32 D_801634F0

◆ D_801634F4

s32 D_801634F4

◆ D_801634F8

Test D_801634F8[10]

◆ D_80163DD8

s32 D_80163DD8[4]

◆ D_80164038

◆ D_801642D8

D_801642D8_entry D_801642D8[8]

◆ D_80164358

s16 D_80164358

◆ D_8016435A

s16 D_8016435A

◆ D_8016435C

s16 D_8016435C

◆ D_80164378

s16 D_80164378[12]

◆ D_801643E0

s32 D_801643E0

◆ D_80164408

s32 D_80164408[10]

◆ D_80164430

u16 D_80164430

◆ D_80164450

s32 D_80164450[10]

◆ D_80164478

s16 D_80164478[10]

◆ D_8016448C

s32 D_8016448C

◆ D_80164490

TrackWaypoint* D_80164490

◆ D_80164498

f32 D_80164498[4]

◆ D_801644F8

s16 D_801644F8[12]

◆ D_80164510

f32 D_80164510[10]

◆ D_80164538

s16 D_80164538[12]

◆ D_80164550

TrackWaypoint* D_80164550[4]

These are per-path arrays that contain some information relating to waypoints The arrays in D_80164550 contain X/Y/Z and track segment information The arrays in D_80164560 and D_80164570 track some other X/Y/Z, but the track segment is always 0 (so, untracked/unused) Its unclear how these arrays relate to each other

◆ D_80164560

TrackWaypoint* D_80164560[4]

◆ D_80164570

TrackWaypoint* D_80164570[4]

◆ D_80164580

s16* D_80164580[4]

Don't know what exactly these are, but like D_80164550, D_80164560, and D_80164570 they track something about the waypoints on a per-path basis

◆ D_80164590

s16* D_80164590[4]

◆ D_801645A0

s16* D_801645A0[4]

◆ D_801645D0

s32 D_801645D0[4]

◆ D_801645E0

s16* D_801645E0

◆ D_801645E8

s32 D_801645E8[4]

◆ D_801645F8

f32 D_801645F8[4]

◆ D_80164608

s32 D_80164608[4]

◆ D_80164618

f32 D_80164618[4]

◆ D_80164628

s32 D_80164628[4]

◆ D_80164638

f32 D_80164638[4]

◆ D_80164648

f32 D_80164648[4]

◆ D_80164658

f32 D_80164658[4]

◆ D_80164670

s16 D_80164670[4]

◆ D_80164678

s16 D_80164678[4]

◆ D_80164680

s16 D_80164680[4]

◆ D_80164688

f32 D_80164688[4]

◆ D_80164698

f32 D_80164698

◆ D_8016469C

f32 D_8016469C

◆ D_801646A0

f32 D_801646A0

◆ D_801646A4

s32 D_801646A4

◆ D_801646A8

s32 D_801646A8

◆ D_801646AC

s32 D_801646AC

◆ D_801646B0

s32 D_801646B0

◆ D_801646B4

s32 D_801646B4

◆ D_801646B8

s32 D_801646B8

◆ D_801646BC

s32 D_801646BC

◆ D_801646C0

s16 D_801646C0[4]

◆ D_801646C8

u32 D_801646C8

◆ D_801646CC

u16 D_801646CC

◆ D_801646D0

UnkStruct_46D0 D_801646D0[4]

◆ gBombKarts

◆ gBoxTruckList

◆ gCarList

◆ gCourseCompletionPercentByPlayerId

f32 gCourseCompletionPercentByPlayerId[10]

◆ gCourseCompletionPercentByRank

f32 gCourseCompletionPercentByRank

◆ gCoursesKartAIBehaviour

KartAIBehaviour* gCoursesKartAIBehaviour[NUM_COURSES - 1]

◆ gCurrentKartAIBehaviourId

u16 gCurrentKartAIBehaviourId[12]

◆ gFerrySmokeTimer

s16 gFerrySmokeTimer

◆ gGPCurrentRacePlayerIdByRank

s16 gGPCurrentRacePlayerIdByRank[12]

◆ gGPCurrentRaceRankByPlayerId

s32 gGPCurrentRaceRankByPlayerId[10]

◆ gKartAIBehaviourState

u16 gKartAIBehaviourState[12]

◆ gLapCompletionPercentByPlayerId

f32 gLapCompletionPercentByPlayerId[10]

◆ gLapCountByPlayerId

s32 gLapCountByPlayerId[10]

◆ gNearestWaypointByCameraId

s16 gNearestWaypointByCameraId[4]

◆ gNearestWaypointByPlayerId

u16 gNearestWaypointByPlayerId[12]

◆ gPaddleBoats

◆ gPathIndexByPlayerId

u16 gPathIndexByPlayerId[12]

◆ gPreviousKartAIBehaviourId

u16 gPreviousKartAIBehaviourId[12]

◆ gSchoolBusList

◆ gSpeedKartAIBehaviour

u16 gSpeedKartAIBehaviour[12]

◆ gTankerTruckList

◆ gTrainList

TrainStuff gTrainList[NUM_TRAINS]

◆ gTrainSmokeTimer

s16 gTrainSmokeTimer

◆ gUnexpiredActorsList

struct unexpiredActors gUnexpiredActorsList[8]

◆ gVehicle2DWaypoint

Path2D* gVehicle2DWaypoint

◆ gVehicle2DWaypointLength

s32 gVehicle2DWaypointLength

◆ gWaypointCountByPathIndex

u16 gWaypointCountByPathIndex[4]

◆ isCrossingTriggeredByIndex

u16 isCrossingTriggeredByIndex[NUM_CROSSINGS]

◆ sCrossingActiveTimer

u16 sCrossingActiveTimer[NUM_CROSSINGS]

◆ sCurrentKartAIBehaviour

KartAIBehaviour* sCurrentKartAIBehaviour

◆ sSomeNearestWaypoint

s16 sSomeNearestWaypoint

Certain parts of the waypoint logic will copy some path/player specific data to a temporary variable. For example: D_80164490 is always a value from D_80164550. Depending on which path a given player is on, the specific value may change

◆ unk_code_80005FD0_pad

s32 unk_code_80005FD0_pad[24]