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 <mk64.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)
 
bool 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 gCourseIndexInCup
 
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] = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
 
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 gPlayerModeSelection [] = { 1, 2, 1, 1 }
 
const s8 gGameModePlayerColumnDefault [][3]
 
const s8 gGameModePlayerColumnExtra [][3]
 
const s32 gGameModePlayerSelection [][3]
 
const s8 D_800F2BAC []
 
const s16 gCupCourseOrder [5][4]
 
const s8 D_800F2BDC [4] = { 1, 0, 0, 0 }
 
const s8 D_800F2BE0 [4] = { 0, 1, 3, 4 }
 
const union GameModePack gSoundMenuPack = { { SOUND_STEREO, SOUND_HEADPHONES, SOUND_UNUSED, SOUND_MONO } }
 

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

bool 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] = { { 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_800F2BAC

const s8 D_800F2BAC[]
Initial value:
= {
}
#define LUIGI
Definition defines.h:184
#define BOWSER
Definition defines.h:190
#define MARIO
Character IDs Note that these are not the same as the values found in gCharacterGridSelections as tho...
Definition defines.h:183
#define YOSHI
Definition defines.h:185
#define DK
Definition defines.h:187
#define WARIO
Definition defines.h:188
#define PEACH
Definition defines.h:189
#define TOAD
Definition defines.h:186

◆ D_800F2BDC

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

◆ D_800F2BE0

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

◆ 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

◆ gCourseIndexInCup

s8 gCourseIndexInCup

◆ gCourseRecordsMenuSelection

s8 gCourseRecordsMenuSelection

◆ gCupCourseOrder

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

◆ gCupSelection

s8 gCupSelection

◆ gDebugGotoScene

s8 gDebugGotoScene

◆ gDebugMenuSelection

s8 gDebugMenuSelection

◆ gGameModePlayerColumnDefault

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

◆ gGameModePlayerColumnExtra

const s8 gGameModePlayerColumnExtra[][3]
Initial value:
= {
{ 3, 1, 0 },
{ 3, 3, 0 },
{ 3, 0, 0 },
{ 3, 0, 0 },
}

◆ gGameModePlayerSelection

const s32 gGameModePlayerSelection[][3]
Initial value:
= {
{ GRAND_PRIX, TIME_TRIALS, 0x00000000 },
{ VERSUS, BATTLE, 0x00000000 },
{ VERSUS, BATTLE, 0x00000000 },
}
#define BATTLE
Definition defines.h:146
#define VERSUS
Definition defines.h:145
#define GRAND_PRIX
Options for gModeSelection.
Definition defines.h:143
#define TIME_TRIALS
Definition defines.h:144

◆ gMainMenuSelectionDepth

s8 gMainMenuSelectionDepth

◆ gMenuDelayTimer

s32 gMenuDelayTimer

◆ gMenuSelection

s32 gMenuSelection = LOGO_INTRO_MENU

Data

◆ gMenuTimingCounter

s32 gMenuTimingCounter

◆ gNextDemoId

s8 gNextDemoId = 0

◆ gPlayerCount

s8 gPlayerCount

◆ gPlayerModeSelection

const s8 gPlayerModeSelection[] = { 1, 2, 1, 1 }

◆ gSoundMenuPack

const union GameModePack gSoundMenuPack = { { SOUND_STEREO, SOUND_HEADPHONES, SOUND_UNUSED, SOUND_MONO } }

◆ 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 }