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 // This really, really shouldn't be in this header file, but I don't know where else to put it
22 void rmonPrintf(const char *, ...);
23 
24 /* functions */
25 void update_menus(void);
26 void options_menu_act(struct Controller *, u16);
27 void data_menu_act(struct Controller *, u16);
31 void splash_menu_act(struct Controller *, u16);
32 void func_800B28C8(void);
33 void main_menu_act(struct Controller *, u16);
36 void course_select_menu_act(struct Controller *, u16);
37 void func_800B3F74(s32);
38 void func_800B44AC(void);
39 void func_800B44BC(void);
40 s32 func_800B4520(void);
41 
42 /* data */
43 extern s32 D_8018EDC0;
44 extern f32 D_8018EDC4;
45 extern f32 D_8018EDC8;
46 extern f32 D_8018EDCC;
47 extern f32 D_8018EDD0;
48 extern f32 D_8018EDD4;
49 extern f32 D_8018EDD8;
50 extern f32 D_8018EDDC;
51 extern s32 D_8018EDE0;
52 
54 extern s8 D_8018EDE8[];
55 extern s8 D_8018EDEC;
57 extern s8 D_8018EDEE;
58 extern s8 gDebugMenuSelection;
60 extern s8 D_8018EDF1;
61 extern u8 gSoundMode;
62 extern s8 gPlayerCount;
63 extern s8 D_8018EDF4;
64 extern s8 D_8018EDF5;
65 extern s8 D_8018EDF6;
68 extern s8 D_8018EDF9;
69 extern s8 gDebugGotoScene;
70 extern s8 D_8018EDFB;
71 extern s8 D_8018EDFC;
72 extern s32 gMenuTimingCounter;
73 extern s32 gMenuDelayTimer;
74 extern s8 D_8018EE08;
75 extern s8 gCupSelection;
76 extern s8 D_8018EE0A;
77 extern s8 gCupCourseSelection;
78 extern s8 D_8018EE0C;
80 
81 extern s32 gMenuSelection; // D_800E86A0
82 extern s32 D_800E86A4;
83 extern s8 gCharacterSelections[];
84 
85 extern s8 D_800E86AC[];
86 extern s8 D_800E86B0[4][3];
87 extern s8 gNextDemoId;
89 extern s8 D_800E86C4[];
90 extern s8 D_800E86D0[];
91 extern s8 unref_800E86E0[];
93 
94 extern const s8 D_800F2B50[5];
95 extern const s8 D_800F2B58[5];
96 extern const s8 D_800F2B60[5][3];
98 extern const s8 D_800F2BAC[8];
100 
101 extern const s8 D_800F2BDC[8];
102 
103 extern const union GameModePack D_800F2BE4;
104 
105 // end of menus.c variables
106 
107 #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:22
struct_8018EE10_entry D_8018EE10[]
Definition: menus.c:57
s8 D_8018EDF4
Definition: menus.c:41
void player_select_menu_act(struct Controller *, u16)
s8 gCupCourseSelection
Definition: menus.c:55
f32 D_8018EDDC
Definition: menus.c:29
s32 func_800B4520(void)
Definition: menus.c:1989
s8 gTimeTrialDataCourseIndex
Definition: menus.c:44
const union GameModePack D_800F2BE4
Definition: menus.c:144
void rmonPrintf(const char *,...)
Definition: is_debug.c:92
void func_800B44AC(void)
Definition: menus.c:1974
void options_menu_act(struct Controller *, u16)
Definition: menus.c:219
void main_menu_act(struct Controller *, u16)
s32 is_character_spot_free(s32)
Definition: menus.c:1498
s8 D_8018EDF6
Definition: menus.c:43
s8 D_8018EE0C
Definition: menus.c:56
s8 D_8018EDF1
Definition: menus.c:38
s32 gMenuTimingCounter
Definition: menus.c:50
MenuOptionsCursorPositions
Definition: menus.h:10
@ MENU_OPTIONS_CSRPOS_SOUNDMODE
Definition: menus.h:11
s8 D_8018EDFC
Definition: menus.c:49
s32 gMenuDelayTimer
Definition: menus.c:51
f32 D_8018EDD0
Definition: menus.c:26
const s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP]
Definition: menus.c:129
f32 D_8018EDC8
Definition: menus.c:24
void controller_pak_menu_act(struct Controller *, u16)
s8 gControllerPakMenuSelection
Definition: menus.c:37
s8 gCharacterGridSelections[]
Definition: menus.c:31
s8 D_800E86C4[]
Definition: menus.c:82
s8 D_8018EDEE
Definition: menus.c:35
void splash_menu_act(struct Controller *, u16)
Definition: menus.c:1005
f32 D_8018EDD4
Definition: menus.c:27
s8 gControllerPakSelectedTableRow
Definition: menus.c:81
s8 gCourseRecordsMenuSelection
Definition: menus.c:45
s8 unref_800E86E0[]
Definition: menus.c:84
void update_menus(void)
Definition: menus.c:151
s8 gPlayerCount
Definition: menus.c:40
void func_800B44BC(void)
Definition: menus.c:1978
s8 gCupSelection
Definition: menus.c:53
s32 gMenuSelection
Definition: menus.c:60
s8 D_8018EE08
Definition: menus.c:52
s8 D_8018EDFB
Definition: menus.c:48
const s32 gGameModeFromNumPlayersAndRowSelection[5][3]
Definition: menus.c:109
void data_menu_act(struct Controller *, u16)
s8 gMainMenuSelectionDepth
Definition: menus.c:34
f32 D_8018EDCC
Definition: menus.c:25
s8 D_8018EDF5
Definition: menus.c:42
s8 gDebugGotoScene
Definition: menus.c:47
const s8 D_800F2B50[5]
Definition: menus.c:90
void course_data_menu_act(struct Controller *, u16)
f32 D_8018EDC4
Definition: menus.c:23
s32 D_8018EDE0
Definition: menus.c:30
void func_800B3F74(s32)
Definition: menus.c:1790
s8 gDebugMenuSelection
Definition: menus.c:36
void func_800B28C8(void)
Definition: menus.c:1222
s32 D_800E86A4
Definition: menus.c:61
s8 gNextDemoId
Definition: menus.c:80
s8 D_800E86B0[4][3]
Definition: menus.c:73
s8 D_800E86D0[]
Definition: menus.c:83
const s8 D_800F2BAC[8]
Definition: menus.c:118
u8 gSoundMode
Definition: menus.c:39
const s8 D_800F2B60[5][3]
Definition: menus.c:96
s8 D_8018EE0A
Definition: menus.c:54
const s8 D_800F2BDC[8]
Definition: menus.c:142
s8 D_8018EDF9
Definition: menus.c:46
s8 D_800E86AC[]
Definition: menus.c:69
const s8 D_800F2B58[5]
Definition: menus.c:93
void course_select_menu_act(struct Controller *, u16)
Definition: menus.c:1682
u32 sVIGammaOffDitherOn
Definition: menus.c:86
s8 D_8018EDE8[]
Definition: menus.c:32
f32 D_8018EDD8
Definition: menus.c:28
s8 D_8018EDEC
Definition: menus.c:33
s8 gCharacterSelections[]
Definition: menus.c:62
Definition: types.h:37
Definition: common_structs.h:381
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