{%hackmd theme-dark %} <style> .markdown-body:not(.next-editor) pre { color: #AAAAAA; background-color:#222222; } .token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string { background-color:#222222; } .token.property, .token.tag, .token.boolean, .token.number, .token.constant, .token.symbol, .token.deleted { color:#6666CC; } </style> ## menu.c documentation This document contains documentation for stuff that needs to be renamed. ```c /************ .bss ************/ // Both used as part of gRecordTimesMenuElements, // representing the initials that set the record. char D_80126390[4]; //course initials char D_80126394[4]; //flap initials unk801263C0 D_801263B8; unk801263C0 gMenuCurrentCharacter; // Current level id being previewed. s32 D_801263D0; //Compared for equality to gTrackIdForPreview // Players in character select who are ready s8 D_801263DC[MAXCONTROLLERS]; // unused s32 D_801263E4; // Number of points to award the racers at the end of a trophy race round. s32 D_801263F8[8]; // Array of booleans. 0 = X place is occupied by AI, 1 = occupied by player. u8 D_80126418[8]; // Array of booleans. u8 D_80126420[8]; // Places of racers in the previous race. u8 D_80126428[8]; // Places of racers overall. u8 D_80126430[8]; // ??? s8 D_80126438[8]; // Unused s8 D_80126440[8]; // Boolean, is currently in copy file mode? s32 D_80126484; // Boolean, is currently in erase file mode? s32 D_80126488; // File index to copy/erase. s32 gSaveFileIndex3; // File index to copy to. s32 gSaveFileIndex2; // Boolean, is showing the confirm OK before deleting a file. s32 D_80126494; // Current ghost index selected in the ghost data menu. s32 D_80126498; // Unused. s32 D_8012649C; // Controller index for Controller Pak? (TODO: Confirm this) s32 D_801264D0; // Number of ghost entries in ghost data. s32 D_801264D4; u8 D_801264DC[6]; //gGhostLevelIDs? // These are just part of D_801264DC //s8 D_801264E0; //s8 D_801264E1; u8 D_801264E4[4]; //gGhostSomethings? s32 D_801264E8; u8 D_801264EC[4]; //gGhostVehicleIds? s32 D_801264F0[2]; u16 D_801264F8[6]; //gGhostChecksums? s8 sDialogueOptionMax; u8 D_80126508[6]; // Array of 6 track ids? s8 gDialogueOptionYOffset; u8 D_80126510[6]; // Array of 6 racer ids? s8 gDialogueItemSelection; u8 D_80126518[6]; // Array of vehicle ids? u16 D_80126520[6]; // Array of timestamps? Settings *gSavefileData[4]; u8 D_80126540[8]; u8 D_80126750[128]; // Array of booleans if object in gMenuObjects is valid. s32 D_801267D0; s32 D_801267D4; s32 D_801267D8[5]; //Buttons pressed per player plus an extra? s8 *D_801267EC; s32 D_801267F0[5]; s8 *D_80126804; s32 D_80126808[MAXCONTROLLERS]; //Soundmask values s16 D_80126818[5]; s32 D_80126824; // Size: 12 bytes typedef struct unk80126878 { char *text; s16 x; s16 y; s32 colourIndex; } unk80126878; unk80126878 D_80126878[8]; /************ functions ************/ // Processes input/renders the menu rankings menu? s32 func_80081F4C(s32 updateRate); ```