Mario Kart 64
menus.h
Go to the documentation of this file.
1 #ifndef MENUS_H
2 #define MENUS_H
3 
4 #include "PR/os.h"
5 #include "common_structs.h"
6 #include <types.h>
7 #include <defines.h>
8 
9 // D_8018EDEC is position on options screen?
12 };
13 
14 // needs to be a union (or array...?) to go into rodata as a const
15 // terrible for endianness... Best guess as to what this is for..
16 union GameModePack {
17  u8 modes[4];
19 };
20 
21 /* functions */
22 void update_menus(void);
23 void options_menu_act(struct Controller *, u16);
24 void data_menu_act(struct Controller *, u16);
28 void splash_menu_act(struct Controller *, u16);
29 void func_800B28C8(void);
30 void main_menu_act(struct Controller *, u16);
33 void course_select_menu_act(struct Controller *, u16);
34 void func_800B3F74(s32);
35 void func_800B44AC(void);
36 void func_800B44BC(void);
37 s32 func_800B4520(void);
38 
39 /* data */
40 extern s32 D_8018EDC0;
41 extern f32 D_8018EDC4;
42 extern f32 D_8018EDC8;
43 extern f32 D_8018EDCC;
44 extern f32 D_8018EDD0;
45 extern f32 D_8018EDD4;
46 extern f32 D_8018EDD8;
47 extern f32 D_8018EDDC;
48 extern s32 D_8018EDE0;
49 
51 extern s8 D_8018EDE8[];
52 extern s8 D_8018EDEC;
54 extern s8 D_8018EDEE;
55 extern s8 gDebugMenuSelection;
57 extern s8 D_8018EDF1;
58 extern u8 gSoundMode;
59 extern s8 gPlayerCount;
60 extern s8 D_8018EDF4;
61 extern s8 D_8018EDF5;
62 extern s8 D_8018EDF6;
65 extern s8 D_8018EDF9;
66 extern s8 gDebugGotoScene;
67 extern s8 D_8018EDFB;
68 extern s8 D_8018EDFC;
69 extern s32 gMenuTimingCounter;
70 extern s32 gMenuDelayTimer;
71 extern s8 D_8018EE08;
72 extern s8 gCupSelection;
73 extern s8 D_8018EE0A;
74 extern s8 gCupCourseSelection;
75 extern s8 D_8018EE0C;
77 
78 extern s32 gMenuSelection; // D_800E86A0
79 extern s32 D_800E86A4;
80 extern s8 gCharacterSelections[];
81 
82 extern s8 D_800E86AC[];
83 extern s8 D_800E86B0[4][3];
84 extern s8 gNextDemoId;
86 extern s8 D_800E86C4[];
87 extern s8 D_800E86D0[];
88 extern s8 unref_800E86E0[];
90 
91 extern const s8 D_800F2B50[5];
92 extern const s8 D_800F2B58[5];
93 extern const s8 D_800F2B60[5][3];
95 extern const s8 D_800F2BAC[8];
97 
98 extern const s8 D_800F2BDC[8];
99 
100 extern const union GameModePack D_800F2BE4;
101 
102 // end of menus.c variables
103 
104 #endif /* MENUS_H */
#define NUM_CUPS
Definition: defines.h:158
#define NUM_COURSES_PER_CUP
Definition: defines.h:288
void logo_intro_menu_act(struct Controller *, u16)
s32 D_8018EDC0
Definition: menus.c:25
struct_8018EE10_entry D_8018EE10[]
Definition: menus.c:60
s8 D_8018EDF4
Definition: menus.c:44
void player_select_menu_act(struct Controller *, u16)
s8 gCupCourseSelection
Definition: menus.c:58
f32 D_8018EDDC
Definition: menus.c:32
s32 func_800B4520(void)
Definition: menus.c:1992
s8 gTimeTrialDataCourseIndex
Definition: menus.c:47
const union GameModePack D_800F2BE4
Definition: menus.c:147
void func_800B44AC(void)
Definition: menus.c:1977
void options_menu_act(struct Controller *, u16)
Definition: menus.c:222
void main_menu_act(struct Controller *, u16)
s32 is_character_spot_free(s32)
Definition: menus.c:1501
s8 D_8018EDF6
Definition: menus.c:46
s8 D_8018EE0C
Definition: menus.c:59
s8 D_8018EDF1
Definition: menus.c:41
s32 gMenuTimingCounter
Definition: menus.c:53
MenuOptionsCursorPositions
Definition: menus.h:10
@ MENU_OPTIONS_CSRPOS_SOUNDMODE
Definition: menus.h:11
s8 D_8018EDFC
Definition: menus.c:52
s32 gMenuDelayTimer
Definition: menus.c:54
f32 D_8018EDD0
Definition: menus.c:29
const s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP]
Definition: menus.c:132
f32 D_8018EDC8
Definition: menus.c:27
void controller_pak_menu_act(struct Controller *, u16)
s8 gControllerPakMenuSelection
Definition: menus.c:40
s8 gCharacterGridSelections[]
Definition: menus.c:34
s8 D_800E86C4[]
Definition: menus.c:85
s8 D_8018EDEE
Definition: menus.c:38
void splash_menu_act(struct Controller *, u16)
Definition: menus.c:1008
f32 D_8018EDD4
Definition: menus.c:30
s8 gControllerPakSelectedTableRow
Definition: menus.c:84
s8 gCourseRecordsMenuSelection
Definition: menus.c:48
s8 unref_800E86E0[]
Definition: menus.c:87
void update_menus(void)
Definition: menus.c:154
s8 gPlayerCount
Definition: menus.c:43
void func_800B44BC(void)
Definition: menus.c:1981
s8 gCupSelection
Definition: menus.c:56
s32 gMenuSelection
Definition: menus.c:63
s8 D_8018EE08
Definition: menus.c:55
s8 D_8018EDFB
Definition: menus.c:51
const s32 gGameModeFromNumPlayersAndRowSelection[5][3]
Definition: menus.c:112
void data_menu_act(struct Controller *, u16)
s8 gMainMenuSelectionDepth
Definition: menus.c:37
f32 D_8018EDCC
Definition: menus.c:28
s8 D_8018EDF5
Definition: menus.c:45
s8 gDebugGotoScene
Definition: menus.c:50
const s8 D_800F2B50[5]
Definition: menus.c:93
void course_data_menu_act(struct Controller *, u16)
f32 D_8018EDC4
Definition: menus.c:26
s32 D_8018EDE0
Definition: menus.c:33
void func_800B3F74(s32)
Definition: menus.c:1793
s8 gDebugMenuSelection
Definition: menus.c:39
void func_800B28C8(void)
Definition: menus.c:1225
s32 D_800E86A4
Definition: menus.c:64
s8 gNextDemoId
Definition: menus.c:83
s8 D_800E86B0[4][3]
Definition: menus.c:76
s8 D_800E86D0[]
Definition: menus.c:86
const s8 D_800F2BAC[8]
Definition: menus.c:121
u8 gSoundMode
Definition: menus.c:42
const s8 D_800F2B60[5][3]
Definition: menus.c:99
s8 D_8018EE0A
Definition: menus.c:57
const s8 D_800F2BDC[8]
Definition: menus.c:145
s8 D_8018EDF9
Definition: menus.c:49
s8 D_800E86AC[]
Definition: menus.c:72
const s8 D_800F2B58[5]
Definition: menus.c:96
void course_select_menu_act(struct Controller *, u16)
Definition: menus.c:1685
u32 sVIGammaOffDitherOn
Definition: menus.c:89
s8 D_8018EDE8[]
Definition: menus.c:35
f32 D_8018EDD8
Definition: menus.c:31
s8 D_8018EDEC
Definition: menus.c:36
s8 gCharacterSelections[]
Definition: menus.c:65
Definition: types.h:37
Definition: common_structs.h:400
signed int s32
Definition: ultratypes.h:15
unsigned int u32
Definition: ultratypes.h:16
signed char s8
Definition: ultratypes.h:11
signed short int s16
Definition: ultratypes.h:13
float f32
Definition: ultratypes.h:32
unsigned short int u16
Definition: ultratypes.h:14
unsigned char u8
Definition: ultratypes.h:12
Definition: menus.h:16
s32 word
Definition: menus.h:18
u8 modes[4]
Definition: menus.h:17