Mario Kart 64
Loading...
Searching...
No Matches
menus.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include <common_structs.h>
#include "menus.h"
#include "main.h"
#include "code_800029B0.h"
#include "actors.h"
#include "audio/external.h"
#include "code_80005FD0.h"
#include "code_80091750.h"
#include "code_800AF9B0.h"
#include "save.h"
#include "staff_ghosts.h"
#include "save_data.h"
#include <sounds.h>
#include "spawn_players.h"
Include dependency graph for menus.c:

Functions

void update_menus (void)
 
void options_menu_act (struct Controller *controller, u16 arg1)
 
void data_menu_act (struct Controller *controller, UNUSED u16 arg1)
 
void course_data_menu_act (struct Controller *controller, UNUSED u16 arg1)
 
void logo_intro_menu_act (struct Controller *arg0, UNUSED u16 arg1)
 
void controller_pak_menu_act (struct Controller *controller, UNUSED u16 arg1)
 
void splash_menu_act (struct Controller *controller, u16 arg1)
 
void func_800B28C8 (void)
 
bool is_character_spot_free (s32 gridId)
 
void course_select_menu_act (struct Controller *arg0, u16 arg1)
 
void func_800B3F74 (s32 menuSelection)
 
void func_800B44AC (void)
 
void func_800B44BC (void)
 
s32 func_800B4520 (void)
 
UNUSED void func_800B4560 (s32 arg0, s32 arg1)
 

Variables

s32 D_8018EDC0
 
f32 D_8018EDC4
 
f32 D_8018EDC8
 
f32 D_8018EDCC
 
f32 D_8018EDD0
 
f32 D_8018EDD4
 
f32 D_8018EDD8
 
f32 D_8018EDDC
 
s32 D_8018EDE0
 
s8 gCharacterGridSelections [4]
 
bool8 D_8018EDE8 [4]
 
s8 D_8018EDEC
 
s8 gMainMenuSelectionDepth
 
s8 D_8018EDEE
 
s8 gDebugMenuSelection
 
s8 gControllerPakMenuSelection
 
s8 D_8018EDF1
 
u8 gSoundMode
 
s8 gPlayerCount
 
s8 D_8018EDF4
 
s8 D_8018EDF5
 
s8 D_8018EDF6
 
s8 gTimeTrialDataCourseIndex
 
s8 gCourseRecordsMenuSelection
 
s8 D_8018EDF9
 
s8 gDebugGotoScene
 
s8 D_8018EDFB
 
s8 D_8018EDFC
 
s32 gMenuTimingCounter
 
s32 gMenuDelayTimer
 
s8 D_8018EE08
 
s8 gCupSelection
 
s8 D_8018EE0A
 
s8 gCupCourseSelection
 
s8 D_8018EE0C
 
struct_8018EE10_entry D_8018EE10 [2]
 
s32 gMenuSelection = LOGO_INTRO_MENU
 
s32 D_800E86A4 = 0
 
s8 gCharacterSelections [4] = { MARIO, LUIGI, YOSHI, TOAD }
 
s8 D_800E86AC [4] = { 0, 0, 0, 0 }
 
s8 D_800E86B0 [4][3]
 
s8 gNextDemoId = 0
 
s8 gControllerPakSelectedTableRow = 0
 
s8 D_800E86C4 [12] = {0, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0}
 
s8 D_800E86D0 [16] = {0}
 
s8 unref_800E86E0 [4] = {0, 0, 0, 1}
 
u32 sVIGammaOffDitherOn = OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON
 
const s8 D_800F2B50 [] = {0, 1, 2, 3, 3}
 
const s8 D_800F2B58 [] = {1, 2, 2, 3, 4}
 
const s8 D_800F2B60 [5][3]
 
const s32 gGameModeFromNumPlayersAndRowSelection [5][3]
 
const s8 D_800F2BAC []
 
const s16 gCupCourseOrder [5][4]
 
const s8 D_800F2BDC [8] = {1, 0, 0, 0, 0, 1, 3, 4}
 
const union GameModePack D_800F2BE4 = { {0, 1, 2, 3} }
 

Function Documentation

◆ controller_pak_menu_act()

void controller_pak_menu_act ( struct Controller * controller,
UNUSED u16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ course_data_menu_act()

void course_data_menu_act ( struct Controller * controller,
UNUSED u16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ course_select_menu_act()

void course_select_menu_act ( struct Controller * arg0,
u16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ data_menu_act()

void data_menu_act ( struct Controller * controller,
UNUSED u16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800B28C8()

void func_800B28C8 ( void )

◆ func_800B3F74()

void func_800B3F74 ( s32 menuSelection)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_800B44AC()

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

◆ func_800B44BC()

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

◆ func_800B4520()

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

◆ func_800B4560()

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

◆ is_character_spot_free()

bool is_character_spot_free ( s32 gridId)

◆ logo_intro_menu_act()

void logo_intro_menu_act ( struct Controller * arg0,
UNUSED u16 arg1 )

On input skip logo screen

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

◆ options_menu_act()

void options_menu_act ( struct Controller * controller,
u16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ splash_menu_act()

void splash_menu_act ( struct Controller * controller,
u16 arg1 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_menus()

void update_menus ( void )

Includes opening logo and splash screens

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

Variable Documentation

◆ D_800E86A4

s32 D_800E86A4 = 0

◆ D_800E86AC

s8 D_800E86AC[4] = { 0, 0, 0, 0 }

◆ D_800E86B0

s8 D_800E86B0[4][3]
Initial value:
= {
{0, 0, 0},
{0, 0, 0},
{0, 0, 0},
{0, 0, 0}
}

◆ D_800E86C4

s8 D_800E86C4[12] = {0, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0}

◆ D_800E86D0

s8 D_800E86D0[16] = {0}

◆ D_800F2B50

const s8 D_800F2B50[] = {0, 1, 2, 3, 3}

◆ D_800F2B58

const s8 D_800F2B58[] = {1, 2, 2, 3, 4}

◆ D_800F2B60

const s8 D_800F2B60[5][3]
Initial value:
= {
{1, 2, 1},
{1, 2, 1},
{0, 2, 2},
{0, 2, 0},
{0, 2, 0},
}

◆ D_800F2BAC

const s8 D_800F2BAC[]
Initial value:
= {
DK,
}
#define LUIGI
Definition defines.h:167
#define BOWSER
Definition defines.h:173
#define MARIO
Character IDs Note that these are not the same as the values found in gCharacterGridSelections as tho...
Definition defines.h:166
#define YOSHI
Definition defines.h:168
#define DK
Definition defines.h:170
#define WARIO
Definition defines.h:171
#define PEACH
Definition defines.h:172
#define TOAD
Definition defines.h:169

◆ D_800F2BDC

const s8 D_800F2BDC[8] = {1, 0, 0, 0, 0, 1, 3, 4}

◆ D_800F2BE4

const union GameModePack D_800F2BE4 = { {0, 1, 2, 3} }

◆ D_8018EDC0

s32 D_8018EDC0

BSS

◆ D_8018EDC4

f32 D_8018EDC4

◆ D_8018EDC8

f32 D_8018EDC8

◆ D_8018EDCC

f32 D_8018EDCC

◆ D_8018EDD0

f32 D_8018EDD0

◆ D_8018EDD4

f32 D_8018EDD4

◆ D_8018EDD8

f32 D_8018EDD8

◆ D_8018EDDC

f32 D_8018EDDC

◆ D_8018EDE0

s32 D_8018EDE0

◆ D_8018EDE8

bool8 D_8018EDE8[4]

◆ D_8018EDEC

s8 D_8018EDEC

◆ D_8018EDEE

s8 D_8018EDEE

◆ D_8018EDF1

s8 D_8018EDF1

◆ D_8018EDF4

s8 D_8018EDF4

◆ D_8018EDF5

s8 D_8018EDF5

◆ D_8018EDF6

s8 D_8018EDF6

◆ D_8018EDF9

s8 D_8018EDF9

◆ D_8018EDFB

s8 D_8018EDFB

◆ D_8018EDFC

s8 D_8018EDFC

◆ D_8018EE08

s8 D_8018EE08

◆ D_8018EE0A

s8 D_8018EE0A

◆ D_8018EE0C

s8 D_8018EE0C

◆ D_8018EE10

struct_8018EE10_entry D_8018EE10[2]

◆ gCharacterGridSelections

s8 gCharacterGridSelections[4]

◆ gCharacterSelections

s8 gCharacterSelections[4] = { MARIO, LUIGI, YOSHI, TOAD }

◆ gControllerPakMenuSelection

s8 gControllerPakMenuSelection

◆ gControllerPakSelectedTableRow

s8 gControllerPakSelectedTableRow = 0

◆ gCourseRecordsMenuSelection

s8 gCourseRecordsMenuSelection

◆ gCupCourseOrder

const s16 gCupCourseOrder[5][4]
Initial value:
= {
}
@ COURSE_WARIO_STADIUM
Definition common_structs.h:38
@ COURSE_MARIO_RACEWAY
Definition common_structs.h:24
@ COURSE_BANSHEE_BOARDWALK
Definition common_structs.h:27
@ COURSE_KALAMARI_DESERT
Definition common_structs.h:35
@ COURSE_BIG_DONUT
Definition common_structs.h:43
@ COURSE_ROYAL_RACEWAY
Definition common_structs.h:31
@ COURSE_BLOCK_FORT
Definition common_structs.h:39
@ COURSE_FRAPPE_SNOWLAND
Definition common_structs.h:29
@ COURSE_LUIGI_RACEWAY
Definition common_structs.h:32
@ COURSE_RAINBOW_ROAD
Definition common_structs.h:37
@ COURSE_YOSHI_VALLEY
Definition common_structs.h:28
@ COURSE_CHOCO_MOUNTAIN
Definition common_structs.h:25
@ COURSE_TOADS_TURNPIKE
Definition common_structs.h:34
@ COURSE_SKYSCRAPER
Definition common_structs.h:40
@ COURSE_DOUBLE_DECK
Definition common_structs.h:41
@ COURSE_BOWSER_CASTLE
Definition common_structs.h:26
@ COURSE_KOOPA_BEACH
Definition common_structs.h:30
@ COURSE_MOO_MOO_FARM
Definition common_structs.h:33
@ COURSE_DK_JUNGLE
Definition common_structs.h:42
@ COURSE_SHERBET_LAND
Definition common_structs.h:36

◆ gCupCourseSelection

s8 gCupCourseSelection

◆ gCupSelection

s8 gCupSelection

◆ gDebugGotoScene

s8 gDebugGotoScene

◆ gDebugMenuSelection

s8 gDebugMenuSelection

◆ gGameModeFromNumPlayersAndRowSelection

const s32 gGameModeFromNumPlayersAndRowSelection[5][3]
Initial value:
= {
{ 0x03010003, 0x03000300, 0x00030000 },
{ GRAND_PRIX, TIME_TRIALS, 0x00000000 },
{ VERSUS, BATTLE, 0x00000000 },
{ VERSUS, BATTLE, 0x00000000 },
}
#define BATTLE
Definition defines.h:131
#define VERSUS
Definition defines.h:130
#define GRAND_PRIX
Options for gModeSelection.
Definition defines.h:128
#define TIME_TRIALS
Definition defines.h:129

◆ gMainMenuSelectionDepth

s8 gMainMenuSelectionDepth

◆ gMenuDelayTimer

s32 gMenuDelayTimer

◆ gMenuSelection

s32 gMenuSelection = LOGO_INTRO_MENU

Data

◆ gMenuTimingCounter

s32 gMenuTimingCounter

◆ gNextDemoId

s8 gNextDemoId = 0

◆ gPlayerCount

s8 gPlayerCount

◆ gSoundMode

u8 gSoundMode

◆ gTimeTrialDataCourseIndex

s8 gTimeTrialDataCourseIndex

◆ sVIGammaOffDitherOn

u32 sVIGammaOffDitherOn = OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON

◆ unref_800E86E0

s8 unref_800E86E0[4] = {0, 0, 0, 1}