Mario Kart 64
Loading...
Searching...
No Matches
player_controller.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include <mk64.h>
#include "player_controller.h"
#include "code_800029B0.h"
#include "kart_attributes.h"
#include "racing/memory.h"
#include "math_util.h"
#include "render_player.h"
#include "effects.h"
#include "collision.h"
#include "waypoints.h"
#include "audio/external.h"
#include "code_8003DC40.h"
#include "main.h"
#include "camera.h"
#include "spawn_players.h"
#include "code_80057C60.h"
#include "code_80005FD0.h"
#include "sounds.h"
Include dependency graph for player_controller.c:

Functions

s32 get_player_index_for_player (Player *player)
 
void func_80027DA8 (Player *player, s8 playerId)
 
void func_80027EDC (Player *player, s8 playerId)
 
void func_80028864 (Player *player, Camera *camera, s8 playerId, s8 screenId)
 
void func_80028C44 (Player *player, Camera *camera, s8 playerId, s8 screenId)
 
void func_80028D3C (Player *player, Camera *camera, s8 playerId, s8 screenId)
 
void func_80028E70 (Player *player, Camera *camera, s8 playerId, s8 screenId)
 
UNUSED void func_80028F5C (UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2, UNUSED s32 arg3)
 
void func_80028F70 (void)
 
void func_80029060 (void)
 
void func_80029150 (void)
 
void func_80029158 (void)
 
void func_800291E8 (void)
 
void func_800291F0 (void)
 
void func_800291F8 (void)
 
void func_80029200 (Player *player, s8 screenId)
 
void func_8002934C (Player *player, Camera *camera, s8 screenId, s8 playerId)
 
void func_80029B4C (Player *player, UNUSED f32 arg1, f32 arg2, UNUSED f32 arg3)
 
void func_8002A194 (Player *player, f32 arg1, f32 arg2, f32 arg3)
 
void func_8002A5F4 (Vec3f arg0, f32 arg1, Vec3f arg2, f32 arg3, f32 arg4)
 
void func_8002A704 (Player *player, s8 arg1)
 
void func_8002A79C (Player *player, s8 arg1)
 
void func_8002A8A4 (Player *player, s8 arg1)
 
void kart_hop (Player *player)
 
void func_8002AAC0 (Player *player)
 
void func_8002AB70 (Player *player)
 
UNUSED void func_8002AE20 (void)
 
UNUSED void func_8002AE28 (void)
 
UNUSED void func_8002AE30 (void)
 
void func_8002AE38 (Player *player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5)
 
void func_8002B218 (Player *player)
 
void apply_sound_effect (Player *player, s8 playerId, UNUSED s8 screenId)
 
void func_8002B5C0 (Player *player, UNUSED s8 playerId, UNUSED s8 screenId)
 
void func_8002B830 (Player *player, s8 playerId, s8 screenId)
 
UNUSED void func_8002B8A4 (Player *player_one, Player *player_two)
 
void func_8002B9CC (Player *player, s8 arg1, UNUSED s32 arg2)
 
void func_8002BB9C (Player *player, f32 *arg1, f32 *arg2, UNUSED s8 arg3, UNUSED s8 arg4, UNUSED Vec3f arg5)
 
void func_8002BD58 (Player *player)
 
void func_8002BF4C (Player *player, s8 arg1)
 
void func_8002C11C (Player *player)
 
void func_8002C17C (Player *player, s8 playerId)
 
void func_8002C4F8 (Player *player, s8 arg1)
 
void func_8002C7E4 (Player *player, s8 arg1, s8 arg2)
 
void func_8002C954 (Player *player, s8 playerId, Vec3f arg2)
 
void apply_effect (Player *player, s8 arg1, s8 arg2)
 
void func_8002D028 (Player *player, s8 arg1)
 
void func_8002D268 (Player *player, UNUSED Camera *camera, s8 screenId, s8 playerId)
 
void func_8002E4C4 (Player *player)
 
void func_8002E594 (Player *player, UNUSED Camera *camera, s8 screenId, s8 playerId)
 
void control_kart_ai_movement (Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId)
 
void func_8002F730 (Player *player, UNUSED Camera *camera, UNUSED s8 screenId, s8 playerId)
 
void func_8002FCA8 (Player *player, s8 arg1)
 
void func_8002FE84 (Player *player, f32 arg1)
 
f32 func_80030150 (Player *player, s8 arg1)
 
void func_80030A34 (Player *player)
 
void detect_triple_a_combo_a_released (Player *player)
 
void detect_triple_a_combo_a_pressed (Player *player)
 
void player_speed (Player *player)
 
void decelerate_ai_player (Player *player, f32 speed)
 
void detect_triple_b_combo_b_released (Player *player)
 
void detect_triple_b_combo_b_pressed (Player *player)
 
void func_800323E4 (Player *player)
 
void func_80032700 (Player *player)
 
void func_80032CB0 (Player *player, f32 arg1)
 
void func_80032D94 (Player *player)
 
void func_80033280 (Player *player, f32 arg1)
 
void func_800332E8 (Player *player, s32 arg1)
 
void func_800337CC (Player *player, f32 arg1, s32 arg2)
 
void func_80033850 (Player *arg0, f32 arg1)
 
void func_80033884 (Player *player, s32 *arg1, s32 *arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
 
UNUSED void func_80033940 (Player *player, s32 *arg1, s32 arg2, s32 arg3, f32 arg4)
 
void func_800339C4 (Player *player, s32 *arg1, s32 arg2, s32 arg3, f32 arg4)
 
void func_80033A40 (Player *player, s32 *arg1, s32 *arg2, s32 arg3, s32 arg4, s32 arg5, f32 arg6)
 
void func_80033AE0 (Player *player, struct Controller *controller, s8 arg2)
 
void func_8003680C (Player *player, s16 arg1)
 
void func_80036C5C (Player *arg0)
 
void func_80036CB4 (Player *player)
 
void func_80036DB4 (Player *player, Vec3f arg1, Vec3f arg2)
 
void func_800371F4 (Player *player, Vec3f arg1, Vec3f arg2)
 
void func_80037614 (Player *player, Vec3f arg1, Vec3f arg2)
 
void func_8003777C (Player *player, Vec3f arg1, Vec3f arg2)
 
void func_800378E8 (Player *player, Vec3f arg1, Vec3f arg2)
 
void func_80037A4C (Player *player, Vec3f arg1, Vec3f arg2)
 
void func_80037BB4 (Player *player, Vec3f arg1)
 
void func_80037CFC (Player *player, struct Controller *controller, s8 arg2)
 
void func_800381AC (Player *player, struct Controller *controller, s8 arg2)
 
void func_800382DC (void)
 
s16 func_80038534 (struct Controller *controller)
 
s16 func_800388B0 (struct Controller *controller)
 
void func_80038BE4 (Player *player, s16 arg1)
 
void func_80038C6C (Player *player, UNUSED Camera *camera, s8 arg2, s8 playerId)
 

Variables

s32 D_8018D168
 
s16 gKartAIforMario [] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }
 
s16 gKartAIforLuigi [] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }
 
s16 gKartAIforYoshi [] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }
 
s16 gKartAIforToad [] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER, 0 }
 
s16 gKartAIforDk [] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER, 0 }
 
s16 gKartAIforWario [] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER, 0 }
 
s16 gKartAIforPeach [] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER, 0 }
 
s16 gKartAIforBowser [] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO, PEACH, 0 }
 
s16gKartAIforPlayer []
 
s16 gKartAIforMarioAndLuigi [] = { YOSHI, TOAD, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforMarioAndYoshi [] = { LUIGI, TOAD, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforMarioAndToad [] = { LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforMarioAndDk [] = { LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER }
 
s16 gKartAIforMarioAndWario [] = { LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER }
 
s16 gKartAIforMarioAndPeach [] = { LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER }
 
s16 gKartAIforMarioAndBowser [] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH }
 
s16 gKartAIforLuigiAndMario [] = { YOSHI, TOAD, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforLuigiAndYoshi [] = { MARIO, TOAD, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforLuigiAndToad [] = { MARIO, YOSHI, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforLuigiAndDk [] = { MARIO, YOSHI, TOAD, WARIO, PEACH, BOWSER }
 
s16 gKartAIforLuigiAndWario [] = { MARIO, YOSHI, TOAD, DK, PEACH, BOWSER }
 
s16 gKartAIforLuigiAndPeach [] = { MARIO, YOSHI, TOAD, DK, WARIO, BOWSER }
 
s16 gKartAIforLuigiAndBowser [] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH }
 
s16 gKartAIforYoshiAndMario [] = { LUIGI, TOAD, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforYoshiAndLuigi [] = { MARIO, TOAD, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforYoshiAndToad [] = { MARIO, LUIGI, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforYoshiAndDk [] = { MARIO, LUIGI, TOAD, WARIO, PEACH, BOWSER }
 
s16 gKartAIforYoshiAndWario [] = { MARIO, LUIGI, TOAD, DK, PEACH, BOWSER }
 
s16 gKartAIforYoshiAndPeach [] = { MARIO, LUIGI, TOAD, DK, WARIO, BOWSER }
 
s16 gKartAIforYoshiAndBowser [] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH }
 
s16 gKartAIforToadAndMario [] = { LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforToadAndLuigi [] = { MARIO, YOSHI, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforToadAndYoshi [] = { MARIO, LUIGI, DK, WARIO, PEACH, BOWSER }
 
s16 gKartAIforToadAndDk [] = { MARIO, LUIGI, YOSHI, WARIO, PEACH, BOWSER }
 
s16 gKartAIforToadAndWario [] = { MARIO, LUIGI, YOSHI, DK, PEACH, BOWSER }
 
s16 gKartAIforToadAndPeach [] = { MARIO, LUIGI, YOSHI, DK, WARIO, BOWSER }
 
s16 gKartAIforToadAndBowser [] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH }
 
s16 gKartAIforDkAndMario [] = { LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER }
 
s16 gKartAIforDkAndLuigi [] = { MARIO, YOSHI, TOAD, WARIO, PEACH, BOWSER }
 
s16 gKartAIforDkAndToad [] = { MARIO, LUIGI, TOAD, WARIO, PEACH, BOWSER }
 
s16 gKartAIforDkAndYoshi [] = { MARIO, LUIGI, YOSHI, WARIO, PEACH, BOWSER }
 
s16 gKartAIforDkAndWario [] = { MARIO, LUIGI, YOSHI, TOAD, PEACH, BOWSER }
 
s16 gKartAIforDkAndPeach [] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, BOWSER }
 
s16 gKartAIforDkAndBowser [] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH }
 
s16 gKartAIforWarioAndMario [] = { LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER }
 
s16 gKartAIforWarioAndLuigi [] = { MARIO, YOSHI, TOAD, DK, PEACH, BOWSER }
 
s16 gKartAIforWarioAndYoshi [] = { MARIO, LUIGI, TOAD, DK, PEACH, BOWSER }
 
s16 gKartAIforWarioAndDk [] = { MARIO, LUIGI, YOSHI, TOAD, PEACH, BOWSER }
 
s16 gKartAIforWarioAndToad [] = { MARIO, LUIGI, YOSHI, DK, PEACH, BOWSER }
 
s16 gKartAIforWarioAndPeach [] = { MARIO, LUIGI, YOSHI, TOAD, DK, BOWSER }
 
s16 gKartAIforWarioAndBowser [] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH }
 
s16 gKartAIforPeachAndMario [] = { LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER }
 
s16 gKartAIforPeachAndLuigi [] = { MARIO, YOSHI, TOAD, DK, WARIO, BOWSER }
 
s16 gKartAIforPeachAndYoshi [] = { MARIO, LUIGI, TOAD, DK, WARIO, BOWSER }
 
s16 gKartAIforPeachAndDk [] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, BOWSER }
 
s16 gKartAIforPeachAndWario [] = { MARIO, LUIGI, YOSHI, TOAD, DK, BOWSER }
 
s16 gKartAIforPeachAndToad [] = { MARIO, LUIGI, YOSHI, DK, WARIO, BOWSER }
 
s16 gKartAIforPeachAndBowser [] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO }
 
s16 gKartAIforBowserAndMario [] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH }
 
s16 gKartAIforBowserAndLuigi [] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH }
 
s16 gKartAIforBowserAndYoshi [] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH }
 
s16 gKartAIforBowserAndDk [] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH }
 
s16 gKartAIforBowserAndWario [] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH }
 
s16 gKartAIforBowserAndToad [] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH }
 
s16 gKartAIforBowserAndPeach [] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO }
 
s16gListKartAIforMario []
 
s16gListKartAIforLuigi []
 
s16gListKartAIforYoshi []
 
s16gListKartAIforToad []
 
s16gListKartAIforDk []
 
s16gListKartAIforWario []
 
s16gListKartAIforPeach []
 
s16gListKartAIforBowser []
 
s16 ** gKartAIforTwoPlayer []
 

Function Documentation

◆ apply_effect()

void apply_effect ( Player * player,
s8 arg1,
s8 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ apply_sound_effect()

void apply_sound_effect ( Player * player,
s8 playerId,
UNUSED s8 screenId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ control_kart_ai_movement()

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

◆ decelerate_ai_player()

void decelerate_ai_player ( Player * player,
f32 speed )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ detect_triple_a_combo_a_pressed()

void detect_triple_a_combo_a_pressed ( Player * player)
Here is the caller graph for this function:

◆ detect_triple_a_combo_a_released()

void detect_triple_a_combo_a_released ( Player * player)
Here is the caller graph for this function:

◆ detect_triple_b_combo_b_pressed()

void detect_triple_b_combo_b_pressed ( Player * player)
Here is the caller graph for this function:

◆ detect_triple_b_combo_b_released()

void detect_triple_b_combo_b_released ( Player * player)
Here is the caller graph for this function:

◆ func_80027DA8()

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

◆ func_80027EDC()

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

◆ func_80028864()

void func_80028864 ( Player * player,
Camera * camera,
s8 playerId,
s8 screenId )
Todo
make a proper match
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80028C44()

void func_80028C44 ( Player * player,
Camera * camera,
s8 playerId,
s8 screenId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80028D3C()

void func_80028D3C ( Player * player,
Camera * camera,
s8 playerId,
s8 screenId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80028E70()

void func_80028E70 ( Player * player,
Camera * camera,
s8 playerId,
s8 screenId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80028F5C()

UNUSED void func_80028F5C ( UNUSED s32 arg0,
UNUSED s32 arg1,
UNUSED s32 arg2,
UNUSED s32 arg3 )

◆ func_80028F70()

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

◆ func_80029060()

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

◆ func_80029150()

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

◆ func_80029158()

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

◆ func_800291E8()

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

◆ func_800291F0()

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

◆ func_800291F8()

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

◆ func_80029200()

void func_80029200 ( Player * player,
s8 screenId )
Here is the caller graph for this function:

◆ func_8002934C()

void func_8002934C ( Player * player,
Camera * camera,
s8 screenId,
s8 playerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80029B4C()

void func_80029B4C ( Player * player,
UNUSED f32 arg1,
f32 arg2,
UNUSED f32 arg3 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002A194()

void func_8002A194 ( Player * player,
f32 arg1,
f32 arg2,
f32 arg3 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002A5F4()

void func_8002A5F4 ( Vec3f arg0,
f32 arg1,
Vec3f arg2,
f32 arg3,
f32 arg4 )
Here is the caller graph for this function:

◆ func_8002A704()

void func_8002A704 ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002A79C()

void func_8002A79C ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002A8A4()

void func_8002A8A4 ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002AAC0()

void func_8002AAC0 ( Player * player)

Function: func_8002AAC0

Parameters: Player *player - A pointer to a Player

First kartHopJerk is subtracted from kartHopAcceleration Then kartHopAcceleration is added to kartHopVelocity.

If kartHopVelocity is less than or equal to zero, all three values (kartHop{Jerk,Acceleration,Velocity}) are set to 0.0f, thereby ending the rising portion of the hop.

kartHopVelocity is restricted to values in [-INF, 15.0f]

kartHopAcceleration is restricted to values in [-9.0f, 9.0f]

Here is the caller graph for this function:

◆ func_8002AB70()

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

◆ func_8002AE20()

UNUSED void func_8002AE20 ( void )

◆ func_8002AE28()

UNUSED void func_8002AE28 ( void )

◆ func_8002AE30()

UNUSED void func_8002AE30 ( void )

◆ func_8002AE38()

void func_8002AE38 ( Player * player,
s8 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002B218()

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

◆ func_8002B5C0()

void func_8002B5C0 ( Player * player,
UNUSED s8 playerId,
UNUSED s8 screenId )
Here is the caller graph for this function:

◆ func_8002B830()

void func_8002B830 ( Player * player,
s8 playerId,
s8 screenId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002B8A4()

UNUSED void func_8002B8A4 ( Player * player_one,
Player * player_two )

◆ func_8002B9CC()

void func_8002B9CC ( Player * player,
s8 arg1,
UNUSED s32 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002BB9C()

void func_8002BB9C ( Player * player,
f32 * arg1,
f32 * arg2,
UNUSED s8 arg3,
UNUSED s8 arg4,
UNUSED Vec3f arg5 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002BD58()

void func_8002BD58 ( Player * player)
Here is the caller graph for this function:

◆ func_8002BF4C()

void func_8002BF4C ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002C11C()

void func_8002C11C ( Player * player)
Here is the caller graph for this function:

◆ func_8002C17C()

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

◆ func_8002C4F8()

void func_8002C4F8 ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002C7E4()

void func_8002C7E4 ( Player * player,
s8 arg1,
s8 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002C954()

void func_8002C954 ( Player * player,
s8 playerId,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002D028()

void func_8002D028 ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002D268()

void func_8002D268 ( Player * player,
UNUSED Camera * camera,
s8 screenId,
s8 playerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002E4C4()

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

◆ func_8002E594()

void func_8002E594 ( Player * player,
UNUSED Camera * camera,
s8 screenId,
s8 playerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002F730()

void func_8002F730 ( Player * player,
UNUSED Camera * camera,
UNUSED s8 screenId,
s8 playerId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8002FCA8()

void func_8002FCA8 ( Player * player,
s8 arg1 )
Here is the caller graph for this function:

◆ func_8002FE84()

void func_8002FE84 ( Player * player,
f32 arg1 )
Here is the caller graph for this function:

◆ func_80030150()

f32 func_80030150 ( Player * player,
s8 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80030A34()

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

◆ func_800323E4()

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

◆ func_80032700()

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

◆ func_80032CB0()

void func_80032CB0 ( Player * player,
f32 arg1 )
Here is the caller graph for this function:

◆ func_80032D94()

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

◆ func_80033280()

void func_80033280 ( Player * player,
f32 arg1 )
Here is the caller graph for this function:

◆ func_800332E8()

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

◆ func_800337CC()

void func_800337CC ( Player * player,
f32 arg1,
s32 arg2 )
Here is the caller graph for this function:

◆ func_80033850()

void func_80033850 ( Player * arg0,
f32 arg1 )
Here is the caller graph for this function:

◆ func_80033884()

void func_80033884 ( Player * player,
s32 * arg1,
s32 * arg2,
s32 arg3,
s32 arg4,
s32 arg5,
s32 arg6 )
Here is the caller graph for this function:

◆ func_80033940()

UNUSED void func_80033940 ( Player * player,
s32 * arg1,
s32 arg2,
s32 arg3,
f32 arg4 )

◆ func_800339C4()

void func_800339C4 ( Player * player,
s32 * arg1,
s32 arg2,
s32 arg3,
f32 arg4 )
Here is the call graph for this function:

◆ func_80033A40()

void func_80033A40 ( Player * player,
s32 * arg1,
s32 * arg2,
s32 arg3,
s32 arg4,
s32 arg5,
f32 arg6 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80033AE0()

void func_80033AE0 ( Player * player,
struct Controller * controller,
s8 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8003680C()

void func_8003680C ( Player * player,
s16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80036C5C()

void func_80036C5C ( Player * arg0)
Here is the caller graph for this function:

◆ func_80036CB4()

void func_80036CB4 ( Player * player)
Here is the caller graph for this function:

◆ func_80036DB4()

void func_80036DB4 ( Player * player,
Vec3f arg1,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800371F4()

void func_800371F4 ( Player * player,
Vec3f arg1,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80037614()

void func_80037614 ( Player * player,
Vec3f arg1,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8003777C()

void func_8003777C ( Player * player,
Vec3f arg1,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800378E8()

void func_800378E8 ( Player * player,
Vec3f arg1,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80037A4C()

void func_80037A4C ( Player * player,
Vec3f arg1,
Vec3f arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80037BB4()

void func_80037BB4 ( Player * player,
Vec3f arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80037CFC()

void func_80037CFC ( Player * player,
struct Controller * controller,
s8 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800381AC()

void func_800381AC ( Player * player,
struct Controller * controller,
s8 arg2 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800382DC()

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

◆ func_80038534()

s16 func_80038534 ( struct Controller * controller)
Here is the caller graph for this function:

◆ func_800388B0()

s16 func_800388B0 ( struct Controller * controller)
Here is the caller graph for this function:

◆ func_80038BE4()

void func_80038BE4 ( Player * player,
s16 arg1 )
Here is the caller graph for this function:

◆ func_80038C6C()

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

◆ get_player_index_for_player()

s32 get_player_index_for_player ( Player * player)
Here is the caller graph for this function:

◆ kart_hop()

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

◆ player_speed()

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

Variable Documentation

◆ D_8018D168

s32 D_8018D168
extern

◆ gKartAIforBowser

s16 gKartAIforBowser[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO, PEACH, 0 }

◆ gKartAIforBowserAndDk

s16 gKartAIforBowserAndDk[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH }

◆ gKartAIforBowserAndLuigi

s16 gKartAIforBowserAndLuigi[] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH }

◆ gKartAIforBowserAndMario

s16 gKartAIforBowserAndMario[] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH }

◆ gKartAIforBowserAndPeach

s16 gKartAIforBowserAndPeach[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO }

◆ gKartAIforBowserAndToad

s16 gKartAIforBowserAndToad[] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH }

◆ gKartAIforBowserAndWario

s16 gKartAIforBowserAndWario[] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH }

◆ gKartAIforBowserAndYoshi

s16 gKartAIforBowserAndYoshi[] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH }

◆ gKartAIforDk

s16 gKartAIforDk[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER, 0 }

◆ gKartAIforDkAndBowser

s16 gKartAIforDkAndBowser[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, PEACH }

◆ gKartAIforDkAndLuigi

s16 gKartAIforDkAndLuigi[] = { MARIO, YOSHI, TOAD, WARIO, PEACH, BOWSER }

◆ gKartAIforDkAndMario

s16 gKartAIforDkAndMario[] = { LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER }

◆ gKartAIforDkAndPeach

s16 gKartAIforDkAndPeach[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, BOWSER }

◆ gKartAIforDkAndToad

s16 gKartAIforDkAndToad[] = { MARIO, LUIGI, TOAD, WARIO, PEACH, BOWSER }

◆ gKartAIforDkAndWario

s16 gKartAIforDkAndWario[] = { MARIO, LUIGI, YOSHI, TOAD, PEACH, BOWSER }

◆ gKartAIforDkAndYoshi

s16 gKartAIforDkAndYoshi[] = { MARIO, LUIGI, YOSHI, WARIO, PEACH, BOWSER }

◆ gKartAIforLuigi

s16 gKartAIforLuigi[] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }

◆ gKartAIforLuigiAndBowser

s16 gKartAIforLuigiAndBowser[] = { MARIO, YOSHI, TOAD, DK, WARIO, PEACH }

◆ gKartAIforLuigiAndDk

s16 gKartAIforLuigiAndDk[] = { MARIO, YOSHI, TOAD, WARIO, PEACH, BOWSER }

◆ gKartAIforLuigiAndMario

s16 gKartAIforLuigiAndMario[] = { YOSHI, TOAD, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforLuigiAndPeach

s16 gKartAIforLuigiAndPeach[] = { MARIO, YOSHI, TOAD, DK, WARIO, BOWSER }

◆ gKartAIforLuigiAndToad

s16 gKartAIforLuigiAndToad[] = { MARIO, YOSHI, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforLuigiAndWario

s16 gKartAIforLuigiAndWario[] = { MARIO, YOSHI, TOAD, DK, PEACH, BOWSER }

◆ gKartAIforLuigiAndYoshi

s16 gKartAIforLuigiAndYoshi[] = { MARIO, TOAD, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforMario

s16 gKartAIforMario[] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }

◆ gKartAIforMarioAndBowser

s16 gKartAIforMarioAndBowser[] = { LUIGI, YOSHI, TOAD, DK, WARIO, PEACH }

◆ gKartAIforMarioAndDk

s16 gKartAIforMarioAndDk[] = { LUIGI, YOSHI, TOAD, WARIO, PEACH, BOWSER }

◆ gKartAIforMarioAndLuigi

s16 gKartAIforMarioAndLuigi[] = { YOSHI, TOAD, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforMarioAndPeach

s16 gKartAIforMarioAndPeach[] = { LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER }

◆ gKartAIforMarioAndToad

s16 gKartAIforMarioAndToad[] = { LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforMarioAndWario

s16 gKartAIforMarioAndWario[] = { LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER }

◆ gKartAIforMarioAndYoshi

s16 gKartAIforMarioAndYoshi[] = { LUIGI, TOAD, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforPeach

s16 gKartAIforPeach[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER, 0 }

◆ gKartAIforPeachAndBowser

s16 gKartAIforPeachAndBowser[] = { MARIO, LUIGI, YOSHI, TOAD, DK, WARIO }

◆ gKartAIforPeachAndDk

s16 gKartAIforPeachAndDk[] = { MARIO, LUIGI, YOSHI, TOAD, WARIO, BOWSER }

◆ gKartAIforPeachAndLuigi

s16 gKartAIforPeachAndLuigi[] = { MARIO, YOSHI, TOAD, DK, WARIO, BOWSER }

◆ gKartAIforPeachAndMario

s16 gKartAIforPeachAndMario[] = { LUIGI, YOSHI, TOAD, DK, WARIO, BOWSER }

◆ gKartAIforPeachAndToad

s16 gKartAIforPeachAndToad[] = { MARIO, LUIGI, YOSHI, DK, WARIO, BOWSER }

◆ gKartAIforPeachAndWario

s16 gKartAIforPeachAndWario[] = { MARIO, LUIGI, YOSHI, TOAD, DK, BOWSER }

◆ gKartAIforPeachAndYoshi

s16 gKartAIforPeachAndYoshi[] = { MARIO, LUIGI, TOAD, DK, WARIO, BOWSER }

◆ gKartAIforPlayer

s16* gKartAIforPlayer[]
Initial value:
s16 gKartAIforToad[]
Definition player_controller.c:32
s16 gKartAIforPeach[]
Definition player_controller.c:38
s16 gKartAIforBowser[]
Definition player_controller.c:40
s16 gKartAIforWario[]
Definition player_controller.c:36
s16 gKartAIforDk[]
Definition player_controller.c:34
s16 gKartAIforYoshi[]
Definition player_controller.c:30
s16 gKartAIforLuigi[]
Definition player_controller.c:28
s16 gKartAIforMario[]
Definition player_controller.c:26

◆ gKartAIforToad

s16 gKartAIforToad[] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER, 0 }

◆ gKartAIforToadAndBowser

s16 gKartAIforToadAndBowser[] = { MARIO, LUIGI, YOSHI, DK, WARIO, PEACH }

◆ gKartAIforToadAndDk

s16 gKartAIforToadAndDk[] = { MARIO, LUIGI, YOSHI, WARIO, PEACH, BOWSER }

◆ gKartAIforToadAndLuigi

s16 gKartAIforToadAndLuigi[] = { MARIO, YOSHI, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforToadAndMario

s16 gKartAIforToadAndMario[] = { LUIGI, YOSHI, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforToadAndPeach

s16 gKartAIforToadAndPeach[] = { MARIO, LUIGI, YOSHI, DK, WARIO, BOWSER }

◆ gKartAIforToadAndWario

s16 gKartAIforToadAndWario[] = { MARIO, LUIGI, YOSHI, DK, PEACH, BOWSER }

◆ gKartAIforToadAndYoshi

s16 gKartAIforToadAndYoshi[] = { MARIO, LUIGI, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforTwoPlayer

s16** gKartAIforTwoPlayer[]
Initial value:
s16 * gListKartAIforToad[]
Definition player_controller.c:169
s16 * gListKartAIforPeach[]
Definition player_controller.c:180
s16 * gListKartAIforWario[]
Definition player_controller.c:176
s16 * gListKartAIforMario[]
Definition player_controller.c:157
s16 * gListKartAIforYoshi[]
Definition player_controller.c:165
s16 * gListKartAIforBowser[]
Definition player_controller.c:184
s16 * gListKartAIforLuigi[]
Definition player_controller.c:161
s16 * gListKartAIforDk[]
Definition player_controller.c:173

◆ gKartAIforWario

s16 gKartAIforWario[] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER, 0 }

◆ gKartAIforWarioAndBowser

s16 gKartAIforWarioAndBowser[] = { MARIO, LUIGI, YOSHI, TOAD, DK, PEACH }

◆ gKartAIforWarioAndDk

s16 gKartAIforWarioAndDk[] = { MARIO, LUIGI, YOSHI, TOAD, PEACH, BOWSER }

◆ gKartAIforWarioAndLuigi

s16 gKartAIforWarioAndLuigi[] = { MARIO, YOSHI, TOAD, DK, PEACH, BOWSER }

◆ gKartAIforWarioAndMario

s16 gKartAIforWarioAndMario[] = { LUIGI, YOSHI, TOAD, DK, PEACH, BOWSER }

◆ gKartAIforWarioAndPeach

s16 gKartAIforWarioAndPeach[] = { MARIO, LUIGI, YOSHI, TOAD, DK, BOWSER }

◆ gKartAIforWarioAndToad

s16 gKartAIforWarioAndToad[] = { MARIO, LUIGI, YOSHI, DK, PEACH, BOWSER }

◆ gKartAIforWarioAndYoshi

s16 gKartAIforWarioAndYoshi[] = { MARIO, LUIGI, TOAD, DK, PEACH, BOWSER }

◆ gKartAIforYoshi

s16 gKartAIforYoshi[] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH, BOWSER, 0 }

◆ gKartAIforYoshiAndBowser

s16 gKartAIforYoshiAndBowser[] = { MARIO, LUIGI, TOAD, DK, WARIO, PEACH }

◆ gKartAIforYoshiAndDk

s16 gKartAIforYoshiAndDk[] = { MARIO, LUIGI, TOAD, WARIO, PEACH, BOWSER }

◆ gKartAIforYoshiAndLuigi

s16 gKartAIforYoshiAndLuigi[] = { MARIO, TOAD, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforYoshiAndMario

s16 gKartAIforYoshiAndMario[] = { LUIGI, TOAD, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforYoshiAndPeach

s16 gKartAIforYoshiAndPeach[] = { MARIO, LUIGI, TOAD, DK, WARIO, BOWSER }

◆ gKartAIforYoshiAndToad

s16 gKartAIforYoshiAndToad[] = { MARIO, LUIGI, DK, WARIO, PEACH, BOWSER }

◆ gKartAIforYoshiAndWario

s16 gKartAIforYoshiAndWario[] = { MARIO, LUIGI, TOAD, DK, PEACH, BOWSER }

◆ gListKartAIforBowser

s16* gListKartAIforBowser[]
Initial value:
s16 gKartAIforBowserAndToad[]
Definition player_controller.c:153
s16 gKartAIforBowserAndPeach[]
Definition player_controller.c:155
s16 gKartAIforBowserAndDk[]
Definition player_controller.c:149
s16 gKartAIforBowserAndYoshi[]
Definition player_controller.c:147
s16 gKartAIforBowserAndWario[]
Definition player_controller.c:151
s16 gKartAIforBowserAndLuigi[]
Definition player_controller.c:145
s16 gKartAIforBowserAndMario[]
Definition player_controller.c:143

◆ gListKartAIforDk

s16* gListKartAIforDk[]
Initial value:
s16 gKartAIforDkAndWario[]
Definition player_controller.c:109
s16 gKartAIforDkAndToad[]
Definition player_controller.c:105
s16 gKartAIforDkAndBowser[]
Definition player_controller.c:113
s16 gKartAIforDkAndYoshi[]
Definition player_controller.c:107
s16 gKartAIforDkAndLuigi[]
Definition player_controller.c:103
s16 gKartAIforDkAndMario[]
Definition player_controller.c:101
s16 gKartAIforDkAndPeach[]
Definition player_controller.c:111

◆ gListKartAIforLuigi

s16* gListKartAIforLuigi[]
Initial value:
s16 gKartAIforLuigiAndWario[]
Definition player_controller.c:67
s16 gKartAIforLuigiAndMario[]
Definition player_controller.c:59
s16 gKartAIforLuigiAndToad[]
Definition player_controller.c:63
s16 gKartAIforLuigiAndPeach[]
Definition player_controller.c:69
s16 gKartAIforLuigiAndBowser[]
Definition player_controller.c:71
s16 gKartAIforLuigiAndYoshi[]
Definition player_controller.c:61
s16 gKartAIforLuigiAndDk[]
Definition player_controller.c:65

◆ gListKartAIforMario

s16* gListKartAIforMario[]
Initial value:
s16 gKartAIforMarioAndWario[]
Definition player_controller.c:53
s16 gKartAIforMarioAndPeach[]
Definition player_controller.c:55
s16 gKartAIforMarioAndDk[]
Definition player_controller.c:51
s16 gKartAIforMarioAndLuigi[]
Definition player_controller.c:45
s16 gKartAIforMarioAndYoshi[]
Definition player_controller.c:47
s16 gKartAIforMarioAndToad[]
Definition player_controller.c:49
s16 gKartAIforMarioAndBowser[]
Definition player_controller.c:57

◆ gListKartAIforPeach

s16* gListKartAIforPeach[]
Initial value:
s16 gKartAIforPeachAndBowser[]
Definition player_controller.c:141
s16 gKartAIforPeachAndYoshi[]
Definition player_controller.c:133
s16 gKartAIforPeachAndDk[]
Definition player_controller.c:135
s16 gKartAIforPeachAndLuigi[]
Definition player_controller.c:131
s16 gKartAIforPeachAndMario[]
Definition player_controller.c:129
s16 gKartAIforPeachAndToad[]
Definition player_controller.c:139
s16 gKartAIforPeachAndWario[]
Definition player_controller.c:137

◆ gListKartAIforToad

s16* gListKartAIforToad[]
Initial value:
s16 gKartAIforToadAndPeach[]
Definition player_controller.c:97
s16 gKartAIforToadAndBowser[]
Definition player_controller.c:99
s16 gKartAIforToadAndWario[]
Definition player_controller.c:95
s16 gKartAIforToadAndMario[]
Definition player_controller.c:87
s16 gKartAIforToadAndYoshi[]
Definition player_controller.c:91
s16 gKartAIforToadAndLuigi[]
Definition player_controller.c:89
s16 gKartAIforToadAndDk[]
Definition player_controller.c:93

◆ gListKartAIforWario

s16* gListKartAIforWario[]
Initial value:
s16 gKartAIforWarioAndLuigi[]
Definition player_controller.c:117
s16 gKartAIforWarioAndMario[]
Definition player_controller.c:115
s16 gKartAIforWarioAndBowser[]
Definition player_controller.c:127
s16 gKartAIforWarioAndYoshi[]
Definition player_controller.c:119
s16 gKartAIforWarioAndDk[]
Definition player_controller.c:121
s16 gKartAIforWarioAndPeach[]
Definition player_controller.c:125
s16 gKartAIforWarioAndToad[]
Definition player_controller.c:123

◆ gListKartAIforYoshi

s16* gListKartAIforYoshi[]
Initial value:
s16 gKartAIforYoshiAndPeach[]
Definition player_controller.c:83
s16 gKartAIforYoshiAndLuigi[]
Definition player_controller.c:75
s16 gKartAIforYoshiAndToad[]
Definition player_controller.c:77
s16 gKartAIforYoshiAndBowser[]
Definition player_controller.c:85
s16 gKartAIforYoshiAndDk[]
Definition player_controller.c:79
s16 gKartAIforYoshiAndWario[]
Definition player_controller.c:81
s16 gKartAIforYoshiAndMario[]
Definition player_controller.c:73