diff options
Diffstat (limited to 'src/menu_items.h')
| -rw-r--r-- | src/menu_items.h | 618 |
1 files changed, 618 insertions, 0 deletions
diff --git a/src/menu_items.h b/src/menu_items.h new file mode 100644 index 000000000..22779209c --- /dev/null +++ b/src/menu_items.h @@ -0,0 +1,618 @@ +#ifndef CODE_80091750_H +#define CODE_80091750_H + +#include <common_structs.h> +#include "textures.h" +#include "main.h" + +#ifdef __cplusplus +extern "C" { +#endif + +extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[]; + +/* File specific types */ + +/* +Known `types` for `MenuItem` +0x53: "Mushroom Cup" box on the cup selection screen +0x54: "Flower Cup" box on the cup selection screen +0x55: "Star Cup" box on the cup selection screen +0x56: "Special Cup" box on the cup selection screen +0x5E: A box of static over the course images as the cup selection screen loads in. + It is near unnoticeable though as in practice it doesn't last long enough to be seen. + Try locking the word at `8018DC80` to see something like 0x20 just before confirming character selection to make +it last longer See `func_80096CD8` for the actual drawing of the static +*/ + +typedef struct { + /* 0x00 */ s32 type; // id maybe? + /* 0x04 */ s32 state; // sound mode, maybe some other stuff + /* 0x08 */ s32 subState; // This is used but I can't tell what for + /* 0x0C */ s32 column; + /* 0x10 */ s32 row; + /* 0x14 */ u8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values + // If equal, later entries in gMenuItems are on top + /* 0x15 */ u8 visible; // active? If 1 its displayed, if 0 its not + // These seem to be generic space available for use by the struct, no 1 purpose for any given member + /* 0x16 */ s16 unk16; // Potentially unused + /* 0x18 */ s32 D_8018DEE0_index; // Index in D_8018DEE0, an array of some other struct type + /* 0x1C */ s32 param1; // Multi use. Sometimes cup selection, sometimes course index. + /* 0x20 */ s32 param2; // Multi use, hard to tell what for though. Sometimes a random number, sometimes GP points + /* 0x24 */ f32 paramf; // Multi use, x scaling for some things, rotation multiplier for the question box in some + // menus, probably some other things +} MenuItem; // size = 0x28 + +typedef struct { + /* 0x00 */ MkAnimation* textureSequence; + /* 0x04 */ s32 sequenceIndex; // Index in textureSequence that the animation is currently on + /* 0x08 */ s32 frameCountDown; // Frames left for the given animation part + /* 0x0C */ u32 visible; // visbile if 0x80000000, otherwise invisbile AND paused + /* 0x10 */ s32 menuTextureIndex; // Don't know what sMenuTextureMap tracks + /* 0x14 */ s32 unk14; // Flip flops between 0 and 1, use unknown +} struct_8018DEE0_entry; // size = 0x18 + +typedef struct { + /* 0x0 */ MenuTexture* texture; + /* 0x4 */ s32 texNum; +} struct_8018E060_entry; // size = 0x8 + +typedef struct { + /* 0x0 */ MenuTexture* mk64Texture; + /* 0x4 */ s16 unk4; + /* 0x6 */ s16 unk6; +} struct_8018E0E8_entry; // size = 0x8 + +typedef struct { + /* 0x00 */ u64* textureData; // This should be interpreted as a segmented address + /** + * Its hard to tell what exactly what this is meant to be, + * but it appears to be used as some sort of offset/index from the address stored in gMenuTextureBuffer. + * This value is (roughly) the sum of (width * height) of the + * textures in all the previous entries in sMenuTextureMap + */ + /* 0x04 */ s32 offset; +} struct_8018E118_entry; // size = 0x08 + +typedef struct { + /* 0x00 */ MenuTexture* textures; + /* 0x04 */ Gfx* displayList; +} struct_8018E768_entry; // size = 0x08 + +struct UnkStruct_8018E7E8 { + /* 0x0 */ s16 x; + /* 0x2 */ s16 y; + /* 0x4 */ s16 unk1; + /* 0x6 */ s16 unk2; +}; // size = 0x8 + +typedef struct { + /* 0x00 */ s16 column; + /* 0x02 */ s16 row; + /* 0x04 */ s16 pad0; + /* 0x06 */ s16 pad1; +} Unk_D_800E70A0; // size = 0x08 + +/* Function Prototypes */ + +f64 exponent_by_squaring(f64, s32); +f64 func_800917B0(f64, f64); +f64 func_8009186C(f64); +f64 func_8009195C(f64); +f64 func_80091A6C(f64, s32); +f64 func_80091AC0(f64, s32*); +void swap_values(s32*, s32*); +s32 func_80091D74(void); +void func_80091EE4(void); +void func_80091FA4(void); +void func_80092148(void); +void func_800921B4(void); +void text_rainbow_effect(s32, s32, s32); +void set_text_color_rainbow_if_selected(s32, s32, s32); +void func_80092258(void); +void func_80092290(s32, s32*, s32*); +void func_80092500(void); +void func_80092564(void); +void func_800925A0(void); +void func_800925CC(void); +void func_80092604(void); +void func_80092630(void); +void func_8009265C(void); +void func_80092688(void); +void func_80092C80(void); +s32 char_to_glyph_index(char*); +s32 func_80092DF8(char*); +s32 func_80092E1C(char*); +s32 func_80092EE4(char*); +s32 get_string_width(char*); +void set_text_color(s32); +void func_800930E4(s32, s32, char*); +void print_text0(s32, s32, char*, s32, f32, f32, s32); +void print_text_mode_1(s32, s32, char*, s32, f32, f32); +void print_text_mode_2(s32, s32, char*, s32, f32, f32); +void print_text1(s32, s32, char*, s32, f32, f32, s32); +void print_text1_left(s32, s32, char*, s32, f32, f32); +void print_text1_center_mode_1(s32, s32, char*, s32, f32, f32); +void print_text1_right(s32, s32, char*, s32, f32, f32); +void print_text1_center_mode_2(s32, s32, char*, s32, f32, f32); +void print_text2(s32, s32, char*, s32, f32, f32, s32); +void func_800939C8(s32, s32, char*, s32, f32, f32); +void text_draw(s32, s32, char*, s32, f32, f32); +void func_80093A30(s32); +void func_80093A5C(u32); +void func_80093B70(u32); +void func_80093C1C(s32); +void func_80093C88(void); +void func_80093C90(void); +void func_80093C98(s32); +void func_80093E20(void); +void func_80093E40(void); +void func_80093E60(void); +void func_80093F10(void); +void func_800940EC(s32); +void func_800942D0(void); +void func_80094660(struct GfxPool*, s32); +void render_checkered_flag(struct GfxPool*, s32); +void func_80094A64(struct GfxPool*); +void setup_menus(void); +void func_80095574(void); +Gfx* draw_flash_select_case(Gfx*, s32, s32, s32, s32, s32); +Gfx* draw_flash_select_case_slow(Gfx*, s32, s32, s32, s32); +Gfx* draw_flash_select_case_fast(Gfx*, s32, s32, s32, s32); +Gfx* func_800959F8(Gfx*, Vtx*); +Gfx* func_80095BD0(Gfx*, u8*, f32, f32, u32, u32, f32, f32); +Gfx* func_80095E10(Gfx*, s8, s32, s32, s32, s32, s32, s32, s32, s32, u8*, u32, u32); +Gfx* func_800963F0(Gfx*, s8, s32, s32, f32, f32, s32, s32, s32, s32, s32, s32, u8*, u32, u32); +Gfx* func_80096CD8(Gfx*, s32, s32, u32, u32); +Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, + s32 arg9, u16* argA, u32 argB, u32 argC, s32 argD); +Gfx* func_80097A14(Gfx*, s8, s32, s32, s32, s32, s32, s32, u8*, u32, u32); +Gfx* func_80097AE4(Gfx*, s8, s32, s32, u8*, s32); +Gfx* func_80097E58(Gfx* displayListHead, s8 fmt, u32 arg2, u32 arg3, u32 arg4, u32 arg5, s32 arg6, s32 arg7, + u8* someTexture, u32 arg9, u32 argA, s32 width); +Gfx* func_80098558(Gfx*, u32, u32, u32, u32, u32, u32, s32, s32); +Gfx* func_800987D0(Gfx*, u32, u32, u32, u32, s32, s32, u8*, u32, s32); +Gfx* draw_box_fill(Gfx*, s32, s32, s32, s32, s32, s32, s32, s32); +Gfx* draw_box(Gfx*, s32, s32, s32, s32, u32, u32, u32, u32); +Gfx* draw_box_wide(Gfx*, s32, s32, s32, s32, u32, u32, u32, u32); +Gfx* func_80098FC8(Gfx*, s32, s32, s32, s32); +void dma_compressed_mio0_texture_segA(u64*, size_t, void*); +void dma_tkmk00_textures(u64*, size_t, void*); +void func_80099110(void); +void load_menu_img(MenuTexture*); +void* segmented_to_virtual_dupe(const void*); +void* segmented_to_virtual_dupe_2(const void*); +void load_menu_img_mio0_forced(MenuTexture*); +void load_menu_img_comp_type(MenuTexture*, s32); +void func_80099958(MenuTexture*, s32, s32); +void func_80099E54(void); +void func_80099E60(MenuTexture*, s32, s32); +void func_80099EC4(void); +void func_80099A70(void); +void func_80099A94(MenuTexture*, s32); +void func_80099AEC(void); +void func_8009A238(MenuTexture*, s32); +void func_8009A2F0(struct_8018E0E8_entry*); +void func_8009A344(void); +s32 animate_character_select_menu(MkAnimation*); +s32 func_8009A478(MkAnimation*, s32); +void func_8009A594(s32, s32, MkAnimation*); +void func_8009A640(s32, s32, s32, MkAnimation*); +void func_8009A6D4(void); +void func_8009A76C(s32, s32, s32, s32); +void func_8009A7EC(s32, s32, s32, s32, s32); +MenuTexture* func_8009A878(struct_8018DEE0_entry*); +MenuTexture* func_8009A944(struct_8018DEE0_entry*, s32); +void func_8009A9FC(s32, s32, u32, s32); +void func_8009AB7C(s32); +void func_8009AD78(s32, s32); +void convert_img_to_greyscale(s32, u32); +void adjust_img_colour(s32, s32, s32, s32, s32); +u16* func_8009B8C4(u64*); +void func_8009B938(void); +void func_8009B954(MenuTexture*); +void func_8009B998(void); +Gfx* func_8009B9D0(Gfx*, MenuTexture*); +Gfx* render_menu_textures(Gfx*, MenuTexture*, s32, s32); +Gfx* func_8009BC9C(Gfx*, MenuTexture*, s32, s32, s32, s32); +Gfx* print_letter(Gfx*, MenuTexture*, f32, f32, s32, f32, f32); +Gfx* func_8009C204(Gfx*, MenuTexture*, s32, s32, s32); +Gfx* func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32); +Gfx* func_8009C708(Gfx*, struct_8018DEE0_entry*, s32, s32, s32, s32); +void func_8009C918(void); +void func_8009CA2C(void); +void func_8009CA6C(s32); +void func_8009CBE4(s32, s32, s32); +void func_8009CDDC(s32, s32); +void func_8009CDFC(s32, s32); +void func_8009CE1C(void); +void func_8009CE64(s32); +void func_8009D77C(s32, s32, s32); +void func_8009D958(s32, s32); +void func_8009D978(s32, s32); +void func_8009D998(s32); +void func_8009DAA8(void); +void func_8009DB8C(void); +void func_8009DEF8(u32, u32); +void func_8009DF4C(s32); +void func_8009DF6C(s32); +void func_8009DF8C(u32, u32); +void func_8009DFE0(s32); +void func_8009E000(s32); +void func_8009E020(s32, s32); +void func_8009E088(s32, s32); +void func_8009E0F0(s32); +void func_8009E1C0(void); +void func_8009E1E4(void); +void func_8009E208(void); +void func_8009E230(void); +void func_8009E258(void); +void func_8009E280(void); +void func_8009E2A8(s32); +void func_8009E2F0(s32); +void func_8009E5BC(void); +void func_8009E5FC(s32); +void clear_menus(void); +void add_menu_item(s32, s32, s32, s8); +void render_menus(MenuItem*); +void func_800A08D8(u8, s32, s32); +s32 func_800A095C(char*, s32, s32, s32); +void func_800A09E0(MenuItem*); +void func_800A0AD0(MenuItem*); +void func_800A0B80(MenuItem*); +void func_800A0DFC(void); +void func_800A0EB8(MenuItem*, s32); +void func_800A0FA4(MenuItem*, s32); +void func_800A10CC(MenuItem*); +void func_800A11D0(MenuItem*, s32, s32); +void func_800A12BC(MenuItem*, MenuTexture*); +void func_800A1350(MenuItem*); +void func_800A143C(MenuItem*, s32); +void func_800A1500(MenuItem*); +void func_800A15EC(MenuItem*); +void func_800A1780(MenuItem*); +void func_800A1924(MenuItem*); +void func_800A1A20(MenuItem*); +void func_800A1BE0(MenuItem*); +void func_800A1DE0(MenuItem*); +void func_800A1F30(MenuItem*); +void func_800A1FB0(MenuItem*); +void func_800A2D1C(MenuItem*); +void func_800A2EB8(MenuItem*); +void func_800A32B4(s32, s32, s32, s32); +void func_800A34A8(MenuItem*); +void func_800A3A10(s8*); +void func_800A3ADC(MenuItem*, s32, s32, s32, s32, s8*); +void func_800A3C84(MenuItem*); +void func_800A3E60(MenuItem*); +void func_800A4550(s32, s32, s32); +void render_lap_times(s32, s32, s32); +void func_800A4A24(MenuItem*); +void render_pause_menu(MenuItem*); +void render_pause_menu_time_trials(MenuItem*); +void render_pause_menu_versus(MenuItem*); +void render_pause_grand_prix(MenuItem*); +void render_pause_battle(MenuItem*); +void func_800A54EC(void); +void func_800A5738(MenuItem*); +void func_800A6034(MenuItem*); +void func_800A6154(MenuItem*); +void func_800A638C(MenuItem*); +void func_800A66A8(MenuItem*, Unk_D_800E70A0*); +void func_800A69C8(MenuItem*); +void func_800A6BEC(MenuItem*); +void func_800A6CC0(MenuItem*); +void func_800A6D94(s32, s32, u8*); +void func_800A6E94(s32, s32, u8*); +void func_800A70E8(MenuItem*); +void func_800A7258(MenuItem*); +void func_800A72FC(MenuItem*); +void func_800A7448(MenuItem*); +void func_800A75A0(MenuItem*); +void func_800A761C(MenuItem*); +void func_800A7790(MenuItem*); +void convert_number_to_ascii(s32, char*); +void write_dashes(char*); +void get_time_record_minutes(s32, char*); +void get_time_record_seconds(s32, char*); +void get_time_record_centiseconds(s32, char*); +void func_800A79F4(s32, char*); +void func_800A7A4C(s32); +void handle_menus_default(void); +void handle_menus_special(void); +void func_800A8270(s32, MenuItem*); +void func_800A8564(MenuItem*); +void func_800A86E8(MenuItem*); +void func_800A874C(MenuItem*); +void func_800A890C(s32, MenuItem*); +void func_800A8A98(MenuItem*); +void func_800A8CA4(MenuItem*); +void func_800A8E14(MenuItem*); +void func_800A8EC0(MenuItem*); +void func_800A8F48(MenuItem*); +void func_800A90D4(s32, MenuItem*); +void func_800A91D8(MenuItem*, s32, s32); +void func_800A9208(MenuItem*, s32); +void func_800A9278(MenuItem*, s32); +void func_800A92E8(MenuItem*, s32); +void func_800A939C(MenuItem*, s32); +void func_800A940C(MenuItem*, s32); +void func_800A94C8(MenuItem*, s32, s32); +void func_800A954C(MenuItem*); +void func_800A9710(MenuItem*); +void func_800A97BC(MenuItem*); +void func_800A9A98(MenuItem*); +void func_800A9B9C(MenuItem*); +void func_800A9C40(MenuItem*); +void func_800A9D5C(MenuItem*); +void func_800A9E58(MenuItem*); +void func_800AA280(MenuItem*); +void func_800AA2EC(MenuItem*); +void func_800AA5C8(MenuItem*, s8); +void func_800AA69C(MenuItem*); +void func_800AAA9C(MenuItem*); +void func_800AAB90(MenuItem*); +void func_800AAC18(MenuItem*); +void func_800AADD4(MenuItem*); +void func_800AAE18(MenuItem*); +MenuItem* func_800AAE68(void); +MenuItem* func_800AAEB4(s32); +MenuItem* find_menu_items_dupe(s32); +MenuItem* find_menu_items(s32); +s32 func_800AAF70(s32); +void func_800AAF94(MenuItem*, s32); +s32 func_800AAFCC(s32); +void func_800AB020(MenuItem*); +void func_800AB098(MenuItem*); +void func_800AB164(MenuItem*); +void func_800AB260(MenuItem*); +void func_800AB290(MenuItem*); +void func_800AB314(MenuItem*); +void func_800AB904(MenuItem*); +void func_800AB9B0(MenuItem*); +void func_800ABAE8(MenuItem*); +void func_800ABB24(MenuItem*); +void func_800ABBCC(MenuItem*); +void func_800ABC38(MenuItem*); +void func_800ABCF4(MenuItem*); +void func_800ABEAC(MenuItem*); +void func_800ABF68(MenuItem*); +void func_800AC128(MenuItem*); +void func_800AC300(MenuItem*); +void func_800AC324(MenuItem*); +void func_800AC458(MenuItem*); +void func_800AC978(MenuItem*); +void func_800ACA14(MenuItem*); +void func_800ACC50(MenuItem*); +void func_800ACF40(MenuItem*); +void func_800AD1A4(MenuItem*); +void func_800AD2E8(MenuItem*); +void func_800ADF48(MenuItem*); +void func_800AE218(MenuItem*); +void func_800AEC54(MenuItem*); +void func_800AEDBC(MenuItem*); +void func_800AEE90(MenuItem*); +void func_800AEEBC(MenuItem*); +void func_800AEEE8(MenuItem*); +void func_800AEF14(MenuItem*); +void func_800AEF74(MenuItem*); +void func_800AF004(MenuItem*); +void func_800AF1AC(MenuItem*); +void func_800AF270(MenuItem*); +void func_800AF480(MenuItem*); +void func_800AF4DC(MenuItem*); +void func_800AF740(MenuItem*); + +// This really, really shouldn't be in this header file, but I don't know where else to put it +void rmonPrintf(const char*, ...); +void tkmk00decode(u8*, u8*, u8*, s32); + +/* File specific defines */ + +#define MENU_ITEMS_MAX 0x20 +#define D_8018DEE0_SIZE 0x10 +#define D_8018E060_SIZE 0x10 +#define D_8018E0E8_SIZE 0x05 +#define TEXTURE_MAP_MAX 0xC8 +#define D_8018E768_SIZE 0x08 +#define D_8018E7E8_SIZE 0x05 +#define D_8018E810_SIZE 0x05 + +/* This is where I'd put my static data, if I had any */ + +extern s32 D_800DDB24; +extern s16 D_80164478[]; + +extern u16* gMenuTextureBuffer; +extern u8* gMenuCompressedBuffer; +extern u8* sTKMK00_LowResBuffer; +extern u8* sGPPointsCopy; +extern void* gSomeDLBuffer; +extern s8 gGPPointsByCharacterId[8]; +extern s8 gCharacterIdByGPOverallRank[]; +extern s8 D_8018D9D8; +extern s8 D_8018D9D9; +extern MenuItem gMenuItems[MENU_ITEMS_MAX]; +extern struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE]; +extern struct_8018E060_entry D_8018E060[]; +extern struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE]; +extern s32 gMenuTextureBufferIndex; +extern struct_8018E118_entry sMenuTextureMap[TEXTURE_MAP_MAX]; +extern s32 sMenuTextureEntries; +extern Gfx* sGfxPtr; +extern s32 gNumD_8018E768Entries; +extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE]; +extern s32 gCycleFlashMenu; +extern s8 D_8018E7AC[]; +extern u32 D_8018E7B8[]; +extern u32 D_8018E7D0[]; +extern struct UnkStruct_8018E7E8 D_8018E7E8[D_8018E7E8_SIZE]; +extern struct UnkStruct_8018E7E8 D_8018E810[D_8018E810_SIZE]; +extern s8 gTextColor; +extern u8 D_8018ED90; +extern u8 D_8018ED91; +extern s8 D_8018E838[]; +extern s32 D_8018E840[]; +extern s32 D_8018E850[]; +extern s32 D_8018E854; +extern s32 D_8018E858[]; +extern s32 D_8018E85C; + +// extern u8 _textures_0aSegmentRomStart[]; +// extern u8 _textures_0bSegmentRomStart[]; + +extern Unk_D_800E70A0 D_800E70A0[]; +extern Unk_D_800E70A0 D_800E70E8[]; +extern Unk_D_800E70A0 D_800E7108[][4]; +extern Unk_D_800E70A0 D_800E7148[]; +extern Unk_D_800E70A0 D_800E7168[]; +extern Unk_D_800E70A0 D_800E7188[]; +extern Unk_D_800E70A0 D_800E7208[][2]; +extern Unk_D_800E70A0 D_800E7248[]; +extern Unk_D_800E70A0 D_800E7258[]; +extern Unk_D_800E70A0 D_800E7268[]; +extern Unk_D_800E70A0 D_800E7278[]; +extern Unk_D_800E70A0 D_800E72F8; +extern Unk_D_800E70A0 D_800E7300[]; +extern Unk_D_800E70A0 D_800E7360[]; +extern Unk_D_800E70A0 D_800E7380[]; +extern Unk_D_800E70A0 D_800E7390[]; +extern Unk_D_800E70A0 D_800E73C0[]; +extern Unk_D_800E70A0 D_800E73D0[]; +extern Unk_D_800E70A0 D_800E73E0[]; +extern Unk_D_800E70A0 D_800E7410[]; +extern Unk_D_800E70A0 D_800E7420[]; +extern Unk_D_800E70A0 D_800E7430[]; +extern Unk_D_800E70A0 D_800E7458[]; +extern Unk_D_800E70A0 D_800E7480[]; +extern RGBA16 D_800E74A8[]; +extern RGBA16 D_800E74D0[]; +extern RGBA16 D_800E74E8[]; +extern const s16 gGlyphDisplayWidth[]; +extern char* gCupNames[]; +extern const s8 D_800EFD64[]; +extern char* gCupText[]; +extern char* gDebugCharacterNames[]; +extern char* D_800E76A8[]; +extern char* D_800E76CC[]; +extern char* D_800E76DC[]; +extern char* gDebugScreenModeNames[]; +extern char* gDebugSoundModeNames[]; +extern char* gSoundModeNames[]; // D_800E7710 +extern char* gWinLoseText[]; +extern char* gBestTimeText[]; +extern char* gLapTimeText; +extern char* gPrefixTimeText[]; +extern char* D_800E7744[]; +extern char* gTextPauseButton[]; +extern char* D_800E7778[]; +extern char gTextMenuAnnounceGhost[]; +extern char* gTextNoController[]; +extern char* gTextBattleIntroduction[]; +extern char gTextMenuData[]; +extern char gTextDistance[]; +extern char* gTextMenuOption[]; +extern char* D_800E7840[]; +extern char* gEraseBestGhostText[]; +extern char* D_800E7860[]; +extern char* gTextOptionMenu[]; +extern char* D_800E7878[]; +extern char* D_800E7884[]; +extern char* D_800E7890[]; +extern char* D_800E78D0[]; +extern char* D_800E7900[]; +extern char* D_800E7918[]; +extern char* D_800E7920[]; +extern char* D_800E7928[]; +extern char* D_800E7930[]; +extern char* D_800E7938[]; +extern char* D_800E7940[]; +extern char* D_800E7980[]; +extern char* D_800E798C[]; +extern char* D_800E7A34[]; +extern char* D_800E7A3C[]; +extern char* D_800E7A44; +extern char* D_800E7A48[]; +extern char* D_800E7A54[]; +extern char* D_800E7A60[]; +extern char* D_800E7A6C[]; +extern char* D_800E7A74[]; +extern char* D_800E7A80[]; +extern char* D_800E7A88[]; +extern char* D_800E7A98; +extern char* D_800E7A9C[]; +extern char* gPlaceText[]; +extern const s8 gGPPointRewards[]; +extern const s8 D_800F0B1C[]; +extern const s8 D_800F0B28[]; +extern const s8 D_800F0B50[]; +extern const s8 D_800F0B54[]; +extern RGBA16 D_800E7AC8[]; +extern RGBA16 D_800E7AE8[]; +extern MenuTexture* D_800E7AF8[]; +extern MenuTexture* D_800E7D0C[]; +extern MkAnimation* D_800E7D34[]; +extern MenuTexture* gMenuTexturesBackground[]; +extern MenuTexture* D_800E7D54[]; +extern MenuTexture* D_800E7D74[]; +extern MenuTexture* D_800E7DC4[]; +extern MkAnimation* D_800E7E14[]; +extern MkAnimation* D_800E7E20[]; +extern MkAnimation* D_800E7E34[]; +extern MenuTexture* gGlyphTextureLUT[]; +extern MenuTexture* D_800E7FF0[]; +extern MenuTexture* D_800E80A0[]; +extern MenuTexture* D_800E8114[]; +extern MenuTexture* D_800E8174[]; +extern MenuTexture* D_800E817C[]; +extern MenuTexture* D_800E81E4[]; +extern MenuTexture* D_800E822C[]; +extern MenuTexture* D_800E8234[]; +extern MenuTexture* D_800E8254[]; +extern MenuTexture* D_800E8274[]; +extern MenuTexture* D_800E8294[]; +extern MenuTexture* gMenuTexturesBorderPlayer[]; +extern MenuTexture* gMenuTexturesTrackSelection[]; +extern MenuTexture* D_800E82F4[]; +extern MkAnimation* D_800E8320[]; +extern MkAnimation* D_800E8340[]; +extern MkAnimation* D_800E8360[]; +extern MkAnimation* gCharacterCelebrateAnimation[]; +extern MkAnimation* D_800E83A0[]; +extern MkAnimation* gCharacterDeselectAnimation[]; +extern MkAnimation* gCharacterSingleBlinkAnimation[]; +extern MkAnimation* gCharacterDoubleBlinkAnimation[]; +extern MkAnimation* gCharacterDefeatAnimation[]; +extern s32 D_800E8440[]; +extern s32 D_800E8460[]; +extern s32 D_800E8480[]; +extern s32 D_800E84A0[]; +extern Vtx* D_800E84C0[]; +extern Gfx* D_800E84CC[]; +extern Gfx* D_800E84EC[]; +extern Gfx* D_800E850C[]; +extern s8 D_800E852C; +extern f32 sIntroModelMotionSpeed; +extern f32 sIntroModelSpeed; +extern Unk_D_800E70A0 D_800E8538[]; +extern Unk_D_800E70A0 D_800E8540[]; +extern Unk_D_800E70A0 D_800E85C0[]; +extern Unk_D_800E70A0 D_800E8600[]; + +extern s32 gControllerPak1NumPagesFree; +extern s32 gControllerPak1FileNote; +extern s32 gControllerPak2FileNote; + +extern f32 D_8018ED98; +extern f32 D_8018ED9C; +extern f32 D_8018EDA0; + +extern f32 D_8018EDA4; +extern f32 D_8018EDA8; +extern f32 D_8018EDAC; + +#ifdef __cplusplus +} +#endif + +#endif |
