Mario Kart 64
code_8006E9C0.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <memory.h>
#include <defines.h>
#include "code_8006E9C0.h"
#include "code_80071F00.h"
#include "objects.h"
#include "bomb_kart.h"
#include "variables.h"
#include "common_textures.h"
#include <sounds.h>
#include <functions.h>
#include "audio/external.h"
#include "courses/all_course_data.h"
#include "main.h"
#include "menus.h"
Include dependency graph for code_8006E9C0.c:

Data Structures

struct  UnkStr80165832
 

Functions

void init_object_list (void)
 
void func_8006EA5C (void)
 
void func_8006EB10 (void)
 
void func_8006ED60 ()
 
u8func_8006ED94 (u8 *devAddr, u8 *baseAddress, u32 size, u32 offset)
 
void func_8006EE44 (void)
 
void init_item_window (s32 objectIndex)
 
void func_8006EEE8 (s32 courseId)
 
void func_8006F824 (s32 arg0)
 
void func_80070148 (void)
 
void func_80070190 (void)
 
void func_80070250 (s32 objectIndex, s32 arg1, StarSpawn *arg2)
 
void func_80070328 (StarSpawn *arg0)
 
void func_800703E0 (s32 objectIndex, s32 arg1, StarSpawn *arg2)
 
void func_800704A0 (StarSpawn *arg0)
 
void func_8007055C (void)
 
void func_80070714 (void)
 
void init_hud_two_player_vertical (void)
 
void init_hud_two_player_horizontal ()
 
void init_hud_three_four_player (void)
 

Variables

s16 D_8018CF18
 
s16 D_8018CF20
 
s16 D_8018CF48
 
s16 D_8018CF60
 
s16 D_8018CF78
 
s16 D_8018CF90
 
s16 D_8018CFA8
 
s16 D_8018CFB0
 
s16 D_8018CFB8
 
s16 D_8018CFC0
 
s16 D_8018CFC8
 
s16 D_8018CFD0
 
s16 D_8018CFD8
 
s16 D_8018CFE0
 
s16 D_8018CFF0
 
s16 D_8018CFF8
 
s16 D_8018D000
 
s16 D_8018D008
 
s16 D_8018D010
 
s16 D_8018D018
 
s16 D_8018D020
 
s16 D_8018D048
 
s16 D_8018D070
 
s16 D_8018D098
 
s16 D_8018D0C0
 
s16 D_8018D0E8
 
s16 D_8018D110
 
u16 gIsGamePaused
 
s8 D_801657E4
 
bool8 D_801657E6
 
bool8 D_801657E8
 
bool8 D_801657F0
 
s8 D_801657F8
 
s8 D_80165808
 
bool8 D_80165810
 
bool8 D_80165818
 
s8 D_80165820
 
s8 D_80165828
 
struct UnkStr80165832 D_80165800
 
struct UnkStr80165832 D_80165832
 

Function Documentation

◆ func_8006EA5C()

void func_8006EA5C ( void  )
D_8018CA70[0].lapCount = 0;
D_8018CA70[0].alsoLapCount = 0;
D_8018CA70[0].unk_81 = 0;
D_8018CA70[1].lapCount = 0;
D_8018CA70[1].alsoLapCount = 0;
D_8018CA70[1].unk_81 = 0;
D_8018CA70[2].lapCount = 0;
D_8018CA70[2].alsoLapCount = 0;
D_8018CA70[2].unk_81 = 0;
D_8018CA70[3].lapCount = 0;
D_8018CA70[3].alsoLapCount = 0;
D_8018CA70[3].unk_81 = 0;
D_8018CA70[0].raceCompleteBool = 0;
D_8018CA70[1].raceCompleteBool = 0;
D_8018CA70[2].raceCompleteBool = 0;
D_8018CA70[3].raceCompleteBool = 0;

This is close but it puts the raceCompletedBool stuff in the wrong place Which makes sense, but its still annoying for (thing = 0; thing < D_8018CA70_SIZE; thing++) { D_8018CA70[thing].lapCount = 0; D_8018CA70[thing].alsoLapCount = 0; D_8018CA70[thing].unk_81 = 0; D_8018CA70[thing].raceCompleteBool = 0; }

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

◆ func_8006EB10()

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

◆ func_8006ED60()

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

◆ func_8006ED94()

u8* func_8006ED94 ( u8 devAddr,
u8 baseAddress,
u32  size,
u32  offset 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8006EE44()

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

◆ func_8006EEE8()

void func_8006EEE8 ( s32  courseId)
Here is the call graph for this function:

◆ func_8006F824()

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

◆ func_80070148()

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

◆ func_80070190()

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

◆ func_80070250()

void func_80070250 ( s32  objectIndex,
s32  arg1,
StarSpawn arg2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_80070328()

void func_80070328 ( StarSpawn arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800703E0()

void func_800703E0 ( s32  objectIndex,
s32  arg1,
StarSpawn arg2 
)

This function is part of the spawning for the "stars" in some stages

arg2 is a pointer to some type of spawn data for the stars, although it not super clear what types each element is. It seems like its a bunch of u16's, so maybe a Vec4su?

The stars in Wario's Stadium, Toad's Turnpike, and Rainbow Road are not part of the skybox. They are instead objects that seemingly hover in the air around the player They have no true x/y/z position, instead they seem to be kept in a position relative to the player they hang around. There is however an x/y position for where they should be on screen when they are visbile (unk_09E[0] and [1]). sizeScaling is some sort of size scaling on the start texture. unk_0A2 is an alpha value, used to make the star twinkle.

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

◆ func_800704A0()

void func_800704A0 ( StarSpawn arg0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_8007055C()

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

◆ func_80070714()

void func_80070714 ( void  )

◆ init_hud_three_four_player()

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

◆ init_hud_two_player_horizontal()

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

◆ init_hud_two_player_vertical()

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

◆ init_item_window()

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

◆ init_object_list()

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

Variable Documentation

◆ D_801657E4

s8 D_801657E4
extern

◆ D_801657E6

bool8 D_801657E6
extern

◆ D_801657E8

bool8 D_801657E8
extern

◆ D_801657F0

bool8 D_801657F0
extern

◆ D_801657F8

s8 D_801657F8
extern

◆ D_80165800

struct UnkStr80165832 D_80165800
extern

◆ D_80165808

s8 D_80165808
extern

◆ D_80165810

bool8 D_80165810
extern

◆ D_80165818

bool8 D_80165818
extern

◆ D_80165820

s8 D_80165820
extern

◆ D_80165828

s8 D_80165828
extern

◆ D_80165832

struct UnkStr80165832 D_80165832
extern

◆ D_8018CF18

s16 D_8018CF18
extern

◆ D_8018CF20

s16 D_8018CF20
extern

◆ D_8018CF48

s16 D_8018CF48
extern

◆ D_8018CF60

s16 D_8018CF60
extern

◆ D_8018CF78

s16 D_8018CF78
extern

◆ D_8018CF90

s16 D_8018CF90
extern

◆ D_8018CFA8

s16 D_8018CFA8
extern

◆ D_8018CFB0

s16 D_8018CFB0
extern

◆ D_8018CFB8

s16 D_8018CFB8
extern

◆ D_8018CFC0

s16 D_8018CFC0
extern

◆ D_8018CFC8

s16 D_8018CFC8
extern

◆ D_8018CFD0

s16 D_8018CFD0
extern

◆ D_8018CFD8

s16 D_8018CFD8
extern

◆ D_8018CFE0

s16 D_8018CFE0
extern

◆ D_8018CFF0

s16 D_8018CFF0
extern

◆ D_8018CFF8

s16 D_8018CFF8
extern

◆ D_8018D000

s16 D_8018D000
extern

◆ D_8018D008

s16 D_8018D008
extern

◆ D_8018D010

s16 D_8018D010
extern

◆ D_8018D018

s16 D_8018D018
extern

◆ D_8018D020

s16 D_8018D020
extern

◆ D_8018D048

s16 D_8018D048
extern

◆ D_8018D070

s16 D_8018D070
extern

◆ D_8018D098

s16 D_8018D098
extern

◆ D_8018D0C0

s16 D_8018D0C0
extern

◆ D_8018D0E8

s16 D_8018D0E8
extern

◆ D_8018D110

s16 D_8018D110
extern

◆ gIsGamePaused

u16 gIsGamePaused
extern