summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2025-01-04 14:47:22 -0700
committerGitHub <noreply@github.com>2025-01-04 14:47:22 -0700
commit4dfc8a9fef29af9319d7c145ba7190540ccd9d02 (patch)
tree81cfb2e009ca3e66db1bb40f14887b014e4786ab /src
parent1101dcafb08a1f17b06306ff44a9d869ffeb7862 (diff)
parenteb8e6abc20117228246653bf5f950caada20537d (diff)
Merge pull request #134 from MegaMech/91750
The Big code_80091750.c PR
Diffstat (limited to 'src')
-rw-r--r--src/audio/external.c2
-rw-r--r--src/buffers.h2
-rw-r--r--src/code_800029B0.c2
-rw-r--r--src/code_80005FD0.c8
-rw-r--r--src/code_80057C60.h1
-rw-r--r--src/code_80057C60_var.c1
-rw-r--r--src/code_8006E9C0.c16
-rw-r--r--src/code_8006E9C0.h2
-rw-r--r--src/code_80091750.h619
-rw-r--r--src/code_800AF9B0.c2
-rw-r--r--src/data/textures.c5094
-rw-r--r--src/debug/all_variables.h2
-rw-r--r--src/effects.c2
-rw-r--r--src/ending/ceremony_and_credits.c2
-rw-r--r--src/ending/code_80280000.c2
-rw-r--r--src/ending/code_80281780.c2
-rw-r--r--src/ending/code_80281C40.c2
-rw-r--r--src/ending/credits.c2
-rw-r--r--src/ending/credits.h4
-rw-r--r--src/engine/World.cpp4
-rw-r--r--src/engine/objects/Trophy.cpp2
-rw-r--r--src/engine/wasm.cpp2
-rw-r--r--src/main.c2
-rw-r--r--src/menu_items.c (renamed from src/code_80091750.c)6599
-rw-r--r--src/menu_items.h863
-rw-r--r--src/menus.c1248
-rw-r--r--src/menus.h262
-rw-r--r--src/networking/start_game.c4
-rw-r--r--src/racing/actors_extended.c2
-rw-r--r--src/racing/race_logic.c4
-rw-r--r--src/racing/skybox_and_splitscreen.c4
-rw-r--r--src/render_objects.c105
-rw-r--r--src/render_objects.h6
-rw-r--r--src/save.c27
-rw-r--r--src/save.h4
-rw-r--r--src/spawn_players.c8
-rw-r--r--src/staff_ghosts.c2
-rw-r--r--src/textures.h1262
-rw-r--r--src/update_objects.c2
39 files changed, 8309 insertions, 7870 deletions
diff --git a/src/audio/external.c b/src/audio/external.c
index 3b12d26b1..97a2ce7f3 100644
--- a/src/audio/external.c
+++ b/src/audio/external.c
@@ -12,7 +12,7 @@
#include "audio/port_eu.h"
#include "code_800029B0.h"
#include "code_80005FD0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include <stdbool.h>
#include "port/Game.h"
diff --git a/src/buffers.h b/src/buffers.h
index 97470b25c..d8fb4f9ce 100644
--- a/src/buffers.h
+++ b/src/buffers.h
@@ -23,7 +23,7 @@ typedef struct {
/*
* In render_player, spawn_players, and staff_ghosts D_802BFB80 is the arraySize8 entry
- * But in code_80091750 its the arraySize4 entry
+ * But in menu_items its the arraySize4 entry
* The only way to unify those 2 things is to use a union
*/
typedef union {
diff --git a/src/code_800029B0.c b/src/code_800029B0.c
index 14f82137b..c1c784d51 100644
--- a/src/code_800029B0.c
+++ b/src/code_800029B0.c
@@ -13,7 +13,7 @@
#include <defines.h>
#include "collision.h"
#include "memory.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "skybox_and_splitscreen.h"
#include "code_8006E9C0.h"
#include "spawn_players.h"
diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c
index 735887971..cb4157b63 100644
--- a/src/code_80005FD0.c
+++ b/src/code_80005FD0.c
@@ -27,7 +27,7 @@
#include <common_structs.h>
#include "main.h"
#include "menus.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "audio/external.h"
#include "ending/podium_ceremony_actors.h"
#include "spawn_players.h"
@@ -3553,7 +3553,7 @@ void func_8000F628(void) {
}
}
}
- if ((D_8018EE08 == 1) && (GetCourse() != GetPodiumCeremony())) {
+ if ((gDemoUseController == 1) && (GetCourse() != GetPodiumCeremony())) {
for (i = 0; i < NUM_PLAYERS; i++) {
D_80163330[i] = 0;
}
@@ -3605,7 +3605,7 @@ void func_8000F628(void) {
D_8016348C = 0;
D_801634EC = 0;
func_8001AB00();
- if (D_8018EE08 == 1) {
+ if (gDemoUseController == 1) {
if (gDemoMode == 1) {
for (i = 0; i < NUM_PLAYERS; i++) {
@@ -5339,7 +5339,7 @@ void func_80014DE4(s32 cameraIndex) {
D_801646D0[cameraIndex].unk0 = 0;
D_801646D0[cameraIndex].unk2 = 0;
D_801646D0[cameraIndex].unk4 = 0;
- if ((gModeSelection == 1) && (D_8018EDFC == 0)) {
+ if ((gModeSelection == 1) && (gCourseMapInit == 0)) {
D_80164678[cameraIndex] = 0;
}
diff --git a/src/code_80057C60.h b/src/code_80057C60.h
index ec0bc4696..4b6ed7613 100644
--- a/src/code_80057C60.h
+++ b/src/code_80057C60.h
@@ -521,7 +521,6 @@ extern s32 D_8018D1D4;
// extern s32 D_8018D1D8; -> objects.h
extern s32 D_8018D1DC;
-extern u8* D_8018D1E0;
extern f32 D_8018D1E8;
extern s32 D_8018D1EC;
// extern s32 D_8018D1F0; -> objects.h
diff --git a/src/code_80057C60_var.c b/src/code_80057C60_var.c
index fda4d187c..d0e929ee6 100644
--- a/src/code_80057C60_var.c
+++ b/src/code_80057C60_var.c
@@ -77,7 +77,6 @@ s32 D_8018D1D0;
s32 D_8018D1D4;
s32 D_8018D1D8;
s32 D_8018D1DC;
-u8* D_8018D1E0;
UNUSED s32 D_8018D1E4;
f32 D_8018D1E8;
s32 D_8018D1EC;
diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c
index 91fe49ee4..797b6085a 100644
--- a/src/code_8006E9C0.c
+++ b/src/code_8006E9C0.c
@@ -23,7 +23,7 @@
#include "menus.h"
#include <assets/other_textures.h>
#include "render_objects.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "src/data/some_data.h"
#include "effects.h"
#include <assets/boo_frames.h>
@@ -117,7 +117,10 @@ void clear_object_list() {
objectListSize = -1;
}
-u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) {
+/**
+ * Dma's mario kart 64 logo and course outline textures.
+ */
+u8* dma_misc_textures(u8* devAddr, u8* baseAddress, u32 size, u32 offset) {
#ifdef TARGET_N64
u8** tempAddress;
u8* address;
@@ -139,9 +142,8 @@ u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) {
return baseAddress;
}
+// Stubbed because load texture directly.
void load_mario_kart_64_logo(void) {
- u8* d_gTextureLogoMarioKart64 = LOAD_ASSET(gTextureLogoMarioKart64);
- D_8018D1E0 = func_8006ED94((u8*) d_gTextureLogoMarioKart64, (u8*) D_8018D9B0, 0x79E1, 0x20000);
}
// Some kind of initalization for the Item Window part of the HUD
@@ -175,7 +177,7 @@ void func_8006EF60(void) {
s16 huh;
u8* wut;
- wut = D_8018D9B4 + 0xFFFF0000;
+ wut = gMenuCompressedBuffer + 0xFFFF0000;
// clang-format off
// God forgive me for my sins...
huh = 0x14; if (0) {} for (i = 0; i < huh; i++) { D_8018D248[i] = CourseManager_GetProps()->MinimapTexture; wut += ResourceGetTexSizeByName(CourseManager_GetProps()->MinimapTexture); }
@@ -382,8 +384,8 @@ void func_8006F824(s32 arg0) {
}
void func_8006F8CC(void) {
- if (D_8018EDFC == 0) {
- D_8018EDFC = 1;
+ if (gCourseMapInit == 0) {
+ gCourseMapInit = 1;
gHUDModes = 0;
D_801657E6 = 0;
D_801657F0 = 0;
diff --git a/src/code_8006E9C0.h b/src/code_8006E9C0.h
index b26dab556..ad8c2f977 100644
--- a/src/code_8006E9C0.h
+++ b/src/code_8006E9C0.h
@@ -8,7 +8,7 @@ void init_hud(void);
void reset_object_variable(void);
void func_8006EB10(void);
void clear_object_list(void);
-u8* func_8006ED94(u8*, u8*, u32, u32);
+u8* dma_misc_textures(u8*, u8*, u32, u32);
void load_mario_kart_64_logo(void);
void init_item_window(s32);
void func_8006EEE8(s32);
diff --git a/src/code_80091750.h b/src/code_80091750.h
deleted file mode 100644
index 8e482c464..000000000
--- a/src/code_80091750.h
+++ /dev/null
@@ -1,619 +0,0 @@
-#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 `struct_8018D9E0_entry`
-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 cursor; // sound mode, maybe some other stuff
- /* 0x08 */ s32 unk8; // 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 D_8018D9E0 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 unk1C; // Multi use. Sometimes cup selection, sometimes course index.
- /* 0x20 */ s32 unk20; // Multi use, hard to tell what for though. Sometimes a random number, sometimes GP points
- /* 0x24 */ f32 unk24; // Multi use, x scaling for some things, rotation multiplier for the question box in some
- // menus, probably some other things
-} struct_8018D9E0_entry; // 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 D_8018E118_index; // Don't know what D_8018E118 tracks
- /* 0x14 */ s32 unk14; // Flip flops between 0 and 1, use unknown
-} struct_8018DEE0_entry; // size = 0x18
-
-typedef struct {
- /* 0x0 */ MkTexture* texture;
- /* 0x4 */ s32 unk_4;
-} struct_8018E060_entry; // size = 0x8
-
-typedef struct {
- /* 0x0 */ MkTexture* 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 D_8018D9B0.
- * This value is (roughly) the sum of (width * height) of the
- * textures in all the previous entries in D_8018E118
- */
- /* 0x04 */ s32 offset;
-} struct_8018E118_entry; // size = 0x08
-
-typedef struct {
- /* 0x00 */ MkTexture* 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 func_80093324(s32, s32, char*, s32, f32, f32);
-void func_80093358(s32, s32, char*, s32, f32, f32);
-void print_text1(s32, s32, char*, s32, f32, f32, s32);
-void func_800936B8(s32, s32, char*, s32, f32, f32);
-void draw_text(s32, s32, char*, s32, f32, f32);
-void func_80093720(s32, s32, char*, s32, f32, f32);
-void func_80093754(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 render_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_copy_base_729a30(u64*, size_t, void*);
-void dma_copy_base_7fa3c0(u64*, size_t, void*);
-void func_80099110(void);
-void load_menu_img(MkTexture*);
-void* segmented_to_virtual_dupe(const void*);
-void* segmented_to_virtual_dupe_2(const void*);
-void load_img_wrap(MkTexture*);
-void load_menu_img2(MkTexture*, s32);
-void func_80099958(MkTexture*, s32, s32);
-void func_80099E54(void);
-void func_80099E60(MkTexture*, s32, s32);
-void func_80099EC4(void);
-void func_80099A70(void);
-void func_80099A94(MkTexture*, s32);
-void func_80099AEC(void);
-void func_8009A238(MkTexture*, 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);
-MkTexture* func_8009A878(struct_8018DEE0_entry*);
-MkTexture* 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(MkTexture*);
-void func_8009B998(void);
-Gfx* func_8009B9D0(Gfx*, MkTexture*);
-Gfx* func_8009BA74(Gfx*, MkTexture*, s32, s32);
-Gfx* func_8009BC9C(Gfx*, MkTexture*, s32, s32, s32, s32);
-Gfx* print_letter(Gfx*, MkTexture*, f32, f32, s32, f32, f32);
-Gfx* func_8009C204(Gfx*, MkTexture*, 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 func_8009E620(void);
-void add_ui_element(s32, s32, s32, s8);
-void func_8009F5E0(struct_8018D9E0_entry*);
-void func_800A08D8(u8, s32, s32);
-s32 func_800A095C(char*, s32, s32, s32);
-void func_800A09E0(struct_8018D9E0_entry*);
-void func_800A0AD0(struct_8018D9E0_entry*);
-void func_800A0B80(struct_8018D9E0_entry*);
-void func_800A0DFC(void);
-void func_800A0EB8(struct_8018D9E0_entry*, s32);
-void func_800A0FA4(struct_8018D9E0_entry*, s32);
-void func_800A10CC(struct_8018D9E0_entry*);
-void func_800A11D0(struct_8018D9E0_entry*, s32, s32);
-void func_800A12BC(struct_8018D9E0_entry*, MkTexture*);
-void func_800A1350(struct_8018D9E0_entry*);
-void func_800A143C(struct_8018D9E0_entry*, s32);
-void func_800A1500(struct_8018D9E0_entry*);
-void func_800A15EC(struct_8018D9E0_entry*);
-void func_800A1780(struct_8018D9E0_entry*);
-void func_800A1924(struct_8018D9E0_entry*);
-void func_800A1A20(struct_8018D9E0_entry*);
-void func_800A1BE0(struct_8018D9E0_entry*);
-void func_800A1DE0(struct_8018D9E0_entry*);
-void func_800A1F30(struct_8018D9E0_entry*);
-void func_800A1FB0(struct_8018D9E0_entry*);
-void func_800A2D1C(struct_8018D9E0_entry*);
-void func_800A2EB8(struct_8018D9E0_entry*);
-void func_800A32B4(s32, s32, s32, s32);
-void func_800A34A8(struct_8018D9E0_entry*);
-void func_800A3A10(s8*);
-void func_800A3ADC(struct_8018D9E0_entry*, s32, s32, s32, s32, s8*);
-void func_800A3C84(struct_8018D9E0_entry*);
-void func_800A3E60(struct_8018D9E0_entry*);
-void func_800A4550(s32, s32, s32);
-void func_800A474C(s32, s32, s32);
-void func_800A4A24(struct_8018D9E0_entry*);
-void render_pause_menu(struct_8018D9E0_entry*);
-void render_pause_menu_time_trials(struct_8018D9E0_entry*);
-void render_pause_menu_versus(struct_8018D9E0_entry*);
-void render_pause_grand_prix(struct_8018D9E0_entry*);
-void render_pause_battle(struct_8018D9E0_entry*);
-void func_800A54EC(void);
-void func_800A5738(struct_8018D9E0_entry*);
-void func_800A6034(struct_8018D9E0_entry*);
-void func_800A6154(struct_8018D9E0_entry*);
-void func_800A638C(struct_8018D9E0_entry*);
-void func_800A66A8(struct_8018D9E0_entry*, Unk_D_800E70A0*);
-void func_800A69C8(struct_8018D9E0_entry*);
-void func_800A6BEC(struct_8018D9E0_entry*);
-void func_800A6CC0(struct_8018D9E0_entry*);
-void func_800A6D94(s32, s32, u8*);
-void func_800A6E94(s32, s32, u8*);
-void func_800A70E8(struct_8018D9E0_entry*);
-void func_800A7258(struct_8018D9E0_entry*);
-void func_800A72FC(struct_8018D9E0_entry*);
-void func_800A7448(struct_8018D9E0_entry*);
-void func_800A75A0(struct_8018D9E0_entry*);
-void func_800A761C(struct_8018D9E0_entry*);
-void func_800A7790(struct_8018D9E0_entry*);
-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 func_800A8230(void);
-void func_800A8250(void);
-void func_800A8270(s32, struct_8018D9E0_entry*);
-void func_800A8564(struct_8018D9E0_entry*);
-void func_800A86E8(struct_8018D9E0_entry*);
-void func_800A874C(struct_8018D9E0_entry*);
-void func_800A890C(s32, struct_8018D9E0_entry*);
-void func_800A8A98(struct_8018D9E0_entry*);
-void func_800A8CA4(struct_8018D9E0_entry*);
-void func_800A8E14(struct_8018D9E0_entry*);
-void func_800A8EC0(struct_8018D9E0_entry*);
-void func_800A8F48(struct_8018D9E0_entry*);
-void func_800A90D4(s32, struct_8018D9E0_entry*);
-void func_800A91D8(struct_8018D9E0_entry*, s32, s32);
-void func_800A9208(struct_8018D9E0_entry*, s32);
-void func_800A9278(struct_8018D9E0_entry*, s32);
-void func_800A92E8(struct_8018D9E0_entry*, s32);
-void func_800A939C(struct_8018D9E0_entry*, s32);
-void func_800A940C(struct_8018D9E0_entry*, s32);
-void func_800A94C8(struct_8018D9E0_entry*, s32, s32);
-void func_800A954C(struct_8018D9E0_entry*);
-void func_800A9710(struct_8018D9E0_entry*);
-void func_800A97BC(struct_8018D9E0_entry*);
-void func_800A9A98(struct_8018D9E0_entry*);
-void func_800A9B9C(struct_8018D9E0_entry*);
-void func_800A9C40(struct_8018D9E0_entry*);
-void func_800A9D5C(struct_8018D9E0_entry*);
-void func_800A9E58(struct_8018D9E0_entry*);
-void func_800AA280(struct_8018D9E0_entry*);
-void func_800AA2EC(struct_8018D9E0_entry*);
-void func_800AA5C8(struct_8018D9E0_entry*, s8);
-void func_800AA69C(struct_8018D9E0_entry*);
-void func_800AAA9C(struct_8018D9E0_entry*);
-void func_800AAB90(struct_8018D9E0_entry*);
-void func_800AAC18(struct_8018D9E0_entry*);
-void func_800AADD4(struct_8018D9E0_entry*);
-void func_800AAE18(struct_8018D9E0_entry*);
-struct_8018D9E0_entry* func_800AAE68(void);
-struct_8018D9E0_entry* func_800AAEB4(s32);
-struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32);
-struct_8018D9E0_entry* find_8018D9E0_entry(s32);
-s32 func_800AAF70(s32);
-void func_800AAF94(struct_8018D9E0_entry*, s32);
-s32 func_800AAFCC(s32);
-void func_800AB020(struct_8018D9E0_entry*);
-void func_800AB098(struct_8018D9E0_entry*);
-void func_800AB164(struct_8018D9E0_entry*);
-void func_800AB260(struct_8018D9E0_entry*);
-void func_800AB290(struct_8018D9E0_entry*);
-void func_800AB314(struct_8018D9E0_entry*);
-void func_800AB904(struct_8018D9E0_entry*);
-void func_800AB9B0(struct_8018D9E0_entry*);
-void func_800ABAE8(struct_8018D9E0_entry*);
-void func_800ABB24(struct_8018D9E0_entry*);
-void func_800ABBCC(struct_8018D9E0_entry*);
-void func_800ABC38(struct_8018D9E0_entry*);
-void func_800ABCF4(struct_8018D9E0_entry*);
-void func_800ABEAC(struct_8018D9E0_entry*);
-void func_800ABF68(struct_8018D9E0_entry*);
-void func_800AC128(struct_8018D9E0_entry*);
-void func_800AC300(struct_8018D9E0_entry*);
-void func_800AC324(struct_8018D9E0_entry*);
-void func_800AC458(struct_8018D9E0_entry*);
-void func_800AC978(struct_8018D9E0_entry*);
-void func_800ACA14(struct_8018D9E0_entry*);
-void func_800ACC50(struct_8018D9E0_entry*);
-void func_800ACF40(struct_8018D9E0_entry*);
-void func_800AD1A4(struct_8018D9E0_entry*);
-void func_800AD2E8(struct_8018D9E0_entry*);
-void func_800ADF48(struct_8018D9E0_entry*);
-void func_800AE218(struct_8018D9E0_entry*);
-void func_800AEC54(struct_8018D9E0_entry*);
-void func_800AEDBC(struct_8018D9E0_entry*);
-void func_800AEE90(struct_8018D9E0_entry*);
-void func_800AEEBC(struct_8018D9E0_entry*);
-void func_800AEEE8(struct_8018D9E0_entry*);
-void func_800AEF14(struct_8018D9E0_entry*);
-void func_800AEF74(struct_8018D9E0_entry*);
-void func_800AF004(struct_8018D9E0_entry*);
-void func_800AF1AC(struct_8018D9E0_entry*);
-void func_800AF270(struct_8018D9E0_entry*);
-void func_800AF480(struct_8018D9E0_entry*);
-void func_800AF4DC(struct_8018D9E0_entry*);
-void func_800AF740(struct_8018D9E0_entry*);
-
-// 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 D_8018D9E0_SIZE 0x20
-#define D_8018DEE0_SIZE 0x10
-#define D_8018E060_SIZE 0x10
-#define D_8018E0E8_SIZE 0x05
-#define D_8018E118_SIZE 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* D_8018D9B0;
-extern u8* D_8018D9B4;
-extern u8* D_8018D9B8;
-extern u8* D_8018D9BC;
-extern void* D_8018D9C0;
-extern s8 gGPPointsByCharacterId[8];
-extern s8 gCharacterIdByGPOverallRank[];
-extern s8 D_8018D9D8;
-extern s8 D_8018D9D9;
-extern struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE];
-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 D_8018E118[D_8018E118_SIZE];
-extern s32 gNumD_8018E118Entries;
-extern Gfx* D_8018E75C;
-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* D_800E7678[];
-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* D_800E7720[];
-extern char* D_800E7728[];
-extern char* D_800E7730;
-extern char* D_800E7734[];
-extern char* D_800E7744[];
-extern char* gTextPauseButton[];
-extern char* D_800E7778[];
-extern char D_800E7780[];
-extern char* D_800E77A0[];
-extern char* D_800E77A8[];
-extern char D_800E77B4[];
-extern char D_800E77D8[];
-extern char* D_800E7834[];
-extern char* D_800E7840[];
-extern char* D_800E7848[];
-extern char* D_800E7860[];
-extern char* D_800E7868[];
-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* D_800E7AA4[];
-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 MkTexture* D_800E7AF8[];
-extern MkTexture* D_800E7D0C[];
-extern MkAnimation* D_800E7D34[];
-extern MkTexture* D_800E7D4C[];
-extern MkTexture* D_800E7D54[];
-extern MkTexture* D_800E7D74[];
-extern MkTexture* D_800E7DC4[];
-extern MkAnimation* D_800E7E14[];
-extern MkAnimation* D_800E7E20[];
-extern MkAnimation* D_800E7E34[];
-extern MkTexture* gGlyphTextureLUT[];
-extern MkTexture* D_800E7FF0[];
-extern MkTexture* D_800E80A0[];
-extern MkTexture* D_800E8114[];
-extern MkTexture* D_800E8174[];
-extern MkTexture* D_800E817C[];
-extern MkTexture* D_800E81E4[];
-extern MkTexture* D_800E822C[];
-extern MkTexture* D_800E8234[];
-extern MkTexture* D_800E824C[];
-extern MkTexture* D_800E8254[];
-extern MkTexture* D_800E8274[];
-extern MkTexture* D_800E8294[];
-extern MkTexture* D_800E82B4[];
-extern MkTexture* D_800E82C4[];
-extern MkTexture* 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 D_800E8530;
-extern f32 D_800E8534;
-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
diff --git a/src/code_800AF9B0.c b/src/code_800AF9B0.c
index fdc1c32d2..732a6e8e9 100644
--- a/src/code_800AF9B0.c
+++ b/src/code_800AF9B0.c
@@ -4,7 +4,7 @@
#include "code_800AF9B0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "memory.h"
#include "main.h"
#include "math_util.h"
diff --git a/src/data/textures.c b/src/data/textures.c
index 55fb1d6a8..ba62a4ed4 100644
--- a/src/data/textures.c
+++ b/src/data/textures.c
@@ -2,7 +2,7 @@
* @file textures.c
* @brief Texture data.
* start in ram 0x801978D0
- * look like link to code_80091750
+ * look like link to menu_items
*/
#include <assets/texture_tkmk00.h>
#include <assets/texture_data_2.h>
@@ -10,1429 +10,1429 @@
#include "textures.h"
/**
- * @brief MkTexture of a tiny font texture of number 0
+ * @brief MenuTexture of a tiny font texture of number 0
*
- */
-MkTexture D_02000000[2] = {
- { 3, 0, gTextureTinyFont0, 8, 8, 0, 0, 0x75, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+ */
+MenuTexture D_02000000[2] = {
+ { 3, gTextureTinyFont0, 8, 8, 0, 0, 0x75},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 1
+ * @brief MenuTexture of a tiny font texture of number 1
*
*/
-MkTexture D_02000028[2] = {
- { 3, 0, gTextureTinyFont1, 8, 8, 0, 0, 0x49, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000028[2] = {
+ { 3, gTextureTinyFont1, 8, 8, 0, 0, 0x49},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 2
+ * @brief MenuTexture of a tiny font texture of number 2
*
*/
-MkTexture D_02000050[2] = {
- { 3, 0, gTextureTinyFont2, 8, 8, 0, 0, 0x73, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000050[2] = {
+ { 3, gTextureTinyFont2, 8, 8, 0, 0, 0x73},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 3
+ * @brief MenuTexture of a tiny font texture of number 3
*
*/
-MkTexture D_02000078[2] = {
- { 3, 0, gTextureTinyFont3, 8, 8, 0, 0, 0x70, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000078[2] = {
+ { 3, gTextureTinyFont3, 8, 8, 0, 0, 0x70},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 4
+ * @brief MenuTexture of a tiny font texture of number 4
*
*/
-MkTexture D_020000A0[2] = {
- { 3, 0, gTextureTinyFont4, 8, 8, 0, 0, 0x5a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020000A0[2] = {
+ { 3, gTextureTinyFont4, 8, 8, 0, 0, 0x5a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 5
+ * @brief MenuTexture of a tiny font texture of number 5
*
*/
-MkTexture D_020000C8[2] = {
- { 3, 0, gTextureTinyFont5, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020000C8[2] = {
+ { 3, gTextureTinyFont5, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 6
+ * @brief MenuTexture of a tiny font texture of number 6
*
*/
-MkTexture D_020000F0[2] = {
- { 3, 0, gTextureTinyFont6, 8, 8, 0, 0, 0x74, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020000F0[2] = {
+ { 3, gTextureTinyFont6, 8, 8, 0, 0, 0x74},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 7
+ * @brief MenuTexture of a tiny font texture of number 7
*
*/
-MkTexture D_02000118[2] = {
- { 3, 0, gTextureTinyFont7, 8, 8, 0, 0, 0x5e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000118[2] = {
+ { 3, gTextureTinyFont7, 8, 8, 0, 0, 0x5e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 8
+ * @brief MenuTexture of a tiny font texture of number 8
*
*/
-MkTexture D_02000140[2] = {
- { 3, 0, gTextureTinyFont8, 8, 8, 0, 0, 0x77, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000140[2] = {
+ { 3, gTextureTinyFont8, 8, 8, 0, 0, 0x77},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of number 9
+ * @brief MenuTexture of a tiny font texture of number 9
*
*/
-MkTexture D_02000168[2] = {
- { 3, 0, gTextureTinyFont9, 8, 8, 0, 0, 0x74, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000168[2] = {
+ { 3, gTextureTinyFont9, 8, 8, 0, 0, 0x74},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter A
+ * @brief MenuTexture of a tiny font texture of letter A
*
*/
-MkTexture D_02000190[2] = {
- { 3, 0, gTextureTinyFontA, 8, 8, 0, 0, 0x6b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000190[2] = {
+ { 3, gTextureTinyFontA, 8, 8, 0, 0, 0x6b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter B
+ * @brief MenuTexture of a tiny font texture of letter B
*
*/
-MkTexture D_020001B8[2] = {
- { 3, 0, gTextureTinyFontB, 8, 8, 0, 0, 0x7d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020001B8[2] = {
+ { 3, gTextureTinyFontB, 8, 8, 0, 0, 0x7d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter C
+ * @brief MenuTexture of a tiny font texture of letter C
*
*/
-MkTexture D_020001E0[2] = {
- { 3, 0, gTextureTinyFontC, 8, 8, 0, 0, 0x75, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020001E0[2] = {
+ { 3, gTextureTinyFontC, 8, 8, 0, 0, 0x75},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter D
+ * @brief MenuTexture of a tiny font texture of letter D
*
*/
-MkTexture D_02000208[2] = {
- { 3, 0, gTextureTinyFontD, 8, 8, 0, 0, 0x71, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000208[2] = {
+ { 3, gTextureTinyFontD, 8, 8, 0, 0, 0x71},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter E
+ * @brief MenuTexture of a tiny font texture of letter E
*
*/
-MkTexture D_02000230[2] = {
- { 3, 0, gTextureTinyFontE, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000230[2] = {
+ { 3, gTextureTinyFontE, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter F
+ * @brief MenuTexture of a tiny font texture of letter F
*
*/
-MkTexture D_02000258[2] = {
- { 3, 0, gTextureTinyFontF, 8, 8, 0, 0, 0x63, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000258[2] = {
+ { 3, gTextureTinyFontF, 8, 8, 0, 0, 0x63},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter G
+ * @brief MenuTexture of a tiny font texture of letter G
*
*/
-MkTexture D_02000280[2] = {
- { 3, 0, gTextureTinyFontG, 8, 8, 0, 0, 0x73, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000280[2] = {
+ { 3, gTextureTinyFontG, 8, 8, 0, 0, 0x73},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter H
+ * @brief MenuTexture of a tiny font texture of letter H
*
*/
-MkTexture D_020002A8[2] = {
- { 3, 0, gTextureTinyFontH, 8, 8, 0, 0, 0x78, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020002A8[2] = {
+ { 3, gTextureTinyFontH, 8, 8, 0, 0, 0x78},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter I
+ * @brief MenuTexture of a tiny font texture of letter I
*
*/
-MkTexture D_020002D0[2] = {
- { 3, 0, gTextureTinyFontI, 8, 8, 0, 0, 0x48, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020002D0[2] = {
+ { 3, gTextureTinyFontI, 8, 8, 0, 0, 0x48},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter J
+ * @brief MenuTexture of a tiny font texture of letter J
*
*/
-MkTexture D_020002F8[2] = {
- { 3, 0, gTextureTinyFontJ, 8, 8, 0, 0, 0x52, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020002F8[2] = {
+ { 3, gTextureTinyFontJ, 8, 8, 0, 0, 0x52},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter K
+ * @brief MenuTexture of a tiny font texture of letter K
*
*/
-MkTexture D_02000320[2] = {
- { 3, 0, gTextureTinyFontK, 8, 8, 0, 0, 0x6f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000320[2] = {
+ { 3, gTextureTinyFontK, 8, 8, 0, 0, 0x6f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter L
+ * @brief MenuTexture of a tiny font texture of letter L
*
*/
-MkTexture D_02000348[2] = {
- { 3, 0, gTextureTinyFontL, 8, 8, 0, 0, 0x4b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000348[2] = {
+ { 3, gTextureTinyFontL, 8, 8, 0, 0, 0x4b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter M
+ * @brief MenuTexture of a tiny font texture of letter M
*
*/
-MkTexture D_02000370[2] = {
- { 3, 0, gTextureTinyFontM, 8, 8, 0, 0, 0x7c, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000370[2] = {
+ { 3, gTextureTinyFontM, 8, 8, 0, 0, 0x7c},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter N
+ * @brief MenuTexture of a tiny font texture of letter N
*
*/
-MkTexture D_02000398[2] = {
- { 3, 0, gTextureTinyFontN, 8, 8, 0, 0, 0x7b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000398[2] = {
+ { 3, gTextureTinyFontN, 8, 8, 0, 0, 0x7b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter O
+ * @brief MenuTexture of a tiny font texture of letter O
*
*/
-MkTexture D_020003C0[2] = {
- { 3, 0, gTextureTinyFontO, 8, 8, 0, 0, 0x76, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020003C0[2] = {
+ { 3, gTextureTinyFontO, 8, 8, 0, 0, 0x76},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter P
+ * @brief MenuTexture of a tiny font texture of letter P
*
*/
-MkTexture D_020003E8[2] = {
- { 3, 0, gTextureTinyFontP, 8, 8, 0, 0, 0x6a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020003E8[2] = {
+ { 3, gTextureTinyFontP, 8, 8, 0, 0, 0x6a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter Q
+ * @brief MenuTexture of a tiny font texture of letter Q
*
*/
-MkTexture D_02000410[2] = {
- { 3, 0, gTextureTinyFontQ, 8, 8, 0, 0, 0x77, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000410[2] = {
+ { 3, gTextureTinyFontQ, 8, 8, 0, 0, 0x77},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter R
+ * @brief MenuTexture of a tiny font texture of letter R
*
*/
-MkTexture D_02000438[2] = {
- { 3, 0, gTextureTinyFontR, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000438[2] = {
+ { 3, gTextureTinyFontR, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter S
+ * @brief MenuTexture of a tiny font texture of letter S
*
*/
-MkTexture D_02000460[2] = {
- { 3, 0, gTextureTinyFontS, 8, 8, 0, 0, 0x70, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000460[2] = {
+ { 3, gTextureTinyFontS, 8, 8, 0, 0, 0x70},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter T
+ * @brief MenuTexture of a tiny font texture of letter T
*
*/
-MkTexture D_02000488[2] = {
- { 3, 0, gTextureTinyFontT, 8, 8, 0, 0, 0x54, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000488[2] = {
+ { 3, gTextureTinyFontT, 8, 8, 0, 0, 0x54},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter U
+ * @brief MenuTexture of a tiny font texture of letter U
*
*/
-MkTexture D_020004B0[2] = {
- { 3, 0, gTextureTinyFontU, 8, 8, 0, 0, 0x62, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020004B0[2] = {
+ { 3, gTextureTinyFontU, 8, 8, 0, 0, 0x62},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter V
+ * @brief MenuTexture of a tiny font texture of letter V
*
*/
-MkTexture D_020004D8[2] = {
- { 3, 0, gTextureTinyFontV, 8, 8, 0, 0, 0x5e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020004D8[2] = {
+ { 3, gTextureTinyFontV, 8, 8, 0, 0, 0x5e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter W
+ * @brief MenuTexture of a tiny font texture of letter W
*
*/
-MkTexture D_02000500[2] = {
- { 3, 0, gTextureTinyFontW, 8, 8, 0, 0, 0x7c, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000500[2] = {
+ { 3, gTextureTinyFontW, 8, 8, 0, 0, 0x7c},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter X
+ * @brief MenuTexture of a tiny font texture of letter X
*
*/
-MkTexture D_02000528[2] = {
- { 3, 0, gTextureTinyFontX, 8, 8, 0, 0, 0x6b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000528[2] = {
+ { 3, gTextureTinyFontX, 8, 8, 0, 0, 0x6b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter Y
+ * @brief MenuTexture of a tiny font texture of letter Y
*
*/
-MkTexture D_02000550[2] = {
- { 3, 0, gTextureTinyFontY, 8, 8, 0, 0, 0x51, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000550[2] = {
+ { 3, gTextureTinyFontY, 8, 8, 0, 0, 0x51},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of letter Z
+ * @brief MenuTexture of a tiny font texture of letter Z
*
*/
-MkTexture D_02000578[2] = {
- { 3, 0, gTextureTinyFontZ, 8, 8, 0, 0, 0x68, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000578[2] = {
+ { 3, gTextureTinyFontZ, 8, 8, 0, 0, 0x68},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '!'
+ * @brief MenuTexture of a tiny font texture of '!'
*
*/
-MkTexture D_020005A0[2] = {
- { 3, 0, gTextureTinyFontExclamationMark, 8, 8, 0, 0, 0x46, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020005A0[2] = {
+ { 3, gTextureTinyFontExclamationMark, 8, 8, 0, 0, 0x46},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '"'
+ * @brief MenuTexture of a tiny font texture of '"'
*
*/
-MkTexture D_020005C8[2] = {
- { 3, 0, gTextureTinyFontDoubleQuote, 8, 8, 0, 0, 0x37, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020005C8[2] = {
+ { 3, gTextureTinyFontDoubleQuote, 8, 8, 0, 0, 0x37},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '#'
+ * @brief MenuTexture of a tiny font texture of '#'
*
*/
-MkTexture D_020005F0[2] = {
- { 3, 0, gTextureTinyFontHash, 8, 8, 0, 0, 0x70, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020005F0[2] = {
+ { 3, gTextureTinyFontHash, 8, 8, 0, 0, 0x70},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of "'"
+ * @brief MenuTexture of a tiny font texture of "'"
*
*/
-MkTexture D_02000618[2] = {
- { 3, 0, gTextureTinyFontSingleQuote, 8, 8, 0, 0, 0x2f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000618[2] = {
+ { 3, gTextureTinyFontSingleQuote, 8, 8, 0, 0, 0x2f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '*'
+ * @brief MenuTexture of a tiny font texture of '*'
*
*/
-MkTexture D_02000640[2] = {
- { 3, 0, gTextureTinyFontAsterisk, 8, 8, 0, 0, 0x6a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000640[2] = {
+ { 3, gTextureTinyFontAsterisk, 8, 8, 0, 0, 0x6a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '+'
+ * @brief MenuTexture of a tiny font texture of '+'
*
*/
-MkTexture D_02000668[2] = {
- { 3, 0, gTextureTinyFontPlus, 8, 8, 0, 0, 0x51, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000668[2] = {
+ { 3, gTextureTinyFontPlus, 8, 8, 0, 0, 0x51},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000690[2] = {
- { 3, 0, gTexture7EEB18, 8, 8, 0, 0, 0x30, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000690[2] = {
+ { 3, gTexture7EEB18, 8, 8, 0, 0, 0x30},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '-'
+ * @brief MenuTexture of a tiny font texture of '-'
*
*/
-MkTexture D_020006B8[2] = {
- { 3, 0, gTextureTinyFontMinus, 8, 8, 0, 0, 0x35, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020006B8[2] = {
+ { 3, gTextureTinyFontMinus, 8, 8, 0, 0, 0x35},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of ','
+ * @brief MenuTexture of a tiny font texture of ','
*
*/
-MkTexture D_020006E0[2] = {
- { 3, 0, gTextureTinyFontComma, 8, 8, 0, 0, 0x31, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020006E0[2] = {
+ { 3, gTextureTinyFontComma, 8, 8, 0, 0, 0x31},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '/'
+ * @brief MenuTexture of a tiny font texture of '/'
*
*/
-MkTexture D_02000708[2] = {
- { 3, 0, gTextureTinyFontForwardSlash, 8, 8, 0, 0, 0x4f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000708[2] = {
+ { 3, gTextureTinyFontForwardSlash, 8, 8, 0, 0, 0x4f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of ';'
+ * @brief MenuTexture of a tiny font texture of ';'
*
*/
-MkTexture D_02000730[2] = {
- { 3, 0, gTextureTinyFontColon, 8, 8, 0, 0, 0x38, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000730[2] = {
+ { 3, gTextureTinyFontColon, 8, 8, 0, 0, 0x38},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000758[2] = {
- { 3, 0, gTexture7EEC34, 8, 8, 0, 0, 0x51, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000758[2] = {
+ { 3, gTexture7EEC34, 8, 8, 0, 0, 0x51},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a tiny font texture of '?'
+ * @brief MenuTexture of a tiny font texture of '?'
*
*/
-MkTexture D_02000780[2] = {
- { 3, 0, gTextureTinyFontQuestion, 8, 8, 0, 0, 0x60, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000780[2] = {
+ { 3, gTextureTinyFontQuestion, 8, 8, 0, 0, 0x60},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020007A8[2] = {
- { 3, 0, gTexture7EECE4, 8, 8, 0, 0, 0x8f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020007A8[2] = {
+ { 3, gTexture7EECE4, 8, 8, 0, 0, 0x8f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020007D0[2] = {
- { 3, 0, gTexture7EED74, 8, 8, 0, 0, 0x3d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020007D0[2] = {
+ { 3, gTexture7EED74, 8, 8, 0, 0, 0x3d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020007F8[2] = {
- { 3, 0, gTexture7EEDB0, 8, 8, 0, 0, 0x37, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020007F8[2] = {
+ { 3, gTexture7EEDB0, 8, 8, 0, 0, 0x37},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000820[2] = {
- { 3, 0, gTexture7EEDE8, 8, 8, 0, 0, 0x39, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000820[2] = {
+ { 3, gTexture7EEDE8, 8, 8, 0, 0, 0x39},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000848[2] = {
- { 3, 0, gTexture7EEE20, 8, 8, 0, 0, 0x5b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000848[2] = {
+ { 3, gTexture7EEE20, 8, 8, 0, 0, 0x5b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000870[2] = {
- { 3, 0, gTexture7EEE7C, 8, 8, 0, 0, 0x55, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000870[2] = {
+ { 3, gTexture7EEE7C, 8, 8, 0, 0, 0x55},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000898[2] = {
- { 3, 0, gTexture7EEED0, 8, 8, 0, 0, 0x6a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000898[2] = {
+ { 3, gTexture7EEED0, 8, 8, 0, 0, 0x6a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020008C0[2] = {
- { 3, 0, gTexture7EEF3C, 8, 8, 0, 0, 0x55, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020008C0[2] = {
+ { 3, gTexture7EEF3C, 8, 8, 0, 0, 0x55},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020008E8[2] = {
- { 3, 0, gTexture7EEF90, 8, 8, 0, 0, 0x62, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020008E8[2] = {
+ { 3, gTexture7EEF90, 8, 8, 0, 0, 0x62},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000910[2] = {
- { 3, 0, gTexture7EEFF4, 8, 8, 0, 0, 0x64, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000910[2] = {
+ { 3, gTexture7EEFF4, 8, 8, 0, 0, 0x64},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000938[2] = {
- { 3, 0, gTexture7EF058, 8, 8, 0, 0, 0x5b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000938[2] = {
+ { 3, gTexture7EF058, 8, 8, 0, 0, 0x5b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000960[2] = {
- { 3, 0, gTexture7EF0B4, 8, 8, 0, 0, 0x5d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000960[2] = {
+ { 3, gTexture7EF0B4, 8, 8, 0, 0, 0x5d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000988[2] = {
- { 3, 0, gTexture7EF110, 8, 8, 0, 0, 0x6d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000988[2] = {
+ { 3, gTexture7EF110, 8, 8, 0, 0, 0x6d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020009B0[2] = {
- { 3, 0, gTexture7EF17C, 8, 8, 0, 0, 0x73, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020009B0[2] = {
+ { 3, gTexture7EF17C, 8, 8, 0, 0, 0x73},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020009D8[2] = {
- { 3, 0, gTexture7EF1F0, 8, 8, 0, 0, 0x5e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020009D8[2] = {
+ { 3, gTexture7EF1F0, 8, 8, 0, 0, 0x5e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000A00[2] = {
- { 3, 0, gTexture7EF250, 8, 8, 0, 0, 0x69, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000A00[2] = {
+ { 3, gTexture7EF250, 8, 8, 0, 0, 0x69},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000A28[2] = {
- { 3, 0, gTexture7EF2B8, 8, 8, 0, 0, 0x5b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000A28[2] = {
+ { 3, gTexture7EF2B8, 8, 8, 0, 0, 0x5b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000A50[2] = {
- { 3, 0, gTexture7EF314, 8, 8, 0, 0, 0x73, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000A50[2] = {
+ { 3, gTexture7EF314, 8, 8, 0, 0, 0x73},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000A78[2] = {
- { 3, 0, gTexture7EF388, 8, 8, 0, 0, 0x6f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000A78[2] = {
+ { 3, gTexture7EF388, 8, 8, 0, 0, 0x6f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000AA0[2] = {
- { 3, 0, gTexture7EF3F8, 8, 8, 0, 0, 0x79, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000AA0[2] = {
+ { 3, gTexture7EF3F8, 8, 8, 0, 0, 0x79},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000AC8[2] = {
- { 3, 0, gTexture7EF470, 8, 8, 0, 0, 0x74, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000AC8[2] = {
+ { 3, gTexture7EF470, 8, 8, 0, 0, 0x74},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000AF0[2] = {
- { 3, 0, gTexture7EF4E4, 8, 8, 0, 0, 0x70, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000AF0[2] = {
+ { 3, gTexture7EF4E4, 8, 8, 0, 0, 0x70},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000B18[2] = {
- { 3, 0, gTexture7EF554, 8, 8, 0, 0, 0x6c, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000B18[2] = {
+ { 3, gTexture7EF554, 8, 8, 0, 0, 0x6c},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000B40[2] = {
- { 3, 0, gTexture7EF5C0, 8, 8, 0, 0, 0x61, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000B40[2] = {
+ { 3, gTexture7EF5C0, 8, 8, 0, 0, 0x61},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000B68[2] = {
- { 3, 0, gTexture7EF620, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000B68[2] = {
+ { 3, gTexture7EF620, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000B90[2] = {
- { 3, 0, gTexture7EF694, 8, 8, 0, 0, 0x74, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000B90[2] = {
+ { 3, gTexture7EF694, 8, 8, 0, 0, 0x74},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000BB8[2] = {
- { 3, 0, gTexture7EF708, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000BB8[2] = {
+ { 3, gTexture7EF708, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000BE0[2] = {
- { 3, 0, gTexture7EF77C, 8, 8, 0, 0, 0x6b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000BE0[2] = {
+ { 3, gTexture7EF77C, 8, 8, 0, 0, 0x6b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000C08[2] = {
- { 3, 0, gTexture7EF7E8, 8, 8, 0, 0, 0x75, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000C08[2] = {
+ { 3, gTexture7EF7E8, 8, 8, 0, 0, 0x75},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000C30[2] = {
- { 3, 0, gTexture7EF85C, 8, 8, 0, 0, 0x6b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000C30[2] = {
+ { 3, gTexture7EF85C, 8, 8, 0, 0, 0x6b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000C58[2] = {
- { 3, 0, gTexture7EF8C8, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000C58[2] = {
+ { 3, gTexture7EF8C8, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000C80[2] = {
- { 3, 0, gTexture7EF93C, 8, 8, 0, 0, 0x76, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000C80[2] = {
+ { 3, gTexture7EF93C, 8, 8, 0, 0, 0x76},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000CA8[2] = {
- { 3, 0, gTexture7EF9B4, 8, 8, 0, 0, 0x78, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000CA8[2] = {
+ { 3, gTexture7EF9B4, 8, 8, 0, 0, 0x78},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000CD0[2] = {
- { 3, 0, gTexture7EFA2C, 8, 8, 0, 0, 0x7b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000CD0[2] = {
+ { 3, gTexture7EFA2C, 8, 8, 0, 0, 0x7b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000CF8[2] = {
- { 3, 0, gTexture7EFAA8, 8, 8, 0, 0, 0x57, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000CF8[2] = {
+ { 3, gTexture7EFAA8, 8, 8, 0, 0, 0x57},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000D20[2] = {
- { 3, 0, gTexture7EFB00, 8, 8, 0, 0, 0x63, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000D20[2] = {
+ { 3, gTexture7EFB00, 8, 8, 0, 0, 0x63},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000D48[2] = {
- { 3, 0, gTexture7EFB64, 8, 8, 0, 0, 0x57, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000D48[2] = {
+ { 3, gTexture7EFB64, 8, 8, 0, 0, 0x57},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000D70[2] = {
- { 3, 0, gTexture7EFBBC, 8, 8, 0, 0, 0x75, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000D70[2] = {
+ { 3, gTexture7EFBBC, 8, 8, 0, 0, 0x75},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000D98[2] = {
- { 3, 0, gTexture7EFC30, 8, 8, 0, 0, 0x7b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000D98[2] = {
+ { 3, gTexture7EFC30, 8, 8, 0, 0, 0x7b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000DC0[2] = {
- { 3, 0, gTexture7EFCAC, 8, 8, 0, 0, 0x53, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000DC0[2] = {
+ { 3, gTexture7EFCAC, 8, 8, 0, 0, 0x53},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000DE8[2] = {
- { 3, 0, gTexture7EFD00, 8, 8, 0, 0, 0x60, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000DE8[2] = {
+ { 3, gTexture7EFD00, 8, 8, 0, 0, 0x60},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000E10[2] = {
- { 3, 0, gTexture7EFD60, 8, 8, 0, 0, 0x75, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000E10[2] = {
+ { 3, gTexture7EFD60, 8, 8, 0, 0, 0x75},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000E38[2] = {
- { 3, 0, gTexture7EFDD4, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000E38[2] = {
+ { 3, gTexture7EFDD4, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000E60[2] = {
- { 3, 0, gTexture7EFE48, 8, 8, 0, 0, 0x57, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000E60[2] = {
+ { 3, gTexture7EFE48, 8, 8, 0, 0, 0x57},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000E88[2] = {
- { 3, 0, gTexture7EFEA0, 8, 8, 0, 0, 0x8d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000E88[2] = {
+ { 3, gTexture7EFEA0, 8, 8, 0, 0, 0x8d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000EB0[2] = {
- { 3, 0, gTexture7EFF2C, 8, 8, 0, 0, 0x63, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000EB0[2] = {
+ { 3, gTexture7EFF2C, 8, 8, 0, 0, 0x63},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000ED8[2] = {
- { 3, 0, gTexture7EFF90, 8, 8, 0, 0, 0x70, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000ED8[2] = {
+ { 3, gTexture7EFF90, 8, 8, 0, 0, 0x70},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000F00[2] = {
- { 3, 0, gTexture7F0000, 8, 8, 0, 0, 0x6d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000F00[2] = {
+ { 3, gTexture7F0000, 8, 8, 0, 0, 0x6d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000F28[2] = {
- { 3, 0, gTexture7F006C, 8, 8, 0, 0, 0x6a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000F28[2] = {
+ { 3, gTexture7F006C, 8, 8, 0, 0, 0x6a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000F50[2] = {
- { 3, 0, gTexture7F00D8, 8, 8, 0, 0, 0x80, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000F50[2] = {
+ { 3, gTexture7F00D8, 8, 8, 0, 0, 0x80},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000F78[2] = {
- { 3, 0, gTexture7F0158, 8, 8, 0, 0, 0x78, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000F78[2] = {
+ { 3, gTexture7F0158, 8, 8, 0, 0, 0x78},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000FA0[2] = {
- { 3, 0, gTexture7F01D0, 8, 8, 0, 0, 0x6a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000FA0[2] = {
+ { 3, gTexture7F01D0, 8, 8, 0, 0, 0x6a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000FC8[2] = {
- { 3, 0, gTexture7F023C, 8, 8, 0, 0, 0x78, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000FC8[2] = {
+ { 3, gTexture7F023C, 8, 8, 0, 0, 0x78},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02000FF0[2] = {
- { 3, 0, gTexture7F02B4, 8, 8, 0, 0, 0x79, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02000FF0[2] = {
+ { 3, gTexture7F02B4, 8, 8, 0, 0, 0x79},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001018[2] = {
- { 3, 0, gTexture7F032C, 8, 8, 0, 0, 0x63, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001018[2] = {
+ { 3, gTexture7F032C, 8, 8, 0, 0, 0x63},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001040[2] = {
- { 3, 0, gTexture7F0390, 8, 8, 0, 0, 0x72, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001040[2] = {
+ { 3, gTexture7F0390, 8, 8, 0, 0, 0x72},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001068[2] = {
- { 3, 0, gTexture7F0404, 8, 8, 0, 0, 0x6d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001068[2] = {
+ { 3, gTexture7F0404, 8, 8, 0, 0, 0x6d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001090[2] = {
- { 3, 0, gTexture7F0470, 8, 8, 0, 0, 0x7d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001090[2] = {
+ { 3, gTexture7F0470, 8, 8, 0, 0, 0x7d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020010B8[2] = {
- { 3, 0, gTexture7F04EC, 8, 8, 0, 0, 0x6e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020010B8[2] = {
+ { 3, gTexture7F04EC, 8, 8, 0, 0, 0x6e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020010E0[2] = {
- { 3, 0, gTexture7F055C, 8, 8, 0, 0, 0x93, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020010E0[2] = {
+ { 3, gTexture7F055C, 8, 8, 0, 0, 0x93},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001108[2] = {
- { 3, 0, gTexture7F05F0, 8, 8, 0, 0, 0x7f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001108[2] = {
+ { 3, gTexture7F05F0, 8, 8, 0, 0, 0x7f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001130[2] = {
- { 3, 0, gTexture7F0670, 8, 8, 0, 0, 0x7b, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001130[2] = {
+ { 3, gTexture7F0670, 8, 8, 0, 0, 0x7b},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001158[2] = {
- { 3, 0, gTexture7F06EC, 8, 8, 0, 0, 0x7a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001158[2] = {
+ { 3, gTexture7F06EC, 8, 8, 0, 0, 0x7a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001180[2] = {
- { 3, 0, gTexture7F0768, 8, 8, 0, 0, 0x78, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001180[2] = {
+ { 3, gTexture7F0768, 8, 8, 0, 0, 0x78},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020011A8[2] = {
- { 3, 0, gTexture7F07E0, 8, 8, 0, 0, 0x77, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020011A8[2] = {
+ { 3, gTexture7F07E0, 8, 8, 0, 0, 0x77},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020011D0[2] = {
- { 3, 0, gTexture7F0858, 8, 8, 0, 0, 0x7f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020011D0[2] = {
+ { 3, gTexture7F0858, 8, 8, 0, 0, 0x7f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020011F8[2] = {
- { 3, 0, gTexture7F08D8, 8, 8, 0, 0, 0x71, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020011F8[2] = {
+ { 3, gTexture7F08D8, 8, 8, 0, 0, 0x71},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001220[2] = {
- { 3, 0, gTexture7F0948, 8, 8, 0, 0, 0x87, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001220[2] = {
+ { 3, gTexture7F0948, 8, 8, 0, 0, 0x87},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001248[2] = {
- { 3, 0, gTexture7F09D0, 8, 8, 0, 0, 0x6d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001248[2] = {
+ { 3, gTexture7F09D0, 8, 8, 0, 0, 0x6d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001270[2] = {
- { 3, 0, gTexture7F0A3C, 8, 8, 0, 0, 0x7e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001270[2] = {
+ { 3, gTexture7F0A3C, 8, 8, 0, 0, 0x7e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001298[2] = {
- { 3, 0, gTexture7F0ABC, 8, 8, 0, 0, 0x77, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001298[2] = {
+ { 3, gTexture7F0ABC, 8, 8, 0, 0, 0x77},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020012C0[2] = {
- { 3, 0, gTexture7F0B34, 8, 8, 0, 0, 0x7d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020012C0[2] = {
+ { 3, gTexture7F0B34, 8, 8, 0, 0, 0x7d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020012E8[2] = {
- { 3, 0, gTexture7F0BB0, 8, 8, 0, 0, 0x75, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020012E8[2] = {
+ { 3, gTexture7F0BB0, 8, 8, 0, 0, 0x75},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001310[2] = {
- { 3, 0, gTexture7F0C24, 8, 8, 0, 0, 0x71, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001310[2] = {
+ { 3, gTexture7F0C24, 8, 8, 0, 0, 0x71},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001338[2] = {
- { 3, 0, gTexture7F0C94, 8, 8, 0, 0, 0x77, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001338[2] = {
+ { 3, gTexture7F0C94, 8, 8, 0, 0, 0x77},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001360[2] = {
- { 3, 0, gTexture7F0D0C, 8, 8, 0, 0, 0x7f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001360[2] = {
+ { 3, gTexture7F0D0C, 8, 8, 0, 0, 0x7f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001388[2] = {
- { 3, 0, gTexture7F0D8C, 8, 8, 0, 0, 0x61, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001388[2] = {
+ { 3, gTexture7F0D8C, 8, 8, 0, 0, 0x61},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020013B0[2] = {
- { 3, 0, gTexture7F0DEC, 8, 8, 0, 0, 0x6e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020013B0[2] = {
+ { 3, gTexture7F0DEC, 8, 8, 0, 0, 0x6e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020013D8[2] = {
- { 3, 0, gTexture7F0E5C, 8, 8, 0, 0, 0x87, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020013D8[2] = {
+ { 3, gTexture7F0E5C, 8, 8, 0, 0, 0x87},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001400[2] = {
- { 3, 0, gTexture7F0EE4, 8, 8, 0, 0, 0x78, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001400[2] = {
+ { 3, gTexture7F0EE4, 8, 8, 0, 0, 0x78},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001428[2] = {
- { 3, 0, gTexture7F0F5C, 8, 8, 0, 0, 0x7d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001428[2] = {
+ { 3, gTexture7F0F5C, 8, 8, 0, 0, 0x7d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001450[2] = {
- { 3, 0, gTexture7F0FD8, 8, 8, 0, 0, 0x60, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001450[2] = {
+ { 3, gTexture7F0FD8, 8, 8, 0, 0, 0x60},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001478[2] = {
- { 3, 0, gTexture7F1038, 8, 8, 0, 0, 0x65, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001478[2] = {
+ { 3, gTexture7F1038, 8, 8, 0, 0, 0x65},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020014A0[2] = {
- { 3, 0, gTexture7F109C, 8, 8, 0, 0, 0x87, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020014A0[2] = {
+ { 3, gTexture7F109C, 8, 8, 0, 0, 0x87},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of bar ?
+ * @brief MenuTexture of bar ?
*
*/
-MkTexture D_020014C8[6] = {
- { 0, 0, gTextureGoldBar, 256, 40, 32, 25, 0xd4c, 0 }, { 0, 0, gTexturePinkBar, 90, 16, 65, 70, 0x468, 0 },
- { 0, 0, gTexturePinkBar, 90, 16, 164, 70, 0x468, 0 }, { 0, 0, gTexturePinkBar, 90, 16, 65, 200, 0x468, 0 },
- { 0, 0, gTexturePinkBar, 90, 16, 164, 200, 0x468, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020014C8[6] = {
+ { 0, gTextureGoldBar, 256, 40, 32, 25, 0xd4c}, { 0, gTexturePinkBar, 90, 16, 65, 70, 0x468},
+ { 0, gTexturePinkBar, 90, 16, 164, 70, 0x468}, { 0, gTexturePinkBar, 90, 16, 65, 200, 0x468},
+ { 0, gTexturePinkBar, 90, 16, 164, 200, 0x468}, { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of gold ?
+ * @brief MenuTexture of gold ?
*
*/
-MkTexture D_02001540[3] = {
- { 0, 0, gTextureGreenGoldStripe, 256, 29, 32, 91, 0xbec, 0 },
- { 0, 0, gTextureGoldStripe, 256, 15, 32, 180, 0x6f8, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001540[3] = {
+ { 0, gTextureGreenGoldStripe, 256, 29, 32, 91, 0xbec},
+ { 0, gTextureGoldStripe, 256, 15, 32, 180, 0x6f8},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
-MkTexture D_0200157C[2] = {
- { 0, 0, gTextureWhiteStripe, 256, 10, 0, 0, 0xe4, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200157C[2] = {
+ { 0, gTextureWhiteStripe, 256, 10, 0, 0, 0xe4},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020015A4[2] = {
- { 3, 0, gTexture7ED50C, 256, 5, 32, 120, 0x196, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020015A4[2] = {
+ { 3, gTexture7ED50C, 256, 5, 32, 120, 0x196},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of select record ?
+ * @brief MenuTexture of select record ?
*
*/
-MkTexture D_020015CC[5] = {
- { 3, 0, gTextureSelectRecord, 68, 10, 75, 74, 0x378, 0 },
- { 3, 0, gTextureTextEnd, 20, 10, 200, 74, 0x12f, 0 },
- { 3, 0, gTextureTextErase, 28, 10, 96, 204, 0x19e, 0 },
- { 3, 0, gTextureTextQuit, 24, 10, 198, 204, 0x149, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020015CC[5] = {
+ { 3, gTextureSelectRecord, 68, 10, 75, 74, 0x378},
+ { 3, gTextureTextEnd, 20, 10, 200, 74, 0x12f},
+ { 3, gTextureTextErase, 28, 10, 96, 204, 0x19e},
+ { 3, gTextureTextQuit, 24, 10, 198, 204, 0x149},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of select record ?
+ * @brief MenuTexture of select record ?
*
*/
-MkTexture D_02001630[2] = {
- { 3, 0, gTextureTableOfContents, 88, 10, 116, 94, 0x42d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001630[2] = {
+ { 3, gTextureTableOfContents, 88, 10, 116, 94, 0x42d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of select record ?
+ * @brief MenuTexture of select record ?
*
*/
-MkTexture D_02001658[5] = {
- { 3, 0, gTextureTextHash, 8, 10, 48, 108, 0x07e, 0 },
- { 3, 0, gTextureTextGameData, 56, 10, 132, 108, 0x2c4, 0 },
- { 3, 0, gTextureTextPages, 32, 10, 252, 108, 0x1c1, 0 },
- { 3, 0, gTextureTextPagesFree, 56, 10, 132, 184, 0x2c2, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001658[5] = {
+ { 3, gTextureTextHash, 8, 10, 48, 108, 0x07e},
+ { 3, gTextureTextGameData, 56, 10, 132, 108, 0x2c4},
+ { 3, gTextureTextPages, 32, 10, 252, 108, 0x1c1},
+ { 3, gTextureTextPagesFree, 56, 10, 132, 184, 0x2c2},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 0
+ * @brief MenuTexture of a small font texture of number 0
*
*/
-MkTexture D_020016BC[2] = {
- { 3, 0, gTextureSmallFont0, 8, 9, 0, 0, 0x8e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020016BC[2] = {
+ { 3, gTextureSmallFont0, 8, 9, 0, 0, 0x8e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 1
+ * @brief MenuTexture of a small font texture of number 1
*
*/
-MkTexture D_020016E4[2] = {
- { 3, 0, gTextureSmallFont1, 8, 9, 0, 0, 0x59, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020016E4[2] = {
+ { 3, gTextureSmallFont1, 8, 9, 0, 0, 0x59},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 2
+ * @brief MenuTexture of a small font texture of number 2
*
*/
-MkTexture D_0200170C[2] = {
- { 3, 0, gTextureSmallFont2, 8, 9, 0, 0, 0x97, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200170C[2] = {
+ { 3, gTextureSmallFont2, 8, 9, 0, 0, 0x97},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 3
+ * @brief MenuTexture of a small font texture of number 3
*
*/
-MkTexture D_02001734[2] = {
- { 3, 0, gTextureSmallFont3, 8, 9, 0, 0, 0x95, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001734[2] = {
+ { 3, gTextureSmallFont3, 8, 9, 0, 0, 0x95},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 4
+ * @brief MenuTexture of a small font texture of number 4
*
*/
-MkTexture D_0200175C[2] = {
- { 3, 0, gTextureSmallFont4, 8, 9, 0, 0, 0x87, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200175C[2] = {
+ { 3, gTextureSmallFont4, 8, 9, 0, 0, 0x87},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 5
+ * @brief MenuTexture of a small font texture of number 5
*
*/
-MkTexture D_02001784[2] = {
- { 3, 0, gTextureSmallFont5, 8, 9, 0, 0, 0x99, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001784[2] = {
+ { 3, gTextureSmallFont5, 8, 9, 0, 0, 0x99},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 6
+ * @brief MenuTexture of a small font texture of number 6
*
*/
-MkTexture D_020017AC[2] = {
- { 3, 0, gTextureSmallFont6, 8, 9, 0, 0, 0x9a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020017AC[2] = {
+ { 3, gTextureSmallFont6, 8, 9, 0, 0, 0x9a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 7
+ * @brief MenuTexture of a small font texture of number 7
*
*/
-MkTexture D_020017D4[2] = {
- { 3, 0, gTextureSmallFont7, 8, 9, 0, 0, 0x70, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020017D4[2] = {
+ { 3, gTextureSmallFont7, 8, 9, 0, 0, 0x70},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 8
+ * @brief MenuTexture of a small font texture of number 8
*
*/
-MkTexture D_020017FC[2] = {
- { 3, 0, gTextureSmallFont8, 8, 9, 0, 0, 0x90, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020017FC[2] = {
+ { 3, gTextureSmallFont8, 8, 9, 0, 0, 0x90},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a small font texture of number 9
+ * @brief MenuTexture of a small font texture of number 9
*
*/
-MkTexture D_02001824[2] = {
- { 3, 0, gTextureSmallFont9, 8, 9, 0, 0, 0x9f, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001824[2] = {
+ { 3, gTextureSmallFont9, 8, 9, 0, 0, 0x9f},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200184C[2] = {
- { 3, 0, gTexture7ED058, 96, 22, 0, 0, 0x238, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200184C[2] = {
+ { 3, gTexture7ED058, 96, 22, 0, 0, 0x238},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001874[2] = {
- { 3, 0, gTexture7ED290, 248, 10, 0, 0, 0x27d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001874[2] = {
+ { 3, gTexture7ED290, 248, 10, 0, 0, 0x27d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of a n64 controller pak Data Select
+ * @brief MenuTexture of a n64 controller pak Data Select
*
*/
-MkTexture D_0200189C[2] = {
- { 3, 0, gTextureN64ControllerPakDataSelect, 180, 32, 70, 29, 0x1128, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200189C[2] = {
+ { 3, gTextureN64ControllerPakDataSelect, 180, 32, 70, 29, 0x1128},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of text Erase Data Record Confirmation
+ * @brief MenuTexture of text Erase Data Record Confirmation
*
*/
-MkTexture D_020018C4[2] = {
- { 3, 0, gTextureEraseDataRecordConfirmation, 180, 32, 70, 29, 0xff4, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020018C4[2] = {
+ { 3, gTextureEraseDataRecordConfirmation, 180, 32, 70, 29, 0xff4},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of text Record Not Erased
+ * @brief MenuTexture of text Record Not Erased
*
*/
-MkTexture D_020018EC[2] = {
- { 3, 0, gTextureRecordNotErased, 180, 32, 70, 29, 0x8d1, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020018EC[2] = {
+ { 3, gTextureRecordNotErased, 180, 32, 70, 29, 0x8d1},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of text Please Insert N64 Controller Pak
+ * @brief MenuTexture of text Please Insert N64 Controller Pak
*
*/
-MkTexture D_02001914[2] = {
- { 3, 0, gTexturePlaceN64ControllerPakIntoController1, 180, 32, 70, 29, 0xc4a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001914[2] = {
+ { 3, gTexturePlaceN64ControllerPakIntoController1, 180, 32, 70, 29, 0xc4a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of text Please Reinsert Original N64 Controller Pak
+ * @brief MenuTexture of text Please Reinsert Original N64 Controller Pak
*
*/
-MkTexture D_0200193C[2] = {
- { 3, 0, gTexturePleaseReinsertOriginalN64ControllerPak, 180, 32, 70, 29, 0xcd6, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200193C[2] = {
+ { 3, gTexturePleaseReinsertOriginalN64ControllerPak, 180, 32, 70, 29, 0xcd6},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of text Erasing Selected Record
+ * @brief MenuTexture of text Erasing Selected Record
*
*/
-MkTexture D_02001964[2] = {
- { 3, 0, gTextureErasingSelectedRecord, 180, 32, 70, 29, 0xc02, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001964[2] = {
+ { 3, gTextureErasingSelectedRecord, 180, 32, 70, 29, 0xc02},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
@@ -1490,255 +1490,255 @@ MkAnimation D_020019DC[2] = {
};
/**
- * @brief MkTexture of Name DK
+ * @brief MenuTexture of Name DK
*
*/
-MkTexture D_020019EC[2] = {
- { 0, 0, gTextureNameDK, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020019EC[2] = {
+ { 0, gTextureNameDK, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Toad
+ * @brief MenuTexture of Name Toad
*
*/
-MkTexture D_02001A14[2] = {
- { 0, 0, gTextureNameToad, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001A14[2] = {
+ { 0, gTextureNameToad, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Bowser
+ * @brief MenuTexture of Name Bowser
*
*/
-MkTexture D_02001A3C[2] = {
- { 0, 0, gTextureNameBowser, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001A3C[2] = {
+ { 0, gTextureNameBowser, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Luigi
+ * @brief MenuTexture of Name Luigi
*
*/
-MkTexture D_02001A64[2] = {
- { 0, 0, gTextureNameLuigi, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001A64[2] = {
+ { 0, gTextureNameLuigi, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Mario
+ * @brief MenuTexture of Name Mario
*
*/
-MkTexture D_02001A8C[2] = {
- { 0, 0, gTextureNameMario, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001A8C[2] = {
+ { 0, gTextureNameMario, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Peach
+ * @brief MenuTexture of Name Peach
*
*/
-MkTexture D_02001AB4[2] = {
- { 0, 0, gTextureNamePeach, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001AB4[2] = {
+ { 0, gTextureNamePeach, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Wario
+ * @brief MenuTexture of Name Wario
*
*/
-MkTexture D_02001ADC[2] = {
- { 0, 0, gTextureNameWario, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001ADC[2] = {
+ { 0, gTextureNameWario, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Name Yoshi
+ * @brief MenuTexture of Name Yoshi
*
*/
-MkTexture D_02001B04[2] = {
- { 0, 0, gTextureNameYoshi, 64, 12, 0, 64, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001B04[2] = {
+ { 0, gTextureNameYoshi, 64, 12, 0, 64, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Mario Raceway
+ * @brief MenuTexture of Course Preview Mario Raceway
*
*/
-MkTexture D_02001B2C[2] = {
- { 0, 0, gTextureCoursePreviewMarioRaceway, 128, 78, 0, 0, 0x3157, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_mario_raceway_preview_texture[2] = {
+ { 0, gTextureCoursePreviewMarioRaceway, 128, 78, 0, 0, 0x3157},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Choco Mountain
+ * @brief MenuTexture of Course Preview Choco Mountain
*
*/
-MkTexture D_02001B54[2] = {
- { 0, 0, gTextureCoursePreviewChocoMountain, 128, 78, 0, 0, 0x2a24, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001B54[2] = {
+ { 0, gTextureCoursePreviewChocoMountain, 128, 78, 0, 0, 0x2a24},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Bowser Castle
+ * @brief MenuTexture of Course Preview Bowser Castle
*
*/
-MkTexture D_02001B7C[2] = {
- { 0, 0, gTextureCoursePreviewBowsersCastle, 128, 78, 0, 0, 0x30de, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001B7C[2] = {
+ { 0, gTextureCoursePreviewBowsersCastle, 128, 78, 0, 0, 0x30de},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Banshee Boardwalk
+ * @brief MenuTexture of Course Preview Banshee Boardwalk
*
*/
-MkTexture D_02001BA4[2] = {
- { 0, 0, gTextureCoursePreviewBansheeBoardwalk, 128, 78, 0, 0, 0x26ad, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001BA4[2] = {
+ { 0, gTextureCoursePreviewBansheeBoardwalk, 128, 78, 0, 0, 0x26ad},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Yoshi Valley
+ * @brief MenuTexture of Course Preview Yoshi Valley
*
*/
-MkTexture D_02001BCC[2] = {
- { 0, 0, gTextureCoursePreviewYoshiValley, 128, 78, 0, 0, 0x3a41, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001BCC[2] = {
+ { 0, gTextureCoursePreviewYoshiValley, 128, 78, 0, 0, 0x3a41},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Frappe Snowland
+ * @brief MenuTexture of Course Preview Frappe Snowland
*
*/
-MkTexture D_02001BF4[2] = {
- { 0, 0, gTextureCoursePreviewFrappeSnowland, 128, 78, 0, 0, 0x2409, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001BF4[2] = {
+ { 0, gTextureCoursePreviewFrappeSnowland, 128, 78, 0, 0, 0x2409},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Koopa Troopa Beach
+ * @brief MenuTexture of Course Preview Koopa Troopa Beach
*
*/
-MkTexture D_02001C1C[2] = {
- { 0, 0, gTextureCoursePreviewKoopaTroopaBeach, 128, 78, 0, 0, 0x2323, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001C1C[2] = {
+ { 0, gTextureCoursePreviewKoopaTroopaBeach, 128, 78, 0, 0, 0x2323},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Royal Raceway
+ * @brief MenuTexture of Course Preview Royal Raceway
*
*/
-MkTexture D_02001C44[2] = {
- { 0, 0, gTextureCoursePreviewRoyalRaceway, 128, 78, 0, 0, 0x2821, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001C44[2] = {
+ { 0, gTextureCoursePreviewRoyalRaceway, 128, 78, 0, 0, 0x2821},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Luigi Raceway
+ * @brief MenuTexture of Course Preview Luigi Raceway
*
*/
-MkTexture D_02001C6C[2] = {
- { 0, 0, gTextureCoursePreviewLuigiRaceway, 128, 78, 0, 0, 0x2d74, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001C6C[2] = {
+ { 0, gTextureCoursePreviewLuigiRaceway, 128, 78, 0, 0, 0x2d74},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Moo Moo Farm
+ * @brief MenuTexture of Course Preview Moo Moo Farm
*
*/
-MkTexture D_02001C94[2] = {
- { 0, 0, gTextureCoursePreviewMooMooFarm, 128, 78, 0, 0, 0x25c7, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001C94[2] = {
+ { 0, gTextureCoursePreviewMooMooFarm, 128, 78, 0, 0, 0x25c7},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Toads Turnpike
+ * @brief MenuTexture of Course Preview Toads Turnpike
*
*/
-MkTexture D_02001CBC[2] = {
- { 0, 0, gTextureCoursePreviewToadsTurnpike, 128, 78, 0, 0, 0x299a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001CBC[2] = {
+ { 0, gTextureCoursePreviewToadsTurnpike, 128, 78, 0, 0, 0x299a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Kalimari Desert
+ * @brief MenuTexture of Course Preview Kalimari Desert
*
*/
-MkTexture D_02001CE4[2] = {
- { 0, 0, gTextureCoursePreviewKalimariDesert, 128, 78, 0, 0, 0x280a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001CE4[2] = {
+ { 0, gTextureCoursePreviewKalimariDesert, 128, 78, 0, 0, 0x280a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Sherbet Land
+ * @brief MenuTexture of Course Preview Sherbet Land
*
*/
-MkTexture D_02001D0C[2] = {
- { 0, 0, gTextureCoursePreviewSherbetLand, 128, 78, 0, 0, 0x300e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001D0C[2] = {
+ { 0, gTextureCoursePreviewSherbetLand, 128, 78, 0, 0, 0x300e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Rainbow Road
+ * @brief MenuTexture of Course Preview Rainbow Road
*
*/
-MkTexture D_02001D34[2] = {
- { 0, 0, gTextureCoursePreviewRainbowRoad, 128, 78, 0, 0, 0x2824, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001D34[2] = {
+ { 0, gTextureCoursePreviewRainbowRoad, 128, 78, 0, 0, 0x2824},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Wario Stadium
+ * @brief MenuTexture of Course Preview Wario Stadium
*
*/
-MkTexture D_02001D5C[2] = {
- { 0, 0, gTextureCoursePreviewWarioStadium, 128, 78, 0, 0, 0x32d3, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001D5C[2] = {
+ { 0, gTextureCoursePreviewWarioStadium, 128, 78, 0, 0, 0x32d3},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Block Fort
+ * @brief MenuTexture of Course Preview Block Fort
*
*/
-MkTexture D_02001D84[2] = {
- { 0, 0, gTextureCoursePreviewBlockFort, 128, 78, 0, 0, 0x2528, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001D84[2] = {
+ { 0, gTextureCoursePreviewBlockFort, 128, 78, 0, 0, 0x2528},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Skyscraper
+ * @brief MenuTexture of Course Preview Skyscraper
*
*/
-MkTexture D_02001DAC[2] = {
- { 0, 0, gTextureCoursePreviewSkyscraper, 128, 78, 0, 0, 0x26f0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001DAC[2] = {
+ { 0, gTextureCoursePreviewSkyscraper, 128, 78, 0, 0, 0x26f0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Double Deck
+ * @brief MenuTexture of Course Preview Double Deck
*
*/
-MkTexture D_02001DD4[2] = {
- { 0, 0, gTextureCoursePreviewDoubleDeck, 128, 78, 0, 0, 0x28f7, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001DD4[2] = {
+ { 0, gTextureCoursePreviewDoubleDeck, 128, 78, 0, 0, 0x28f7},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview DKs Jungle Parkway
+ * @brief MenuTexture of Course Preview DKs Jungle Parkway
*
*/
-MkTexture D_02001DFC[2] = {
- { 0, 0, gTextureCoursePreviewDksJungleParkway, 128, 78, 0, 0, 0x3ee4, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001DFC[2] = {
+ { 0, gTextureCoursePreviewDksJungleParkway, 128, 78, 0, 0, 0x3ee4},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of Course Preview Big Donut
+ * @brief MenuTexture of Course Preview Big Donut
*
*/
-MkTexture D_02001E24[2] = {
- { 0, 0, gTextureCoursePreviewBigDonut, 128, 78, 0, 0, 0x2f5c, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001E24[2] = {
+ { 0, gTextureCoursePreviewBigDonut, 128, 78, 0, 0, 0x2f5c},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
@@ -1746,8 +1746,8 @@ MkTexture D_02001E24[2] = {
*
*/
MkAnimation D_02001E4C[3] = {
- { D_02001B2C, 0x0000003c },
- { D_02001B2C, 0x0000003c },
+ { seg2_mario_raceway_preview_texture, 0x0000003c },
+ { seg2_mario_raceway_preview_texture, 0x0000003c },
{ NULL, 0x00000000 },
};
@@ -1756,7 +1756,7 @@ MkAnimation D_02001E4C[3] = {
*
*/
MkAnimation D_02001E64[2] = {
- { D_02001B2C, 0x0000003c },
+ { seg2_mario_raceway_preview_texture, 0x0000003c },
{ NULL, 0x00000000 },
};
@@ -1928,66 +1928,66 @@ MkAnimation D_02001F94[2] = {
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02001FA4[2] = {
- { 3, 0, gTexture7ED6A4, 68, 51, 0, 0, 0x38e, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001FA4[2] = {
+ { 3, gTexture7ED6A4, 68, 51, 0, 0, 0x38e},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of trophy gold
+ * @brief MenuTexture of trophy gold
*
*/
-MkTexture D_02001FCC[2] = {
- { 1, 0, gTextureTrophyGold, 45, 45, 0, 0, 0x633, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001FCC[2] = {
+ { 1, gTextureTrophyGold, 45, 45, 0, 0, 0x633},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of trophy silver
+ * @brief MenuTexture of trophy silver
*
*/
-MkTexture D_02001FF4[2] = {
- { 1, 0, gTextureTrophySilver, 45, 45, 0, 0, 0x629, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02001FF4[2] = {
+ { 1, gTextureTrophySilver, 45, 45, 0, 0, 0x629},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of trophy bronze
+ * @brief MenuTexture of trophy bronze
*
*/
-MkTexture D_0200201C[2] = {
- { 1, 0, gTextureTrophyBronze, 45, 45, 0, 0, 0x5ec, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200201C[2] = {
+ { 1, gTextureTrophyBronze, 45, 45, 0, 0, 0x5ec},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of cup gold
+ * @brief MenuTexture of cup gold
*
*/
-MkTexture D_02002044[2] = {
- { 1, 0, gTextureCupGold, 45, 45, 0, 0, 0x98a, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002044[2] = {
+ { 1, gTextureCupGold, 45, 45, 0, 0, 0x98a},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of cup silver
+ * @brief MenuTexture of cup silver
*
*/
-MkTexture D_0200206C[2] = {
- { 1, 0, gTextureCupSilver, 45, 45, 0, 0, 0x985, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200206C[2] = {
+ { 1, gTextureCupSilver, 45, 45, 0, 0, 0x985},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture of cup bronze
+ * @brief MenuTexture of cup bronze
*
*/
-MkTexture D_02002094[2] = {
- { 1, 0, gTextureCupBronze, 45, 45, 0, 0, 0x8a2, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002094[2] = {
+ { 1, gTextureCupBronze, 45, 45, 0, 0, 0x8a2},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
@@ -2045,3937 +2045,3937 @@ MkAnimation D_0200210C[2] = {
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200211C[2] = {
- { 5, 0, gTexture7F2094, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200211C[2] = {
+ { 5, gTexture7F2094, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002144[2] = {
- { 5, 0, gTexture7F2164, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002144[2] = {
+ { 5, gTexture7F2164, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200216C[2] = {
- { 5, 0, gTexture7F2234, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200216C[2] = {
+ { 5, gTexture7F2234, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002194[2] = {
- { 5, 0, gTexture7F2304, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002194[2] = {
+ { 5, gTexture7F2304, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020021BC[2] = {
- { 5, 0, gTexture7F23D4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020021BC[2] = {
+ { 5, gTexture7F23D4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020021E4[2] = {
- { 5, 0, gTexture7F24A4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020021E4[2] = {
+ { 5, gTexture7F24A4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200220C[2] = {
- { 5, 0, gTexture7F2574, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200220C[2] = {
+ { 5, gTexture7F2574, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002234[2] = {
- { 5, 0, gTexture7F2644, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002234[2] = {
+ { 5, gTexture7F2644, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200225C[2] = {
- { 5, 0, gTexture7F2714, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200225C[2] = {
+ { 5, gTexture7F2714, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002284[2] = {
- { 5, 0, gTexture7F27E4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002284[2] = {
+ { 5, gTexture7F27E4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020022AC[2] = {
- { 5, 0, gTexture7F28B4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020022AC[2] = {
+ { 5, gTexture7F28B4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020022D4[2] = {
- { 5, 0, gTexture7F2984, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020022D4[2] = {
+ { 5, gTexture7F2984, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020022FC[2] = {
- { 5, 0, gTexture7F2A54, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020022FC[2] = {
+ { 5, gTexture7F2A54, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002324[2] = {
- { 5, 0, gTexture7F2B24, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002324[2] = {
+ { 5, gTexture7F2B24, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200234C[2] = {
- { 5, 0, gTexture7F2BF4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200234C[2] = {
+ { 5, gTexture7F2BF4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002374[2] = {
- { 5, 0, gTexture7F2CC4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002374[2] = {
+ { 5, gTexture7F2CC4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200239C[2] = {
- { 5, 0, gTexture7F2D94, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200239C[2] = {
+ { 5, gTexture7F2D94, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020023C4[2] = {
- { 5, 0, gTexture7F2E64, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020023C4[2] = {
+ { 5, gTexture7F2E64, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020023EC[2] = {
- { 5, 0, gTexture7F2F34, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020023EC[2] = {
+ { 5, gTexture7F2F34, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002414[2] = {
- { 5, 0, gTexture7F3004, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002414[2] = {
+ { 5, gTexture7F3004, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200243C[2] = {
- { 5, 0, gTexture7F30D4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200243C[2] = {
+ { 5, gTexture7F30D4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002464[2] = {
- { 5, 0, gTexture7F31A4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002464[2] = {
+ { 5, gTexture7F31A4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200248C[2] = {
- { 5, 0, gTexture7F3274, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200248C[2] = {
+ { 5, gTexture7F3274, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020024B4[2] = {
- { 5, 0, gTexture7F3344, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020024B4[2] = {
+ { 5, gTexture7F3344, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020024DC[2] = {
- { 5, 0, gTexture7F3414, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020024DC[2] = {
+ { 5, gTexture7F3414, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002504[2] = {
- { 5, 0, gTexture7F34E4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002504[2] = {
+ { 5, gTexture7F34E4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200252C[2] = {
- { 5, 0, gTexture7F1394, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200252C[2] = {
+ { 5, gTexture7F1394, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002554[2] = {
- { 5, 0, gTexture7F1464, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002554[2] = {
+ { 5, gTexture7F1464, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200257C[2] = {
- { 5, 0, gTexture7F16D4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200257C[2] = {
+ { 5, gTexture7F16D4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020025A4[2] = {
- { 5, 0, gTexture7F17A4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020025A4[2] = {
+ { 5, gTexture7F17A4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020025CC[2] = {
- { 5, 0, gTexture7F12C4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020025CC[2] = {
+ { 5, gTexture7F12C4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020025F4[2] = {
- { 5, 0, gTexture7F1604, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020025F4[2] = {
+ { 5, gTexture7F1604, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200261C[2] = {
- { 5, 0, gTexture7F1534, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200261C[2] = {
+ { 5, gTexture7F1534, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002644[2] = {
- { 5, 0, gTexture7F1124, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002644[2] = {
+ { 5, gTexture7F1124, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200266C[2] = {
- { 5, 0, gTexture7F11F4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200266C[2] = {
+ { 5, gTexture7F11F4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002694[2] = {
- { 5, 0, gTexture7F1874, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002694[2] = {
+ { 5, gTexture7F1874, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020026BC[2] = {
- { 5, 0, gTexture7F1944, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020026BC[2] = {
+ { 5, gTexture7F1944, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020026E4[2] = {
- { 5, 0, gTexture7F1A14, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020026E4[2] = {
+ { 5, gTexture7F1A14, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200270C[2] = {
- { 5, 0, gTexture7F1AE4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200270C[2] = {
+ { 5, gTexture7F1AE4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002734[2] = {
- { 5, 0, gTexture7F1BB4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002734[2] = {
+ { 5, gTexture7F1BB4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200275C[2] = {
- { 5, 0, gTexture7F1C84, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200275C[2] = {
+ { 5, gTexture7F1C84, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002784[2] = {
- { 5, 0, gTexture7F1D54, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002784[2] = {
+ { 5, gTexture7F1D54, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020027AC[2] = {
- { 5, 0, gTexture7F1E24, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020027AC[2] = {
+ { 5, gTexture7F1E24, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020027D4[2] = {
- { 5, 0, gTexture7F1EF4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020027D4[2] = {
+ { 5, gTexture7F1EF4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020027FC[2] = {
- { 5, 0, gTexture7F1FC4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020027FC[2] = {
+ { 5, gTexture7F1FC4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002824[2] = {
- { 5, 0, gTexture7F35B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002824[2] = {
+ { 5, gTexture7F35B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200284C[2] = {
- { 5, 0, gTexture7F3634, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200284C[2] = {
+ { 5, gTexture7F3634, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002874[2] = {
- { 5, 0, gTexture7F36B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002874[2] = {
+ { 5, gTexture7F36B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200289C[2] = {
- { 5, 0, gTexture7F3734, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200289C[2] = {
+ { 5, gTexture7F3734, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020028C4[2] = {
- { 5, 0, gTexture7F37B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020028C4[2] = {
+ { 5, gTexture7F37B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020028EC[2] = {
- { 5, 0, gTexture7F3AB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020028EC[2] = {
+ { 5, gTexture7F3AB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002914[2] = {
- { 5, 0, gTexture7F3B34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002914[2] = {
+ { 5, gTexture7F3B34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200293C[2] = {
- { 5, 0, gTexture7F3BB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200293C[2] = {
+ { 5, gTexture7F3BB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002964[2] = {
- { 5, 0, gTexture7F3C34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002964[2] = {
+ { 5, gTexture7F3C34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200298C[2] = {
- { 5, 0, gTexture7F3CB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200298C[2] = {
+ { 5, gTexture7F3CB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020029B4[2] = {
- { 5, 0, gTexture7F3D34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020029B4[2] = {
+ { 5, gTexture7F3D34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020029DC[2] = {
- { 5, 0, gTexture7F3DB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020029DC[2] = {
+ { 5, gTexture7F3DB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002A04[2] = {
- { 5, 0, gTexture7F3E34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002A04[2] = {
+ { 5, gTexture7F3E34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002A2C[2] = {
- { 5, 0, gTexture7F3EB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002A2C[2] = {
+ { 5, gTexture7F3EB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002A54[2] = {
- { 5, 0, gTexture7F3F34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002A54[2] = {
+ { 5, gTexture7F3F34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002A7C[2] = {
- { 5, 0, gTexture7F3FB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002A7C[2] = {
+ { 5, gTexture7F3FB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002AA4[2] = {
- { 5, 0, gTexture7F4034, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002AA4[2] = {
+ { 5, gTexture7F4034, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002ACC[2] = {
- { 5, 0, gTexture7F40B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002ACC[2] = {
+ { 5, gTexture7F40B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002AF4[2] = {
- { 5, 0, gTexture7F41B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002AF4[2] = {
+ { 5, gTexture7F41B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002B1C[2] = {
- { 5, 0, gTexture7F4234, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002B1C[2] = {
+ { 5, gTexture7F4234, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002B44[2] = {
- { 5, 0, gTexture7F42B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002B44[2] = {
+ { 5, gTexture7F42B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002B6C[2] = {
- { 5, 0, gTexture7F4334, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002B6C[2] = {
+ { 5, gTexture7F4334, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002B94[2] = {
- { 5, 0, gTexture7F43B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002B94[2] = {
+ { 5, gTexture7F43B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002BBC[2] = {
- { 5, 0, gTexture7F4434, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002BBC[2] = {
+ { 5, gTexture7F4434, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002BE4[2] = {
- { 5, 0, gTexture7F44B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002BE4[2] = {
+ { 5, gTexture7F44B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002C0C[2] = {
- { 5, 0, gTexture7F4534, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002C0C[2] = {
+ { 5, gTexture7F4534, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002C34[2] = {
- { 5, 0, gTexture7F45B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002C34[2] = {
+ { 5, gTexture7F45B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002C5C[2] = {
- { 5, 0, gTexture7F4634, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002C5C[2] = {
+ { 5, gTexture7F4634, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002C84[2] = {
- { 5, 0, gTexture7F46B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002C84[2] = {
+ { 5, gTexture7F46B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002CAC[2] = {
- { 5, 0, gTexture7F4734, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002CAC[2] = {
+ { 5, gTexture7F4734, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002CD4[2] = {
- { 5, 0, gTexture7F47B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002CD4[2] = {
+ { 5, gTexture7F47B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002CFC[2] = {
- { 5, 0, gTexture7F4834, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002CFC[2] = {
+ { 5, gTexture7F4834, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002D24[2] = {
- { 5, 0, gTexture7F48B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002D24[2] = {
+ { 5, gTexture7F48B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002D4C[2] = {
- { 5, 0, gTexture7F4934, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002D4C[2] = {
+ { 5, gTexture7F4934, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002D74[2] = {
- { 5, 0, gTexture7F49B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002D74[2] = {
+ { 5, gTexture7F49B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002D9C[2] = {
- { 5, 0, gTexture7F4A34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002D9C[2] = {
+ { 5, gTexture7F4A34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002DC4[2] = {
- { 5, 0, gTexture7F4AB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002DC4[2] = {
+ { 5, gTexture7F4AB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002DEC[2] = {
- { 5, 0, gTexture7F4B34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002DEC[2] = {
+ { 5, gTexture7F4B34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002E14[2] = {
- { 5, 0, gTexture7F4D34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002E14[2] = {
+ { 5, gTexture7F4D34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002E3C[2] = {
- { 5, 0, gTexture7F4DB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002E3C[2] = {
+ { 5, gTexture7F4DB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002E64[2] = {
- { 5, 0, gTexture7F4E34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002E64[2] = {
+ { 5, gTexture7F4E34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002E8C[2] = {
- { 5, 0, gTexture7F4EB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002E8C[2] = {
+ { 5, gTexture7F4EB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002EB4[2] = {
- { 5, 0, gTexture7F4F34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002EB4[2] = {
+ { 5, gTexture7F4F34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002EDC[2] = {
- { 5, 0, gTexture7F4FB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002EDC[2] = {
+ { 5, gTexture7F4FB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002F04[2] = {
- { 5, 0, gTexture7F5034, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002F04[2] = {
+ { 5, gTexture7F5034, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002F2C[2] = {
- { 5, 0, gTexture7F50B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002F2C[2] = {
+ { 5, gTexture7F50B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002F54[2] = {
- { 5, 0, gTexture7F5134, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002F54[2] = {
+ { 5, gTexture7F5134, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002F7C[2] = {
- { 5, 0, gTexture7F51B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002F7C[2] = {
+ { 5, gTexture7F51B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002FA4[2] = {
- { 5, 0, gTexture7F5234, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002FA4[2] = {
+ { 5, gTexture7F5234, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002FCC[2] = {
- { 5, 0, gTexture7F52B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002FCC[2] = {
+ { 5, gTexture7F52B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02002FF4[2] = {
- { 5, 0, gTexture7F5334, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02002FF4[2] = {
+ { 5, gTexture7F5334, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200301C[2] = {
- { 5, 0, gTexture7F53B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200301C[2] = {
+ { 5, gTexture7F53B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003044[2] = {
- { 5, 0, gTexture7F5434, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003044[2] = {
+ { 5, gTexture7F5434, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200306C[2] = {
- { 5, 0, gTexture7F54B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200306C[2] = {
+ { 5, gTexture7F54B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003094[2] = {
- { 5, 0, gTexture7F5534, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003094[2] = {
+ { 5, gTexture7F5534, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020030BC[2] = {
- { 5, 0, gTexture7F55B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020030BC[2] = {
+ { 5, gTexture7F55B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020030E4[2] = {
- { 5, 0, gTexture7F5634, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020030E4[2] = {
+ { 5, gTexture7F5634, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200310C[2] = {
- { 5, 0, gTexture7F56B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200310C[2] = {
+ { 5, gTexture7F56B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003134[2] = {
- { 5, 0, gTexture7F5734, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003134[2] = {
+ { 5, gTexture7F5734, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200315C[2] = {
- { 5, 0, gTexture7F57B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200315C[2] = {
+ { 5, gTexture7F57B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003184[2] = {
- { 5, 0, gTexture7F5834, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003184[2] = {
+ { 5, gTexture7F5834, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020031AC[2] = {
- { 5, 0, gTexture7F58B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020031AC[2] = {
+ { 5, gTexture7F58B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020031D4[2] = {
- { 5, 0, gTexture7F5934, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020031D4[2] = {
+ { 5, gTexture7F5934, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020031FC[2] = {
- { 5, 0, gTexture7F59B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020031FC[2] = {
+ { 5, gTexture7F59B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003224[2] = {
- { 5, 0, gTexture7F5A34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003224[2] = {
+ { 5, gTexture7F5A34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200324C[2] = {
- { 5, 0, gTexture7F5AB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200324C[2] = {
+ { 5, gTexture7F5AB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003274[2] = {
- { 5, 0, gTexture7F5B34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003274[2] = {
+ { 5, gTexture7F5B34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200329C[2] = {
- { 5, 0, gTexture7F5BB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200329C[2] = {
+ { 5, gTexture7F5BB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020032C4[2] = {
- { 5, 0, gTexture7F5C34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020032C4[2] = {
+ { 5, gTexture7F5C34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020032EC[2] = {
- { 5, 0, gTexture7F5CB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020032EC[2] = {
+ { 5, gTexture7F5CB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003314[2] = {
- { 5, 0, gTexture7F5D34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003314[2] = {
+ { 5, gTexture7F5D34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200333C[2] = {
- { 5, 0, gTexture7F4BB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200333C[2] = {
+ { 5, gTexture7F4BB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003364[2] = {
- { 5, 0, gTexture7F4C34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003364[2] = {
+ { 5, gTexture7F4C34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200338C[2] = {
- { 5, 0, gTexture7F4CB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200338C[2] = {
+ { 5, gTexture7F4CB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020033B4[2] = {
- { 5, 0, gTexture7F4134, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020033B4[2] = {
+ { 5, gTexture7F4134, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020033DC[2] = {
- { 5, 0, gTexture7F3834, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020033DC[2] = {
+ { 5, gTexture7F3834, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003404[2] = {
- { 5, 0, gTexture7F38B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003404[2] = {
+ { 5, gTexture7F38B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200342C[2] = {
- { 5, 0, gTexture7F3934, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200342C[2] = {
+ { 5, gTexture7F3934, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003454[2] = {
- { 5, 0, gTexture7F39B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003454[2] = {
+ { 5, gTexture7F39B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200347C[2] = {
- { 5, 0, gTexture7F3A34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200347C[2] = {
+ { 5, gTexture7F3A34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020034A4[2] = {
- { 5, 0, gTexture7F5DB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020034A4[2] = {
+ { 5, gTexture7F5DB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020034CC[2] = {
- { 5, 0, gTexture7F5E34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020034CC[2] = {
+ { 5, gTexture7F5E34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020034F4[2] = {
- { 5, 0, gTexture7F5EB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020034F4[2] = {
+ { 5, gTexture7F5EB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200351C[2] = {
- { 5, 0, gTexture7F5F34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200351C[2] = {
+ { 5, gTexture7F5F34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003544[2] = {
- { 5, 0, gTexture7F5FB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003544[2] = {
+ { 5, gTexture7F5FB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200356C[2] = {
- { 5, 0, gTexture7F62B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200356C[2] = {
+ { 5, gTexture7F62B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003594[2] = {
- { 5, 0, gTexture7F6334, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003594[2] = {
+ { 5, gTexture7F6334, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020035BC[2] = {
- { 5, 0, gTexture7F63B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020035BC[2] = {
+ { 5, gTexture7F63B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020035E4[2] = {
- { 5, 0, gTexture7F6434, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020035E4[2] = {
+ { 5, gTexture7F6434, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200360C[2] = {
- { 5, 0, gTexture7F64B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200360C[2] = {
+ { 5, gTexture7F64B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003634[2] = {
- { 5, 0, gTexture7F6534, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003634[2] = {
+ { 5, gTexture7F6534, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200365C[2] = {
- { 5, 0, gTexture7F65B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200365C[2] = {
+ { 5, gTexture7F65B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003684[2] = {
- { 5, 0, gTexture7F6634, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003684[2] = {
+ { 5, gTexture7F6634, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020036AC[2] = {
- { 5, 0, gTexture7F66B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020036AC[2] = {
+ { 5, gTexture7F66B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020036D4[2] = {
- { 5, 0, gTexture7F6734, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020036D4[2] = {
+ { 5, gTexture7F6734, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020036FC[2] = {
- { 5, 0, gTexture7F67B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020036FC[2] = {
+ { 5, gTexture7F67B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003724[2] = {
- { 5, 0, gTexture7F6834, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003724[2] = {
+ { 5, gTexture7F6834, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200374C[2] = {
- { 5, 0, gTexture7F68B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200374C[2] = {
+ { 5, gTexture7F68B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003774[2] = {
- { 5, 0, gTexture7F69B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003774[2] = {
+ { 5, gTexture7F69B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200379C[2] = {
- { 5, 0, gTexture7F6A34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200379C[2] = {
+ { 5, gTexture7F6A34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020037C4[2] = {
- { 5, 0, gTexture7F6AB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020037C4[2] = {
+ { 5, gTexture7F6AB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020037EC[2] = {
- { 5, 0, gTexture7F6B34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020037EC[2] = {
+ { 5, gTexture7F6B34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003814[2] = {
- { 5, 0, gTexture7F6BB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003814[2] = {
+ { 5, gTexture7F6BB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200383C[2] = {
- { 5, 0, gTexture7F6C34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200383C[2] = {
+ { 5, gTexture7F6C34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003864[2] = {
- { 5, 0, gTexture7F6CB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003864[2] = {
+ { 5, gTexture7F6CB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200388C[2] = {
- { 5, 0, gTexture7F6D34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200388C[2] = {
+ { 5, gTexture7F6D34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020038B4[2] = {
- { 5, 0, gTexture7F6DB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020038B4[2] = {
+ { 5, gTexture7F6DB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020038DC[2] = {
- { 5, 0, gTexture7F6E34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020038DC[2] = {
+ { 5, gTexture7F6E34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003904[2] = {
- { 5, 0, gTexture7F6EB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003904[2] = {
+ { 5, gTexture7F6EB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200392C[2] = {
- { 5, 0, gTexture7F6F34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200392C[2] = {
+ { 5, gTexture7F6F34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003954[2] = {
- { 5, 0, gTexture7F6FB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003954[2] = {
+ { 5, gTexture7F6FB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200397C[2] = {
- { 5, 0, gTexture7F7034, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200397C[2] = {
+ { 5, gTexture7F7034, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020039A4[2] = {
- { 5, 0, gTexture7F70B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020039A4[2] = {
+ { 5, gTexture7F70B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020039CC[2] = {
- { 5, 0, gTexture7F7134, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020039CC[2] = {
+ { 5, gTexture7F7134, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020039F4[2] = {
- { 5, 0, gTexture7F71B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020039F4[2] = {
+ { 5, gTexture7F71B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003A1C[2] = {
- { 5, 0, gTexture7F7234, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003A1C[2] = {
+ { 5, gTexture7F7234, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003A44[2] = {
- { 5, 0, gTexture7F72B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003A44[2] = {
+ { 5, gTexture7F72B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003A6C[2] = {
- { 5, 0, gTexture7F7334, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003A6C[2] = {
+ { 5, gTexture7F7334, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003A94[2] = {
- { 5, 0, gTexture7F7534, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003A94[2] = {
+ { 5, gTexture7F7534, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003ABC[2] = {
- { 5, 0, gTexture7F75B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003ABC[2] = {
+ { 5, gTexture7F75B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003AE4[2] = {
- { 5, 0, gTexture7F7634, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003AE4[2] = {
+ { 5, gTexture7F7634, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003B0C[2] = {
- { 5, 0, gTexture7F76B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003B0C[2] = {
+ { 5, gTexture7F76B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003B34[2] = {
- { 5, 0, gTexture7F7734, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003B34[2] = {
+ { 5, gTexture7F7734, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003B5C[2] = {
- { 5, 0, gTexture7F77B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003B5C[2] = {
+ { 5, gTexture7F77B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003B84[2] = {
- { 5, 0, gTexture7F7834, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003B84[2] = {
+ { 5, gTexture7F7834, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003BAC[2] = {
- { 5, 0, gTexture7F78B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003BAC[2] = {
+ { 5, gTexture7F78B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003BD4[2] = {
- { 5, 0, gTexture7F7934, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003BD4[2] = {
+ { 5, gTexture7F7934, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003BFC[2] = {
- { 5, 0, gTexture7F79B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003BFC[2] = {
+ { 5, gTexture7F79B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003C24[2] = {
- { 5, 0, gTexture7F7A34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003C24[2] = {
+ { 5, gTexture7F7A34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003C4C[2] = {
- { 5, 0, gTexture7F7AB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003C4C[2] = {
+ { 5, gTexture7F7AB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003C74[2] = {
- { 5, 0, gTexture7F7B34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003C74[2] = {
+ { 5, gTexture7F7B34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003C9C[2] = {
- { 5, 0, gTexture7F7BB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003C9C[2] = {
+ { 5, gTexture7F7BB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003CC4[2] = {
- { 5, 0, gTexture7F7C34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003CC4[2] = {
+ { 5, gTexture7F7C34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003CEC[2] = {
- { 5, 0, gTexture7F7CB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003CEC[2] = {
+ { 5, gTexture7F7CB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003D14[2] = {
- { 5, 0, gTexture7F7D34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003D14[2] = {
+ { 5, gTexture7F7D34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003D3C[2] = {
- { 5, 0, gTexture7F7DB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003D3C[2] = {
+ { 5, gTexture7F7DB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003D64[2] = {
- { 5, 0, gTexture7F7E34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003D64[2] = {
+ { 5, gTexture7F7E34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003D8C[2] = {
- { 5, 0, gTexture7F7EB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003D8C[2] = {
+ { 5, gTexture7F7EB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003DB4[2] = {
- { 5, 0, gTexture7F7F34, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003DB4[2] = {
+ { 5, gTexture7F7F34, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003DDC[2] = {
- { 5, 0, gTexture7F7FB4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003DDC[2] = {
+ { 5, gTexture7F7FB4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003E04[2] = {
- { 5, 0, gTexture7F8034, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003E04[2] = {
+ { 5, gTexture7F8034, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003E2C[2] = {
- { 5, 0, gTexture7F80B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003E2C[2] = {
+ { 5, gTexture7F80B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003E54[2] = {
- { 5, 0, gTexture7F8134, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003E54[2] = {
+ { 5, gTexture7F8134, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003E7C[2] = {
- { 5, 0, gTexture7F81B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003E7C[2] = {
+ { 5, gTexture7F81B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003EA4[2] = {
- { 5, 0, gTexture7F8234, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003EA4[2] = {
+ { 5, gTexture7F8234, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003ECC[2] = {
- { 5, 0, gTexture7F82B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003ECC[2] = {
+ { 5, gTexture7F82B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003EF4[2] = {
- { 5, 0, gTexture7F8334, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003EF4[2] = {
+ { 5, gTexture7F8334, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003F1C[2] = {
- { 5, 0, gTexture7F83B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003F1C[2] = {
+ { 5, gTexture7F83B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003F44[2] = {
- { 5, 0, gTexture7F8434, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003F44[2] = {
+ { 5, gTexture7F8434, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003F6C[2] = {
- { 5, 0, gTexture7F84B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003F6C[2] = {
+ { 5, gTexture7F84B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003F94[2] = {
- { 5, 0, gTexture7F8534, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003F94[2] = {
+ { 5, gTexture7F8534, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003FBC[2] = {
- { 5, 0, gTexture7F73B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003FBC[2] = {
+ { 5, gTexture7F73B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02003FE4[2] = {
- { 5, 0, gTexture7F7434, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02003FE4[2] = {
+ { 5, gTexture7F7434, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200400C[2] = {
- { 5, 0, gTexture7F74B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200400C[2] = {
+ { 5, gTexture7F74B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004034[2] = {
- { 5, 0, gTexture7F6934, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004034[2] = {
+ { 5, gTexture7F6934, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200405C[2] = {
- { 5, 0, gTexture7F6034, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200405C[2] = {
+ { 5, gTexture7F6034, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004084[2] = {
- { 5, 0, gTexture7F60B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004084[2] = {
+ { 5, gTexture7F60B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020040AC[2] = {
- { 5, 0, gTexture7F6134, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020040AC[2] = {
+ { 5, gTexture7F6134, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020040D4[2] = {
- { 5, 0, gTexture7F61B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020040D4[2] = {
+ { 5, gTexture7F61B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020040FC[2] = {
- { 5, 0, gTexture7F6234, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020040FC[2] = {
+ { 5, gTexture7F6234, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004124[2] = {
- { 5, 0, gTexture7F9BF4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004124[2] = {
+ { 5, gTexture7F9BF4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200414C[2] = {
- { 5, 0, gTexture7F8734, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200414C[2] = {
+ { 5, gTexture7F8734, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004174[2] = {
- { 5, 0, gTexture7F8914, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004174[2] = {
+ { 5, gTexture7F8914, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200419C[2] = {
- { 5, 0, gTexture7F8AF4, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200419C[2] = {
+ { 5, gTexture7F8AF4, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020041C4[2] = {
- { 5, 0, gTexture7F8CD4, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020041C4[2] = {
+ { 5, gTexture7F8CD4, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020041EC[2] = {
- { 5, 0, gTexture7F8EB4, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020041EC[2] = {
+ { 5, gTexture7F8EB4, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004214[2] = {
- { 5, 0, gTexture7F9094, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004214[2] = {
+ { 5, gTexture7F9094, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200423C[2] = {
- { 5, 0, gTexture7F9274, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200423C[2] = {
+ { 5, gTexture7F9274, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004264[2] = {
- { 5, 0, gTexture7F9454, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004264[2] = {
+ { 5, gTexture7F9454, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200428C[2] = {
- { 5, 0, gTexture7F9634, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200428C[2] = {
+ { 5, gTexture7F9634, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020042B4[2] = {
- { 5, 0, gTexture7F9814, 30, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020042B4[2] = {
+ { 5, gTexture7F9814, 30, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020042DC[2] = {
- { 5, 0, gTexture7F85B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020042DC[2] = {
+ { 5, gTexture7F85B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004304[2] = {
- { 5, 0, gTexture7F8634, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004304[2] = {
+ { 5, gTexture7F8634, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200432C[2] = {
- { 5, 0, gTexture7F86B4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200432C[2] = {
+ { 5, gTexture7F86B4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004354[2] = {
- { 5, 0, gTexture7F99F4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004354[2] = {
+ { 5, gTexture7F99F4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200437C[2] = {
- { 5, 0, gTexture7F9A74, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200437C[2] = {
+ { 5, gTexture7F9A74, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020043A4[2] = {
- { 5, 0, gTexture7F9CF4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020043A4[2] = {
+ { 5, gTexture7F9CF4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020043CC[2] = {
- { 5, 0, gTexture7F9DC4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020043CC[2] = {
+ { 5, gTexture7F9DC4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020043F4[2] = {
- { 5, 0, gTexture7F9E44, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020043F4[2] = {
+ { 5, gTexture7F9E44, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200441C[2] = {
- { 5, 0, gTexture7F9EC4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200441C[2] = {
+ { 5, gTexture7F9EC4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004444[2] = {
- { 5, 0, gTexture7FA044, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004444[2] = {
+ { 5, gTexture7FA044, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200446C[2] = {
- { 5, 0, gTexture7FA0C4, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200446C[2] = {
+ { 5, gTexture7FA0C4, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004494[2] = {
- { 5, 0, gTexture7FA194, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004494[2] = {
+ { 5, gTexture7FA194, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020044BC[2] = {
- { 5, 0, gTexture7FA264, 26, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020044BC[2] = {
+ { 5, gTexture7FA264, 26, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020044E4[2] = {
- { 5, 0, gTexture7F9AF4, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020044E4[2] = {
+ { 5, gTexture7F9AF4, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200450C[2] = {
- { 5, 0, gTexture7F9B74, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200450C[2] = {
+ { 5, gTexture7F9B74, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004534[2] = {
- { 5, 0, gTexture7FA334, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004534[2] = {
+ { 5, gTexture7FA334, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200455C[2] = {
- { 5, 0, gTexture7F9C74, 16, 16, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200455C[2] = {
+ { 5, gTexture7F9C74, 16, 16, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown empty MkTexture
+ * @brief unknown empty MenuTexture
*
*/
-MkTexture D_02004584[1] = {
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004584[1] = {
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the blue sky background
+ * @brief MenuTexture for the blue sky background
*
*/
-MkTexture D_02004598[2] = {
- { 0, 0, gTextureBackgroundBlueSky, 320, 240, 0, 0, 0xcd60, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_blue_sky_background_texture[2] = {
+ { 0, gTextureBackgroundBlueSky, 320, 240, 0, 0, 0xcd60},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the sunset background
+ * @brief MenuTexture for the sunset background
*
*/
-MkTexture D_020045C0[2] = {
- { 0, 0, gTextureBackgroundSunset, 320, 240, 0, 0, 0x93c4, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_sunset_background_texture[2] = {
+ { 0, gTextureBackgroundSunset, 320, 240, 0, 0, 0x93c4},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for copyright
+ * @brief MenuTexture for copyright
*
*/
-MkTexture D_020045E8[2] = {
- { 1, 0, gTextureCopyright1996, 124, 17, 98, 199, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_copyright_1996_texture[2] = {
+ { 1, gTextureCopyright1996, 124, 17, 98, 199, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for press start
+ * @brief MenuTexture for press start
*
*/
-MkTexture D_02004610[2] = {
- { 1, 0, gTexturePushStartButton, 159, 16, 81, 179, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_push_start_button_texture[2] = {
+ { 1, gTexturePushStartButton, 159, 16, 81, 179, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the options menu
+ * @brief MenuTexture for the options menu
*
*/
-MkTexture D_02004638[2] = {
- { 0, 0, gTextureOption, 130, 32, 95, 16, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004638[2] = {
+ { 0, gTextureOption, 130, 32, 95, 16, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the game select menu
+ * @brief MenuTexture for the game select menu
*
*/
-MkTexture D_02004660[2] = {
- { 0, 0, gTextureGameSelect, 200, 32, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_game_select_texture[2] = {
+ { 0, gTextureGameSelect, 200, 32, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the first colone one player
+ * @brief MenuTexture for the first colone one player
*
*/
-MkTexture D_02004688[4] = {
- { 1, 0, gTextureMenu1PGame, 64, 54, 0, 0, 0x0, 0 },
- { 1, 0, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0, 0 },
- { 1, 0, gTextureMenuModeTimeTrials, 64, 18, 0, 83, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_menu_1p_column[4] = {
+ { 1, gTextureMenu1PGame, 64, 54, 0, 0, 0x0},
+ { 1, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0},
+ { 1, gTextureMenuModeTimeTrials, 64, 18, 0, 83, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the first colone two player
+ * @brief MenuTexture for the first colone two player
*
*/
-MkTexture D_020046D8[5] = {
- { 1, 0, gTextureMenu2PGame, 64, 54, 0, 0, 0x0, 0 },
- { 1, 0, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0, 0 },
- { 1, 0, gTextureMenuModeVS, 64, 18, 0, 83, 0x0, 0 },
- { 1, 0, gTextureMenuModeBattle, 64, 18, 0, 101, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_menu_2p_column[5] = {
+ { 1, gTextureMenu2PGame, 64, 54, 0, 0, 0x0},
+ { 1, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0},
+ { 1, gTextureMenuModeVS, 64, 18, 0, 83, 0x0},
+ { 1, gTextureMenuModeBattle, 64, 18, 0, 101, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the first colone three player
+ * @brief MenuTexture for the first colone three player
*
*/
-MkTexture D_0200473C[4] = {
- { 1, 0, gTextureMenu3PGame, 64, 54, 0, 0, 0x0, 0 },
- { 1, 0, gTextureMenuModeVS, 64, 18, 0, 65, 0x0, 0 },
- { 1, 0, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_menu_3p_column[4] = {
+ { 1, gTextureMenu3PGame, 64, 54, 0, 0, 0x0},
+ { 1, gTextureMenuModeVS, 64, 18, 0, 65, 0x0},
+ { 1, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for the first colone four player
+ * @brief MenuTexture for the first colone four player
*
*/
-MkTexture D_0200478C[4] = {
- { 1, 0, gTextureMenu4PGame, 64, 54, 0, 0, 0x0, 0 },
- { 1, 0, gTextureMenuModeVS, 64, 18, 0, 65, 0x0, 0 },
- { 1, 0, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_menu_4p_column[4] = {
+ { 1, gTextureMenu4PGame, 64, 54, 0, 0, 0x0},
+ { 1, gTextureMenuModeVS, 64, 18, 0, 65, 0x0},
+ { 1, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_020047DC[2] = {
- { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020047DC[2] = {
+ { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004804[2] = {
- { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004804[2] = {
+ { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200482C[2] = {
- { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200482C[2] = {
+ { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_02004854[2] = {
- { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004854[2] = {
+ { 1, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief unknown MkTexture
+ * @brief unknown MenuTexture
*
*/
-MkTexture D_0200487C[2] = {
- { 1, 0, gTextureMenuOK, 31, 19, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_0200487C[2] = {
+ { 1, gTextureMenuOK, 31, 19, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for Menu L Option
+ * @brief MenuTexture for Menu L Option
*
*/
-MkTexture D_020048A4[2] = {
- { 1, 0, gTextureMenuLOption, 58, 19, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020048A4[2] = {
+ { 1, gTextureMenuLOption, 58, 19, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for Menu R Option
+ * @brief MenuTexture for Menu R Option
*
*/
-MkTexture D_020048CC[2] = {
- { 1, 0, gTextureMenuRData, 58, 19, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020048CC[2] = {
+ { 1, gTextureMenuRData, 58, 19, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for Menu 50cc
+ * @brief MenuTexture for Menu 50cc
*
*/
-MkTexture D_020048F4[2] = {
- { 1, 0, gTextureMenu50cc, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_50_CC_texture[2] = {
+ { 1, gTextureMenu50cc, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for Menu 100cc
+ * @brief MenuTexture for Menu 100cc
*
*/
-MkTexture D_0200491C[2] = {
- { 1, 0, gTextureMenu100cc, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_100_CC_texture[2] = {
+ { 1, gTextureMenu100cc, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for Menu 150cc
+ * @brief MenuTexture for Menu 150cc
*
*/
-MkTexture D_02004944[2] = {
- { 1, 0, gTextureMenu150cc, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_150_CC_texture[2] = {
+ { 1, gTextureMenu150cc, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture for Menu Extra
+ * @brief MenuTexture for Menu Extra
*
*/
-MkTexture D_0200496C[2] = {
- { 1, 0, gTextureMenuExtra, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_extra_CC_texture[2] = {
+ { 1, gTextureMenuExtra, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Without Item
+ * @brief MenuTextures for Menu Without Item
*
*/
-MkTexture D_02004994[2] = {
- { 1, 0, gTextureMenuWithoutItem, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_menu_no_item_texture[2] = {
+ { 1, gTextureMenuWithoutItem, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu With Item
+ * @brief MenuTextures for Menu With Item
*
*/
-MkTexture D_020049BC[2] = {
- { 1, 0, gTextureMenuWithItem, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020049BC[2] = {
+ { 1, gTextureMenuWithItem, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Begin
+ * @brief MenuTextures for Menu Begin
*
*/
-MkTexture D_020049E4[2] = {
- { 1, 0, gTextureMenuBegin, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020049E4[2] = {
+ { 1, gTextureMenuBegin, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Ghost
+ * @brief MenuTextures for Menu Ghost
*
*/
-MkTexture D_02004A0C[2] = {
- { 1, 0, gTextureMenuGhost, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004A0C[2] = {
+ { 1, gTextureMenuGhost, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Data
+ * @brief MenuTextures for Menu Data
*
*/
-MkTexture D_02004A34[2] = {
- { 1, 0, gTextureMenuData, 64, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_data_texture[2] = {
+ { 1, gTextureMenuData, 64, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures P1 Border ?
+ * @brief MenuTextures P1 Border ?
*
*/
-MkTexture D_02004A5C[3] = {
- { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 },
- { 4, 0, gTextureP1BorderBlue, 64, 64, 0, 0, 0x0000, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_P1_border_texture[3] = {
+ { 3, gTexture7E56E4, 64, 64, 0, 0, 0x116c},
+ { 4, gTextureP1BorderBlue, 64, 64, 0, 0, 0x0000},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures P2 Border ?
+ * @brief MenuTextures P2 Border ?
*
*/
-MkTexture D_02004A98[3] = {
- { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 },
- { 4, 0, gTextureP2BorderRed, 64, 64, 0, 0, 0x0000, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_P2_border_texture[3] = {
+ { 3, gTexture7E56E4, 64, 64, 0, 0, 0x116c},
+ { 4, gTextureP2BorderRed, 64, 64, 0, 0, 0x0000},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures P3 Border ?
+ * @brief MenuTextures P3 Border ?
*
*/
-MkTexture D_02004AD4[3] = {
- { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 },
- { 4, 0, gTextureP3BorderOrange, 64, 64, 0, 0, 0x0000, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_P3_border_texture[3] = {
+ { 3, gTexture7E56E4, 64, 64, 0, 0, 0x116c},
+ { 4, gTextureP3BorderOrange, 64, 64, 0, 0, 0x0000},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures P4 Border ?
+ * @brief MenuTextures P4 Border ?
*
*/
-MkTexture D_02004B10[3] = {
- { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 },
- { 4, 0, gTextureP4BorderGreen, 64, 64, 0, 0, 0x0000, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_P4_border_texture[3] = {
+ { 3, gTexture7E56E4, 64, 64, 0, 0, 0x116c},
+ { 4, gTextureP4BorderGreen, 64, 64, 0, 0, 0x0000},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Player Select
+ * @brief MenuTextures for Menu Player Select
*
*/
-MkTexture D_02004B4C[2] = {
- { 0, 0, gTexturePlayerSelect, 220, 32, 51, 16, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004B4C[2] = {
+ { 0, gTexturePlayerSelect, 220, 32, 51, 16, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu OK
+ * @brief MenuTextures for Menu OK
*
*/
-MkTexture D_02004B74[2] = {
- { 1, 0, gTextureMenuOK, 31, 19, 264, 202, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004B74[2] = {
+ { 1, gTextureMenuOK, 31, 19, 264, 202, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Select
+ * @brief MenuTextures for Menu Select
*
*/
-MkTexture D_02004B9C[2] = {
- { 0, 0, gTextureMapSelect, 190, 32, 65, 18, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_menu_select_texture[2] = {
+ { 0, gTextureMapSelect, 190, 32, 65, 18, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Mushroom Cup
+ * @brief MenuTextures for Menu Mushroom Cup
*
*/
-MkTexture D_02004BC4[2] = {
- { 1, 0, gTextureMenuMushroomCup, 65, 40, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_mushroom_cup_texture[2] = {
+ { 1, gTextureMenuMushroomCup, 65, 40, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Flower Cup
+ * @brief MenuTextures for Menu Flower Cup
*
*/
-MkTexture D_02004BEC[2] = {
- { 1, 0, gTextureMenuFlowerCup, 65, 40, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_flower_cup_texture[2] = {
+ { 1, gTextureMenuFlowerCup, 65, 40, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Star Cup
+ * @brief MenuTextures for Menu Star Cup
*
*/
-MkTexture D_02004C14[2] = {
- { 1, 0, gTextureMenuStarCup, 65, 40, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_star_cup_texture[2] = {
+ { 1, gTextureMenuStarCup, 65, 40, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Menu Special Cup
+ * @brief MenuTextures for Menu Special Cup
*
*/
-MkTexture D_02004C3C[2] = {
- { 1, 0, gTextureMenuSpecialCup, 65, 40, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_special_cup_texture[2] = {
+ { 1, gTextureMenuSpecialCup, 65, 40, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for the course preview mario raceway
+ * @brief MenuTextures for the course preview mario raceway
*
*/
-MkTexture D_02004C64[2] = {
- { 0, 0, gTextureCoursePreviewMarioRaceway, 128, 78, 23, 112, 0x1e3d, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_mario_raceway_preview_small_texture[2] = {
+ { 0, gTextureCoursePreviewMarioRaceway, 128, 78, 23, 112, 0x1e3d},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture title for mushroom cup
+ * @brief MenuTexture title for mushroom cup
*
*/
-MkTexture D_02004C8C[5] = {
- { 1, 0, gTextureTitleLuigiRaceway, 140, 18, 157, 112, 0x0, 0 },
- { 1, 0, gTextureTitleMooMooFarm, 140, 18, 157, 136, 0x0, 0 },
- { 1, 0, gTextureTitleKoopaTroopaBeach, 140, 18, 157, 160, 0x0, 0 },
- { 1, 0, gTextureTitleKalimariDesert, 140, 18, 157, 184, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_mushroom_cup_title_texture[5] = {
+ { 1, gTextureTitleLuigiRaceway, 140, 18, 157, 112, 0x0},
+ { 1, gTextureTitleMooMooFarm, 140, 18, 157, 136, 0x0},
+ { 1, gTextureTitleKoopaTroopaBeach, 140, 18, 157, 160, 0x0},
+ { 1, gTextureTitleKalimariDesert, 140, 18, 157, 184, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture title for flower cup
+ * @brief MenuTexture title for flower cup
*
*/
-MkTexture D_02004CF0[5] = {
- { 1, 0, gTextureTitleToadsTurnpike, 140, 18, 157, 112, 0x0, 0 },
- { 1, 0, gTextureTitleFrappeSnowland, 140, 18, 157, 136, 0x0, 0 },
- { 1, 0, gTextureTitleChocoMountain, 140, 18, 157, 160, 0x0, 0 },
- { 1, 0, gTextureTitleMarioRaceway, 140, 18, 157, 184, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_flower_cup_title_texture[5] = {
+ { 1, gTextureTitleToadsTurnpike, 140, 18, 157, 112, 0x0},
+ { 1, gTextureTitleFrappeSnowland, 140, 18, 157, 136, 0x0},
+ { 1, gTextureTitleChocoMountain, 140, 18, 157, 160, 0x0},
+ { 1, gTextureTitleMarioRaceway, 140, 18, 157, 184, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture title for star cup
+ * @brief MenuTexture title for star cup
*
*/
-MkTexture D_02004D54[5] = {
- { 1, 0, gTextureTitleWarioStadium, 140, 18, 157, 112, 0x0, 0 },
- { 1, 0, gTextureTitleSherbetLand, 140, 18, 157, 136, 0x0, 0 },
- { 1, 0, gTextureTitleRoyalRaceway, 140, 18, 157, 160, 0x0, 0 },
- { 1, 0, gTextureTitleBowsersCastle, 140, 18, 157, 184, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_star_cup_title_texture[5] = {
+ { 1, gTextureTitleWarioStadium, 140, 18, 157, 112, 0x0},
+ { 1, gTextureTitleSherbetLand, 140, 18, 157, 136, 0x0},
+ { 1, gTextureTitleRoyalRaceway, 140, 18, 157, 160, 0x0},
+ { 1, gTextureTitleBowsersCastle, 140, 18, 157, 184, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTexture title for special cup
+ * @brief MenuTexture title for special cup
*
*/
-MkTexture D_02004DB8[5] = {
- { 1, 0, gTextureTitleDKsJungleParkway, 140, 18, 157, 112, 0x0, 0 },
- { 1, 0, gTextureTitleYoshiValley, 140, 18, 157, 136, 0x0, 0 },
- { 1, 0, gTextureTitleBansheeBoardwalk, 140, 18, 157, 160, 0x0, 0 },
- { 1, 0, gTextureTitleRainbowRoad, 140, 18, 157, 184, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_special_cup_title_texture[5] = {
+ { 1, gTextureTitleDKsJungleParkway, 140, 18, 157, 112, 0x0},
+ { 1, gTextureTitleYoshiValley, 140, 18, 157, 136, 0x0},
+ { 1, gTextureTitleBansheeBoardwalk, 140, 18, 157, 160, 0x0},
+ { 1, gTextureTitleRainbowRoad, 140, 18, 157, 184, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title for battle mode
+ * @brief MenuTextures title for battle mode
*
*/
-MkTexture D_02004E1C[5] = {
- { 1, 0, gTextureTitleBigDonut, 140, 18, 157, 112, 0x0, 0 },
- { 1, 0, gTextureTitleBlockFort, 140, 18, 157, 136, 0x0, 0 },
- { 1, 0, gTextureTitleDoubleDeck, 140, 18, 157, 160, 0x0, 0 },
- { 1, 0, gTextureTitleSkyscraper, 140, 18, 157, 184, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_battle_title_texture[5] = {
+ { 1, gTextureTitleBigDonut, 140, 18, 157, 112, 0x0},
+ { 1, gTextureTitleBlockFort, 140, 18, 157, 136, 0x0},
+ { 1, gTextureTitleDoubleDeck, 140, 18, 157, 160, 0x0},
+ { 1, gTextureTitleSkyscraper, 140, 18, 157, 184, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures Menu OK
+ * @brief MenuTextures Menu OK
*
*/
-MkTexture D_02004E80[2] = {
- { 1, 0, gTextureMenuOK, 31, 19, 265, 208, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004E80[2] = {
+ { 1, gTextureMenuOK, 31, 19, 265, 208, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Mario Raceway
+ * @brief MenuTextures title Mario Raceway
*
*/
-MkTexture D_02004EA8[2] = {
- { 1, 0, gTextureTitleMarioRaceway, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_mario_raceway_title_texture[2] = {
+ { 1, gTextureTitleMarioRaceway, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Choco Mountain
+ * @brief MenuTextures title Choco Mountain
*
*/
-MkTexture D_02004ED0[2] = {
- { 1, 0, gTextureTitleChocoMountain, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture seg2_choco_mountain_title_texture[2] = {
+ { 1, gTextureTitleChocoMountain, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Bowser's Castle
+ * @brief MenuTextures title Bowser's Castle
*
*/
-MkTexture D_02004EF8[2] = {
- { 1, 0, gTextureTitleBowsersCastle, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004EF8[2] = {
+ { 1, gTextureTitleBowsersCastle, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Banshee Boardwalk
+ * @brief MenuTextures title Banshee Boardwalk
*
*/
-MkTexture D_02004F20[2] = {
- { 1, 0, gTextureTitleBansheeBoardwalk, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004F20[2] = {
+ { 1, gTextureTitleBansheeBoardwalk, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Yoshi Valley
+ * @brief MenuTextures title Yoshi Valley
*
*/
-MkTexture D_02004F48[2] = {
- { 1, 0, gTextureTitleYoshiValley, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004F48[2] = {
+ { 1, gTextureTitleYoshiValley, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Frappe Snowland
+ * @brief MenuTextures title Frappe Snowland
*
*/
-MkTexture D_02004F70[2] = {
- { 1, 0, gTextureTitleFrappeSnowland, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004F70[2] = {
+ { 1, gTextureTitleFrappeSnowland, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Koopa Troopa Beach
+ * @brief MenuTextures title Koopa Troopa Beach
*
*/
-MkTexture D_02004F98[2] = {
- { 1, 0, gTextureTitleKoopaTroopaBeach, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004F98[2] = {
+ { 1, gTextureTitleKoopaTroopaBeach, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Royal Raceway
+ * @brief MenuTextures title Royal Raceway
*
*/
-MkTexture D_02004FC0[2] = {
- { 1, 0, gTextureTitleRoyalRaceway, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004FC0[2] = {
+ { 1, gTextureTitleRoyalRaceway, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Luigi Raceway
+ * @brief MenuTextures title Luigi Raceway
*
*/
-MkTexture D_02004FE8[2] = {
- { 1, 0, gTextureTitleLuigiRaceway, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02004FE8[2] = {
+ { 1, gTextureTitleLuigiRaceway, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Moo Moo Farm
+ * @brief MenuTextures title Moo Moo Farm
*
*/
-MkTexture D_02005010[2] = {
- { 1, 0, gTextureTitleMooMooFarm, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005010[2] = {
+ { 1, gTextureTitleMooMooFarm, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Toad's Turnpike
+ * @brief MenuTextures title Toad's Turnpike
*
*/
-MkTexture D_02005038[2] = {
- { 1, 0, gTextureTitleToadsTurnpike, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005038[2] = {
+ { 1, gTextureTitleToadsTurnpike, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Kalimari Desert
+ * @brief MenuTextures title Kalimari Desert
*
*/
-MkTexture D_02005060[2] = {
- { 1, 0, gTextureTitleKalimariDesert, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005060[2] = {
+ { 1, gTextureTitleKalimariDesert, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Sherbet Land
+ * @brief MenuTextures title Sherbet Land
*
*/
-MkTexture D_02005088[2] = {
- { 1, 0, gTextureTitleSherbetLand, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005088[2] = {
+ { 1, gTextureTitleSherbetLand, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Rainbow Road
+ * @brief MenuTextures title Rainbow Road
*
*/
-MkTexture D_020050B0[2] = {
- { 1, 0, gTextureTitleRainbowRoad, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020050B0[2] = {
+ { 1, gTextureTitleRainbowRoad, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Wario Stadium
+ * @brief MenuTextures title Wario Stadium
*
*/
-MkTexture D_020050D8[2] = {
- { 1, 0, gTextureTitleWarioStadium, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020050D8[2] = {
+ { 1, gTextureTitleWarioStadium, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Block Fort
+ * @brief MenuTextures title Block Fort
*
*/
-MkTexture D_02005100[2] = {
- { 1, 0, gTextureTitleBlockFort, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005100[2] = {
+ { 1, gTextureTitleBlockFort, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Skyscraper
+ * @brief MenuTextures title Skyscraper
*
*/
-MkTexture D_02005128[2] = {
- { 1, 0, gTextureTitleSkyscraper, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005128[2] = {
+ { 1, gTextureTitleSkyscraper, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Double Deck
+ * @brief MenuTextures title Double Deck
*
*/
-MkTexture D_02005150[2] = {
- { 1, 0, gTextureTitleDoubleDeck, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005150[2] = {
+ { 1, gTextureTitleDoubleDeck, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title DK's Jungle Parkway
+ * @brief MenuTextures title DK's Jungle Parkway
*
*/
-MkTexture D_02005178[2] = {
- { 1, 0, gTextureTitleDKsJungleParkway, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005178[2] = {
+ { 1, gTextureTitleDKsJungleParkway, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures title Big Donut
+ * @brief MenuTextures title Big Donut
*
*/
-MkTexture D_020051A0[2] = {
- { 1, 0, gTextureTitleBigDonut, 140, 18, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020051A0[2] = {
+ { 1, gTextureTitleBigDonut, 140, 18, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 00
+ * @brief MenuTextures for Mario Face 00
*
*/
-MkTexture D_020051C8[2] = {
- { 0, 0, gTextureMarioFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020051C8[2] = {
+ { 0, gTextureMarioFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 01
+ * @brief MenuTextures for Mario Face 01
*
*/
-MkTexture D_020051F0[2] = {
- { 0, 0, gTextureMarioFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020051F0[2] = {
+ { 0, gTextureMarioFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 02
+ * @brief MenuTextures for Mario Face 02
*
*/
-MkTexture D_02005218[2] = {
- { 0, 0, gTextureMarioFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005218[2] = {
+ { 0, gTextureMarioFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 03
+ * @brief MenuTextures for Mario Face 03
*
*/
-MkTexture D_02005240[2] = {
- { 0, 0, gTextureMarioFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005240[2] = {
+ { 0, gTextureMarioFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 04
+ * @brief MenuTextures for Mario Face 04
*
*/
-MkTexture D_02005268[2] = {
- { 0, 0, gTextureMarioFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005268[2] = {
+ { 0, gTextureMarioFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 05
+ * @brief MenuTextures for Mario Face 05
*
*/
-MkTexture D_02005290[2] = {
- { 0, 0, gTextureMarioFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005290[2] = {
+ { 0, gTextureMarioFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 06
+ * @brief MenuTextures for Mario Face 06
*
*/
-MkTexture D_020052B8[2] = {
- { 0, 0, gTextureMarioFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020052B8[2] = {
+ { 0, gTextureMarioFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 07
+ * @brief MenuTextures for Mario Face 07
*
*/
-MkTexture D_020052E0[2] = {
- { 0, 0, gTextureMarioFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020052E0[2] = {
+ { 0, gTextureMarioFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 08
+ * @brief MenuTextures for Mario Face 08
*
*/
-MkTexture D_02005308[2] = {
- { 0, 0, gTextureMarioFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005308[2] = {
+ { 0, gTextureMarioFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 09
+ * @brief MenuTextures for Mario Face 09
*
*/
-MkTexture D_02005330[2] = {
- { 0, 0, gTextureMarioFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005330[2] = {
+ { 0, gTextureMarioFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 10
+ * @brief MenuTextures for Mario Face 10
*
*/
-MkTexture D_02005358[2] = {
- { 0, 0, gTextureMarioFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005358[2] = {
+ { 0, gTextureMarioFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 11
+ * @brief MenuTextures for Mario Face 11
*
*/
-MkTexture D_02005380[2] = {
- { 0, 0, gTextureMarioFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005380[2] = {
+ { 0, gTextureMarioFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 12
+ * @brief MenuTextures for Mario Face 12
*
*/
-MkTexture D_020053A8[2] = {
- { 0, 0, gTextureMarioFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020053A8[2] = {
+ { 0, gTextureMarioFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 13
+ * @brief MenuTextures for Mario Face 13
*
*/
-MkTexture D_020053D0[2] = {
- { 0, 0, gTextureMarioFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020053D0[2] = {
+ { 0, gTextureMarioFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 14
+ * @brief MenuTextures for Mario Face 14
*
*/
-MkTexture D_020053F8[2] = {
- { 0, 0, gTextureMarioFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020053F8[2] = {
+ { 0, gTextureMarioFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 15
+ * @brief MenuTextures for Mario Face 15
*
*/
-MkTexture D_02005420[2] = {
- { 0, 0, gTextureMarioFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005420[2] = {
+ { 0, gTextureMarioFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Mario Face 16
+ * @brief MenuTextures for Mario Face 16
*
*/
-MkTexture D_02005448[2] = {
- { 0, 0, gTextureMarioFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005448[2] = {
+ { 0, gTextureMarioFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 00
+ * @brief MenuTextures for Luigi Face 00
*
*/
-MkTexture D_02005470[2] = {
- { 0, 0, gTextureLuigiFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005470[2] = {
+ { 0, gTextureLuigiFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 01
+ * @brief MenuTextures for Luigi Face 01
*
*/
-MkTexture D_02005498[2] = {
- { 0, 0, gTextureLuigiFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005498[2] = {
+ { 0, gTextureLuigiFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 02
+ * @brief MenuTextures for Luigi Face 02
*
*/
-MkTexture D_020054C0[2] = {
- { 0, 0, gTextureLuigiFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020054C0[2] = {
+ { 0, gTextureLuigiFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 03
+ * @brief MenuTextures for Luigi Face 03
*
*/
-MkTexture D_020054E8[2] = {
- { 0, 0, gTextureLuigiFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020054E8[2] = {
+ { 0, gTextureLuigiFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 04
+ * @brief MenuTextures for Luigi Face 04
*
*/
-MkTexture D_02005510[2] = {
- { 0, 0, gTextureLuigiFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005510[2] = {
+ { 0, gTextureLuigiFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 05
+ * @brief MenuTextures for Luigi Face 05
*
*/
-MkTexture D_02005538[2] = {
- { 0, 0, gTextureLuigiFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005538[2] = {
+ { 0, gTextureLuigiFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 06
+ * @brief MenuTextures for Luigi Face 06
*
*/
-MkTexture D_02005560[2] = {
- { 0, 0, gTextureLuigiFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005560[2] = {
+ { 0, gTextureLuigiFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 07
+ * @brief MenuTextures for Luigi Face 07
*
*/
-MkTexture D_02005588[2] = {
- { 0, 0, gTextureLuigiFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005588[2] = {
+ { 0, gTextureLuigiFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 08
+ * @brief MenuTextures for Luigi Face 08
*
*/
-MkTexture D_020055B0[2] = {
- { 0, 0, gTextureLuigiFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020055B0[2] = {
+ { 0, gTextureLuigiFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 09
+ * @brief MenuTextures for Luigi Face 09
*
*/
-MkTexture D_020055D8[2] = {
- { 0, 0, gTextureLuigiFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020055D8[2] = {
+ { 0, gTextureLuigiFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 10
+ * @brief MenuTextures for Luigi Face 10
*
*/
-MkTexture D_02005600[2] = {
- { 0, 0, gTextureLuigiFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005600[2] = {
+ { 0, gTextureLuigiFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 11
+ * @brief MenuTextures for Luigi Face 11
*
*/
-MkTexture D_02005628[2] = {
- { 0, 0, gTextureLuigiFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005628[2] = {
+ { 0, gTextureLuigiFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 12
+ * @brief MenuTextures for Luigi Face 12
*
*/
-MkTexture D_02005650[2] = {
- { 0, 0, gTextureLuigiFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005650[2] = {
+ { 0, gTextureLuigiFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 13
+ * @brief MenuTextures for Luigi Face 13
*
*/
-MkTexture D_02005678[2] = {
- { 0, 0, gTextureLuigiFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005678[2] = {
+ { 0, gTextureLuigiFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 14
+ * @brief MenuTextures for Luigi Face 14
*
*/
-MkTexture D_020056A0[2] = {
- { 0, 0, gTextureLuigiFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020056A0[2] = {
+ { 0, gTextureLuigiFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 15
+ * @brief MenuTextures for Luigi Face 15
*
*/
-MkTexture D_020056C8[2] = {
- { 0, 0, gTextureLuigiFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020056C8[2] = {
+ { 0, gTextureLuigiFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Luigi Face 16
+ * @brief MenuTextures for Luigi Face 16
*
*/
-MkTexture D_020056F0[2] = {
- { 0, 0, gTextureLuigiFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020056F0[2] = {
+ { 0, gTextureLuigiFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 00
+ * @brief MenuTextures for Toad Face 00
*
*/
-MkTexture D_02005718[2] = {
- { 0, 0, gTextureToadFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005718[2] = {
+ { 0, gTextureToadFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 01
+ * @brief MenuTextures for Toad Face 01
*
*/
-MkTexture D_02005740[2] = {
- { 0, 0, gTextureToadFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005740[2] = {
+ { 0, gTextureToadFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 02
+ * @brief MenuTextures for Toad Face 02
*
*/
-MkTexture D_02005768[2] = {
- { 0, 0, gTextureToadFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005768[2] = {
+ { 0, gTextureToadFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 03
+ * @brief MenuTextures for Toad Face 03
*
*/
-MkTexture D_02005790[2] = {
- { 0, 0, gTextureToadFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005790[2] = {
+ { 0, gTextureToadFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 04
+ * @brief MenuTextures for Toad Face 04
*
*/
-MkTexture D_020057B8[2] = {
- { 0, 0, gTextureToadFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020057B8[2] = {
+ { 0, gTextureToadFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 05
+ * @brief MenuTextures for Toad Face 05
*
*/
-MkTexture D_020057E0[2] = {
- { 0, 0, gTextureToadFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020057E0[2] = {
+ { 0, gTextureToadFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 06
+ * @brief MenuTextures for Toad Face 06
*
*/
-MkTexture D_02005808[2] = {
- { 0, 0, gTextureToadFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005808[2] = {
+ { 0, gTextureToadFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 07
+ * @brief MenuTextures for Toad Face 07
*
*/
-MkTexture D_02005830[2] = {
- { 0, 0, gTextureToadFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005830[2] = {
+ { 0, gTextureToadFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 08
+ * @brief MenuTextures for Toad Face 08
*
*/
-MkTexture D_02005858[2] = {
- { 0, 0, gTextureToadFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005858[2] = {
+ { 0, gTextureToadFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 09
+ * @brief MenuTextures for Toad Face 09
*
*/
-MkTexture D_02005880[2] = {
- { 0, 0, gTextureToadFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005880[2] = {
+ { 0, gTextureToadFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 10
+ * @brief MenuTextures for Toad Face 10
*
*/
-MkTexture D_020058A8[2] = {
- { 0, 0, gTextureToadFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020058A8[2] = {
+ { 0, gTextureToadFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 11
+ * @brief MenuTextures for Toad Face 11
*
*/
-MkTexture D_020058D0[2] = {
- { 0, 0, gTextureToadFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020058D0[2] = {
+ { 0, gTextureToadFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 12
+ * @brief MenuTextures for Toad Face 12
*
*/
-MkTexture D_020058F8[2] = {
- { 0, 0, gTextureToadFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020058F8[2] = {
+ { 0, gTextureToadFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 13
+ * @brief MenuTextures for Toad Face 13
*
*/
-MkTexture D_02005920[2] = {
- { 0, 0, gTextureToadFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005920[2] = {
+ { 0, gTextureToadFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 14
+ * @brief MenuTextures for Toad Face 14
*
*/
-MkTexture D_02005948[2] = {
- { 0, 0, gTextureToadFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005948[2] = {
+ { 0, gTextureToadFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 15
+ * @brief MenuTextures for Toad Face 15
*
*/
-MkTexture D_02005970[2] = {
- { 0, 0, gTextureToadFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005970[2] = {
+ { 0, gTextureToadFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Toad Face 16
+ * @brief MenuTextures for Toad Face 16
*
*/
-MkTexture D_02005998[2] = {
- { 0, 0, gTextureToadFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005998[2] = {
+ { 0, gTextureToadFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 00
+ * @brief MenuTextures for Peach Face 00
*
*/
-MkTexture D_020059C0[2] = {
- { 0, 0, gTexturePeachFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020059C0[2] = {
+ { 0, gTexturePeachFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 01
+ * @brief MenuTextures for Peach Face 01
*
*/
-MkTexture D_020059E8[2] = {
- { 0, 0, gTexturePeachFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020059E8[2] = {
+ { 0, gTexturePeachFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 02
+ * @brief MenuTextures for Peach Face 02
*
*/
-MkTexture D_02005A10[2] = {
- { 0, 0, gTexturePeachFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005A10[2] = {
+ { 0, gTexturePeachFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 03
+ * @brief MenuTextures for Peach Face 03
*
*/
-MkTexture D_02005A38[2] = {
- { 0, 0, gTexturePeachFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005A38[2] = {
+ { 0, gTexturePeachFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 04
+ * @brief MenuTextures for Peach Face 04
*
*/
-MkTexture D_02005A60[2] = {
- { 0, 0, gTexturePeachFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005A60[2] = {
+ { 0, gTexturePeachFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 05
+ * @brief MenuTextures for Peach Face 05
*
*/
-MkTexture D_02005A88[2] = {
- { 0, 0, gTexturePeachFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005A88[2] = {
+ { 0, gTexturePeachFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 06
+ * @brief MenuTextures for Peach Face 06
*
*/
-MkTexture D_02005AB0[2] = {
- { 0, 0, gTexturePeachFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005AB0[2] = {
+ { 0, gTexturePeachFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 07
+ * @brief MenuTextures for Peach Face 07
*
*/
-MkTexture D_02005AD8[2] = {
- { 0, 0, gTexturePeachFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005AD8[2] = {
+ { 0, gTexturePeachFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 08
+ * @brief MenuTextures for Peach Face 08
*
*/
-MkTexture D_02005B00[2] = {
- { 0, 0, gTexturePeachFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005B00[2] = {
+ { 0, gTexturePeachFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 09
+ * @brief MenuTextures for Peach Face 09
*
*/
-MkTexture D_02005B28[2] = {
- { 0, 0, gTexturePeachFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005B28[2] = {
+ { 0, gTexturePeachFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 10
+ * @brief MenuTextures for Peach Face 10
*
*/
-MkTexture D_02005B50[2] = {
- { 0, 0, gTexturePeachFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005B50[2] = {
+ { 0, gTexturePeachFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 11
+ * @brief MenuTextures for Peach Face 11
*
*/
-MkTexture D_02005B78[2] = {
- { 0, 0, gTexturePeachFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005B78[2] = {
+ { 0, gTexturePeachFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 12
+ * @brief MenuTextures for Peach Face 12
*
*/
-MkTexture D_02005BA0[2] = {
- { 0, 0, gTexturePeachFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005BA0[2] = {
+ { 0, gTexturePeachFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 13
+ * @brief MenuTextures for Peach Face 13
*
*/
-MkTexture D_02005BC8[2] = {
- { 0, 0, gTexturePeachFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005BC8[2] = {
+ { 0, gTexturePeachFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 14
+ * @brief MenuTextures for Peach Face 14
*
*/
-MkTexture D_02005BF0[2] = {
- { 0, 0, gTexturePeachFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005BF0[2] = {
+ { 0, gTexturePeachFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 15
+ * @brief MenuTextures for Peach Face 15
*
*/
-MkTexture D_02005C18[2] = {
- { 0, 0, gTexturePeachFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005C18[2] = {
+ { 0, gTexturePeachFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Peach Face 16
+ * @brief MenuTextures for Peach Face 16
*
*/
-MkTexture D_02005C40[2] = {
- { 0, 0, gTexturePeachFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005C40[2] = {
+ { 0, gTexturePeachFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 00
+ * @brief MenuTextures for Yoshi Face 00
*
*/
-MkTexture D_02005C68[2] = {
- { 0, 0, gTextureYoshiFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005C68[2] = {
+ { 0, gTextureYoshiFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 01
+ * @brief MenuTextures for Yoshi Face 01
*
*/
-MkTexture D_02005C90[2] = {
- { 0, 0, gTextureYoshiFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005C90[2] = {
+ { 0, gTextureYoshiFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 02
+ * @brief MenuTextures for Yoshi Face 02
*
*/
-MkTexture D_02005CB8[2] = {
- { 0, 0, gTextureYoshiFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005CB8[2] = {
+ { 0, gTextureYoshiFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 03
+ * @brief MenuTextures for Yoshi Face 03
*
*/
-MkTexture D_02005CE0[2] = {
- { 0, 0, gTextureYoshiFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005CE0[2] = {
+ { 0, gTextureYoshiFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 04
+ * @brief MenuTextures for Yoshi Face 04
*
*/
-MkTexture D_02005D08[2] = {
- { 0, 0, gTextureYoshiFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005D08[2] = {
+ { 0, gTextureYoshiFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 05
+ * @brief MenuTextures for Yoshi Face 05
*
*/
-MkTexture D_02005D30[2] = {
- { 0, 0, gTextureYoshiFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005D30[2] = {
+ { 0, gTextureYoshiFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 06
+ * @brief MenuTextures for Yoshi Face 06
*
*/
-MkTexture D_02005D58[2] = {
- { 0, 0, gTextureYoshiFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005D58[2] = {
+ { 0, gTextureYoshiFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 07
+ * @brief MenuTextures for Yoshi Face 07
*
*/
-MkTexture D_02005D80[2] = {
- { 0, 0, gTextureYoshiFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005D80[2] = {
+ { 0, gTextureYoshiFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 08
+ * @brief MenuTextures for Yoshi Face 08
*
*/
-MkTexture D_02005DA8[2] = {
- { 0, 0, gTextureYoshiFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005DA8[2] = {
+ { 0, gTextureYoshiFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 09
+ * @brief MenuTextures for Yoshi Face 09
*
*/
-MkTexture D_02005DD0[2] = {
- { 0, 0, gTextureYoshiFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005DD0[2] = {
+ { 0, gTextureYoshiFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 10
+ * @brief MenuTextures for Yoshi Face 10
*
*/
-MkTexture D_02005DF8[2] = {
- { 0, 0, gTextureYoshiFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005DF8[2] = {
+ { 0, gTextureYoshiFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 11
+ * @brief MenuTextures for Yoshi Face 11
*
*/
-MkTexture D_02005E20[2] = {
- { 0, 0, gTextureYoshiFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005E20[2] = {
+ { 0, gTextureYoshiFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 12
+ * @brief MenuTextures for Yoshi Face 12
*
*/
-MkTexture D_02005E48[2] = {
- { 0, 0, gTextureYoshiFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005E48[2] = {
+ { 0, gTextureYoshiFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 13
+ * @brief MenuTextures for Yoshi Face 13
*
*/
-MkTexture D_02005E70[2] = {
- { 0, 0, gTextureYoshiFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005E70[2] = {
+ { 0, gTextureYoshiFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 14
+ * @brief MenuTextures for Yoshi Face 14
*
*/
-MkTexture D_02005E98[2] = {
- { 0, 0, gTextureYoshiFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005E98[2] = {
+ { 0, gTextureYoshiFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 15
+ * @brief MenuTextures for Yoshi Face 15
*
*/
-MkTexture D_02005EC0[2] = {
- { 0, 0, gTextureYoshiFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005EC0[2] = {
+ { 0, gTextureYoshiFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Yoshi Face 16
+ * @brief MenuTextures for Yoshi Face 16
*
*/
-MkTexture D_02005EE8[2] = {
- { 0, 0, gTextureYoshiFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005EE8[2] = {
+ { 0, gTextureYoshiFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 00
+ * @brief MenuTextures for DK Face 00
*
*/
-MkTexture D_02005F10[2] = {
- { 0, 0, gTextureDkFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005F10[2] = {
+ { 0, gTextureDkFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 01
+ * @brief MenuTextures for DK Face 01
*
*/
-MkTexture D_02005F38[2] = {
- { 0, 0, gTextureDkFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005F38[2] = {
+ { 0, gTextureDkFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 02
+ * @brief MenuTextures for DK Face 02
*
*/
-MkTexture D_02005F60[2] = {
- { 0, 0, gTextureDkFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005F60[2] = {
+ { 0, gTextureDkFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 03
+ * @brief MenuTextures for DK Face 03
*
*/
-MkTexture D_02005F88[2] = {
- { 0, 0, gTextureDkFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005F88[2] = {
+ { 0, gTextureDkFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 04
+ * @brief MenuTextures for DK Face 04
*
*/
-MkTexture D_02005FB0[2] = {
- { 0, 0, gTextureDkFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005FB0[2] = {
+ { 0, gTextureDkFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 05
+ * @brief MenuTextures for DK Face 05
*
*/
-MkTexture D_02005FD8[2] = {
- { 0, 0, gTextureDkFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02005FD8[2] = {
+ { 0, gTextureDkFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 06
+ * @brief MenuTextures for DK Face 06
*
*/
-MkTexture D_02006000[2] = {
- { 0, 0, gTextureDkFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006000[2] = {
+ { 0, gTextureDkFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 07
+ * @brief MenuTextures for DK Face 07
*
*/
-MkTexture D_02006028[2] = {
- { 0, 0, gTextureDkFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006028[2] = {
+ { 0, gTextureDkFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 08
+ * @brief MenuTextures for DK Face 08
*
*/
-MkTexture D_02006050[2] = {
- { 0, 0, gTextureDkFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006050[2] = {
+ { 0, gTextureDkFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 09
+ * @brief MenuTextures for DK Face 09
*
*/
-MkTexture D_02006078[2] = {
- { 0, 0, gTextureDkFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006078[2] = {
+ { 0, gTextureDkFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 10
+ * @brief MenuTextures for DK Face 10
*
*/
-MkTexture D_020060A0[2] = {
- { 0, 0, gTextureDkFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020060A0[2] = {
+ { 0, gTextureDkFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 11
+ * @brief MenuTextures for DK Face 11
*
*/
-MkTexture D_020060C8[2] = {
- { 0, 0, gTextureDkFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020060C8[2] = {
+ { 0, gTextureDkFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 12
+ * @brief MenuTextures for DK Face 12
*
*/
-MkTexture D_020060F0[2] = {
- { 0, 0, gTextureDkFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020060F0[2] = {
+ { 0, gTextureDkFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 13
+ * @brief MenuTextures for DK Face 13
*
*/
-MkTexture D_02006118[2] = {
- { 0, 0, gTextureDkFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006118[2] = {
+ { 0, gTextureDkFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 14
+ * @brief MenuTextures for DK Face 14
*
*/
-MkTexture D_02006140[2] = {
- { 0, 0, gTextureDkFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006140[2] = {
+ { 0, gTextureDkFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 15
+ * @brief MenuTextures for DK Face 15
*
*/
-MkTexture D_02006168[2] = {
- { 0, 0, gTextureDkFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006168[2] = {
+ { 0, gTextureDkFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for DK Face 16
+ * @brief MenuTextures for DK Face 16
*
*/
-MkTexture D_02006190[2] = {
- { 0, 0, gTextureDkFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006190[2] = {
+ { 0, gTextureDkFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 00
+ * @brief MenuTextures for Wario Face 00
*
*/
-MkTexture D_020061B8[2] = {
- { 0, 0, gTextureWarioFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020061B8[2] = {
+ { 0, gTextureWarioFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 01
+ * @brief MenuTextures for Wario Face 01
*
*/
-MkTexture D_020061E0[2] = {
- { 0, 0, gTextureWarioFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020061E0[2] = {
+ { 0, gTextureWarioFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 02
+ * @brief MenuTextures for Wario Face 02
*
*/
-MkTexture D_02006208[2] = {
- { 0, 0, gTextureWarioFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006208[2] = {
+ { 0, gTextureWarioFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 03
+ * @brief MenuTextures for Wario Face 03
*
*/
-MkTexture D_02006230[2] = {
- { 0, 0, gTextureWarioFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006230[2] = {
+ { 0, gTextureWarioFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 04
+ * @brief MenuTextures for Wario Face 04
*
*/
-MkTexture D_02006258[2] = {
- { 0, 0, gTextureWarioFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006258[2] = {
+ { 0, gTextureWarioFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 05
+ * @brief MenuTextures for Wario Face 05
*
*/
-MkTexture D_02006280[2] = {
- { 0, 0, gTextureWarioFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006280[2] = {
+ { 0, gTextureWarioFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 06
+ * @brief MenuTextures for Wario Face 06
*
*/
-MkTexture D_020062A8[2] = {
- { 0, 0, gTextureWarioFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020062A8[2] = {
+ { 0, gTextureWarioFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 07
+ * @brief MenuTextures for Wario Face 07
*
*/
-MkTexture D_020062D0[2] = {
- { 0, 0, gTextureWarioFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020062D0[2] = {
+ { 0, gTextureWarioFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 08
+ * @brief MenuTextures for Wario Face 08
*
*/
-MkTexture D_020062F8[2] = {
- { 0, 0, gTextureWarioFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020062F8[2] = {
+ { 0, gTextureWarioFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 09
+ * @brief MenuTextures for Wario Face 09
*
*/
-MkTexture D_02006320[2] = {
- { 0, 0, gTextureWarioFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006320[2] = {
+ { 0, gTextureWarioFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 10
+ * @brief MenuTextures for Wario Face 10
*
*/
-MkTexture D_02006348[2] = {
- { 0, 0, gTextureWarioFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006348[2] = {
+ { 0, gTextureWarioFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 11
+ * @brief MenuTextures for Wario Face 11
*
*/
-MkTexture D_02006370[2] = {
- { 0, 0, gTextureWarioFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006370[2] = {
+ { 0, gTextureWarioFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 12
+ * @brief MenuTextures for Wario Face 12
*
*/
-MkTexture D_02006398[2] = {
- { 0, 0, gTextureWarioFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006398[2] = {
+ { 0, gTextureWarioFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 13
+ * @brief MenuTextures for Wario Face 13
*
*/
-MkTexture D_020063C0[2] = {
- { 0, 0, gTextureWarioFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020063C0[2] = {
+ { 0, gTextureWarioFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 14
+ * @brief MenuTextures for Wario Face 14
*
*/
-MkTexture D_020063E8[2] = {
- { 0, 0, gTextureWarioFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020063E8[2] = {
+ { 0, gTextureWarioFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 15
+ * @brief MenuTextures for Wario Face 15
*
*/
-MkTexture D_02006410[2] = {
- { 0, 0, gTextureWarioFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006410[2] = {
+ { 0, gTextureWarioFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Wario Face 16
+ * @brief MenuTextures for Wario Face 16
*
*/
-MkTexture D_02006438[2] = {
- { 0, 0, gTextureWarioFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006438[2] = {
+ { 0, gTextureWarioFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 00
+ * @brief MenuTextures for Bowser Face 00
*
*/
-MkTexture D_02006460[2] = {
- { 0, 0, gTextureBowserFace00, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006460[2] = {
+ { 0, gTextureBowserFace00, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 01
+ * @brief MenuTextures for Bowser Face 01
*
*/
-MkTexture D_02006488[2] = {
- { 0, 0, gTextureBowserFace01, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006488[2] = {
+ { 0, gTextureBowserFace01, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 02
+ * @brief MenuTextures for Bowser Face 02
*
*/
-MkTexture D_020064B0[2] = {
- { 0, 0, gTextureBowserFace02, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020064B0[2] = {
+ { 0, gTextureBowserFace02, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 03
+ * @brief MenuTextures for Bowser Face 03
*
*/
-MkTexture D_020064D8[2] = {
- { 0, 0, gTextureBowserFace03, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020064D8[2] = {
+ { 0, gTextureBowserFace03, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 04
+ * @brief MenuTextures for Bowser Face 04
*
*/
-MkTexture D_02006500[2] = {
- { 0, 0, gTextureBowserFace04, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006500[2] = {
+ { 0, gTextureBowserFace04, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 05
+ * @brief MenuTextures for Bowser Face 05
*
*/
-MkTexture D_02006528[2] = {
- { 0, 0, gTextureBowserFace05, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006528[2] = {
+ { 0, gTextureBowserFace05, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 06
+ * @brief MenuTextures for Bowser Face 06
*
*/
-MkTexture D_02006550[2] = {
- { 0, 0, gTextureBowserFace06, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006550[2] = {
+ { 0, gTextureBowserFace06, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 07
+ * @brief MenuTextures for Bowser Face 07
*
*/
-MkTexture D_02006578[2] = {
- { 0, 0, gTextureBowserFace07, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006578[2] = {
+ { 0, gTextureBowserFace07, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 08
+ * @brief MenuTextures for Bowser Face 08
*
*/
-MkTexture D_020065A0[2] = {
- { 0, 0, gTextureBowserFace08, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020065A0[2] = {
+ { 0, gTextureBowserFace08, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 09
+ * @brief MenuTextures for Bowser Face 09
*
*/
-MkTexture D_020065C8[2] = {
- { 0, 0, gTextureBowserFace09, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020065C8[2] = {
+ { 0, gTextureBowserFace09, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 10
+ * @brief MenuTextures for Bowser Face 10
*
*/
-MkTexture D_020065F0[2] = {
- { 0, 0, gTextureBowserFace10, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020065F0[2] = {
+ { 0, gTextureBowserFace10, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 11
+ * @brief MenuTextures for Bowser Face 11
*
*/
-MkTexture D_02006618[2] = {
- { 0, 0, gTextureBowserFace11, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006618[2] = {
+ { 0, gTextureBowserFace11, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 12
+ * @brief MenuTextures for Bowser Face 12
*
*/
-MkTexture D_02006640[2] = {
- { 0, 0, gTextureBowserFace12, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006640[2] = {
+ { 0, gTextureBowserFace12, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 13
+ * @brief MenuTextures for Bowser Face 13
*
*/
-MkTexture D_02006668[2] = {
- { 0, 0, gTextureBowserFace13, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006668[2] = {
+ { 0, gTextureBowserFace13, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 14
+ * @brief MenuTextures for Bowser Face 14
*
*/
-MkTexture D_02006690[2] = {
- { 0, 0, gTextureBowserFace14, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_02006690[2] = {
+ { 0, gTextureBowserFace14, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 15
+ * @brief MenuTextures for Bowser Face 15
*
*/
-MkTexture D_020066B8[2] = {
- { 0, 0, gTextureBowserFace15, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020066B8[2] = {
+ { 0, gTextureBowserFace15, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
- * @brief MkTextures for Bowser Face 16
+ * @brief MenuTextures for Bowser Face 16
*
*/
-MkTexture D_020066E0[2] = {
- { 0, 0, gTextureBowserFace16, 64, 64, 0, 0, 0x0, 0 },
- { 0, 0, NULL, 0, 0, 0, 0, 0, 0 },
+MenuTexture D_020066E0[2] = {
+ { 0, gTextureBowserFace16, 64, 64, 0, 0, 0x0},
+ { 0, NULL, 0, 0, 0, 0, 0},
};
/**
diff --git a/src/debug/all_variables.h b/src/debug/all_variables.h
index dd1bd4d92..41afb0407 100644
--- a/src/debug/all_variables.h
+++ b/src/debug/all_variables.h
@@ -22,7 +22,7 @@
#include <code_80086E70.h>
#include <effects.h>
#include <code_80091440.h>
-#include <code_80091750.h>
+#include <menu_items.h>
#include <code_800AF9B0.h>
#include <save.h>
#include <code_80280000.h>
diff --git a/src/effects.c b/src/effects.c
index 76c38e4ba..bff1803ff 100644
--- a/src/effects.c
+++ b/src/effects.c
@@ -16,7 +16,7 @@
#include "effects.h"
#include "audio/external.h"
#include "spawn_players.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "port/Game.h"
s32 D_8018D900[8];
diff --git a/src/ending/ceremony_and_credits.c b/src/ending/ceremony_and_credits.c
index a55cf78d0..5b964e0d6 100644
--- a/src/ending/ceremony_and_credits.c
+++ b/src/ending/ceremony_and_credits.c
@@ -18,7 +18,7 @@
#include "audio/external.h"
#include <sounds.h>
#include "podium_ceremony_actors.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_80057C60.h"
#include "defines.h"
diff --git a/src/ending/code_80280000.c b/src/ending/code_80280000.c
index 848cd3e1a..daa7ba8c5 100644
--- a/src/ending/code_80280000.c
+++ b/src/ending/code_80280000.c
@@ -13,7 +13,7 @@
#include "code_80280000.h"
#include "code_80281780.h"
#include "skybox_and_splitscreen.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_8006E9C0.h"
#include "code_800029B0.h"
#include "ceremony_and_credits.h"
diff --git a/src/ending/code_80281780.c b/src/ending/code_80281780.c
index ec370711c..1c91047f2 100644
--- a/src/ending/code_80281780.c
+++ b/src/ending/code_80281780.c
@@ -17,7 +17,7 @@
#include "collision.h"
#include "code_80281C40.h"
#include "code_800029B0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "main.h"
#include "menus.h"
#include "render_courses.h"
diff --git a/src/ending/code_80281C40.c b/src/ending/code_80281C40.c
index 50a2b7839..1e4c63e79 100644
--- a/src/ending/code_80281C40.c
+++ b/src/ending/code_80281C40.c
@@ -7,7 +7,7 @@
#include "skybox_and_splitscreen.h"
#include "render_objects.h"
#include "code_80057C60.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "podium_ceremony_actors.h"
#include "ceremony_and_credits.h"
#include "podium_ceremony_actors.h"
diff --git a/src/ending/credits.c b/src/ending/credits.c
index 8458842df..4abcf58ea 100644
--- a/src/ending/credits.c
+++ b/src/ending/credits.c
@@ -1,7 +1,7 @@
#include "credits.h"
#include "defines.h"
-struct_802850C0_entry D_802850C0[] = {
+CreditsRenderInfo gTextCreditsRenderInfo[] = {
{ 0.80f, -200, 38, 160, 30, SLIDE_RIGHT, TEXT_BLUE_GREEN_RED_CYCLE_1, 0 },
{ 0.90f, 520, 200, 160, 200, SLIDE_LEFT, TEXT_BLUE, 0 },
{ 0.80f, -200, 38, 160, 30, SLIDE_RIGHT, TEXT_BLUE_GREEN_RED_CYCLE_1, 0 },
diff --git a/src/ending/credits.h b/src/ending/credits.h
index 7af30d018..4e5c97440 100644
--- a/src/ending/credits.h
+++ b/src/ending/credits.h
@@ -19,9 +19,9 @@ typedef struct {
/* 0x0C */ s8 slideDirection; // 0 for slide right, 1 for slide left. May have other uses/effects
/* 0x0D */ s8 textColor;
/* 0x0E */ s16 padding; // Always seems to be 0, never read (that I can see)
-} struct_802850C0_entry; // size = 0x10
+} CreditsRenderInfo; // size = 0x10
-extern struct_802850C0_entry D_802850C0[]; // D_802850C0
+extern CreditsRenderInfo gTextCreditsRenderInfo[]; // gTextCreditsRenderInfo
extern char* gCreditsText[];
#endif
diff --git a/src/engine/World.cpp b/src/engine/World.cpp
index ded60a262..1e68a4b26 100644
--- a/src/engine/World.cpp
+++ b/src/engine/World.cpp
@@ -60,8 +60,8 @@ u32 World::GetCupIndex() {
u32 World::NextCup() {
s32 hack = 1;
- // Prevent battle mode
- if (gModeSelection == GRAND_PRIX) {
+ // Do not display battle mode on GP, TT, or VS
+ if (gModeSelection != BATTLE) {
hack = 2;
}
diff --git a/src/engine/objects/Trophy.cpp b/src/engine/objects/Trophy.cpp
index c14cc23ca..4de758aab 100644
--- a/src/engine/objects/Trophy.cpp
+++ b/src/engine/objects/Trophy.cpp
@@ -14,7 +14,7 @@ extern "C" {
#include "engine/Matrix.h"
#include "render_objects.h"
#include "code_80086E70.h"
-#include "code_80091750.h"
+#include "menu_items.h"
}
OTrophy::OTrophy(const FVector& pos, TrophyType trophy, Behaviour bhv) {
diff --git a/src/engine/wasm.cpp b/src/engine/wasm.cpp
index c94e7882b..cef8760dd 100644
--- a/src/engine/wasm.cpp
+++ b/src/engine/wasm.cpp
@@ -16,7 +16,7 @@
// #include <filesystem>
// #include <functional>
// #include <main.h>
-// #include <code_80091750.h>
+// #include <menu_items.h>
// #include <common_data.h>
// #include <data_segment2.h>
// #include <render_objects.h>
diff --git a/src/main.c b/src/main.c
index ed98b5f3f..2eb386197 100644
--- a/src/main.c
+++ b/src/main.c
@@ -31,7 +31,7 @@
#include "code_800029B0.h"
#include "code_80280000.h"
#include "podium_ceremony_actors.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_80057C60.h"
#include "profiler.h"
#include "player_controller.h"
diff --git a/src/code_80091750.c b/src/menu_items.c
index 48e353058..a59a996b9 100644
--- a/src/code_80091750.c
+++ b/src/menu_items.c
@@ -9,7 +9,7 @@
#include <sounds.h>
#include <assets/texture_data_2.h>
#include "code_800029B0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_80005FD0.h"
#include "code_8006E9C0.h"
#include "menus.h"
@@ -50,11 +50,14 @@
const char* GetCupName(void);
-u16* D_8018D9B0;
-u8* D_8018D9B4;
-u8* D_8018D9B8;
-u8* D_8018D9BC;
-void* D_8018D9C0;
+void guMtxCatL(Mtx* m, Mtx* n, Mtx* res);
+
+const char* sMenuTextureList[MENU_TEXTURE_BUFFER_MAX];
+u8* gMenuCompressedBuffer;
+u8* sTKMK00_LowResBuffer;
+u8* sGPPointsCopy;
+void* gSomeDLBuffer;
+
/**
* List of bytes indexed by character ID
* Indicates number of Grand Prix points that character
@@ -64,14 +67,14 @@ s8 gGPPointsByCharacterId[8];
s8 gCharacterIdByGPOverallRank[8];
s8 D_8018D9D8;
s8 D_8018D9D9;
-struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE];
+MenuItem gMenuItems[MENU_ITEMS_MAX];
struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE];
struct_8018E060_entry D_8018E060[D_8018E060_SIZE + 1];
struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE];
-s32 gMenuTextureBufferIndex;
-struct_8018E118_entry D_8018E118[D_8018E118_SIZE];
-s32 gNumD_8018E118Entries;
-Gfx* D_8018E75C;
+s32 sMenuTextureListIndex;
+TextureMap sMenuTextureMap[TEXTURE_MAP_MAX];
+s32 sMenuTextureEntries;
+Gfx* sGfxPtr;
s32 gNumD_8018E768Entries;
struct_8018E768_entry D_8018E768[D_8018E768_SIZE];
s32 gCycleFlashMenu;
@@ -98,12 +101,11 @@ s32 gControllerPak1MaxWriteableFiles;
s32 gControllerPak1NumPagesFree;
s32 gControllerPak1FileNote;
s32 gControllerPak2FileNote;
-s32 code_80091750_bss_pad2;
ALIGNED8 SaveData gSaveData;
u8 D_8018ED90;
u8 D_8018ED91;
-s32 s8018ED94;
+s32 sIntroLogoTimer;
Unk_D_800E70A0 D_800E70A0[] = {
{ 0x3d, 0x11, 0x00, 0x00 }, { 0x15, 0x3e, 0x00, 0x00 }, { 0x5c, 0x3e, 0x00, 0x00 },
@@ -327,7 +329,7 @@ char* gCupNames[] = {
// @todo Increase this array for more than eight players
const s8 D_800EFD64[] = { 0, 1, 4, 3, 5, 6, 2, 7 };
-char* D_800E7678[] = {
+char* gCupText[] = {
"none",
"bronze",
"silver",
@@ -370,20 +372,20 @@ char* gDebugSoundModeNames[] = {
char* gSoundModeNames[NUM_SOUND_MODES] = { "STEREO", "HEADPHONE", "", "MONO" };
-char* D_800E7720[] = {
+char* gWinLoseText[] = {
"WINNER!",
"LOSER!",
};
-char* D_800E7728[] = {
+char* gBestTimeText[] = {
"BEST RECORDS",
"BEST LAP",
};
// Might need a const?
-char* D_800E7730 = "LAP TIME";
+char* gLapTimeText = "LAP TIME";
-char* D_800E7734[] = {
+char* gPrefixTimeText[] = {
"LAP 1",
"LAP 2",
"LAP 3",
@@ -406,23 +408,23 @@ char* D_800E7778[] = {
};
// This is plain data, it should not end up in rodata
-char D_800E7780[] = "NOW-MEET THE COURSE GHOST!!!";
+char gTextMenuAnnounceGhost[] = "NOW-MEET THE COURSE GHOST!!!";
-char* D_800E77A0[] = { "CONNECT A CONTROLLER TO SOCKET 1,", "THEN POWER ON AGAIN" };
+char* gTextNoController[] = { "CONNECT A CONTROLLER TO SOCKET 1,", "THEN POWER ON AGAIN" };
-char* D_800E77A8[] = {
+char* gTextBattleIntroduction[] = {
"BATTLE GAME",
"POP OPPOSING PLAYER'S BALLOONS",
"WHEN ALL 3 ARE GONE,THEY ARE OUT!",
};
// This is plain data, it should not end up in rodata
-char D_800E77B4[] = "a BUTTON*SEE DATA B BUTTON*EXIT";
+char gTextMenuData[] = "a BUTTON*SEE DATA B BUTTON*EXIT";
// This is plain data, it should not end up in rodata
-char D_800E77D8[] = "distance";
+char gTextDistance[] = "distance";
-char* D_800E7834[] = {
+char* gTextMenuOption[] = {
"return to menu",
"erase records for this course",
"erase ghost from this course",
@@ -433,8 +435,8 @@ char* D_800E7840[] = {
"erase",
};
-// Why oh why is this array flat? It should be D_800E7848[][3]
-char* D_800E7848[] = {
+// Why oh why is this array flat? It should be gEraseBestGhostText[][3]
+char* gEraseBestGhostText[] = {
"THE BEST RECORDS AND BEST", "LAP FOR THIS COURSE WILL BE", "ERASED. IS THIS OK?",
"GHOST DATA FOR THIS", "COURSE WILL BE ERASED.", "IS THIS OK?",
@@ -445,7 +447,7 @@ char* D_800E7860[] = {
"GHOST DATA",
};
-char* D_800E7868[] = {
+char* gTextOptionMenu[] = {
"RETURN TO GAME SELECT",
"SOUND MODE",
"COPY N64 CONTROLLER PAK",
@@ -483,6 +485,9 @@ char* D_800E7890[] = {
"UNABLE TO COPY GHOST ",
"-- INSUFFICIENT FREE PAGES ",
+};
+
+char* D_800E78BC[] = {
"IN CONTROLLER 1 ",
"N64 CONTROLLER PAK",
};
@@ -673,7 +678,7 @@ char* D_800E7A9C[] = {
"WHAT A PITY!",
};
-char* D_800E7AA4[] = {
+char* gPlaceText[] = {
"YOU PLACED", " st", " nd", " rd", " th", " th", " th", " th", " th",
};
@@ -701,7 +706,7 @@ RGBA16 D_800E7AE8[] = {
{ 0xff, 0xff, 0xff, 0xff },
};
-MkTexture* D_800E7AF8[] = {
+MenuTexture* D_800E7AF8[] = {
D_02000000, D_02000028, D_02000050, D_02000078, D_020000A0, D_020000C8, D_020000F0, D_02000118, D_02000140,
D_02000168, D_02000190, D_020001B8, D_020001E0, D_02000208, D_02000230, D_02000258, D_02000280, D_020002A8,
D_020002D0, D_020002F8, D_02000320, D_02000348, D_02000370, D_02000398, D_020003C0, D_020003E8, D_02000410,
@@ -719,7 +724,7 @@ MkTexture* D_800E7AF8[] = {
D_020013B0, D_020013D8, D_02001400, D_02001428, D_02001450, D_02001478, D_020014A0,
};
-MkTexture* D_800E7D0C[] = {
+MenuTexture* D_800E7D0C[] = {
D_020016BC, D_020016E4, D_0200170C, D_02001734, D_0200175C,
D_02001784, D_020017AC, D_020017D4, D_020017FC, D_02001824,
};
@@ -728,25 +733,29 @@ MkAnimation* D_800E7D34[] = {
D_0200198C, D_0200199C, D_020019AC, D_020019BC, D_020019CC, D_020019DC,
};
-MkTexture* D_800E7D4C[] = {
- D_02004598,
- D_020045C0,
+MenuTexture* gMenuTexturesBackground[] = {
+ seg2_blue_sky_background_texture,
+ seg2_sunset_background_texture,
};
-MkTexture* D_800E7D54[] = {
+MenuTexture* D_800E7D54[] = {
D_02001A8C, D_02001A64, D_02001AB4, D_02001A14, D_02001B04, D_020019EC, D_02001ADC, D_02001A3C,
};
-MkTexture* D_800E7D74[] = {
- D_02001B2C, D_02001B54, D_02001B7C, D_02001BA4, D_02001BCC, D_02001BF4, D_02001C1C,
+MenuTexture* D_800E7D74[] = {
+ seg2_mario_raceway_preview_texture, D_02001B54, D_02001B7C, D_02001BA4, D_02001BCC, D_02001BF4, D_02001C1C,
D_02001C44, D_02001C6C, D_02001C94, D_02001CBC, D_02001CE4, D_02001D0C, D_02001D34,
D_02001D5C, D_02001D84, D_02001DAC, D_02001DD4, D_02001DFC, D_02001E24,
};
-MkTexture* D_800E7DC4[] = {
- D_02004EA8, D_02004ED0, D_02004EF8, D_02004F20, D_02004F48, D_02004F70, D_02004F98,
+MenuTexture* D_800E7DC4[] = {
+ seg2_mario_raceway_title_texture, seg2_choco_mountain_title_texture, D_02004EF8, D_02004F20, D_02004F48, D_02004F70, D_02004F98,
D_02004FC0, D_02004FE8, D_02005010, D_02005038, D_02005060, D_02005088, D_020050B0,
- D_020050D8, D_02005100, D_02005128, D_02005150, D_02005178, D_020051A0,
+ D_020050D8
+};
+
+MenuTexture* D_800E7E00[] = {
+D_02005100, D_02005128, D_02005150, D_02005178, D_020051A0,
};
// Unused?
@@ -766,7 +775,7 @@ MkAnimation* D_800E7E34[] = {
D_02001F44, D_02001F54, D_02001F64, D_02001F74, D_02001F84, D_02001F94,
};
-MkTexture* gGlyphTextureLUT[] = {
+MenuTexture* gGlyphTextureLUT[] = {
D_0200211C, D_02002144, D_0200216C, D_02002194, D_020021BC, D_020021E4, D_0200220C, D_02002234, D_0200225C,
D_02002284, D_020022AC, D_020022D4, D_020022FC, D_02002324, D_0200234C, D_02002374, D_0200239C, D_020023C4,
D_020023EC, D_02002414, D_0200243C, D_02002464, D_0200248C, D_020024B4, D_020024DC, D_02002504, D_0200252C,
@@ -780,7 +789,7 @@ MkTexture* gGlyphTextureLUT[] = {
D_020031AC,
};
-MkTexture* D_800E7FF0[] = {
+MenuTexture* D_800E7FF0[] = {
D_02003274, D_02002C34, D_020031D4, D_0200329C, D_02002C5C, D_020031FC, D_020032C4, D_02002C84, D_02003224,
D_020032EC, D_02002CAC, D_0200324C, D_02003314, D_02002CD4, D_02002CFC, D_02002D24, D_02002D4C, D_02002D74,
D_0200333C, D_02002D9C, D_02003364, D_02002DC4, D_0200338C, D_02002DEC, D_02002E14, D_02002E3C, D_02002E64,
@@ -788,77 +797,96 @@ MkTexture* D_800E7FF0[] = {
D_0200347C, D_020034A4, D_020034CC, D_020034F4, D_0200351C, D_02003544, D_0200356C, D_02003BD4,
};
-MkTexture* D_800E80A0[] = {
+MenuTexture* D_800E80A0[] = {
D_02003594, D_02003BFC, D_020035BC, D_02003C24, D_020035E4, D_02003C4C, D_0200360C, D_02003C74,
D_02003634, D_02003C9C, D_0200365C, D_02003CC4, D_02003684, D_02003CEC, D_020036AC, D_02003D14,
D_020036D4, D_02003D3C, D_020036FC, D_02003D64, D_02003724, D_02003D8C, D_02004034, D_0200374C,
D_02003DB4, D_02003774, D_02003DDC, D_0200379C, D_02003E04,
};
-MkTexture* D_800E8114[] = {
+MenuTexture* D_800E8114[] = {
D_020037C4, D_020037EC, D_02003814, D_0200383C, D_02003864, D_0200388C, D_02003E2C, D_02003EF4,
D_020038B4, D_02003E54, D_02003F1C, D_020038DC, D_02003E7C, D_02003F44, D_02003904, D_02003EA4,
D_02003F6C, D_0200392C, D_02003ECC, D_02003F94, D_02003954, D_0200397C, D_020039A4, D_020039CC,
};
-MkTexture* D_800E8174[] = {
+MenuTexture* D_800E8174[] = {
D_020039F4,
D_02003FBC,
};
-MkTexture* D_800E817C[] = {
+MenuTexture* D_800E817C[] = {
D_02003A1C, D_02003FE4, D_02003A44, D_0200400C, D_02003A6C, D_02003A94, D_02003ABC, D_02003AE4, D_02003B0C,
D_02003B34, D_02003B5C, D_02003B84, D_02003BAC, D_0200405C, D_02004084, D_020040AC, D_020040D4, D_020040FC,
D_020043CC, D_02004444, D_0200437C, D_020043F4, D_02004124, D_0200414C, D_02004174, D_0200419C,
};
-MkTexture* D_800E81E4[] = {
+MenuTexture* D_800E81E4[] = {
D_020041C4, D_020041EC, D_02004214, D_0200423C, D_02004264, D_0200428C, D_020042B4, D_020042DC, D_02004354,
D_020043A4, D_0200441C, D_0200446C, D_02004494, D_020044BC, D_02004304, D_0200432C, D_020044E4, D_0200450C,
};
-MkTexture* D_800E822C[] = {
+MenuTexture* D_800E822C[] = {
D_02004534,
D_0200455C,
};
-// In a perfect world this would be `MkTexture *D_800E8234[][2]`
-MkTexture* D_800E8234[] = {
- D_02004688, D_020047DC, D_020046D8, D_02004804, D_0200473C, D_0200482C,
+MenuTexture* D_800E8234[] = {
+ seg2_menu_1p_column, D_020047DC,
+ seg2_menu_2p_column, D_02004804,
+ seg2_menu_3p_column, D_0200482C,
+ seg2_menu_4p_column, D_02004854,
};
-MkTexture* D_800E824C[] = {
- D_0200478C,
- D_02004854,
+MenuTexture* D_800E8254[] = {
+ seg2_game_select_texture,
+ seg2_menu_1p_column,
+ seg2_menu_2p_column,
+ seg2_menu_3p_column,
+ seg2_menu_4p_column,
+ D_0200487C,
+ D_020048A4,
+ D_020048CC,
};
-MkTexture* D_800E8254[] = {
- D_02004660, D_02004688, D_020046D8, D_0200473C, D_0200478C, D_0200487C, D_020048A4, D_020048CC,
+MenuTexture* D_800E8274[] = { // CC textures
+ seg2_50_CC_texture, seg2_100_CC_texture, seg2_150_CC_texture, seg2_extra_CC_texture,
+};
+MenuTexture* D_800E8284[] = { // Versus and Battle textures
+ D_020049BC, seg2_menu_no_item_texture
+};
+MenuTexture* D_800E828C[] = { // Time Trials Begin & Data (probably)
+ D_020049E4, seg2_data_texture,
+};
+
+// Next three variables are duplicates of the above, for whatever reason...
+MenuTexture* D_800E8294[] = {
+ seg2_50_CC_texture, seg2_100_CC_texture, seg2_150_CC_texture, seg2_extra_CC_texture
};
-MkTexture* D_800E8274[] = {
- D_020048F4, D_0200491C, D_02004944, D_0200496C, D_020049BC, D_02004994, D_020049E4, D_02004A34,
+MenuTexture* D_800E82A4[] = {
+ D_020049BC, seg2_menu_no_item_texture
};
-MkTexture* D_800E8294[] = {
- D_020048F4, D_0200491C, D_02004944, D_0200496C, D_020049BC, D_02004994, D_020049E4, D_02004A34,
+MenuTexture* D_800E82AC[] = {
+ D_020049E4, seg2_data_texture,
};
-MkTexture* D_800E82B4[] = {
- D_02004A5C,
- D_02004A98,
- D_02004AD4,
- D_02004B10,
+MenuTexture* gMenuTexturesBorderPlayer[] = {
+ seg2_P1_border_texture,
+ seg2_P2_border_texture,
+ seg2_P3_border_texture,
+ seg2_P4_border_texture,
};
-MkTexture* D_800E82C4[] = {
- D_02004B9C, D_02004BC4, D_02004BEC, D_02004C14, D_02004C3C, D_02004C64,
- D_02004C8C, D_02004CF0, D_02004D54, D_02004DB8, D_02004E1C, D_02004E80,
+MenuTexture* gMenuTexturesTrackSelection[] = {
+ seg2_menu_select_texture, seg2_mushroom_cup_texture, seg2_flower_cup_texture, seg2_star_cup_texture, seg2_special_cup_texture, seg2_mario_raceway_preview_small_texture,
+ seg2_mushroom_cup_title_texture, seg2_flower_cup_title_texture, seg2_star_cup_title_texture, seg2_special_cup_title_texture, seg2_battle_title_texture, D_02004E80,
};
-MkTexture* D_800E82F4[] = {
- D_02004BC4, D_02004BEC, D_02004C14, D_02004C3C, D_02004C64, D_02004C8C,
- D_02004CF0, D_02004D54, D_02004DB8, D_02004E1C, D_02004E80,
+MenuTexture* D_800E82F4[] = {
+ seg2_mushroom_cup_texture, seg2_flower_cup_texture, seg2_star_cup_texture, seg2_special_cup_texture, seg2_mario_raceway_preview_small_texture, seg2_mushroom_cup_title_texture,
+ seg2_flower_cup_title_texture, seg2_star_cup_title_texture, seg2_special_cup_title_texture, seg2_battle_title_texture, D_02004E80,
};
MkAnimation* D_800E8320[] = {
@@ -935,9 +963,9 @@ Gfx* D_800E850C[] = {
s8 D_800E852C = 1;
-f32 D_800E8530 = 0.0f;
+f32 sIntroModelMotionSpeed = 0.0f;
-f32 D_800E8534 = 3.0f;
+f32 sIntroModelSpeed = 3.0f;
Unk_D_800E70A0 D_800E8538[] = { { 0x69, 0x9b, 0x00, 0x00 } };
@@ -1062,7 +1090,7 @@ f64 func_8009195C(f64 arg0) {
return func_80091A6C((temp_f2 + arg0) / (temp_f2 - arg0), temp_f10);
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009195C.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_8009195C.s")
#endif
/**
@@ -1131,9 +1159,9 @@ void func_80091B78(void) {
if (D_800E852C) {
D_800E852C = why;
- D_8018EDF4 = 10;
- D_8018EDF5 = 5;
- D_8018EDF6 = 10;
+ gVersusResultCursorSelection = 10;
+ gTimeTrialsResultCursorSelection = 5;
+ gBattleResultCursorSelection = 10;
if (osEepromProbe(&gSIEventMesgQueue) != 0) {
// save data disabled for now due to array overflow
// load_save_data();
@@ -1150,12 +1178,12 @@ void func_80091B78(void) {
}
gNextFreeMemoryAddress = gFreeMemoryResetAnchor;
// Hypothetically, this should be a ptr... But only hypothetically.
- D_8018D9B0 = get_next_available_memory_addr(0x000900B0);
- D_8018D9B4 = (u8*) get_next_available_memory_addr(0x0000CE00);
- D_8018D9B8 = (u8*) get_next_available_memory_addr(0x00012C00);
- D_8018D9C0 = (struct_8018EE10_entry*) get_next_available_memory_addr(0x00001000);
+ //sMenuTextureList = get_next_available_memory_addr(0x000900B0);
+ gMenuCompressedBuffer = (u8*) get_next_available_memory_addr(0x0000CE00);
+ sTKMK00_LowResBuffer = (u8*) get_next_available_memory_addr(SCREEN_WIDTH * SCREEN_HEIGHT);
+ gSomeDLBuffer = (struct_8018EE10_entry*) get_next_available_memory_addr(0x00001000);
func_800AF9B0();
- D_8018EE0C = 0;
+ unref_D_8018EE0C = 0;
for (i = 0; i < 5; i++) {
D_8018E7AC[i] = 0;
@@ -1169,8 +1197,8 @@ void func_80091B78(void) {
D_800DC5EC->screenStartY = 120;
D_800DC5EC->screenWidth = SCREEN_WIDTH;
D_800DC5EC->screenHeight = SCREEN_HEIGHT;
- D_800E86A4 = 1;
- render_menus();
+ gFadeModeSelection = 1;
+ setup_menus();
for (i = 0; i < 4; i++) {
func_800C97C4((u8) i);
@@ -1180,7 +1208,7 @@ void func_80091B78(void) {
func_800C9D0C((u8) i);
}
- func_800B44BC();
+ set_sound_mode();
osViSetSpecialFeatures(OS_VI_DITHER_FILTER_ON);
}
@@ -1230,7 +1258,7 @@ void func_80091EE4(void) {
gControllerPak1State = BAD;
tmp = func_800B5F30();
- if ((D_8018EDFB != 0) && (tmp == 0)) {
+ if ((gGhostPlayerInit != 0) && (tmp == 0)) {
temp_s2 = (GetCupIndex() * 4) + GetCupCursorPosition();
func_800B6708();
@@ -1238,7 +1266,7 @@ void func_80091EE4(void) {
if ((D_8018EE10[temp_s0].ghostDataSaved != 0) && (temp_s2 == D_8018EE10[temp_s0].courseIndex)) {
func_800B64EC(temp_s0);
temp_s0 = 2;
- D_8018EDFB = 0;
+ gGhostPlayerInit = 0;
}
}
}
@@ -1246,12 +1274,11 @@ void func_80091EE4(void) {
void func_80091FA4(void) {
s32 i;
-
//! @todo These sizes need to be sizeof() for shiftability if possible
- D_8018D9B4 = (u8*) get_next_available_memory_addr(0x00002800);
- D_8018D9B0 = (u16*) get_next_available_memory_addr(0x000124F8);
- D_8018D9B8 = (u8*) get_next_available_memory_addr(0x00001000);
- D_8018D9BC = get_next_available_memory_addr(4);
+ gMenuCompressedBuffer = (u8*) get_next_available_memory_addr(0x00002800);
+ //sMenuTextureList = (u16*) get_next_available_memory_addr(0x000124F8);
+ sTKMK00_LowResBuffer = (u8*) get_next_available_memory_addr(0x00001000);
+ sGPPointsCopy = get_next_available_memory_addr(4);
for (i = 0; i < 5; i++) {
D_8018E7AC[i] = 0;
@@ -1261,23 +1288,23 @@ void func_80091FA4(void) {
D_8018E838[i] = 0;
}
- func_80099110();
+ clear_menu_textures();
func_8009A344();
- func_8009E620();
+ clear_menus();
func_80092258();
- add_ui_element(0x00000096, 0x00000064, 0x00000024, 1);
- add_ui_element(0x00000097, 0x00000064, 0x000000DD, 1);
- add_ui_element(0x00000098, 0, 0, 0);
- add_ui_element(0x000000C7, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_096, 0x00000064, 0x00000024, MENU_ITEM_PRIORITY_1);
+ add_menu_item(MENU_ITEM_TYPE_097, 0x00000064, 0x000000DD, MENU_ITEM_PRIORITY_1);
+ add_menu_item(MENU_ITEM_TYPE_098, 0, 0, MENU_ITEM_PRIORITY_0);
+ add_menu_item(MENU_ITEM_PAUSE, 0, 0, MENU_ITEM_PRIORITY_0);
if (gModeSelection == TIME_TRIALS) {
- add_ui_element(0x000000BE, 0, 0, 0);
- add_ui_element(0x0000010E, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0BE, 0, 0, MENU_ITEM_PRIORITY_0);
+ add_menu_item(MENU_ITEM_TYPE_10E, 0, 0, MENU_ITEM_PRIORITY_0);
}
if ((D_8015F890 != 0) && (gModeSelection == TIME_TRIALS)) {
- add_ui_element(0x000000BD, 0, 0, 0);
+ add_menu_item(MENU_ITEM_END_COURSE_OPTION, 0, 0, MENU_ITEM_PRIORITY_0);
}
- if (!(gControllerBits & 1) && (D_8018EE08 != 0)) {
- add_ui_element(4, 0, 0, 2);
+ if (!(gControllerBits & 1) && (gDemoUseController != 0)) {
+ add_menu_item(MENU_ITEM_UI_NO_CONTROLLER, 0, 0, MENU_ITEM_PRIORITY_2);
}
func_800B5F30();
}
@@ -1305,7 +1332,7 @@ void func_800921B4(void) {
// if selected and detect kind menu
void text_rainbow_effect(s32 test, s32 target, s32 alternative_color) {
if (test == target) {
- if (func_800B4520() != 0) {
+ if (is_screen_being_faded() != 0) {
set_text_color(gGlobalTimer % 3);
} else {
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
@@ -1388,149 +1415,149 @@ void func_80092500(void) {
switch (gModeSelection) {
case GRAND_PRIX:
- add_ui_element(0xAA, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0AA, 0, 0, MENU_ITEM_PRIORITY_0);
break;
case TIME_TRIALS:
- add_ui_element(0xB9, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0B9, 0, 0, MENU_ITEM_PRIORITY_0);
break;
}
}
void func_80092564(void) {
- add_ui_element(0xAC, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0AC, 0, 0, MENU_ITEM_PRIORITY_0);
func_8005D18C();
func_8001968C();
}
void func_800925A0(void) {
- add_ui_element(0xAF, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0AF, 0, 0, MENU_ITEM_PRIORITY_0);
}
void func_800925CC(void) {
- struct_8018D9E0_entry* temp = find_8018D9E0_entry_dupe(0xAF);
- if (temp->cursor == 2) {
- temp->cursor = 3;
+ MenuItem* item = find_menu_items_dupe(MENU_ITEM_TYPE_0AF);
+ if (item->state == 2) {
+ item->state = 3;
}
}
void func_80092604(void) {
- add_ui_element(0xB0, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0B0, 0, 0, MENU_ITEM_PRIORITY_0);
}
void func_80092630(void) {
- add_ui_element(0xBC, 0, 0, 0);
+ add_menu_item(MENU_ITEM_ANNOUNCE_GHOST, 0, 0, MENU_ITEM_PRIORITY_0);
}
void func_8009265C(void) {
- add_ui_element(0x12B, 0, 0, 2);
+ add_menu_item(MENU_ITEM_TYPE_12B, 0, 0, MENU_ITEM_PRIORITY_2);
}
void func_80092688(void) {
switch (D_800DC5E4) {
case 0:
- add_ui_element(0x1CE, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1CE, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
default:
- add_ui_element(0x190, 0, 0, 2);
- add_ui_element(0x191, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_190, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_191, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 2:
- add_ui_element(0x192, 0, 0, 2);
- add_ui_element(0x193, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_192, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_193, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 3:
- add_ui_element(0x194, 0, 0, 2);
- add_ui_element(0x195, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_194, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_195, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 4:
- add_ui_element(0x196, 0, 0, 2);
- add_ui_element(0x197, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_196, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_197, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 5:
- add_ui_element(0x198, 0, 0, 2);
- add_ui_element(0x199, 0, 0, 2);
- add_ui_element(0x19A, 0, 0, 2);
- add_ui_element(0x19B, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_198, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_199, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_19A, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_19B, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 6:
- add_ui_element(0x198, 0, 0, 2);
- add_ui_element(0x19C, 0, 0, 2);
- add_ui_element(0x19D, 0, 0, 2);
- add_ui_element(0x19E, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_198, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_19C, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_19D, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_19E, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 7:
- add_ui_element(0x19F, 0, 0, 2);
- add_ui_element(0x1A0, 0, 0, 2);
- add_ui_element(0x1A1, 0, 0, 2);
- add_ui_element(0x1A2, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_19F, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A0, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A1, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A2, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 8:
- add_ui_element(0x1A3, 0, 0, 2);
- add_ui_element(0x1A4, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1A3, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A4, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 9:
- add_ui_element(0x1A5, 0, 0, 2);
- add_ui_element(0x1A6, 0, 0, 2);
- add_ui_element(0x1A7, 0, 0, 2);
- add_ui_element(0x1A8, 0, 0, 2);
- add_ui_element(0x1A9, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1A5, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A6, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A7, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A8, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A9, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 10:
- add_ui_element(0x1A5, 0, 0, 2);
- add_ui_element(0x1A6, 0, 0, 2);
- add_ui_element(0x1AA, 0, 0, 2);
- add_ui_element(0x1AB, 0, 0, 2);
- add_ui_element(0x1AC, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1A5, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1A6, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1AA, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1AB, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1AC, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 11:
- add_ui_element(0x1AD, 0, 0, 2);
- add_ui_element(0x1AE, 0, 0, 2);
- add_ui_element(0x1AF, 0, 0, 2);
- add_ui_element(0x1B0, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1AD, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1AE, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1AF, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B0, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 12:
- add_ui_element(0x1B1, 0, 0, 2);
- add_ui_element(0x1B2, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1B1, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B2, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 13:
- add_ui_element(0x1B3, 0, 0, 2);
- add_ui_element(0x1B4, 0, 0, 2);
- add_ui_element(0x1B5, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1B3, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B4, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B5, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 14:
- add_ui_element(0x1B6, 0, 0, 2);
- add_ui_element(0x1B7, 0, 0, 2);
- add_ui_element(0x1B8, 0, 0, 2);
- add_ui_element(0x1B9, 0, 0, 2);
- add_ui_element(0x1BA, 0, 0, 2);
- add_ui_element(0x1BB, 0, 0, 2);
- add_ui_element(0x1BC, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1B6, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B7, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B8, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1B9, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1BA, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1BB, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1BC, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 15:
- add_ui_element(0x1BD, 0, 0, 2);
- add_ui_element(0x1BE, 0, 0, 2);
- add_ui_element(0x1BF, 0, 0, 2);
- add_ui_element(0x1C0, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1BD, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1BE, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1BF, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C0, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 16:
- add_ui_element(0x1C1, 0, 0, 2);
- add_ui_element(0x1C2, 0, 0, 2);
- add_ui_element(0x1C3, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1C1, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C2, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C3, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 17:
- add_ui_element(0x1C4, 0, 0, 2);
- add_ui_element(0x1C5, 0, 0, 2);
- add_ui_element(0x1C6, 0, 0, 2);
- add_ui_element(0x1C7, 0, 0, 2);
- add_ui_element(0x1C8, 0, 0, 2);
- add_ui_element(0x1C9, 0, 0, 2);
- add_ui_element(0x1CA, 0, 0, 2);
- add_ui_element(0x1CB, 0, 0, 2);
- add_ui_element(0x1CC, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1C4, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C5, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C6, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C7, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C8, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1C9, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1CA, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1CB, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_1CC, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
case 18:
- add_ui_element(0x1CD, 0, 0, 2);
- return;
+ add_menu_item(MENU_ITEM_TYPE_1CD, 0, 0, MENU_ITEM_PRIORITY_2);
+ break;
}
}
@@ -1542,76 +1569,76 @@ void func_80092C80(void) {
// Some kind of lookup function, seems to return an index to be used
// to get a character's width in pixels
s32 char_to_glyph_index(char* character) {
- s32 var_v1;
+ s32 index;
s8 temp_v0;
temp_v0 = *character;
- var_v1 = 1;
+ index = 1;
if ((temp_v0 >= 'a') && (temp_v0 <= 'z')) {
- var_v1 = temp_v0 - 0x61;
+ index = temp_v0 - 0x61;
} else if ((temp_v0 >= 'A') && (temp_v0 <= 'Z')) {
- var_v1 = temp_v0 - 0x41;
+ index = temp_v0 - 0x41;
} else if ((temp_v0 >= '0') && (temp_v0 <= '9')) {
- var_v1 = temp_v0 - 0x10;
+ index = temp_v0 - 0x10;
} else if (temp_v0 == ' ') {
- var_v1 = -1;
+ index = -1;
} else if (temp_v0 < 0) {
// Handling EUC-JUP characters
switch (temp_v0) { /* irregular */
case -92: // 0xA4
- var_v1 = func_80092E1C(character + 1);
+ index = func_80092E1C(character + 1);
break;
case -91: // 0xA5
- var_v1 = func_80092DF8(character + 1);
+ index = func_80092DF8(character + 1);
break;
case -95: // 0xA1
case -93: // 0xA3
case -85: // 0xAB
- var_v1 = func_80092EE4(character);
+ index = func_80092EE4(character);
break;
}
} else {
switch (temp_v0) {
case '!':
- var_v1 = 0x0000001A;
+ index = 0x0000001A;
break;
case '-':
- var_v1 = 0x0000001B;
+ index = 0x0000001B;
break;
case '?':
- var_v1 = 0x0000001C;
+ index = 0x0000001C;
break;
case '\'':
- var_v1 = 0x0000001D;
+ index = 0x0000001D;
break;
case '$':
- var_v1 = 0x0000001E;
+ index = 0x0000001E;
break;
case '.':
- var_v1 = 0x0000001F;
+ index = 0x0000001F;
break;
case '\"':
- var_v1 = 0x0000002A;
+ index = 0x0000002A;
break;
case '*':
- var_v1 = 0x0000002B;
+ index = 0x0000002B;
break;
case '+':
- var_v1 = 0x0000002C;
+ index = 0x0000002C;
break;
// Displayed as "cc"
case '(':
- var_v1 = 0x0000002D;
+ index = 0x0000002D;
break;
case ',':
- var_v1 = 0x0000002E;
+ index = 0x0000002E;
break;
default:
- var_v1 = -2;
+ index = -2;
break;
}
}
- return var_v1;
+ return index;
}
s32 func_80092DF8(char* arg) {
@@ -1779,7 +1806,7 @@ void set_text_color(s32 arg0) {
UNUSED void func_800930E4(s32 arg0, s32 arg1, char* arg2) {
set_text_color(TEXT_BLUE);
- func_80093324(arg0, arg1, arg2, 0, 1.0, 1.0);
+ print_text_mode_1(arg0, arg1, arg2, 0, 1.0, 1.0);
}
// "tracking" is a uniform spacing between all characters in a given word
@@ -1792,10 +1819,10 @@ void print_text0(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32
do {
glyphIndex = char_to_glyph_index(text);
if (glyphIndex >= 0) {
- load_menu_img((MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]));
+ load_menu_img((MenuTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]));
gDisplayListHead =
print_letter(gDisplayListHead,
- (MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]),
+ (MenuTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]),
column + (stringWidth * scaleX), row, mode, scaleX, scaleY);
stringWidth += gGlyphDisplayWidth[glyphIndex] + tracking;
} else if ((glyphIndex != -2) && (glyphIndex == -1)) {
@@ -1814,11 +1841,11 @@ void print_text0(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32
gSPDisplayList(gDisplayListHead++, D_020077D8);
}
-void func_80093324(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
+void print_text_mode_1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
print_text0(column, row, text, tracking, scaleX, scaleY, 1);
}
-void func_80093358(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
+void print_text_mode_2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
print_text0(column, row, text, tracking, scaleX, scaleY, 2);
}
@@ -1846,15 +1873,15 @@ void print_text1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32
}
switch (arg6) {
- case 1:
+ case LEFT_TEXT:
// ???
do {
} while (0);
- case 3:
+ case RIGHT_TEXT:
column -= stringWidth;
break;
- case 2:
- case 4:
+ case CENTER_TEXT_MODE_1:
+ case CENTER_TEXT_MODE_2:
column -= stringWidth / 2;
break;
default:
@@ -1890,24 +1917,24 @@ void print_text1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32
gSPDisplayList(gDisplayListHead++, D_020077D8);
}
-void func_800936B8(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
+void print_text1_left(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
print_text1(column, row, text, tracking, scaleX, scaleY, 1);
}
-void draw_text(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
+void print_text1_center_mode_1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
print_text1(column, row, text, tracking, scaleX, scaleY, 2);
}
-void func_80093720(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
+void print_text1_right(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
print_text1(column, row, text, tracking, scaleX, scaleY, 3);
}
-void func_80093754(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
+void print_text1_center_mode_2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) {
print_text1(column, row, text, tracking, scaleX, scaleY, 4);
}
void print_text2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY, s32 arg6) {
- MkTexture* glyphTexture;
+ MenuTexture* glyphTexture;
s32 characterWidth;
s32 glyphIndex;
@@ -1916,7 +1943,7 @@ void print_text2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32
do {
glyphIndex = char_to_glyph_index(text);
if (glyphIndex >= 0) {
- glyphTexture = (MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]);
+ glyphTexture = (MenuTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]);
load_menu_img(glyphTexture);
gDisplayListHead =
print_letter(gDisplayListHead, glyphTexture, column - (gGlyphDisplayWidth[glyphIndex] / 2), row,
@@ -2039,7 +2066,7 @@ void func_80093C98(s32 arg0) {
AddEffectMatrixOrtho();
gSPDisplayList(gDisplayListHead++, D_02007F18);
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
- func_800A8250();
+ handle_menus_special();
if (arg0 == 0) {
func_800A54EC();
func_8009CA6C(4);
@@ -2060,10 +2087,10 @@ void func_80093E40(void) {
void func_80093E60(void) {
s32 i;
- D_8018D9B4 = get_next_available_memory_addr(0x00002800);
- D_8018D9B0 = (u16*) get_next_available_memory_addr(0x000124F8);
- D_8018D9B8 = get_next_available_memory_addr(0x00001000);
- D_8018D9BC = get_next_available_memory_addr(4U);
+ gMenuCompressedBuffer = get_next_available_memory_addr(0x00002800);
+ //sMenuTextureList = (u16*) get_next_available_memory_addr(0x000124F8);
+ sTKMK00_LowResBuffer = get_next_available_memory_addr(0x00001000);
+ sGPPointsCopy = get_next_available_memory_addr(4U);
for (i = 0; i < 5; i++) {
D_8018E7AC[i] = 0;
@@ -2073,9 +2100,9 @@ void func_80093E60(void) {
D_8018E838[i] = 0;
}
- func_80099110();
+ clear_menu_textures();
func_8009A344();
- func_8009E620();
+ clear_menus();
func_80092258();
D_8018ED91 = 0;
}
@@ -2093,7 +2120,7 @@ void func_80093F10(void) {
func_8009C918();
func_80099A70();
func_80099E54();
- func_800A8230();
+ handle_menus_default();
func_80099AEC();
func_80099EC4();
func_8009CA2C();
@@ -2115,7 +2142,7 @@ void func_800940EC(s32 arg0) {
func_80092148();
func_80099A70();
func_80099E54();
- func_800A8230();
+ handle_menus_default();
func_80099AEC();
func_80099EC4();
func_8009CA6C(arg0);
@@ -2131,9 +2158,9 @@ void func_800942D0(void) {
test = &gGfxPool->mtxObject[0];
gSPMatrix(gDisplayListHead++, &gGfxPool->mtxScreen, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gDisplayListHead++, &gGfxPool->mtxLookAt[0], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- guRotate(test, D_8018EDC8, 1.0f, 0.0f, 0.0f);
- guRotate(test + 1, D_8018EDCC, 0.0f, 1.0f, 0.0f);
- guScale(test + 2, 1.0f, 1.0f, D_8018EDC4);
+ guRotate(test, gIntroModelRotX, 1.0f, 0.0f, 0.0f);
+ guRotate(test + 1, gIntroModelRotY, 0.0f, 1.0f, 0.0f);
+ guScale(test + 2, 1.0f, 1.0f, gIntroModelScale);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
@@ -2141,14 +2168,14 @@ void func_800942D0(void) {
gDPSetEnvColor(gDisplayListHead++, 0x00, 0x00, 0x00, 0x00);
gSPDisplayList(gDisplayListHead++, D_02007F60);
gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW);
- if (D_800E8530 > 0) {
- var_f26 = D_800E8534;
+ if (sIntroModelMotionSpeed > 0) {
+ var_f26 = sIntroModelSpeed;
if (var_f26 > 10.0f) {
var_f26 = 10.0f;
}
for (var_s2 = 0, thing = 0xC0; var_s2 < 0xC; var_s2++, thing -= 0x10) {
guRotate(test, 0.0f, 1.0f, 0.0f, 0.0f);
- guRotate(test + 1, (var_s2 + 1) * D_800E8530 * var_f26, 0.0f, 1.0f, 0.0f);
+ guRotate(test + 1, (var_s2 + 1) * sIntroModelMotionSpeed * var_f26, 0.0f, 1.0f, 0.0f);
guScale(test + 2, 1.0f, 1.0f, 2.0f);
gSPMatrix(gDisplayListHead++, test++, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
@@ -2167,7 +2194,7 @@ void func_80094660(struct GfxPool* arg0, UNUSED s32 arg1) {
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
guPerspective(&arg0->mtxScreen, &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
gSPPerspNormalize(gDisplayListHead++, perspNorm);
- guLookAt(&arg0->mtxLookAt[0], 0.0f, 0.0f, (f32) D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
+ guLookAt(&arg0->mtxLookAt[0], 0.0f, 0.0f, (f32) gIntroModelZEye, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
func_800942D0();
gDPPipeSync(gDisplayListHead++);
gDPSetTexturePersp(gDisplayListHead++, G_TP_NONE);
@@ -2179,12 +2206,12 @@ void render_checkered_flag(struct GfxPool* arg0, UNUSED s32 arg1) {
move_segment_table_to_dmem();
guPerspective(&arg0->mtxPersp[0], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f);
gSPPerspNormalize(gDisplayListHead++, perspNorm);
- guLookAt(&arg0->mtxLookAt[1], 0.0f, 0.0f, (f32) D_8018EDC0, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
- guRotate(&arg0->mtxObject[0], D_8018EDC8, 1.0f, 0, 0);
- guRotate(&arg0->mtxObject[1], D_8018EDCC, 0, 1.0f, 0);
- guRotate(&arg0->mtxObject[2], D_8018EDD0, 0, 0, 1.0f);
- guScale(&arg0->mtxObject[3], D_8018EDC4, D_8018EDC4, D_8018EDC4);
- guTranslate(&arg0->mtxObject[4], D_8018EDD4, D_8018EDD8, D_8018EDDC);
+ guLookAt(&arg0->mtxLookAt[1], 0.0f, 0.0f, (f32) gIntroModelZEye, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);
+ guRotate(&arg0->mtxObject[0], gIntroModelRotX, 1.0f, 0, 0);
+ guRotate(&arg0->mtxObject[1], gIntroModelRotY, 0, 1.0f, 0);
+ guRotate(&arg0->mtxObject[2], gIntroModelRotZ, 0, 0, 1.0f);
+ guScale(&arg0->mtxObject[3], gIntroModelScale, gIntroModelScale, gIntroModelScale);
+ guTranslate(&arg0->mtxObject[4], gIntroModelPosX, gIntroModelPosY, gIntroModelPosZ);
gSPMatrix(gDisplayListHead++, &arg0->mtxPersp[0], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gDisplayListHead++, &arg0->mtxLookAt[1], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gDisplayListHead++, &arg0->mtxObject[0], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
@@ -2207,7 +2234,7 @@ void func_80094A64(struct GfxPool* pool) {
guOrtho(&pool->mtxScreen, 0.0f, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0.0f, -100.0f, 100.0f, 1.0f);
gSPMatrix(gDisplayListHead++, &pool->mtxScreen, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPDisplayList(gDisplayListHead++, D_02007650);
- render_menus();
+ setup_menus();
func_80092290(4, D_8018E850, D_8018E858);
func_80092290(5, (s32*) &D_8018E850[1], (s32*) &D_8018E858[1]);
func_80099A70();
@@ -2225,7 +2252,7 @@ void func_80094A64(struct GfxPool* pool) {
case MAIN_MENU:
case CHARACTER_SELECT_MENU:
case COURSE_SELECT_MENU:
- func_800A8230();
+ handle_menus_default();
func_80099AEC();
break;
}
@@ -2235,145 +2262,145 @@ void func_80094A64(struct GfxPool* pool) {
gSPDisplayList(gDisplayListHead++, D_020076B0);
}
-void render_menus(void) {
- if (D_800E86A4 != 0) {
- func_80099110();
+void setup_menus(void) {
+ if (gFadeModeSelection != 0) {
+ clear_menu_textures();
func_8009A344();
- func_8009E620();
+ clear_menus();
func_8009B938();
func_80092258();
func_800B5F30();
func_800B6014();
- func_800B3F74(gMenuSelection);
+ load_menu_states(gMenuSelection);
switch (gMenuSelection) {
case OPTIONS_MENU:
- add_ui_element(0x00000023, 0, 0, 2);
- add_ui_element(0x000000F1, 0, 0, 4);
- add_ui_element(0x000000F0, 0, 0, 2);
+ add_menu_item(MAIN_MENU_BACKGROUND, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_0F1, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(MENU_ITEM_TYPE_0F0, 0, 0, MENU_ITEM_PRIORITY_2);
break;
case DATA_MENU:
- add_ui_element(0x00000023, 0, 0, 2);
- add_ui_element(0x0000008C, 0, 0, 6);
- add_ui_element(0x0000007C, 0, 0, 6);
- add_ui_element(0x0000007D, 0, 0, 6);
- add_ui_element(0x0000007E, 0, 0, 6);
- add_ui_element(0x0000007F, 0, 0, 6);
- add_ui_element(0x00000080, 0, 0, 6);
- add_ui_element(0x00000081, 0, 0, 6);
- add_ui_element(0x00000082, 0, 0, 6);
- add_ui_element(0x00000083, 0, 0, 6);
- add_ui_element(0x00000084, 0, 0, 6);
- add_ui_element(0x00000085, 0, 0, 6);
- add_ui_element(0x00000086, 0, 0, 6);
- add_ui_element(0x00000087, 0, 0, 6);
- add_ui_element(0x00000088, 0, 0, 6);
- add_ui_element(0x00000089, 0, 0, 6);
- add_ui_element(0x0000008A, 0, 0, 6);
- add_ui_element(0x0000008B, 0, 0, 6);
- add_ui_element(0x0000008D, 0, 0, 8);
+ add_menu_item(MAIN_MENU_BACKGROUND, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_TYPE_08C, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_07C, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_07D, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_07E, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_07F, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_080, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_081, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_082, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_083, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_084, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_085, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_086, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_087, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_088, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_089, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_08A, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_08B, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_08D, 0, 0, MENU_ITEM_PRIORITY_8);
break;
case COURSE_DATA_MENU:
- add_ui_element(0x000000E6, 0, 0, 8);
- add_ui_element(0x000000E7, 0, 0, 8);
- add_ui_element(0x000000E8, 0, 0, 8);
- add_ui_element(0x000000E9, 0, 0, 8);
- add_ui_element(0x000000EA, 0, 0, 8);
+ add_menu_item(MENU_ITEM_DATA_COURSE_IMAGE, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_DATA_COURSE_INFO, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_DATA_COURSE_SELECTABLE, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_TYPE_0E9, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_TYPE_0EA, 0, 0, MENU_ITEM_PRIORITY_8);
break;
case LOGO_INTRO_MENU:
- add_ui_element(0x000000FA, 0, 0, 0);
+ add_menu_item(MENU_ITEM_UI_LOGO_INTRO, 0, 0, MENU_ITEM_PRIORITY_0);
break;
case CONTROLLER_PAK_MENU:
- add_ui_element(0x000000DA, 0, 0, 0);
- add_ui_element(0x000000D2, 0, 0, 4);
- add_ui_element(0x000000D4, 0, 0, 6);
- add_ui_element(0x000000D3, 0, 0, 8);
- add_ui_element(0x000000D5, 0, 0, 0x0A);
- add_ui_element(0x000000D6, 0, 0, 0x0A);
- add_ui_element(0x000000D7, 0, 0, 0x0A);
- add_ui_element(0x000000D8, 0, 0, 0x0A);
- add_ui_element(0x000000D9, 0, 0, 0x0A);
+ add_menu_item(MENU_ITEM_TYPE_0DA, 0, 0, MENU_ITEM_PRIORITY_0);
+ add_menu_item(MENU_ITEM_TYPE_0D2, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(MENU_ITEM_TYPE_0D4, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_0D3, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_TYPE_0D5, 0, 0, MENU_ITEM_PRIORITY_A);
+ add_menu_item(MENU_ITEM_TYPE_0D6, 0, 0, MENU_ITEM_PRIORITY_A);
+ add_menu_item(MENU_ITEM_TYPE_0D7, 0, 0, MENU_ITEM_PRIORITY_A);
+ add_menu_item(MENU_ITEM_TYPE_0D8, 0, 0, MENU_ITEM_PRIORITY_A);
+ add_menu_item(MENU_ITEM_TYPE_0D9, 0, 0, MENU_ITEM_PRIORITY_A);
break;
case START_MENU:
- add_ui_element(2, 0, 0, 4);
- add_ui_element(1, 0, 0, 0);
- add_ui_element(0x000000FB, 0, 0, 0);
+ add_menu_item(MENU_ITEM_UI_LOGO_AND_COPYRIGHT, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(MENU_ITEM_UI_START_BACKGROUND, 0, 0, MENU_ITEM_PRIORITY_0);
+ add_menu_item(START_MENU_FLAG, 0, 0, MENU_ITEM_PRIORITY_0);
if (gControllerBits & 1) {
- add_ui_element(3, 0, 0, 2);
+ add_menu_item(MENU_ITEM_UI_PUSH_START_BUTTON, 0, 0, MENU_ITEM_PRIORITY_2);
} else {
- add_ui_element(4, 0, 0, 2);
+ add_menu_item(MENU_ITEM_UI_NO_CONTROLLER, 0, 0, MENU_ITEM_PRIORITY_2);
}
- add_ui_element(5, 0, 0, 6);
+ add_menu_item(MENU_ITEM_UI_START_RECORD_TIME, 0, 0, MENU_ITEM_PRIORITY_6);
gDemoMode = 0;
- D_8018EE08 = 0;
+ gDemoUseController = 0;
break;
case MAIN_MENU:
- add_ui_element(0x00000023, 0, 0, 2);
- add_ui_element(0x0000000A, 0x0000015E, 0x00000011, 6);
- add_ui_element(0x0000000E, 0x0000015E, 0x0000003E, 6);
- add_ui_element(0x0000000D, 0x0000015E, 0x0000003E, 6);
- add_ui_element(0x0000000C, 0x0000015E, 0x0000003E, 6);
- add_ui_element(0x0000000B, 0x0000015E, 0x0000003E, 6);
- add_ui_element(0x0000000F, 0x0000015E, 0x000000C8, 6);
- add_ui_element(0x00000011, 0x0000015E, 0x000000C8, 6);
- add_ui_element(0x00000010, 0x0000015E, 0x000000C8, 6);
+ add_menu_item(MAIN_MENU_BACKGROUND, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(MENU_ITEM_UI_GAME_SELECT, 0x0000015E, 0x00000011, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_UI_4P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_UI_3P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_UI_2P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_UI_1P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_UI_OK, 0x0000015E, 0x000000C8, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MAIN_MENU_DATA_GFX, 0x0000015E, 0x000000C8, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MAIN_MENU_OPTION_GFX, 0x0000015E, 0x000000C8, MENU_ITEM_PRIORITY_6);
if (has_unlocked_extra_mode() != 0) {
- add_ui_element(0x00000015, 0, 0, 6);
+ add_menu_item(MAIN_MENU_EXTRA_CC, 0, 0, MENU_ITEM_PRIORITY_6);
}
- add_ui_element(0x00000014, 0, 0, 6);
- add_ui_element(0x00000013, 0, 0, 6);
- add_ui_element(0x00000012, 0, 0, 6);
- add_ui_element(0x00000019, 0, 0, 6);
- add_ui_element(0x00000018, 0, 0, 6);
- add_ui_element(0x0000001B, 0, 0, 0x0C);
+ add_menu_item(MAIN_MENU_150CC, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MAIN_MENU_100CC, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MAIN_MENU_50CC, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MAIN_MENU_TIME_TRIALS_DATA, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MAIN_MENU_TIME_TRIALS_BEGIN, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_01B, 0, 0, MENU_ITEM_PRIORITY_C);
break;
case CHARACTER_SELECT_MENU:
- add_ui_element(0x00000024, 0, 0, 2);
- add_ui_element(0x0000002A, 0, 0, 6);
- add_ui_element(0x00000033, 0, 0, 6);
- add_ui_element(0x0000002B, 0, 0, 8);
- add_ui_element(0x0000002C, 0, 0, 8);
- add_ui_element(0x0000002D, 0, 0, 6);
- add_ui_element(0x0000002E, 0, 0, 6);
- add_ui_element(0x0000002F, 0, 0, 6);
- add_ui_element(0x00000030, 0, 0, 6);
- add_ui_element(0x00000031, 0, 0, 6);
- add_ui_element(0x00000032, 0, 0, 8);
- add_ui_element(0x00000034, 0, 0, 0x0C);
- add_ui_element(0x00000035, 0, 0, 0x0C);
- add_ui_element(0x00000036, 0, 0, 0x0C);
- add_ui_element(0x00000037, 0, 0, 0x0C);
+ add_menu_item(CHARACTER_SELECT_BACKGROUND, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_OK, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_MARIO, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(CHARACTER_SELECT_MENU_LUIGI, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(CHARACTER_SELECT_MENU_TOAD, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_PEACH, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_YOSHI, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_DK, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_WARIO, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(CHARACTER_SELECT_MENU_BOWSER, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(CHARACTER_SELECT_MENU_1P_CURSOR, 0, 0, MENU_ITEM_PRIORITY_C);
+ add_menu_item(CHARACTER_SELECT_MENU_2P_CURSOR, 0, 0, MENU_ITEM_PRIORITY_C);
+ add_menu_item(CHARACTER_SELECT_MENU_3P_CURSOR, 0, 0, MENU_ITEM_PRIORITY_C);
+ add_menu_item(CHARACTER_SELECT_MENU_4P_CURSOR, 0, 0, MENU_ITEM_PRIORITY_C);
break;
case COURSE_SELECT_MENU:
- add_ui_element(0x00000025, 0, 0, 2);
- add_ui_element(0x00000052, 0, 0, 6);
+ add_menu_item(COURSE_SELECT_BACKGROUND, 0, 0, MENU_ITEM_PRIORITY_2);
+ add_menu_item(COURSE_SELECT_MAP_SELECT, 0, 0, MENU_ITEM_PRIORITY_6);
if (gModeSelection != BATTLE) {
- add_ui_element(0x00000053, 0, 0, 4);
- add_ui_element(0x00000054, 0, 0, 4);
- add_ui_element(0x00000055, 0, 0, 4);
- add_ui_element(0x00000056, 0, 0, 4);
- add_ui_element(0x00000058, 0, 0, 6);
- add_ui_element(0x00000059, 0, 0, 6);
- add_ui_element(0x0000005A, 0, 0, 6);
- add_ui_element(0x0000005B, 0, 0, 6);
+ add_menu_item(COURSE_SELECT_MUSHROOM_CUP, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(COURSE_SELECT_FLOWER_CUP, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(COURSE_SELECT_STAR_CUP, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(COURSE_SELECT_SPECIAL_CUP, 0, 0, MENU_ITEM_PRIORITY_4);
+ add_menu_item(MENU_ITEM_TYPE_058, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(COURSE_SELECT_COURSE_NAMES, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_05A, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_05B, 0, 0, MENU_ITEM_PRIORITY_6);
} else {
- add_ui_element(0x0000005C, 0, 0, 6);
- add_ui_element(0x0000006E, 0, 0, 6);
- }
- add_ui_element(0x00000064, 0, 0, 6);
- add_ui_element(0x0000005F, 0, 0, 6);
- add_ui_element(0x00000060, 0, 0, 6);
- add_ui_element(0x00000061, 0, 0, 6);
- add_ui_element(0x00000062, 0, 0, 6);
- add_ui_element(0x0000005D, 0, 0, 6);
- add_ui_element(0x0000005E, 0, 0, 8);
+ add_menu_item(COURSE_SELECT_BATTLE_NAMES, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_06E, 0, 0, MENU_ITEM_PRIORITY_6);
+ }
+ add_menu_item(MENU_ITEM_TYPE_064, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_05F, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_060, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_061, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_062, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(COURSE_SELECT_OK, 0, 0, MENU_ITEM_PRIORITY_6);
+ add_menu_item(MENU_ITEM_TYPE_05E, 0, 0, MENU_ITEM_PRIORITY_8);
if (gModeSelection == TIME_TRIALS) {
- add_ui_element(0x00000065, 0, 0, 8);
- add_ui_element(0x00000066, 0, 0, 8);
- add_ui_element(0x00000069, 0, 0, 8);
+ add_menu_item(MENU_ITEM_TYPE_065, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_TYPE_066, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_TYPE_069, 0, 0, MENU_ITEM_PRIORITY_8);
}
if (gModeSelection == GRAND_PRIX) {
- add_ui_element(0x00000068, 0, 0, 8);
- add_ui_element(0x00000067, 0, 0, 5);
+ add_menu_item(MENU_ITEM_TYPE_068, 0, 0, MENU_ITEM_PRIORITY_8);
+ add_menu_item(MENU_ITEM_TYPE_067, 0, 0, MENU_ITEM_PRIORITY_5);
}
break;
case 0:
@@ -2384,12 +2411,12 @@ void render_menus(void) {
default:
break;
}
- if (D_800E86A4 != 2) {
+ if (gFadeModeSelection != FADE_MODE_LOGO) {
func_8009DF4C(0x00000014);
} else {
func_8009DF6C(0x00000014);
}
- D_800E86A4 = 0;
+ gFadeModeSelection = FADE_MODE_NONE;
}
}
@@ -2398,8 +2425,8 @@ CProperties* GetCoursePropsA(void);
void func_80095574(void) {
s32 var_v0;
- if ((D_8018EE0C < 3) || (D_8018E7AC[4] != 0)) {
- func_800A8230();
+ if ((unref_D_8018EE0C < 3) || (D_8018E7AC[4] != 0)) {
+ handle_menus_default();
}
if (gDebugMenuSelection >= 2) {
load_debug_font();
@@ -2441,7 +2468,7 @@ void func_80095574(void) {
}
debug_print_str2(var_v0 + 0xB9, 0x0000006E, GetCoursePropsA()->DebugName);
debug_print_str2(0x00000050, 0x00000078, "screen_mode");
- debug_print_str2(0x000000AA, 0x00000078, gDebugScreenModeNames[D_8018EDF1]);
+ debug_print_str2(0x000000AA, 0x00000078, gDebugScreenModeNames[gScreenModeListIndex]);
debug_print_str2(0x00000050, 0x00000082, "player");
debug_print_str2(0x000000AA, 0x00000082, gDebugCharacterNames[gCharacterSelections[0]]);
debug_print_str2(0x00000050, 0x0000008C, "sound mode");
@@ -2651,13 +2678,13 @@ Gfx* func_80095E10(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4,
s32 sp64 = 0;
s32 var_v0_2;
- while (var_t0 < argB) {
+ while ((u32)var_t0 < argB) {
var_t0 *= 2;
}
temp_lo = 0x400 / var_t0;
- while ((temp_lo / 2) > argC) {
+ while ((u32)(temp_lo / 2) > argC) {
temp_lo /= 2;
}
@@ -2705,9 +2732,9 @@ Gfx* func_80095E10(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4,
var_s4 = temp_lo;
}
- for (var_a1_2 = arg4; var_a1_2 < arg6; var_a1_2 += var_t0) {
+ for (var_a1_2 = arg4; var_a1_2 < (u32)arg6; var_a1_2 += var_t0) {
- if (arg6 < var_t0 + var_a1_2) {
+ if ((u32)arg6 < var_t0 + var_a1_2) {
var_s2 = arg6 - var_a1_2;
if (!var_s2) {
break;
@@ -2745,13 +2772,13 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4,
s32 sp64 = 0;
s32 var_v0_2;
- while (var_t0 < argD) {
+ while ((u32)var_t0 < argD) {
var_t0 *= 2;
}
temp_lo = 0x400 / var_t0;
- while ((temp_lo / 2) > argE) {
+ while ((u32)(temp_lo / 2) > argE) {
temp_lo /= 2;
}
@@ -2791,9 +2818,9 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4,
arg3 /= arg5;
sp7C = argA;
- for (var_s3 = arg7; var_s3 < arg9; var_s3 += temp_lo) {
+ for (var_s3 = arg7; var_s3 < (u32)arg9; var_s3 += temp_lo) {
- if (arg9 < temp_lo + var_s3) {
+ if ((u32)arg9 < temp_lo + var_s3) {
var_s4 = arg9 - var_s3;
if (!var_s4) {
break;
@@ -2802,9 +2829,9 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4,
var_s4 = temp_lo;
}
b = var_s4 * arg5;
- for (var_a1_2 = arg6; var_a1_2 < arg8; var_a1_2 += var_t0) {
+ for (var_a1_2 = arg6; var_a1_2 < (u32)arg8; var_a1_2 += var_t0) {
- if (arg8 < var_t0 + var_a1_2) {
+ if ((u32)arg8 < var_t0 + var_a1_2) {
var_s2 = arg8 - var_a1_2;
if (!var_s2) {
break;
@@ -2855,13 +2882,13 @@ Gfx* func_80096CD8(Gfx* displayListHead, s32 arg1, s32 arg2, u32 width, u32 arg4
s32 maskt = 0;
s32 rand;
- while (var_ra < width) {
+ while (var_ra < (s32)width) {
var_ra *= 2;
}
spCC = 0x400 / var_ra;
- while ((spCC / 2) > arg4) {
+ while ((spCC / 2) > (s32)arg4) {
spCC /= 2;
}
@@ -2933,7 +2960,7 @@ Gfx* func_80096CD8(Gfx* displayListHead, s32 arg1, s32 arg2, u32 width, u32 arg4
return displayListHead;
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_80096CD8.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_80096CD8.s")
#endif
#ifdef NON_MATCHING
@@ -2957,13 +2984,13 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4,
gDPSetCombineLERP(displayListHead++, TEXEL1, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, 0,
0, 0, COMBINED, 0, 0, 0, COMBINED);
- while (var_t0 < argB) {
+ while (var_t0 < (s32)argB) {
var_t0 *= 2;
}
temp_lo = 0x400 / var_t0;
- while ((temp_lo / 2) > argC) {
+ while ((temp_lo / 2) > (s32)argC) {
temp_lo /= 2;
}
@@ -3000,9 +3027,9 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4,
return displayListHead;
}
sp7C = arg8;
- for (var_s3 = arg5; var_s3 < arg7; var_s3 += temp_lo) {
+ for (var_s3 = arg5; var_s3 < (u32)arg7; var_s3 += temp_lo) {
- if (arg7 < temp_lo + var_s3) {
+ if (arg7 < (s32)temp_lo + var_s3) {
var_s4 = arg7 - var_s3;
if (!var_s4) {
break;
@@ -3011,9 +3038,9 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4,
var_s4 = temp_lo;
}
- for (var_a1_2 = arg4; var_a1_2 < arg6; var_a1_2 += var_t0) {
+ for (var_a1_2 = arg4; var_a1_2 < (u32)arg6; var_a1_2 += var_t0) {
- if (arg6 < var_t0 + var_a1_2) {
+ if (arg6 < (s32)var_t0 + var_a1_2) {
var_s2 = arg6 - var_a1_2;
if (!var_s2) {
break;
@@ -3044,7 +3071,7 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4,
return displayListHead;
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_80097274.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_80097274.s")
#endif
#undef D_0B002A00
@@ -3154,7 +3181,7 @@ Gfx* func_80098558(Gfx* displayListHead, u32 arg1, u32 arg2, u32 arg3, u32 arg4,
arg5Copy = arg5;
for (var_v0 = arg2; var_v0 < arg4; var_v0 += 0x20) {
for (var_a3 = arg1; var_a3 < arg3; var_a3 += 0x20) {
- gMKLoadTextureTile(displayListHead++, D_8018D9B0, G_IM_FMT_RGBA, G_IM_SIZ_16b, arg8, 0, var_a3, var_v0,
+ gMKLoadTextureTile(displayListHead++, sMenuTextureList, G_IM_FMT_RGBA, G_IM_SIZ_16b, arg8, 0, var_a3, var_v0,
var_a3 + 0x20, var_v0 + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5,
5, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(displayListHead++, arg5 << 2, arg6 << 2, (arg5 + 0x20) << 2, (arg6 + 0x20) << 2, 0, 0,
@@ -3188,7 +3215,7 @@ Gfx* func_800987D0(Gfx* displayListHead, u32 arg1, u32 arg2, u32 width, u32 heig
columnCopy = column;
for (var_v0_2 = arg2; (u32) var_v0_2 < height; var_v0_2 += 0x20) {
for (var_a2 = arg1; (u32) var_a2 < width; var_a2 += 0x20) {
- gMKLoadTextureTile(displayListHead++, D_8018D9B0, G_IM_FMT_RGBA, G_IM_SIZ_16b, textureWidth, 0, var_a2,
+ gMKLoadTextureTile(displayListHead++, sMenuTextureList, G_IM_FMT_RGBA, G_IM_SIZ_16b, textureWidth, 0, var_a2,
var_v0_2, var_a2 + 0x20, var_v0_2 + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
temp_f6 = (temp_f18 * ((temp_f0 * (column - 0xA0)) + (temp_f24 * (row - 0x78)))) + 160.0f;
@@ -3364,33 +3391,63 @@ Gfx* func_80098FC8_wide(Gfx* displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry
return draw_box_fill_wide(displayListHead, ulx, uly, lrx, lry, 0, 0, 0, 0xFF);
}
-void dma_copy_base_729a30(u64* arg0, size_t nbytes, void* vaddr) {
-#ifdef TARGET_N64
- OSIoMesg sp30;
- OSMesg sp2C;
+void load_texture(const char* texture) {
+ if (sMenuTextureListIndex >= 500) {
+ printf("\nload_texture: REACHED MAXIMUM MENU ITEMS\n\n");
+ return;
+ }
- osInvalDCache(vaddr, nbytes);
- osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(arg0)],
- vaddr, nbytes, &gDmaMesgQueue);
- osRecvMesg(&gDmaMesgQueue, &sp2C, OS_MESG_BLOCK);
-#endif
+ sMenuTextureList[sMenuTextureListIndex] = texture;
+
+ sMenuTextureMap[sMenuTextureEntries].textureData = texture;
+ sMenuTextureMap[sMenuTextureEntries].offset = sMenuTextureListIndex;
+
+ sMenuTextureListIndex += 1;
+ sMenuTextureEntries += 1;
}
-void dma_copy_base_7fa3c0(u64* arg0, size_t nbytes, void* vaddr) {
-#ifdef TARGET_N64
- OSIoMesg sp30;
- OSMesg sp2C;
+/**
+ * If you need to reset a texture cache after a modification,
+ * this will reload the texture.
+ */
+void load_texture_reset_cache(const char* texture) {
+ if (sMenuTextureListIndex >= 500) {
+ printf("\nload_texture: REACHED MAXIMUM MENU ITEMS\n\n");
+ return;
+ }
- osInvalDCache(vaddr, nbytes);
- osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0bSegmentRomStart[SEGMENT_OFFSET(arg0)],
- vaddr, nbytes, &gDmaMesgQueue);
- osRecvMesg(&gDmaMesgQueue, &sp2C, OS_MESG_BLOCK);
-#endif
+ ResourceDirtyByName(texture);
+
+ sMenuTextureList[sMenuTextureListIndex] = texture;
+
+ sMenuTextureMap[sMenuTextureEntries].textureData = texture;
+ sMenuTextureMap[sMenuTextureEntries].offset = sMenuTextureListIndex;
+
+ sMenuTextureListIndex += 1;
+ sMenuTextureEntries += 1;
+}
+
+void replace_texture(s32 index, const char* newTexture) {
+ sMenuTextureList[sMenuTextureMap[index].offset] = newTexture;
+ sMenuTextureMap[index].textureData = newTexture;
+ //printf("\nTEST %s %p %s idx %d\n\n", sMenuTextureList[index], sMenuTextureList[sMenuTextureListIndex], newTexture, sMenuTextureListIndex);
+}
+
+// strcpy the const char asset strings into sMenuTextureList. This replaces osPiDma.
+void dma_compressed_mio0_texture_segA(u64* data, size_t nbytes, void* vaddr) {
}
-void func_80099110(void) {
- gMenuTextureBufferIndex = 0;
- gNumD_8018E118Entries = 0;
+// strcpy the const char asset strings into sMenuTextureList. This replaces osPiDma.
+void dma_tkmk00_textures(u64* data, size_t nbytes, void* vaddr) {
+}
+
+void clear_menu_textures(void) {
+ for (size_t i = 0; i < ARRAY_COUNT(sMenuTextureList); i++) {
+ sMenuTextureList[i] = NULL;
+ }
+
+ sMenuTextureListIndex = 0;
+ sMenuTextureEntries = 0;
}
/**
@@ -3423,270 +3480,211 @@ void* segmented_to_virtual_dupe_2(const void* addr) {
#include <assets/player_selection.h>
-#ifdef NON_MATCHING
-// https://decomp.me/scratch/NAZ12
-// Register allocation nonsense
-void load_menu_img(MkTexture* arg0) {
- u16 var_a1_2;
- s32 var_v0;
- s32 var_a1;
- MkTexture* var_s1;
- struct_8018E118_entry* thing = &D_8018E118[0];
- var_s1 = segmented_to_virtual_dupe(arg0);
- while (var_s1->textureData != NULL) {
- var_a1 = 0;
- for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
- if (var_s1->textureData == (thing + var_v0)->textureData) {
- var_a1 = 1;
+void load_menu_img(MenuTexture* addr) {
+ u16 size;
+ s32 i;
+ s32 imgLoaded;
+ MenuTexture* texAddr;
+ TextureMap* texMap = &sMenuTextureMap[0];
+
+ texAddr = segmented_to_virtual_dupe(addr);
+ while (texAddr->textureData != NULL) {
+ imgLoaded = false;
+ for (i = 0; i < sMenuTextureEntries; i++) {
+ if (texAddr->textureData == (texMap + i)->textureData) {
+ imgLoaded = true;
break;
}
}
- if (var_a1 == 0) {
- if (var_s1->type == 3) {
- if (var_s1->size != 0) {
- var_a1_2 = var_s1->size;
+ if (imgLoaded == false) {
+ if (texAddr->type == 3) {
+ if (texAddr->size != 0) {
+ size = texAddr->size;
} else {
- var_a1_2 = 0x1000;
+ size = 0x1000;
}
- if (var_a1_2 % 8) {
- var_a1_2 = ((var_a1_2 / 8) * 8) + 8;
+ if (size % 8) {
+ size = ((size / 8) * 8) + 8;
}
-// mio0decode(D_8018D9B4, &D_8018D9B0[gMenuTextureBufferIndex]);
-// size_t texSize = ResourceGetTexSizeByName(var_s1->textureData);
-// memcpy(&D_8018D9B0[gMenuTextureBufferIndex], var_s1->textureData, texSize);
-#ifdef TARGET_N64
- dma_copy_base_729a30(var_s1->textureData, var_a1_2, D_8018D9B4);
- mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gMenuTextureBufferIndex]);
-#else
- strcpy(&D_8018D9B0[gMenuTextureBufferIndex], var_s1->textureData);
-#endif
+ dma_compressed_mio0_texture_segA(texAddr->textureData, size, sMenuTextureList[sMenuTextureListIndex]);
+ mio0decode(gMenuCompressedBuffer, (u8*) &sMenuTextureList[sMenuTextureListIndex]);
+ load_texture(texAddr->textureData);
} else {
-#ifdef TARGET_N64
- dma_copy_base_729a30(var_s1->textureData, var_s1->height * var_s1->width * 2,
- &D_8018D9B0[gMenuTextureBufferIndex]);
-#else
- strcpy(&D_8018D9B0[gMenuTextureBufferIndex], var_s1->textureData);
-#endif
+ dma_compressed_mio0_texture_segA(texAddr->textureData, (texAddr->height * texAddr->width) * 2,
+ &sMenuTextureList[sMenuTextureListIndex]);
+ load_texture(texAddr->textureData);
}
- thing[gNumD_8018E118Entries].textureData = var_s1->textureData;
- thing[gNumD_8018E118Entries].offset = gMenuTextureBufferIndex;
- gMenuTextureBufferIndex += var_s1->height * var_s1->width;
- gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
- gNumD_8018E118Entries += 1;
+ //texMap[sMenuTextureEntries].textureData = texAddr->textureData;
+ //texMap[sMenuTextureEntries].offset = sMenuTextureListIndex;
+ //sMenuTextureListIndex += 1;
+ //sMenuTextureListIndex = ((sMenuTextureListIndex / 8) * 8) + 8;
+ //sMenuTextureEntries += 1;
}
- var_s1++;
+ texAddr++;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_img.s")
-#endif
-#ifdef NON_MATCHING
-// https://decomp.me/scratch/O2tkD
-// Register allocation nonsense
-void func_80099394(MkTexture* arg0) {
- UNUSED u16 var_a1_2;
- s32 var_v0;
- s32 var_a1;
- UNUSED s32 temp_s3;
- MkTexture* var_s1;
- struct_8018E118_entry* thing;
+void func_80099394(MenuTexture* addr) {
+ s32 i;
+ s32 imgLoaded;
+ MenuTexture* texAddr;
+ TextureMap* texMap = &sMenuTextureMap[0];
- var_s1 = segmented_to_virtual_dupe(arg0);
- while (var_s1->textureData != NULL) {
- var_a1 = 0;
- for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
- // wtf is going on here?
- if (D_8018E118[var_v0 ^ 0].textureData == (*var_s1).textureData) {
- var_a1 = 1;
+ texAddr = segmented_to_virtual_dupe(addr);
+ while (texAddr->textureData != NULL) {
+ imgLoaded = false;
+ for (i = 0; i < sMenuTextureEntries; i++) {
+ if (texAddr->textureData == (texMap + i)->textureData) {
+ imgLoaded = true;
break;
}
}
- if (var_a1 == 0) {
- if (var_s1->type == 5) {
-#ifdef TARGET_N64
- dma_copy_base_729a30(var_s1->textureData, (u32) ((s32) (var_s1->height * var_s1->width) / 2),
- &D_8018D9B0[gMenuTextureBufferIndex]);
-#else
- u8* tex = LOAD_ASSET(var_s1->textureData);
- size_t texSize = ResourceGetTexSizeByName(var_s1->textureData);
- memcpy(&D_8018D9B0[gMenuTextureBufferIndex], tex, texSize);
-#endif
- }
- thing = &D_8018E118[gNumD_8018E118Entries];
- thing->textureData = var_s1->textureData;
- thing = &D_8018E118[gNumD_8018E118Entries];
- thing->offset = gMenuTextureBufferIndex;
-
- gMenuTextureBufferIndex += (var_s1->height * var_s1->width);
- gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
- gNumD_8018E118Entries += 1;
+ if (imgLoaded == false) {
+ if (texAddr->type == 5) {
+ dma_compressed_mio0_texture_segA(texAddr->textureData, (u32) (((s32) (texAddr->height * texAddr->width)) / 2),
+ &sMenuTextureList[sMenuTextureListIndex]);
+ load_texture(texAddr->textureData);
+ }
+ //texMap[sMenuTextureEntries].textureData = texAddr->textureData;
+ //texMap[sMenuTextureEntries].offset = sMenuTextureListIndex;
+ //sMenuTextureListIndex += 1;
+ //sMenuTextureListIndex = ((sMenuTextureListIndex / 8) * 8) + 8;
+ //sMenuTextureEntries += 1;
}
- var_s1++;
+ texAddr++;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099394.s")
-#endif
-#ifdef NON_MATCHING
-// Register allocation nonsense
-// https://decomp.me/scratch/Wv2MX
-void func_8009952C(MkTexture* arg0) {
- UNUSED u16 var_a1_2;
- s32 var_v0;
- s32 var_a1;
- UNUSED s32 temp_s3;
- MkTexture* var_s1;
- struct_8018E118_entry* thing;
+void func_8009952C(MenuTexture* addr) {
+ s32 i;
+ s32 imgLoaded;
+ MenuTexture* texAddr;
+ TextureMap* texMap = &sMenuTextureMap[0];
- var_s1 = segmented_to_virtual_dupe(arg0);
- while (var_s1->textureData != NULL) {
- var_a1 = 0;
- for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
- // wtf is going on here?
- if (D_8018E118[var_v0 ^ 0].textureData == (*var_s1).textureData) {
- var_a1 = 1;
+ texAddr = segmented_to_virtual_dupe(addr);
+ while (texAddr->textureData != NULL) {
+ imgLoaded = false;
+ for (i = 0; i < sMenuTextureEntries; i++) {
+ if (texAddr->textureData == (texMap + i)->textureData) {
+ imgLoaded = true;
break;
}
}
- if (var_a1 == 0) {
-#ifdef TARGET_N64
- dma_copy_base_729a30(var_s1->textureData, 0x00008000U, D_8018D9B4);
- mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gMenuTextureBufferIndex]);
-#else
- memcpy(&D_8018D9B0[gMenuTextureBufferIndex], var_s1->textureData, var_s1->width * var_s1->height * 2);
-#endif
-
- thing = &D_8018E118[gNumD_8018E118Entries];
- thing->textureData = var_s1->textureData;
- thing = &D_8018E118[gNumD_8018E118Entries];
- thing->offset = gMenuTextureBufferIndex;
- gMenuTextureBufferIndex += (var_s1->height * var_s1->width);
- gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
- gNumD_8018E118Entries += 1;
+ if (imgLoaded == false) {
+ dma_compressed_mio0_texture_segA(texAddr->textureData, 0x00008000U, &sMenuTextureList[sMenuTextureListIndex]);
+ mio0decode(gMenuCompressedBuffer, (u8*) &sMenuTextureList[sMenuTextureListIndex]);
+ load_texture(texAddr->textureData);
+ //texMap[sMenuTextureEntries].textureData = texAddr->textureData;
+ //texMap[sMenuTextureEntries].offset = sMenuTextureListIndex;
+ //sMenuTextureListIndex += 1;
+ //sMenuTextureListIndex = ((sMenuTextureListIndex / 8) * 8) + 8;
+ //sMenuTextureEntries += 1;
}
- var_s1++;
+ texAddr++;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009952C.s")
-#endif
-void load_img_wrap(MkTexture* arg0) {
- load_menu_img2(arg0, 1);
+void load_menu_img_mio0_forced(MenuTexture* addr) {
+ load_menu_img_comp_type(addr, LOAD_MENU_IMG_MIO0_FORCE);
}
-#ifdef NON_MATCHING
-// Register allocation nonsense
-// https://decomp.me/scratch/hwAAp
-void load_menu_img2(MkTexture* arg0, s32 arg1) {
- u16 var_a1_2;
- s32 var_v0;
- s32 var_a1;
- u8 var_v0_2;
- MkTexture* texture;
- struct_8018E118_entry* thing = &D_8018E118[0];
-
- texture = segmented_to_virtual_dupe(arg0);
-
- size_t siz = texture->width * texture->height;
- // for (size_t i = 0; i < siz; i++) {
- // printf(" 0x%llX", texture->textureData[i]);
- // }
+void load_menu_img_comp_type(MenuTexture* addr, s32 compType) {
+ u16 size;
+ s32 i;
+ s32 imgLoaded;
+ u8 clearBit;
+ MenuTexture* texAddr;
+ TextureMap* texMap = &sMenuTextureMap[0];
- // Because it's loading an mkTexture. The second element in the array is usually all zeros.
- // Despite this loop, it's usually only ran once.
- while (texture->textureData != NULL) {
- var_a1 = 0;
- for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) {
- if (texture->textureData == (thing + var_v0)->textureData) {
- var_a1 = 1;
+ texAddr = segmented_to_virtual_dupe(addr);
+ while (texAddr->textureData != NULL) {
+ imgLoaded = false;
+ for (i = 0; i < sMenuTextureEntries; i++) {
+ if (texAddr->textureData == (texMap + i)->textureData) {
+ imgLoaded = true;
break;
}
}
- if ((var_a1 == 0) || (arg1 > 0)) {
- if (texture->size != 0) {
- var_a1_2 = texture->size;
+
+ if ((imgLoaded == false) || (compType > LOAD_MENU_IMG_FORCE)) {
+ if (texAddr->size != 0) {
+ size = texAddr->size;
} else {
- var_a1_2 = 0x1000;
+ size = 0x1000;
}
- if ((var_a1_2 % 8)) {
- var_a1_2 = (((var_a1_2 / 8) * 8) + 8);
+ if (size % 8) {
+ size = ((size / 8) * 8) + 8;
}
- switch (arg1) { /* irregular */
- case -1:
- case 1:
- // dma_copy_base_729a30(texture->textureData, var_a1_2, D_8018D9B4);
+
+ // dma a compressed texture to the compressed texture buffer
+ switch (compType) {
+ case LOAD_MENU_IMG_MIO0_ONCE:
+ case LOAD_MENU_IMG_MIO0_FORCE:
+ //dma_compressed_mio0_texture_segA(texAddr->textureData, size, gMenuCompressedBuffer);
break;
- case 0:
- case 2:
- // dma_copy_base_7fa3c0(texture->textureData, var_a1_2, D_8018D9B4);
+ case LOAD_MENU_IMG_TKMK00_ONCE:
+ case LOAD_MENU_IMG_TKMK00_FORCE:
+ //dma_tkmk00_textures(texAddr->textureData, size, gMenuCompressedBuffer);
break;
}
- switch (arg1) { /* switch 1; irregular */
- case -1: /* switch 1 */
- case 1: {
- // mio0decode(D_8018D9B4, (u8*)&D_8018D9B0[gMenuTextureBufferIndex]);
- // printf("w: %d, h: %d", texture->width, texture->height);
- u8* tex = (u8*) LOAD_ASSET(texture->textureData);
- memcpy(&D_8018D9B0[gMenuTextureBufferIndex], tex, texture->width * texture->height * 2);
+
+ // Extract compressed texture to the texture buffer
+ switch (compType) {
+ case LOAD_MENU_IMG_MIO0_ONCE:
+ case LOAD_MENU_IMG_MIO0_FORCE:
+ mio0decode(gMenuCompressedBuffer, (u8*) &sMenuTextureList[sMenuTextureListIndex]);
+ //strcpy(&sMenuTextureList[sMenuTextureListIndex], texAddr->textureData);
+ load_texture(texAddr->textureData);
break;
- }
- case 0: /* switch 1 */
- case 2: /* switch 1 */
- if (texture->type == 1) {
- var_v0_2 = 0x000000BE;
+ case LOAD_MENU_IMG_TKMK00_ONCE:
+ case LOAD_MENU_IMG_TKMK00_FORCE:
+ if (texAddr->type == 1) {
+ clearBit = 0xBE;
} else {
- var_v0_2 = 1;
+ clearBit = 1;
}
if (1) {}
- // D_8018D9B0[gMenuTextureBufferIndex] = &gTextureBackgroundBlueSky;
- // tkmk00decode(D_8018D9B4, texture->textureData, (u8*)&D_8018D9B0[gMenuTextureBufferIndex],
- // var_v0_2);
- u8* tex2 = (u8*) LOAD_ASSET(texture->textureData);
- memcpy(&D_8018D9B0[gMenuTextureBufferIndex], tex2, texture->width * texture->height * 2);
+ tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer,
+ (u8*) &sMenuTextureList[sMenuTextureListIndex], clearBit);
+ load_texture(texAddr->textureData);
+
+ //strcpy(&sMenuTextureList[sMenuTextureListIndex], texAddr->textureData);
break;
}
- thing[gNumD_8018E118Entries].textureData = texture->textureData;
- thing[gNumD_8018E118Entries].offset = gMenuTextureBufferIndex;
- gMenuTextureBufferIndex += texture->height * texture->width;
- gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8;
- gNumD_8018E118Entries += 1;
+ //texMap[sMenuTextureEntries].textureData = texAddr->textureData;
+ //texMap[sMenuTextureEntries].offset = sMenuTextureListIndex;
+ //sMenuTextureListIndex += 1;
+ //sMenuTextureListIndex = ((sMenuTextureListIndex / 8) * 8) + 8;
+ //sMenuTextureEntries += 1;
}
- texture++;
+ texAddr++;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_img2.s")
-#endif
-void func_80099958(MkTexture* arg0, s32 arg1, s32 arg2) {
- u16 var_a1;
- UNUSED u8* thing;
- MkTexture* temp_v0;
+void func_80099958(MenuTexture* addr, s32 arg1, s32 arg2) {
+ u16 size;
+ MenuTexture* texAddr;
- temp_v0 = segmented_to_virtual_dupe(arg0);
- while (temp_v0->textureData != NULL) {
- if (temp_v0->size != 0) {
- var_a1 = temp_v0->size;
+ texAddr = segmented_to_virtual_dupe(addr);
+ while (texAddr->textureData != NULL) {
+ if (texAddr->size != 0) {
+ size = texAddr->size;
} else {
- var_a1 = 0x1400;
+ size = 0x1400;
}
- if (var_a1 % 8) {
+ if (size % 8) {
// Round up to the next multiple of eight
- var_a1 = ((var_a1 / 8) * 8) + 8;
+ size = ((size / 8) * 8) + 8;
}
- // dma_copy_base_729a30(temp_v0->textureData, var_a1, D_8018D9B4);
- // mio0decode(D_8018D9B4, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array);
- u8* tex = LOAD_ASSET(temp_v0->textureData);
- memcpy(D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array, temp_v0->textureData,
- temp_v0->width * temp_v0->height * 2);
- temp_v0++;
+ //! @warning This function does not increment sMenuTextureListIndex
+ dma_compressed_mio0_texture_segA(texAddr->textureData, size, gMenuCompressedBuffer);
+ mio0decode(gMenuCompressedBuffer, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array);
+ load_texture(texAddr->textureData);
+ texAddr++;
}
}
@@ -3697,7 +3695,7 @@ void func_80099A70(void) {
for (i = 0; i < D_8018E060_SIZE; i++) {}
}
-void func_80099A94(MkTexture* arg0, s32 arg1) {
+void func_80099A94(MenuTexture* arg0, s32 arg1) {
struct_8018E060_entry* var_v1;
var_v1 = &D_8018E060[0];
@@ -3705,125 +3703,118 @@ void func_80099A94(MkTexture* arg0, s32 arg1) {
var_v1++;
}
var_v1->texture = segmented_to_virtual_dupe(arg0);
- var_v1->unk_4 = arg1;
+ var_v1->texNum = arg1;
}
#ifdef NON_MATCHING
// https://decomp.me/scratch/rxEoi
// Something's up with the handling of `_textures_0aSegmentRomStart`, I don't know how to fix it
void func_80099AEC(void) {
- s8 var_s4;
+ s8 texEnd;
s32 size;
- UNUSED s32 stackPadding0;
- UNUSED s32 stackPadding1;
- s32 huh;
- OSIoMesg sp68;
- OSMesg sp64;
- UNUSED u8* test;
- s32 sp60;
- MkTexture* temp_s2;
+ s32 texSize;
+ OSIoMesg mb;
+ OSMesg msg;
+ s32 bufSize;
+ MenuTexture* texAddr;
struct_8018E060_entry* var_s1;
if (gGamestate == RACING) {
- sp60 = 0x00000500;
+ bufSize = 0x00000500;
} else {
- sp60 = 0x00001000;
+ bufSize = 0x00001000;
}
- var_s4 = 0;
- var_s1 = &D_8018E060[0];
- temp_s2 = var_s1->texture;
+ texEnd = 0;
+ var_s1 = D_8018E060;
+ texAddr = var_s1->texture;
- if (temp_s2 == NULL)
+ if (texAddr == NULL)
return;
- huh = temp_s2->size;
- if (huh != 0) {
- size = huh;
+ texSize = texAddr->size;
+ if (texSize != 0) {
+ size = texSize;
} else {
size = 0x1400;
}
if (size % 8) {
size = ((size / 8) * 8) + 8;
}
- osInvalDCache(D_8018D9B4, size);
+ osInvalDCache(gMenuCompressedBuffer, size);
#ifdef TARGET_N64
- osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
- D_8018D9B4, size, &gDmaMesgQueue);
+ osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)],
+ gMenuCompressedBuffer, size, &gDmaMesgQueue);
#endif
- osRecvMesg(&gDmaMesgQueue, &sp64, 1);
+ osRecvMesg(&gDmaMesgQueue, &msg, 1);
while (1) {
if ((var_s1 + 1)->texture == NULL) {
- var_s4 += 1;
+ texEnd += 1;
} else {
- temp_s2 = (var_s1 + 1)->texture;
- huh = (var_s1 + 1)->texture->size;
- if (huh != 0) {
- size = huh;
+ texAddr = (var_s1 + 1)->texture;
+ texSize = (var_s1 + 1)->texture->size;
+ if (texSize != 0) {
+ size = texSize;
} else {
size = 0x1400;
}
if (size % 8) {
size = ((size / 8) * 8) + 8;
}
- osInvalDCache(D_8018D9B4 + sp60 * 4, size);
+ osInvalDCache(gMenuCompressedBuffer + bufSize * 4, size);
#ifdef TARGET_N64
- osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
- D_8018D9B4 + sp60 * 4, size, &gDmaMesgQueue);
+ osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)],
+ gMenuCompressedBuffer + bufSize * 4, size, &gDmaMesgQueue);
#endif
}
-#ifdef TARGET_N64
- mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]);
-#else
- memcpy(&D_8018D9B0[D_8018E118[var_s1->unk_4].offset], var_s1->texture->textureData,
- var_s1->texture->width * var_s1->texture->height * 2);
-#endif
+ mio0decode(gMenuCompressedBuffer, (u8*) &sMenuTextureList[sMenuTextureMap[var_s1->texNum].offset]);
+ //strcpy(&sMenuTextureList[sMenuTextureMap[var_s1->texNum].offset], var_s1->texture->textureData);
+ //sMenuTextureList[sMenuTextureMap[var_s1->texNum].offset] = var_s1->texture->textureData;
+ replace_texture(var_s1->texNum, var_s1->texture->textureData);
+
var_s1->texture = NULL;
var_s1++;
- if (var_s4 != 0)
+ if (texEnd != 0)
break;
- osRecvMesg(&gDmaMesgQueue, &sp64, 1);
+ osRecvMesg(&gDmaMesgQueue, &msg, 1);
if ((var_s1 + 1)->texture == NULL) {
- var_s4 += 1;
+ texEnd += 1;
} else {
- temp_s2 = (var_s1 + 1)->texture;
- huh = (var_s1 + 1)->texture->size;
- if (huh != 0) {
- size = huh;
+ texAddr = (var_s1 + 1)->texture;
+ texSize = (var_s1 + 1)->texture->size;
+ if (texSize != 0) {
+ size = texSize;
} else {
size = 0x1400;
}
if (size % 8) {
size = ((size / 8) * 8) + 8;
}
- osInvalDCache(D_8018D9B4, size);
+ osInvalDCache(gMenuCompressedBuffer, size);
#ifdef TARGET_N64
- osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
- D_8018D9B4, size, &gDmaMesgQueue);
+ osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)],
+ gMenuCompressedBuffer, size, &gDmaMesgQueue);
#endif
}
-#ifdef TARGET_N64
- mio0decode(D_8018D9B4 + sp60 * 4, (u8*) &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]);
-#else
- memcpy(&D_8018D9B0[D_8018E118[var_s1->unk_4].offset], var_s1->texture->textureData,
- var_s1->texture->width * var_s1->texture->height * 2);
-#endif
+ mio0decode(gMenuCompressedBuffer + bufSize * 4,
+ (u8*) &sMenuTextureList[sMenuTextureMap[var_s1->texNum].offset]);
+ replace_texture(var_s1->texNum, var_s1->texture->textureData);
var_s1->texture = NULL;
var_s1++;
- if (var_s4 != 0)
+ if (texEnd != 0)
break;
- osRecvMesg(&gDmaMesgQueue, &sp64, 1);
+ osRecvMesg(&gDmaMesgQueue, &msg, 1);
}
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099AEC.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_80099AEC.s")
#endif
void func_80099E54(void) {
D_8018E0E8[0].mk64Texture = NULL;
}
-void func_80099E60(MkTexture* arg0, s32 arg1, s32 arg2) {
+void func_80099E60(MenuTexture* arg0, s32 arg1, s32 arg2) {
struct_8018E0E8_entry* var_v1;
var_v1 = D_8018E0E8;
@@ -3848,7 +3839,7 @@ void func_80099EC4(void) {
OSMesg sp64;
s32 huh;
u8* test;
- MkTexture* temp_s2;
+ MenuTexture* temp_s2;
struct_8018E0E8_entry* var_s1;
var_s4 = 0;
@@ -3867,13 +3858,13 @@ void func_80099EC4(void) {
if (var_s0 % 8) {
var_s0 = ((var_s0 / 8) * 8) + 8;
}
- osInvalDCache(D_8018D9B4, var_s0);
+ osInvalDCache(gMenuCompressedBuffer, var_s0);
#ifdef TARGET_N64
test = &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)];
- osPiStartDma(&sp68, 0, 0, (uintptr_t) test, D_8018D9B4, var_s0, &gDmaMesgQueue);
+ osPiStartDma(&sp68, 0, 0, (uintptr_t) test, gMenuCompressedBuffer, var_s0, &gDmaMesgQueue);
#endif
if ((var_s0 && var_s0) && var_s0) {}
- // osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4, var_s0,
+ // osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], gMenuCompressedBuffer, var_s0,
// &gDmaMesgQueue);
osRecvMesg(&gDmaMesgQueue, &sp64, 1);
while (1) {
@@ -3890,14 +3881,14 @@ void func_80099EC4(void) {
if (var_s0 % 8) {
var_s0 = ((var_s0 / 8) * 8) + 8;
}
- osInvalDCache(D_8018D9B4 + 0x1400, var_s0);
+ osInvalDCache(gMenuCompressedBuffer + 0x1400, var_s0);
#ifdef TARGET_N64
osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
- D_8018D9B4 + 0x1400, var_s0, &gDmaMesgQueue);
+ gMenuCompressedBuffer + 0x1400, var_s0, &gDmaMesgQueue);
#endif
}
#ifdef TARGET_N64
- mio0decode(D_8018D9B4,
+ mio0decode(gMenuCompressedBuffer,
D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
#else
memcpy(D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array,
@@ -3921,14 +3912,14 @@ void func_80099EC4(void) {
if (var_s0 % 8) {
var_s0 = ((var_s0 / 8) * 8) + 8;
}
- osInvalDCache(D_8018D9B4, var_s0);
+ osInvalDCache(gMenuCompressedBuffer, var_s0);
#ifdef TARGET_N64
osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)],
- D_8018D9B4, var_s0, &gDmaMesgQueue);
+ gMenuCompressedBuffer, var_s0, &gDmaMesgQueue);
#endif
}
#ifdef TARGET_N64
- mio0decode(D_8018D9B4 + 0x1400,
+ mio0decode(gMenuCompressedBuffer + 0x1400,
D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array);
#else
memcpy(D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array,
@@ -3942,31 +3933,31 @@ void func_80099EC4(void) {
}
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099EC4.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_80099EC4.s")
#endif
-void func_8009A238(MkTexture* arg0, s32 arg1) {
+void func_8009A238(MenuTexture* arg0, s32 arg1) {
s32 var_a3;
s32 temp_v1;
u64* sp24;
- UNUSED struct_8018E118_entry* temp_v0;
+ UNUSED TextureMap* temp_v0;
- temp_v1 = D_8018E118[arg1].offset;
+ temp_v1 = sMenuTextureMap[arg1].offset;
sp24 = arg0->textureData;
var_a3 = arg0->size;
if (var_a3 % 8) {
var_a3 = ((var_a3 / 8) * 8) + 8;
}
- // dma_copy_base_7fa3c0(sp24, var_a3, D_8018D9B4);
- // tkmk00decode(D_8018D9B4, D_8018D9B8, (u8*) &D_8018D9B0[temp_v1], 1);
+ dma_tkmk00_textures(sp24, var_a3, gMenuCompressedBuffer);
+ // tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer, (u8*) &sMenuTextureList[temp_v1], 1);
// u8 *tex = (u8 *) LOAD_ASSET(arg0->textureData);
- size_t texSize = ResourceGetTexSizeByName(arg0->textureData);
- memcpy(&D_8018D9B0[temp_v1], arg0->textureData, texSize);
- D_8018E118[arg1].textureData = arg0->textureData;
+ //size_t texSize = ResourceGetTexSizeByName(arg0->textureData);
+ replace_texture(arg1, arg0->textureData);
+ //sMenuTextureMap[arg1].textureData = arg0->textureData;
}
void func_8009A2F0(struct_8018E0E8_entry* arg0) {
- MkTexture* var_a0;
+ MenuTexture* var_a0;
struct_8018E0E8_entry* temp_v0;
temp_v0 = segmented_to_virtual_dupe_2(arg0);
@@ -3975,7 +3966,7 @@ void func_8009A2F0(struct_8018E0E8_entry* arg0) {
if (var_a0 == NULL) {
break;
}
- load_menu_img2(var_a0, 0);
+ load_menu_img_comp_type(var_a0, LOAD_MENU_IMG_TKMK00_ONCE);
if (1) {}
temp_v0++;
var_a0 = temp_v0->mk64Texture;
@@ -4010,15 +4001,15 @@ s32 animate_character_select_menu(MkAnimation* anim) {
entry->sequenceIndex = -1;
entry->frameCountDown = 0;
entry->visible = 0x80000000;
- entry->D_8018E118_index = gNumD_8018E118Entries;
+ entry->menuTextureIndex = sMenuTextureEntries;
if (anim[0].mk64Texture) {
- load_img_wrap(anim[0].mk64Texture);
+ load_menu_img_mio0_forced(anim[0].mk64Texture);
}
if (anim[1].mk64Texture) {
- load_img_wrap(anim[1].mk64Texture);
+ load_menu_img_mio0_forced(anim[1].mk64Texture);
} else {
- load_img_wrap(anim[0].mk64Texture);
+ load_menu_img_mio0_forced(anim[0].mk64Texture);
}
entry->unk14 = 0;
@@ -4046,7 +4037,7 @@ s32 func_8009A478(MkAnimation* anim, s32 arg1) {
entry->sequenceIndex = -1;
entry->frameCountDown = 0;
entry->visible = 0x80000000;
- entry->D_8018E118_index = gNumD_8018E118Entries;
+ entry->menuTextureIndex = sMenuTextureEntries;
if (anim[0].mk64Texture) {
func_80099958(anim[0].mk64Texture, arg1, 0);
}
@@ -4061,7 +4052,7 @@ s32 func_8009A478(MkAnimation* anim, s32 arg1) {
void func_8009A594(s32 arg0, s32 arg1, MkAnimation* arg2) {
MkAnimation* temp_v0;
- MkTexture* temp_a0;
+ MenuTexture* temp_a0;
temp_v0 = segmented_to_virtual_dupe_2(arg2);
D_8018DEE0[arg0].textureSequence = temp_v0;
@@ -4071,17 +4062,17 @@ void func_8009A594(s32 arg0, s32 arg1, MkAnimation* arg2) {
D_8018DEE0[arg0].frameCountDown = (temp_v0 + arg1)->frame_length;
temp_a0 = segmented_to_virtual_dupe(temp_v0[arg1].mk64Texture);
if (D_8018DEE0[arg0].unk14 != 0) {
- func_80099A94(temp_a0, D_8018DEE0[arg0].D_8018E118_index);
+ func_80099A94(temp_a0, D_8018DEE0[arg0].menuTextureIndex);
D_8018DEE0[arg0].unk14 = 0;
} else {
- func_80099A94(temp_a0, D_8018DEE0[arg0].D_8018E118_index + 1);
+ func_80099A94(temp_a0, D_8018DEE0[arg0].menuTextureIndex + 1);
D_8018DEE0[arg0].unk14 = 1;
}
}
void func_8009A640(s32 arg0, s32 arg1, s32 arg2, MkAnimation* arg3) {
MkAnimation* temp_v0;
- MkTexture* temp_a0;
+ MenuTexture* temp_a0;
temp_v0 = segmented_to_virtual_dupe_2(arg3);
D_8018DEE0[arg0].textureSequence = temp_v0;
@@ -4119,11 +4110,11 @@ void func_8009A7EC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
}
}
-MkTexture* func_8009A878(struct_8018DEE0_entry* arg0) {
+MenuTexture* func_8009A878(struct_8018DEE0_entry* arg0) {
MkAnimation* temp_v1;
MkAnimation* var_v0;
MkAnimation* test;
- MkTexture* temp_a0;
+ MenuTexture* temp_a0;
temp_v1 = arg0->textureSequence;
if (arg0->sequenceIndex < 0) {
@@ -4142,21 +4133,21 @@ MkTexture* func_8009A878(struct_8018DEE0_entry* arg0) {
arg0->frameCountDown = var_v0->frame_length;
temp_a0 = segmented_to_virtual_dupe(var_v0->mk64Texture);
if (arg0->unk14 != 0) {
- func_80099A94(temp_a0, arg0->D_8018E118_index);
+ func_80099A94(temp_a0, arg0->menuTextureIndex);
arg0->unk14 = 0;
} else {
- func_80099A94(temp_a0, arg0->D_8018E118_index + 1);
+ func_80099A94(temp_a0, arg0->menuTextureIndex + 1);
arg0->unk14 = 1;
}
}
return arg0->textureSequence[arg0->sequenceIndex].mk64Texture;
}
-MkTexture* func_8009A944(struct_8018DEE0_entry* arg0, s32 arg1) {
+MenuTexture* func_8009A944(struct_8018DEE0_entry* arg0, s32 arg1) {
MkAnimation* temp_v1;
MkAnimation* var_v0;
MkAnimation* test;
- MkTexture* temp_a0;
+ MenuTexture* temp_a0;
temp_v1 = arg0->textureSequence;
if (arg0->sequenceIndex < 0) {
@@ -4189,13 +4180,12 @@ void func_8009A9FC(s32 arg0, s32 arg1, u32 arg2, s32 arg3) {
s32 alpha;
s32 temp_t9;
u16 temp_a0;
- s32 var_t1;
u16* color0;
u16* color1;
- color0 = &D_8018D9B0[D_8018E118[arg0].offset];
- color1 = &D_8018D9B0[D_8018E118[arg1].offset];
- for (var_t1 = 0; (u32) var_t1 < arg2; var_t1++) {
+ color0 = LOAD_ASSET(sMenuTextureList[sMenuTextureMap[arg0].offset]);
+ color1 = LOAD_ASSET(sMenuTextureList[sMenuTextureMap[arg1].offset]);
+ for (size_t i = 0; i < arg2; i++) {
temp_a0 = BSWAP16(*color0++);
red = (temp_a0 & 0xF800) >> 0xB;
green = (temp_a0 & 0x7C0) >> 6;
@@ -4209,8 +4199,8 @@ void func_8009A9FC(s32 arg0, s32 arg1, u32 arg2, s32 arg3) {
*color1++ = BSWAP16(newblue + newgreen + newred + alpha);
}
// Invalidate texture to properly apply color manipulation
- gSPInvalidateTexCache(gDisplayListHead++, D_8018E118[arg0].offset);
- gSPInvalidateTexCache(gDisplayListHead++, D_8018E118[arg1].offset);
+ gSPInvalidateTexCache(gDisplayListHead++, sMenuTextureMap[arg0].offset);
+ gSPInvalidateTexCache(gDisplayListHead++, sMenuTextureMap[arg1].offset);
}
void func_8009AB7C(s32 arg0) {
@@ -4225,7 +4215,7 @@ void func_8009AB7C(s32 arg0) {
s32 var_v1;
u16* color;
- color = &D_8018D9B0[D_8018E118[arg0].offset];
+ color = LOAD_ASSET(sMenuTextureList[sMenuTextureMap[arg0].offset]);
for (var_v1 = 0; var_v1 < 0x4B000; var_v1++) {
u16 color_pixel = BSWAP16(*color);
red = ((color_pixel & 0xF800) >> 0xB) * 0x4D;
@@ -4240,7 +4230,7 @@ void func_8009AB7C(s32 arg0) {
*color++ = BSWAP16(newblue + newgreen + newred + alpha);
}
// Invalidate texture to properly apply color manipulation
- gSPInvalidateTexCache(gDisplayListHead++, D_8018E118[arg0].offset);
+ gSPInvalidateTexCache(gDisplayListHead++, sMenuTextureMap[arg0].offset);
}
void func_8009AD78(s32 arg0, s32 arg1) {
@@ -4257,8 +4247,8 @@ void func_8009AD78(s32 arg0, s32 arg1) {
UNUSED u16 temp_a0;
u16* color;
- color = &D_8018D9B0[D_8018E118[arg0].offset];
- size = D_8018E118[arg0 + 1].offset - D_8018E118[arg0].offset;
+ color = LOAD_ASSET(sMenuTextureList[sMenuTextureMap[arg0].offset]);
+ size = sMenuTextureMap[arg0 + 1].offset - sMenuTextureMap[arg0].offset;
for (var_v1 = 0; var_v1 != size; var_v1++) {
u16 color_pixel = BSWAP16(*color);
red = ((color_pixel & 0xF800) >> 0xB) * 0x4D;
@@ -4271,44 +4261,52 @@ void func_8009AD78(s32 arg0, s32 arg1) {
*color++ = BSWAP16((temp_t9 << 1) + (temp_t9 << 6) + (temp_t9 << 0xB) + alpha);
}
// Invalidate texture to properly apply color manipulation
- gSPInvalidateTexCache(gDisplayListHead++, D_8018E118[arg0].offset);
+ gSPInvalidateTexCache(gDisplayListHead++, sMenuTextureMap[arg0].offset);
}
-void convert_img_to_greyscale(s32 arg0, u32 arg1) {
- u32 var_s0;
+void convert_img_to_greyscale(s32 index, u32 num) {
+ size_t width = ResourceGetTexWidthByName(sMenuTextureList[sMenuTextureMap[index].offset]);
+ size_t height = ResourceGetTexHeightByName(sMenuTextureList[sMenuTextureMap[index].offset]);
+ u32 i;
s32 red;
s32 green;
s32 blue;
s32 alpha;
- u32 temp_t9;
- s32 size;
+ u32 result;
u16* color;
- f32 sp48[0x20];
+ f32 sp48[32];
+
+ size_t size = width * height;
- for (var_s0 = 0; var_s0 < 0x20; var_s0++) {
- sp48[var_s0] = func_800917B0(var_s0 * 0.03125, (arg1 * 1.5 * 0.00390625) + 0.25);
+ for (i = 0; i < ARRAY_COUNT(sp48); i++) {
+ sp48[i] = func_800917B0(i * 0.03125, (num * 1.5 * 0.00390625) + 0.25);
}
- color = &D_8018D9B0[D_8018E118[arg0].offset];
- size = D_8018E118[arg0 + 1].offset - D_8018E118[arg0].offset;
- for (var_s0 = 0; var_s0 < (u32) size; var_s0++) {
+
+ color = (u16*)LOAD_ASSET(sMenuTextureList[sMenuTextureMap[index].offset]);
+
+
+
+ for (i = 0; i < (u32) size; i++) {
u16 color_pixel = BSWAP16(*color);
red = ((color_pixel & 0xF800) >> 0xB) * 0x55;
green = ((color_pixel & 0x7C0) >> 6) * 0x4B;
blue = ((color_pixel & 0x3E) >> 1) * 0x5F;
alpha = color_pixel & 0x1;
- temp_t9 = red + green + blue;
- temp_t9 >>= 8;
- temp_t9 = sp48[temp_t9] * 32.0f;
- if (temp_t9 >= 0x20) {
- temp_t9 = 0x1F;
+ result = red + green + blue;
+ result >>= 8;
+ result = sp48[result] * 32.0f;
+ if (result >= 0x20) {
+ result = 0x1F;
}
- *color++ = BSWAP16((temp_t9 << 1) + (temp_t9 << 6) + (temp_t9 << 0xB) + alpha);
+ *color++ = BSWAP16((result << 1) + (result << 6) + (result << 0xB) + alpha);
}
// Invalidate texture to properly apply color manipulation
- gSPInvalidateTexCache(gDisplayListHead++, D_8018E118[arg0].offset);
+ gSPInvalidateTexCache(gDisplayListHead++, sMenuTextureMap[index].offset);
}
-void adjust_img_colour(s32 arg0, s32 screen_size, s32 arg2, s32 arg3, s32 arg4) {
+void adjust_img_colour(s32 index, s32 screenSize, s32 r, s32 g, s32 b) {
+ size_t width = ResourceGetTexWidthByName(sMenuTextureList[sMenuTextureMap[index].offset]);
+ size_t height = ResourceGetTexHeightByName(sMenuTextureList[sMenuTextureMap[index].offset]);
s32 red;
s32 green;
s32 blue;
@@ -4317,11 +4315,14 @@ void adjust_img_colour(s32 arg0, s32 screen_size, s32 arg2, s32 arg3, s32 arg4)
s32 newgreen;
s32 newblue;
u32 temp_t9;
- s32 var_v1;
u16* color;
+ // Overwrite the default screen size of 320 * 240 to allow widescreen textures.
+ screenSize = width * height;
- color = &D_8018D9B0[D_8018E118[arg0].offset];
- for (var_v1 = 0; var_v1 < screen_size; var_v1++) {
+ color = LOAD_ASSET(sMenuTextureList[sMenuTextureMap[index].offset]);
+
+
+ for (size_t i = 0; i < screenSize; i++) {
u16 color_pixel = BSWAP16(*color);
red = ((color_pixel & 0xF800) >> 0xB) * 0x4D;
green = ((color_pixel & 0x7C0) >> 6) * 0x96;
@@ -4329,13 +4330,13 @@ void adjust_img_colour(s32 arg0, s32 screen_size, s32 arg2, s32 arg3, s32 arg4)
alpha = (color_pixel & 0x1);
temp_t9 = red + green + blue;
temp_t9 = temp_t9 >> 8;
- newred = ((temp_t9 * arg2) >> 8) << 0xB;
- newgreen = ((temp_t9 * arg3) >> 8) << 6;
- newblue = ((temp_t9 * arg4) >> 8) << 1;
+ newred = ((temp_t9 * r) >> 8) << 0xB;
+ newgreen = ((temp_t9 * g) >> 8) << 6;
+ newblue = ((temp_t9 * b) >> 8) << 1;
*color++ = BSWAP16(newred + newgreen + newblue + alpha);
}
// Invalidate texture to properly apply color manipulation
- gSPInvalidateTexCache(gDisplayListHead++, D_8018E118[arg0].offset);
+ gSPInvalidateTexCache(gDisplayListHead++, sMenuTextureMap[index].offset);
}
u16* func_8009B8C4(u64* arg0) {
@@ -4345,35 +4346,35 @@ u16* func_8009B8C4(u64* arg0) {
s32 someIndex;
found = 0;
- for (someIndex = 0; someIndex < gNumD_8018E118Entries; someIndex++) {
- if (arg0 == D_8018E118[someIndex].textureData) {
+ for (someIndex = 0; someIndex < sMenuTextureEntries; someIndex++) {
+ if (arg0 == sMenuTextureMap[someIndex].textureData) {
found = 1;
- offset = D_8018E118[someIndex].offset;
+ offset = sMenuTextureMap[someIndex].offset;
break;
}
}
if (found != 0) {
- return &D_8018D9B0[offset];
+ return sMenuTextureList[offset];
}
return NULL;
}
-// D_8018D9C0 is a little weird. In code_800AF9B0 its treated as a
+// gSomeDLBuffer is a little weird. In code_800AF9B0 its treated as a
// struct_8018EE10_entry pointer. But here its being treated as a
// Gfx pointer. It seems to be multi use.
void func_8009B938(void) {
- D_8018E75C = (Gfx*) D_8018D9C0;
+ sGfxPtr = (Gfx*) gSomeDLBuffer;
gNumD_8018E768Entries = 0;
}
-void func_8009B954(MkTexture* arg0) {
+void func_8009B954(MenuTexture* arg0) {
D_8018E768[gNumD_8018E768Entries].textures = segmented_to_virtual_dupe(arg0);
- D_8018E768[gNumD_8018E768Entries].displayList = D_8018E75C;
+ D_8018E768[gNumD_8018E768Entries].displayList = sGfxPtr;
}
void func_8009B998(void) {
- gSPEndDisplayList(D_8018E75C++);
+ gSPEndDisplayList(sGfxPtr++);
gNumD_8018E768Entries += 1;
}
@@ -4382,7 +4383,7 @@ void func_8009B998(void) {
// Based on the target assembly, in the event that it never finds
// the desired entry, it'll treat the return value of segmented_to_virtual_dupe
// as the return of this function. Which seems like a bug to me
-Gfx* func_8009B9D0(Gfx* displayListHead, MkTexture* textures) {
+Gfx* func_8009B9D0(Gfx* displayListHead, MenuTexture* textures) {
Gfx* displayList;
UNUSED s32 pad;
bool found;
@@ -4402,8 +4403,8 @@ Gfx* func_8009B9D0(Gfx* displayListHead, MkTexture* textures) {
}
}
-Gfx* func_8009BA74(Gfx* arg0, MkTexture* arg1, s32 column, s32 row) {
- MkTexture* temp_v0;
+Gfx* render_menu_textures(Gfx* arg0, MenuTexture* arg1, s32 column, s32 row) {
+ MenuTexture* temp_v0;
u8* temp_v0_3;
s8 var_s4;
@@ -4447,8 +4448,8 @@ Gfx* func_8009BA74(Gfx* arg0, MkTexture* arg1, s32 column, s32 row) {
return arg0;
}
-Gfx* func_8009BC9C(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
- MkTexture* var_s0;
+Gfx* func_8009BC9C(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
+ MenuTexture* var_s0;
u8* temp_v0_3;
var_s0 = segmented_to_virtual_dupe(arg1);
@@ -4477,7 +4478,7 @@ Gfx* func_8009BC9C(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32
break;
case 4: /* switch 1 */
arg0 = func_80097274(arg0, 0, 0x00000400, 0x00000400, 0, 0, var_s0->width, var_s0->height,
- var_s0->dX + arg2, var_s0->dY + arg3, temp_v0_3, var_s0->width, var_s0->height,
+ var_s0->dX + arg2, var_s0->dY + arg3, (u16*)temp_v0_3, var_s0->width, var_s0->height,
arg5);
break;
}
@@ -4487,12 +4488,12 @@ Gfx* func_8009BC9C(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32
return arg0;
}
-Gfx* print_letter(Gfx* arg0, MkTexture* glyphTexture, f32 arg2, f32 arg3, s32 mode, f32 scaleX, f32 scaleY) {
+Gfx* print_letter(Gfx* arg0, MenuTexture* glyphTexture, f32 arg2, f32 arg3, s32 mode, f32 scaleX, f32 scaleY) {
s32 var_v0;
u8* temp_v0_2;
f32 thing0;
f32 thing1;
- MkTexture* var_s0;
+ MenuTexture* var_s0;
var_s0 = segmented_to_virtual_dupe(glyphTexture);
while (var_s0->textureData != NULL) {
@@ -4539,10 +4540,10 @@ Gfx* print_letter(Gfx* arg0, MkTexture* glyphTexture, f32 arg2, f32 arg3, s32 mo
return arg0;
}
-Gfx* func_8009C204(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4) {
+Gfx* func_8009C204(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4) {
s32 var_s2;
u8* temp_t0;
- MkTexture* var_s1;
+ MenuTexture* var_s1;
var_s1 = segmented_to_virtual_dupe(arg1);
while (var_s1->textureData != NULL) {
@@ -4584,7 +4585,7 @@ Gfx* func_8009C434(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s
s32 var_t0;
s32 var_t1;
Gfx* temp;
- MkTexture* var_s0;
+ MenuTexture* var_s0;
var_s0 = segmented_to_virtual_dupe(arg1->textureSequence[arg1->sequenceIndex].mk64Texture);
temp = D_02007728;
@@ -4606,28 +4607,29 @@ Gfx* func_8009C434(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s
break;
}
if (arg1->unk14 != 0) {
- var_t0 = D_8018E118[arg1->D_8018E118_index + 1].offset;
+ var_t0 = sMenuTextureMap[arg1->menuTextureIndex + 1].offset;
} else {
- var_t0 = D_8018E118[arg1->D_8018E118_index].offset;
+ var_t0 = sMenuTextureMap[arg1->menuTextureIndex].offset;
if (1) {}
if (1) {}
if (1) {}
}
+
if (arg4 >= 0) {
arg0 =
func_80097E58(arg0, var_t1, 0, 0U, var_s0->width, var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3,
- (u8*) &D_8018D9B0[var_t0], var_s0->width, var_s0->height, (u32) arg4);
+ (u8*) sMenuTextureList[var_t0], var_s0->width, var_s0->height, (u32) arg4);
} else {
switch (arg4) {
case -1:
arg0 = func_80095E10(arg0, var_t1, 0x00000400, 0x00000400, 0, 0, var_s0->width, var_s0->height,
- var_s0->dX + arg2, var_s0->dY + arg3, (u8*) &D_8018D9B0[var_t0], var_s0->width,
+ var_s0->dX + arg2, var_s0->dY + arg3, (u8*) sMenuTextureList[var_t0], var_s0->width,
var_s0->height);
break;
case -2:
arg0 = func_800963F0(arg0, var_t1, 0x00000400, 0x00000400, 0.5f, 0.5f, 0, 0, var_s0->width,
var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3,
- (u8*) &D_8018D9B0[var_t0], var_s0->width, var_s0->height);
+ (u8*) sMenuTextureList[var_t0], var_s0->width, var_s0->height);
break;
}
}
@@ -4640,7 +4642,7 @@ Gfx* func_8009C708(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s
s32 var_t0;
UNUSED s32 thing;
Gfx* temp;
- MkTexture* var_s1;
+ MenuTexture* var_s1;
var_s1 = segmented_to_virtual_dupe(arg1->textureSequence[arg1->sequenceIndex].mk64Texture);
temp = D_02007728;
@@ -4702,9 +4704,9 @@ void func_8009CA2C(void) {
void func_8009CA6C(s32 arg0) {
s32 var_a1;
- if ((arg0 == 4) || ((find_8018D9E0_entry(0x000000AA) == NULL) && (find_8018D9E0_entry(0x000000AB) == NULL) &&
- (find_8018D9E0_entry(0x000000B9) == NULL) && (find_8018D9E0_entry(0x000000BA) == NULL) &&
- (find_8018D9E0_entry(0x000000AC) == NULL) && (find_8018D9E0_entry(0x000000B0) == NULL))) {
+ if ((arg0 == 4) || ((find_menu_items(0x000000AA) == NULL) && (find_menu_items(0x000000AB) == NULL) &&
+ (find_menu_items(0x000000B9) == NULL) && (find_menu_items(0x000000BA) == NULL) &&
+ (find_menu_items(0x000000AC) == NULL) && (find_menu_items(0x000000B0) == NULL))) {
var_a1 = 0;
gSPDisplayList(gDisplayListHead++, D_0D0076F8);
if ((arg0 != 4) && (gIsGamePaused != 0)) {
@@ -4777,7 +4779,7 @@ void func_8009CBE4(s32 arg0, s32 arg1, s32 arg2) {
return;
}
D_8018E7AC[arg0] = 0;
- D_8018EE0C = 0;
+ unref_D_8018EE0C = 0;
}
}
@@ -4799,7 +4801,7 @@ void func_8009CE64(s32 arg0) {
s32 thing;
s32 var_a1;
UNUSED s32 stackPadding0;
- struct_8018D9E0_entry* temp_v0;
+ MenuItem* menuItem;
var_a1 = 0;
if (gGamestate == 5) {
@@ -4828,9 +4830,9 @@ void func_8009CE64(s32 arg0) {
D_8018E7AC[arg0] = 5;
} else {
var_a1 = 0;
- temp_v0 = find_8018D9E0_entry(0x000000B0);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 8; irregular */
+ menuItem = find_menu_items(0x000000B0);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 8; irregular */
case 10: /* switch 8 */
func_802903B0();
break;
@@ -4847,9 +4849,9 @@ void func_8009CE64(s32 arg0) {
}
} else {
var_a1 = 0;
- temp_v0 = find_8018D9E0_entry(0x000000AC);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 7; irregular */
+ menuItem = find_menu_items(0x000000AC);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 7; irregular */
case 11: /* switch 7 */
func_802903B0();
D_8016556E = 1;
@@ -4861,9 +4863,9 @@ void func_8009CE64(s32 arg0) {
}
} else {
var_a1 = 0;
- temp_v0 = find_8018D9E0_entry(0x000000C7);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 1 */
+ menuItem = find_menu_items(0x000000C7);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 1 */
case 12: /* switch 1 */
func_802903B0();
var_a1 = 1;
@@ -4895,9 +4897,9 @@ void func_8009CE64(s32 arg0) {
gIsGamePaused = 0;
}
}
- temp_v0 = find_8018D9E0_entry(0x000000BD);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 2 */
+ menuItem = find_menu_items(0x000000BD);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 2 */
case 11: /* switch 2 */
D_8015F892 = 1;
D_8015F890 = 0;
@@ -4936,11 +4938,11 @@ void func_8009CE64(s32 arg0) {
} else {
D_8018E7AC[arg0] = 0;
if (gDebugMenuSelection != 0x40) {
- switch (D_8018EDE0) { /* switch 3 */
+ switch (gMenuFadeType) { /* switch 3 */
case 0: /* switch 3 */
if (gMenuSelection == 8) {
gMenuSelection = 0x0000000A;
- D_800E86A4 = 2;
+ gFadeModeSelection = 2;
} else {
gMenuSelection++;
}
@@ -4950,7 +4952,7 @@ void func_8009CE64(s32 arg0) {
break;
case 2: /* switch 3 */
gDemoMode = 1;
- D_8018EE08 = 1;
+ gDemoUseController = 1;
gGamestateNext = 4;
gCCSelection = (s32) 1;
switch (gNextDemoId) { /* switch 4 */
@@ -5034,7 +5036,6 @@ void func_8009CE64(s32 arg0) {
if (gNextDemoId >= 6) {
gNextDemoId = 0;
}
- printf("\nSELECTED!!!!!\n");
//gCupSelection = GetCupIndex(); // gCupSelectionByCourseId[gCurrentCourseId];
D_800DC540 = (s32) GetCupIndex();
@@ -5063,17 +5064,17 @@ void func_8009CE64(s32 arg0) {
}
break;
}
- if (D_800E86A4 == 0) {
- D_800E86A4 = 1;
+ if (gFadeModeSelection == 0) {
+ gFadeModeSelection = 1;
}
if (gMenuSelection >= 0xE) {
gGamestateNext = 4;
if (gModeSelection == 1) {
- D_8018EDFB = (s8) 1;
+ gGhostPlayerInit = (s8) 1;
}
func_8009CE1C();
}
- D_8018EE0C = 0;
+ unref_D_8018EE0C = 0;
} else {
switch (gDebugGotoScene) { /* switch 5; irregular */
case 1: /* switch 5 */
@@ -5087,7 +5088,7 @@ void func_8009CE64(s32 arg0) {
default: /* switch 5 */
gGamestateNext = 4;
if (gModeSelection == (s32) 1) {
- D_8018EDFB = 1;
+ gGhostPlayerInit = 1;
}
break;
}
@@ -5268,7 +5269,7 @@ void func_8009DB8C(void) {
if ((u32) var_v1 >= D_8018E7B8[4]) {
if ((u32) var_v1 == D_8018E7B8[4]) {
for (var_s0 = 0; var_s0 < 0x4B0; var_s0++) {
- D_8018D9B8[var_s0] = 1;
+ sTKMK00_LowResBuffer[var_s0] = 1;
}
} else {
func_8009CE64(4);
@@ -5277,9 +5278,9 @@ void func_8009DB8C(void) {
var_s0 = 0;
var_s3 = 0;
while (var_s3 < (0x4B0U / D_8018E7B8[4])) {
- if ((D_8018D9B8[var_s0] == 0) && (random_int((0x4B0U - D_8018E7D0[4]) / D_8018E7B8[4]) == 0)) {
+ if ((sTKMK00_LowResBuffer[var_s0] == 0) && (random_int((0x4B0U - D_8018E7D0[4]) / D_8018E7B8[4]) == 0)) {
var_s3 += 1;
- D_8018D9B8[var_s0] = 1;
+ sTKMK00_LowResBuffer[var_s0] = 1;
}
var_s0 += 1;
if (var_s0 >= 0x4B0) {
@@ -5292,7 +5293,7 @@ void func_8009DB8C(void) {
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0xFF);
gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PRIMITIVE);
for (var_s0 = 0; var_s0 < 0x4B0; var_s0++) {
- if (D_8018D9B8[var_s0] != 0) {
+ if (sTKMK00_LowResBuffer[var_s0] != 0) {
temp_t4 = (var_s0 % 40) * 8;
temp_t5 = (var_s0 / 40) * 8;
gDPFillRectangle(gDisplayListHead++, temp_t4, temp_t5, temp_t4 + 8, temp_t5 + 8);
@@ -5397,7 +5398,7 @@ void func_8009E0F0(s32 arg0) {
}
D_8018E7D0[4] = 0;
for (var_v0 = 0; var_v0 < 0x4B0; var_v0++) {
- D_8018D9B8[var_v0] = 0;
+ sTKMK00_LowResBuffer[var_v0] = 0;
}
}
}
@@ -5415,32 +5416,32 @@ void func_8009E17C(u32 arg0) {
void func_8009E1C0(void) {
func_8009DFE0(10);
- D_8018EDE0 = 0;
+ gMenuFadeType = 0;
}
void func_8009E1E4(void) {
func_8009E000(10);
- D_8018EDE0 = 0;
+ gMenuFadeType = 0;
}
void func_8009E208(void) {
func_8009DFE0(10);
- D_8018EDE0 = 1;
+ gMenuFadeType = 1;
}
void func_8009E230(void) {
func_8009DFE0(10);
- D_8018EDE0 = 2;
+ gMenuFadeType = 2;
}
void func_8009E258(void) {
func_8009DFE0(10);
- D_8018EDE0 = 3;
+ gMenuFadeType = 3;
}
void func_8009E280(void) {
func_8009DFE0(10);
- D_8018EDE0 = 4;
+ gMenuFadeType = 4;
}
void func_8009E2A8(s32 arg0) {
@@ -5502,18 +5503,18 @@ void func_8009E5FC(s32 arg0) {
D_8018E840[arg0] = 0;
}
-void func_8009E620(void) {
+void clear_menus(void) {
s32 index;
- for (index = 0; index < D_8018D9E0_SIZE; index++) {
- D_8018D9E0[index].type = 0;
+ for (index = 0; index < MENU_ITEMS_MAX; index++) {
+ gMenuItems[index].type = 0;
}
}
#ifdef NON_MATCHING
// https://decomp.me/scratch/1BHpa
// Stack differences, can't figure out how to fix them
-void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
- struct_8018D9E0_entry* var_ra;
+void add_menu_item(s32 type, s32 column, s32 row, s8 priority) {
+ MenuItem* var_ra;
s32 stackPadding0;
UNUSED s32 stackPadding1;
UNUSED s32 stackPadding2;
@@ -5521,235 +5522,235 @@ void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
s32 var_v0;
s32 var_v1_3;
s32 temp_a1;
- UNUSED MkTexture* mk64Texture;
+ UNUSED MenuTexture* mk64Texture;
MkAnimation* var_a0;
s32 one = 1;
var_v0 = 0;
- var_ra = D_8018D9E0;
- // ????????
- // Credit to Vetri for the idea to mess around with this loop
- // to fix the issue near the 0xD4 case
+ var_ra = gMenuItems;
+
while (true) {
- var_v0++;
- if (var_ra->type == 0)
+ if (var_ra->type == 0) {
break;
-
- if (var_v0 > D_8018D9E0_SIZE) {
+ }
+ var_v0++;
+ if (var_v0 > MENU_ITEMS_MAX) {
printf("Ran out of buffer space for UI elements");
while (true) {}
}
var_ra++;
}
var_ra->type = type;
- var_ra->cursor = 0;
- var_ra->unk8 = 0;
+ var_ra->state = 0;
+ var_ra->subState = 0;
var_ra->column = column;
var_ra->row = row;
var_ra->priority = (u8) priority;
var_ra->visible = one;
- var_ra->unk1C = 0;
- var_ra->unk20 = 0;
+ var_ra->param1 = 0;
+ var_ra->param2 = 0;
switch (type) {
- case 0xFA:
- s8018ED94 = 0;
- D_800E8530 = 0.0f;
- D_800E8534 = 3.0f;
- D_8018EDC0 = 0x000009C4;
- D_8018EDC8 = 0;
- D_8018EDCC = -270.0f;
- D_8018EDD0 = 0;
- D_8018EDD4 = 0;
- D_8018EDD8 = 0;
- D_8018EDDC = 0;
- D_8018EDC4 = 3;
- var_ra->unk1C = -1;
- var_ra->unk20 = one;
- break;
- case 0xFB:
- D_8018EDC0 = 0x00000708;
- D_8018EDC8 = -51.0f;
- D_8018EDCC = -12.0f;
- D_8018EDD0 = -18.0f;
- D_8018EDD4 = -270.0f;
- D_8018EDD8 = 750.0f;
- D_8018EDDC = 0;
- D_8018EDC4 = 1.0f;
- var_ra->unk1C = -1;
- var_ra->unk20 = one;
- break;
- case 0xD2:
- load_menu_img2(D_020014C8, 0);
+ case MENU_ITEM_UI_LOGO_INTRO:
+ sIntroLogoTimer = 0;
+ sIntroModelMotionSpeed = 0.0f;
+ sIntroModelSpeed = 3.0f;
+ gIntroModelZEye = 2500;
+ gIntroModelRotX = 0;
+ gIntroModelRotY = -270.0f;
+ gIntroModelRotZ = 0;
+ gIntroModelPosX = 0;
+ gIntroModelPosY = 0;
+ gIntroModelPosZ = 0;
+ gIntroModelScale = 3;
+ var_ra->param1 = -1;
+ var_ra->param2 = one;
+ break;
+ case START_MENU_FLAG:
+ gIntroModelZEye = 1800;
+ gIntroModelRotX = -51.0f;
+ gIntroModelRotY = -12.0f;
+ gIntroModelRotZ = -18.0f;
+ gIntroModelPosX = -270.0f;
+ gIntroModelPosY = 750.0f;
+ gIntroModelPosZ = 0;
+ gIntroModelScale = 1.0f;
+ var_ra->param1 = -1;
+ var_ra->param2 = one;
+ break;
+ case MENU_ITEM_TYPE_0D2:
+ load_menu_img_comp_type(D_020014C8, LOAD_MENU_IMG_TKMK00_ONCE);
func_8009B954(D_020014C8);
- D_8018E75C = func_8009BA74(D_8018E75C, D_020014C8, var_ra->column, var_ra->row);
+ sGfxPtr = render_menu_textures(sGfxPtr, D_020014C8, var_ra->column, var_ra->row);
func_8009B998();
break;
- case 0xD3:
- load_menu_img2(D_02001540, 0);
+ case MENU_ITEM_TYPE_0D3:
+ load_menu_img_comp_type(D_02001540, LOAD_MENU_IMG_TKMK00_ONCE);
func_8009B954(D_02001540);
- D_8018E75C = func_8009BA74(D_8018E75C, D_02001540, var_ra->column, var_ra->row);
+ sGfxPtr = render_menu_textures(sGfxPtr, D_02001540, var_ra->column, var_ra->row);
func_8009B998();
break;
- case 0xD4:
- load_menu_img2(D_0200157C, 0);
+ case MENU_ITEM_TYPE_0D4:
+ load_menu_img_comp_type(D_0200157C, LOAD_MENU_IMG_TKMK00_ONCE);
load_menu_img(D_02001874);
var_ra->row = 0x00000069;
for (var_v0 = 0; var_v0 < 133; var_v0++) {
load_menu_img(segmented_to_virtual_dupe(D_800E7AF8[var_v0]));
}
break;
- case 0xD5:
+ case MENU_ITEM_TYPE_0D5:
load_menu_img(D_020015A4);
func_8009B954(D_020015A4);
- D_8018E75C = func_8009BA74(D_8018E75C, D_020015A4, var_ra->column, var_ra->row);
- gDPLoadTextureBlock(D_8018E75C++, func_8009B8C4(gTexture7ED50C), G_IM_FMT_IA, G_IM_SIZ_16b, 256, 5, 0,
+ sGfxPtr = render_menu_textures(sGfxPtr, D_020015A4, var_ra->column, var_ra->row);
+ gDPLoadTextureBlock(sGfxPtr++, func_8009B8C4(gTexture7ED50C), G_IM_FMT_IA, G_IM_SIZ_16b, 256, 5, 0,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
- gSPTextureRectangle(D_8018E75C++, 0x80, 0x2C0, 0x480, 0x2D4, G_TX_RENDERTILE, 0, 0x80, 0x0400, 0xFC00);
+ gSPTextureRectangle(sGfxPtr++, 0x80, 0x2C0, 0x480, 0x2D4, G_TX_RENDERTILE, 0, 0x80, 0x0400, 0xFC00);
func_8009B998();
load_menu_img(D_020015CC);
func_8009B954(D_020015CC);
- D_8018E75C = func_8009BA74(D_8018E75C, D_020015CC, var_ra->column, var_ra->row);
+ sGfxPtr = render_menu_textures(sGfxPtr, D_020015CC, var_ra->column, var_ra->row);
func_8009B998();
load_menu_img(D_02001630);
func_8009B954(D_02001630);
- D_8018E75C = func_8009BA74(D_8018E75C, D_02001630, var_ra->column, var_ra->row);
+ sGfxPtr = render_menu_textures(sGfxPtr, D_02001630, var_ra->column, var_ra->row);
func_8009B998();
load_menu_img(D_02001658);
func_8009B954(D_02001658);
- D_8018E75C = func_8009BA74(D_8018E75C, D_02001658, var_ra->column, var_ra->row);
+ sGfxPtr = render_menu_textures(sGfxPtr, D_02001658, var_ra->column, var_ra->row);
func_8009B998();
break;
- case 0xD6:
+ case MENU_ITEM_TYPE_0D6:
var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7D34[0]));
break;
- case 0xD7:
+ case MENU_ITEM_TYPE_0D7:
for (var_v0 = 0; var_v0 < 10; var_v0++) {
load_menu_img(segmented_to_virtual_dupe(D_800E7D0C[var_v0]));
}
break;
- case 0xD8:
- case 0xD9:
+ case MENU_ITEM_TYPE_0D8:
+ case MENU_ITEM_TYPE_0D9:
load_menu_img(D_0200184C);
break;
- case 0x1:
- load_menu_img2(D_800E7D4C[has_unlocked_extra_mode()], 0);
+ case MENU_ITEM_UI_START_BACKGROUND:
+ //load_menu_img_comp_type(gMenuTexturesBackground[has_unlocked_extra_mode()], LOAD_MENU_IMG_TKMK00_ONCE);
+ load_texture_reset_cache(gMenuTexturesBackground[has_unlocked_extra_mode()]->textureData);
break;
- case 0x2:
+ case MENU_ITEM_UI_LOGO_AND_COPYRIGHT:
load_mario_kart_64_logo();
- gMenuTextureBufferIndex += 0x10000;
- load_menu_img(D_020045E8);
- break;
- case 0x3:
- load_menu_img(D_02004610);
- break;
- case 0x23:
- case 0x24:
- case 0x25:
- load_menu_img2(D_800E7D4C[has_unlocked_extra_mode()], 0);
- load_menu_img2(D_02004B74, 0);
+ //sMenuTextureListIndex += 1;
+ load_menu_img(seg2_copyright_1996_texture);
+ break;
+ case MENU_ITEM_UI_PUSH_START_BUTTON:
+ load_menu_img(seg2_push_start_button_texture);
+ break;
+ case MAIN_MENU_BACKGROUND:
+ case CHARACTER_SELECT_BACKGROUND:
+ case COURSE_SELECT_BACKGROUND:
+ load_texture_reset_cache(gMenuTexturesBackground[has_unlocked_extra_mode()]->textureData);
+ //load_menu_img_comp_type(gMenuTexturesBackground[has_unlocked_extra_mode()], LOAD_MENU_IMG_TKMK00_ONCE);
+ load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE);
convert_img_to_greyscale(0, 0x00000019);
- adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - 0x23].red,
- D_800E74E8[type - 0x23].green, D_800E74E8[type - 0x23].blue);
+ adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - MAIN_MENU_BACKGROUND].red,
+ D_800E74E8[type - MAIN_MENU_BACKGROUND].green, D_800E74E8[type - MAIN_MENU_BACKGROUND].blue);
break;
- case 0xF:
- var_ra->unk1C = 0x00000020;
+ case MENU_ITEM_UI_OK:
+ var_ra->param1 = 0x00000020;
/* fallthrough */
- case 0x0A:
- case 0x10:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
+ case MENU_ITEM_UI_GAME_SELECT:
+ case MAIN_MENU_DATA_GFX:
+ case MAIN_MENU_OPTION_GFX:
+ case MAIN_MENU_50CC:
+ case MAIN_MENU_100CC:
+ case MAIN_MENU_150CC:
case 0x15:
case 0x16:
case 0x17:
- case 0x18:
- case 0x19:
- load_menu_img2(segmented_to_virtual_dupe(D_800E8274[type - 0x12]), 0);
- break;
- case 0xB:
- case 0xC:
- case 0xD:
- case 0xE:
- load_menu_img2(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 0]), 0);
+ case MAIN_MENU_TIME_TRIALS_BEGIN:
+ case MAIN_MENU_TIME_TRIALS_DATA:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8274[type - 0x12]), LOAD_MENU_IMG_TKMK00_ONCE);
+ break;
+ case MENU_ITEM_UI_1P_GAME:
+ case MENU_ITEM_UI_2P_GAME:
+ case MENU_ITEM_UI_3P_GAME:
+ case MENU_ITEM_UI_4P_GAME:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 0]), LOAD_MENU_IMG_TKMK00_ONCE);
load_menu_img(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 1]));
break;
- case 0x2A:
- load_menu_img2(D_02004B4C, 0);
- break;
- case 0x33:
- load_menu_img2(D_02004B74, 0);
- var_ra->unk1C = 0x00000020;
- break;
- case 0x34:
- case 0x35:
- case 0x36:
- case 0x37:
- load_menu_img(segmented_to_virtual_dupe(D_800E82B4[type - 0x34]));
- break;
- case 0x2B:
- case 0x2C:
- case 0x2D:
- case 0x2E:
- case 0x2F:
- case 0x30:
- case 0x31:
- case 0x32:
+ case CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER:
+ load_menu_img_comp_type(D_02004B4C, LOAD_MENU_IMG_TKMK00_ONCE);
+ break;
+ case CHARACTER_SELECT_MENU_OK:
+ load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE);
+ var_ra->param1 = 0x00000020;
+ break;
+ case CHARACTER_SELECT_MENU_1P_CURSOR:
+ case CHARACTER_SELECT_MENU_2P_CURSOR:
+ case CHARACTER_SELECT_MENU_3P_CURSOR:
+ case CHARACTER_SELECT_MENU_4P_CURSOR:
+ load_menu_img(segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[type - CHARACTER_SELECT_MENU_1P_CURSOR]));
+ break;
+ case CHARACTER_SELECT_MENU_MARIO:
+ case CHARACTER_SELECT_MENU_LUIGI:
+ case CHARACTER_SELECT_MENU_TOAD:
+ case CHARACTER_SELECT_MENU_PEACH:
+ case CHARACTER_SELECT_MENU_YOSHI:
+ case CHARACTER_SELECT_MENU_DK:
+ case CHARACTER_SELECT_MENU_WARIO:
+ case CHARACTER_SELECT_MENU_BOWSER:
var_ra->D_8018DEE0_index =
animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0x2B]));
- load_menu_img2(segmented_to_virtual_dupe(D_800E7D54[type - 0x2B]), 0);
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[type - 0x2B]), LOAD_MENU_IMG_TKMK00_ONCE);
break;
- case 0xA0:
- case 0xA1:
+ case MENU_ITEM_TYPE_0A0:
+ case MENU_ITEM_TYPE_0A1:
var_ra->D_8018DEE0_index =
animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0xA0]));
break;
- case 0x5D:
- var_ra->unk1C = 0x00000020;
+ case COURSE_SELECT_OK:
+ var_ra->param1 = 0x00000020;
/* fallthrough */
- case 0x52:
- case 0x53:
- case 0x54:
- case 0x55:
- case 0x56:
- case 0x58:
- case 0x59:
- case 0x5A:
- case 0x5B:
- case 0x5C:
- load_menu_img2(segmented_to_virtual_dupe(D_800E82C4[type - 0x52]), 0);
- break;
- case 0x5F:
- case 0x60:
- case 0x61:
- case 0x62:
+ case COURSE_SELECT_MAP_SELECT:
+ case COURSE_SELECT_MUSHROOM_CUP:
+ case COURSE_SELECT_FLOWER_CUP:
+ case COURSE_SELECT_STAR_CUP:
+ case COURSE_SELECT_SPECIAL_CUP:
+ case MENU_ITEM_TYPE_058:
+ case COURSE_SELECT_COURSE_NAMES:
+ case MENU_ITEM_TYPE_05A:
+ case MENU_ITEM_TYPE_05B:
+ case COURSE_SELECT_BATTLE_NAMES:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(gMenuTexturesTrackSelection[type - 0x52]), LOAD_MENU_IMG_TKMK00_ONCE);
+ break;
+ case MENU_ITEM_TYPE_05F:
+ case MENU_ITEM_TYPE_060:
+ case MENU_ITEM_TYPE_061:
+ case MENU_ITEM_TYPE_062:
var_ra->D_8018DEE0_index = animate_character_select_menu(
segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[0][var_ra->type - 0x5F]]));
break;
- case 0x5E:
- var_ra->unk20 = random_int(4U) + 2;
+ case MENU_ITEM_TYPE_05E:
+ var_ra->param2 = random_int(4U) + 2;
break;
- case 0x65:
- case 0x66:
+ case MENU_ITEM_TYPE_065:
+ case MENU_ITEM_TYPE_066:
var_ra->column = D_800E7248[type - 0x65].column;
var_ra->row = D_800E7248[type - 0x65].row;
break;
- case 0x67:
- var_ra->unk1C = (s32) GetCupIndex();
- var_ra->unk20 = func_800B54C0(GetCupIndex(), gCCSelection);
+ case MENU_ITEM_TYPE_067:
+ var_ra->param1 = (s32) GetCupIndex();
+ var_ra->param2 = func_800B54C0(GetCupIndex(), gCCSelection);
var_ra->D_8018DEE0_index = animate_character_select_menu(
- segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - var_ra->unk20]));
+ segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - var_ra->param2]));
var_ra->column = D_800E7268[0].column;
var_ra->row = D_800E7268[0].row;
break;
- case 0x68:
- load_menu_img2(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), 0);
+ case MENU_ITEM_TYPE_068:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), LOAD_MENU_IMG_TKMK00_ONCE);
var_ra->column = 0x00000037;
var_ra->row = 0x000000C3;
break;
- case 0x69:
- load_menu_img2(segmented_to_virtual_dupe(D_02004A0C), 0);
+ case MENU_ITEM_TYPE_069:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE);
if (controller_pak_1_status() == 0) {
func_800B6708();
} else {
@@ -5757,14 +5758,14 @@ void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
D_8018EE10[1].ghostDataSaved = 0;
}
break;
- case 0x78:
- case 0x79:
- case 0x7A:
- case 0x7B:
- load_menu_img2(segmented_to_virtual_dupe(D_800E82F4[type - 0x78]), 0);
+ case MENU_ITEM_TYPE_078:
+ case MENU_ITEM_TYPE_079:
+ case MENU_ITEM_TYPE_07A:
+ case MENU_ITEM_TYPE_07B:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E82F4[type - 0x78]), LOAD_MENU_IMG_TKMK00_ONCE);
break;
- case 0x8C:
- load_menu_img2(segmented_to_virtual_dupe(D_02004A34), 0);
+ case MENU_ITEM_TYPE_08C:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(seg2_data_texture), LOAD_MENU_IMG_TKMK00_ONCE);
if (controller_pak_1_status() == 0) {
func_800B6708();
} else {
@@ -5772,46 +5773,46 @@ void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
D_8018EE10[1].ghostDataSaved = 0;
}
break;
- case 0x8D:
+ case MENU_ITEM_TYPE_08D:
load_menu_img(segmented_to_virtual_dupe(D_02001FA4));
break;
- case 0x7C:
- case 0x7D:
- case 0x7E:
- case 0x7F:
- case 0x80:
- case 0x81:
- case 0x82:
- case 0x83:
- case 0x84:
- case 0x85:
- case 0x86:
- case 0x87:
- case 0x88:
- case 0x89:
- case 0x8A:
- case 0x8B:
- temp_v0_6 = var_ra->type - 0x7C;
- load_menu_img2(segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), -1);
- temp_v0_6 = var_ra->type - 0x7C;
- load_menu_img2(segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), 0);
- load_menu_img2(segmented_to_virtual_dupe(D_02004A0C), 0);
- break;
- case 0xB1:
- case 0xB2:
- case 0xB3:
- case 0xB4:
- temp_a1 = D_800EFD64[gCharacterSelections[type - 0xB1]];
+ case MENU_ITEM_TYPE_07C:
+ case MENU_ITEM_TYPE_07D:
+ case MENU_ITEM_TYPE_07E:
+ case MENU_ITEM_TYPE_07F:
+ case MENU_ITEM_TYPE_080:
+ case MENU_ITEM_TYPE_081:
+ case MENU_ITEM_TYPE_082:
+ case MENU_ITEM_TYPE_083:
+ case MENU_ITEM_TYPE_084:
+ case MENU_ITEM_TYPE_085:
+ case MENU_ITEM_TYPE_086:
+ case MENU_ITEM_TYPE_087:
+ case MENU_ITEM_TYPE_088:
+ case MENU_ITEM_TYPE_089:
+ case MENU_ITEM_TYPE_08A:
+ case MENU_ITEM_TYPE_08B:
+ temp_v0_6 = var_ra->type - MENU_ITEM_TYPE_07C;
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), LOAD_MENU_IMG_MIO0_ONCE);
+ temp_v0_6 = var_ra->type - MENU_ITEM_TYPE_07C;
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), LOAD_MENU_IMG_TKMK00_ONCE);
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE);
+ break;
+ case MENU_ITEM_TYPE_0B1:
+ case MENU_ITEM_TYPE_0B2:
+ case MENU_ITEM_TYPE_0B3:
+ case MENU_ITEM_TYPE_0B4:
+ temp_a1 = D_800EFD64[gCharacterSelections[type - MENU_ITEM_TYPE_0B1]];
var_v1_3 = 0;
- stackPadding0 = type - 0xB1;
+ stackPadding0 = type - MENU_ITEM_TYPE_0B1;
switch (gModeSelection) {
- case 2:
- if (gGPCurrentRaceRankByPlayerId[type - 0xB1] != 0) {
+ case VERSUS:
+ if (gGPCurrentRaceRankByPlayerId[type - MENU_ITEM_TYPE_0B1] != 0) {
var_v1_3 = 1;
}
break;
- case 3:
- if ((type - 0xB1) != gPlayerWinningIndex) {
+ case BATTLE:
+ if ((type - MENU_ITEM_TYPE_0B1) != gPlayerWinningIndex) {
var_v1_3 = 1;
}
break;
@@ -5824,26 +5825,26 @@ void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
var_a0 = D_800E8320[temp_a1];
}
var_ra->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), stackPadding0);
- load_menu_img2(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), 0);
- load_menu_img(segmented_to_virtual_dupe(D_800E82B4[type - 0xB1]));
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), LOAD_MENU_IMG_TKMK00_ONCE);
+ load_menu_img(segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[type - MENU_ITEM_TYPE_0B1]));
break;
- case 0xBB:
- var_ra->unk1C = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]);
- var_ra->unk20 = func_800B5218();
+ case MENU_ITEM_TYPE_0BB:
+ var_ra->param1 = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]);
+ var_ra->param2 = func_800B5218();
if (D_80162DD4 != 1) {
if (func_800051C4() >= 0x3C01) {
D_80162DD4 = 1;
}
}
- if ((var_ra->unk1C == 0) || (var_ra->unk20 != 0)) {
+ if ((var_ra->param1 == 0) || (var_ra->param2 != 0)) {
func_800B559C((GetCupIndex() * 4) + GetCupCursorPosition());
}
break;
- case 0xE6:
+ case MENU_ITEM_DATA_COURSE_IMAGE:
var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(
D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]]));
- var_ra->unk1C = gTimeTrialDataCourseIndex;
- load_menu_img2(segmented_to_virtual_dupe(D_02004A0C), 0);
+ var_ra->param1 = gTimeTrialDataCourseIndex;
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE);
func_8006EF60();
if (controller_pak_1_status() == 0) {
func_800B6708();
@@ -5852,16 +5853,16 @@ void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
D_8018EE10[1].ghostDataSaved = 0;
}
break;
- case 0xF0:
- var_ra->cursor = (s32) gSoundMode;
+ case MENU_ITEM_TYPE_0F0:
+ var_ra->state = (s32) gSoundMode;
break;
- case 0xF1:
- load_menu_img2(segmented_to_virtual_dupe(D_02004638), 0);
+ case MENU_ITEM_TYPE_0F1:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004638), LOAD_MENU_IMG_TKMK00_ONCE);
break;
- case 0xBE:
+ case MENU_ITEM_TYPE_0BE:
D_8018ED90 = 0;
break;
- case 0x130:
+ case MENU_ITEM_TYPE_130:
temp_a1 = D_800EFD64[D_802874D8.unk1E];
if (D_802874D8.unk1D >= 3) {
var_v0 = 1;
@@ -5874,89 +5875,89 @@ void add_ui_element(s32 type, s32 column, s32 row, s8 priority) {
var_a0 = D_800E8320[temp_a1];
}
var_ra->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), 0);
- load_menu_img2(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), 0);
- break;
- case 0x190:
- case 0x191:
- case 0x192:
- case 0x193:
- case 0x194:
- case 0x195:
- case 0x196:
- case 0x197:
- case 0x198:
- case 0x199:
- case 0x19A:
- case 0x19B:
- case 0x19C:
- case 0x19D:
- case 0x19E:
- case 0x19F:
- case 0x1A0:
- case 0x1A1:
- case 0x1A2:
- case 0x1A3:
- case 0x1A4:
- case 0x1A5:
- case 0x1A6:
- case 0x1A7:
- case 0x1A8:
- case 0x1A9:
- case 0x1AA:
- case 0x1AB:
- case 0x1AC:
- case 0x1AD:
- case 0x1AE:
- case 0x1AF:
- case 0x1B0:
- case 0x1B1:
- case 0x1B2:
- case 0x1B3:
- case 0x1B4:
- case 0x1B5:
- case 0x1B6:
- case 0x1B7:
- case 0x1B8:
- case 0x1B9:
- case 0x1BA:
- case 0x1BB:
- case 0x1BC:
- case 0x1BD:
- case 0x1BE:
- case 0x1BF:
- case 0x1C0:
- case 0x1C1:
- case 0x1C2:
- case 0x1C3:
- case 0x1C4:
- case 0x1C5:
- case 0x1C6:
- case 0x1C7:
- case 0x1C8:
- case 0x1C9:
- case 0x1CA:
- case 0x1CB:
- case 0x1CC:
- case 0x1CD:
- case 0x1CE:
+ load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), LOAD_MENU_IMG_TKMK00_ONCE);
+ break;
+ case MENU_ITEM_TYPE_190:
+ case MENU_ITEM_TYPE_191:
+ case MENU_ITEM_TYPE_192:
+ case MENU_ITEM_TYPE_193:
+ case MENU_ITEM_TYPE_194:
+ case MENU_ITEM_TYPE_195:
+ case MENU_ITEM_TYPE_196:
+ case MENU_ITEM_TYPE_197:
+ case MENU_ITEM_TYPE_198:
+ case MENU_ITEM_TYPE_199:
+ case MENU_ITEM_TYPE_19A:
+ case MENU_ITEM_TYPE_19B:
+ case MENU_ITEM_TYPE_19C:
+ case MENU_ITEM_TYPE_19D:
+ case MENU_ITEM_TYPE_19E:
+ case MENU_ITEM_TYPE_19F:
+ case MENU_ITEM_TYPE_1A0:
+ case MENU_ITEM_TYPE_1A1:
+ case MENU_ITEM_TYPE_1A2:
+ case MENU_ITEM_TYPE_1A3:
+ case MENU_ITEM_TYPE_1A4:
+ case MENU_ITEM_TYPE_1A5:
+ case MENU_ITEM_TYPE_1A6:
+ case MENU_ITEM_TYPE_1A7:
+ case MENU_ITEM_TYPE_1A8:
+ case MENU_ITEM_TYPE_1A9:
+ case MENU_ITEM_TYPE_1AA:
+ case MENU_ITEM_TYPE_1AB:
+ case MENU_ITEM_TYPE_1AC:
+ case MENU_ITEM_TYPE_1AD:
+ case MENU_ITEM_TYPE_1AE:
+ case MENU_ITEM_TYPE_1AF:
+ case MENU_ITEM_TYPE_1B0:
+ case MENU_ITEM_TYPE_1B1:
+ case MENU_ITEM_TYPE_1B2:
+ case MENU_ITEM_TYPE_1B3:
+ case MENU_ITEM_TYPE_1B4:
+ case MENU_ITEM_TYPE_1B5:
+ case MENU_ITEM_TYPE_1B6:
+ case MENU_ITEM_TYPE_1B7:
+ case MENU_ITEM_TYPE_1B8:
+ case MENU_ITEM_TYPE_1B9:
+ case MENU_ITEM_TYPE_1BA:
+ case MENU_ITEM_TYPE_1BB:
+ case MENU_ITEM_TYPE_1BC:
+ case MENU_ITEM_TYPE_1BD:
+ case MENU_ITEM_TYPE_1BE:
+ case MENU_ITEM_TYPE_1BF:
+ case MENU_ITEM_TYPE_1C0:
+ case MENU_ITEM_TYPE_1C1:
+ case MENU_ITEM_TYPE_1C2:
+ case MENU_ITEM_TYPE_1C3:
+ case MENU_ITEM_TYPE_1C4:
+ case MENU_ITEM_TYPE_1C5:
+ case MENU_ITEM_TYPE_1C6:
+ case MENU_ITEM_TYPE_1C7:
+ case MENU_ITEM_TYPE_1C8:
+ case MENU_ITEM_TYPE_1C9:
+ case MENU_ITEM_TYPE_1CA:
+ case MENU_ITEM_TYPE_1CB:
+ case MENU_ITEM_TYPE_1CC:
+ case MENU_ITEM_TYPE_1CD:
+ case MENU_ITEM_TYPE_1CE:
default:
break;
}
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/add_ui_element.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/add_menu_item.s")
#endif
#ifdef NON_MATCHING
// https://decomp.me/scratch/MatRp
// Biggest diff left is in the case 0x12 though 0x19 handling. Not really sure what's going on there
-// There's also a diff in the handling of D_800E77A0 in case 0x4. Not sure what's going on there either
-void func_8009F5E0(struct_8018D9E0_entry* arg0) {
+// There's also a diff in the handling of gTextNoController in case 0x4. Not sure what's going on there either
+void render_menus(MenuItem* arg0) {
s32 var_a1;
s32 var_v1;
UNUSED s32 stackPadding0;
UNUSED s32 stackPadding1;
- MkTexture* sp9C;
+ MenuTexture* sp9C;
UNUSED s32 stackPadding2;
s32 temp_a0;
s32 temp_t2;
@@ -5971,32 +5972,32 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) {
f32 floatone = 1;
UNUSED s32 stackPadding3;
UNUSED s32 stackPadding4;
- f32 var_f0;
+ f32 scaleX;
- if ((s8) arg0->visible != 0) {
+ if ((s8) arg0->visible) {
gDPPipeSync(gDisplayListHead++);
- switch (arg0->type) { /* switch 6; irregular */
- case 0xFA: /* switch 6 */
- func_80094660(gGfxPool, arg0->unk1C);
+ switch (arg0->type) {
+ case MENU_ITEM_UI_LOGO_INTRO:
+ func_80094660(gGfxPool, arg0->param1);
break;
- case 0xFB: /* switch 6 */
- render_checkered_flag(gGfxPool, arg0->unk1C);
+ case START_MENU_FLAG:
+ render_checkered_flag(gGfxPool, arg0->param1);
break;
- case 0xD2: /* switch 6 */
+ case MENU_ITEM_TYPE_0D2:
gDisplayListHead = func_8009B9D0(gDisplayListHead, D_020014C8);
break;
- case 0xD3: /* switch 6 */
+ case MENU_ITEM_TYPE_0D3:
gDisplayListHead = func_8009B9D0(gDisplayListHead, D_02001540);
break;
- case 0xD4: /* switch 6 */
+ case MENU_ITEM_TYPE_0D4:
func_800A09E0(arg0);
func_800A0AD0(arg0);
func_800A0B80(arg0);
break;
- case 0xD5: /* switch 6 */
- // Sets the text color of the text on the Controller Pak menu
- // Also sets the color of the shading at the top and bottom of the menu
- // Does not set color of the text in the table itself
+ case MENU_ITEM_TYPE_0D5:
+ // Sets the text color of the text on the Controller Pak menu
+ // Also sets the color of the shading at the top and bottom of the menu
+ // Does not set color of the text in the table itself
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0xFF);
gDisplayListHead = func_8009B9D0(gDisplayListHead, D_020015A4);
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x32, 0x00, 0x00, 0xFF);
@@ -6006,55 +6007,55 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) {
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x32, 0x32, 0x00, 0xFF);
gDisplayListHead = func_8009B9D0(gDisplayListHead, D_02001658);
break;
- case 0xD6: /* switch 6 */
+ case MENU_ITEM_TYPE_0D6:
func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, -1);
break;
- case 0xD7: /* switch 6 */
+ case MENU_ITEM_TYPE_0D7:
func_800A0DFC();
break;
- case 0xD8: /* switch 6 */
- case 0xD9: /* switch 6 */
+ case MENU_ITEM_TYPE_0D8:
+ case MENU_ITEM_TYPE_0D9:
func_800A0EB8(arg0, arg0->type - 0xD8);
break;
- case 0x1: /* switch 6 */
+ case MENU_ITEM_UI_START_BACKGROUND:
gDisplayListHead =
- func_8009BA74(gDisplayListHead, D_800E7D4C[has_unlocked_extra_mode()], arg0->column, arg0->row);
+ render_menu_textures(gDisplayListHead, gMenuTexturesBackground[has_unlocked_extra_mode()], arg0->column, arg0->row);
break;
- case 0x2: /* switch 6 */
- func_8004C8D4((arg0->column + 0xA0), (arg0->row + 0x47));
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_020045E8, arg0->column, arg0->row);
+ case MENU_ITEM_UI_LOGO_AND_COPYRIGHT:
+ render_game_logo((arg0->column + 0xA0), (arg0->row + 0x47));
+ gDisplayListHead = render_menu_textures(gDisplayListHead, seg2_copyright_1996_texture, arg0->column, arg0->row);
break;
- case 0x3: /* switch 6 */
+ case MENU_ITEM_UI_PUSH_START_BUTTON:
if (((gGlobalTimer / 8) % 3) != 0) {
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004610, arg0->column, arg0->row);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, seg2_push_start_button_texture, arg0->column, arg0->row);
}
break;
- case 0x5: /* switch 6 */
+ case MENU_ITEM_UI_START_RECORD_TIME:
var_t0 = (s32) ((f32) (get_string_width(CourseManager_GetProps()->Name) + 5) * 0.9f) / 2;
gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - var_t0, 0x0000007B, var_t0 + 0xA0, 0x000000A4, 0,
0, 0, 0x00000096);
- set_text_color(1);
- draw_text(0x0000009B, 0x0000008C, CourseManager_GetProps()->Name, 0, 0.9f, 0.9f);
+ set_text_color(TEXT_GREEN);
+ print_text1_center_mode_1(0x0000009B, 0x0000008C, CourseManager_GetProps()->Name, 0, 0.9f, 0.9f);
temp_v1 = func_800B4EB4(0, 7) & 0xFFFFF;
if (temp_v1 < 0x1EAA) {
set_text_color((s32) gGlobalTimer % 2);
} else if (temp_v1 < 0x2329) {
set_text_color((s32) gGlobalTimer % 3);
} else {
- set_text_color(3);
+ set_text_color(TEXT_YELLOW);
}
get_time_record_minutes(temp_v1, sp80);
func_800939C8(0x00000077, 0x000000A0, sp80, 0, 1.0f, 1.0f);
- func_80093324(0x0000008B, 0x000000A0, "'", 0, 1.0f, 1.0f);
+ print_text_mode_1(0x0000008B, 0x000000A0, "'", 0, 1.0f, 1.0f);
get_time_record_seconds(temp_v1, sp80);
func_800939C8(0x00000094, 0x000000A0, sp80, 0, 1.0f, 1.0f);
- func_80093324(0x000000A7, 0x000000A0, "\"", 0, 1.0f, 1.0f);
+ print_text_mode_1(0x000000A7, 0x000000A0, "\"", 0, 1.0f, 1.0f);
get_time_record_centiseconds(temp_v1, sp80);
func_800939C8(0x000000B4, 0x000000A0, sp80, 0, 1.0f, 1.0f);
break;
- case 0x4: /* switch 6 */
- var_t0 = get_string_width(D_800E77A0[0]);
- temp_v1 = get_string_width(D_800E77A0[1]);
+ case MENU_ITEM_UI_NO_CONTROLLER:
+ var_t0 = get_string_width(gTextNoController[0]);
+ temp_v1 = get_string_width(gTextNoController[1]);
if (var_t0 < temp_v1) {
var_t0 = temp_v1;
}
@@ -6062,39 +6063,39 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) {
temp_t5 = (s32) (((why * 2) + 0.5) * 16.0) / 2;
gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - temp_t2, 0xB6 - temp_t5, temp_t2 + 0xA0,
temp_t5 + 0xB6, 0, 0, 0, 0x00000096);
- set_text_color(4);
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
for (temp_t9 = 0; temp_t9 < 2; temp_t9++) {
- draw_text(0xA0 * one - floatone * why, (s32) (0xB4 * one + ((f32) (temp_t9 * 0x12) * why)),
- D_800E77A0[temp_t9], 0, why, why);
+ print_text1_center_mode_1(0xA0 * one - floatone * why, (s32) (0xB4 * one + ((f32) (temp_t9 * 0x12) * why)),
+ gTextNoController[temp_t9], 0, why, why);
}
break;
- case 0x23: /* switch 6 */
- case 0x24: /* switch 6 */
- case 0x25: /* switch 6 */
- gDisplayListHead = func_8009BC9C(gDisplayListHead, D_800E7D4C[has_unlocked_extra_mode()], arg0->column,
+ case MAIN_MENU_BACKGROUND:
+ case CHARACTER_SELECT_BACKGROUND:
+ case COURSE_SELECT_BACKGROUND:
+ gDisplayListHead = func_8009BC9C(gDisplayListHead, gMenuTexturesBackground[has_unlocked_extra_mode()], arg0->column,
arg0->row, 3, 0);
break;
- case 0xA: /* switch 6 */
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004660, arg0->column, arg0->row);
+ case MENU_ITEM_UI_GAME_SELECT:
+ gDisplayListHead = render_menu_textures(gDisplayListHead, seg2_game_select_texture, arg0->column, arg0->row);
break;
- case 0xB: /* switch 6 */
- case 0xC: /* switch 6 */
- case 0xD: /* switch 6 */
- case 0xE: /* switch 6 */
+ case MENU_ITEM_UI_1P_GAME:
+ case MENU_ITEM_UI_2P_GAME:
+ case MENU_ITEM_UI_3P_GAME:
+ case MENU_ITEM_UI_4P_GAME:
var_a1 = arg0->type - 0xB;
func_800A8270(var_a1, arg0);
func_800A0FA4(arg0, var_a1);
break;
- case 0xF: /* switch 6 */
+ case MENU_ITEM_UI_OK:
func_800A8564(arg0);
- gDisplayListHead = func_8009BC9C(gDisplayListHead, D_0200487C, arg0->column, arg0->row, 2, arg0->unk1C);
+ gDisplayListHead = func_8009BC9C(gDisplayListHead, D_0200487C, arg0->column, arg0->row, 2, arg0->param1);
break;
- case 0x10: /* switch 6 */
- case 0x11: /* switch 6 */
+ case MAIN_MENU_OPTION_GFX:
+ case MAIN_MENU_DATA_GFX:
var_a1 = arg0->type - 0xF;
- if (arg0->unk1C < 0x20) {
- temp_t9 = (arg0->unk1C * 0x3A) / 64;
- if (var_a1 == gMainMenuSelectionDepth) {
+ if (arg0->param1 < 0x20) {
+ temp_t9 = (arg0->param1 * 0x3A) / 64;
+ if (var_a1 == gMainMenuSelection) {
gDisplayListHead =
draw_flash_select_case_fast(gDisplayListHead, arg0->column + temp_t9, arg0->row,
(arg0->column - temp_t9) + 0x39, arg0->row + 0x12);
@@ -6106,79 +6107,85 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) {
}
var_v1 = arg0->type - 0xA;
gDisplayListHead =
- func_8009BC9C(gDisplayListHead, D_800E8254[var_v1], arg0->column, arg0->row, 2, arg0->unk1C);
- break;
- case 0x12: /* switch 6 */
- case 0x13: /* switch 6 */
- case 0x14: /* switch 6 */
- case 0x15: /* switch 6 */
- case 0x16: /* switch 6 */
- case 0x17: /* switch 6 */
- case 0x18: /* switch 6 */
- case 0x19: /* switch 6 */
- var_v1 = D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
- var_a1 = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
- switch (arg0->type) { /* switch 5 */
- case 0x12: /* switch 5 */
- case 0x13: /* switch 5 */
- case 0x14: /* switch 5 */
- case 0x15: /* switch 5 */
- if ((var_a1 != 0) && (var_a1 != 2)) {
- var_v1 = -1;
+ func_8009BC9C(gDisplayListHead, D_800E8254[var_v1], arg0->column, arg0->row, 2, arg0->param1);
+ break;
+ case MAIN_MENU_50CC:
+ case MAIN_MENU_100CC:
+ case MAIN_MENU_150CC:
+ case MAIN_MENU_EXTRA_CC:
+ case MENU_ITEM_TYPE_016:
+ case MENU_ITEM_TYPE_017:
+ case MAIN_MENU_TIME_TRIALS_BEGIN:
+ case MAIN_MENU_TIME_TRIALS_DATA:
+ var_v1 = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
+ var_a1 = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
+ switch (arg0->type) {
+ case MAIN_MENU_50CC:
+ case MAIN_MENU_100CC:
+ case MAIN_MENU_150CC:
+ case MAIN_MENU_EXTRA_CC:
+ switch(var_a1) {
+ case 0:
+ case 2:
+ break;
+ default:
+ var_v1 = -1;
+ break;
}
- var_a1 = 18;
- sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]);
+ var_a1 = MAIN_MENU_50CC;
+ sp9C = segmented_to_virtual_dupe(D_800E8294[arg0->type - MAIN_MENU_50CC]);
break;
- case 0x16: /* switch 5 */
- case 0x17: /* switch 5 */
+ case MENU_ITEM_TYPE_016:
+ case MENU_ITEM_TYPE_017:
if (var_a1 != 2) {
var_v1 = -1;
} else {
- var_a1 = 22;
- sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]);
+ var_a1 = MENU_ITEM_TYPE_016;
+ sp9C = segmented_to_virtual_dupe(D_800E82A4[arg0->type - MENU_ITEM_TYPE_016]);
}
break;
- case 0x18: /* switch 5 */
- case 0x19: /* switch 5 */
+ case MAIN_MENU_TIME_TRIALS_BEGIN:
+ case MAIN_MENU_TIME_TRIALS_DATA:
if (var_a1 != 1) {
var_v1 = -1;
} else {
- var_a1 = 24;
- sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]);
+ var_a1 = MAIN_MENU_TIME_TRIALS_BEGIN;
+ sp9C = segmented_to_virtual_dupe(D_800E82AC[arg0->type - MAIN_MENU_TIME_TRIALS_BEGIN]);
}
break;
+ } // End of switch
+ if (var_v1 == -1) {
+ break;
}
- if (var_v1 != -1) {
- if ((gMainMenuSelectionDepth >= 5) && (var_v1 == (arg0->type - var_a1))) {
- if (gMainMenuSelectionDepth >= 6) {
- gDisplayListHead =
- draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
- arg0->row + 0x11, 0x000000FF, 0x000000F9, 0x000000DC, 0x000000FF);
- } else {
- gDisplayListHead =
- draw_flash_select_case_slow(gDisplayListHead, arg0->column ^ 0, arg0->row ^ 0,
- arg0->column + 0x3F, arg0->row + 0x11);
- }
+ if ((gMainMenuSelection >= 5) && (var_v1 == (arg0->type - var_a1))) {
+ if (gMainMenuSelection >= 6) {
+ gDisplayListHead =
+ draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
+ arg0->row + 0x11, 0x000000FF, 0x000000F9, 0x000000DC, 0x000000FF);
} else {
- gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
- arg0->row + 0x11, 1, 1, 1, 0x000000FF);
+ gDisplayListHead =
+ draw_flash_select_case_slow(gDisplayListHead, arg0->column ^ 0, arg0->row ^ 0,
+ arg0->column + 0x3F, arg0->row + 0x11);
}
- gDisplayListHead = func_8009BA74(gDisplayListHead, sp9C, arg0->column, arg0->row);
+ } else {
+ gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
+ arg0->row + 0x11, 1, 1, 1, 0x000000FF);
}
+ gDisplayListHead = render_menu_textures(gDisplayListHead, sp9C, arg0->column, arg0->row);
break;
- case 0x1B: /* switch 6 */
+ case MENU_ITEM_TYPE_01B:
func_800A10CC(arg0);
break;
- case 0x2A: /* switch 6 */
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004B4C, arg0->column, arg0->row);
+ case CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER:
+ gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004B4C, arg0->column, arg0->row);
break;
- case 0x34: /* switch 6 */
- case 0x35: /* switch 6 */
- case 0x36: /* switch 6 */
- case 0x37: /* switch 6 */
- temp_a0 = arg0->type - 0x34;
+ case CHARACTER_SELECT_MENU_1P_CURSOR:
+ case CHARACTER_SELECT_MENU_2P_CURSOR:
+ case CHARACTER_SELECT_MENU_3P_CURSOR:
+ case CHARACTER_SELECT_MENU_4P_CURSOR:
+ temp_a0 = arg0->type - CHARACTER_SELECT_MENU_1P_CURSOR;
if (gCharacterGridSelections[temp_a0]) {
- if (D_8018EDE8[temp_a0] == 0) {
+ if (gCharacterGridIsSelected[temp_a0] == 0) {
temp_t2 = 0x000000FF;
} else {
temp_t2 = gGlobalTimer % 16;
@@ -6189,99 +6196,99 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) {
}
temp_t2 += 0xBF;
}
- func_800A11D0(arg0, temp_a0, temp_t2);
+ render_cursor_player(arg0, temp_a0, temp_t2);
}
break;
- case 0x33: /* switch 6 */
+ case CHARACTER_SELECT_MENU_OK:
func_800A8564(arg0);
- gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004B74, arg0->column, arg0->row, 2, arg0->unk1C);
- break;
- case 0x2B: /* switch 6 */
- case 0x2C: /* switch 6 */
- case 0x2D: /* switch 6 */
- case 0x2E: /* switch 6 */
- case 0x2F: /* switch 6 */
- case 0x30: /* switch 6 */
- case 0x31: /* switch 6 */
- case 0x32: /* switch 6 */
+ gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004B74, arg0->column, arg0->row, 2, arg0->param1);
+ break;
+ case CHARACTER_SELECT_MENU_MARIO:
+ case CHARACTER_SELECT_MENU_LUIGI:
+ case CHARACTER_SELECT_MENU_TOAD:
+ case CHARACTER_SELECT_MENU_PEACH:
+ case CHARACTER_SELECT_MENU_YOSHI:
+ case CHARACTER_SELECT_MENU_DK:
+ case CHARACTER_SELECT_MENU_WARIO:
+ case CHARACTER_SELECT_MENU_BOWSER:
func_800A12BC(arg0, segmented_to_virtual_dupe(D_800E7D54[arg0->type - 0x2B]));
/* fallthrough */
- case 0xA0: /* switch 6 */
- case 0xA1: /* switch 6 */
- func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, arg0->unk1C);
- break;
- case 0x58: /* switch 6 */
- case 0x59: /* switch 6 */
- case 0x5A: /* switch 6 */
- case 0x5B: /* switch 6 */
- case 0x5C: /* switch 6 */
+ case MENU_ITEM_TYPE_0A0:
+ case MENU_ITEM_TYPE_0A1:
+ func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, arg0->param1);
+ break;
+ case MENU_ITEM_TYPE_058:
+ case COURSE_SELECT_COURSE_NAMES:
+ case MENU_ITEM_TYPE_05A:
+ case MENU_ITEM_TYPE_05B:
+ case COURSE_SELECT_BATTLE_NAMES:
func_800A8A98(arg0);
gDisplayListHead =
- func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg0->type - 0x52]),
+ render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg0->type - COURSE_SELECT_MAP_SELECT]),
arg0->column, arg0->row);
func_800A8CA4(arg0);
break;
- case 0x52: /* switch 6 */
+ case COURSE_SELECT_MAP_SELECT:
gDisplayListHead =
- func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg0->type - 0x52]),
+ render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg0->type - COURSE_SELECT_MAP_SELECT]),
arg0->column, arg0->row);
break;
- case 0x5F: /* switch 6 */
- case 0x60: /* switch 6 */
- case 0x61: /* switch 6 */
- case 0x62: /* switch 6 */
+ case MENU_ITEM_TYPE_05F:
+ case MENU_ITEM_TYPE_060:
+ case MENU_ITEM_TYPE_061:
+ case MENU_ITEM_TYPE_062:
func_800A1500(arg0);
break;
- case 0x53: /* switch 6 */
- case 0x54: /* switch 6 */
- case 0x55: /* switch 6 */
- case 0x56: /* switch 6 */
+ case COURSE_SELECT_MUSHROOM_CUP:
+ case COURSE_SELECT_FLOWER_CUP:
+ case COURSE_SELECT_STAR_CUP:
+ case COURSE_SELECT_SPECIAL_CUP:
var_a1 = arg0->type - 0x53;
func_800A890C(var_a1, arg0);
func_800A143C(arg0, var_a1);
break;
- case 0x5D: /* switch 6 */
+ case COURSE_SELECT_OK:
func_800A8564(arg0);
- gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004E80, arg0->column, arg0->row, 2, arg0->unk1C);
+ gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004E80, arg0->column, arg0->row, 2, arg0->param1);
break;
- case 0x65: /* switch 6 */
- case 0x66: /* switch 6 */
- if (arg0->type == 0x00000065) {
- var_f0 = 0.6f;
+ case MENU_ITEM_TYPE_065:
+ case MENU_ITEM_TYPE_066:
+ if (arg0->type == MENU_ITEM_TYPE_065) {
+ scaleX = 0.6f;
} else {
- var_f0 = 0.8f;
+ scaleX = 0.8f;
}
func_800A86E8(arg0);
set_text_color(3);
- func_80093324(arg0->column + 8, arg0->row + 0x10, D_800E7728[arg0->type - 0x65], 0, var_f0, 0.8f);
+ print_text_mode_1(arg0->column + 8, arg0->row + 0x10, gBestTimeText[arg0->type - MENU_ITEM_TYPE_065], 0, scaleX, 0.8f);
func_800A874C(arg0);
break;
- case 0x6E: /* switch 6 */
- func_800A8E14(arg0);
+ case MENU_ITEM_TYPE_06E:
+ render_battle_introduction(arg0);
break;
- case 0x67: /* switch 6 */
+ case MENU_ITEM_TYPE_067:
func_800A8EC0(arg0);
break;
- case 0x68: /* switch 6 */
+ case MENU_ITEM_TYPE_068:
gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
arg0->row + 0x11, 1, 1, 1, 0x000000FF);
- gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8294[gCCSelection]),
+ gDisplayListHead = render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E8294[gCCSelection]),
arg0->column, arg0->row);
break;
- case 0x69: /* switch 6 */
+ case MENU_ITEM_TYPE_069:
func_800A8F48(arg0);
break;
- case 0x78: /* switch 6 */
- case 0x79: /* switch 6 */
- case 0x7A: /* switch 6 */
- case 0x7B: /* switch 6 */
- var_a1 = arg0->type - 0x78;
+ case MENU_ITEM_TYPE_078:
+ case MENU_ITEM_TYPE_079:
+ case MENU_ITEM_TYPE_07A:
+ case MENU_ITEM_TYPE_07B:
+ var_a1 = arg0->type - MENU_ITEM_TYPE_078;
func_800A90D4(var_a1, arg0);
func_800A143C(arg0, var_a1);
break;
- case 0x8C: /* switch 6 */
- if ((gMainMenuSelectionDepth >= 5) && (var_a1 == (arg0->type - var_v1))) {
- if (gMainMenuSelectionDepth >= 6) {
+ case MENU_ITEM_TYPE_08C:
+ if ((gMainMenuSelection >= MAIN_MENU_MODE_SUB_SELECT) && (var_a1 == (arg0->type - var_v1))) {
+ if (gMainMenuSelection >= MAIN_MENU_MODE_SUB_SELECT) {
gDisplayListHead =
draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
arg0->row + 0x11, 0x000000FF, 0x000000F9, 0x000000DC, 0x000000FF);
@@ -6293,206 +6300,206 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) {
gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F,
arg0->row + 0x11, 1, 1, 1, 0x000000FF);
}
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A34, arg0->column, arg0->row);
- set_text_color(3);
- func_800936B8(0x00000125, 0x0000001C, D_800E77B4, 0, 0.55f, 0.55f);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, seg2_data_texture, arg0->column, arg0->row);
+ set_text_color(TEXT_YELLOW);
+ print_text1_left(0x00000125, 0x0000001C, gTextMenuData, 0, 0.55f, 0.55f);
break;
- case 0x8D: /* switch 6 */
+ case MENU_ITEM_TYPE_08D:
func_800A1780(arg0);
break;
- case 0x7C: /* switch 6 */
- case 0x7D: /* switch 6 */
- case 0x7E: /* switch 6 */
- case 0x7F: /* switch 6 */
- case 0x80: /* switch 6 */
- case 0x81: /* switch 6 */
- case 0x82: /* switch 6 */
- case 0x83: /* switch 6 */
- case 0x84: /* switch 6 */
- case 0x85: /* switch 6 */
- case 0x86: /* switch 6 */
- case 0x87: /* switch 6 */
- case 0x88: /* switch 6 */
- case 0x89: /* switch 6 */
- case 0x8A: /* switch 6 */
- case 0x8B: /* switch 6 */
+ case MENU_ITEM_TYPE_07C:
+ case MENU_ITEM_TYPE_07D:
+ case MENU_ITEM_TYPE_07E:
+ case MENU_ITEM_TYPE_07F:
+ case MENU_ITEM_TYPE_080:
+ case MENU_ITEM_TYPE_081:
+ case MENU_ITEM_TYPE_082:
+ case MENU_ITEM_TYPE_083:
+ case MENU_ITEM_TYPE_084:
+ case MENU_ITEM_TYPE_085:
+ case MENU_ITEM_TYPE_086:
+ case MENU_ITEM_TYPE_087:
+ case MENU_ITEM_TYPE_088:
+ case MENU_ITEM_TYPE_089:
+ case MENU_ITEM_TYPE_08A:
+ case MENU_ITEM_TYPE_08B:
func_800A15EC(arg0);
break;
- case 0x96: /* switch 6 */
- set_text_color(4);
- func_800936B8(arg0->column, arg0->row, gCupNames[D_800DC540], arg0->unk1C, arg0->unk24, 1.0f);
+ case MENU_ITEM_TYPE_096:
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
+ print_text1_left(arg0->column, arg0->row, gCupNames[D_800DC540], arg0->param1, arg0->paramf, 1.0f);
break;
- case 0x97: /* switch 6 */
- set_text_color(5);
- func_80093324(arg0->column, arg0->row, CourseManager_GetProps()->Name, arg0->unk1C, arg0->unk24, 1.0f);
+ case MENU_ITEM_TYPE_097:
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
+ print_text_mode_1(arg0->column, arg0->row, CourseManager_GetProps()->Name, arg0->param1, arg0->paramf, 1.0f);
break;
- case 0x98: /* switch 6 */
+ case MENU_ITEM_TYPE_098:
func_800A2D1C(arg0);
break;
- case 0x5E: /* switch 6 */
+ case MENU_ITEM_TYPE_05E:
gDisplayListHead = func_80096CD8(gDisplayListHead, 0x00000019, 0x00000072, 0x0000007CU, 0x0000004AU);
break;
- case 0xAA: /* switch 6 */
+ case MENU_ITEM_TYPE_0AA:
func_800A2EB8(arg0);
break;
- case 0xAB: /* switch 6 */
+ case MENU_ITEM_TYPE_0AB:
func_800A34A8(arg0);
break;
- case 0xAC: /* switch 6 */
+ case MENU_ITEM_TYPE_0AC:
func_800A6154(arg0);
break;
- case 0xAF: /* switch 6 */
+ case MENU_ITEM_TYPE_0AF:
func_800A6034(arg0);
break;
- case 0xB0: /* switch 6 */
+ case MENU_ITEM_TYPE_0B0:
func_800A638C(arg0);
break;
- case 0xB1: /* switch 6 */
- case 0xB2: /* switch 6 */
- case 0xB3: /* switch 6 */
- case 0xB4: /* switch 6 */
- if (arg0->cursor != 0) {
- var_v1 = arg0->type - 0xB1;
+ case MENU_ITEM_TYPE_0B1:
+ case MENU_ITEM_TYPE_0B2:
+ case MENU_ITEM_TYPE_0B3:
+ case MENU_ITEM_TYPE_0B4:
+ if (arg0->state != 0) {
+ var_v1 = arg0->type - MENU_ITEM_TYPE_0B1;
gDisplayListHead =
- func_8009BA74(gDisplayListHead,
+ render_menu_textures(gDisplayListHead,
segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[gCharacterSelections[var_v1]]]),
arg0->column, arg0->row);
- func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, var_v1, arg0->unk1C);
- func_800A11D0(arg0, var_v1, 0x000000FF);
+ func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, var_v1, arg0->param1);
+ render_cursor_player(arg0, var_v1, 0x000000FF);
}
break;
- case 0xB9: /* switch 6 */
- func_800A3C84(arg0);
+ case MENU_ITEM_TYPE_0B9:
+ time_trials_finish_text_render(arg0);
break;
- case 0xBA: /* switch 6 */
+ case MENU_ITEM_TYPE_0BA:
func_800A3E60(arg0);
break;
- case 0xBC: /* switch 6 */
- func_800A4A24(arg0);
+ case MENU_ITEM_ANNOUNCE_GHOST:
+ render_menu_item_announce_ghost(arg0);
break;
- case 0xC7: /* switch 6 */
+ case MENU_ITEM_PAUSE:
render_pause_menu(arg0);
break;
- case 0xBD: /* switch 6 */
- func_800A5738(arg0);
+ case MENU_ITEM_END_COURSE_OPTION:
+ render_menu_item_end_course_option(arg0);
break;
- case 0xE6: /* switch 6 */
- func_800A1924(arg0);
+ case MENU_ITEM_DATA_COURSE_IMAGE:
+ render_menu_item_data_course_image(arg0);
break;
- case 0xE7: /* switch 6 */
- func_800A1A20(arg0);
+ case MENU_ITEM_DATA_COURSE_INFO:
+ render_menu_item_data_course_info(arg0);
break;
- case 0xE8: /* switch 6 */
- func_800A1BE0(arg0);
+ case MENU_ITEM_DATA_COURSE_SELECTABLE:
+ menu_item_data_course_selectable(arg0);
break;
- case 0xE9: /* switch 6 */
+ case MENU_ITEM_TYPE_0E9:
func_800A1DE0(arg0);
break;
- case 0xEA: /* switch 6 */
+ case MENU_ITEM_TYPE_0EA:
func_800A1F30(arg0);
break;
- case 0xF0: /* switch 6 */
+ case MENU_ITEM_TYPE_0F0:
func_800A1FB0(arg0);
break;
- case 0xF1: /* switch 6 */
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004638, arg0->column, arg0->row);
+ case MENU_ITEM_TYPE_0F1:
+ gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004638, arg0->column, arg0->row);
break;
- case 0x10E: /* switch 6 */
+ case MENU_ITEM_TYPE_10E:
func_800A70E8(arg0);
break;
- case 0x12B: /* switch 6 */
+ case MENU_ITEM_TYPE_12B:
func_800A7258(arg0);
break;
- case 0x12C: /* switch 6 */
+ case MENU_ITEM_TYPE_12C:
func_800A72FC(arg0);
break;
- case 0x12D: /* switch 6 */
+ case MENU_ITEM_TYPE_12D:
func_800A7448(arg0);
break;
- case 0x12E: /* switch 6 */
+ case MENU_ITEM_TYPE_12E:
func_800A75A0(arg0);
break;
- case 0x12F: /* switch 6 */
+ case MENU_ITEM_TYPE_12F:
func_800A761C(arg0);
break;
- case 0x130: /* switch 6 */
- if (arg0->cursor != 0) {
- gDisplayListHead = func_8009BA74(
+ case MENU_ITEM_TYPE_130:
+ if (arg0->state != 0) {
+ gDisplayListHead = render_menu_textures(
gDisplayListHead, segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[D_802874D8.unk1E]]),
arg0->column, arg0->row);
- func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, 0, arg0->unk1C);
- }
- break;
- case 0x190: /* switch 6 */
- case 0x191: /* switch 6 */
- case 0x192: /* switch 6 */
- case 0x193: /* switch 6 */
- case 0x194: /* switch 6 */
- case 0x195: /* switch 6 */
- case 0x196: /* switch 6 */
- case 0x197: /* switch 6 */
- case 0x198: /* switch 6 */
- case 0x199: /* switch 6 */
- case 0x19A: /* switch 6 */
- case 0x19B: /* switch 6 */
- case 0x19C: /* switch 6 */
- case 0x19D: /* switch 6 */
- case 0x19E: /* switch 6 */
- case 0x19F: /* switch 6 */
- case 0x1A0: /* switch 6 */
- case 0x1A1: /* switch 6 */
- case 0x1A2: /* switch 6 */
- case 0x1A3: /* switch 6 */
- case 0x1A4: /* switch 6 */
- case 0x1A5: /* switch 6 */
- case 0x1A6: /* switch 6 */
- case 0x1A7: /* switch 6 */
- case 0x1A8: /* switch 6 */
- case 0x1A9: /* switch 6 */
- case 0x1AA: /* switch 6 */
- case 0x1AB: /* switch 6 */
- case 0x1AC: /* switch 6 */
- case 0x1AD: /* switch 6 */
- case 0x1AE: /* switch 6 */
- case 0x1AF: /* switch 6 */
- case 0x1B0: /* switch 6 */
- case 0x1B1: /* switch 6 */
- case 0x1B2: /* switch 6 */
- case 0x1B3: /* switch 6 */
- case 0x1B4: /* switch 6 */
- case 0x1B5: /* switch 6 */
- case 0x1B6: /* switch 6 */
- case 0x1B7: /* switch 6 */
- case 0x1B8: /* switch 6 */
- case 0x1B9: /* switch 6 */
- case 0x1BA: /* switch 6 */
- case 0x1BB: /* switch 6 */
- case 0x1BC: /* switch 6 */
- case 0x1BD: /* switch 6 */
- case 0x1BE: /* switch 6 */
- case 0x1BF: /* switch 6 */
- case 0x1C0: /* switch 6 */
- case 0x1C1: /* switch 6 */
- case 0x1C2: /* switch 6 */
- case 0x1C3: /* switch 6 */
- case 0x1C4: /* switch 6 */
- case 0x1C5: /* switch 6 */
- case 0x1C6: /* switch 6 */
- case 0x1C7: /* switch 6 */
- case 0x1C8: /* switch 6 */
- case 0x1C9: /* switch 6 */
- case 0x1CA: /* switch 6 */
- case 0x1CB: /* switch 6 */
- case 0x1CC: /* switch 6 */
- case 0x1CD: /* switch 6 */
- case 0x1CE: /* switch 6 */
- func_800A7790(arg0);
+ func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, 0, arg0->param1);
+ }
+ break;
+ case MENU_ITEM_TYPE_190:
+ case MENU_ITEM_TYPE_191:
+ case MENU_ITEM_TYPE_192:
+ case MENU_ITEM_TYPE_193:
+ case MENU_ITEM_TYPE_194:
+ case MENU_ITEM_TYPE_195:
+ case MENU_ITEM_TYPE_196:
+ case MENU_ITEM_TYPE_197:
+ case MENU_ITEM_TYPE_198:
+ case MENU_ITEM_TYPE_199:
+ case MENU_ITEM_TYPE_19A:
+ case MENU_ITEM_TYPE_19B:
+ case MENU_ITEM_TYPE_19C:
+ case MENU_ITEM_TYPE_19D:
+ case MENU_ITEM_TYPE_19E:
+ case MENU_ITEM_TYPE_19F:
+ case MENU_ITEM_TYPE_1A0:
+ case MENU_ITEM_TYPE_1A1:
+ case MENU_ITEM_TYPE_1A2:
+ case MENU_ITEM_TYPE_1A3:
+ case MENU_ITEM_TYPE_1A4:
+ case MENU_ITEM_TYPE_1A5:
+ case MENU_ITEM_TYPE_1A6:
+ case MENU_ITEM_TYPE_1A7:
+ case MENU_ITEM_TYPE_1A8:
+ case MENU_ITEM_TYPE_1A9:
+ case MENU_ITEM_TYPE_1AA:
+ case MENU_ITEM_TYPE_1AB:
+ case MENU_ITEM_TYPE_1AC:
+ case MENU_ITEM_TYPE_1AD:
+ case MENU_ITEM_TYPE_1AE:
+ case MENU_ITEM_TYPE_1AF:
+ case MENU_ITEM_TYPE_1B0:
+ case MENU_ITEM_TYPE_1B1:
+ case MENU_ITEM_TYPE_1B2:
+ case MENU_ITEM_TYPE_1B3:
+ case MENU_ITEM_TYPE_1B4:
+ case MENU_ITEM_TYPE_1B5:
+ case MENU_ITEM_TYPE_1B6:
+ case MENU_ITEM_TYPE_1B7:
+ case MENU_ITEM_TYPE_1B8:
+ case MENU_ITEM_TYPE_1B9:
+ case MENU_ITEM_TYPE_1BA:
+ case MENU_ITEM_TYPE_1BB:
+ case MENU_ITEM_TYPE_1BC:
+ case MENU_ITEM_TYPE_1BD:
+ case MENU_ITEM_TYPE_1BE:
+ case MENU_ITEM_TYPE_1BF:
+ case MENU_ITEM_TYPE_1C0:
+ case MENU_ITEM_TYPE_1C1:
+ case MENU_ITEM_TYPE_1C2:
+ case MENU_ITEM_TYPE_1C3:
+ case MENU_ITEM_TYPE_1C4:
+ case MENU_ITEM_TYPE_1C5:
+ case MENU_ITEM_TYPE_1C6:
+ case MENU_ITEM_TYPE_1C7:
+ case MENU_ITEM_TYPE_1C8:
+ case MENU_ITEM_TYPE_1C9:
+ case MENU_ITEM_TYPE_1CA:
+ case MENU_ITEM_TYPE_1CB:
+ case MENU_ITEM_TYPE_1CC:
+ case MENU_ITEM_TYPE_1CD:
+ case MENU_ITEM_TYPE_1CE:
+ menu_item_credits_render(arg0);
break;
}
}
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009F5E0.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/render_menus.s")
#endif
void func_800A08D8(u8 arg0, s32 column, s32 row) {
@@ -6503,7 +6510,7 @@ void func_800A08D8(u8 arg0, s32 column, s32 row) {
arg0 = 0x2B;
}
gDisplayListHead =
- func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E7AF8[arg0]), column, row);
+ render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E7AF8[arg0]), column, row);
}
}
}
@@ -6525,36 +6532,31 @@ s32 func_800A095C(char* someString, s32 len, s32 column, s32 row) {
return nonTerminatorCount;
}
-#ifdef NON_MATCHING
-// Non-matching due to the constants 9 and 0xA being saved to the wrong registers
-// Same functionality, but doesn't match byte for byte :/
-void func_800A09E0(struct_8018D9E0_entry* arg0) {
- s32 table_row, x = 0x20, y;
- gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH - 1, 194);
- for (table_row = 0; table_row < 9; table_row++) {
- if ((D_800E86D0[0] != 0) || ((table_row != 0) && (table_row != 8))) {
- y = (table_row * 0xA) + arg0->row;
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200157C, x, y);
+void func_800A09E0(MenuItem *item) {
+ s32 table_row;
+
+ gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, 319, 194);
+ for (table_row = 0; table_row < 9; table_row++) {
+ if (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE && (table_row == 0 || table_row == 8)) {
+ continue;
}
- }
+ gDisplayListHead = render_menu_textures(gDisplayListHead, D_0200157C, 0x20, (table_row * 0xA) + item->row);
+ }
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A09E0.s")
-#endif
-void func_800A0AD0(UNUSED struct_8018D9E0_entry* arg0) {
- struct_8018D9E0_entry* temp_t1;
- // Find struct_8018D9E0_entry with a type/id of 0xDA
- temp_t1 = find_8018D9E0_entry_dupe(0xDA);
+void func_800A0AD0(UNUSED MenuItem* arg0) {
+ MenuItem* temp_t1;
+ // Find MenuItem with a type/id of MENU_ITEM_TYPE_0DA
+ temp_t1 = find_menu_items_dupe(MENU_ITEM_TYPE_0DA);
if ((gControllerPakMenuSelection != CONTROLLER_PAK_MENU_SELECT_RECORD) &&
(gControllerPakMenuSelection != CONTROLLER_PAK_MENU_END)) {
- gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t1->unk20, 0x00, 0xFF);
+ gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t1->param2, 0x00, 0xFF);
gDisplayListHead =
- func_8009BA74(gDisplayListHead, D_02001874, 0x24, (gControllerPakSelectedTableRow * 0xA) + 0x7C);
+ render_menu_textures(gDisplayListHead, D_02001874, 0x24, (gControllerPakSelectedTableRow * 0xA) + 0x7C);
}
}
-void func_800A0B80(struct_8018D9E0_entry* arg0) {
+void func_800A0B80(MenuItem* arg0) {
UNUSED s32 temp_a2;
s32 temp_s1;
s32 temp_s2;
@@ -6565,12 +6567,12 @@ void func_800A0B80(struct_8018D9E0_entry* arg0) {
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x32, 0xFF);
for (var_s5 = 0; var_s5 < 9; var_s5++) {
- if (D_800E86C4[var_s5] == 0) {
+ if (gControllerPakVisibleTableRows[var_s5] == 0) {
continue;
}
temp_s1 = var_s5 * 0xA;
- var_s0 = D_800E86C4[var_s5];
+ var_s0 = gControllerPakVisibleTableRows[var_s5];
if (var_s0 < 0xA) {
func_800A08D8(var_s0 + 0x10, 0x00000032, arg0->row + temp_s1 + 1);
} else {
@@ -6579,8 +6581,8 @@ void func_800A0B80(struct_8018D9E0_entry* arg0) {
func_800A08D8(0x11U, 0x0000002F, arg0->row + temp_s1 + 1);
}
temp_s2 = arg0->row + temp_s1 + 1;
- if (pfsError[D_800E86C4[var_s5] - 1] == 0) {
- temp_s4 = &pfsState[D_800E86C4[var_s5] - 1];
+ if (pfsError[gControllerPakVisibleTableRows[var_s5] - 1] == 0) {
+ temp_s4 = &pfsState[gControllerPakVisibleTableRows[var_s5] - 1];
var_s0 = func_800A095C(temp_s4->game_name, 0x00000010, 0x0000004F, temp_s2);
if (temp_s4->ext_name[0] != 0) {
func_800A08D8(0x3CU, (var_s0 * 8) + 0x4F, temp_s2);
@@ -6610,18 +6612,18 @@ void func_800A0DFC(void) {
temp_t6 = var_s0 % 10;
var_s0 /= 10;
gDisplayListHead =
- func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D0C[temp_t6]), var_s1, 0x000000B8);
+ render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D0C[temp_t6]), var_s1, 0x000000B8);
var_s1 -= 9;
} while (var_s0 != 0);
}
-void func_800A0EB8(UNUSED struct_8018D9E0_entry* arg0, s32 arg1) {
+void func_800A0EB8(UNUSED MenuItem* arg0, s32 arg1) {
s32 var_t1;
s32 thing;
Unk_D_800E70A0* temp_v0;
- struct_8018D9E0_entry* temp_t3;
+ MenuItem* temp_t3;
- temp_t3 = find_8018D9E0_entry_dupe(0x000000DA);
+ temp_t3 = find_menu_items_dupe(MENU_ITEM_TYPE_0DA);
if (arg1 == 0) {
if (gControllerPakMenuSelection == CONTROLLER_PAK_MENU_END) {
var_t1 = 1;
@@ -6637,46 +6639,46 @@ void func_800A0EB8(UNUSED struct_8018D9E0_entry* arg0, s32 arg1) {
}
}
temp_v0 = &D_800E7278[var_t1];
- gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t3->unk20, 0x00, 0xFF);
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200184C, (s32) temp_v0->column, (s32) temp_v0->row);
+ gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t3->param2, 0x00, 0xFF);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, D_0200184C, (s32) temp_v0->column, (s32) temp_v0->row);
}
-void func_800A0FA4(struct_8018D9E0_entry* arg0, s32 arg1) {
- switch (arg0->cursor) {
+void func_800A0FA4(MenuItem* arg0, s32 arg1) {
+ switch (arg0->state) {
case 0:
case 2:
case 3:
- gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]),
+ gDisplayListHead = render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]),
arg0->column, arg0->row);
- gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]),
+ gDisplayListHead = render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]),
arg0->column, arg0->row);
break;
case 1:
case 4:
gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]),
- arg0->column, arg0->row, 2, arg0->unk1C);
+ arg0->column, arg0->row, 2, arg0->param1);
gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]),
- arg0->column, arg0->row, 2, arg0->unk1C);
+ arg0->column, arg0->row, 2, arg0->param1);
break;
}
}
-void func_800A10CC(struct_8018D9E0_entry* arg0) {
+void func_800A10CC(MenuItem* arg0) {
s32 var_s1;
s32 index;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 2:
case 3:
case 4:
case 5:
gDisplayListHead =
draw_box_fill(gDisplayListHead, 0x0000001E, 0x00000032, 0x00000122, 0x0000006E, 0, 0, 0, 0x000000FF);
- index = arg0->cursor - 2;
- set_text_color(3);
+ index = arg0->state - 2;
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 4; var_s1++) {
// In a perfect world this would be `D_800E7940[index][var_s1]`
- func_80093324(0x00000023, 0x41 + (0xD * var_s1), D_800E7940[(index * 4) + var_s1], 0, 0.65f, 0.65f);
+ print_text_mode_1(0x00000023, 0x41 + (0xD * var_s1), D_800E7940[(index * 4) + var_s1], 0, 0.65f, 0.65f);
}
break;
default:
@@ -6684,34 +6686,34 @@ void func_800A10CC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A11D0(struct_8018D9E0_entry* arg0, s32 arg1, s32 arg2) {
+void render_cursor_player(MenuItem* arg0, s32 arg1, s32 arg2) {
RGBA16* temp_v1;
temp_v1 = &D_800E74A8[arg1];
gDPSetPrimColor(gDisplayListHead++, 0, 0, temp_v1->red, temp_v1->green, temp_v1->blue, temp_v1->alpha);
gDPSetEnvColor(gDisplayListHead++, arg2, arg2, arg2, 0x00);
gDisplayListHead =
- func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82B4[arg1]), arg0->column, arg0->row);
+ render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[arg1]), arg0->column, arg0->row);
}
-void func_800A12BC(struct_8018D9E0_entry* arg0, MkTexture* arg1) {
- switch (arg0->cursor) {
+void func_800A12BC(MenuItem* arg0, MenuTexture* arg1) {
+ switch (arg0->state) {
case 0:
case 2:
case 4:
- gDisplayListHead = func_8009BA74(gDisplayListHead, arg1, arg0->column, arg0->row);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, arg1, arg0->column, arg0->row);
break;
case 1:
case 3:
- gDisplayListHead = func_8009BC9C(gDisplayListHead, arg1, arg0->column, arg0->row, 2, arg0->unk1C);
+ gDisplayListHead = func_8009BC9C(gDisplayListHead, arg1, arg0->column, arg0->row, 2, arg0->param1);
break;
}
}
-void func_800A1350(struct_8018D9E0_entry* arg0) {
+void func_800A1350(MenuItem* arg0) {
s32 thing;
if (func_800AAFCC(arg0->type - 0x2B) < 0) {
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
case 2:
case 4:
@@ -6720,7 +6722,7 @@ void func_800A1350(struct_8018D9E0_entry* arg0) {
break;
case 1:
case 3:
- thing = arg0->unk1C;
+ thing = arg0->param1;
gDisplayListHead = draw_box_wide(gDisplayListHead, arg0->column + thing, arg0->row,
(arg0->column - thing) + 0x40, arg0->row + 0x4C, 0, 0, 0, 0x00000064);
break;
@@ -6728,35 +6730,35 @@ void func_800A1350(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A143C(struct_8018D9E0_entry* arg0, s32 arg1) {
- switch (arg0->cursor) {
+void func_800A143C(MenuItem* arg0, s32 arg1) {
+ switch (arg0->state) {
case 0:
case 2:
case 3:
- gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg1 + 1]),
+ gDisplayListHead = render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg1 + 1]),
arg0->column, arg0->row);
break;
case 1:
case 4:
- gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg1 + 1]),
- arg0->column, arg0->row, 2, arg0->unk1C);
+ gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg1 + 1]),
+ arg0->column, arg0->row, 2, arg0->param1);
break;
}
}
-void func_800A1500(struct_8018D9E0_entry* arg0) {
- struct_8018D9E0_entry* temp_v0;
+void func_800A1500(MenuItem* arg0) {
+ MenuItem* temp_v0;
Unk_D_800E70A0* temp_v0_2;
s32 var_a1;
var_a1 = 0;
- temp_v0 = find_8018D9E0_entry_dupe(0x00000064);
- switch (temp_v0->cursor) { /* irregular */
+ temp_v0 = find_menu_items_dupe(MENU_ITEM_TYPE_064);
+ switch (temp_v0->state) { /* irregular */
case 0:
case 1:
break;
case 2:
- if (((temp_v0->unk1C % 4) + 0x5F) != arg0->type) {
+ if (((temp_v0->param1 % 4) + 0x5F) != arg0->type) {
var_a1 = 1;
}
break;
@@ -6775,7 +6777,7 @@ void func_800A1500(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A15EC(struct_8018D9E0_entry* arg0) {
+void func_800A15EC(MenuItem* arg0) {
s16 courseId = gCupCourseOrder[(arg0->type - 0x7C) / 4][(arg0->type - 0x7C) % 4];
gDisplayListHead =
func_8009C204(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D74[courseId]), arg0->column, arg0->row, 2);
@@ -6792,7 +6794,7 @@ void func_800A15EC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A1780(struct_8018D9E0_entry* arg0) {
+void func_800A1780(MenuItem* arg0) {
RGBA16* temp_a1;
RGBA16* temp_v1;
s32 temp_a2;
@@ -6801,23 +6803,25 @@ void func_800A1780(struct_8018D9E0_entry* arg0) {
u32 blue;
u32 alpha;
- temp_v1 = &D_800E74D0[arg0->unk20];
- temp_a1 = &D_800E74D0[(arg0->unk20 + 1) % 3];
- temp_a2 = 256 - arg0->unk1C;
- red = ((temp_v1->red * temp_a2) + (temp_a1->red * arg0->unk1C)) / 256;
- green = ((temp_v1->green * temp_a2) + (temp_a1->green * arg0->unk1C)) / 256;
- blue = ((temp_v1->blue * temp_a2) + (temp_a1->blue * arg0->unk1C)) / 256;
- alpha = ((temp_v1->alpha * temp_a2) + (temp_a1->alpha * arg0->unk1C)) / 256;
+ temp_v1 = &D_800E74D0[arg0->param2];
+ temp_a1 = &D_800E74D0[(arg0->param2 + 1) % 3];
+ temp_a2 = 256 - arg0->param1;
+ red = ((temp_v1->red * temp_a2) + (temp_a1->red * arg0->param1)) / 256;
+ green = ((temp_v1->green * temp_a2) + (temp_a1->green * arg0->param1)) / 256;
+ blue = ((temp_v1->blue * temp_a2) + (temp_a1->blue * arg0->param1)) / 256;
+ alpha = ((temp_v1->alpha * temp_a2) + (temp_a1->alpha * arg0->param1)) / 256;
gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha);
- gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_02001FA4), arg0->column, arg0->row);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_02001FA4), arg0->column, arg0->row);
}
-void func_800A1924(struct_8018D9E0_entry* arg0) {
+// render course preview
+void render_menu_item_data_course_image(MenuItem* arg0) {
func_8009A76C(arg0->D_8018DEE0_index, 0x17, 0x84, -1);
if (func_800B639C(gTimeTrialDataCourseIndex) >= TIME_TRIAL_DATA_LUIGI_RACEWAY) {
gDisplayListHead = draw_flash_select_case_slow(gDisplayListHead, 0x57, 0x84, 0x96, 0x95);
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A0C, 0x57, 0x84);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004A0C, 0x57, 0x84);
}
+ // course minimap
//! @bug todo: This function will not work in custom courses.
func_8004EF9C(gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]);
do {
@@ -6825,38 +6829,43 @@ void func_800A1924(struct_8018D9E0_entry* arg0) {
} while (0);
}
-void func_800A1A20(struct_8018D9E0_entry* arg0) {
+void render_menu_item_data_course_info(MenuItem* arg0) {
s16 courseId;
s32 recordType;
s32 rowOffset;
courseId = gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4];
arg0->column = 0x14;
+ // name of the course
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
- draw_text(0x69, arg0->row + 0x19, CourseManager_GetProps()->Name, 0, 0.75f, 0.75f);
+ print_text1_center_mode_1(0x69, arg0->row + 0x19, CourseManager_GetProps()->Name, 0, 0.75f, 0.75f);
+
+ // distance
set_text_color(TEXT_RED);
- func_80093324(0x2D, arg0->row + 0x28, (char*) &D_800E77D8, 0, 0.75f, 0.75f);
- func_800936B8(0xA5, arg0->row + 0x28, CourseManager_GetProps()->CourseLength, 1, 0.75f, 0.75f);
+ print_text_mode_1(0x2D, arg0->row + 0x28, (char*) &gTextDistance, 0, 0.75f, 0.75f);
+ print_text1_left(0xA5, arg0->row + 0x28, CourseManager_GetProps()->CourseLength, 1, 0.75f, 0.75f);
+
+ // Best lap record
set_text_color(TEXT_YELLOW);
- func_80093324(0xA0, arg0->row + 0x86, D_800E7728[0], 0, 0.75f, 0.75f);
+ print_text_mode_1(0xA0, arg0->row + 0x86, gBestTimeText[0], 0, 0.75f, 0.75f);
// Print the 3 Lap Time Trial records
for (recordType = TIME_TRIAL_3LAP_RECORD_1, rowOffset = 0; recordType < TIME_TRIAL_1LAP_RECORD;
recordType++, rowOffset += 0xD) {
set_text_color(TEXT_RED);
- func_800A474C(recordType, 0x96, arg0->row + rowOffset + 0x92);
+ render_lap_times(recordType, 0x96, arg0->row + rowOffset + 0x92);
}
set_text_color(TEXT_YELLOW);
- func_80093324(0xA0, arg0->row + 0xD5, D_800E7728[1], 0, 0.75f, 0.75f);
- func_800A474C(TIME_TRIAL_1LAP_RECORD, 0x96, arg0->row + 0xE1);
+ print_text_mode_1(0xA0, arg0->row + 0xD5, gBestTimeText[1], 0, 0.75f, 0.75f);
+ render_lap_times(TIME_TRIAL_1LAP_RECORD, 0x96, arg0->row + 0xE1);
}
-void func_800A1BE0(struct_8018D9E0_entry* arg0) {
+void menu_item_data_course_selectable(MenuItem* arg0) {
UNUSED s32 stackPadding0;
UNUSED s32 stackPadding1;
UNUSED s32 stackPadding2;
UNUSED char* wut;
Unk_D_800E70A0 sp78;
- s32 var_s0;
+ s32 i;
s32 var_s1;
s32 var_s2;
UNUSED s32 thing;
@@ -6864,20 +6873,20 @@ void func_800A1BE0(struct_8018D9E0_entry* arg0) {
temp_s6 = &gSaveData.allCourseTimeTrialRecords.cupRecords[gTimeTrialDataCourseIndex / 4]
.courseRecords[gTimeTrialDataCourseIndex % 4];
- for (var_s0 = 0; var_s0 < 3; var_s0++) {
- wut = D_800E7834[var_s0];
+ for (i = 0; i < ARRAY_COUNT(gTextMenuOption); i++) {
+ wut = gTextMenuOption[i];
var_s1 = 0;
- if (var_s0 == gCourseRecordsMenuSelection) {
- var_s2 = 5;
+ if (i == gCourseRecordsMenuSelection) {
+ var_s2 = TEXT_BLUE_GREEN_RED_CYCLE_2;
} else {
- var_s2 = 1;
- switch (var_s0) { /* irregular */
- case 1:
+ var_s2 = TEXT_GREEN;
+ switch (i) { /* irregular */
+ case COURSE_RECORDS_MENU_ERASE_RECORDS:
if (temp_s6->unknownBytes[0] == 0) {
var_s1 = 1;
}
break;
- case 2:
+ case COURSE_RECORDS_MENU_ERASE_GHOST:
if (func_800B639C((s32) gTimeTrialDataCourseIndex) < 0) {
var_s1 = 1;
}
@@ -6885,12 +6894,12 @@ void func_800A1BE0(struct_8018D9E0_entry* arg0) {
}
}
if (var_s1 != 0) {
- set_text_color(0);
+ set_text_color(TEXT_BLUE);
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96);
- func_80093358(0x00000025, 0x3F + (0xD * var_s0), D_800E7834[var_s0], 0, 0.6f, 0.6f);
+ print_text_mode_2(0x00000025, 0x3F + (0xD * i), gTextMenuOption[i], 0, 0.6f, 0.6f);
} else {
set_text_color(var_s2);
- func_80093324(0x00000025, 0x3F + (0xD * var_s0), D_800E7834[var_s0], 0, 0.6f, 0.6f);
+ print_text_mode_1(0x00000025, 0x3F + (0xD * i), gTextMenuOption[i], 0, 0.6f, 0.6f);
}
}
sp78.column = 0x001F;
@@ -6898,7 +6907,7 @@ void func_800A1BE0(struct_8018D9E0_entry* arg0) {
func_800A66A8(arg0, (Unk_D_800E70A0*) &sp78);
}
-void func_800A1DE0(struct_8018D9E0_entry* arg0) {
+void func_800A1DE0(MenuItem* arg0) {
UNUSED s32 stackPadding0;
UNUSED s32 stackPadding1;
UNUSED s32 stackPadding2;
@@ -6909,154 +6918,144 @@ void func_800A1DE0(struct_8018D9E0_entry* arg0) {
s32 var_s1;
UNUSED char* wut;
- set_text_color(1);
+ set_text_color(TEXT_GREEN);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
// Removing `wut` introduces counter intuitive changes to how this loop is handled
- // Also, in a perfect world this would be `D_800E7848[gCourseRecordsMenuSelection - 1][var_s1]`
- wut = D_800E7848[(gCourseRecordsMenuSelection - 1) * 3 + var_s1];
- func_80093324(0x0000001B, 0x3C + (0xD * var_s1), D_800E7848[(gCourseRecordsMenuSelection - 1) * 3 + var_s1], 0,
+ // Also, in a perfect world this would be `gEraseBestGhostText[gCourseRecordsMenuSelection - 1][var_s1]`
+ wut = gEraseBestGhostText[(gCourseRecordsMenuSelection - 1) * 3 + var_s1];
+ print_text_mode_1(0x0000001B, 0x3C + (0xD * var_s1), gEraseBestGhostText[(gCourseRecordsMenuSelection - 1) * 3 + var_s1], 0,
0.65f, 0.65f);
}
for (var_s1 = 0; var_s1 < 2; var_s1++) {
wut = D_800E7840[var_s1];
- if (var_s1 == D_8018EDF9) {
+ if (var_s1 == gCourseRecordsSubMenuSelection) {
var_a0 = 5;
} else {
var_a0 = 1;
}
set_text_color(var_a0);
- func_80093324(0x00000043, 0x6E + (0xD * var_s1), D_800E7840[var_s1], 0, 0.65f, 0.65f);
+ print_text_mode_1(0x00000043, 0x6E + (0xD * var_s1), D_800E7840[var_s1], 0, 0.65f, 0.65f);
}
sp58.column = 0x003B;
- sp58.row = (D_8018EDF9 * 0xD) + 0x66;
+ sp58.row = (gCourseRecordsSubMenuSelection * 0xD) + 0x66;
func_800A66A8(arg0, &sp58);
}
-void func_800A1F30(UNUSED struct_8018D9E0_entry* unused) {
+void func_800A1F30(UNUSED MenuItem* unused) {
s32 row;
s32 text;
set_text_color(TEXT_RED);
for (row = 0x49, text = 0; row < 0x69; row += 0x10, text++) {
- func_80093324(0x2A, row, D_800E7860[text], 0, 0.75f, 0.75f);
+ print_text_mode_1(0x2A, row, D_800E7860[text], 0, 0.75f, 0.75f);
}
}
#ifdef NON_MATCHING
// Register allocation stuff, minor stack diffs
-void func_800A1FB0(struct_8018D9E0_entry* arg0) {
+void func_800A1FB0(MenuItem* arg0) {
Unk_D_800E70A0 spE0;
- UNUSED s32 stackPadding0;
- UNUSED s32 stackPadding1;
- UNUSED s32 stackPadding2;
- UNUSED s32 stackPadding3;
- UNUSED s32 stackPadding4;
- UNUSED s32 stackPadding5;
+ s32 i;
s32 var_s5;
s32 var_s4;
- UNUSED s32 stackPadding6;
char spB8[3];
- UNUSED s32 stackPadding7;
- UNUSED s32 stackPadding8;
s32 var_s1;
char spA8[3];
s32 var_s2;
- UNUSED s32 temp_v0;
- UNUSED s32 stackPadding9;
char sp98[3];
struct_8018EE10_entry* var_v1;
gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x00000140, 0x000000F0, 0, 0, 0, 0x00000064);
- switch (D_8018EDEC) { /* switch 1 */
- case 0x15: /* switch 1 */
- case 0x16: /* switch 1 */
- case 0x17: /* switch 1 */
- case 0x18: /* switch 1 */
- for (stackPadding0 = 0; stackPadding0 < 4; stackPadding0++) {
- set_text_color_rainbow_if_selected(D_8018EDEC - 0x15, stackPadding0, 3);
- func_80093324(0x00000032, 0x55 + (0x23 * stackPadding0), D_800E7868[stackPadding0], 0, 0.9f, 1.0f);
- if (stackPadding0 == (D_8018EDEC - 0x15)) {
+ switch (gSubMenuSelection) {
+ case SUB_MENU_OPTION_RETURN_GAME_SELECT:
+ case SUB_MENU_OPTION_SOUND_MODE:
+ case SUB_MENU_OPTION_COPY_CONTROLLER_PAK:
+ case SUB_MENU_OPTION_ERASE_ALL_DATA:
+ for (i = 0; i < ARRAY_COUNT(gTextOptionMenu); i++) {
+ set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_OPTION_MIN, i, 3);
+ print_text_mode_1(0x00000032, 0x55 + (0x23 * i), gTextOptionMenu[i], 0, 0.9f, 1.0f);
+ if (i == (gSubMenuSelection - SUB_MENU_OPTION_MIN)) {
spE0.column = 0x0032;
- spE0.row = 0x55 + (0x23 * stackPadding0);
+ spE0.row = 0x55 + (0x23 * i);
}
}
- set_text_color(1);
- draw_text(0x000000E6, 0x00000078, gSoundModeNames[gSoundMode], 0, 1.0f, 1.0f);
+ set_text_color(TEXT_GREEN);
+ print_text1_center_mode_1(0x000000E6, 0x00000078, gSoundModeNames[gSoundMode], 0, 1.0f, 1.0f);
break;
- case 0x1E: /* switch 1 */
- case 0x1F: /* switch 1 */
- set_text_color(3);
- for (stackPadding0 = 0; stackPadding0 < 3; stackPadding0++) {
- func_80093324(0x00000028, 0x55 + (0x14 * stackPadding0), D_800E7878[stackPadding0], 0, 1.0f, 1.0f);
+ case SUB_MENU_ERASE_QUIT:
+ case SUB_MENU_ERASE_ERASE:
+ set_text_color(TEXT_YELLOW);
+ for (i = 0; i < ARRAY_COUNT(D_800E7878); i++) {
+ print_text_mode_1(0x00000028, 0x55 + (0x14 * i), D_800E7878[i], 0, 1.0f, 1.0f);
}
- for (stackPadding0 = 0; stackPadding0 < 2; stackPadding0++) {
- set_text_color_rainbow_if_selected(D_8018EDEC - 0x1E, stackPadding0, 1);
- func_80093324(0x00000084, 0x96 + (0x19 * stackPadding0), D_800E7840[stackPadding0], 0, 1.0f, 1.0f);
- if (stackPadding0 == (D_8018EDEC - 0x1E)) {
+ for (i = 0; i < ARRAY_COUNT(D_800E7840); i++) {
+ set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_ERASE_MIN, i, 1);
+ print_text_mode_1(0x00000084, 0x96 + (0x19 * i), D_800E7840[i], 0, 1.0f, 1.0f);
+ if (i == (gSubMenuSelection - SUB_MENU_ERASE_MIN)) {
spE0.column = 0x0084;
- spE0.row = 0x96 + (0x19 * stackPadding0);
+ spE0.row = 0x96 + (0x19 * i);
}
}
break;
- case 0x20: /* switch 1 */
- set_text_color(3);
- for (stackPadding0 = 0; stackPadding0 < 3; stackPadding0++) {
- func_80093324(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E7884[stackPadding0], 0, 1.0f, 1.0f);
+ case SUB_MENU_SAVE_DATA_ERASED:
+ set_text_color(TEXT_YELLOW);
+ for (i = 0; i < ARRAY_COUNT(D_800E7884); i++) {
+ print_text_mode_1(0x00000032, 0x55 + (0x14 * i), D_800E7884[i], 0, 1.0f, 1.0f);
}
break;
- case 0x2A: /* switch 1 */
- case 0x2B: /* switch 1 */
- case 0x2C: /* switch 1 */
- case 0x2D: /* switch 1 */
- set_text_color(2);
- var_s1 = D_8018EDEC - 0x2A;
- for (stackPadding0 = 0; stackPadding0 < 3; stackPadding0++) {
- func_80093324(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E78D0[(var_s1 * 3) + stackPadding0], 0,
+ case SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA:
+ case SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA:
+ case SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P:
+ case SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P:
+ set_text_color(TEXT_RED);
+ var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_ERROR_2P_MIN;
+ for (i = 0; i < ARRAY_COUNT(D_800E78D0) / 4; i++) {
+ print_text_mode_1(0x00000032, 0x55 + (0x14 * i), D_800E78D0[(var_s1 * 3) + i], 0,
0.9f, 0.9f);
}
break;
- case 0x34: /* switch 1 */
- case 0x35: /* switch 1 */
- case 0x36: /* switch 1 */
- case 0x37: /* switch 1 */
- set_text_color(2);
- var_s1 = D_8018EDEC - 0x34;
- for (stackPadding0 = 0; stackPadding0 < 4; stackPadding0++) {
- func_80093324(0x00000023, 0x55 + (0x14 * stackPadding0), D_800E7890[(var_s1 * 4) + stackPadding0], 0,
+ case SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P:
+ case SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P:
+ case SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P:
+ case SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P:
+ set_text_color(TEXT_RED);
+ var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_ERROR_1P_MIN;
+ for (i = 0; i < ARRAY_COUNT(D_800E7890) / 4; i++) {
+ print_text_mode_1(0x00000023, 0x55 + (0x14 * i), D_800E7890[(var_s1 * 4) + i], 0,
0.8f, 0.8f);
}
break;
- case 0x41: /* switch 1 */
- case 0x42: /* switch 1 */
- set_text_color(2);
- var_s1 = D_8018EDEC - 0x41;
- for (stackPadding0 = 0; stackPadding0 < 3; stackPadding0++) {
- func_80093324(0x00000041, 0x55 + (0x14 * stackPadding0), D_800E7900[(var_s1 * 3) + stackPadding0], 0,
+ case SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P:
+ case SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P:
+ set_text_color(TEXT_RED);
+ var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN;
+ for (i = 0; i < ARRAY_COUNT(D_800E7900) / 2; i++) {
+ print_text_mode_1(0x00000041, 0x55 + (0x14 * i), D_800E7900[(var_s1 * 3) + i], 0,
0.9f, 0.9f);
}
break;
- case 0x46: /* switch 1 */
- case 0x47: /* switch 1 */
- set_text_color(3);
- for (stackPadding0 = 0; stackPadding0 < 3; stackPadding0++) {
- func_80093324(0x00000050, 0x55 + (0x14 * stackPadding0), D_800E7A48[stackPadding0], 0, 1.0f, 1.0f);
+ case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT:
+ case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE:
+ set_text_color(TEXT_YELLOW);
+ for (i = 0; i < ARRAY_COUNT(D_800E7A48); i++) {
+ print_text_mode_1(0x00000050, 0x55 + (0x14 * i), D_800E7A48[i], 0, 1.0f, 1.0f);
}
break;
- case 0x28: /* switch 1 */
- case 0x29: /* switch 1 */
- case 0x32: /* switch 1 */
- case 0x33: /* switch 1 */
- switch (D_8018EDEC) {
- case 0x28:
- case 0x29:
- var_s5 = 0x28;
+ case SUB_MENU_COPY_PAK_FROM_GHOST1_1P:
+ case SUB_MENU_COPY_PAK_FROM_GHOST2_1P:
+ case SUB_MENU_COPY_PAK_TO_GHOST1_2P:
+ case SUB_MENU_COPY_PAK_TO_GHOST2_2P:
+ switch (gSubMenuSelection) {
+ case SUB_MENU_COPY_PAK_FROM_GHOST1_1P:
+ case SUB_MENU_COPY_PAK_FROM_GHOST2_1P:
+ var_s5 = SUB_MENU_COPY_PAK_FROM_GHOST_MIN;
var_s4 = 0;
break;
- case 0x32:
- case 0x33:
- var_s5 = 0x32;
+ case SUB_MENU_COPY_PAK_TO_GHOST1_2P:
+ case SUB_MENU_COPY_PAK_TO_GHOST2_2P:
+ var_s5 = SUB_MENU_COPY_PAK_TO_GHOST_MIN;
var_s4 = 1;
default:
// var_s5 = spC4;
@@ -7064,33 +7063,33 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) {
break;
}
set_text_color(var_s4 + 1);
- draw_text(0x000000A0, 0x00000055, D_800E7920[var_s4], 0, 0.6f, 0.6f);
- for (var_s1 = 0; var_s1 < 2; var_s1++) {
- set_text_color(3);
- draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f);
+ print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7920[var_s4], 0, 0.6f, 0.6f);
+ for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) {
+ set_text_color(TEXT_YELLOW);
+ print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f);
for (var_s2 = 0; var_s2 < 2; var_s2++) {
if (var_s1 != var_s4) {
- text_rainbow_effect(D_8018EDEC - var_s5, var_s2, TEXT_GREEN);
- if (var_s2 == (D_8018EDEC - var_s5)) {
+ text_rainbow_effect(gSubMenuSelection - var_s5, var_s2, TEXT_GREEN);
+ if (var_s2 == (gSubMenuSelection - var_s5)) {
spE0.column = 0x20 + (0x89 * var_s1);
spE0.row = 0x96 + (0x1E * var_s2);
}
- } else if ((var_s4 != 0) && (var_s2 == arg0->unk20)) {
+ } else if ((var_s4 != 0) && (var_s2 == arg0->param2)) {
set_text_color((s32) gGlobalTimer % 3);
} else {
- set_text_color(1);
+ set_text_color(TEXT_GREEN);
}
convert_number_to_ascii(var_s2 + 1, &spB8[0]);
- func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spB8[1], 0, 0.6f, 0.6f);
+ print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spB8[1], 0, 0.6f, 0.6f);
if (var_s1 == 0) {
var_v1 = &D_8018EE10[var_s2];
} else {
- var_v1 = &((struct_8018EE10_entry*) D_8018D9C0)[var_s2];
+ var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2];
}
if (var_v1->ghostDataSaved == 0) {
- func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
+ print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
} else {
- func_80093324(
+ print_text_mode_1(
0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2),
CourseManager_GetProps()->Name, 0,
0.5f, 0.5f);
@@ -7098,38 +7097,38 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) {
}
}
break;
- case 0x38: /* switch 1 */
- case 0x39: /* switch 1 */
- set_text_color(2);
- for (var_s1 = 0; var_s1 < 2; var_s1++) {
- draw_text(0x000000A0, 0x4D + (0x14 * var_s1), D_800E7928[var_s1], 0, 0.8f, 0.8f);
+ case SUB_MENU_COPY_PAK_PROMPT_QUIT:
+ case SUB_MENU_COPY_PAK_PROMPT_COPY:
+ set_text_color(TEXT_RED);
+ for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7928); var_s1++) {
+ print_text1_center_mode_1(0x000000A0, 0x4D + (0x14 * var_s1), D_800E7928[var_s1], 0, 0.8f, 0.8f);
}
- for (var_s1 = 0; var_s1 < 2; var_s1++) {
- set_text_color(3);
- draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f);
+ for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) {
+ set_text_color(TEXT_YELLOW);
+ print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f);
for (var_s2 = 0; var_s2 != 2; var_s2++) {
if (var_s1 == 0) {
- if (var_s2 == arg0->unk1C) {
+ if (var_s2 == arg0->param1) {
set_text_color((s32) gGlobalTimer % 3);
} else {
- set_text_color(1);
+ set_text_color(TEXT_GREEN);
}
- } else if (var_s2 == arg0->unk20) {
+ } else if (var_s2 == arg0->param2) {
set_text_color((s32) gGlobalTimer % 3);
} else {
- set_text_color(1);
+ set_text_color(TEXT_GREEN);
}
convert_number_to_ascii(var_s2 + 1, &spA8[0]);
- func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spA8[1], 0, 0.6f, 0.6f);
+ print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spA8[1], 0, 0.6f, 0.6f);
if (var_s1 == 0) {
var_v1 = &D_8018EE10[var_s2];
} else {
- var_v1 = &((struct_8018EE10_entry*) D_8018D9C0)[var_s2];
+ var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2];
}
if (var_v1->ghostDataSaved == 0) {
- func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
+ print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
} else {
- func_80093324(
+ print_text_mode_1(
0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2),
CourseManager_GetProps()->Name, 0,
0.5f, 0.5f);
@@ -7137,51 +7136,51 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) {
}
}
// Register allocation diffs here
- for (var_s2 = 0; var_s2 < 2; var_s2++) {
- if (var_s2 == (D_8018EDEC - 0x38)) {
+ for (var_s2 = 0; var_s2 < ARRAY_COUNT(D_800E7930); var_s2++) {
+ if (var_s2 == (gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN)) {
spE0.column = 0x6E + (0x32 * var_s2);
spE0.row = 0x00D2;
}
- text_rainbow_effect((D_8018EDEC - 0x38), var_s2, TEXT_YELLOW);
- func_80093324(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f);
+ text_rainbow_effect((gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN), var_s2, TEXT_YELLOW);
+ print_text_mode_1(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f);
}
break;
- case 0x3A: /* switch 1 */
- case 0x3B: /* switch 1 */
- case 0x3C: /* switch 1 */
- var_s5 = (D_8018EDEC - 0x3A) / 2;
- set_text_color(2);
- draw_text(0x000000A0, 0x00000055, D_800E7938[var_s5], 0, 1.0f, 1.0f);
- for (var_s1 = 0; var_s1 < 2; var_s1++) {
- set_text_color(3);
- draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f);
+ case SUB_MENU_COPY_PAK_START:
+ case SUB_MENU_COPY_PAK_COPYING:
+ case SUB_MENU_COPY_PAK_COMPLETED:
+ var_s5 = (gSubMenuSelection - SUB_MENU_COPY_PAK_ACTION_MIN) / 2;
+ set_text_color(TEXT_RED);
+ print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7938[var_s5], 0, 1.0f, 1.0f);
+ for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) {
+ set_text_color(TEXT_YELLOW);
+ print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f);
for (var_s2 = 0; var_s2 < 2; var_s2++) {
if (var_s1 == 0) {
- if (var_s2 == arg0->unk1C) {
+ if (var_s2 == arg0->param1) {
if (var_s5 == 0) {
- set_text_color(2);
+ set_text_color(TEXT_RED);
} else {
set_text_color(gGlobalTimer % 3);
}
} else {
- set_text_color(1);
+ set_text_color(TEXT_GREEN);
}
- } else if (var_s2 == arg0->unk20) {
- set_text_color(2);
+ } else if (var_s2 == arg0->param2) {
+ set_text_color(TEXT_RED);
} else {
- set_text_color(1);
+ set_text_color(TEXT_GREEN);
}
convert_number_to_ascii(var_s2 + 1, &sp98[0]);
- func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &sp98[1], 0, 0.6f, 0.6f);
+ print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &sp98[1], 0, 0.6f, 0.6f);
if (var_s1 == 0) {
var_v1 = &D_8018EE10[var_s2];
} else {
- var_v1 = &((struct_8018EE10_entry*) D_8018D9C0)[var_s2];
+ var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2];
}
if (var_v1->ghostDataSaved == 0) {
- func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
+ print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
} else {
- func_80093324(
+ print_text_mode_1(
0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2),
CourseManager_GetProps()->Name, 0,
0.5f, 0.5f);
@@ -7190,17 +7189,17 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) {
}
break;
}
- switch (D_8018EDEC) { /* switch 2 */
- case 0x28: /* switch 2 */
- case 0x29: /* switch 2 */
- case 0x32: /* switch 2 */
- case 0x33: /* switch 2 */
- case 0x38: /* switch 2 */
- case 0x39: /* switch 2 */
+ switch (gSubMenuSelection) {
+ case SUB_MENU_COPY_PAK_FROM_GHOST1_1P:
+ case SUB_MENU_COPY_PAK_FROM_GHOST2_1P:
+ case SUB_MENU_COPY_PAK_TO_GHOST1_2P:
+ case SUB_MENU_COPY_PAK_TO_GHOST2_2P:
+ case SUB_MENU_COPY_PAK_PROMPT_QUIT:
+ case SUB_MENU_COPY_PAK_PROMPT_COPY:
spE0.column -= 5;
spE0.row -= 6;
break;
- default: /* switch 2 */
+ default:
spE0.column -= 0xA;
spE0.row -= 8;
break;
@@ -7208,33 +7207,33 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) {
func_800A66A8(arg0, (Unk_D_800E70A0*) &spE0);
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1FB0.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_800A1FB0.s")
#endif
-void func_800A2D1C(struct_8018D9E0_entry* arg0) {
+void func_800A2D1C(MenuItem* arg0) {
switch (D_80164A28) {
case 1:
gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0, 0x13F, 0x28);
gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0xC7, 0x13F, 0xEF);
- arg0->unk1C = 0x28;
+ arg0->param1 = 0x28;
break;
case 2:
- arg0->unk1C -= 2;
- if (arg0->unk1C > 0) {
- gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0, 0x13F, arg0->unk1C);
- gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0xEF - arg0->unk1C, 0x13F, 0xEF);
+ arg0->param1 -= 2;
+ if (arg0->param1 > 0) {
+ gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0, 0x13F, arg0->param1);
+ gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0xEF - arg0->param1, 0x13F, 0xEF);
} else {
arg0->type = 0;
}
break;
default:
- if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1) || (D_8018EE08 != 0)) {
+ if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1) || (gDemoUseController != 0)) {
arg0->type = 0;
} else {
- arg0->unk1C -= 2;
- if (arg0->unk1C > 0) {
- gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0, 0x13F, arg0->unk1C);
- gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0xEF - arg0->unk1C, 0x13F, 0xEF);
+ arg0->param1 -= 2;
+ if (arg0->param1 > 0) {
+ gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0, 0x13F, arg0->param1);
+ gDisplayListHead = func_80098FC8_wide(gDisplayListHead, 0, 0xEF - arg0->param1, 0x13F, 0xEF);
} else {
arg0->type = 0;
}
@@ -7243,7 +7242,7 @@ void func_800A2D1C(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A2EB8(struct_8018D9E0_entry* arg0) {
+void func_800A2EB8(MenuItem* arg0) {
s8 sp70[8];
UNUSED s32 stackPadding0;
char sp68[3];
@@ -7255,11 +7254,11 @@ void func_800A2EB8(struct_8018D9E0_entry* arg0) {
sp70[var_s2] = gPlayers[gGPCurrentRacePlayerIdByRank[var_s2]].characterId;
}
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
- func_80093324(arg0->column + 0x1E, arg0->row + 0x19, "results", 0, 1.0f, 1.0f);
+ print_text_mode_1(arg0->column + 0x1E, arg0->row + 0x19, "results", 0, 1.0f, 1.0f);
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
- func_80093324(arg0->column + 0x2C, arg0->row + 0x28, "round", 0, 0.7f, 0.7f);
+ print_text_mode_1(arg0->column + 0x2C, arg0->row + 0x28, "round", 0, 0.7f, 0.7f);
convert_number_to_ascii(GetCupCursorPosition() + 1, sp68);
- func_80093324(arg0->column + 0x57, arg0->row + 0x28, &sp68[1], 0, 0.7f, 0.7f);
+ print_text_mode_1(arg0->column + 0x57, arg0->row + 0x28, &sp68[1], 0, 0.7f, 0.7f);
for (var_s2 = 0; var_s2 < 4; var_s2++) {
if (gGPCurrentRacePlayerIdByRank[var_s2] < gPlayerCount) {
var_a0 = (s32) gGlobalTimer % 3;
@@ -7281,10 +7280,10 @@ void func_800A2EB8(struct_8018D9E0_entry* arg0) {
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
temp_s0 = (s32) (((f32) (get_string_width(GetCupName()) + 8) * 0.6f) /
2); // gCupNames[GetCupIndex()]) + 8) * 0.6f) / 2);
- draw_text((-(s32) (((f32) (get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xF5,
+ print_text1_center_mode_1((-(s32) (((f32) (get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xF5,
arg0->row + 0xE1, gCupNames[D_800DC540], 0, 0.6f, 0.6f);
- draw_text((temp_s0 - arg0->column) + 0xF5, arg0->row + 0xE1,
- D_800E76CC[D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]], 0, 0.6f, 0.6f);
+ print_text1_center_mode_1((temp_s0 - arg0->column) + 0xF5, arg0->row + 0xE1,
+ D_800E76CC[gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]], 0, 0.6f, 0.6f);
}
void func_800A32B4(s32 arg0, s32 arg1, s32 characterId, s32 rank) {
@@ -7301,18 +7300,18 @@ void func_800A32B4(s32 arg0, s32 arg1, s32 characterId, s32 rank) {
sp3C[2] = '.';
sp3C[3] = '\0';
func_800939C8(arg0 - 1, arg1, &sp3C[1], -4, 0.7f, 0.7f);
- func_80093324(arg0 + 0xA, arg1, D_800E76A8[characterId], 0, 0.65f, 0.7f);
+ print_text_mode_1(arg0 + 0xA, arg1, D_800E76A8[characterId], 0, 0.65f, 0.7f);
convert_number_to_ascii((s32) (sp50 / 60.0f), sp3C);
func_800939C8(arg0 + 0x42, arg1, sp3C, 0, 0.7f, 0.7f);
convert_number_to_ascii((s32) sp50 % 60, sp3C);
- func_80093324(arg0 + 0x4E, arg1, "'", 0, 0.7f, 0.7f);
+ print_text_mode_1(arg0 + 0x4E, arg1, "'", 0, 0.7f, 0.7f);
func_800939C8(arg0 + 0x56, arg1, sp3C, 0, 0.7f, 0.7f);
convert_number_to_ascii((s32) ((f64) sp50 * 100.0) % 100, sp3C);
- func_80093324(arg0 + 0x62, arg1, "\"", 0, 0.7f, 0.7f);
+ print_text_mode_1(arg0 + 0x62, arg1, "\"", 0, 0.7f, 0.7f);
func_800939C8(arg0 + 0x6A, arg1, sp3C, 0, 0.7f, 0.7f);
}
-void func_800A34A8(struct_8018D9E0_entry* arg0) {
+void func_800A34A8(MenuItem* arg0) {
s8 sp80[8];
UNUSED s32 stackPadding0;
char sp78[3];
@@ -7325,34 +7324,34 @@ void func_800A34A8(struct_8018D9E0_entry* arg0) {
s32 rank;
s32 test;
- if (arg0->cursor != 0) {
- if (arg0->cursor < 9) {
- for (rank = 0; rank < 8; rank++) {
+ if (arg0->state != 0) {
+ if (arg0->state < 9) {
+ for (rank = 0; rank < NUM_PLAYERS; rank++) {
sp80[rank] = gPlayers[gGPCurrentRacePlayerIdByRank[rank]].characterId;
}
} else {
func_800A3A10(sp80);
func_800A3A10(gCharacterIdByGPOverallRank);
}
- set_text_color(4);
- func_80093324(arg0->column + 0x19, 0x19 - arg0->row, "driver's points", 0, 0.8f, 0.8f);
- set_text_color(5);
- func_80093324(arg0->column + 0x36, 0x28 - arg0->row, "round", 0, 0.7f, 0.7f);
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
+ print_text_mode_1(arg0->column + 0x19, 0x19 - arg0->row, "driver's points", 0, 0.8f, 0.8f);
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
+ print_text_mode_1(arg0->column + 0x36, 0x28 - arg0->row, "round", 0, 0.7f, 0.7f);
convert_number_to_ascii(GetCupCursorPosition() + 1, sp78);
- func_80093324(arg0->column + 0x61, (0x28 & 0xFFFFFFFF) - arg0->row, &sp78[1], 0, 0.7f, 0.7f);
+ print_text_mode_1(arg0->column + 0x61, (0x28 & 0xFFFFFFFF) - arg0->row, &sp78[1], 0, 0.7f, 0.7f);
for (rank = 0; rank < 4; rank++) {
- test = arg0->cursor;
+ test = arg0->state;
if ((test != 8) && (test != 9)) {
var_v0 = 0;
} else {
- if ((rank * 5) < arg0->unk1C) {
+ if ((rank * 5) < arg0->param1) {
var_v0 = 1;
} else {
var_v0 = 0;
}
}
if (var_v0 == 0) {
- if (arg0->cursor < 9) {
+ if (arg0->state < 9) {
var_v0 = gGPCurrentRacePlayerIdByRank[rank];
var_v1 = 0;
} else {
@@ -7370,18 +7369,18 @@ void func_800A34A8(struct_8018D9E0_entry* arg0) {
}
}
for (rank = 4; rank < NUM_PLAYERS; rank++) {
- test = arg0->cursor;
+ test = arg0->state;
if ((test != 8) && (test != 9)) {
var_v0 = 0;
} else {
- if ((rank * 5) < arg0->unk1C) {
+ if ((rank * 5) < arg0->param1) {
var_v0 = 1;
} else {
var_v0 = 0;
}
}
if (var_v0 == 0) {
- if (arg0->cursor < 9) {
+ if (arg0->state < 9) {
var_v0 = gGPCurrentRacePlayerIdByRank[rank];
} else {
var_v0 = D_80164478[sp80[rank]];
@@ -7395,12 +7394,12 @@ void func_800A34A8(struct_8018D9E0_entry* arg0) {
func_800A3ADC(arg0, 0xBE - arg0->column, arg0->row + (rank * 0x10) + 0x5A, sp80[rank], rank, sp80);
}
}
- set_text_color(5);
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
temp_s0_3 = ((get_string_width(gCupNames[GetCupIndex()]) + 8) * 0.6f) / 2;
- draw_text((-(s32) (((get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xE6,
+ print_text1_center_mode_1((-(s32) (((get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xE6,
arg0->row + 0xE1, gCupNames[D_800DC540], 0, 0.6f, 0.6f);
- draw_text((temp_s0_3 - arg0->column) + 0xE6, arg0->row + 0xE1,
- D_800E76CC[D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]], 0, 0.6f, 0.6f);
+ print_text1_center_mode_1((temp_s0_3 - arg0->column) + 0xE6, arg0->row + 0xE1,
+ D_800E76CC[gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]], 0, 0.6f, 0.6f);
}
}
@@ -7436,13 +7435,13 @@ void func_800A3A10(s8* arg0) {
}
}
-void func_800A3ADC(struct_8018D9E0_entry* arg0, s32 arg1, s32 arg2, s32 characterId, s32 arg4, s8* arg5) {
+void func_800A3ADC(MenuItem* arg0, s32 arg1, s32 arg2, s32 characterId, s32 arg4, s8* arg5) {
UNUSED s32 stackPadding0;
s32 wut;
char sp34[4];
s32 phi_v1;
- if (arg0->cursor < 9) {
+ if (arg0->state < 9) {
convert_number_to_ascii(arg4 + 1, sp34);
} else {
for (phi_v1 = arg4; phi_v1 > 0; phi_v1--) {
@@ -7456,39 +7455,39 @@ void func_800A3ADC(struct_8018D9E0_entry* arg0, s32 arg1, s32 arg2, s32 characte
sp34[2] = '.';
sp34[3] = '\0';
func_800939C8(arg1, arg2, &sp34[1], -4, 0.7f, 0.7f);
- func_80093324(arg1 + 0xA, arg2, D_800E76A8[characterId], 0, 0.7f, 0.7f);
+ print_text_mode_1(arg1 + 0xA, arg2, D_800E76A8[characterId], 0, 0.7f, 0.7f);
convert_number_to_ascii(gGPPointsByCharacterId[characterId], sp34);
func_800939C8(arg1 + 0x47, arg2, sp34, 0, 0.7f, 0.7f);
- if ((arg4 < 4) && (arg0->cursor < 9)) {
- convert_number_to_ascii(D_8018D9BC[arg4], sp34);
+ if ((arg4 < ARRAY_COUNT(gGPPointRewards)) && (arg0->state < 9)) {
+ convert_number_to_ascii(sGPPointsCopy[arg4], sp34);
sp34[0] = '+';
- func_80093324(arg1 + 0x5A, arg2, sp34, 0, 0.7f, 0.7f);
+ print_text_mode_1(arg1 + 0x5A, arg2, sp34, 0, 0.7f, 0.7f);
}
}
-void func_800A3C84(struct_8018D9E0_entry* arg0) {
+void time_trials_finish_text_render(MenuItem* arg0) {
s32 recordType;
s32 rowOffset;
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
- draw_text(arg0->column + 0x43, arg0->row + 0x19, CourseManager_GetProps()->Name, 0, 0.6f, 0.6f);
+ print_text1_center_mode_1(arg0->column + 0x43, arg0->row + 0x19, CourseManager_GetProps()->Name, 0, 0.6f, 0.6f);
set_text_color(TEXT_YELLOW);
- draw_text(arg0->column + 0x46, arg0->row + 0x28, D_800E7730, 0, 0.75f, 0.75f);
+ print_text1_center_mode_1(arg0->column + 0x46, arg0->row + 0x28, gLapTimeText, 0, 0.75f, 0.75f);
for (recordType = 0, rowOffset = 0; recordType < TIME_TRIAL_3LAP_RECORD_5; recordType += 1, rowOffset += 0xF) {
- func_800A4550(recordType, arg0->column + 0x17, arg0->row + rowOffset + 0x37);
+ render_lap_time(recordType, arg0->column + 0x17, arg0->row + rowOffset + 0x37);
}
set_text_color(TEXT_YELLOW);
- func_80093324(0xB4 - arg0->column, arg0->row + 0x86, D_800E7728[0], 0, 0.75f, 0.75f);
+ print_text_mode_1(0xB4 - arg0->column, arg0->row + 0x86, gBestTimeText[0], 0, 0.75f, 0.75f);
for (recordType = 0, rowOffset = 0; recordType < TIME_TRIAL_1LAP_RECORD; recordType += 1, rowOffset += 0xD) {
set_text_color(TEXT_RED);
- func_800A474C(recordType, 0xAA - arg0->column, arg0->row + rowOffset + 0x92);
+ render_lap_times(recordType, 0xAA - arg0->column, arg0->row + rowOffset + 0x92);
}
set_text_color(TEXT_YELLOW);
- func_80093324(0xB4 - arg0->column, arg0->row + 0xD5, D_800E7728[1], 0, 0.75f, 0.75f);
- func_800A474C(TIME_TRIAL_1LAP_RECORD, 0xAA - arg0->column, arg0->row + 0xE1);
+ print_text_mode_1(0xB4 - arg0->column, arg0->row + 0xD5, gBestTimeText[1], 0, 0.75f, 0.75f);
+ render_lap_times(TIME_TRIAL_1LAP_RECORD, 0xAA - arg0->column, arg0->row + 0xE1);
}
-void func_800A3E60(struct_8018D9E0_entry* arg0) {
+void func_800A3E60(MenuItem* arg0) {
UNUSED s32 stackPadding0;
Unk_D_800E70A0 sp84;
UNUSED s32 stackPadding1;
@@ -7501,7 +7500,7 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) {
Unk_D_800E70A0* var_v0_5;
char sp60[3];
- var_v0 = arg0->cursor;
+ var_v0 = arg0->state;
if (var_v0 == 0) {
return;
}
@@ -7509,26 +7508,26 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) {
return;
}
- set_text_color(4);
- draw_text(arg0->column + 0x55, 0x19 - arg0->row,
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
+ print_text1_center_mode_1(arg0->column + 0x55, 0x19 - arg0->row,
CourseManager_GetProps()->Name, 0, 0.6f, 0.6f);
- set_text_color(3);
- draw_text(arg0->column + 0x55, 0x28 - arg0->row, D_800E7730, 0, 0.75f, 0.75f);
+ set_text_color(TEXT_YELLOW);
+ print_text1_center_mode_1(arg0->column + 0x55, 0x28 - arg0->row, gLapTimeText, 0, 0.75f, 0.75f);
for (var_s1 = 0; var_s1 < 4; var_s1++) {
- func_800A4550(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37);
- }
- switch (arg0->cursor) { /* switch 1 */
- case 1: /* switch 1 */
- case 5: /* switch 1 */
- case 6: /* switch 1 */
- case 7: /* switch 1 */
- case 8: /* switch 1 */
- case 9: /* switch 1 */
- case 10: /* switch 1 */
- case 30: /* switch 1 */
+ render_lap_time(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37);
+ }
+ switch (arg0->state) {
+ case 1:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 30:
for (var_s1 = 0; var_s1 < 6; var_s1++) {
var_v1 = 0;
- text_rainbow_effect(arg0->cursor - 5, var_s1, 1);
+ text_rainbow_effect(arg0->state - 5, var_s1, 1);
switch (var_s1) { /* switch 3; irregular */
case 4: /* switch 3 */
if (D_80162DF8 == 1) {
@@ -7542,97 +7541,97 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) {
break;
}
if (var_v1 != 0) {
- set_text_color(0);
+ set_text_color(TEXT_BLUE);
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96);
- func_80093358(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1],
+ print_text_mode_2(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1],
0, 0.75f, 0.75f);
} else {
- func_80093324(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1],
+ print_text_mode_1(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1],
0, 0.75f, 0.75f);
}
}
break;
- case 11: /* switch 1 */
- case 12: /* switch 1 */
- case 13: /* switch 1 */
- case 14: /* switch 1 */
- case 15: /* switch 1 */
- case 16: /* switch 1 */
- set_text_color(3);
- var_v1 = arg0->cursor - 11;
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ set_text_color(TEXT_YELLOW);
+ var_v1 = arg0->state - 11;
for (var_s1 = 0; var_s1 < 7; var_s1++) {
- func_80093324(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f);
+ print_text_mode_1(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f);
}
break;
- case 17: /* switch 1 */
- case 18: /* switch 1 */
- set_text_color(1);
+ case 17:
+ case 18:
+ set_text_color(TEXT_GREEN);
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- func_80093324(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f);
+ print_text_mode_1(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f);
}
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- text_rainbow_effect(arg0->cursor - 0x11, var_s1, 1);
+ text_rainbow_effect(arg0->state - 0x11, var_s1, 1);
convert_number_to_ascii(var_s1 + 1, sp60);
- func_80093324(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f);
+ print_text_mode_1(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f);
if (D_8018EE10[var_s1].ghostDataSaved == 0) {
- func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f);
+ print_text_mode_1(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f);
} else {
- func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1),
+ print_text_mode_1(0xBB - arg0->column, 0xAA + (0x1E * var_s1),
CourseManager_GetProps()->Name,
0, 0.45f, 0.45f);
}
}
break;
- case 19: /* switch 1 */
- set_text_color(3);
+ case 19:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
- func_80093324(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A48[var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A48[var_s1], 0, 0.8f, 0.8f);
}
break;
- case 20: /* switch 1 */
- case 21: /* switch 1 */
+ case 20:
+ case 21:
if (var_s1 && var_s1) {}
- set_text_color(3);
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
- func_80093324(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f);
+ print_text_mode_1(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f);
}
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- text_rainbow_effect(arg0->cursor - 0x14, var_s1, 1);
- func_80093324(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f);
+ text_rainbow_effect(arg0->state - 0x14, var_s1, 1);
+ print_text_mode_1(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f);
}
break;
- case 25: /* switch 1 */
- set_text_color(3);
+ case 25:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
- func_80093324(0x000000A3, (0xD * var_s1) + 0x93, D_800E7A74[var_s1], 0, 0.67f, 0.67f);
+ print_text_mode_1(0x000000A3, (0xD * var_s1) + 0x93, D_800E7A74[var_s1], 0, 0.67f, 0.67f);
}
break;
- case 26: /* switch 1 */
- set_text_color(3);
+ case 26:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- func_80093324(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A80[var_s1], 0, 0.75f, 0.75f);
+ print_text_mode_1(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A80[var_s1], 0, 0.75f, 0.75f);
}
break;
}
- switch (arg0->cursor) { /* switch 2 */
+ switch (arg0->state) { /* switch 2 */
case 5: /* switch 2 */
case 6: /* switch 2 */
case 7: /* switch 2 */
case 8: /* switch 2 */
case 9: /* switch 2 */
case 10: /* switch 2 */
- var_v0_5 = &D_800E7390[arg0->cursor - 5];
+ var_v0_5 = &D_800E7390[arg0->state - 5];
break;
case 17: /* switch 2 */
case 18: /* switch 2 */
- var_v0_5 = &D_800E73C0[arg0->cursor - 17];
+ var_v0_5 = &D_800E73C0[arg0->state - 17];
break;
case 20: /* switch 2 */
case 21: /* switch 2 */
- var_v0_5 = &D_800E73D0[arg0->cursor - 20];
+ var_v0_5 = &D_800E73D0[arg0->state - 20];
break;
case 30: /* switch 2 */
- var_v0_5 = &D_800E7390[arg0->unk1C - 5];
+ var_v0_5 = &D_800E7390[arg0->param1 - 5];
break;
default:
return;
@@ -7642,44 +7641,42 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) {
func_800A66A8(arg0, &sp84);
}
-void func_800A4550(s32 lapNumber, s32 column, s32 row) {
- UNUSED s32 stackPadding0;
- s32 sp40;
- UNUSED s32 stackPadding1;
+void render_lap_time(s32 lapNumber, s32 column, s32 row) {
+ s32 time;
s32 textColor;
char sp34[3];
- struct_8018D9E0_entry* temp_v0_2;
+ MenuItem* temp_v0_2;
if (lapNumber < 3) {
- sp40 = playerHUD[PLAYER_ONE].lapDurations[lapNumber];
- set_text_color(2);
+ time = playerHUD[PLAYER_ONE].lapDurations[lapNumber];
+ set_text_color(TEXT_RED);
} else {
- sp40 = playerHUD[PLAYER_ONE].someTimer;
- set_text_color(1);
+ time = playerHUD[PLAYER_ONE].someTimer;
+ set_text_color(TEXT_GREEN);
}
- func_800936B8(column + 0x21, row, D_800E7734[lapNumber], 0, 0.7f, 0.7f);
- temp_v0_2 = find_8018D9E0_entry_dupe(0x000000BB);
+ print_text1_left(column + 0x21, row, gPrefixTimeText[lapNumber], 0, 0.7f, 0.7f);
+ temp_v0_2 = find_menu_items_dupe(MENU_ITEM_TYPE_0BB);
if (lapNumber < 3) {
- if (temp_v0_2->unk20 & (1 << lapNumber)) {
+ if (temp_v0_2->param2 & (1 << lapNumber)) { // Best lap
textColor = (s32) gGlobalTimer % 3;
} else {
textColor = TEXT_YELLOW;
}
} else {
- if (temp_v0_2->unk1C >= 0) {
+ if (temp_v0_2->param1 >= 0) {
textColor = (s32) gGlobalTimer % 3;
} else {
textColor = TEXT_YELLOW;
}
}
set_text_color(textColor);
- get_time_record_minutes(sp40, sp34);
+ get_time_record_minutes(time, sp34);
func_800939C8(column + 0x2C, row, sp34, 0, 0.7f, 0.7f);
- func_80093324(column + 0x37, row, "'", 0, 0.7f, 0.7f);
- get_time_record_seconds(sp40, sp34);
+ print_text_mode_1(column + 0x37, row, "'", 0, 0.7f, 0.7f);
+ get_time_record_seconds(time, sp34);
func_800939C8(column + 0x40, row, sp34, 0, 0.7f, 0.7f);
- func_80093324(column + 0x4B, row, "\"", 0, 0.7f, 0.7f);
- get_time_record_centiseconds(sp40, sp34);
+ print_text_mode_1(column + 0x4B, row, "\"", 0, 0.7f, 0.7f);
+ get_time_record_centiseconds(time, sp34);
func_800939C8(column + 0x55, row, sp34, 0, 0.7f, 0.7f);
}
@@ -7688,15 +7685,14 @@ void func_800A4550(s32 lapNumber, s32 column, s32 row) {
// The majority of th diff is from the handling of `textColor`. There is something super fucky there.
// The permuter found a decent improvement with making `textColor` a `volatile` variable but that
// seems wrong for several reasons
-
-void func_800A474C(s32 recordType, s32 column, s32 row) {
+void render_lap_times(s32 recordType, s32 column, s32 row) {
UNUSED s32 stackPadding0;
u32 timeRecord;
s32 textColor;
s32 temp_t0;
s32 characterId;
char sp38[3];
- struct_8018D9E0_entry* temp_v0;
+ MenuItem* temp_v0;
s32 sp30;
if (gGamestate == 4) {
sp30 = 0;
@@ -7719,9 +7715,9 @@ void func_800A474C(s32 recordType, s32 column, s32 row) {
}
func_800939C8(column + 0x14, row, D_800E7744[recordType], 2, 0.65f, 0.65f);
if (sp30 == 0) {
- temp_v0 = find_8018D9E0_entry_dupe(0x000000BB);
+ temp_v0 = find_menu_items_dupe(MENU_ITEM_TYPE_0BB);
if (recordType < 5) {
- if (recordType == temp_v0->unk1C) {
+ if (recordType == temp_v0->param1) {
textColor = gGlobalTimer % 3;
} else {
textColor = TEXT_YELLOW;
@@ -7729,7 +7725,7 @@ void func_800A474C(s32 recordType, s32 column, s32 row) {
} else {
// huh?
textColor = TEXT_YELLOW;
- if (temp_v0->unk20 != 0) {
+ if (temp_v0->param2 != 0) {
textColor = gGlobalTimer;
textColor %= 3;
} else {
@@ -7742,11 +7738,11 @@ void func_800A474C(s32 recordType, s32 column, s32 row) {
temp_t0 = timeRecord & 0xFFFFF;
get_time_record_minutes(temp_t0, sp38);
func_800939C8(column + 0x27, row, sp38, 0, 0.65f, 0.65f);
- func_80093324(column + 0x32, row, "'", 0, 0.65f, 0.65f);
+ print_text_mode_1(column + 0x32, row, "'", 0, 0.65f, 0.65f);
if (!textColor) {}
get_time_record_seconds(temp_t0, sp38);
func_800939C8(column + 0x3B, row, sp38, 0, 0.65f, 0.65f);
- func_80093324(column + 0x46, row, "\"", 0, 0.65f, 0.65f);
+ print_text_mode_1(column + 0x46, row, "\"", 0, 0.65f, 0.65f);
get_time_record_centiseconds(temp_t0, sp38);
func_800939C8(column + 0x50, row, sp38, 0, 0.65f, 0.65f);
if (temp_t0 < 0x927C0) {
@@ -7754,14 +7750,13 @@ void func_800A474C(s32 recordType, s32 column, s32 row) {
} else {
characterId = 8;
}
- draw_text(column + 0x78, row, D_800E76A8[characterId], 0, 0.65f, 0.65f);
+ print_text1_center_mode_1(column + 0x78, row, D_800E76A8[characterId], 0, 0.65f, 0.65f);
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A474C.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/render_lap_times.s")
#endif
-void func_800A4A24(struct_8018D9E0_entry* arg0) {
- UNUSED s32 stackPadding0;
+void render_menu_item_announce_ghost(MenuItem* arg0) {
s32 temp_t0;
s32 temp_t1;
s32 temp_t2;
@@ -7770,14 +7765,14 @@ void func_800A4A24(struct_8018D9E0_entry* arg0) {
temp_t0 = 0x140 - arg0->column;
temp_t1 = arg0->row;
- temp_t2 = (s32) ((get_string_width(D_800E7780) + 8) * someMultiplier) / 2;
+ temp_t2 = (s32) ((get_string_width(gTextMenuAnnounceGhost) + 8) * someMultiplier) / 2;
gDisplayListHead = draw_box(gDisplayListHead, temp_t0 - temp_t2, (temp_t1 - thing) + 4, temp_t2 + temp_t0,
temp_t1 + 4, 0, 0, 0, 0x00000064);
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
- draw_text(arg0->column - 3, arg0->row, D_800E7780, 0, 0.85f, 0.85f);
+ print_text1_center_mode_1(arg0->column - 3, arg0->row, gTextMenuAnnounceGhost, 0, 0.85f, 0.85f);
}
-void render_pause_menu(struct_8018D9E0_entry* arg0) {
+void render_pause_menu(MenuItem* arg0) {
if (gIsGamePaused != 0) {
switch (gModeSelection) {
case TIME_TRIALS:
@@ -7796,10 +7791,7 @@ void render_pause_menu(struct_8018D9E0_entry* arg0) {
}
}
-void render_pause_menu_time_trials(struct_8018D9E0_entry* arg0) {
- UNUSED s32 stackPadding0;
- UNUSED s32 stackPadding1;
- UNUSED s32 stackPadding2;
+void render_pause_menu_time_trials(MenuItem* arg0) {
char sp68[3];
s32 temp_a0;
s32 var_s0;
@@ -7807,39 +7799,39 @@ void render_pause_menu_time_trials(struct_8018D9E0_entry* arg0) {
gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x0000008C);
set_text_color(TEXT_YELLOW);
- draw_text(0x000000A0, 0x00000050, CourseManager_GetProps()->Name, 0, 1.0f,
+ print_text1_center_mode_1(0x000000A0, 0x00000050, CourseManager_GetProps()->Name, 0, 1.0f,
1.0f);
set_text_color(TEXT_RED);
- draw_text(0x0000009D, 0x00000060, D_800E7728[0], 0, 0.8f, 0.8f);
+ print_text1_center_mode_1(0x0000009D, 0x00000060, gBestTimeText[0], 0, 0.8f, 0.8f);
temp_a0 = func_800B4E24(TIME_TRIAL_3LAP_RECORD_1);
temp_a0 &= 0xFFFFF;
get_time_record_minutes(temp_a0, sp68);
func_800939C8(0x0000007F, 0x0000006D, sp68, 0, 0.8f, 0.8f);
- func_80093324(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f);
+ print_text_mode_1(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f);
get_time_record_seconds(temp_a0, sp68);
func_800939C8(0x00000098, 0x0000006D, sp68, 0, 0.8f, 0.8f);
- func_80093324(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f);
+ print_text_mode_1(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f);
get_time_record_centiseconds(temp_a0, sp68);
func_800939C8(0x000000B3, 0x0000006D, sp68, 0, 0.8f, 0.8f);
- draw_text(0x0000009D, 0x0000007C, D_800E7728[1], 0, 0.8f, 0.8f);
+ print_text1_center_mode_1(0x0000009D, 0x0000007C, gBestTimeText[1], 0, 0.8f, 0.8f);
temp_a0 = func_800B4F2C();
temp_a0 &= 0xFFFFF;
get_time_record_minutes(temp_a0, sp68);
func_800939C8(0x0000007F, 0x00000089, sp68, 0, 0.8f, 0.8f);
- func_80093324(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f);
+ print_text_mode_1(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f);
get_time_record_seconds(temp_a0, sp68);
func_800939C8(0x00000098, 0x00000089, sp68, 0, 0.8f, 0.8f);
- func_80093324(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f);
+ print_text_mode_1(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f);
get_time_record_centiseconds(temp_a0, sp68);
func_800939C8(0x000000B3, 0x00000089, sp68, 0, 0.8f, 0.8f);
for (var_s0 = 0; var_s0 < 5; var_s0++) {
- text_rainbow_effect(arg0->cursor - 11, var_s0, TEXT_GREEN);
- func_80093324(D_800E8538[zero].column, D_800E8538[zero].row + (13 * var_s0), gTextPauseButton[var_s0], 0, 0.75f,
+ text_rainbow_effect(arg0->state - 11, var_s0, TEXT_GREEN);
+ print_text_mode_1(D_800E8538[zero].column, D_800E8538[zero].row + (13 * var_s0), gTextPauseButton[var_s0], 0, 0.75f,
0.75f);
}
}
-void render_pause_menu_versus(struct_8018D9E0_entry* arg0) {
+void render_pause_menu_versus(MenuItem* arg0) {
s16 temp_t0;
s16 temp_v1;
s32 temp_t3;
@@ -7863,12 +7855,12 @@ void render_pause_menu_versus(struct_8018D9E0_entry* arg0) {
} else {
var_s1 = var_s0;
}
- text_rainbow_effect(arg0->cursor - 0x15, var_s0, TEXT_YELLOW);
- func_80093324(temp_s3->column - 2, temp_s3->row + (13 * var_s0), gTextPauseButton[var_s1], 0, 0.75f, 0.75f);
+ text_rainbow_effect(arg0->state - 0x15, var_s0, TEXT_YELLOW);
+ print_text_mode_1(temp_s3->column - 2, temp_s3->row + (13 * var_s0), gTextPauseButton[var_s1], 0, 0.75f, 0.75f);
}
}
-void render_pause_grand_prix(struct_8018D9E0_entry* arg0) {
+void render_pause_grand_prix(MenuItem* arg0) {
s32 temp_t0;
s32 temp_v1;
s32 temp_s0;
@@ -7891,19 +7883,19 @@ void render_pause_grand_prix(struct_8018D9E0_entry* arg0) {
temp_s0 = ((get_string_width(gCupNames[GetCupIndex()]) * one) + 10.0f) / 2;
temp_s1 = ((get_string_width(D_800E76CC[gCCSelection]) * one) + 10.0f) / 2;
set_text_color(TEXT_YELLOW);
- draw_text(160 - temp_s1, temp_s3->row - 50, gCupNames[GetCupIndex()], 0, 1.0f, 1.0f);
+ print_text1_center_mode_1(160 - temp_s1, temp_s3->row - 50, gCupNames[GetCupIndex()], 0, 1.0f, 1.0f);
set_text_color(TEXT_YELLOW);
- draw_text(160 + temp_s0, temp_s3->row - 50, D_800E76CC[gCCSelection], 0, 1.0f, 1.0f);
+ print_text1_center_mode_1(160 + temp_s0, temp_s3->row - 50, D_800E76CC[gCCSelection], 0, 1.0f, 1.0f);
set_text_color(TEXT_YELLOW);
- draw_text(160, temp_s3->row - 30, CourseManager_GetProps()->Name, 0, 1.0f,
+ print_text1_center_mode_1(160, temp_s3->row - 30, CourseManager_GetProps()->Name, 0, 1.0f,
1.0f);
for (var_s0 = 0; var_s0 < 2; var_s0++) {
- text_rainbow_effect(arg0->cursor - 31, var_s0, TEXT_YELLOW);
- func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), gTextPauseButton[var_s0 * 4], 0, 0.75f, 0.75f);
+ text_rainbow_effect(arg0->state - 31, var_s0, TEXT_YELLOW);
+ print_text_mode_1(temp_s3->column, temp_s3->row + (var_s0 * 13), gTextPauseButton[var_s0 * 4], 0, 0.75f, 0.75f);
}
}
-void render_pause_battle(struct_8018D9E0_entry* arg0) {
+void render_pause_battle(MenuItem* arg0) {
struct UnkStruct_800DC5EC* temp_v0;
s16 temp_t0;
s16 temp_v1;
@@ -7927,15 +7919,15 @@ void render_pause_battle(struct_8018D9E0_entry* arg0) {
} else {
var_s1 = var_a1;
}
- text_rainbow_effect(arg0->cursor - 0x29, var_a1, TEXT_YELLOW);
- func_80093324(temp_s3->column - 2, temp_s3->row + 13 * var_a1, gTextPauseButton[var_s1], 0, 0.75f, 0.75f);
+ text_rainbow_effect(arg0->state - 0x29, var_a1, TEXT_YELLOW);
+ print_text_mode_1(temp_s3->column - 2, temp_s3->row + 13 * var_a1, gTextPauseButton[var_s1], 0, 0.75f, 0.75f);
}
}
void func_800A54EC(void) {
Unk_D_800E70A0 sp50;
Unk_D_800E70A0* var_v1;
- struct_8018D9E0_entry* sp48;
+ MenuItem* sp48;
s32 whyTheSequel;
s32 why;
UNUSED Unk_D_800E70A0* huh;
@@ -7945,7 +7937,7 @@ void func_800A54EC(void) {
}
why = gModeSelection;
- sp48 = find_8018D9E0_entry(0x000000C7);
+ sp48 = find_menu_items(MENU_ITEM_PAUSE);
if (why) {} // ?????
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880));
// guOrtho(&gGfxPool->mtxEffect[gMatrixEffectCount], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f);
@@ -7970,21 +7962,15 @@ void func_800A54EC(void) {
}
whyTheSequel = D_800F0B50[why];
sp50.column = var_v1->column - 8;
- sp50.row = (var_v1->row + ((sp48->cursor - whyTheSequel) * 0xD)) - 8;
+ sp50.row = (var_v1->row + ((sp48->state - whyTheSequel) * 0xD)) - 8;
func_800A66A8(sp48, &sp50);
}
-void func_800A5738(struct_8018D9E0_entry* arg0) {
+void render_menu_item_end_course_option(MenuItem* arg0) {
Unk_D_800E70A0 sp98;
- UNUSED s32 stackPadding0;
- UNUSED s32 stackPadding1;
- UNUSED s32 stackPadding2;
f32 why;
char sp84[3];
- UNUSED s32 stackPadding3;
- UNUSED s32 stackPadding4;
s32 temp_a0;
- UNUSED s32 var_v1;
s32 var_s1;
s32 var_s2;
s32 temp_v0;
@@ -7992,142 +7978,142 @@ void func_800A5738(struct_8018D9E0_entry* arg0) {
Unk_D_800E70A0* var_v0_9;
char sp5C[3];
- if (arg0->cursor == 0) {
- if ((arg0->unk1C >= 0x1E) && ((gGlobalTimer / 16) % 2)) {
- why = get_string_width(gTextPauseButton[5]) * 0.8f;
+ if (arg0->state == 0) {
+ if ((arg0->param1 >= 0x1E) && ((gGlobalTimer / 16) % 2)) {
+ why = get_string_width(gTextPauseButton[REPLAY]) * 0.8f;
gDisplayListHead =
draw_box_wide(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (why) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096);
- set_text_color(1);
- func_80093324(0x000000BF, 0x00000030, gTextPauseButton[5], 0, 0.8f, 0.8f);
+ set_text_color(TEXT_GREEN);
+ print_text_mode_1(0x000000BF, 0x00000030, gTextPauseButton[REPLAY], 0, 0.8f, 0.8f);
}
} else {
- if (arg0->cursor == 1) {
- var_s1 = arg0->unk1C;
- var_s2 = (s32) (arg0->unk1C * 0xFF) / 140;
+ if (arg0->state == 1) {
+ var_s1 = arg0->param1;
+ var_s2 = (s32) (arg0->param1 * 0xFF) / 140;
} else {
var_s1 = 0x0000008C;
var_s2 = 0x000000FF;
}
gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, var_s1);
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_s2);
- set_text_color(3);
- func_80093754(0x000000A0, 0x00000050, CourseManager_GetProps()->Name,
+ set_text_color(TEXT_YELLOW);
+ print_text1_center_mode_2(0x000000A0, 0x00000050, CourseManager_GetProps()->Name,
0, 1.0f, 1.0f);
- switch (arg0->cursor) { /* switch 1 */
- case 1: /* switch 1 */
- case 11: /* switch 1 */
- case 12: /* switch 1 */
- case 13: /* switch 1 */
- case 14: /* switch 1 */
- case 15: /* switch 1 */
- case 16: /* switch 1 */
- set_text_color(2);
- func_80093754(0x0000009D, 0x00000060, D_800E7728[0], 0, 0.8f, 0.8f);
+ switch (arg0->state) {
+ case 1:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ set_text_color(TEXT_RED);
+ print_text1_center_mode_2(0x0000009D, 0x00000060, gBestTimeText[0], 0, 0.8f, 0.8f);
temp_a0 = func_800B4E24(0);
temp_a0 &= 0xFFFFF;
get_time_record_minutes(temp_a0, sp84);
text_draw(0x0000007F, 0x0000006D, sp84, 0, 0.8f, 0.8f);
- func_80093358(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f);
+ print_text_mode_2(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f);
get_time_record_seconds(temp_a0, sp84);
text_draw(0x00000098, 0x0000006D, sp84, 0, 0.8f, 0.8f);
- func_80093358(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f);
+ print_text_mode_2(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f);
get_time_record_centiseconds(temp_a0, sp84);
text_draw(0x000000B3, 0x0000006D, sp84, 0, 0.8f, 0.8f);
- func_80093754(0x0000009D, 0x0000007C, D_800E7728[1], 0, 0.8f, 0.8f);
+ print_text1_center_mode_2(0x0000009D, 0x0000007C, gBestTimeText[1], 0, 0.8f, 0.8f);
temp_a0 = func_800B4F2C();
temp_a0 &= 0xFFFFF;
get_time_record_minutes(temp_a0, sp84);
text_draw(0x0000007F, 0x00000089, sp84, 0, 0.8f, 0.8f);
- func_80093358(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f);
+ print_text_mode_2(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f);
get_time_record_seconds(temp_a0, sp84);
text_draw(0x00000098, 0x00000089, sp84, 0, 0.8f, 0.8f);
- func_80093358(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f);
+ print_text_mode_2(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f);
get_time_record_centiseconds(temp_a0, sp84);
text_draw(0x000000B3, 0x00000089, sp84, 0, 0.8f, 0.8f);
for (var_s1 = 0; var_s1 < 6; var_s1++) {
- text_rainbow_effect(arg0->cursor - 0xB, var_s1, TEXT_GREEN);
- func_80093358(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1),
+ text_rainbow_effect(arg0->state - 0xB, var_s1, TEXT_GREEN);
+ print_text_mode_2(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1),
gTextPauseButton[var_s1 + 1], 0, 0.75f, 0.75f);
}
break;
- case 21: /* switch 1 */
- case 22: /* switch 1 */
- case 23: /* switch 1 */
- case 24: /* switch 1 */
- case 25: /* switch 1 */
- case 26: /* switch 1 */
- set_text_color(3);
- temp_v0 = arg0->cursor - 0x15;
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ set_text_color(TEXT_YELLOW);
+ temp_v0 = arg0->state - 0x15;
for (var_s1 = 0; var_s1 < 7; var_s1++) {
- func_80093324(0x0000004D, 0x6E + (0xD * var_s1), D_800E798C[(temp_v0 * 7) + var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x0000004D, 0x6E + (0xD * var_s1), D_800E798C[(temp_v0 * 7) + var_s1], 0, 0.8f, 0.8f);
}
break;
- case 30: /* switch 1 */
- case 31: /* switch 1 */
- set_text_color(1);
+ case 30:
+ case 31:
+ set_text_color(TEXT_GREEN);
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- func_80093324(0x0000005A, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A3C[var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x0000005A, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A3C[var_s1], 0, 0.8f, 0.8f);
}
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- text_rainbow_effect(arg0->cursor - 0x1E, var_s1, TEXT_GREEN);
+ text_rainbow_effect(arg0->state - 0x1E, var_s1, TEXT_GREEN);
convert_number_to_ascii(var_s1 + 1, sp5C);
- func_80093324(0x5A - arg0->column, (0x96 + (0x14 * var_s1)), &sp5C[1], 0, 0.75f, 0.75f);
+ print_text_mode_1(0x5A - arg0->column, (0x96 + (0x14 * var_s1)), &sp5C[1], 0, 0.75f, 0.75f);
if (D_8018EE10[var_s1].ghostDataSaved == 0) {
- func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E7A44, 0, 0.75f, 0.75f);
+ print_text_mode_1(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E7A44, 0, 0.75f, 0.75f);
} else {
- func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)),
+ print_text_mode_1(0x69 - arg0->column, (0x96 + (0x14 * var_s1)),
CourseManager_GetProps()->Name,
0, 0.75f, 0.75f);
}
}
break;
- case 32: /* switch 1 */
- set_text_color(3);
+ case 32:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
- func_80093324(0x00000064, (0xD * var_s1) + 0x6E, D_800E7A48[var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x00000064, (0xD * var_s1) + 0x6E, D_800E7A48[var_s1], 0, 0.8f, 0.8f);
}
break;
- case 35: /* switch 1 */
- case 36: /* switch 1 */
- set_text_color(3);
+ case 35:
+ case 36:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
- func_80093324(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f);
}
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- text_rainbow_effect(arg0->cursor - 0x23, var_s1, TEXT_GREEN);
- func_80093324(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f);
+ text_rainbow_effect(arg0->state - 0x23, var_s1, TEXT_GREEN);
+ print_text_mode_1(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f);
}
break;
- case 40: /* switch 1 */
- set_text_color(3);
+ case 40:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 3; var_s1++) {
- func_80093324(0x00000055, (0xD * var_s1) + 0x6E, D_800E7A74[var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x00000055, (0xD * var_s1) + 0x6E, D_800E7A74[var_s1], 0, 0.8f, 0.8f);
}
break;
- case 41: /* switch 1 */
- set_text_color(3);
+ case 41:
+ set_text_color(TEXT_YELLOW);
for (var_s1 = 0; var_s1 < 2; var_s1++) {
- func_80093324(0x0000005D, (0xD * var_s1) + 0x6E, D_800E7A80[var_s1], 0, 0.8f, 0.8f);
+ print_text_mode_1(0x0000005D, (0xD * var_s1) + 0x6E, D_800E7A80[var_s1], 0, 0.8f, 0.8f);
}
break;
}
- switch (arg0->cursor) { /* switch 2 */
+ switch (arg0->state) { /* switch 2 */
case 11: /* switch 2 */
case 12: /* switch 2 */
case 13: /* switch 2 */
case 14: /* switch 2 */
case 15: /* switch 2 */
case 16: /* switch 2 */
- var_v0_9 = &D_800E73E0[arg0->cursor - 11];
+ var_v0_9 = &D_800E73E0[arg0->state - 11];
break;
case 30: /* switch 2 */
case 31: /* switch 2 */
- var_v0_9 = &D_800E7410[arg0->cursor - 30];
+ var_v0_9 = &D_800E7410[arg0->state - 30];
break;
case 35: /* switch 2 */
case 36: /* switch 2 */
if (0) {} // wtf?
- var_v0_9 = &D_800E7420[arg0->cursor - 35];
+ var_v0_9 = &D_800E7420[arg0->state - 35];
break;
default:
return;
@@ -8138,21 +8124,21 @@ void func_800A5738(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A6034(struct_8018D9E0_entry* arg0) {
+void func_800A6034(MenuItem* arg0) {
char* text;
if (D_801657E8 != true) {
- gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, arg0->unk1C);
+ gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, arg0->param1);
text = gCupNames[D_800DC540];
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
- func_80093754(arg0->column + 0x41, arg0->row + 0xA0, text, 0, 0.85f, 1.0f);
+ print_text1_center_mode_2(arg0->column + 0x41, arg0->row + 0xA0, text, 0, 0.85f, 1.0f);
text = CourseManager_GetProps()->Name;
set_text_color((s32) gCurrentCourseId % 4);
- func_80093754(arg0->column + 0x41, arg0->row + 0xC3, text, 0, 0.65f, 0.85f);
+ print_text1_center_mode_2(arg0->column + 0x41, arg0->row + 0xC3, text, 0, 0.65f, 0.85f);
}
}
-void func_800A6154(struct_8018D9E0_entry* arg0) {
+void func_800A6154(MenuItem* arg0) {
UNUSED s32 stackPadding0;
UNUSED s32 stackPadding1;
UNUSED s32 stackPadding2;
@@ -8161,49 +8147,49 @@ void func_800A6154(struct_8018D9E0_entry* arg0) {
s32 var_s0;
s32 var_s1;
- if (arg0->cursor == 0) {
- gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->unk1C);
+ if (arg0->state == 0) {
+ gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->param1);
set_text_color(3);
- gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->unk1C * 0xFF) / 100);
+ gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->param1 * 0xFF) / 100);
for (var_s1 = 0, var_s0 = 0x96; var_s0 < 0xBE; var_s1++, var_s0 += 0x14) {
- func_80093358(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f);
+ print_text_mode_2(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f);
}
} else {
gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x00000064);
for (var_s1 = 0, var_s0 = 0x96; var_s1 < 2; var_s1++, var_s0 += 0x14) {
- text_rainbow_effect(arg0->cursor - 0xB, var_s1, TEXT_YELLOW);
- func_80093324(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f);
+ text_rainbow_effect(arg0->state - 0xB, var_s1, TEXT_YELLOW);
+ print_text_mode_1(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f);
}
}
- if (arg0->cursor >= 0xB) {
+ if (arg0->state >= 0xB) {
sp6C.column = 0x0084;
- sp6C.row = (arg0->cursor * 0x14) - 0x4E;
+ sp6C.row = (arg0->state * 0x14) - 0x4E;
func_800A66A8(arg0, &sp6C);
}
- if (arg0->unk20 > 0) {
- gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x0000013F, arg0->unk20);
- gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->unk20, 0x0000013F, 0x000000EF);
+ if (arg0->param2 > 0) {
+ gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x0000013F, arg0->param2);
+ gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->param2, 0x0000013F, 0x000000EF);
}
}
-void func_800A638C(struct_8018D9E0_entry* arg0) {
+void func_800A638C(MenuItem* arg0) {
UNUSED s32 temp_a0;
s32 var_a1;
UNUSED s32 var_s0;
s32 var_s1;
UNUSED s8** var_s2;
- if (arg0->cursor == 0) {
- gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->unk1C);
- set_text_color(5);
- gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->unk1C * 0xFF) / 100);
- func_80093754(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f);
+ if (arg0->state == 0) {
+ gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->param1);
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
+ gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->param1 * 0xFF) / 100);
+ print_text1_center_mode_2(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f);
} else {
gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x00000064);
- set_text_color(5);
- draw_text(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f);
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
+ print_text1_center_mode_1(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f);
}
- switch (arg0->cursor) { /* irregular */
+ switch (arg0->state) { /* irregular */
default:
var_a1 = 0x000000FF;
break;
@@ -8212,7 +8198,7 @@ void func_800A638C(struct_8018D9E0_entry* arg0) {
var_a1 = 0;
break;
case 2:
- var_a1 = arg0->unk1C;
+ var_a1 = arg0->param1;
break;
}
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_a1);
@@ -8229,42 +8215,41 @@ void func_800A638C(struct_8018D9E0_entry* arg0) {
default:
break;
}
- if (arg0->cursor >= 10) {
+ if (arg0->state >= 10) {
for (var_s1 = 0; var_s1 < 4; var_s1++) {
- text_rainbow_effect(arg0->cursor - 0xA, var_s1, TEXT_GREEN);
- func_80093324(0x00000069, 0xAE + (0xF * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.8f, 0.8f);
+ text_rainbow_effect(arg0->state - 0xA, var_s1, TEXT_GREEN);
+ print_text_mode_1(0x00000069, 0xAE + (0xF * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.8f, 0.8f);
}
- func_800A66A8(arg0, &D_800E7360[arg0->cursor - 10]);
+ func_800A66A8(arg0, &D_800E7360[arg0->state - 10]);
}
}
-void func_800A66A8(struct_8018D9E0_entry* arg0, Unk_D_800E70A0* arg1) {
+void func_800A66A8(MenuItem* arg0, Unk_D_800E70A0* arg1) {
Mtx *mtx;
f32 tmp;
static float x2, y2, z2;
static float x1, y1, z1;
mtx = GetEffectMatrix(); // &gGfxPool->mtxEffect[gMatrixEffectCount];
- if (arg0->unk24 > 1.5) {
- arg0->unk24 *= 0.95;
+ if (arg0->paramf > 1.5) {
+ arg0->paramf *= 0.95;
} else {
- arg0->unk24 = 1.5;
+ arg0->paramf = 1.5;
}
- tmp = arg0->unk24;
- x1 = (tmp * 3) * arg0->unk8;
+ tmp = arg0->paramf;
+ x1 = (tmp * 3) * arg0->subState;
y1 = tmp * 4;
z1 = tmp * 2;
x2 += x1;
y2 += y1;
z2 += z1;
- if (x2)
- ;
- if (y2)
- ;
- if (z2)
- ;
+ // clang-format off
+ if (x2);
+ if (y2);
+ if (z2);
+ // clang-format on
guScale(mtx, 1.2f, 1.2f, 1.2f);
guRotate(mtx + 1, y2, 0.0f, 1.0f, 0.0f);
@@ -8285,7 +8270,7 @@ void func_800A66A8(struct_8018D9E0_entry* arg0, Unk_D_800E70A0* arg1) {
gSPDisplayList(gDisplayListHead++, D_0D003090);
}
-void func_800A69C8(UNUSED struct_8018D9E0_entry* arg0) {
+void func_800A69C8(UNUSED MenuItem* arg0) {
Unk_D_800E70A0* thing;
UNUSED s32 stackPadding1;
s32 var_s0;
@@ -8311,7 +8296,7 @@ void func_800A69C8(UNUSED struct_8018D9E0_entry* arg0) {
var_s4 = &gNmiUnknown4[var_s0];
break;
}
- temp_s3 = D_800E7720[var_v1];
+ temp_s3 = gWinLoseText[var_v1];
if (var_v1 != 0) {
set_text_color(TEXT_BLUE);
} else {
@@ -8319,14 +8304,14 @@ void func_800A69C8(UNUSED struct_8018D9E0_entry* arg0) {
}
func_800A79F4(var_s4[0], sp74);
text_draw(thing->column + 0x10, thing->row + 0x75, sp74, 0, 1.0f, 1.0f);
- func_80093754(D_800E7380[var_s0].column, D_800E7380[var_s0].row, temp_s3, 0, 0.65f, 1.0f);
+ print_text1_center_mode_2(D_800E7380[var_s0].column, D_800E7380[var_s0].row, temp_s3, 0, 0.65f, 1.0f);
}
set_text_color(TEXT_BLUE);
// Not a hyphen, that is an EUC-JP character
text_draw(0x0000009E, D_800E7300[0].row + 0x6D, "ー", 0, 1.0f, 1.0f);
}
-void func_800A6BEC(UNUSED struct_8018D9E0_entry* arg0) {
+void func_800A6BEC(UNUSED MenuItem* arg0) {
s32 var_s0;
for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) {
@@ -8341,7 +8326,7 @@ void func_800A6BEC(UNUSED struct_8018D9E0_entry* arg0) {
}
}
-void func_800A6CC0(UNUSED struct_8018D9E0_entry* arg0) {
+void func_800A6CC0(UNUSED MenuItem* arg0) {
s32 var_s0;
for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) {
@@ -8370,7 +8355,7 @@ void func_800A6D94(s32 arg0, s32 arg1, u8* arg2) {
}
thing = arg2[arg1];
if (var_v0 != 0) {
- set_text_color(0);
+ set_text_color(TEXT_BLUE);
} else {
set_text_color(gGlobalTimer % 3);
}
@@ -8420,14 +8405,14 @@ void func_800A6E94(s32 arg0, s32 arg1, u8* arg2) {
text_draw(temp_s0->column + 0x2D, temp_s0->row + 0x78, sp40, 0, 0.8f, 0.8f);
}
-void func_800A70E8(struct_8018D9E0_entry* arg0) {
+void func_800A70E8(MenuItem* arg0) {
s32 var_s0;
s32 temp_f6;
s32 alpha;
s32 loopIndex;
s32 stringIndex;
- if (arg0->cursor == 1) {
+ if (arg0->state == 1) {
var_s0 = get_string_width(D_800E7A34[0]) * 0.45f;
temp_f6 = get_string_width(D_800E7A34[1]) * 0.45f;
if (var_s0 < temp_f6) {
@@ -8435,23 +8420,23 @@ void func_800A70E8(struct_8018D9E0_entry* arg0) {
}
gDisplayListHead =
draw_box(gDisplayListHead, 0x000000C0, 0x00000022, var_s0 + 0xC6, 0x00000039, 0, 0, 0, 0x00000096);
- alpha = 0x180 - ((arg0->unk1C % 32) * 8);
+ alpha = 0x180 - ((arg0->param1 % 32) * 8);
if (alpha >= 0x100) {
alpha = 0xFF;
}
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, alpha);
set_text_color(TEXT_RED);
for (loopIndex = 0x2C, stringIndex = 0; loopIndex < 0x40; loopIndex += 0xA, stringIndex++) {
- func_80093358(0x000000C0, loopIndex, D_800E7A34[stringIndex], 0, 0.45f, 0.45f);
+ print_text_mode_2(0x000000C0, loopIndex, D_800E7A34[stringIndex], 0, 0.45f, 0.45f);
}
}
}
// Shading layer of the grand prix podium result screen
-void func_800A7258(struct_8018D9E0_entry* arg0) {
- if (arg0->cursor == 0) {
+void func_800A7258(MenuItem* arg0) {
+ if (arg0->state == 0) {
// If shading layer is fading in
- gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, arg0->unk1C);
+ gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, arg0->param1);
} else {
// All other stages of the podium scene
gDisplayListHead = draw_box_wide(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, 0x64);
@@ -8459,36 +8444,36 @@ void func_800A7258(struct_8018D9E0_entry* arg0) {
}
// Podium scene, top line
-void func_800A72FC(struct_8018D9E0_entry* arg0) {
+void func_800A72FC(MenuItem* arg0) {
UNUSED s32 pad;
s32 cupNameLength = (((f32) get_string_width(GetCupName()) * 1) + 10) / 2;
s32 ccNameLength = (((f32) get_string_width(D_800E76CC[gCCSelection]) * 1) + 10) / 2;
set_text_color(TEXT_YELLOW);
- draw_text(arg0->column - ccNameLength, arg0->row, GetCupName(), 0, 1, 1);
+ print_text1_center_mode_1(arg0->column - ccNameLength, arg0->row, GetCupName(), 0, 1, 1);
set_text_color(TEXT_YELLOW);
- draw_text(arg0->column + cupNameLength, arg0->row, D_800E76DC[gCCSelection], 0, 1, 1);
+ print_text1_center_mode_1(arg0->column + cupNameLength, arg0->row, D_800E76DC[gCCSelection], 0, 1, 1);
}
-void func_800A7448(struct_8018D9E0_entry* arg0) {
+void func_800A7448(MenuItem* arg0) {
UNUSED s32 pad;
s32 sp40;
s32 sp3C;
s32 thing = D_802874D8.unk1D;
if (thing >= 3) {
set_text_color(TEXT_YELLOW);
- draw_text(arg0->column, arg0->row, D_800E7A98, 0, 0.75f, 0.75f);
+ print_text1_center_mode_1(arg0->column, arg0->row, D_800E7A98, 0, 0.75f, 0.75f);
} else {
sp40 = (s32) (((f32) (get_string_width(D_800E7A88[0]) + 5) * 0.75f) / 2);
sp3C = (s32) (((f32) (get_string_width(D_800E7A88[thing + 1]) + 5) * 0.75f) / 2);
set_text_color(TEXT_YELLOW);
- draw_text(arg0->column - sp3C, arg0->row, D_800E7A88[0], 0, 0.75f, 0.75f);
+ print_text1_center_mode_1(arg0->column - sp3C, arg0->row, D_800E7A88[0], 0, 0.75f, 0.75f);
set_text_color(TEXT_YELLOW);
- draw_text(arg0->column + sp40, arg0->row, D_800E7A88[thing + 1], 0, 0.75f, 0.75f);
+ print_text1_center_mode_1(arg0->column + sp40, arg0->row, D_800E7A88[thing + 1], 0, 0.75f, 0.75f);
}
}
-void func_800A75A0(struct_8018D9E0_entry* arg0) {
+void func_800A75A0(MenuItem* arg0) {
UNUSED s32 pad;
s32 topThree;
@@ -8499,10 +8484,10 @@ void func_800A75A0(struct_8018D9E0_entry* arg0) {
}
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
- draw_text(arg0->column, arg0->row, D_800E7A9C[topThree], 0, 1.3f, 1.3f);
+ print_text1_center_mode_1(arg0->column, arg0->row, D_800E7A9C[topThree], 0, 1.3f, 1.3f);
}
-void func_800A761C(struct_8018D9E0_entry* arg0) {
+void func_800A761C(MenuItem* arg0) {
UNUSED s32 stackPadding0;
s32 sp48;
s32 sp44;
@@ -8511,32 +8496,32 @@ void func_800A761C(struct_8018D9E0_entry* arg0) {
temp_a0 = D_802874D8.unk1D + 1;
func_800A79F4(temp_a0, sp3C);
- sp48 = ((get_string_width(D_800E7AA4[0]) + 5) * 1.2f) / 2;
- sp44 = ((get_string_width(D_800E7AA4[temp_a0]) + 5) * 1.2f) / 2;
- set_text_color(5);
- draw_text(arg0->column - sp44, arg0->row, D_800E7AA4[0], 0, 1.2f, 1.2f);
+ sp48 = ((get_string_width(gPlaceText[0]) + 5) * 1.2f) / 2;
+ sp44 = ((get_string_width(gPlaceText[temp_a0]) + 5) * 1.2f) / 2;
+ set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
+ print_text1_center_mode_1(arg0->column - sp44, arg0->row, gPlaceText[0], 0, 1.2f, 1.2f);
set_text_color((s32) gGlobalTimer % 3);
- draw_text(arg0->column + sp48, arg0->row, D_800E7AA4[temp_a0], 0, 1.2f, 1.2f);
+ print_text1_center_mode_1(arg0->column + sp48, arg0->row, gPlaceText[temp_a0], 0, 1.2f, 1.2f);
convert_number_to_ascii(temp_a0, sp3C);
func_800939C8((arg0->column + sp48) - 0x18, arg0->row, &sp3C[1], 0, 2.0f, 2.0f);
}
-void func_800A7790(struct_8018D9E0_entry* arg0) {
+void menu_item_credits_render(MenuItem* arg0) {
f32 someScaling;
s32 creditIndex;
s8 slideDirection;
UNUSED s32 pad;
creditIndex = arg0->type - 0x190;
- set_text_color(D_802850C0[creditIndex].textColor);
- slideDirection = D_802850C0[creditIndex].slideDirection;
+ set_text_color(gTextCreditsRenderInfo[creditIndex].textColor);
+ slideDirection = gTextCreditsRenderInfo[creditIndex].slideDirection;
if ((slideDirection == SLIDE_RIGHT) || (slideDirection != SLIDE_LEFT)) {
- someScaling = D_802850C0[creditIndex].textScaling;
- func_800936B8(arg0->column, arg0->row, gCreditsText[creditIndex], arg0->unk1C * someScaling,
- arg0->unk24 * someScaling, someScaling);
+ someScaling = gTextCreditsRenderInfo[creditIndex].textScaling;
+ print_text1_left(arg0->column, arg0->row, gCreditsText[creditIndex], arg0->param1 * someScaling,
+ arg0->paramf * someScaling, someScaling);
} else {
- someScaling = D_802850C0[creditIndex].textScaling;
- func_80093324(arg0->column, arg0->row, gCreditsText[creditIndex], arg0->unk1C * someScaling,
- arg0->unk24 * someScaling, someScaling);
+ someScaling = gTextCreditsRenderInfo[creditIndex].textScaling;
+ print_text_mode_1(arg0->column, arg0->row, gCreditsText[creditIndex], arg0->param1 * someScaling,
+ arg0->paramf * someScaling, someScaling);
}
}
@@ -8604,427 +8589,426 @@ void func_800A79F4(s32 arg0, char* arg1) {
arg1[4] = '\0';
}
-void func_800A7A4C(s32 arg0) {
- s32 var_s0;
- s32 var_v1;
- s32 var_v1_2;
+void handle_menus_with_pri_arg(s32 priSpecial) {
+ s32 j;
+ s32 isRendered;
+ s32 i;
s32 type;
- struct_8018D9E0_entry* var_s1;
- s32 one = 1;
+ MenuItem* menuItem;
- for (var_v1_2 = 0; var_v1_2 < D_8018D9E0_SIZE; var_v1_2++) {
- var_v1 = 0;
- var_s1 = &D_8018D9E0[var_v1_2];
- type = var_s1->type;
- if ((type == 4) || (type == 5) || (type == 0x000000C7)) {
- if (arg0 != 0) {
- var_v1 = 1;
+ for (i = 0; i < MENU_ITEMS_MAX; i++) {
+ isRendered = false;
+ menuItem = &gMenuItems[i];
+ type = menuItem->type;
+ if ((type == MENU_ITEM_UI_NO_CONTROLLER) || (type == MENU_ITEM_UI_START_RECORD_TIME) || (type == MENU_ITEM_PAUSE)) {
+ if (priSpecial != 0) {
+ isRendered = true;
}
- } else if (arg0 == 0) {
- var_v1 = 1;
+ } else if (priSpecial == 0) {
+ isRendered = true;
}
- if (var_v1 == 0) {
+ if (isRendered == false) {
continue;
}
switch (type) { /* switch 8; irregular */
- case 0xFA: /* switch 8 */
- if (s8018ED94 < 0x50) {
- D_800E8534 = 3.0f;
- } else if (s8018ED94 < 0x5A) {
- if (D_800E8530 < 1.0) {
- D_800E8530 += 0.1;
+ case MENU_ITEM_UI_LOGO_INTRO: /* switch 8 */
+ if (sIntroLogoTimer < 0x50) {
+ sIntroModelSpeed = 3.0f;
+ } else if (sIntroLogoTimer < 0x5A) {
+ if (sIntroModelMotionSpeed < 1.0) {
+ sIntroModelMotionSpeed += 0.1;
}
- D_800E8534 += 0.1;
- } else if (s8018ED94 < 0xA0) {
- D_800E8534 += 0.1;
- } else if (s8018ED94 < 0x190) {
- D_800E8534 += 0.3;
- }
- D_8018EDCC -= D_800E8534;
- s8018ED94 += 1;
- if (D_8018EDCC < -360.0f) {
- D_8018EDCC += 360.0f;
- }
- var_s1->unk1C++;
- if (var_s1->unk1C == 0x000000B4) {
+ sIntroModelSpeed += 0.1;
+ } else if (sIntroLogoTimer < 0xA0) {
+ sIntroModelSpeed += 0.1;
+ } else if (sIntroLogoTimer < 0x190) {
+ sIntroModelSpeed += 0.3;
+ }
+ gIntroModelRotY -= sIntroModelSpeed;
+ sIntroLogoTimer += 1;
+ if (gIntroModelRotY < -360.0f) {
+ gIntroModelRotY += 360.0f;
+ }
+ menuItem->param1++;
+ if (menuItem->param1 == 0x000000B4) {
func_8009E000(0x00000028);
func_800CA388(0x64U);
- D_8018EDE0 = 0;
+ gMenuFadeType = 0;
}
- if ((var_s1->unk20 != 0) && (var_s1->unk1C >= 3)) {
- var_s1->unk20 = 0;
+ if ((menuItem->param2 != 0) && (menuItem->param1 >= 3)) {
+ menuItem->param2 = 0;
play_sound2(SOUND_INTRO_LOGO);
}
break;
- case 0xDA: /* switch 8 */
- func_800A954C(var_s1);
+ case MENU_ITEM_TYPE_0DA: /* switch 8 */
+ func_800A954C(menuItem);
break;
- case 0xD6: /* switch 8 */
- func_800A9710(var_s1);
+ case MENU_ITEM_TYPE_0D6: /* switch 8 */
+ func_800A9710(menuItem);
break;
- case 0xD4: /* switch 8 */
- func_800A97BC(var_s1);
+ case MENU_ITEM_TYPE_0D4: /* switch 8 */
+ func_800A97BC(menuItem);
break;
- case 0x5: /* switch 8 */
- switch (var_s1->cursor) { /* switch 9; irregular */
+ case MENU_ITEM_UI_START_RECORD_TIME: /* switch 8 */
+ switch (menuItem->state) { /* switch 9; irregular */
case 0: /* switch 9 */
if (gControllerFive->button & R_TRIG) {
- var_s1->cursor = (s32) 1U;
+ menuItem->state = (s32) 1U;
play_sound2(SOUND_ACTION_PING);
} else {
- var_s1->visible = 0;
+ menuItem->visible = 0;
}
break;
- case 1: /* switch 9 */
- default: /* switch 9 */
- var_s1->visible = one;
+ case 1:
+ default:
+ menuItem->visible = 1;
break;
}
break;
- case 0xA: /* switch 8 */
- func_800AA280(var_s1);
+ case MENU_ITEM_UI_GAME_SELECT:
+ func_800AA280(menuItem);
break;
- case 0x10: /* switch 8 */
- case 0x11: /* switch 8 */
- switch (gMainMenuSelectionDepth) { /* switch 5 */
- case OPTIONS_SELECTION: /* switch 5 */
- case DATA_SELECTION: /* switch 5 */
- case PLAYER_NUM_SELECTION: /* switch 5 */
- func_800A9B9C(var_s1);
+ case MAIN_MENU_OPTION_GFX:
+ case MAIN_MENU_DATA_GFX:
+ switch (gMainMenuSelection) {
+ case MAIN_MENU_OPTION:
+ case MAIN_MENU_DATA:
+ case MAIN_MENU_PLAYER_SELECT:
+ func_800A9B9C(menuItem);
break;
- case GAME_MODE_SELECTION: /* switch 5 */
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION: /* switch 5 */
- case CONFIRM_OK_SELECTION: /* switch 5 */
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT: /* switch 5 */
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 5 */
- func_800A9C40(var_s1);
+ case MAIN_MENU_MODE_SELECT:
+ case MAIN_MENU_MODE_SUB_SELECT:
+ case MAIN_MENU_OK_SELECT:
+ case MAIN_MENU_OK_SELECT_GO_BACK:
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK:
+ func_800A9C40(menuItem);
break;
}
break;
- case 0xF: /* switch 8 */
- func_800AA280(var_s1);
- func_800A9A98(var_s1);
+ case MENU_ITEM_UI_OK:
+ func_800AA280(menuItem);
+ update_ok_menu_item(menuItem);
break;
- case 0xB: /* switch 8 */
- case 0xC: /* switch 8 */
- case 0xD: /* switch 8 */
- case 0xE: /* switch 8 */
- switch (gMainMenuSelectionDepth) { /* switch 6 */
- case OPTIONS_SELECTION: /* switch 6 */
- case DATA_SELECTION: /* switch 6 */
- case PLAYER_NUM_SELECTION: /* switch 6 */
- func_800A9B9C(var_s1);
+ case MENU_ITEM_UI_1P_GAME:
+ case MENU_ITEM_UI_2P_GAME:
+ case MENU_ITEM_UI_3P_GAME:
+ case MENU_ITEM_UI_4P_GAME:
+ switch (gMainMenuSelection) { /* switch 6 */
+ case MAIN_MENU_OPTION: /* switch 6 */
+ case MAIN_MENU_DATA: /* switch 6 */
+ case MAIN_MENU_PLAYER_SELECT: /* switch 6 */
+ func_800A9B9C(menuItem);
break;
- case GAME_MODE_SELECTION: /* switch 6 */
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION: /* switch 6 */
- case CONFIRM_OK_SELECTION: /* switch 6 */
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT: /* switch 6 */
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 6 */
- func_800A9C40(var_s1);
+ case MAIN_MENU_MODE_SELECT: /* switch 6 */
+ case MAIN_MENU_MODE_SUB_SELECT: /* switch 6 */
+ case MAIN_MENU_OK_SELECT: /* switch 6 */
+ case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 6 */
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 6 */
+ func_800A9C40(menuItem);
break;
}
- func_800A9D5C(var_s1);
- break;
- case 0x12: /* switch 8 */
- case 0x13: /* switch 8 */
- case 0x14: /* switch 8 */
- case 0x15: /* switch 8 */
- case 0x16: /* switch 8 */
- case 0x17: /* switch 8 */
- case 0x18: /* switch 8 */
- case 0x19: /* switch 8 */
- func_800A9E58(var_s1);
- break;
- case 0x1B: /* switch 8 */
- func_800AA2EC(var_s1);
- break;
- case 0x34: /* switch 8 */
- case 0x35: /* switch 8 */
- case 0x36: /* switch 8 */
- case 0x37: /* switch 8 */
- func_800AADD4(var_s1);
- break;
- case 0x2B: /* switch 8 */
- case 0x2C: /* switch 8 */
- case 0x2D: /* switch 8 */
- case 0x2E: /* switch 8 */
- case 0x2F: /* switch 8 */
- case 0x30: /* switch 8 */
- case 0x31: /* switch 8 */
- case 0x32: /* switch 8 */
- func_800AAC18(var_s1);
- switch (var_s1->type) { /* switch 7 */
- case 43: /* switch 7 */
- case 44: /* switch 7 */
- case 45: /* switch 7 */
- case 46: /* switch 7 */
- case 47: /* switch 7 */
- case 48: /* switch 7 */
- case 49: /* switch 7 */
- case 50: /* switch 7 */
- func_800AA69C(var_s1);
+ func_800A9D5C(menuItem);
+ break;
+ case MAIN_MENU_50CC:
+ case MAIN_MENU_100CC:
+ case MAIN_MENU_150CC:
+ case MAIN_MENU_EXTRA_CC:
+ case MENU_ITEM_TYPE_016:
+ case MENU_ITEM_TYPE_017:
+ case MAIN_MENU_TIME_TRIALS_BEGIN:
+ case MAIN_MENU_TIME_TRIALS_DATA:
+ func_800A9E58(menuItem);
+ break;
+ case MENU_ITEM_TYPE_01B:
+ func_800AA2EC(menuItem);
+ break;
+ case CHARACTER_SELECT_MENU_1P_CURSOR:
+ case CHARACTER_SELECT_MENU_2P_CURSOR:
+ case CHARACTER_SELECT_MENU_3P_CURSOR:
+ case CHARACTER_SELECT_MENU_4P_CURSOR:
+ update_cursor(menuItem);
+ break;
+ case CHARACTER_SELECT_MENU_MARIO:
+ case CHARACTER_SELECT_MENU_LUIGI:
+ case CHARACTER_SELECT_MENU_TOAD:
+ case CHARACTER_SELECT_MENU_PEACH:
+ case CHARACTER_SELECT_MENU_YOSHI:
+ case CHARACTER_SELECT_MENU_DK:
+ case CHARACTER_SELECT_MENU_WARIO:
+ case CHARACTER_SELECT_MENU_BOWSER:
+ func_800AAC18(menuItem);
+ switch (menuItem->type) {
+ case CHARACTER_SELECT_MENU_MARIO:
+ case CHARACTER_SELECT_MENU_LUIGI:
+ case CHARACTER_SELECT_MENU_TOAD:
+ case CHARACTER_SELECT_MENU_PEACH:
+ case CHARACTER_SELECT_MENU_YOSHI:
+ case CHARACTER_SELECT_MENU_DK:
+ case CHARACTER_SELECT_MENU_WARIO:
+ case CHARACTER_SELECT_MENU_BOWSER:
+ func_800AA69C(menuItem);
break;
}
- switch (D_8018EDEE) { /* switch 10; irregular */
- case 1: /* switch 10 */
- func_800AAB90(var_s1);
+ switch (gPlayerSelectMenuSelection) {
+ case PLAYER_SELECT_MENU_MAIN:
+ func_800AAB90(menuItem);
break;
- case 2: /* switch 10 */
- case 3: /* switch 10 */
- func_800AAA9C(var_s1);
+ case PLAYER_SELECT_MENU_OK:
+ case PLAYER_SELECT_MENU_OK_GO_BACK:
+ func_800AAA9C(menuItem);
break;
}
- func_800AAE18(var_s1);
+ func_800AAE18(menuItem);
break;
- case 0x33: /* switch 8 */
- case 0x5D: /* switch 8 */
- func_800A9A98(var_s1);
+ case CHARACTER_SELECT_MENU_OK:
+ case COURSE_SELECT_OK:
+ update_ok_menu_item(menuItem);
break;
- case 0x53: /* switch 8 */
- case 0x54: /* switch 8 */
- case 0x55: /* switch 8 */
- case 0x56: /* switch 8 */
- func_800AB164(var_s1);
- switch (D_8018EDEC) { /* switch 11; irregular */
- case 1: /* switch 11 */
- func_800AB020(var_s1);
+ case COURSE_SELECT_MUSHROOM_CUP:
+ case COURSE_SELECT_FLOWER_CUP:
+ case COURSE_SELECT_STAR_CUP:
+ case COURSE_SELECT_SPECIAL_CUP:
+ func_800AB164(menuItem);
+ switch (gSubMenuSelection) {
+ case 1:
+ func_800AB020(menuItem);
break;
- case 2: /* switch 11 */
- case 3: /* switch 11 */
- func_800AB098(var_s1);
+ case 2:
+ case 3:
+ func_800AB098(menuItem);
break;
}
break;
- case 0x58: /* switch 8 */
- case 0x59: /* switch 8 */
- case 0x5A: /* switch 8 */
- case 0x5B: /* switch 8 */
- func_800AB260(var_s1);
- break;
- case 0x64: /* switch 8 */
- func_800AB314(var_s1);
+ case MENU_ITEM_TYPE_058:
+ case COURSE_SELECT_COURSE_NAMES:
+ case MENU_ITEM_TYPE_05A:
+ case MENU_ITEM_TYPE_05B:
+ func_800AB260(menuItem);
break;
- case 0x5F: /* switch 8 */
- case 0x60: /* switch 8 */
- case 0x61: /* switch 8 */
- case 0x62: /* switch 8 */
- func_800AB290(var_s1);
+ case MENU_ITEM_TYPE_064:
+ func_800AB314(menuItem);
break;
- case 0x65: /* switch 8 */
- case 0x66: /* switch 8 */
- func_800AB904(var_s1);
+ case MENU_ITEM_TYPE_05F:
+ case MENU_ITEM_TYPE_060:
+ case MENU_ITEM_TYPE_061:
+ case MENU_ITEM_TYPE_062:
+ func_800AB290(menuItem);
break;
- case 0x67: /* switch 8 */
- func_800AB9B0(var_s1);
+ case MENU_ITEM_TYPE_065:
+ case MENU_ITEM_TYPE_066:
+ func_800AB904(menuItem);
break;
- case 0x78: /* switch 8 */
- case 0x79: /* switch 8 */
- case 0x7A: /* switch 8 */
- case 0x7B: /* switch 8 */
- case 0x8C: /* switch 8 */
- func_800ABAE8(var_s1);
+ case MENU_ITEM_TYPE_067:
+ func_800AB9B0(menuItem);
break;
- case 0x8D: /* switch 8 */
- func_800ABB24(var_s1);
+ case MENU_ITEM_TYPE_078:
+ case MENU_ITEM_TYPE_079:
+ case MENU_ITEM_TYPE_07A:
+ case MENU_ITEM_TYPE_07B:
+ case MENU_ITEM_TYPE_08C:
+ func_800ABAE8(menuItem);
break;
- case 0x7C: /* switch 8 */
- case 0x7D: /* switch 8 */
- case 0x7E: /* switch 8 */
- case 0x7F: /* switch 8 */
- case 0x80: /* switch 8 */
- case 0x81: /* switch 8 */
- case 0x82: /* switch 8 */
- case 0x83: /* switch 8 */
- case 0x84: /* switch 8 */
- case 0x85: /* switch 8 */
- case 0x86: /* switch 8 */
- case 0x87: /* switch 8 */
- case 0x88: /* switch 8 */
- case 0x89: /* switch 8 */
- case 0x8A: /* switch 8 */
- case 0x8B: /* switch 8 */
- func_800ABBCC(var_s1);
- break;
- case 0x96: /* switch 8 */
- func_800ABC38(var_s1);
- break;
- case 0x97: /* switch 8 */
- func_800ABEAC(var_s1);
- break;
- case 0x5E: /* switch 8 */
- func_800AC300(var_s1);
- break;
- case 0xAA: /* switch 8 */
- func_800AC324(var_s1);
- break;
- case 0xAB: /* switch 8 */
- func_800AC458(var_s1);
- break;
- case 0xAC: /* switch 8 */
- func_800ACA14(var_s1);
- break;
- case 0xAF: /* switch 8 */
- func_800AC978(var_s1);
- break;
- case 0xB0: /* switch 8 */
- func_800ACC50(var_s1);
- break;
- case 0xB1: /* switch 8 */
- case 0xB2: /* switch 8 */
- case 0xB3: /* switch 8 */
- case 0xB4: /* switch 8 */
- func_800ACF40(var_s1);
- break;
- case 0xB9: /* switch 8 */
- func_800AD1A4(var_s1);
- break;
- case 0xBA: /* switch 8 */
- func_800AD2E8(var_s1);
- break;
- case 0xBC: /* switch 8 */
- func_800AEC54(var_s1);
- break;
- case 0xC7: /* switch 8 */
- func_800ADF48(var_s1);
- break;
- case 0xBD: /* switch 8 */
- func_800AE218(var_s1);
- break;
- case 0xE6: /* switch 8 */
- func_800AEDBC(var_s1);
- break;
- case 0xE8: /* switch 8 */
- func_800AEE90(var_s1);
- break;
- case 0xE9: /* switch 8 */
- func_800AEEBC(var_s1);
- break;
- case 0xEA: /* switch 8 */
- func_800AEEE8(var_s1);
- break;
- case 0xBE: /* switch 8 */
- func_800AEF14(var_s1);
- break;
- case 0x10E: /* switch 8 */
- func_800AEF74(var_s1);
- break;
- case 0x12B: /* switch 8 */
- func_800AF004(var_s1);
- break;
- case 0x12C: /* switch 8 */
- case 0x12D: /* switch 8 */
- case 0x12E: /* switch 8 */
- case 0x12F: /* switch 8 */
- func_800AF1AC(var_s1);
- break;
- case 0x130: /* switch 8 */
- func_800AF270(var_s1);
- break;
- case 0x190: /* switch 8 */
- case 0x191: /* switch 8 */
- case 0x192: /* switch 8 */
- case 0x193: /* switch 8 */
- case 0x194: /* switch 8 */
- case 0x195: /* switch 8 */
- case 0x196: /* switch 8 */
- case 0x197: /* switch 8 */
- case 0x198: /* switch 8 */
- case 0x199: /* switch 8 */
- case 0x19A: /* switch 8 */
- case 0x19B: /* switch 8 */
- case 0x19C: /* switch 8 */
- case 0x19D: /* switch 8 */
- case 0x19E: /* switch 8 */
- case 0x19F: /* switch 8 */
- case 0x1A0: /* switch 8 */
- case 0x1A1: /* switch 8 */
- case 0x1A2: /* switch 8 */
- case 0x1A3: /* switch 8 */
- case 0x1A4: /* switch 8 */
- case 0x1A5: /* switch 8 */
- case 0x1A6: /* switch 8 */
- case 0x1A7: /* switch 8 */
- case 0x1A8: /* switch 8 */
- case 0x1A9: /* switch 8 */
- case 0x1AA: /* switch 8 */
- case 0x1AB: /* switch 8 */
- case 0x1AC: /* switch 8 */
- case 0x1AD: /* switch 8 */
- case 0x1AE: /* switch 8 */
- case 0x1AF: /* switch 8 */
- case 0x1B0: /* switch 8 */
- case 0x1B1: /* switch 8 */
- case 0x1B2: /* switch 8 */
- case 0x1B3: /* switch 8 */
- case 0x1B4: /* switch 8 */
- case 0x1B5: /* switch 8 */
- case 0x1B6: /* switch 8 */
- case 0x1B7: /* switch 8 */
- case 0x1B8: /* switch 8 */
- case 0x1B9: /* switch 8 */
- case 0x1BA: /* switch 8 */
- case 0x1BB: /* switch 8 */
- case 0x1BC: /* switch 8 */
- case 0x1BD: /* switch 8 */
- case 0x1BE: /* switch 8 */
- case 0x1BF: /* switch 8 */
- case 0x1C0: /* switch 8 */
- case 0x1C1: /* switch 8 */
- case 0x1C2: /* switch 8 */
- case 0x1C3: /* switch 8 */
- case 0x1C4: /* switch 8 */
- case 0x1C5: /* switch 8 */
- case 0x1C6: /* switch 8 */
- case 0x1C7: /* switch 8 */
- case 0x1C8: /* switch 8 */
- case 0x1C9: /* switch 8 */
- case 0x1CA: /* switch 8 */
- case 0x1CB: /* switch 8 */
- case 0x1CC: /* switch 8 */
- case 0x1CD: /* switch 8 */
- case 0x1CE: /* switch 8 */
- func_800AF480(var_s1);
+ case MENU_ITEM_TYPE_08D:
+ func_800ABB24(menuItem);
break;
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- break;
- }
- }
-
- for (var_s0 = 0; var_s0 < 0x10; var_s0++) {
- for (var_v1_2 = 0; var_v1_2 < D_8018D9E0_SIZE; var_v1_2++) {
- var_v1 = 0;
- var_s1 = &D_8018D9E0[var_v1_2];
- if (var_s1 && var_s1) {} // ?
- type = var_s1->type;
- if ((type == 4) || (type == 5) || (type == 0x000000C7)) {
- if (arg0 != 0) {
- var_v1 = 1;
- }
- } else if (arg0 == 0) {
- var_v1 = 1;
- }
- if ((var_v1 != 0) && (var_s0 == (s8) var_s1->priority)) {
- func_8009F5E0(var_s1);
- }
- }
- }
-}
-
-void func_800A8230(void) {
- func_800A7A4C(0);
-}
-
-void func_800A8250(void) {
- func_800A7A4C(1);
-}
-
-void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) {
+ case MENU_ITEM_TYPE_07C:
+ case MENU_ITEM_TYPE_07D:
+ case MENU_ITEM_TYPE_07E:
+ case MENU_ITEM_TYPE_07F:
+ case MENU_ITEM_TYPE_080:
+ case MENU_ITEM_TYPE_081:
+ case MENU_ITEM_TYPE_082:
+ case MENU_ITEM_TYPE_083:
+ case MENU_ITEM_TYPE_084:
+ case MENU_ITEM_TYPE_085:
+ case MENU_ITEM_TYPE_086:
+ case MENU_ITEM_TYPE_087:
+ case MENU_ITEM_TYPE_088:
+ case MENU_ITEM_TYPE_089:
+ case MENU_ITEM_TYPE_08A:
+ case MENU_ITEM_TYPE_08B:
+ func_800ABBCC(menuItem);
+ break;
+ case MENU_ITEM_TYPE_096:
+ func_800ABC38(menuItem);
+ break;
+ case MENU_ITEM_TYPE_097:
+ func_800ABEAC(menuItem);
+ break;
+ case MENU_ITEM_TYPE_05E:
+ func_800AC300(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0AA:
+ func_800AC324(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0AB:
+ func_800AC458(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0AC:
+ func_800ACA14(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0AF:
+ func_800AC978(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0B0:
+ func_800ACC50(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0B1:
+ case MENU_ITEM_TYPE_0B2:
+ case MENU_ITEM_TYPE_0B3:
+ case MENU_ITEM_TYPE_0B4:
+ func_800ACF40(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0B9:
+ func_800AD1A4(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0BA:
+ func_800AD2E8(menuItem);
+ break;
+ case MENU_ITEM_ANNOUNCE_GHOST:
+ func_800AEC54(menuItem);
+ break;
+ case MENU_ITEM_PAUSE:
+ func_800ADF48(menuItem);
+ break;
+ case MENU_ITEM_END_COURSE_OPTION:
+ func_800AE218(menuItem);
+ break;
+ case MENU_ITEM_DATA_COURSE_IMAGE:
+ func_800AEDBC(menuItem);
+ break;
+ case MENU_ITEM_DATA_COURSE_SELECTABLE:
+ func_800AEE90(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0E9:
+ func_800AEEBC(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0EA:
+ func_800AEEE8(menuItem);
+ break;
+ case MENU_ITEM_TYPE_0BE:
+ func_800AEF14(menuItem);
+ break;
+ case MENU_ITEM_TYPE_10E:
+ func_800AEF74(menuItem);
+ break;
+ case MENU_ITEM_TYPE_12B:
+ func_800AF004(menuItem);
+ break;
+ case MENU_ITEM_TYPE_12C:
+ case MENU_ITEM_TYPE_12D:
+ case MENU_ITEM_TYPE_12E:
+ case MENU_ITEM_TYPE_12F:
+ func_800AF1AC(menuItem);
+ break;
+ case MENU_ITEM_TYPE_130:
+ func_800AF270(menuItem);
+ break;
+ case MENU_ITEM_TYPE_190:
+ case MENU_ITEM_TYPE_191:
+ case MENU_ITEM_TYPE_192:
+ case MENU_ITEM_TYPE_193:
+ case MENU_ITEM_TYPE_194:
+ case MENU_ITEM_TYPE_195:
+ case MENU_ITEM_TYPE_196:
+ case MENU_ITEM_TYPE_197:
+ case MENU_ITEM_TYPE_198:
+ case MENU_ITEM_TYPE_199:
+ case MENU_ITEM_TYPE_19A:
+ case MENU_ITEM_TYPE_19B:
+ case MENU_ITEM_TYPE_19C:
+ case MENU_ITEM_TYPE_19D:
+ case MENU_ITEM_TYPE_19E:
+ case MENU_ITEM_TYPE_19F:
+ case MENU_ITEM_TYPE_1A0:
+ case MENU_ITEM_TYPE_1A1:
+ case MENU_ITEM_TYPE_1A2:
+ case MENU_ITEM_TYPE_1A3:
+ case MENU_ITEM_TYPE_1A4:
+ case MENU_ITEM_TYPE_1A5:
+ case MENU_ITEM_TYPE_1A6:
+ case MENU_ITEM_TYPE_1A7:
+ case MENU_ITEM_TYPE_1A8:
+ case MENU_ITEM_TYPE_1A9:
+ case MENU_ITEM_TYPE_1AA:
+ case MENU_ITEM_TYPE_1AB:
+ case MENU_ITEM_TYPE_1AC:
+ case MENU_ITEM_TYPE_1AD:
+ case MENU_ITEM_TYPE_1AE:
+ case MENU_ITEM_TYPE_1AF:
+ case MENU_ITEM_TYPE_1B0:
+ case MENU_ITEM_TYPE_1B1:
+ case MENU_ITEM_TYPE_1B2:
+ case MENU_ITEM_TYPE_1B3:
+ case MENU_ITEM_TYPE_1B4:
+ case MENU_ITEM_TYPE_1B5:
+ case MENU_ITEM_TYPE_1B6:
+ case MENU_ITEM_TYPE_1B7:
+ case MENU_ITEM_TYPE_1B8:
+ case MENU_ITEM_TYPE_1B9:
+ case MENU_ITEM_TYPE_1BA:
+ case MENU_ITEM_TYPE_1BB:
+ case MENU_ITEM_TYPE_1BC:
+ case MENU_ITEM_TYPE_1BD:
+ case MENU_ITEM_TYPE_1BE:
+ case MENU_ITEM_TYPE_1BF:
+ case MENU_ITEM_TYPE_1C0:
+ case MENU_ITEM_TYPE_1C1:
+ case MENU_ITEM_TYPE_1C2:
+ case MENU_ITEM_TYPE_1C3:
+ case MENU_ITEM_TYPE_1C4:
+ case MENU_ITEM_TYPE_1C5:
+ case MENU_ITEM_TYPE_1C6:
+ case MENU_ITEM_TYPE_1C7:
+ case MENU_ITEM_TYPE_1C8:
+ case MENU_ITEM_TYPE_1C9:
+ case MENU_ITEM_TYPE_1CA:
+ case MENU_ITEM_TYPE_1CB:
+ case MENU_ITEM_TYPE_1CC:
+ case MENU_ITEM_TYPE_1CD:
+ case MENU_ITEM_TYPE_1CE:
+ func_800AF480(menuItem);
+ break;
+ case MENU_ITEM_UI_NONE:
+ case MENU_ITEM_UI_START_BACKGROUND:
+ case MENU_ITEM_UI_LOGO_AND_COPYRIGHT:
+ case MENU_ITEM_UI_PUSH_START_BUTTON:
+ case MENU_ITEM_UI_NO_CONTROLLER:
+ break;
+ }
+ }
+
+ for (j = 0; j < MENU_ITEM_PRIORITY_MAX; j++) {
+ for (i = 0; i < MENU_ITEMS_MAX; i++) {
+ isRendered = false;
+ menuItem = &gMenuItems[i];
+ if (menuItem && menuItem) {} // ?
+ type = menuItem->type;
+ if ((type == MENU_ITEM_UI_NO_CONTROLLER) || (type == MENU_ITEM_UI_START_RECORD_TIME) || (type == MENU_ITEM_PAUSE)) {
+ if (priSpecial != 0) {
+ isRendered = true;
+ }
+ } else if (priSpecial == 0) {
+ isRendered = true;
+ }
+ if ((isRendered) && (j == (s8) menuItem->priority)) {
+ render_menus(menuItem);
+ }
+ }
+ }
+}
+
+void handle_menus_default(void) {
+ handle_menus_with_pri_arg(0);
+}
+
+void handle_menus_special(void) {
+ handle_menus_with_pri_arg(1);
+}
+
+void func_800A8270(s32 arg0, MenuItem* arg1) {
s32 temp_t1;
s32 temp_t6;
s32 var_s0;
@@ -9032,8 +9016,8 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) {
s32 var_s3;
s32 var_s4;
- if (arg1->unk1C < 0x20) {
- temp_t6 = (arg1->unk1C << 6) / 64;
+ if (arg1->param1 < 0x20) {
+ temp_t6 = (arg1->param1 << 6) / 64;
temp_t1 = arg1->column;
var_s0 = arg1->row;
var_s3 = temp_t1 + temp_t6;
@@ -9042,8 +9026,8 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) {
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
if ((arg0 + 1) == gPlayerCount) {
- if ((gMainMenuSelectionDepth == OPTIONS_SELECTION) || (gMainMenuSelectionDepth == DATA_SELECTION) ||
- (gMainMenuSelectionDepth == PLAYER_NUM_SELECTION)) {
+ if ((gMainMenuSelection == MAIN_MENU_OPTION) || (gMainMenuSelection == MAIN_MENU_DATA) ||
+ (gMainMenuSelection == MAIN_MENU_PLAYER_SELECT)) {
gDisplayListHead = draw_flash_select_case_slow(gDisplayListHead, var_s3, var_s0, var_s4, var_s0 + 0x35);
} else {
gDisplayListHead = draw_box_fill(gDisplayListHead, var_s3, var_s0, var_s4, var_s0 + 0x35, 0x000000FF,
@@ -9053,8 +9037,8 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) {
gDisplayListHead = func_80098FC8(gDisplayListHead, var_s3, var_s0, var_s4, var_s0 + 0x35);
}
for (var_s0 += 0x41, var_s2 = 0; var_s2 <= gPlayerModeSelection[arg0]; var_s2++, var_s0 += 0x12) {
- if ((var_s2 == D_800E86AC[arg0]) && ((arg0 + 1) == gPlayerCount) && (gMainMenuSelectionDepth >= 4)) {
- if (gMainMenuSelectionDepth == GAME_MODE_SELECTION) {
+ if ((var_s2 == gGameModeMenuColumn[arg0]) && ((arg0 + 1) == gPlayerCount) && (gMainMenuSelection >= 4)) {
+ if (gMainMenuSelection == MAIN_MENU_MODE_SELECT) {
gDisplayListHead =
draw_flash_select_case_slow(gDisplayListHead, var_s3, var_s0, var_s4, var_s0 + 0x11);
} else {
@@ -9069,39 +9053,39 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) {
}
}
-void func_800A8564(struct_8018D9E0_entry* arg0) {
+void func_800A8564(MenuItem* arg0) {
s32 sp34;
s32 var_a1;
- MkTexture* var_a0;
+ MenuTexture* var_a0;
s32 temp_a2;
s32 temp_t0;
var_a1 = 0;
- switch (arg0->type) { /* irregular */
+ switch (arg0->type) {
case 0xF:
var_a0 = D_0200487C;
- if ((gMainMenuSelectionDepth == CONFIRM_OK_SELECTION) ||
- (gMainMenuSelectionDepth == CONFIRM_OK_SELECTION_FROM_BACK_OUT)) {
+ if ((gMainMenuSelection == MAIN_MENU_OK_SELECT) ||
+ (gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK)) {
var_a1 = 1;
}
break;
case 0x33:
var_a0 = D_02004B74;
- if ((D_8018EDEE == 2) || (D_8018EDEE == 3)) {
+ if ((gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK) || (gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK_GO_BACK)) {
var_a1 = 1;
}
break;
case 0x5D:
var_a0 = D_02004E80;
- if (D_8018EDEC == 3) {
+ if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) {
var_a1 = 1;
}
break;
default:
return;
}
- if (arg0->unk1C < 0x20) {
- sp34 = (arg0->unk1C << 5) / 64;
+ if (arg0->param1 < 0x20) {
+ sp34 = (arg0->param1 << 5) / 64;
var_a0 = segmented_to_virtual_dupe(var_a0);
temp_t0 = arg0->column + var_a0->dX;
temp_a2 = arg0->row + var_a0->dY;
@@ -9115,50 +9099,50 @@ void func_800A8564(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A86E8(struct_8018D9E0_entry* arg0) {
+void func_800A86E8(MenuItem* arg0) {
gDisplayListHead =
draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x64, arg0->row + 0x27, 1, 1, 1, 0xFF);
}
// Credit for the use of ternary operators goes to LLONSIT
-void func_800A874C(struct_8018D9E0_entry* arg0) {
+void func_800A874C(MenuItem* arg0) {
UNUSED s32 stackPadding0;
- char sp58[3];
+ char buffer[3];
UNUSED s32 stackPadding1;
UNUSED s32 stackPadding2;
s32 temp_s1;
UNUSED u32 var_v0;
u32 var_s2;
- set_text_color(1);
- var_s2 = arg0->type == 0x00000065 ? func_800B4E24(0) : func_800B4F2C();
+ set_text_color(TEXT_GREEN);
+ var_s2 = arg0->type == MENU_ITEM_TYPE_065 ? func_800B4E24(0) : func_800B4F2C();
temp_s1 = var_s2 & 0xFFFFF;
- get_time_record_minutes((temp_s1 ^ 0), sp58);
- text_draw(arg0->column + 5, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f);
- func_80093324(arg0->column + 0xE, arg0->row + 0x21, "'", 0, 0.6f, 0.65f);
- get_time_record_seconds(temp_s1, sp58);
- text_draw(arg0->column + 0x16, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f);
- func_80093324(arg0->column + 0x20, arg0->row + 0x21, "\"", 0, 0.6f, 0.65f);
- get_time_record_centiseconds(temp_s1, sp58);
- text_draw(arg0->column + 0x29, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f);
+ get_time_record_minutes((temp_s1 ^ 0), buffer);
+ text_draw(arg0->column + 5, arg0->row + 0x21, buffer, 0, 0.6f, 0.65f);
+ print_text_mode_1(arg0->column + 0xE, arg0->row + 0x21, "'", 0, 0.6f, 0.65f);
+ get_time_record_seconds(temp_s1, buffer);
+ text_draw(arg0->column + 0x16, arg0->row + 0x21, buffer, 0, 0.6f, 0.65f);
+ print_text_mode_1(arg0->column + 0x20, arg0->row + 0x21, "\"", 0, 0.6f, 0.65f);
+ get_time_record_centiseconds(temp_s1, buffer);
+ text_draw(arg0->column + 0x29, arg0->row + 0x21, buffer, 0, 0.6f, 0.65f);
var_s2 = (u32) temp_s1 < 0x927C0U ? var_s2 >> 0x14 : 8;
- func_800936B8(arg0->column + 0x60, arg0->row + 0x21, D_800E76A8[var_s2], 0, 0.6f, 0.65f);
+ print_text1_left(arg0->column + 0x60, arg0->row + 0x21, D_800E76A8[var_s2], 0, 0.6f, 0.65f);
}
-void func_800A890C(s32 arg0, struct_8018D9E0_entry* arg1) {
+void func_800A890C(s32 arg0, MenuItem* arg1) {
s32 temp_a2;
s32 temp_t1;
s32 temp_t7;
- if (arg1->unk1C < 32) {
+ if (arg1->param1 < 32) {
if (1) {}
- temp_t7 = (arg1->unk1C * 65) / 64;
+ temp_t7 = (arg1->param1 * 65) / 64;
temp_t1 = arg1->column;
temp_a2 = arg1->row;
gDPPipeSync(gDisplayListHead++);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
if (arg0 == GetCupIndex()) {
- if (D_8018EDEC == 1) {
+ if (gSubMenuSelection == SUB_MENU_MAP_SELECT_CUP) {
gDisplayListHead = draw_flash_select_case_slow(gDisplayListHead, temp_t1 + temp_t7, temp_a2,
(temp_t1 - temp_t7) + 64, temp_a2 + 39);
} else {
@@ -9172,7 +9156,7 @@ void func_800A890C(s32 arg0, struct_8018D9E0_entry* arg1) {
}
}
-void func_800A8A98(struct_8018D9E0_entry* arg0) {
+void func_800A8A98(MenuItem* arg0) {
s32 temp_s2;
s32 temp_s3;
s32 someIndex;
@@ -9183,8 +9167,8 @@ void func_800A8A98(struct_8018D9E0_entry* arg0) {
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
for (someIndex = 0; someIndex < GetCupSize(); someIndex++) {
- if ((someIndex == GetCupCursorPosition()) && (D_8018EDEC >= 2) && (gModeSelection != GRAND_PRIX)) {
- if ((D_8018EDEC == 2) || (D_8018EDEC == 4)) {
+ if ((someIndex == GetCupCursorPosition()) && (gSubMenuSelection > SUB_MENU_MAP_SELECT_CUP) && (gModeSelection != GRAND_PRIX)) {
+ if ((gSubMenuSelection == SUB_MENU_MAP_SELECT_COURSE) || (gSubMenuSelection == SUB_MENU_MAP_SELECT_BATTLE_COURSE)) {
gDisplayListHead = draw_flash_select_case_slow(
gDisplayListHead, D_800E7208[someIndex][0].column + temp_s2, D_800E7208[someIndex][0].row + temp_s3,
D_800E7208[someIndex][1].column + temp_s2, D_800E7208[someIndex][1].row + temp_s3);
@@ -9202,23 +9186,23 @@ void func_800A8A98(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A8CA4(struct_8018D9E0_entry* arg0) {
+void func_800A8CA4(MenuItem* arg0) {
s32 temp_s2;
s32 temp_s3;
s32 var_s0;
- struct_8018D9E0_entry* temp_v0;
+ MenuItem* temp_v0;
- temp_v0 = find_8018D9E0_entry_dupe(0x00000064);
+ temp_v0 = find_menu_items_dupe(MENU_ITEM_TYPE_064);
temp_s2 = arg0->column;
temp_s3 = arg0->row;
gDPPipeSync(gDisplayListHead++);
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA);
if (gModeSelection == GRAND_PRIX) {
- if (D_8018EDEC != 3) {
+ if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) {
for (var_s0 = 0; var_s0 < 4; var_s0++) {
// Wut?
- if ((var_s0 != (temp_v0->unk1C % 4)) != 0) {
+ if ((var_s0 != (temp_v0->param1 % 4)) != 0) {
gDisplayListHead =
draw_box_wide(gDisplayListHead, D_800E7208[var_s0][0].column + temp_s2,
D_800E7208[var_s0][0].row + temp_s3, D_800E7208[var_s0][1].column + temp_s2,
@@ -9229,22 +9213,22 @@ void func_800A8CA4(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A8E14(UNUSED struct_8018D9E0_entry* arg0) {
+void render_battle_introduction(UNUSED MenuItem* arg0) {
set_text_color(TEXT_YELLOW);
- draw_text(0x98, 0x44, D_800E77A8[0], 0, 1.0f, 1.0f);
- func_80093324(0x17, 0x58, D_800E77A8[1], 0, 0.7f, 0.8f);
- func_80093324(0x17, 0x6A, D_800E77A8[2], 0, 0.7f, 0.8f);
+ print_text1_center_mode_1(0x98, 0x44, gTextBattleIntroduction[0], 0, 1.0f, 1.0f);
+ print_text_mode_1(0x17, 0x58, gTextBattleIntroduction[1], 0, 0.7f, 0.8f);
+ print_text_mode_1(0x17, 0x6A, gTextBattleIntroduction[2], 0, 0.7f, 0.8f);
}
-void func_800A8EC0(struct_8018D9E0_entry* arg0) {
- if (arg0->unk20 != 0) {
+void func_800A8EC0(MenuItem* arg0) {
+ if (arg0->param2 != 0) {
func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, -1);
set_text_color(TEXT_YELLOW);
- func_80093324(arg0->column + 0x20, arg0->row + 0x28, D_800E7678[arg0->unk20], 0, 0.7f, 0.7f);
+ print_text_mode_1(arg0->column + 0x20, arg0->row + 0x28, gCupText[arg0->param2], 0, 0.7f, 0.7f);
}
}
-void func_800A8F48(UNUSED struct_8018D9E0_entry* arg0) {
+void func_800A8F48(UNUSED MenuItem* arg0) {
UNUSED Gfx* temp_v0_2;
Unk_D_800E70A0* temp_v0;
s16 temp_s0;
@@ -9252,8 +9236,8 @@ void func_800A8F48(UNUSED struct_8018D9E0_entry* arg0) {
s32 temp_s2;
s32 var_s1;
- switch (D_8018EDEC) { /* irregular */
- case 1:
+ switch (gSubMenuSelection) { /* irregular */
+ case SUB_MENU_MAP_SELECT_CUP:
for (var_s1 = 0; var_s1 < 4; var_s1++) {
if (func_800B639C((GetCupIndex() * 4) + var_s1) >= 0) {
temp_v0 = &D_800E7168[var_s1];
@@ -9267,24 +9251,24 @@ void func_800A8F48(UNUSED struct_8018D9E0_entry* arg0) {
}
}
break;
- case 2:
+ case SUB_MENU_MAP_SELECT_COURSE:
default:
if (func_800B639C((GetCupIndex() * 4) + GetCupCursorPosition()) >= 0) {
gDisplayListHead = func_80098FC8(gDisplayListHead, 0x00000057, 0x00000070, 0x00000096, 0x00000081);
- gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A0C, 0x00000057, 0x00000070);
+ gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004A0C, 0x00000057, 0x00000070);
}
break;
}
}
-void func_800A90D4(UNUSED s32 arg0, struct_8018D9E0_entry* arg1) {
+void func_800A90D4(UNUSED s32 arg0, MenuItem* arg1) {
s32 temp_a2;
s32 temp_t1;
s32 temp_t7;
- if (arg1->unk1C < 0x20) {
+ if (arg1->param1 < 0x20) {
if (1) {}
- temp_t7 = (arg1->unk1C * 0x41) / 0x40;
+ temp_t7 = (arg1->param1 * 0x41) / 0x40;
temp_t1 = arg1->column;
temp_a2 = arg1->row;
gDPPipeSync(gDisplayListHead++);
@@ -9295,12 +9279,12 @@ void func_800A90D4(UNUSED s32 arg0, struct_8018D9E0_entry* arg1) {
}
}
-void func_800A91D8(struct_8018D9E0_entry* arg0, s32 columnTarget, s32 rowTarget) {
+void func_800A91D8(MenuItem* arg0, s32 columnTarget, s32 rowTarget) {
func_800A9208(arg0, columnTarget);
func_800A9278(arg0, rowTarget);
}
-void func_800A9208(struct_8018D9E0_entry* arg0, s32 columnTarget) {
+void func_800A9208(MenuItem* arg0, s32 columnTarget) {
s32 step = columnTarget - arg0->column;
if (step != 0) {
@@ -9319,7 +9303,7 @@ void func_800A9208(struct_8018D9E0_entry* arg0, s32 columnTarget) {
arg0->column += step;
}
-void func_800A9278(struct_8018D9E0_entry* arg0, s32 rowTarget) {
+void func_800A9278(MenuItem* arg0, s32 rowTarget) {
s32 step = rowTarget - arg0->row;
if (step != 0) {
@@ -9338,7 +9322,7 @@ void func_800A9278(struct_8018D9E0_entry* arg0, s32 rowTarget) {
arg0->row += step;
}
-void func_800A92E8(struct_8018D9E0_entry* arg0, s32 columnTarget) {
+void func_800A92E8(MenuItem* arg0, s32 columnTarget) {
s32 step = columnTarget - arg0->column;
if (step != 0) {
@@ -9371,7 +9355,7 @@ void func_800A92E8(struct_8018D9E0_entry* arg0, s32 columnTarget) {
}
// Appears to be a copy of func_800A9278
-UNUSED void func_800A939C(struct_8018D9E0_entry* arg0, s32 rowTarget) {
+UNUSED void func_800A939C(MenuItem* arg0, s32 rowTarget) {
s32 step = rowTarget - arg0->row;
if (step != 0) {
@@ -9390,7 +9374,7 @@ UNUSED void func_800A939C(struct_8018D9E0_entry* arg0, s32 rowTarget) {
arg0->row += step;
}
-void func_800A940C(struct_8018D9E0_entry* arg0, s32 columnTarget) {
+void func_800A940C(MenuItem* arg0, s32 columnTarget) {
s32 step = columnTarget - arg0->column;
if (step != 0) {
@@ -9421,7 +9405,7 @@ void func_800A940C(struct_8018D9E0_entry* arg0, s32 columnTarget) {
}
}
-void func_800A94C8(struct_8018D9E0_entry* arg0, s32 columnTarget, s32 arg2) {
+void func_800A94C8(MenuItem* arg0, s32 columnTarget, s32 arg2) {
s32 step;
if (columnTarget == arg0->column) {
@@ -9445,24 +9429,24 @@ void func_800A94C8(struct_8018D9E0_entry* arg0, s32 columnTarget, s32 arg2) {
}
}
-void func_800A954C(struct_8018D9E0_entry* arg0) {
+void func_800A954C(MenuItem* arg0) {
// Cycle lasts 26 (0x1A) frames
- if (arg0->cursor == 0) {
+ if (arg0->state == 0) {
// Move highlight from yellow to red
- arg0->unk20 = (s32) (u32) ((((f32) (0xC - arg0->unk1C) * 127.0f) / 12.0f) + 128.0f);
+ arg0->param2 = (s32) (u32) ((((f32) (0xC - arg0->param1) * 127.0f) / 12.0f) + 128.0f);
} else {
// Move highlight from red to yellow
- arg0->unk20 = (s32) (u32) ((((f64) (f32) arg0->unk1C * 127.0) / 12.0) + 128.0);
+ arg0->param2 = (s32) (u32) ((((f64) (f32) arg0->param1 * 127.0) / 12.0) + 128.0);
}
- arg0->unk1C++;
- if (arg0->unk1C >= 0xC) {
+ arg0->param1++;
+ if (arg0->param1 >= 0xC) {
// Every 13 (0xC) frames reverse direction
- arg0->unk1C = 0;
- arg0->cursor ^= 1;
+ arg0->param1 = 0;
+ arg0->state ^= 1;
}
}
-void func_800A9710(struct_8018D9E0_entry* arg0) {
+void func_800A9710(MenuItem* arg0) {
s32 phi_v0;
switch (gControllerPakMenuSelection) {
@@ -9487,33 +9471,33 @@ void func_800A9710(struct_8018D9E0_entry* arg0) {
phi_v0 = 0;
break;
}
- if (phi_v0 != arg0->cursor) {
- arg0->cursor = phi_v0;
+ if (phi_v0 != arg0->state) {
+ arg0->state = phi_v0;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7D34[phi_v0]));
}
}
-void func_800A97BC(struct_8018D9E0_entry* arg0) {
+void func_800A97BC(MenuItem* arg0) {
s32 i;
- switch (*D_800E86D0) {
+ switch (gControllerPakScrollDirection) {
case 1:
arg0->row -= 2;
if (arg0->row < 0x60) {
arg0->row = 0x69;
- *D_800E86D0 = 0;
+ gControllerPakScrollDirection = 0;
for (i = 0; i < 8; i++) {
if (i < 7) {
- D_800E86C4[i] = D_800E86C4[i + 1];
+ gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i + 1];
} else {
- if ((D_800E86C4[i - 1] == 0x10) || (D_800E86C4[i - 1] == 0)) {
- D_800E86C4[i] = 0;
+ if ((gControllerPakVisibleTableRows[i - 1] == 0x10) || (gControllerPakVisibleTableRows[i - 1] == 0)) {
+ gControllerPakVisibleTableRows[i] = 0;
} else {
- D_800E86C4[i] = D_800E86C4[i - 1] + 1;
+ gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i - 1] + 1;
}
}
}
- D_800E86C4[0] = D_800E86C4[8] = 0;
+ gControllerPakVisibleTableRows[0] = gControllerPakVisibleTableRows[8] = 0;
}
break;
@@ -9521,35 +9505,35 @@ void func_800A97BC(struct_8018D9E0_entry* arg0) {
arg0->row += 2;
if (arg0->row >= 0x73) {
arg0->row = 0x69;
- *D_800E86D0 = 0;
+ gControllerPakScrollDirection = 0;
for (i = 8; i > 0; i--) {
if (i > 1) {
- D_800E86C4[i] = D_800E86C4[i - 1];
+ gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i - 1];
} else {
- if ((D_800E86C4[i + 1] == 1) || (D_800E86C4[i + 1] == 0)) {
- D_800E86C4[i] = 0;
+ if ((gControllerPakVisibleTableRows[i + 1] == 1) || (gControllerPakVisibleTableRows[i + 1] == 0)) {
+ gControllerPakVisibleTableRows[i] = 0;
} else {
- D_800E86C4[i] = D_800E86C4[i + 1] - 1;
+ gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i + 1] - 1;
}
}
}
- D_800E86C4[0] = D_800E86C4[8] = 0;
+ gControllerPakVisibleTableRows[0] = gControllerPakVisibleTableRows[8] = 0;
break;
default:
- *D_800E86D0 = 0;
+ gControllerPakScrollDirection = 0;
break;
}
}
} // todo: <-- fix these brackets
-// Don't know if this belongs here or inside func_800A9A98
+// Don't know if this belongs here or inside update_ok_menu_item
// as a `static const`. But this matches so we'll leave
// it here for now.
const s8 D_800F0CA0[] = {
0x03, 0x03, 0x03, 0x02, 0x00, 0x02, 0x02, 0x01, 0x03, 0x02, 0x00, 0x00, 0x03, 0x03, 0x02, 0x00
};
-void func_800A9A98(struct_8018D9E0_entry* arg0) {
+void update_ok_menu_item(MenuItem* arg0) {
s32 sp4;
s32 var_v0;
@@ -9557,64 +9541,64 @@ void func_800A9A98(struct_8018D9E0_entry* arg0) {
default:
var_v0 = sp4; // wut?
break;
- case 0xF:
- var_v0 = D_800F0CA0[gMainMenuSelectionDepth - 1];
+ case MENU_ITEM_UI_OK:
+ var_v0 = D_800F0CA0[gMainMenuSelection - 1];
break;
- case 0x5D:
- var_v0 = D_800F0CA0[D_8018EDEC + 11];
+ case COURSE_SELECT_OK:
+ var_v0 = D_800F0CA0[gSubMenuSelection + 11];
break;
- case 0x33:
- var_v0 = D_800F0CA0[D_8018EDEE + 7];
+ case CHARACTER_SELECT_MENU_OK:
+ var_v0 = D_800F0CA0[gPlayerSelectMenuSelection + 7];
break;
}
switch (var_v0) { /* switch 1; irregular */
case 0: /* switch 1 */
- arg0->unk1C = 0;
+ arg0->param1 = 0;
break;
case 1: /* switch 1 */
- arg0->unk1C = 0x00000020;
+ arg0->param1 = 0x00000020;
break;
case 2: /* switch 1 */
- if (arg0->unk1C > 0) {
- arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2;
- if (arg0->unk1C < 0) {
- arg0->unk1C = 0;
+ if (arg0->param1 > 0) {
+ arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2;
+ if (arg0->param1 < 0) {
+ arg0->param1 = 0;
}
}
break;
case 3: /* switch 1 */
- if (arg0->unk1C < 0x20) {
- arg0->unk1C += 2;
- if (arg0->unk1C >= 0x20) {
- arg0->unk1C = 0x00000020;
+ if (arg0->param1 < 0x20) {
+ arg0->param1 += 2;
+ if (arg0->param1 >= 0x20) {
+ arg0->param1 = 0x00000020;
}
}
break;
}
}
-void func_800A9B9C(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800A9B9C(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
func_800AA280(arg0);
break;
case 1:
func_800AA280(arg0);
- arg0->cursor = 4;
+ arg0->state = 4;
/* fallthrough */
case 4:
- if (arg0->unk1C > 0) {
- arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2;
- if (arg0->unk1C < 0) {
- arg0->unk1C = 0;
+ if (arg0->param1 > 0) {
+ arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2;
+ if (arg0->param1 < 0) {
+ arg0->param1 = 0;
}
} else {
- arg0->unk1C = 0;
- arg0->cursor = 0;
+ arg0->param1 = 0;
+ arg0->state = 0;
}
break;
case 2:
- arg0->cursor = 3;
+ arg0->state = 3;
break;
case 3:
default:
@@ -9622,40 +9606,40 @@ void func_800A9B9C(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A9C40(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800A9C40(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
func_800AA280(arg0);
if ((gPlayerCount + 0xA) == arg0->type) {
- arg0->cursor = 2;
+ arg0->state = 2;
} else {
- arg0->cursor = 1;
+ arg0->state = 1;
}
break;
case 4:
if ((gPlayerCount + 0xA) == arg0->type) {
- arg0->cursor = 2;
- arg0->unk1C = 0;
+ arg0->state = 2;
+ arg0->param1 = 0;
break;
}
- arg0->cursor = 1;
+ arg0->state = 1;
case 1:
func_800AA280(arg0);
- if ((gMainMenuSelectionDepth == CONFIRM_OK_SELECTION_FROM_BACK_OUT) ||
- (gMainMenuSelectionDepth == TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT)) {
- arg0->unk1C = 0x00000020;
+ if ((gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK) ||
+ (gMainMenuSelection == MAIN_MENU_MODE_SUB_SELECT_GO_BACK)) {
+ arg0->param1 = 0x00000020;
} else {
- if (arg0->unk1C < 0x20) {
- arg0->unk1C += 2;
- if (arg0->unk1C >= 0x20) {
- arg0->unk1C = 0x00000020;
+ if (arg0->param1 < 0x20) {
+ arg0->param1 += 2;
+ if (arg0->param1 >= 0x20) {
+ arg0->param1 = 0x00000020;
}
}
}
break;
case 3:
if ((gPlayerCount + 0xA) == arg0->type) {
- arg0->cursor = 2;
+ arg0->state = 2;
}
break;
case 2:
@@ -9664,7 +9648,7 @@ void func_800A9C40(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A9D5C(struct_8018D9E0_entry* arg0) {
+void func_800A9D5C(MenuItem* arg0) {
Unk_D_800E70A0* temp_v0;
if ((gPlayerCount + 0xA) == arg0->type) {
@@ -9673,10 +9657,10 @@ void func_800A9D5C(struct_8018D9E0_entry* arg0) {
arg0->priority = 6;
}
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 2:
- if ((gMainMenuSelectionDepth == CONFIRM_OK_SELECTION_FROM_BACK_OUT) ||
- (gMainMenuSelectionDepth == TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT)) {
+ if ((gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK) ||
+ (gMainMenuSelection == MAIN_MENU_MODE_SUB_SELECT_GO_BACK)) {
arg0->column = 0x00000080;
arg0->row = 0x0000003E;
} else {
@@ -9687,7 +9671,7 @@ void func_800A9D5C(struct_8018D9E0_entry* arg0) {
temp_v0 = &D_800E70A0[arg0->type - 0xA];
func_800A91D8(arg0, temp_v0->column, temp_v0->row);
if ((arg0->column == temp_v0->column) && (arg0->row == temp_v0->row)) {
- arg0->cursor = 0;
+ arg0->state = 0;
}
/* fallthrough */
case 0:
@@ -9698,8 +9682,8 @@ void func_800A9D5C(struct_8018D9E0_entry* arg0) {
}
}
-void func_800A9E58(struct_8018D9E0_entry* arg0) {
- struct_8018D9E0_entry* temp_v0;
+void func_800A9E58(MenuItem* arg0) {
+ MenuItem* temp_v0;
Unk_D_800E70A0* temp_v1_2;
s32 sp24;
s32 sp20;
@@ -9729,33 +9713,33 @@ void func_800A9E58(struct_8018D9E0_entry* arg0) {
break;
}
- temp_a1 = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
- switch (arg0->cursor) { /* switch 5; irregular */
+ temp_a1 = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
+ switch (arg0->state) { /* switch 5; irregular */
case 0: /* switch 5 */
if ((temp_a1 != sp20) && (temp_a1 != sp1C)) {
arg0->visible = 0;
} else {
- arg0->unk20 = D_800E86AC[gPlayerCount - 1];
- switch (gMainMenuSelectionDepth) { /* switch 2 */
- case GAME_MODE_SELECTION: /* switch 2 */
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION: /* switch 2 */
- case CONFIRM_OK_SELECTION: /* switch 2 */
+ arg0->param2 = gGameModeMenuColumn[gPlayerCount - 1];
+ switch (gMainMenuSelection) { /* switch 2 */
+ case MAIN_MENU_MODE_SELECT: /* switch 2 */
+ case MAIN_MENU_MODE_SUB_SELECT: /* switch 2 */
+ case MAIN_MENU_OK_SELECT: /* switch 2 */
arg0->visible = 1;
- temp_v0 = func_800AAE68();
+ temp_v0 = get_menu_item_player_count();
arg0->column = temp_v0->column;
- arg0->row = (D_800E86AC[gPlayerCount - 1] * 0x12) + temp_v0->row + 0x41;
- arg0->unk1C = 0;
- arg0->cursor = 1;
+ arg0->row = (gGameModeMenuColumn[gPlayerCount - 1] * 0x12) + temp_v0->row + 0x41;
+ arg0->param1 = 0;
+ arg0->state = 1;
break;
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT: /* switch 2 */
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 2 */
- temp_v0 = func_800AAE68();
+ case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 2 */
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 2 */
+ temp_v0 = get_menu_item_player_count();
temp_v1_2 = &D_800E70E8[arg0->type - sp24];
arg0->column = temp_v0->column + temp_v1_2->column;
- arg0->row = (D_800E86AC[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row;
- arg0->unk1C = arg0->row - temp_v0->row;
+ arg0->row = (gGameModeMenuColumn[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row;
+ arg0->param1 = arg0->row - temp_v0->row;
arg0->visible = 1;
- arg0->cursor = 2;
+ arg0->state = 2;
break;
default: /* switch 2 */
arg0->visible = 0;
@@ -9764,74 +9748,74 @@ void func_800A9E58(struct_8018D9E0_entry* arg0) {
}
break;
case 1: /* switch 5 */
- switch (gMainMenuSelectionDepth) { /* switch 3 */
- case GAME_MODE_SELECTION: /* switch 3 */
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION: /* switch 3 */
- case CONFIRM_OK_SELECTION: /* switch 3 */
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT: /* switch 3 */
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 3 */
+ switch (gMainMenuSelection) { /* switch 3 */
+ case MAIN_MENU_MODE_SELECT: /* switch 3 */
+ case MAIN_MENU_MODE_SUB_SELECT: /* switch 3 */
+ case MAIN_MENU_OK_SELECT: /* switch 3 */
+ case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 3 */
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 3 */
if ((temp_a1 != sp20) && (temp_a1 != sp1C)) {
arg0->visible = 0;
- arg0->cursor = 0;
+ arg0->state = 0;
} else {
- if (arg0->unk20 != D_800E86AC[gPlayerCount - 1]) {
- arg0->cursor = 0;
+ if (arg0->param2 != gGameModeMenuColumn[gPlayerCount - 1]) {
+ arg0->state = 0;
}
- temp_v0 = func_800AAE68();
- arg0->column = temp_v0->column + arg0->unk1C;
+ temp_v0 = get_menu_item_player_count();
+ arg0->column = temp_v0->column + arg0->param1;
temp_v1_2 = &D_800E70E8[arg0->type - sp24];
func_800A92E8(arg0, temp_v0->column + temp_v1_2->column);
- arg0->unk1C = arg0->column - temp_v0->column;
- if (arg0->unk1C == temp_v1_2->column) {
- arg0->cursor = 2;
- arg0->unk1C = arg0->row - temp_v0->row;
+ arg0->param1 = arg0->column - temp_v0->column;
+ if (arg0->param1 == temp_v1_2->column) {
+ arg0->state = 2;
+ arg0->param1 = arg0->row - temp_v0->row;
}
}
break;
default: /* switch 3 */
arg0->visible = 0;
- arg0->cursor = 0;
+ arg0->state = 0;
break;
}
break;
case 2: /* switch 5 */
- switch (gMainMenuSelectionDepth) { /* switch 4 */
- case GAME_MODE_SELECTION: /* switch 4 */
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION: /* switch 4 */
- case CONFIRM_OK_SELECTION: /* switch 4 */
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT: /* switch 4 */
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: /* switch 4 */
+ switch (gMainMenuSelection) { /* switch 4 */
+ case MAIN_MENU_MODE_SELECT: /* switch 4 */
+ case MAIN_MENU_MODE_SUB_SELECT: /* switch 4 */
+ case MAIN_MENU_OK_SELECT: /* switch 4 */
+ case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 4 */
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 4 */
if ((temp_a1 != sp20) && (temp_a1 != sp1C)) {
arg0->visible = 0;
- arg0->cursor = 0;
+ arg0->state = 0;
} else {
- if (arg0->unk20 != D_800E86AC[gPlayerCount - 1]) {
- arg0->cursor = 0;
+ if (arg0->param2 != gGameModeMenuColumn[gPlayerCount - 1]) {
+ arg0->state = 0;
}
- temp_v0 = func_800AAE68();
+ temp_v0 = get_menu_item_player_count();
temp_v1_2 = &D_800E70E8[arg0->type - sp24];
arg0->column = temp_v0->column + temp_v1_2->column;
- arg0->row = temp_v0->row + arg0->unk1C;
+ arg0->row = temp_v0->row + arg0->param1;
func_800A91D8(arg0, arg0->column,
- (D_800E86AC[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row);
- arg0->unk1C = arg0->row - temp_v0->row;
+ (gGameModeMenuColumn[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row);
+ arg0->param1 = arg0->row - temp_v0->row;
}
break;
default: /* switch 4 */
arg0->visible = 0;
- arg0->cursor = 0;
+ arg0->state = 0;
break;
}
break;
}
}
-void func_800AA280(struct_8018D9E0_entry* arg0) {
+void func_800AA280(MenuItem* arg0) {
Unk_D_800E70A0* temp_v0;
temp_v0 = &D_800E70A0[arg0->type - 0xA];
- if ((gMainMenuSelectionDepth == CONFIRM_OK_SELECTION_FROM_BACK_OUT) ||
- (gMainMenuSelectionDepth == TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT)) {
+ if ((gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK) ||
+ (gMainMenuSelection == MAIN_MENU_MODE_SUB_SELECT_GO_BACK)) {
arg0->column = temp_v0->column;
arg0->row = temp_v0->row;
} else {
@@ -9839,46 +9823,46 @@ void func_800AA280(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AA2EC(struct_8018D9E0_entry* arg0) {
+void func_800AA2EC(MenuItem* arg0) {
s32 temp_v0;
s32 var_t1;
var_t1 = 0;
- switch (gMainMenuSelectionDepth) {
- case OPTIONS_SELECTION:
- case DATA_SELECTION:
- case PLAYER_NUM_SELECTION:
- case GAME_MODE_SELECTION:
- arg0->cursor = 0;
+ switch (gMainMenuSelection) {
+ case MAIN_MENU_OPTION:
+ case MAIN_MENU_DATA:
+ case MAIN_MENU_PLAYER_SELECT:
+ case MAIN_MENU_MODE_SELECT:
+ arg0->state = 0;
break;
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION:
- case CONFIRM_OK_SELECTION:
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT:
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT:
- if (arg0->cursor != 0) {
+ case MAIN_MENU_MODE_SUB_SELECT:
+ case MAIN_MENU_OK_SELECT:
+ case MAIN_MENU_OK_SELECT_GO_BACK:
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK:
+ if (arg0->state != 0) {
break;
}
if (gPlayerCount != 1) {
break;
}
- if (D_800E86AC[gPlayerCount - 1] != 1) {
+ if (gGameModeMenuColumn[gPlayerCount - 1] != 1) {
break;
}
if (gControllerPak1State != 0) {
var_t1 = 0;
switch (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName,
- (u8*) gExtCode, &gControllerPak1FileNote)) { /* switch 1; irregular */
- case 5: /* switch 1 */
+ (u8*) gExtCode, &gControllerPak1FileNote)) {
+ case 5:
break;
- case 0: /* switch 1 */
- arg0->cursor = 1;
+ case 0:
+ arg0->state = 1;
var_t1 = 1;
break;
- case 2: /* switch 1 */
+ case 2:
gControllerPak1State = 0;
break;
- default: /* switch 1 */
+ default:
gControllerPak1State = 0;
break;
}
@@ -9886,7 +9870,7 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) {
if (var_t1 == 0) {
if (gControllerPak1State == 0) {
if (check_for_controller_pak(0) == 0) {
- arg0->cursor = 2;
+ arg0->state = 2;
break;
}
temp_v0 = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0);
@@ -9894,14 +9878,14 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) {
switch (temp_v0) {
case PFS_ERR_NOPACK:
case PFS_ERR_DEVICE:
- arg0->cursor = 2;
+ arg0->state = 2;
break;
case PFS_ERR_ID_FATAL:
- arg0->cursor = 3;
+ arg0->state = 3;
break;
case PFS_ERR_CONTRFAIL:
default:
- arg0->cursor = 3;
+ arg0->state = 3;
break;
}
return;
@@ -9910,29 +9894,29 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) {
}
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName,
(u8*) gExtCode, &gControllerPak1FileNote) == 0) {
- arg0->cursor = 1;
+ arg0->state = 1;
break;
}
if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed,
&gControllerPak1MaxWriteableFiles) != 0) {
- arg0->cursor = 3;
+ arg0->state = 3;
break;
}
if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) != 0) {
- arg0->cursor = 3;
+ arg0->state = 3;
break;
}
gControllerPak1NumPagesFree = (s32) gControllerPak1NumPagesFree >> 8;
}
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
- arg0->cursor = 5;
+ arg0->state = 5;
break;
}
if (gControllerPak1NumPagesFree >= 0x79) {
- arg0->cursor = 1;
+ arg0->state = 1;
break;
}
- arg0->cursor = 5;
+ arg0->state = 5;
}
break;
default:
@@ -9940,27 +9924,27 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AA5C8(struct_8018D9E0_entry* arg0, s8 arg1) {
+void func_800AA5C8(MenuItem* arg0, s8 arg1) {
s32 temp_v1;
temp_v1 = arg0->type - 0x2B;
- switch (arg0->unk8) { /* irregular */
+ switch (arg0->subState) { /* irregular */
case 0:
if (func_800AAFCC((s32) arg1) >= 0) {
- arg0->unk8 = 2;
+ arg0->subState = 2;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8340[temp_v1]));
}
break;
case 2:
if (func_800AAFCC((s32) arg1) < 0) {
- arg0->unk8 = 0;
+ arg0->subState = 0;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8320[temp_v1]));
}
break;
}
}
-void func_800AA69C(struct_8018D9E0_entry* arg0) {
+void func_800AA69C(MenuItem* arg0) {
s32 temp_v0;
s32 var_a0;
s32 var_v0;
@@ -9974,20 +9958,20 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) {
} else {
var_a0 = 0;
}
- switch (arg0->unk8) {
+ switch (arg0->subState) {
case 0:
- if ((D_8018EDE8[temp_v0] != 0) && (var_a0 != 0)) {
- arg0->unk8 = 1;
+ if ((gCharacterGridIsSelected[temp_v0] != 0) && (var_a0 != 0)) {
+ arg0->subState = 1;
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a0]));
} else {
temp_v0 = random_int(0x00C8U);
if (temp_v0 >= 0xC6) {
- arg0->unk8 = 4;
+ arg0->subState = 4;
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(gCharacterSingleBlinkAnimation[temp_a0]));
} else if (temp_v0 >= 0xC5) {
- arg0->unk8 = 5;
+ arg0->subState = 5;
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(gCharacterDoubleBlinkAnimation[temp_a0]));
}
@@ -9995,28 +9979,28 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) {
break;
case 1:
if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_a0]) {
- arg0->unk8 = 2;
+ arg0->subState = 2;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E83A0[temp_a0]));
- } else if ((D_8018EDE8[temp_v0] == 0) && (var_a0 != 0)) {
- arg0->unk8 = 3;
+ } else if ((gCharacterGridIsSelected[temp_v0] == 0) && (var_a0 != 0)) {
+ arg0->subState = 3;
func_8009A594(arg0->D_8018DEE0_index,
D_800E8460[temp_a0] - D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex,
segmented_to_virtual_dupe_2(gCharacterDeselectAnimation[temp_a0]));
}
break;
case 2:
- if ((D_8018EDE8[temp_v0] == 0) && (var_a0 != 0)) {
- arg0->unk8 = 3;
+ if ((gCharacterGridIsSelected[temp_v0] == 0) && (var_a0 != 0)) {
+ arg0->subState = 3;
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(gCharacterDeselectAnimation[temp_a0]));
}
break;
case 3:
if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8460[temp_a0]) {
- arg0->unk8 = 0;
+ arg0->subState = 0;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8360[temp_a0]));
- } else if ((D_8018EDE8[temp_v0] != 0) && (var_a0 != 0)) {
- arg0->unk8 = 1;
+ } else if ((gCharacterGridIsSelected[temp_v0] != 0) && (var_a0 != 0)) {
+ arg0->subState = 1;
func_8009A594(arg0->D_8018DEE0_index,
D_800E8460[temp_a0] - D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex,
segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a0]));
@@ -10024,18 +10008,18 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) {
break;
case 4:
case 5:
- if ((D_8018EDE8[temp_v0] != 0) && (var_a0 != 0)) {
- arg0->unk8 = 1;
+ if ((gCharacterGridIsSelected[temp_v0] != 0) && (var_a0 != 0)) {
+ arg0->subState = 1;
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a0]));
} else {
- if (arg0->unk8 == 4) {
+ if (arg0->subState == 4) {
var_v0 = D_800E8480[temp_a0];
} else {
var_v0 = D_800E84A0[temp_a0];
}
if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= var_v0) {
- arg0->unk8 = 0;
+ arg0->subState = 0;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8360[temp_a0]));
}
}
@@ -10045,35 +10029,35 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AAA9C(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AAA9C(MenuItem* arg0) {
+ switch (arg0->state) {
case 3:
- arg0->cursor = 1;
+ arg0->state = 1;
/* fallthrough */
case 1:
- if (D_8018EDEE == 3) {
- arg0->unk1C = 0x00000020;
+ if (gPlayerSelectMenuSelection == 3) {
+ arg0->param1 = 0x00000020;
} else {
- if (arg0->unk1C < 0x20) {
- arg0->unk1C += (arg0->unk1C / 12) + 2;
- if (arg0->unk1C >= 0x20) {
- arg0->unk1C = 0x00000020;
+ if (arg0->param1 < 0x20) {
+ arg0->param1 += (arg0->param1 / 12) + 2;
+ if (arg0->param1 >= 0x20) {
+ arg0->param1 = 0x00000020;
}
}
}
/* fallthrough */
case 0:
if (func_800AAFCC(arg0->type - 0x2B) >= 0) {
- arg0->cursor = 2;
- arg0->unk1C = 0;
+ arg0->state = 2;
+ arg0->param1 = 0;
} else {
- arg0->cursor = 1;
+ arg0->state = 1;
}
break;
case 4:
if (func_800AAFCC(arg0->type - 0x2B) >= 0) {
- arg0->cursor = 2;
- arg0->unk1C = 0;
+ arg0->state = 2;
+ arg0->param1 = 0;
}
break;
case 2:
@@ -10082,25 +10066,25 @@ void func_800AAA9C(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AAB90(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AAB90(MenuItem* arg0) {
+ switch (arg0->state) {
case 1:
- if (arg0->unk1C > 0) {
- arg0->cursor = 3;
+ if (arg0->param1 > 0) {
+ arg0->state = 3;
}
break;
case 2:
- arg0->cursor = 4;
+ arg0->state = 4;
break;
case 3:
- if (arg0->unk1C > 0) {
- arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2;
- if (arg0->unk1C < 0) {
- arg0->unk1C = 0;
+ if (arg0->param1 > 0) {
+ arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2;
+ if (arg0->param1 < 0) {
+ arg0->param1 = 0;
}
} else {
- arg0->unk1C = 0;
- arg0->cursor = 0;
+ arg0->param1 = 0;
+ arg0->state = 0;
}
break;
case 0:
@@ -10110,7 +10094,7 @@ void func_800AAB90(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AAC18(struct_8018D9E0_entry* arg0) {
+void func_800AAC18(MenuItem* arg0) {
UNUSED s32 stackPadding0;
UNUSED s32 stackPadding1;
s32 temp_a1;
@@ -10119,16 +10103,16 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) {
Unk_D_800E70A0* var_t0;
temp_a1 = arg0->type - 0x2B;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
- if (D_8018EDEE == 3) {
+ if (gPlayerSelectMenuSelection == 3) {
temp_v0 = func_800AAFCC(temp_a1);
if (temp_v0 >= 0) {
var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0];
arg0->column = (s32) var_t0->column;
arg0->row = (s32) var_t0->row;
- arg0->cursor = 2;
- arg0->unk8 = 2;
+ arg0->state = 2;
+ arg0->subState = 2;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8340[temp_a1]));
}
break;
@@ -10141,7 +10125,7 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) {
break;
case 2:
case 4:
- if (arg0->cursor == 2) {
+ if (arg0->state == 2) {
temp_v0 = func_800AAFCC(temp_a1);
if (temp_v0 >= 0) {
var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0];
@@ -10149,11 +10133,11 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) {
} else {
var_t0 = &D_800E7108[0][temp_a1];
if ((var_t0->column == arg0->column) && (var_t0->row == arg0->row)) {
- arg0->cursor = 0;
+ arg0->state = 0;
return;
}
}
- if ((arg0->cursor != 2) || (arg0->unk8 != 1)) {
+ if ((arg0->state != 2) || (arg0->subState != 1)) {
func_800A91D8(arg0, (s32) var_t0->column, (s32) var_t0->row);
}
break;
@@ -10162,20 +10146,20 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AADD4(struct_8018D9E0_entry* arg0) {
+void update_cursor(MenuItem* arg0) {
s32 playerId;
s8 characterSelectionIndex;
- playerId = arg0->type - 0x34;
+ playerId = arg0->type - CHARACTER_SELECT_MENU_1P_CURSOR;
characterSelectionIndex = gCharacterGridSelections[playerId];
arg0->priority = 0xE - (playerId * 2);
- func_800AAF94(arg0, characterSelectionIndex - 1);
+ hover_cursor_over_character_portrait(arg0, characterSelectionIndex - 1);
}
-void func_800AAE18(struct_8018D9E0_entry* arg0) {
+void func_800AAE18(MenuItem* arg0) {
s32 temp_v0;
- temp_v0 = func_800AAFCC(arg0->type - 0x2B);
+ temp_v0 = func_800AAFCC(arg0->type - CHARACTER_SELECT_MENU_MARIO);
if (temp_v0 >= 0) {
arg0->priority = 0xE - (temp_v0 * 2);
} else {
@@ -10184,23 +10168,23 @@ void func_800AAE18(struct_8018D9E0_entry* arg0) {
}
/**
- * Similar to find_8018D9E0_entry_dupe, there is potential for a
- * hard lock in the function if no appropriate D_8018D9E0 entry
+ * Similar to find_menu_items_dupe, there is potential for a
+ * hard lock in the function if no appropriate gMenuItems entry
* is found.
**/
-struct_8018D9E0_entry* func_800AAE68(void) {
+MenuItem* get_menu_item_player_count(void) {
s32 count = gPlayerCount - 1;
- for (size_t i = 0; i < ARRAY_COUNT(D_8018D9E0); i++) {
- if (D_8018D9E0[i].type == (count + 0xB)) {
- return &D_8018D9E0[i];
+ for (size_t i = 0; i < ARRAY_COUNT(gMenuItems); i++) {
+ if (gMenuItems[i].type == (count + MENU_ITEM_UI_1P_GAME)) {
+ return &gMenuItems[i];
}
}
- printf("Error: func_800AAE68 returned a null value when searching id 0x%X", count + 0xB);
+ printf("Error: get_menu_item_player_count returned a null value when searching id 0x%X", count + 0xB);
return NULL;
- // struct_8018D9E0_entry *entry = D_8018D9E0;
+ // MenuItem *entry = gMenuItems;
// s32 thing = gPlayerCount - 1;
- // for(; !(entry > &D_8018D9E0[D_8018D9E0_SIZE]); entry++) {
+ // for(; !(entry > &gMenuItems[MENU_ITEMS_MAX]); entry++) {
// if ((thing + 0xB) == entry->type) {
// goto escape;
// }
@@ -10213,23 +10197,23 @@ struct_8018D9E0_entry* func_800AAE68(void) {
}
/**
- * Similar to find_8018D9E0_entry_dupe, there is potential for a
- * hard lock in the function if no appropriate D_8018D9E0 entry
+ * Similar to find_menu_items_dupe, there is potential for a
+ * hard lock in the function if no appropriate gMenuItems entry
* is found.
**/
-struct_8018D9E0_entry* func_800AAEB4(s32 arg0) {
+MenuItem* get_menu_item_character(s32 arg0) {
- for (size_t i = 0; i < ARRAY_COUNT(D_8018D9E0); i++) {
- if (D_8018D9E0[i].type == (arg0 + 0x2B)) {
- return &D_8018D9E0[i];
+ for (size_t i = 0; i < ARRAY_COUNT(gMenuItems); i++) {
+ if (gMenuItems[i].type == (arg0 + 0x2B)) {
+ return &gMenuItems[i];
}
}
- printf("Error: func_800AAEB4 returned a null value when searching id 0x%X", arg0 + 0x2B);
+ printf("Error: get_menu_item_character returned a null value when searching id 0x%X", arg0 + 0x2B);
return NULL;
- // struct_8018D9E0_entry *entry = D_8018D9E0;
+ // MenuItem *entry = gMenuItems;
- // for(; !(entry > &D_8018D9E0[D_8018D9E0_SIZE]); entry++) {
+ // for(; !(entry > &gMenuItems[MENU_ITEMS_MAX]); entry++) {
// if ((arg0 + 0x2B) == entry->type) {
// goto escape;
// }
@@ -10251,17 +10235,17 @@ struct_8018D9E0_entry* func_800AAEB4(s32 arg0) {
* probably as much a matter of luck as it is good
* reasoning on the original author(s) part.
**/
-struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32 arg0) {
- for (size_t i = 0; i < ARRAY_COUNT(D_8018D9E0); i++) {
- if (D_8018D9E0[i].type == arg0) {
- return &D_8018D9E0[i];
+MenuItem* find_menu_items_dupe(s32 type) {
+ for (size_t i = 0; i < ARRAY_COUNT(gMenuItems); i++) {
+ if (gMenuItems[i].type == type) {
+ return &gMenuItems[i];
}
}
- printf("Error: find_8018D9E0_entry_dupe returned a null value when searching id 0x%X", arg0);
+ printf("Error: find_menu_items_dupe returned a null value when searching id 0x%X", type);
return NULL;
- // struct_8018D9E0_entry *entry = D_8018D9E0;
- // for (; !(entry > (&D_8018D9E0[D_8018D9E0_SIZE])); entry++) {
+ // MenuItem *entry = gMenuItems;
+ // for (; !(entry > (&gMenuItems[MENU_ITEMS_MAX])); entry++) {
// if (entry->type == arg0) {
// goto escape;
// }
@@ -10273,19 +10257,19 @@ struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32 arg0) {
// return entry;
}
-struct_8018D9E0_entry* find_8018D9E0_entry(s32 arg0) {
- for (size_t i = 0; i < ARRAY_COUNT(D_8018D9E0); i++) {
- if (D_8018D9E0[i].type == arg0) {
- return &D_8018D9E0[i];
+MenuItem* find_menu_items(s32 type) {
+ for (size_t i = 0; i < ARRAY_COUNT(gMenuItems); i++) {
+ if (gMenuItems[i].type == type) {
+ return &gMenuItems[i];
}
}
// No printf here as returning null seems to be normal game logic
- // printf("Error: find_8018D9E0_entry returned a null value when searching id 0x%X",
+ // printf("Error: find_menu_items returned a null value when searching id 0x%X",
// arg0);
return NULL;
- // struct_8018D9E0_entry *entry = D_8018D9E0;
- // for (; !(entry > (&D_8018D9E0[D_8018D9E0_SIZE])); entry++) {
+ // MenuItem *entry = gMenuItems;
+ // for (; !(entry > (&gMenuItems[MENU_ITEMS_MAX])); entry++) {
// if (entry->type == arg0) {
// goto escape;
// }
@@ -10296,56 +10280,56 @@ struct_8018D9E0_entry* find_8018D9E0_entry(s32 arg0) {
// return entry;
}
-s32 func_800AAF70(s32 arg0) {
- struct_8018D9E0_entry* temp;
- temp = func_800AAEB4(arg0);
- return temp->cursor;
+s32 get_character_menu_state(s32 arg0) {
+ MenuItem* temp;
+ temp = get_menu_item_character(arg0);
+ return temp->state;
}
-void func_800AAF94(struct_8018D9E0_entry* arg0, s32 arg1) {
- struct_8018D9E0_entry* temp_v0;
+void hover_cursor_over_character_portrait(MenuItem* arg0, s32 arg1) {
+ MenuItem* temp_v0;
- temp_v0 = func_800AAEB4(arg1);
+ temp_v0 = get_menu_item_character(arg1);
arg0->column = temp_v0->column;
arg0->row = temp_v0->row;
}
-s32 func_800AAFCC(s32 arg0) {
+s32 func_800AAFCC(s32 characterId) {
s32 someIndex = 0;
- s32 ret = 0;
+ s32 ret = false;
for (; someIndex < 4; someIndex++) {
- if ((arg0 + 1) == gCharacterGridSelections[someIndex]) {
- ret = 1;
+ if ((characterId + 1) == gCharacterGridSelections[someIndex]) {
+ ret = true;
break;
}
}
- if (ret != 0) {
+ if (ret != false) {
return someIndex;
}
return -1;
}
-void func_800AB020(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AB020(MenuItem* arg0) {
+ switch (arg0->state) {
case 1:
- arg0->cursor = 4;
+ arg0->state = 4;
/* fallthrough */
case 4:
- if (arg0->unk1C > 0) {
- arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2;
- if (arg0->unk1C < 0) {
- arg0->unk1C = 0;
+ if (arg0->param1 > 0) {
+ arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2;
+ if (arg0->param1 < 0) {
+ arg0->param1 = 0;
}
} else {
- arg0->unk1C = 0;
- arg0->cursor = 0;
+ arg0->param1 = 0;
+ arg0->state = 0;
}
break;
case 2:
- arg0->cursor = 3;
+ arg0->state = 3;
break;
case 0:
case 3:
@@ -10354,35 +10338,35 @@ void func_800AB020(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AB098(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AB098(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
if ((GetCupIndex() + 0x53) == arg0->type) {
- arg0->cursor = 2;
+ arg0->state = 2;
} else {
- arg0->cursor = 1;
+ arg0->state = 1;
}
break;
case 4:
if ((GetCupIndex() + 0x53) == arg0->type) {
- arg0->cursor = 2;
- arg0->unk1C = 0;
+ arg0->state = 2;
+ arg0->param1 = 0;
break;
} else {
- arg0->cursor = 1;
+ arg0->state = 1;
}
// Purposeful fallthrough
case 1:
- if (arg0->unk1C < 32) {
- arg0->unk1C += 2;
- if (arg0->unk1C >= 32) {
- arg0->unk1C = 32;
+ if (arg0->param1 < 32) {
+ arg0->param1 += 2;
+ if (arg0->param1 >= 32) {
+ arg0->param1 = 32;
}
}
break;
case 3:
if ((GetCupIndex() + 0x53) == arg0->type) {
- arg0->cursor = 2;
+ arg0->state = 2;
}
break;
case 2:
@@ -10391,7 +10375,7 @@ void func_800AB098(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AB164(struct_8018D9E0_entry* arg0) {
+void func_800AB164(MenuItem* arg0) {
Unk_D_800E70A0* thing = &D_800E7148[arg0->type - 0x53];
if ((GetCupIndex() + 0x53) == arg0->type) {
@@ -10400,7 +10384,7 @@ void func_800AB164(struct_8018D9E0_entry* arg0) {
arg0->priority = 4;
}
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
thing = &D_800E7148[arg0->type - 0x53];
arg0->column = thing->column;
@@ -10413,7 +10397,7 @@ void func_800AB164(struct_8018D9E0_entry* arg0) {
thing = &D_800E7148[arg0->type - 0x53];
func_800A91D8(arg0, thing->column, thing->row);
if ((arg0->column == thing->column) && (arg0->row == thing->row)) {
- arg0->cursor = 0;
+ arg0->state = 0;
}
break;
case 1:
@@ -10423,7 +10407,7 @@ void func_800AB164(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AB260(struct_8018D9E0_entry* arg0) {
+void func_800AB260(MenuItem* arg0) {
s32 temp = (arg0->type - 0x58);
if (temp == GetCupIndex()) {
arg0->visible = 1;
@@ -10432,9 +10416,9 @@ void func_800AB260(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AB290(struct_8018D9E0_entry* arg0) {
- if (arg0->unk1C != GetCupIndex()) {
- arg0->unk1C = GetCupIndex();
+void func_800AB290(MenuItem* arg0) {
+ if (arg0->param1 != GetCupIndex()) {
+ arg0->param1 = GetCupIndex();
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[GetCupIndex()][arg0->type - 0x5F]]));
}
@@ -10443,33 +10427,33 @@ void func_800AB290(struct_8018D9E0_entry* arg0) {
#ifdef NON_MATCHING
// Decent work has been done, but not quite right
// https://decomp.me/scratch/YLbkC
-void func_800AB314(struct_8018D9E0_entry* arg0) {
+void func_800AB314(MenuItem* arg0) {
s32 var_a1;
s32 one = 1;
s32 four = 4;
- struct_8018D9E0_entry* sp24[4];
+ MenuItem* sp24[4];
s32 var_v0;
for (var_a1 = 0; var_a1 < 4; var_a1++) {
- sp24[var_a1] = find_8018D9E0_entry_dupe(var_a1 + 0x5F);
+ sp24[var_a1] = find_menu_items_dupe(var_a1 + 0x5F);
}
switch (gModeSelection) {
default:
- if (D_8018EDEC != one) {
- arg0->cursor = 0;
- arg0->unk20 = 0;
+ if (gSubMenuSelection != one) {
+ arg0->state = 0;
+ arg0->param2 = 0;
for (var_a1 = 0; var_a1 < GetCupSize(); var_a1++) {
if (GetCupCursorPosition() == var_a1) {
sp24[var_a1]->visible = one;
- if (arg0->unk1C != var_a1) {
- arg0->unk1C = var_a1;
+ if (arg0->param1 != var_a1) {
+ arg0->param1 = var_a1;
}
} else {
sp24[var_a1]->visible = 0;
}
}
} else {
- arg0->cursor = 3;
+ arg0->state = 3;
for (var_a1 = 0; var_a1 < 4; var_a1++) {
sp24[var_a1]->visible = one;
sp24[var_a1]->priority = 6;
@@ -10477,68 +10461,68 @@ void func_800AB314(struct_8018D9E0_entry* arg0) {
}
break;
case 0:
- switch (arg0->cursor) { /* irregular */
+ switch (arg0->state) { /* irregular */
case 0:
- if ((arg0->unk1C / 4) == GetCupIndex()) {
- arg0->unk20++;
- if (arg0->unk20 >= 0x33) {
- arg0->cursor = one;
- arg0->unk20 = 0;
+ if ((arg0->param1 / 4) == GetCupIndex()) {
+ arg0->param2++;
+ if (arg0->param2 >= 0x33) {
+ arg0->state = one;
+ arg0->param2 = 0;
var_v0 = GetCupIndex() * 4;
- arg0->unk1C = var_v0 + 1;
+ arg0->param1 = var_v0 + 1;
}
} else {
- arg0->unk20 = 0;
- arg0->unk1C = GetCupIndex() * 4;
+ arg0->param2 = 0;
+ arg0->param1 = GetCupIndex() * 4;
}
- if (D_8018EDEC == 3) {
- arg0->cursor = 2;
- arg0->unk20 = 0;
+ if (gSubMenuSelection == 3) {
+ arg0->state = 2;
+ arg0->param2 = 0;
}
break;
case 1:
- if ((arg0->unk1C / 4) != GetCupIndex()) {
- arg0->cursor = 0;
- arg0->unk20 = 0;
- arg0->unk1C = 0;
+ if ((arg0->param1 / 4) != GetCupIndex()) {
+ arg0->state = 0;
+ arg0->param2 = 0;
+ arg0->param1 = 0;
} else {
- arg0->unk20++;
- if (arg0->unk20 >= 0x1F) {
- arg0->unk20 = 0;
- arg0->unk1C = (GetCupIndex() * 4) + (((arg0->unk1C % 4) + one) % 4);
+ arg0->param2++;
+ if (arg0->param2 >= 0x1F) {
+ arg0->param2 = 0;
+ arg0->param1 = (GetCupIndex() * 4) + (((arg0->param1 % 4) + one) % 4);
} else {
- if (D_8018EDEC == 3) {
- arg0->cursor = 2;
- arg0->unk20 = 0;
+ if (gSubMenuSelection == 3) {
+ arg0->state = 2;
+ arg0->param2 = 0;
}
}
}
break;
case 2:
- arg0->unk20++;
- if (arg0->unk20 >= 0x1A) {
- arg0->cursor = 3;
- arg0->unk20 = 0;
+ arg0->param2++;
+ if (arg0->param2 >= 0x1A) {
+ arg0->state = 3;
+ arg0->param2 = 0;
}
- if (D_8018EDEC != 3) {
- arg0->cursor = 0;
- arg0->unk20 = 0;
- arg0->unk1C = 0;
+ if (gSubMenuSelection != 3) {
+ arg0->state = 0;
+ arg0->param2 = 0;
+ arg0->param1 = 0;
}
break;
case 3:
- if (D_8018EDEC != 3) {
- arg0->cursor = 0;
- arg0->unk20 = 0;
- arg0->unk1C = 0;
+ if (gSubMenuSelection != 3) {
+ arg0->state = 0;
+ arg0->param2 = 0;
+ arg0->param1 = 0;
}
break;
}
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
case 1:
for (var_a1 = 0; var_a1 < 4; var_a1++) {
- if ((arg0->unk1C % 4) == var_a1) {
+ if ((arg0->param1 % 4) == var_a1) {
sp24[var_a1]->visible = one;
} else {
sp24[var_a1]->visible = 0;
@@ -10548,9 +10532,9 @@ void func_800AB314(struct_8018D9E0_entry* arg0) {
break;
case 2:
for (var_a1 = 0; var_a1 < 4; var_a1++) {
- if (var_a1 == (arg0->unk1C % 4)) {
+ if (var_a1 == (arg0->param1 % 4)) {
sp24[var_a1]->priority = 6;
- } else if (arg0->unk20 < (var_a1 * 5)) {
+ } else if (arg0->param2 < (var_a1 * 5)) {
sp24[var_a1]->priority = four;
} else {
sp24[var_a1]->priority = 8;
@@ -10571,13 +10555,13 @@ void func_800AB314(struct_8018D9E0_entry* arg0) {
}
}
#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AB314.s")
+GLOBAL_ASM("asm/non_matchings/menu_items/func_800AB314.s")
#endif
-void func_800AB904(struct_8018D9E0_entry* arg0) {
+void func_800AB904(MenuItem* arg0) {
Unk_D_800E70A0* temp_a1;
- switch (D_8018EDEC) { /* irregular */
+ switch (gSubMenuSelection) { /* irregular */
case 1:
temp_a1 = &D_800E7248[arg0->type - 0x65];
if (arg0->column != temp_a1->column) {
@@ -10594,35 +10578,35 @@ void func_800AB904(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AB9B0(struct_8018D9E0_entry* arg0) {
+void func_800AB9B0(MenuItem* arg0) {
Unk_D_800E70A0* temp_v1;
- if (arg0->unk1C != GetCupIndex()) {
- arg0->unk1C = GetCupIndex();
- arg0->unk20 = func_800B54C0((s32) GetCupIndex(), gCCSelection);
+ if (arg0->param1 != GetCupIndex()) {
+ arg0->param1 = GetCupIndex();
+ arg0->param2 = func_800B54C0((s32) GetCupIndex(), gCCSelection);
func_8009A594(arg0->D_8018DEE0_index, 0,
- segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - arg0->unk20]));
+ segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - arg0->param2]));
arg0->column = (s32) D_800E7268->column;
arg0->row = D_800E7268->row;
}
- temp_v1 = &D_800E7268[arg0->cursor];
- switch (arg0->cursor) { /* irregular */
+ temp_v1 = &D_800E7268[arg0->state];
+ switch (arg0->state) { /* irregular */
case 0:
func_800A91D8(arg0, (s32) temp_v1->column, (s32) temp_v1->row);
- if (D_8018EDEC == 3) {
- arg0->cursor = 1;
+ if (gSubMenuSelection == 3) {
+ arg0->state = 1;
}
break;
case 1:
func_800A91D8(arg0, (s32) temp_v1->column, (s32) temp_v1->row);
- if (D_8018EDEC == 1) {
- arg0->cursor = 0;
+ if (gSubMenuSelection == 1) {
+ arg0->state = 0;
}
break;
}
}
-void func_800ABAE8(struct_8018D9E0_entry* arg0) {
+void func_800ABAE8(MenuItem* arg0) {
s32 index;
if (arg0->type == 0x8C) {
@@ -10634,21 +10618,21 @@ void func_800ABAE8(struct_8018D9E0_entry* arg0) {
arg0->row = D_800E7430[index].row;
}
-void func_800ABB24(struct_8018D9E0_entry* arg0) {
+void func_800ABB24(MenuItem* arg0) {
Unk_D_800E70A0* temp_v1;
s32 thing = gTimeTrialDataCourseIndex;
temp_v1 = &D_800E7430[thing / 4];
arg0->column = temp_v1->column - 2;
arg0->row = temp_v1->row + ((thing % 4) * 0x32) + 0x13;
- arg0->unk1C += 0x10;
- if (arg0->unk1C >= 0x100) {
- arg0->unk1C -= 0x100;
- arg0->unk20 = (s32) (arg0->unk20 + 1) % 3;
+ arg0->param1 += 0x10;
+ if (arg0->param1 >= 0x100) {
+ arg0->param1 -= 0x100;
+ arg0->param2 = (s32) (arg0->param2 + 1) % 3;
}
}
-void func_800ABBCC(struct_8018D9E0_entry* arg0) {
+void func_800ABBCC(MenuItem* arg0) {
s32 temp_v0;
Unk_D_800E70A0* temp_v1;
@@ -10658,7 +10642,7 @@ void func_800ABBCC(struct_8018D9E0_entry* arg0) {
arg0->row = temp_v1->row + ((temp_v0 % 4) * 0x32) + 0x14;
}
-void func_800ABC38(struct_8018D9E0_entry* arg0) {
+void func_800ABC38(MenuItem* arg0) {
// Huh?
s32 one = 1;
func_800ABCF4(arg0);
@@ -10674,7 +10658,7 @@ void func_800ABC38(struct_8018D9E0_entry* arg0) {
}
break;
default:
- if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != (s32) 1U) || (D_8018EE08 != 0)) {
+ if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != (s32) 1U) || (gDemoUseController != 0)) {
arg0->type = 0;
} else {
if (arg0->row >= -0x13) {
@@ -10687,41 +10671,41 @@ void func_800ABC38(struct_8018D9E0_entry* arg0) {
}
}
-void func_800ABCF4(struct_8018D9E0_entry* arg0) {
+void func_800ABCF4(MenuItem* arg0) {
f64 temp_f0;
- switch (arg0->cursor) { /* irregular */
+ switch (arg0->state) { /* irregular */
case 0:
arg0->column = 0;
- arg0->cursor = 1;
- arg0->unk20 = (get_string_width(gCupNames[D_800DC540]) / 2) + 0xA0;
+ arg0->state = 1;
+ arg0->param2 = (get_string_width(gCupNames[D_800DC540]) / 2) + 0xA0;
/* fallthrough */
case 1:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4;
- if (arg0->unk1C >= 9) {
- arg0->unk1C = 8;
- }
- arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.05) + 1.0);
- if (arg0->column >= (arg0->unk20 - 0x14)) {
- arg0->cursor = 2;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (s32) (arg0->param2 - arg0->column) / 4;
+ if (arg0->param1 >= 9) {
+ arg0->param1 = 8;
+ }
+ arg0->paramf = (f32) (((f64) arg0->param1 * 0.05) + 1.0);
+ if (arg0->column >= (arg0->param2 - 0x14)) {
+ arg0->state = 2;
arg0->D_8018DEE0_index = 0;
}
break;
case 2:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (s32) (arg0->param2 - arg0->column) / 4;
arg0->D_8018DEE0_index++;
temp_f0 = (f64) (arg0->D_8018DEE0_index - 0xA);
- arg0->unk24 = (f32) ((temp_f0 * 0.0085 * temp_f0) + 0.4);
- if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1.0)) {
- arg0->unk24 = 1.0f;
+ arg0->paramf = (f32) ((temp_f0 * 0.0085 * temp_f0) + 0.4);
+ if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1.0)) {
+ arg0->paramf = 1.0f;
}
break;
}
}
-void func_800ABEAC(struct_8018D9E0_entry* arg0) {
+void func_800ABEAC(MenuItem* arg0) {
s32 why = 1;
func_800ABF68(arg0);
switch (D_80164A28) {
@@ -10736,7 +10720,7 @@ void func_800ABEAC(struct_8018D9E0_entry* arg0) {
}
break;
default:
- if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != why) || (D_8018EE08 != 0)) {
+ if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != why) || (gDemoUseController != 0)) {
arg0->type = 0;
} else {
if (arg0->row < 0x104) {
@@ -10749,110 +10733,110 @@ void func_800ABEAC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800ABF68(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800ABF68(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
arg0->column = 0x140;
- arg0->cursor = 1;
- arg0->unk20 = 0xA0 - (get_string_width(CourseManager_GetProps()->Name) / 2);
+ arg0->state = 1;
+ arg0->param2 = 0xA0 - (get_string_width(CourseManager_GetProps()->Name) / 2);
/* fallthrough */
case 1:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (arg0->column - arg0->unk20) / 4;
- if (arg0->unk1C >= 9) {
- arg0->unk1C = 8;
- }
- arg0->unk24 = (arg0->unk1C * 0.05) + 1.0;
- if ((arg0->unk20 + 0x14) >= arg0->column) {
- arg0->cursor = 2;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (arg0->column - arg0->param2) / 4;
+ if (arg0->param1 >= 9) {
+ arg0->param1 = 8;
+ }
+ arg0->paramf = (arg0->param1 * 0.05) + 1.0;
+ if ((arg0->param2 + 0x14) >= arg0->column) {
+ arg0->state = 2;
arg0->D_8018DEE0_index = 0;
}
break;
case 2:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (arg0->column - arg0->unk20) / 4;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (arg0->column - arg0->param2) / 4;
arg0->D_8018DEE0_index++;
- arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4;
- if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1.0)) {
- arg0->unk24 = 1.0f;
+ arg0->paramf = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4;
+ if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1.0)) {
+ arg0->paramf = 1.0f;
}
break;
}
}
-void func_800AC128(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AC128(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
arg0->column = 0x00000140;
- arg0->cursor = 1;
+ arg0->state = 1;
/* fallthrough */
case 1:
func_800A940C(arg0, 0x00000064);
- arg0->unk1C = (s32) (arg0->column - 0x64) / 6;
- if (arg0->unk1C >= 9) {
- arg0->unk1C = 8;
+ arg0->param1 = (s32) (arg0->column - 0x64) / 6;
+ if (arg0->param1 >= 9) {
+ arg0->param1 = 8;
}
- arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.07) + 0.6);
+ arg0->paramf = (f32) (((f64) arg0->param1 * 0.07) + 0.6);
if (arg0->column == 0x00000064) {
- arg0->cursor = 2;
+ arg0->state = 2;
arg0->D_8018DEE0_index = 0;
}
break;
case 2:
arg0->D_8018DEE0_index++;
- arg0->unk1C = 0;
- arg0->unk24 = (f32) (1.5 - ((arg0->D_8018DEE0_index - 0xF) * 0.004 * (arg0->D_8018DEE0_index - 0xF)));
- if ((arg0->D_8018DEE0_index >= 0x10) && ((f64) arg0->unk24 < 0.8)) {
- arg0->cursor = 3;
+ arg0->param1 = 0;
+ arg0->paramf = (f32) (1.5 - ((arg0->D_8018DEE0_index - 0xF) * 0.004 * (arg0->D_8018DEE0_index - 0xF)));
+ if ((arg0->D_8018DEE0_index >= 0x10) && ((f64) arg0->paramf < 0.8)) {
+ arg0->state = 3;
arg0->D_8018DEE0_index = 0;
}
break;
case 3:
arg0->D_8018DEE0_index++;
- arg0->unk1C = 0;
- arg0->unk24 = (f32) (1.25 - ((arg0->D_8018DEE0_index - 0xF) * 0.002 * (arg0->D_8018DEE0_index - 0xF)));
- if ((arg0->D_8018DEE0_index >= 0xD) && ((f64) arg0->unk24 < 1.0)) {
- arg0->unk24 = 1.0f;
+ arg0->param1 = 0;
+ arg0->paramf = (f32) (1.25 - ((arg0->D_8018DEE0_index - 0xF) * 0.002 * (arg0->D_8018DEE0_index - 0xF)));
+ if ((arg0->D_8018DEE0_index >= 0xD) && ((f64) arg0->paramf < 1.0)) {
+ arg0->paramf = 1.0f;
}
break;
}
}
-void func_800AC300(struct_8018D9E0_entry* arg0) {
- if (arg0->unk20 < ++arg0->unk1C) {
+void func_800AC300(MenuItem* arg0) {
+ if (arg0->param2 < ++arg0->param1) {
arg0->type = 0;
}
}
-void func_800AC324(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AC324(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
arg0->column = 0x14A;
- arg0->cursor = 1;
+ arg0->state = 1;
func_800921B4();
break;
case 1:
func_800A9208(arg0, 0xA0);
if (arg0->column == 0xA0) {
- arg0->cursor = 2;
- arg0->unk20 = 0;
+ arg0->state = 2;
+ arg0->param2 = 0;
}
break;
case 2:
- arg0->unk20++;
- if (((D_8018D9D8 != 0) || (arg0->unk20 >= 0x5B)) && (D_800DDB24 != 0)) {
- arg0->cursor = 3;
- arg0->unk1C = arg0->column;
- add_ui_element(0xAB, 0, 0, 0);
+ arg0->param2++;
+ if (((D_8018D9D8 != 0) || (arg0->param2 >= 0x5B)) && (D_800DDB24 != 0)) {
+ arg0->state = 3;
+ arg0->param1 = arg0->column;
+ add_menu_item(0xAB, 0, 0, 0);
}
break;
case 3:
- arg0->column = arg0->unk1C;
- if (arg0->unk1C < 0x14A) {
+ arg0->column = arg0->param1;
+ if (arg0->param1 < 0x14A) {
if (D_8018D9D8 != 0) {
- arg0->unk1C += 0x20;
+ arg0->param1 += 0x20;
} else {
- arg0->unk1C += 0x10;
+ arg0->param1 += 0x10;
}
} else {
arg0->type = 0;
@@ -10861,49 +10845,45 @@ void func_800AC324(struct_8018D9E0_entry* arg0) {
}
}
-#ifdef NON_MATCHING
-// https://decomp.me/scratch/NzdUC
-// A really stupid register allocation issue
-void func_800AC458(struct_8018D9E0_entry* arg0) {
+void func_800AC458(MenuItem* arg0) {
s32 var_a1;
s32 var_t1;
+ s32 temp;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
arg0->column = -0x000000A0;
- arg0->cursor = 1;
- for (var_a1 = 0; var_a1 < 4; var_a1++) {
- D_8018D9BC[var_a1] = gGPPointRewards[var_a1];
+ arg0->state = 1;
+ for (var_a1 = 0; var_a1 < ARRAY_COUNT(gGPPointRewards); var_a1++) {
+ sGPPointsCopy[var_a1] = gGPPointRewards[var_a1];
}
- arg0->unk20 = arg0->column;
+ arg0->param2 = arg0->column;
break;
case 1:
- arg0->column = arg0->unk20;
- if (D_8018D9D8 != 0) {
- var_a1 = 0x20;
- } else {
- var_a1 = 0x10;
- }
- if ((arg0->unk20 + var_a1) < 0) {
- arg0->unk20 += var_a1;
- D_800DC5EC->screenStartX += var_a1;
- D_800DC5F0->screenStartX -= var_a1;
+ arg0->column = arg0->param2;
+
+ temp = (D_8018D9D8 != 0) ? 0x20 : 0x10;
+
+ if ((arg0->param2 + temp) < 0) {
+ arg0->param2 += temp;
+ D_800DC5EC->screenStartX += temp;
+ D_800DC5F0->screenStartX -= temp;
} else {
- arg0->unk20 = 0;
+ arg0->param2 = 0;
arg0->column = 0;
- arg0->cursor = 2;
- arg0->unk1C = 0;
+ arg0->state = 2;
+ arg0->param1 = 0;
D_800DC5EC->screenStartX = 0x00F0;
D_800DC5F0->screenStartX = 0x0050;
}
break;
case 2:
arg0->column = 0;
- arg0->unk1C++;
- if (((D_8018D9D8 != 0) || (arg0->unk1C >= 0x1F)) && (D_800DDB24 != 0)) {
- arg0->cursor = 3;
- arg0->unk1C = 0;
- arg0->unk20 = 0;
+ arg0->param1++;
+ if (((D_8018D9D8 != 0) || (arg0->param1 >= 0x1F)) && (D_800DDB24 != 0)) {
+ arg0->state = 3;
+ arg0->param1 = 0;
+ arg0->param2 = 0;
}
break;
case 3:
@@ -10911,57 +10891,57 @@ void func_800AC458(struct_8018D9E0_entry* arg0) {
case 5:
case 6:
var_t1 = 0;
- var_a1 = arg0->cursor - 3;
- arg0->unk1C++;
- if (((arg0->unk1C % 3) == 0) || (D_8018D9D8 != 0)) {
- if (D_8018D9BC[var_a1] > 0) {
- D_8018D9BC[var_a1]--;
+ var_a1 = arg0->state - 3;
+ arg0->param1++;
+ if (((arg0->param1 % 3) == 0) || (D_8018D9D8 != 0)) {
+ if (sGPPointsCopy[var_a1] > 0) {
+ sGPPointsCopy[var_a1]--;
gGPPointsByCharacterId[gPlayers[gGPCurrentRacePlayerIdByRank[var_a1]].characterId] += 1;
play_sound2(SOUND_ACTION_COUNT_SCORE);
var_t1 = 0;
- if ((D_8018D9BC[var_a1] == 0) && (arg0->unk20 == 0)) {
- arg0->unk20 = 1;
- arg0->unk1C = 0;
+ if ((sGPPointsCopy[var_a1] == 0) && (arg0->param2 == 0)) {
+ arg0->param2 = 1;
+ arg0->param1 = 0;
}
}
}
- if ((arg0->unk20 != 0) && ((arg0->unk1C > 0xA) || ((D_8018D9D8 != 0) && (arg0->unk1C >= 4)))) {
+ if ((arg0->param2 != 0) && ((arg0->param1 > 0xA) || ((D_8018D9D8 != 0) && (arg0->param1 >= 4)))) {
var_t1 = 1;
}
if (var_t1 != 0) {
- arg0->unk20 = 0;
- arg0->unk1C = 0;
- if (arg0->cursor < 6) {
- arg0->cursor++;
+ arg0->param2 = 0;
+ arg0->param1 = 0;
+ if (arg0->state < 6) {
+ arg0->state++;
} else {
- arg0->cursor = 7;
+ arg0->state = 7;
}
}
break;
case 7:
- arg0->unk1C++;
- if ((((D_8018D9D8 != 0) && (arg0->unk1C >= 0xB)) || (arg0->unk1C >= 0x3D)) && (D_800DDB24 != 0)) {
- arg0->cursor = 8;
- arg0->unk1C = 0;
+ arg0->param1++;
+ if ((((D_8018D9D8 != 0) && (arg0->param1 >= 0xB)) || (arg0->param1 >= 0x3D)) && (D_800DDB24 != 0)) {
+ arg0->state = 8;
+ arg0->param1 = 0;
}
break;
case 8:
- arg0->unk1C++;
+ arg0->param1++;
if (D_8018D9D8 != 0) {
- arg0->unk1C += 5;
+ arg0->param1 += 5;
}
- if (arg0->unk1C >= 0x29) {
- arg0->cursor = 9;
+ if (arg0->param1 >= 0x29) {
+ arg0->state = 9;
}
break;
case 9:
- arg0->unk1C--;
+ arg0->param1--;
if (D_8018D9D8 != 0) {
- arg0->unk1C -= 5;
+ arg0->param1 -= 5;
}
- if (arg0->unk1C <= 0) {
- arg0->cursor = 0x0000000A;
- arg0->unk1C = 0;
+ if (arg0->param1 <= 0) {
+ arg0->state = 0x0000000A;
+ arg0->param1 = 0;
if (gCourseIndexInCup == 3) {
for (var_a1 = 0; var_a1 < 8; var_a1++) {
if (D_80164478[gCharacterIdByGPOverallRank[var_a1]] < gPlayerCount) {
@@ -10973,30 +10953,30 @@ void func_800AC458(struct_8018D9E0_entry* arg0) {
}
break;
case 10:
- arg0->unk1C++;
- if (arg0->unk1C > 0) {
- arg0->cursor = 0x0000000B;
- arg0->unk1C = 0;
+ arg0->param1++;
+ if (arg0->param1 > 0) {
+ arg0->state = 0x0000000B;
+ arg0->param1 = 0;
func_800921B4();
}
break;
case 11:
if ((D_8018D9D8 != 0) && (D_800DDB24 != 0)) {
- arg0->cursor = 0x0000000C;
- arg0->unk20 = arg0->row;
+ arg0->state = 0x0000000C;
+ arg0->param2 = arg0->row;
play_sound2(SOUND_ACTION_NEXT_COURSE);
}
break;
case 12:
- arg0->row = arg0->unk20;
- if (arg0->unk20 < 0xF0) {
- arg0->unk20 += 0x10;
+ arg0->row = arg0->param2;
+ if (arg0->param2 < 0xF0) {
+ arg0->param2 += 0x10;
D_800DC5EC->screenStartY += 0x10;
D_800DC5F0->screenStartY -= 0x10;
} else {
- arg0->unk20 = 0;
- arg0->cursor = 0x0000000D;
- arg0->unk1C = 0;
+ arg0->param2 = 0;
+ arg0->state = 0x0000000D;
+ arg0->param1 = 0;
D_800DC5EC->screenStartY = 0x012C;
D_800DC5F0->screenStartY = -0x003C;
D_8015F894 = 4;
@@ -11008,152 +10988,149 @@ void func_800AC458(struct_8018D9E0_entry* arg0) {
break;
}
}
-#else
-GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AC458.s")
-#endif
-void func_800AC978(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) { /* irregular */
+void func_800AC978(MenuItem* arg0) {
+ switch (arg0->state) { /* irregular */
case 0:
arg0->column = 0x14A;
- arg0->cursor = 1;
- arg0->unk1C = 0xFF;
+ arg0->state = 1;
+ arg0->param1 = 0xFF;
break;
case 1:
func_800A9208(arg0, 0xA0);
if (arg0->column == 0xA0) {
- arg0->cursor = 2;
+ arg0->state = 2;
}
break;
case 2:
break;
case 3:
- if (arg0->unk1C != 0) {
- arg0->unk1C -= 0x33;
+ if (arg0->param1 != 0) {
+ arg0->param1 -= 0x33;
}
break;
}
}
-void func_800ACA14(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) { /* irregular */
+void func_800ACA14(MenuItem* arg0) {
+ switch (arg0->state) { /* irregular */
case 0:
- if (arg0->unk20 >= 0xB) {
- arg0->unk1C += 3;
+ if (arg0->param2 >= 0xB) {
+ arg0->param1 += 3;
}
- if (arg0->unk1C >= 0x65) {
- arg0->cursor = 0x0000000B;
- arg0->unk1C = 0;
+ if (arg0->param1 >= 0x65) {
+ arg0->state = 0x0000000B;
+ arg0->param1 = 0;
}
break;
case 11:
case 12:
- if (func_800B4520()) {
+ if (is_screen_being_faded()) {
break;
}
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) {
- if (arg0->cursor >= 0xC) {
- arg0->cursor--;
+ if (arg0->state >= 0xC) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) {
- if (arg0->cursor < 0xC) {
- arg0->cursor++;
+ if (arg0->state < 0xC) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
if (gControllerFive->buttonPressed & 0x9000) {
func_8009DFE0(0x0000001E);
func_800CA330(0x19U);
play_sound2(SOUND_ACTION_CONTINUE_UNKNOWN);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
break;
default:
break;
}
- if (arg0->unk20 < 0x28) {
- arg0->unk20++;
+ if (arg0->param2 < 0x28) {
+ arg0->param2++;
}
}
-void func_800ACC50(struct_8018D9E0_entry* arg0) {
- s32 var_s0;
+void func_800ACC50(MenuItem* arg0) {
+ s32 i;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
- arg0->unk1C += 3;
- if (arg0->unk1C >= 0x65) {
- arg0->cursor = 1;
- arg0->unk1C = 0;
- for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) {
- add_ui_element(var_s0 + 0xB1, 0, 0, (s8) (5 - var_s0));
+ arg0->param1 += 3;
+ if (arg0->param1 >= 0x65) {
+ arg0->state = 1;
+ arg0->param1 = 0;
+ for (i = 0; i < gPlayerCount; i++) {
+ add_menu_item(i + MENU_ITEM_TYPE_0B1, 0, 0, (s8) (MENU_ITEM_PRIORITY_5 - i));
}
}
break;
case 1:
- if (find_8018D9E0_entry_dupe(0x000000B1)->cursor >= 2) {
- arg0->cursor = 2;
+ if (find_menu_items_dupe(0x000000B1)->state >= 2) {
+ arg0->state = 2;
}
break;
case 2:
- arg0->unk1C += 0x20;
- if (arg0->unk1C >= 0x100) {
+ arg0->param1 += 0x20;
+ if (arg0->param1 >= 0x100) {
if (gModeSelection == VERSUS) {
- arg0->cursor = (s32) D_8018EDF4;
+ arg0->state = (s32) gVersusResultCursorSelection;
} else {
- arg0->cursor = (s32) D_8018EDF6;
+ arg0->state = (s32) gBattleResultCursorSelection;
}
- arg0->unk1C = 0;
+ arg0->param1 = 0;
}
break;
case 10:
case 11:
case 12:
case 13:
- if (func_800B4520() == 0) {
+ if (is_screen_being_faded() == 0) {
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) {
- if (arg0->cursor >= 0xB) {
- arg0->cursor--;
+ if (arg0->state >= 0xB) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) {
- if (arg0->cursor < 0xD) {
- arg0->cursor++;
+ if (arg0->state < 0xD) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
if (gControllerFive->buttonPressed & 0x9000) {
func_8009DFE0(0x0000001E);
play_sound2(SOUND_MENU_OK_CLICKED);
if (gModeSelection == VERSUS) {
- D_8018EDF4 = (s8) arg0->cursor;
+ gVersusResultCursorSelection = (s8) arg0->state;
} else {
- D_8018EDF6 = (s8) arg0->cursor;
+ gBattleResultCursorSelection = (s8) arg0->state;
}
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
}
@@ -11163,7 +11140,7 @@ void func_800ACC50(struct_8018D9E0_entry* arg0) {
}
}
-void func_800ACF40(struct_8018D9E0_entry* arg0) {
+void func_800ACF40(MenuItem* arg0) {
Unk_D_800E70A0* temp_v0_2;
s32 temp_a2;
s32 temp_a1;
@@ -11172,42 +11149,42 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) {
temp_a2 = arg0->type - 0xB1;
temp_a1 = D_800EFD64[gCharacterSelections[arg0->type - 0xB1]];
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
arg0->column = D_800E72F8.column;
arg0->row = D_800E72F8.row;
- arg0->cursor = 1;
+ arg0->state = 1;
break;
case 1:
temp_v0_2 = &D_800E7300[((gPlayerCount - 2) * 4) + temp_a2];
func_800A9208(arg0, temp_v0_2->column);
func_800A9278(arg0, temp_v0_2->row);
if (arg0->column == temp_v0_2->column) {
- arg0->cursor = 2;
- arg0->unk20 = 0;
+ arg0->state = 2;
+ arg0->param2 = 0;
}
break;
case 2:
var_v1 = 0;
- switch (gModeSelection) { /* switch 1; irregular */
- case 2: /* switch 1 */
+ switch (gModeSelection) {
+ case 2:
if (gGPCurrentRaceRankByPlayerId[temp_a2] != 0) {
var_v1 = 1;
}
break;
- case 3: /* switch 1 */
+ case 3:
if (temp_a2 != gPlayerWinningIndex) {
var_v1 = 1;
}
break;
}
if (var_v1 == 0) {
- arg0->unk20++;
- if (arg0->unk20 >= 0x1F) {
- if (find_8018D9E0_entry_dupe(0x000000B0)->cursor >= 2) {
+ arg0->param2++;
+ if (arg0->param2 >= 0x1F) {
+ if (find_menu_items_dupe(0x000000B0)->state >= 2) {
func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2,
segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a1]));
- arg0->cursor = 3;
+ arg0->state = 3;
func_800CA24C(temp_a2);
func_800C90F4(temp_a2, (gCharacterSelections[temp_a2] * 0x10) + 0x29008007);
}
@@ -11217,7 +11194,7 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) {
case 3:
if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_a1]) {
func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2, segmented_to_virtual_dupe_2(D_800E83A0[temp_a1]));
- arg0->cursor = 4;
+ arg0->state = 4;
}
break;
case 4:
@@ -11226,42 +11203,42 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AD1A4(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AD1A4(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
arg0->column = 0x0000014A;
- arg0->cursor = 1;
+ arg0->state = 1;
func_800921B4();
- add_ui_element(0x000000BB, 0, 0, 0);
+ add_menu_item(MENU_ITEM_TYPE_0BB, 0, 0, MENU_ITEM_PRIORITY_0);
break;
case 1:
func_800A9208(arg0, 0x000000A0);
if (arg0->column == 0x000000A0) {
- arg0->cursor = 2;
- arg0->unk20 = 0;
+ arg0->state = 2;
+ arg0->param2 = 0;
}
break;
case 2:
- arg0->unk20++;
- if (arg0->unk20 >= 0x15) {
- arg0->cursor = 3;
+ arg0->param2++;
+ if (arg0->param2 >= 0x15) {
+ arg0->state = 3;
}
break;
case 3:
if (D_8018D9D8 != 0) {
func_800921B4();
- arg0->cursor = 4;
- arg0->unk1C = arg0->column;
- add_ui_element(0x000000BA, 0, 0, 0);
+ arg0->state = 4;
+ arg0->param1 = arg0->column;
+ add_menu_item(MENU_ITEM_TYPE_0BA, 0, 0, MENU_ITEM_PRIORITY_0);
}
break;
case 4:
- arg0->column = arg0->unk1C;
- if (arg0->unk1C < 0x14A) {
+ arg0->column = arg0->param1;
+ if (arg0->param1 < 0x14A) {
if (D_8018D9D8 != 0) {
- arg0->unk1C += 0x20;
+ arg0->param1 += 0x20;
} else {
- arg0->unk1C += 0x10;
+ arg0->param1 += 0x10;
}
} else {
arg0->type = 0;
@@ -11272,39 +11249,39 @@ void func_800AD1A4(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AD2E8(struct_8018D9E0_entry* arg0) {
+void func_800AD2E8(MenuItem* arg0) {
struct_8018EE10_entry* thing;
s32 var_v1;
s32 var_a1;
s32 index;
- switch (arg0->cursor) { /* switch 3; irregular */
+ switch (arg0->state) { /* switch 3; irregular */
case 0: /* switch 3 */
arg0->column = -0x000000A0;
- arg0->cursor = 1;
- for (index = 0; index < 4; index++) {
- D_8018D9BC[index] = gGPPointRewards[index];
+ arg0->state = 1;
+ for (index = 0; index < ARRAY_COUNT(gGPPointRewards); index++) {
+ sGPPointsCopy[index] = gGPPointRewards[index];
}
- arg0->unk20 = arg0->column;
+ arg0->param2 = arg0->column;
break;
;
case 1: /* switch 3 */
- arg0->column = arg0->unk20;
+ arg0->column = arg0->param2;
if (D_8018D9D8 != 0) {
var_a1 = 0x20;
} else {
var_a1 = 0x10;
}
- if ((arg0->unk20 + var_a1) < 0) {
- arg0->unk20 += var_a1;
+ if ((arg0->param2 + var_a1) < 0) {
+ arg0->param2 += var_a1;
D_800DC5EC->screenStartX += var_a1;
D_800DC5F0->screenStartX -= var_a1;
} else {
- arg0->unk20 = 0;
+ arg0->param2 = 0;
arg0->column = 0;
- arg0->cursor = D_8018EDF5;
- if ((arg0->cursor == 9) && (D_80162DF8 == 1)) {
- arg0->cursor--;
+ arg0->state = gTimeTrialsResultCursorSelection;
+ if ((arg0->state == 9) && (D_80162DF8 == 1)) {
+ arg0->state--;
}
D_800DC5EC->screenStartX = 0x00F0;
D_800DC5F0->screenStartX = 0x0050;
@@ -11316,42 +11293,42 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
case 8: /* switch 3 */
case 9: /* switch 3 */
case 10: /* switch 3 */
- if (func_800B4520() == 0) {
+ if (is_screen_being_faded() == 0) {
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
- if (arg0->cursor >= 6) {
- arg0->cursor--;
- if ((D_80162DF8 == 1) && (arg0->cursor == 9)) {
- arg0->cursor--;
+ if (arg0->state >= 6) {
+ arg0->state--;
+ if ((D_80162DF8 == 1) && (arg0->state == 9)) {
+ arg0->state--;
}
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
- if (arg0->cursor < 0xA) {
- arg0->cursor++;
- if ((D_80162DF8 == 1) && (arg0->cursor == 9)) {
- arg0->cursor++;
+ if (arg0->state < 0xA) {
+ arg0->state++;
+ if ((D_80162DF8 == 1) && (arg0->state == 9)) {
+ arg0->state++;
}
- if ((arg0->cursor == 0x0000000A) && (D_80162DD4 != 0)) {
- arg0->cursor -= 2;
+ if ((arg0->state == 0x0000000A) && (D_80162DD4 != 0)) {
+ arg0->state -= 2;
} else {
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
}
if (gControllerOne->buttonPressed & 0x9000) {
- if (arg0->cursor == 0x0000000A) {
+ if (arg0->state == 0x0000000A) {
var_v1 = 0;
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
if (gControllerPak1State != 0) {
var_v1 = 0;
@@ -11361,7 +11338,7 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
break;
case 0: /* switch 4 */
func_800B6708();
- arg0->cursor = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x11;
+ arg0->state = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x11;
var_v1 = 1;
play_sound2(SOUND_MENU_SELECT);
break;
@@ -11377,26 +11354,26 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
if (gControllerPak1State == 0) {
switch (func_800B5F30()) { /* switch 2 */
case -1: /* switch 2 */
- arg0->cursor = 0x0000000B;
+ arg0->state = 0x0000000B;
var_v1 = 1;
break;
case -3: /* switch 2 */
case -2: /* switch 2 */
- arg0->cursor = 0x0000000C;
+ arg0->state = 0x0000000C;
var_v1 = 1;
break;
case 1: /* switch 2 */
case 11: /* switch 2 */
- arg0->cursor = 0x0000000B;
+ arg0->state = 0x0000000B;
var_v1 = 1;
break;
case 10: /* switch 2 */
- arg0->cursor = 0x0000000C;
+ arg0->state = 0x0000000C;
var_v1 = 1;
break;
default: /* switch 2 */
var_v1 = 1;
- arg0->cursor = 0x0000000C;
+ arg0->state = 0x0000000C;
break;
case 0:
break;
@@ -11408,33 +11385,33 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName,
(u8*) gExtCode, &gControllerPak1FileNote) == 0) {
func_800B6708();
- arg0->cursor = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x11;
+ arg0->state = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x11;
play_sound2(SOUND_MENU_SELECT);
return;
}
}
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
- arg0->cursor = 0x0000000E;
+ arg0->state = 0x0000000E;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
if (gControllerPak1NumPagesFree >= 0x79) {
- arg0->cursor = 0x00000013;
- arg0->unk1C = 0;
+ arg0->state = 0x00000013;
+ arg0->param1 = 0;
play_sound2(SOUND_MENU_SELECT);
return;
}
- arg0->cursor = 0x0000000E;
+ arg0->state = 0x0000000E;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
}
} else {
- arg0->unk1C = arg0->cursor;
- D_8018EDF5 = arg0->cursor;
- arg0->cursor = 0x0000001E;
- arg0->unk20 = arg0->row;
+ arg0->param1 = arg0->state;
+ gTimeTrialsResultCursorSelection = arg0->state;
+ arg0->state = 0x0000001E;
+ arg0->param2 = arg0->row;
play_sound2(SOUND_ACTION_NEXT_COURSE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
}
@@ -11448,139 +11425,139 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
case 16: /* switch 1 */
case 26: /* switch 1 */
if (gControllerOne->buttonPressed & 0xD000) {
- arg0->cursor = 0x0000000A;
+ arg0->state = 0x0000000A;
play_sound2(SOUND_MENU_GO_BACK);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
break;
case 17: /* switch 1 */
case 18: /* switch 1 */
- arg0->unk20 = arg0->cursor - 0x11;
- if (func_800B639C((GetCupIndex() * 4) + GetCupCursorPosition()) != arg0->unk20) {
+ arg0->param2 = arg0->state - 0x11;
+ if (func_800B639C((GetCupIndex() * 4) + GetCupCursorPosition()) != arg0->param2) {
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
- if (arg0->cursor >= 0x12) {
- arg0->cursor--;
+ if (arg0->state >= 0x12) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
- if (arg0->cursor < 0x12) {
- arg0->cursor++;
+ if (arg0->state < 0x12) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
}
if (gControllerOne->buttonPressed & 0x4000) {
- arg0->cursor = 0x0000000A;
+ arg0->state = 0x0000000A;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
if (gControllerOne->buttonPressed & 0x9000) {
- thing = &D_8018EE10[arg0->unk20];
+ thing = &D_8018EE10[arg0->param2];
if (thing->ghostDataSaved == 0) {
- arg0->cursor = 0x00000019;
- arg0->unk1C = 0;
- } else if (func_800B63F0(arg0->unk20) == 0) {
- arg0->cursor = 0x00000010;
+ arg0->state = 0x00000019;
+ arg0->param1 = 0;
+ } else if (func_800B63F0(arg0->param2) == 0) {
+ arg0->state = 0x00000010;
} else {
- arg0->cursor = 0x00000014;
+ arg0->state = 0x00000014;
}
play_sound2(SOUND_MENU_SELECT);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
break;
case 19: /* switch 1 */
- if ((arg0->unk1C == 1) && (func_800B6A68() != 0)) {
- arg0->cursor = 0x0000000F;
+ if ((arg0->param1 == 1) && (func_800B6A68() != 0)) {
+ arg0->state = 0x0000000F;
return;
} else {
- arg0->unk1C++;
- if (arg0->unk1C >= 2) {
- arg0->cursor = 0x00000011;
+ arg0->param1++;
+ if (arg0->param1 >= 2) {
+ arg0->state = 0x00000011;
}
}
break;
case 20: /* switch 1 */
case 21: /* switch 1 */
- if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->cursor >= 0x15)) {
- arg0->cursor--;
+ if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->state >= 0x15)) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
- if (arg0->cursor < 0x15) {
- arg0->cursor++;
+ if (arg0->state < 0x15) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
if (gControllerOne->buttonPressed & 0x4000) {
- arg0->cursor = arg0->unk20 + 0x11;
+ arg0->state = arg0->param2 + 0x11;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
if (gControllerOne->buttonPressed & 0x9000) {
- if (arg0->cursor == 0x00000015) {
- arg0->cursor = 0x00000019;
- arg0->unk1C = 0;
+ if (arg0->state == 0x00000015) {
+ arg0->state = 0x00000019;
+ arg0->param1 = 0;
play_sound2(SOUND_MENU_SELECT);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
} else {
- arg0->cursor = arg0->unk20 + 0x11;
+ arg0->state = arg0->param2 + 0x11;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
}
break;
case 25: /* switch 1 */
- if (arg0->unk1C == 1) {
+ if (arg0->param1 == 1) {
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode,
&gControllerPak1FileNote) != 0) {
- arg0->cursor = 0x0000001A;
+ arg0->state = 0x0000001A;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
- if (func_800B6178(arg0->unk20) != 0) {
- arg0->cursor = 0x0000001A;
+ if (func_800B6178(arg0->param2) != 0) {
+ arg0->state = 0x0000001A;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
}
- arg0->unk1C++;
- if (arg0->unk1C >= 2) {
- arg0->cursor = 0x0000000A;
+ arg0->param1++;
+ if (arg0->param1 >= 2) {
+ arg0->state = 0x0000000A;
return;
}
break;
case 30: /* switch 1 */
- arg0->row = arg0->unk20;
- if (arg0->unk20 < 0xF0) {
- arg0->unk20 += 0x10;
+ arg0->row = arg0->param2;
+ if (arg0->param2 < 0xF0) {
+ arg0->param2 += 0x10;
D_800DC5EC->screenStartY += 0x10;
D_800DC5F0->screenStartY -= 0x10;
return;
}
- switch (arg0->unk1C) { /* switch 3 */
+ switch (arg0->param1) { /* switch 3 */
case 5: /* switch 3 */
D_8015F890 = 0;
D_8015F892 = 1;
@@ -11601,8 +11578,8 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
func_802903B0();
break;
}
- arg0->unk20 = 0;
- arg0->cursor = 0x0000001F;
+ arg0->param2 = 0;
+ arg0->state = 0x0000001F;
D_800DC5EC->screenStartY = 0x012C;
D_800DC5F0->screenStartY = -0x003C;
D_8015F894 = 4;
@@ -11618,14 +11595,14 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) {
#else
#define FUNC_800ADF48DEF 60
#endif
-void func_800ADF48(struct_8018D9E0_entry* arg0) {
+void func_800ADF48(MenuItem* arg0) {
UNUSED s32 stackPadding;
struct Controller* controller;
if (gIsGamePaused != 0) {
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
- arg0->cursor = D_800F0B50[gModeSelection];
+ arg0->state = D_800F0B50[gModeSelection];
break;
case 11:
case 12:
@@ -11642,38 +11619,38 @@ void func_800ADF48(struct_8018D9E0_entry* arg0) {
case 42:
case 43:
case 44:
- if (func_800B4520() == 0) {
+ if (is_screen_being_faded() == 0) {
controller = &gControllers[gIsGamePaused - 1];
if ((controller->buttonPressed | controller->stickPressed) & 0x800) {
- if (D_800F0B50[gModeSelection] < arg0->cursor) {
- arg0->cursor--;
+ if (D_800F0B50[gModeSelection] < arg0->state) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((controller->buttonPressed | controller->stickPressed) & 0x400) {
- if (arg0->cursor < D_800F0B54[gModeSelection]) {
- arg0->cursor++;
+ if (arg0->state < D_800F0B54[gModeSelection]) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
if (controller->buttonPressed & B_BUTTON) {
- if (arg0->cursor != D_800F0B50[gModeSelection]) {
- arg0->cursor = D_800F0B50[gModeSelection];
+ if (arg0->state != D_800F0B50[gModeSelection]) {
+ arg0->state = D_800F0B50[gModeSelection];
play_sound2(SOUND_MENU_GO_BACK);
return;
}
}
if (controller->buttonPressed & (START_BUTTON | A_BUTTON)) {
- if (arg0->cursor == D_800F0B50[gModeSelection]) {
- arg0->cursor = 0;
+ if (arg0->state == D_800F0B50[gModeSelection]) {
+ arg0->state = 0;
gIsGamePaused = 0;
func_8028DF38();
func_800C9F90(0U);
@@ -11681,8 +11658,8 @@ void func_800ADF48(struct_8018D9E0_entry* arg0) {
func_8009DFE0(30);
play_sound2(SOUND_ACTION_CONTINUE_UNKNOWN);
func_800CA330(FUNC_800ADF48DEF);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
}
@@ -11692,70 +11669,70 @@ void func_800ADF48(struct_8018D9E0_entry* arg0) {
break;
}
} else {
- arg0->cursor = 0;
+ arg0->state = 0;
}
}
-void func_800AE218(struct_8018D9E0_entry* arg0) {
+void func_800AE218(MenuItem* arg0) {
struct_8018EE10_entry* thing;
s32 var_v1;
- if (arg0->cursor != 0) {
+ if (arg0->state != 0) {
D_800DC5B8 = 0;
}
- switch (arg0->cursor) { /* switch 1 */
- case 0: /* switch 1 */
- if (arg0->unk1C < 0x1E) {
- arg0->unk1C++;
+ switch (arg0->state) {
+ case 0:
+ if (arg0->param1 < 0x1E) {
+ arg0->param1++;
}
if (gControllerOne->buttonPressed & 0x1000) {
- arg0->cursor = 0x0000000F;
+ arg0->state = 0x0000000F;
play_sound2(SOUND_ACTION_GO_BACK_2);
} else if (playerHUD[PLAYER_ONE].raceCompleteBool != 0) {
- arg0->cursor = 1;
- arg0->unk1C = 0;
+ arg0->state = 1;
+ arg0->param1 = 0;
}
break;
- default: /* switch 1 */
+ default:
break;
- case 1: /* switch 1 */
- arg0->unk1C += 3;
- if (arg0->unk1C >= 0x8D) {
- arg0->cursor = 0x0000000F;
+ case 1:
+ arg0->param1 += 3;
+ if (arg0->param1 >= 0x8D) {
+ arg0->state = 0x0000000F;
}
break;
- case 11: /* switch 1 */
- case 12: /* switch 1 */
- case 13: /* switch 1 */
- case 14: /* switch 1 */
- case 15: /* switch 1 */
- case 16: /* switch 1 */
- if (func_800B4520() == 0) {
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ if (is_screen_being_faded() == 0) {
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
- if (arg0->cursor >= 0xC) {
- arg0->cursor--;
+ if (arg0->state >= 0xC) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
- if (arg0->cursor < 0x10) {
- arg0->cursor++;
+ if (arg0->state < 0x10) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
if (gControllerOne->buttonPressed & 0x9000) {
- if (arg0->cursor == 0x00000010) {
+ if (arg0->state == 0x00000010) {
var_v1 = 0;
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
if (gControllerPak1State != 0) {
var_v1 = 0;
@@ -11765,7 +11742,7 @@ void func_800AE218(struct_8018D9E0_entry* arg0) {
break;
case PFS_NO_ERROR: /* switch 3 */
func_800B6708();
- arg0->cursor = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x1E;
+ arg0->state = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x1E;
var_v1 = 1;
break;
case PFS_ERR_NEW_PACK: /* switch 3 */
@@ -11783,26 +11760,26 @@ void func_800AE218(struct_8018D9E0_entry* arg0) {
if (gControllerPak1State == 0) {
switch (func_800B5F30()) { /* switch 2 */
case PFS_INVALID_DATA: /* switch 2 */
- arg0->cursor = 0x00000015;
+ arg0->state = 0x00000015;
var_v1 = 1;
break;
case PFS_FREE_BLOCKS_ERROR: /* switch 2 */
case PFS_NUM_FILES_ERROR: /* switch 2 */
- arg0->cursor = 0x00000016;
+ arg0->state = 0x00000016;
var_v1 = 1;
break;
case PFS_ERR_NOPACK: /* switch 2 */
case PFS_ERR_DEVICE: /* switch 2 */
- arg0->cursor = 0x00000015;
+ arg0->state = 0x00000015;
var_v1 = 1;
break;
case PFS_ERR_ID_FATAL: /* switch 2 */
- arg0->cursor = 0x00000016;
+ arg0->state = 0x00000016;
var_v1 = 1;
break;
default: /* switch 2 */
var_v1 = 1;
- arg0->cursor = 0x00000016;
+ arg0->state = 0x00000016;
break;
case 0:
break;
@@ -11814,20 +11791,20 @@ void func_800AE218(struct_8018D9E0_entry* arg0) {
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName,
(u8*) gExtCode, &gControllerPak1FileNote) == 0) {
func_800B6708();
- arg0->cursor = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x1E;
+ arg0->state = func_800B6348((GetCupIndex() * 4) + GetCupCursorPosition()) + 0x1E;
play_sound2(SOUND_MENU_SELECT);
return;
}
}
if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) {
- arg0->cursor = 0x00000018;
+ arg0->state = 0x00000018;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
} else if (gControllerPak1NumPagesFree >= 0x79) {
- arg0->cursor = 0x00000020;
- arg0->unk1C = 0;
+ arg0->state = 0x00000020;
+ arg0->param1 = 0;
play_sound2(SOUND_MENU_SELECT);
} else {
- arg0->cursor = 0x00000018;
+ arg0->state = 0x00000018;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
}
} else {
@@ -11835,175 +11812,175 @@ void func_800AE218(struct_8018D9E0_entry* arg0) {
play_sound2(SOUND_MENU_OK_CLICKED);
func_800CA330(0x19U);
func_800CA388(0x19U);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
}
}
break;
- case 21: /* switch 1 */
- case 22: /* switch 1 */
- case 23: /* switch 1 */
- case 24: /* switch 1 */
- case 25: /* switch 1 */
- case 26: /* switch 1 */
- case 41: /* switch 1 */
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 41:
if (gControllerOne->buttonPressed & 0xD000) {
- arg0->cursor = 0x00000010;
+ arg0->state = 0x00000010;
play_sound2(SOUND_MENU_GO_BACK);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
break;
- case 30: /* switch 1 */
- case 31: /* switch 1 */
- arg0->unk20 = (u32) arg0->cursor - 0x1E;
- if (func_800B639C((GetCupIndex() * 4) + GetCupCursorPosition()) != arg0->unk20) {
+ case 30:
+ case 31:
+ arg0->param2 = (u32) arg0->state - 0x1E;
+ if (func_800B639C((GetCupIndex() * 4) + GetCupCursorPosition()) != arg0->param2) {
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) {
- if (arg0->cursor >= 0x1F) {
- arg0->cursor--;
+ if (arg0->state >= 0x1F) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
}
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
- if (arg0->cursor < 0x1F) {
- arg0->cursor++;
+ if (arg0->state < 0x1F) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
}
if (gControllerOne->buttonPressed & 0x4000) {
- arg0->cursor = 0x00000010;
+ arg0->state = 0x00000010;
play_sound2(SOUND_MENU_GO_BACK);
} else if (gControllerOne->buttonPressed & 0x9000) {
- thing = &D_8018EE10[arg0->unk20];
+ thing = &D_8018EE10[arg0->param2];
if (thing->ghostDataSaved == 0) {
- arg0->cursor = 0x00000028;
- arg0->unk1C = 0;
- } else if (func_800B63F0(arg0->unk20) == 0) {
- arg0->cursor = 0x0000001A;
+ arg0->state = 0x00000028;
+ arg0->param1 = 0;
+ } else if (func_800B63F0(arg0->param2) == 0) {
+ arg0->state = 0x0000001A;
} else {
- arg0->cursor = 0x00000023;
+ arg0->state = 0x00000023;
}
play_sound2(SOUND_MENU_SELECT);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
}
break;
- case 32: /* switch 1 */
- if ((arg0->unk1C == 1) && (func_800B6A68() != 0)) {
- arg0->cursor = 0x00000019;
+ case 32:
+ if ((arg0->param1 == 1) && (func_800B6A68() != 0)) {
+ arg0->state = 0x00000019;
} else {
- arg0->unk1C++;
- if (arg0->unk1C >= 2) {
- arg0->cursor = 0x0000001E;
+ arg0->param1++;
+ if (arg0->param1 >= 2) {
+ arg0->state = 0x0000001E;
}
}
break;
- case 35: /* switch 1 */
- case 36: /* switch 1 */
+ case 35:
+ case 36:
if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) &&
- ((s32) (u32) arg0->cursor >= 0x24)) {
- arg0->cursor--;
+ ((s32) (u32) arg0->state >= 0x24)) {
+ arg0->state--;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = -1;
+ arg0->subState = -1;
}
if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) {
- if (arg0->cursor < 0x24) {
- arg0->cursor++;
+ if (arg0->state < 0x24) {
+ arg0->state++;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
- arg0->unk8 = 1;
+ arg0->subState = 1;
}
}
if (gControllerOne->buttonPressed & 0x4000) {
- arg0->cursor = arg0->unk20 + 0x1E;
+ arg0->state = arg0->param2 + 0x1E;
play_sound2(SOUND_MENU_GO_BACK);
} else if (gControllerOne->buttonPressed & 0x9000) {
- if (arg0->cursor == 0x00000024) {
- arg0->cursor = 0x00000028;
- arg0->unk1C = 0;
+ if (arg0->state == 0x00000024) {
+ arg0->state = 0x00000028;
+ arg0->param1 = 0;
play_sound2(SOUND_MENU_SELECT);
- if (arg0->unk24 < 4.2) {
- arg0->unk24 += 4.0;
+ if (arg0->paramf < 4.2) {
+ arg0->paramf += 4.0;
}
} else {
- arg0->cursor = arg0->unk20 + 0x1E;
+ arg0->state = arg0->param2 + 0x1E;
play_sound2(SOUND_MENU_GO_BACK);
}
}
break;
- case 40: /* switch 1 */
- if (arg0->unk1C == 1) {
+ case 40:
+ if (arg0->param1 == 1) {
if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode,
&gControllerPak1FileNote) != 0) {
- arg0->cursor = 0x00000029;
+ arg0->state = 0x00000029;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
- if (func_800B6178(arg0->unk20) != 0) {
- arg0->cursor = 0x00000029;
+ if (func_800B6178(arg0->param2) != 0) {
+ arg0->state = 0x00000029;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
}
- arg0->unk1C++;
- if (arg0->unk1C >= 2) {
- arg0->cursor = 0x00000010;
+ arg0->param1++;
+ if (arg0->param1 >= 2) {
+ arg0->state = 0x00000010;
}
break;
}
}
-void func_800AEC54(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) {
+void func_800AEC54(MenuItem* arg0) {
+ switch (arg0->state) {
case 0:
- arg0->column = (get_string_width(D_800E7780) / 2) + 0x140;
+ arg0->column = (get_string_width(gTextMenuAnnounceGhost) / 2) + 0x140;
arg0->row = 0x000000DA;
- arg0->cursor = 1;
+ arg0->state = 1;
func_800C90F4(0U, (D_80162DE4 * 0x10) + 0x29008001);
break;
case 1:
func_800A9208(arg0, 0x000000A0);
if (arg0->column == 0x000000A0) {
- arg0->cursor = 2;
- arg0->unk1C = 0;
+ arg0->state = 2;
+ arg0->param1 = 0;
}
break;
case 2:
- arg0->unk1C++;
- if (arg0->unk1C >= 0x3D) {
- arg0->cursor = 3;
- arg0->unk1C = 0;
+ arg0->param1++;
+ if (arg0->param1 >= 0x3D) {
+ arg0->state = 3;
+ arg0->param1 = 0;
}
break;
case 4:
- arg0->unk1C++;
- if (arg0->unk1C >= 6) {
+ arg0->param1++;
+ if (arg0->param1 >= 6) {
arg0->type = 0;
break;
}
// Purposeful fallthrough
case 3:
func_800A94C8(arg0, 0x000000A0, -1);
- if (((arg0->column + 0x14) == -(get_string_width(D_800E7780) / 2)) && (arg0->cursor == 3)) {
- arg0->cursor = 4;
+ if (((arg0->column + 0x14) == -(get_string_width(gTextMenuAnnounceGhost) / 2)) && (arg0->state == 3)) {
+ arg0->state = 4;
}
break;
default:
@@ -12011,9 +11988,9 @@ void func_800AEC54(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AEDBC(struct_8018D9E0_entry* arg0) {
- if (arg0->unk1C != gTimeTrialDataCourseIndex) {
- arg0->unk1C = (s32) gTimeTrialDataCourseIndex;
+void func_800AEDBC(MenuItem* arg0) {
+ if (arg0->param1 != gTimeTrialDataCourseIndex) {
+ arg0->param1 = (s32) gTimeTrialDataCourseIndex;
func_8009A594(arg0->D_8018DEE0_index, 0,
segmented_to_virtual_dupe_2(
D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]]));
@@ -12026,31 +12003,31 @@ void func_800AEDBC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AEE90(struct_8018D9E0_entry* arg0) {
- if (D_8018EDEC != 0xB) {
+void func_800AEE90(MenuItem* arg0) {
+ if (gSubMenuSelection != 0xB) {
arg0->visible = 0;
} else {
arg0->visible = 1;
}
}
-void func_800AEEBC(struct_8018D9E0_entry* arg0) {
- if (D_8018EDEC != 0xC) {
+void func_800AEEBC(MenuItem* arg0) {
+ if (gSubMenuSelection != 0xC) {
arg0->visible = 0;
} else {
arg0->visible = 1;
}
}
-void func_800AEEE8(struct_8018D9E0_entry* arg0) {
- if (D_8018EDEC != 0xD) {
+void func_800AEEE8(MenuItem* arg0) {
+ if (gSubMenuSelection != 0xD) {
arg0->visible = 0;
} else {
arg0->visible = 1;
}
}
-void func_800AEF14(struct_8018D9E0_entry* arg0) {
+void func_800AEF14(MenuItem* arg0) {
if (playerHUD[PLAYER_ONE].raceCompleteBool != 0) {
if ((u32) playerHUD[PLAYER_ONE].someTimer < (u32) (func_800B4E24(4) & 0xFFFFF)) {
D_8018ED90 = 1;
@@ -12059,58 +12036,58 @@ void func_800AEF14(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AEF74(struct_8018D9E0_entry* arg0) {
- switch (arg0->cursor) { /* irregular */
+void func_800AEF74(MenuItem* arg0) {
+ switch (arg0->state) { /* irregular */
case 0:
if (D_80162DF8 == 1) {
- arg0->cursor = 1;
- arg0->unk1C = 0;
+ arg0->state = 1;
+ arg0->param1 = 0;
} else if (playerHUD[PLAYER_ONE].raceCompleteBool == (s8) 1) {
- arg0->cursor = 2;
+ arg0->state = 2;
}
break;
case 2:
break;
case 1:
- arg0->unk1C += 1;
+ arg0->param1 += 1;
if (playerHUD[PLAYER_ONE].raceCompleteBool == 1) {
- arg0->cursor = 2;
+ arg0->state = 2;
}
break;
}
}
-void func_800AF004(struct_8018D9E0_entry* arg0) {
+void func_800AF004(MenuItem* arg0) {
UNUSED s32 temp_t1;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
- arg0->unk1C += 3;
- if (arg0->unk1C >= 0x65) {
- arg0->unk1C = 0;
- arg0->cursor = 1;
+ arg0->param1 += 3;
+ if (arg0->param1 >= 0x65) {
+ arg0->param1 = 0;
+ arg0->state = 1;
// gCupSelection %= 4;
// gCCSelection %= 4;
- add_ui_element(0x0000012C, 0, 0, 4);
+ add_menu_item(MENU_ITEM_TYPE_12C, 0, 0, MENU_ITEM_PRIORITY_4);
}
break;
case 1:
case 2:
case 3:
case 4:
- arg0->unk1C += 1;
- if (arg0->unk1C >= 9) {
- arg0->unk1C = 0;
- arg0->cursor++;
- add_ui_element(arg0->cursor + 0x12B, 0, 0, 4);
+ arg0->param1 += 1;
+ if (arg0->param1 >= 9) {
+ arg0->param1 = 0;
+ arg0->state++;
+ add_menu_item(arg0->state + MENU_ITEM_TYPE_12B, 0, 0, MENU_ITEM_PRIORITY_4);
}
break;
case 5:
- arg0->unk1C += 1;
- if ((arg0->unk1C >= 0x65) &&
+ arg0->param1 += 1;
+ if ((arg0->param1 >= 0x65) &&
((gControllerFive->buttonPressed != 0) || (gControllerFive->stickPressed != 0))) {
- arg0->cursor = 6;
- arg0->unk1C = 0;
+ arg0->state = 6;
+ arg0->param1 = 0;
if (D_802874D8.unk1D < 3) {
play_sound2(SOUND_MENU_OK_CLICKED);
} else {
@@ -12122,7 +12099,7 @@ void func_800AF004(struct_8018D9E0_entry* arg0) {
func_8009DFE0(0x0000001E);
func_800CA330(0x19U);
func_800CA388(0x19U);
- arg0->cursor = 7;
+ arg0->state = 7;
break;
case 7:
default:
@@ -12130,22 +12107,22 @@ void func_800AF004(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AF1AC(struct_8018D9E0_entry* arg0) {
+void func_800AF1AC(MenuItem* arg0) {
Unk_D_800E70A0* temp_v0_2;
s32 idx = arg0->type - 0x12C;
- switch (arg0->cursor) { /* irregular */
+ switch (arg0->state) { /* irregular */
case 0:
temp_v0_2 = &D_800E7458[idx];
arg0->column = temp_v0_2->column;
arg0->row = temp_v0_2->row;
- arg0->cursor = 1;
+ arg0->state = 1;
break;
case 1:
temp_v0_2 = &D_800E7480[idx];
func_800A91D8(arg0, temp_v0_2->column, temp_v0_2->row);
if ((arg0->column == temp_v0_2->column) && (arg0->row == temp_v0_2->row)) {
- arg0->cursor = 2;
+ arg0->state = 2;
}
break;
case 2:
@@ -12153,7 +12130,7 @@ void func_800AF1AC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AF270(struct_8018D9E0_entry* arg0) {
+void func_800AF270(MenuItem* arg0) {
s32 temp_v1;
s32 sp30;
s32 temp_v0;
@@ -12162,31 +12139,31 @@ void func_800AF270(struct_8018D9E0_entry* arg0) {
temp_v1 = arg0->type - 0x12C;
sp30 = D_802874D8.unk1E;
temp_v0 = D_800EFD64[sp30];
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
thing = &D_800E7458[temp_v1];
arg0->column = thing->column;
arg0->row = thing->row;
- arg0->cursor = 1;
+ arg0->state = 1;
break;
case 1:
thing = &D_800E7480[temp_v1];
func_800A91D8(arg0, thing->column, thing->row);
if ((arg0->column == thing->column) && (arg0->row == thing->row)) {
- arg0->cursor = 2;
- arg0->unk20 = 0;
+ arg0->state = 2;
+ arg0->param2 = 0;
}
break;
case 2:
- arg0->unk20++;
- if (arg0->unk20 >= 0x1F) {
+ arg0->param2++;
+ if (arg0->param2 >= 0x1F) {
if (D_802874D8.unk1D >= 3) {
- arg0->cursor = 4;
+ arg0->state = 4;
func_800CA0B8();
func_800C90F4(0U, (sp30 * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x03));
func_800CA0A0();
} else {
- arg0->cursor = 3;
+ arg0->state = 3;
func_8009A640(arg0->D_8018DEE0_index, 0, sp30,
segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_v0]));
func_800CA0B8();
@@ -12198,7 +12175,7 @@ void func_800AF270(struct_8018D9E0_entry* arg0) {
case 3:
if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_v0]) {
func_8009A640(arg0->D_8018DEE0_index, 0, sp30, segmented_to_virtual_dupe_2(D_800E83A0[temp_v0]));
- arg0->cursor = 4;
+ arg0->state = 4;
}
break;
case 4:
@@ -12206,59 +12183,59 @@ void func_800AF270(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AF480(struct_8018D9E0_entry* arg0) {
+void func_800AF480(MenuItem* arg0) {
s32 idx = arg0->type - 0x190;
- if ((D_802850C0[idx].slideDirection == 0) || (D_802850C0[idx].slideDirection != 1)) {
+ if ((gTextCreditsRenderInfo[idx].slideDirection == 0) || (gTextCreditsRenderInfo[idx].slideDirection != 1)) {
func_800AF4DC(arg0);
} else {
func_800AF740(arg0);
}
}
-void func_800AF4DC(struct_8018D9E0_entry* arg0) {
+void func_800AF4DC(MenuItem* arg0) {
UNUSED s32 pad;
s32 temp_v0;
- struct_802850C0_entry* temp_v1;
+ CreditsRenderInfo* temp_v1;
temp_v0 = arg0->type - 0x190;
- temp_v1 = &D_802850C0[temp_v0];
+ temp_v1 = &gTextCreditsRenderInfo[temp_v0];
arg0->row = temp_v1->row;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
arg0->column = temp_v1->startingColumn;
- arg0->cursor = 1;
- arg0->unk20 = temp_v1->columnExtra + (get_string_width(gCreditsText[temp_v0]) * temp_v1->textScaling / 2);
+ arg0->state = 1;
+ arg0->param2 = temp_v1->columnExtra + (get_string_width(gCreditsText[temp_v0]) * temp_v1->textScaling / 2);
/* fallthrough */
case 1:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4;
- if (arg0->unk1C >= 9) {
- arg0->unk1C = 8;
- }
- arg0->unk24 = (arg0->unk1C * 0.05) + 1.0;
- if (arg0->column >= (arg0->unk20 - 0x14)) {
- arg0->cursor = 2;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (s32) (arg0->param2 - arg0->column) / 4;
+ if (arg0->param1 >= 9) {
+ arg0->param1 = 8;
+ }
+ arg0->paramf = (arg0->param1 * 0.05) + 1.0;
+ if (arg0->column >= (arg0->param2 - 0x14)) {
+ arg0->state = 2;
arg0->D_8018DEE0_index = 0;
}
break;
case 2:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (arg0->unk20 - arg0->column) / 4;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (arg0->param2 - arg0->column) / 4;
arg0->D_8018DEE0_index += 1;
- arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4;
- if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1)) {
- arg0->unk24 = 1.0f;
- arg0->cursor = 3;
+ arg0->paramf = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4;
+ if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1)) {
+ arg0->paramf = 1.0f;
+ arg0->state = 3;
}
break;
case 3:
if ((u8) D_8018ED91 != 0) {
- arg0->cursor = 4;
+ arg0->state = 4;
}
break;
case 4:
- func_800A94C8(arg0, arg0->unk20, 1);
+ func_800A94C8(arg0, arg0->param2, 1);
if (arg0->row > 480.0) {
arg0->type = 0;
}
@@ -12268,49 +12245,49 @@ void func_800AF4DC(struct_8018D9E0_entry* arg0) {
}
}
-void func_800AF740(struct_8018D9E0_entry* arg0) {
+void func_800AF740(MenuItem* arg0) {
UNUSED s32 pad;
s32 temp_v0;
- struct_802850C0_entry* temp_v1;
+ CreditsRenderInfo* temp_v1;
temp_v0 = arg0->type - 0x190;
- temp_v1 = &D_802850C0[temp_v0];
+ temp_v1 = &gTextCreditsRenderInfo[temp_v0];
arg0->row = temp_v1->row;
- switch (arg0->cursor) {
+ switch (arg0->state) {
case 0:
arg0->column = temp_v1->startingColumn;
- arg0->cursor = 1;
- arg0->unk20 = temp_v1->columnExtra - (get_string_width(gCreditsText[temp_v0]) * temp_v1->textScaling / 2);
+ arg0->state = 1;
+ arg0->param2 = temp_v1->columnExtra - (get_string_width(gCreditsText[temp_v0]) * temp_v1->textScaling / 2);
/* fallthrough */
case 1:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (s32) (arg0->column - arg0->unk20) / 4;
- if (arg0->unk1C >= 9) {
- arg0->unk1C = 8;
- }
- arg0->unk24 = (arg0->unk1C * 0.05) + 1.0;
- if ((arg0->unk20 + 0x14) >= arg0->column) {
- arg0->cursor = 2;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (s32) (arg0->column - arg0->param2) / 4;
+ if (arg0->param1 >= 9) {
+ arg0->param1 = 8;
+ }
+ arg0->paramf = (arg0->param1 * 0.05) + 1.0;
+ if ((arg0->param2 + 0x14) >= arg0->column) {
+ arg0->state = 2;
arg0->D_8018DEE0_index = 0;
}
break;
case 2:
- func_800A9208(arg0, arg0->unk20);
- arg0->unk1C = (arg0->column - arg0->unk20) / 4;
+ func_800A9208(arg0, arg0->param2);
+ arg0->param1 = (arg0->column - arg0->param2) / 4;
arg0->D_8018DEE0_index += 1;
- arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4;
- if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1)) {
- arg0->unk24 = 1.0f;
- arg0->cursor = 3;
+ arg0->paramf = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4;
+ if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1)) {
+ arg0->paramf = 1.0f;
+ arg0->state = 3;
}
break;
case 3:
if ((u8) D_8018ED91 != 0) {
- arg0->cursor = 4;
+ arg0->state = 4;
}
break;
case 4:
- func_800A94C8(arg0, arg0->unk20, -1);
+ func_800A94C8(arg0, arg0->param2, -1);
if (arg0->row > 480.0) {
arg0->type = 0;
}
diff --git a/src/menu_items.h b/src/menu_items.h
new file mode 100644
index 000000000..a55baaafc
--- /dev/null
+++ b/src/menu_items.h
@@ -0,0 +1,863 @@
+#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 sMenuTextureList.
+ * This value is (roughly) the sum of (width * height) of the
+ * textures in all the previous entries in sMenuTextureMap
+ */
+ /* 0x04 */ s32 offset;
+} TextureMap; // 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
+
+enum MENU_ITEM_PRIORITY {
+ MENU_ITEM_PRIORITY_0,
+ MENU_ITEM_PRIORITY_1,
+ MENU_ITEM_PRIORITY_2,
+ MENU_ITEM_PRIORITY_3,
+ MENU_ITEM_PRIORITY_4,
+ MENU_ITEM_PRIORITY_5,
+ MENU_ITEM_PRIORITY_6,
+ MENU_ITEM_PRIORITY_7,
+ MENU_ITEM_PRIORITY_8,
+ MENU_ITEM_PRIORITY_9,
+ MENU_ITEM_PRIORITY_A,
+ MENU_ITEM_PRIORITY_B,
+ MENU_ITEM_PRIORITY_C,
+ MENU_ITEM_PRIORITY_D,
+ MENU_ITEM_PRIORITY_E,
+ MENU_ITEM_PRIORITY_F,
+ MENU_ITEM_PRIORITY_MAX // 0x10
+};
+
+enum CenterText { LEFT_TEXT = 1, CENTER_TEXT_MODE_1, RIGHT_TEXT, CENTER_TEXT_MODE_2 };
+
+enum MENU_ITEM_TYPE {
+ MENU_ITEM_UI_NONE,
+ MENU_ITEM_UI_START_BACKGROUND,
+ MENU_ITEM_UI_LOGO_AND_COPYRIGHT,
+ MENU_ITEM_UI_PUSH_START_BUTTON,
+ MENU_ITEM_UI_NO_CONTROLLER,
+ MENU_ITEM_UI_START_RECORD_TIME,
+ MENU_ITEM_UI_GAME_SELECT = 0xA,
+ MENU_ITEM_UI_1P_GAME,
+ MENU_ITEM_UI_2P_GAME,
+ MENU_ITEM_UI_3P_GAME,
+ MENU_ITEM_UI_4P_GAME,
+ MENU_ITEM_UI_OK,
+ MAIN_MENU_OPTION_GFX,
+ MAIN_MENU_DATA_GFX,
+ MAIN_MENU_50CC,
+ MAIN_MENU_100CC,
+ MAIN_MENU_150CC,
+ MAIN_MENU_EXTRA_CC,
+ MENU_ITEM_TYPE_016,
+ MENU_ITEM_TYPE_017,
+ MAIN_MENU_TIME_TRIALS_BEGIN,
+ MAIN_MENU_TIME_TRIALS_DATA,
+ MENU_ITEM_TYPE_01B = 0x1B,
+ MAIN_MENU_BACKGROUND = 0x23,
+ CHARACTER_SELECT_BACKGROUND,
+ COURSE_SELECT_BACKGROUND,
+ CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER = 0x2A,
+ CHARACTER_SELECT_MENU_MARIO,
+ CHARACTER_SELECT_MENU_LUIGI,
+ CHARACTER_SELECT_MENU_TOAD,
+ CHARACTER_SELECT_MENU_PEACH,
+ CHARACTER_SELECT_MENU_YOSHI,
+ CHARACTER_SELECT_MENU_DK,
+ CHARACTER_SELECT_MENU_WARIO,
+ CHARACTER_SELECT_MENU_BOWSER,
+ CHARACTER_SELECT_MENU_OK,
+ CHARACTER_SELECT_MENU_1P_CURSOR,
+ CHARACTER_SELECT_MENU_2P_CURSOR,
+ CHARACTER_SELECT_MENU_3P_CURSOR,
+ CHARACTER_SELECT_MENU_4P_CURSOR,
+ MENU_ITEM_TYPE_043 = 0x43,
+ MENU_ITEM_TYPE_044,
+ MENU_ITEM_TYPE_045,
+ MENU_ITEM_TYPE_046,
+ MENU_ITEM_TYPE_047,
+ MENU_ITEM_TYPE_048,
+ MENU_ITEM_TYPE_049,
+ MENU_ITEM_TYPE_050 = 0x50,
+ COURSE_SELECT_MAP_SELECT = 0x52,
+ COURSE_SELECT_MUSHROOM_CUP,
+ COURSE_SELECT_FLOWER_CUP,
+ COURSE_SELECT_STAR_CUP,
+ COURSE_SELECT_SPECIAL_CUP,
+ MENU_ITEM_TYPE_058 = 0x58,
+ COURSE_SELECT_COURSE_NAMES,
+ MENU_ITEM_TYPE_05A,
+ MENU_ITEM_TYPE_05B,
+ COURSE_SELECT_BATTLE_NAMES,
+ COURSE_SELECT_OK,
+ MENU_ITEM_TYPE_05E,
+ MENU_ITEM_TYPE_05F,
+ MENU_ITEM_TYPE_060,
+ MENU_ITEM_TYPE_061,
+ MENU_ITEM_TYPE_062,
+ MENU_ITEM_TYPE_064 = 0x64,
+ MENU_ITEM_TYPE_065,
+ MENU_ITEM_TYPE_066,
+ MENU_ITEM_TYPE_067,
+ MENU_ITEM_TYPE_068,
+ MENU_ITEM_TYPE_069,
+ MENU_ITEM_TYPE_06E = 0x6E,
+ MENU_ITEM_TYPE_078 = 0x78,
+ MENU_ITEM_TYPE_079,
+ MENU_ITEM_TYPE_07A,
+ MENU_ITEM_TYPE_07B,
+ MENU_ITEM_TYPE_07C,
+ MENU_ITEM_TYPE_07D,
+ MENU_ITEM_TYPE_07E,
+ MENU_ITEM_TYPE_07F,
+ MENU_ITEM_TYPE_080,
+ MENU_ITEM_TYPE_081,
+ MENU_ITEM_TYPE_082,
+ MENU_ITEM_TYPE_083,
+ MENU_ITEM_TYPE_084,
+ MENU_ITEM_TYPE_085,
+ MENU_ITEM_TYPE_086,
+ MENU_ITEM_TYPE_087,
+ MENU_ITEM_TYPE_088,
+ MENU_ITEM_TYPE_089,
+ MENU_ITEM_TYPE_08A,
+ MENU_ITEM_TYPE_08B,
+ MENU_ITEM_TYPE_08C,
+ MENU_ITEM_TYPE_08D,
+ MENU_ITEM_TYPE_096 = 0x96,
+ MENU_ITEM_TYPE_097,
+ MENU_ITEM_TYPE_098,
+ MENU_ITEM_TYPE_0A0 = 0xA0,
+ MENU_ITEM_TYPE_0A1,
+ MENU_ITEM_TYPE_0AA = 0xAA,
+ MENU_ITEM_TYPE_0AB,
+ MENU_ITEM_TYPE_0AC,
+ MENU_ITEM_TYPE_0AF = 0XAF,
+ MENU_ITEM_TYPE_0B0,
+ MENU_ITEM_TYPE_0B1,
+ MENU_ITEM_TYPE_0B2,
+ MENU_ITEM_TYPE_0B3,
+ MENU_ITEM_TYPE_0B4,
+ MENU_ITEM_TYPE_0B9 = 0xB9,
+ MENU_ITEM_TYPE_0BA,
+ MENU_ITEM_TYPE_0BB,
+ MENU_ITEM_ANNOUNCE_GHOST,
+ MENU_ITEM_END_COURSE_OPTION,
+ MENU_ITEM_TYPE_0BE,
+ MENU_ITEM_PAUSE = 0xC7,
+ MENU_ITEM_TYPE_0D2 = 0xD2,
+ MENU_ITEM_TYPE_0D3,
+ MENU_ITEM_TYPE_0D4,
+ MENU_ITEM_TYPE_0D5,
+ MENU_ITEM_TYPE_0D6,
+ MENU_ITEM_TYPE_0D7,
+ MENU_ITEM_TYPE_0D8,
+ MENU_ITEM_TYPE_0D9,
+ MENU_ITEM_TYPE_0DA,
+ MENU_ITEM_DATA_COURSE_IMAGE = 0xE6,
+ MENU_ITEM_DATA_COURSE_INFO,
+ MENU_ITEM_DATA_COURSE_SELECTABLE,
+ MENU_ITEM_TYPE_0E9,
+ MENU_ITEM_TYPE_0EA,
+ MENU_ITEM_TYPE_0F0 = 0xF0,
+ MENU_ITEM_TYPE_0F1,
+ MENU_ITEM_UI_LOGO_INTRO = 0xFA,
+ START_MENU_FLAG,
+ MENU_ITEM_TYPE_10E = 0x10E,
+ MENU_ITEM_TYPE_12B = 0X12B,
+ MENU_ITEM_TYPE_12C,
+ MENU_ITEM_TYPE_12D,
+ MENU_ITEM_TYPE_12E,
+ MENU_ITEM_TYPE_12F,
+ MENU_ITEM_TYPE_130,
+ MENU_ITEM_TYPE_190 = 0x190,
+ MENU_ITEM_TYPE_191,
+ MENU_ITEM_TYPE_192,
+ MENU_ITEM_TYPE_193,
+ MENU_ITEM_TYPE_194,
+ MENU_ITEM_TYPE_195,
+ MENU_ITEM_TYPE_196,
+ MENU_ITEM_TYPE_197,
+ MENU_ITEM_TYPE_198,
+ MENU_ITEM_TYPE_199,
+ MENU_ITEM_TYPE_19A,
+ MENU_ITEM_TYPE_19B,
+ MENU_ITEM_TYPE_19C,
+ MENU_ITEM_TYPE_19D,
+ MENU_ITEM_TYPE_19E,
+ MENU_ITEM_TYPE_19F,
+ MENU_ITEM_TYPE_1A0,
+ MENU_ITEM_TYPE_1A1,
+ MENU_ITEM_TYPE_1A2,
+ MENU_ITEM_TYPE_1A3,
+ MENU_ITEM_TYPE_1A4,
+ MENU_ITEM_TYPE_1A5,
+ MENU_ITEM_TYPE_1A6,
+ MENU_ITEM_TYPE_1A7,
+ MENU_ITEM_TYPE_1A8,
+ MENU_ITEM_TYPE_1A9,
+ MENU_ITEM_TYPE_1AA,
+ MENU_ITEM_TYPE_1AB,
+ MENU_ITEM_TYPE_1AC,
+ MENU_ITEM_TYPE_1AD,
+ MENU_ITEM_TYPE_1AE,
+ MENU_ITEM_TYPE_1AF,
+ MENU_ITEM_TYPE_1B0,
+ MENU_ITEM_TYPE_1B1,
+ MENU_ITEM_TYPE_1B2,
+ MENU_ITEM_TYPE_1B3,
+ MENU_ITEM_TYPE_1B4,
+ MENU_ITEM_TYPE_1B5,
+ MENU_ITEM_TYPE_1B6,
+ MENU_ITEM_TYPE_1B7,
+ MENU_ITEM_TYPE_1B8,
+ MENU_ITEM_TYPE_1B9,
+ MENU_ITEM_TYPE_1BA,
+ MENU_ITEM_TYPE_1BB,
+ MENU_ITEM_TYPE_1BC,
+ MENU_ITEM_TYPE_1BD,
+ MENU_ITEM_TYPE_1BE,
+ MENU_ITEM_TYPE_1BF,
+ MENU_ITEM_TYPE_1C0,
+ MENU_ITEM_TYPE_1C1,
+ MENU_ITEM_TYPE_1C2,
+ MENU_ITEM_TYPE_1C3,
+ MENU_ITEM_TYPE_1C4,
+ MENU_ITEM_TYPE_1C5,
+ MENU_ITEM_TYPE_1C6,
+ MENU_ITEM_TYPE_1C7,
+ MENU_ITEM_TYPE_1C8,
+ MENU_ITEM_TYPE_1C9,
+ MENU_ITEM_TYPE_1CA,
+ MENU_ITEM_TYPE_1CB,
+ MENU_ITEM_TYPE_1CC,
+ MENU_ITEM_TYPE_1CD,
+ MENU_ITEM_TYPE_1CE
+};
+
+enum LoadImgCompType {
+ LOAD_MENU_IMG_MIO0_ONCE = -1,
+ LOAD_MENU_IMG_TKMK00_ONCE,
+ // Force load image even if the data is loaded before
+ LOAD_MENU_IMG_FORCE = LOAD_MENU_IMG_TKMK00_ONCE, // 0
+ LOAD_MENU_IMG_MIO0_FORCE,
+ LOAD_MENU_IMG_TKMK00_FORCE
+};
+
+enum TEXT_MENU_ID { CONTINUE_GAME, RETRY, COURSE_CHANGE, DRIVER_CHANGE, QUIT_TEXT_MENU, REPLAY, SAVE_GHOST };
+
+/* 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 clear_menu_textures(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 render_cursor_player(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 render_menu_item_data_course_image(MenuItem*);
+void render_menu_item_data_course_info(MenuItem*);
+void menu_item_data_course_selectable(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 time_trials_finish_text_render(MenuItem*);
+void func_800A3E60(MenuItem*);
+void render_lap_time(s32, s32, s32);
+void render_lap_times(s32, s32, s32);
+void render_menu_item_announce_ghost(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 render_menu_item_end_course_option(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 menu_item_credits_render(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 handle_menus_with_pri_arg(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 render_battle_introduction(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 update_ok_menu_item(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 update_cursor(MenuItem*);
+void func_800AAE18(MenuItem*);
+MenuItem* get_menu_item_player_count(void);
+MenuItem* get_menu_item_character(s32);
+MenuItem* find_menu_items_dupe(s32);
+MenuItem* find_menu_items(s32);
+s32 get_character_menu_state(s32);
+void hover_cursor_over_character_portrait(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
+#define MENU_TEXTURE_BUFFER_MAX 500
+
+/* This is where I'd put my static data, if I had any */
+
+extern s32 D_800DDB24;
+extern s16 D_80164478[];
+
+/**
+ * Old name: sMenuTextureBuffer
+ * This array has been modified. Instead of holding a buffer of texture data
+ * It now holds a list of pointers to asset strings.
+ * use `load_texture()` and `replace_texture()` to add textures to the list for rendering.
+ */
+extern const char* sMenuTextureList[MENU_TEXTURE_BUFFER_MAX];
+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 sMenuTextureListIndex; // Old name: sMenuTextureBufferIndex, index into sMenuTextureList
+extern TextureMap 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
diff --git a/src/menus.c b/src/menus.c
index a42e86c96..316ae8178 100644
--- a/src/menus.c
+++ b/src/menus.c
@@ -12,7 +12,7 @@
#include "audio/external.h"
#include "code_800029B0.h"
#include "code_80005FD0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_800AF9B0.h"
#include "save.h"
#include "staff_ghosts.h"
@@ -22,77 +22,87 @@
#include "port/Game.h"
/** BSS **/
-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]; // map from player id to current grid position
-s8 D_8018EDE8[4]; // map player id to isCharSelected on CSS
-s8 D_8018EDEC;
-s8 gMainMenuSelectionDepth;
-s8 D_8018EDEE; // grid screen state?
+s32 gIntroModelZEye;
+f32 gIntroModelScale; // XYZ scale on checkerboard flag, Z scale on intro logo
+f32 gIntroModelRotX;
+f32 gIntroModelRotY;
+f32 gIntroModelRotZ;
+f32 gIntroModelPosX;
+f32 gIntroModelPosY;
+f32 gIntroModelPosZ;
+s32 gMenuFadeType;
+s8 gCharacterGridSelections[4]; // Map from each player to current grid position (1-4 top, 5-8 bottom)
+bool gCharacterGridIsSelected[4]; // Sets true if a character is selected for each player
+s8 gSubMenuSelection; // Map Select states, Options and Ghost Data text selection
+s8 gMainMenuSelection;
+s8 gPlayerSelectMenuSelection; // grid screen state?
s8 gDebugMenuSelection;
s8 gControllerPakMenuSelection;
-s8 D_8018EDF1;
+s8 gScreenModeListIndex; // 0-4 index, selects a screen mode in sScreenModePlayerTable
u8 gSoundMode;
-s8 gPlayerCount; // main menu row id? but it is also the number of players define
-s8 D_8018EDF4;
-s8 D_8018EDF5;
-s8 D_8018EDF6;
+s8 gPlayerCount;
+s8 gVersusResultCursorSelection; // 4 options indexed (10-13), gets set when selecting an option
+s8 gTimeTrialsResultCursorSelection; // 5 options indexed (5-9), gets set when selecting an option (excluding Save Ghost)
+s8 gBattleResultCursorSelection; // 4 options indexed (10-13), gets set when selecting an option
s8 gTimeTrialDataCourseIndex;
-s8 gCourseRecordsMenuSelection;
-s8 D_8018EDF9;
+s8 gCourseRecordsMenuSelection; // Used for selecting an option in course record data
+s8 gCourseRecordsSubMenuSelection; // Used for erase records and ghosts (Quit - Erase)
s8 gDebugGotoScene;
-s8 D_8018EDFB;
-s8 D_8018EDFC;
+bool gGhostPlayerInit;
+bool gCourseMapInit;
s32 gMenuTimingCounter;
s32 gMenuDelayTimer;
-s8 D_8018EE08;
+s8 gDemoUseController; // Sets true alongside gDemoMode, controller related
s8 gCupSelection;
-s8 D_8018EE0A;
+s8 sTempCupSelection; // Same as gCupSelection but it's only set in map select, not referenced
s8 gCourseIndexInCup;
-s8 D_8018EE0C;
-struct_8018EE10_entry D_8018EE10[2];
+s8 unref_D_8018EE0C; // Set to 0 but never referenced
/** Data **/
s32 gMenuSelection = LOGO_INTRO_MENU;
-s32 D_800E86A4 = 0;
+s32 gFadeModeSelection = FADE_MODE_NONE;
s8 gCharacterSelections[4] = { MARIO, LUIGI, YOSHI, TOAD };
-// gGameModeRowSelectionForNumPlayers is (D_800E86AC - 1)
-// gGameModeSubMenuRowSelectionForNumPlayers (D_800E86AC + 1)
+// The current row selected in the mode column for each player indexed
+// 0-1 1p / 0-2 2p´/ 0-1 3p / 0-1 4p
+s8 gGameModeMenuColumn[4] = { 0, 0, 0, 0 };
-// the current row selected in column i on main menu
-s8 D_800E86AC[4] = { 0, 0, 0, 0 };
// For Grand Prix and Versus, this will be the CC mode selected. For Time Trials, it will
// be whether 'Begin' or 'Data' is selected. Not used for Battle.
// indexed as [column][row]
-s8 D_800E86B0[4][3] = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } };
+s8 gGameModeSubMenuColumn[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 }; // this doesn't make a lot of sense...
-s8 unref_800E86E0[4] = { 0, 0, 0, 1 };
-
-u32 sVIGammaOffDitherOn = OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON;
-
-// Used to set gScreenModeSelection; might be smaller; could be function static data
-const s8 D_800F2B50[] = { 0, 1, 2, 3, 3 };
+s8 gControllerPakSelectedTableRow = 0; // 0-4 index, value of the current visible row select
+
+// Numbers starting from the second 0 to number 6 get altered
+// as you move up or down the page table of content (min value is 0, max value is 16
+s8 gControllerPakVisibleTableRows[12] = { 0, 0, 1, 2, 3, 4, 5, 6, 0, 0, 0, 0 };
+s8 gControllerPakScrollDirection = CONTROLLER_PAK_SCROLL_DIR_NONE; // 1 is down, 2 is up
+s8 unref_D_800E86D4[12] = { 0 };
+s8 unref_D_800E86E0[4] = { 0, 0, 0, 1 };
+
+u32 sVIGammaOffDitherOn = (OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON);
+
+/** Rodata **/
+
+// Sets the actual screen mode based on values set in sScreenModePlayerCount
+const s8 sScreenModePlayerTable[] = {
+ SCREEN_MODE_1P,
+ SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL,
+ SCREEN_MODE_2P_SPLITSCREEN_VERTICAL,
+ SCREEN_MODE_3P_4P_SPLITSCREEN,
+ SCREEN_MODE_3P_4P_SPLITSCREEN
+};
-// Set to gPlayerCount, then that sets gPlayerCountSelection1
-const s8 D_800F2B58[] = { 1, 2, 2, 3, 4 };
+// Sets how many players can load on each screen mode set in sScreenModePlayerTable
+const s8 sScreenModePlayerCount[] = { 1, 2, 2, 3, 4 };
// Set indexed slots numbers for one-two-three-four mode selection
const s8 gPlayerModeSelection[] = { 1, 2, 1, 1 };
// Limit for each index column in one-two-three-four mode selection
-const s8 gGameModePlayerColumnDefault[][3] = {
+const s8 sGameModePlayerColumnDefault[][3] = {
{ 2, 1, 0 }, // 1p (GP options, TT options, ...)
{ 2, 2, 0 }, // 2p (GP options, VS options, Battle)
{ 2, 0, 0 }, // 3p (VS options, Battle, ...)
@@ -101,7 +111,7 @@ const s8 gGameModePlayerColumnDefault[][3] = {
// Limit for each index column in one-two-three-four mode selection
// for extra mode (mirror mode), hence the extra value (3 instead of 2)
-const s8 gGameModePlayerColumnExtra[][3] = {
+const s8 sGameModePlayerColumnExtra[][3] = {
{ 3, 1, 0 }, // 1p (GP options, TT options, ...)
{ 3, 3, 0 }, // 2p (GP options, VS options, Battle)
{ 3, 0, 0 }, // 3p (VS options, Battle, ...)
@@ -116,8 +126,9 @@ const s32 gGameModePlayerSelection[][3] = {
{ VERSUS, BATTLE, 0x00000000 }, // 4p game modes
};
-// map from character grid position id to character id
-const s8 D_800F2BAC[] = {
+// Map from character grid position id to character id
+// Note: changing order doesn't affect graphics, only the selection
+const s8 sCharacterGridOrder[] = {
MARIO, LUIGI, PEACH, TOAD, YOSHI, DK, WARIO, BOWSER,
};
@@ -134,10 +145,13 @@ const s16 gCupCourseOrder[5][4] = {
{ COURSE_BIG_DONUT, COURSE_BLOCK_FORT, COURSE_DOUBLE_DECK, COURSE_SKYSCRAPER },
};
-const s8 D_800F2BDC[4] = { 1, 0, 0, 0 };
-const s8 D_800F2BE0[4] = { 0, 1, 3, 4 };
+const s8 unref_800F2BDC[4] = { 1, 0, 0, 0 };
-const union GameModePack gSoundMenuPack = { { SOUND_STEREO, SOUND_HEADPHONES, SOUND_UNUSED, SOUND_MONO } };
+// Uses player count to set gScreenModeListIndex, the latter variable then selects a mode
+// from sScreenModePlayerTable, note the 2 is not set since that's for vertical 2p screen
+const s8 sScreenModeIdxFromPlayerMode[4] = { 0, 1, 3, 4 };
+
+const union GameModePack sSoundMenuPack = { { SOUND_STEREO, SOUND_HEADPHONES, SOUND_UNUSED, SOUND_MONO } };
/**************************/
@@ -147,11 +161,10 @@ const union GameModePack gSoundMenuPack = { { SOUND_STEREO, SOUND_HEADPHONES, SO
void update_menus(void) {
u16 controllerIdx;
- if (D_800E86A4 == 0) {
+ if (gFadeModeSelection == FADE_MODE_NONE) {
for (controllerIdx = 0; controllerIdx < 4; controllerIdx++) {
-
// Debug, quick jump through menus using the start button.
- if ((func_800B4520() == 0) && (gEnableDebugMode) &&
+ if ((is_screen_being_faded() == 0) && (gEnableDebugMode) &&
((gControllers[controllerIdx].buttonPressed & START_BUTTON) != 0)) {
// this is certainly a way to write these...
switch (gMenuSelection) {
@@ -212,13 +225,15 @@ void update_menus(void) {
}
}
-// navigation of the options menu
-void options_menu_act(struct Controller* controller, u16 arg1) {
+/**
+ * Navigation of the options menu
+ */
+void options_menu_act(struct Controller* controller, u16 controllerIdx) {
u16 btnAndStick; // sp3E
- struct_8018D9E0_entry* sp38;
+ MenuItem* sp38;
s32 res;
struct_8018EE10_entry* sp30;
- bool sp2C; // cursorWasMoved or communicateStoredAction
+ bool tempVar; // cursorWasMoved or communicateStoredAction
UNUSED u32 pad;
btnAndStick = (controller->buttonPressed | controller->stickPressed);
@@ -227,53 +242,53 @@ void options_menu_act(struct Controller* controller, u16 arg1) {
btnAndStick |= A_BUTTON;
}
- if (!func_800B4520()) {
- sp38 = find_8018D9E0_entry_dupe(0xF0);
- sp30 = (struct_8018EE10_entry*) D_8018D9C0;
- switch (D_8018EDEC) {
- case 0x15:
- case 0x16:
- case 0x17:
- case 0x18: {
- sp2C = false;
- if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x18)) {
- D_8018EDEC += 1;
+ if (!is_screen_being_faded()) {
+ sp38 = find_menu_items_dupe(0xF0);
+ sp30 = (struct_8018EE10_entry*) gSomeDLBuffer;
+ switch (gSubMenuSelection) {
+ case SUB_MENU_OPTION_RETURN_GAME_SELECT:
+ case SUB_MENU_OPTION_SOUND_MODE:
+ case SUB_MENU_OPTION_COPY_CONTROLLER_PAK:
+ case SUB_MENU_OPTION_ERASE_ALL_DATA: {
+ tempVar = false;
+ if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_OPTION_MAX)) {
+ gSubMenuSelection += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = 1;
- sp2C = true;
+ sp38->subState = 1;
+ tempVar = true;
}
- if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x16)) {
- D_8018EDEC -= 1;
+ if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_OPTION_MIN)) {
+ gSubMenuSelection -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp2C = true;
- sp38->unk8 = -1;
+ tempVar = true;
+ sp38->subState = -1;
}
- if (sp2C && gSoundMode != sp38->cursor) {
+ if (tempVar && gSoundMode != sp38->state) {
gSaveData.main.saveInfo.soundMode = gSoundMode;
write_save_data_grand_prix_points_and_sound_mode();
update_save_data_backup();
- sp38->cursor = gSoundMode;
+ sp38->state = gSoundMode;
}
if (btnAndStick & B_BUTTON) {
func_8009E280();
play_sound2(SOUND_MENU_GO_BACK);
- if (gSoundMode != sp38->cursor) {
+ if (gSoundMode != sp38->state) {
gSaveData.main.saveInfo.soundMode = gSoundMode;
write_save_data_grand_prix_points_and_sound_mode();
update_save_data_backup();
- sp38->cursor = gSoundMode;
+ sp38->state = gSoundMode;
}
return;
}
if (btnAndStick & A_BUTTON) {
- switch (D_8018EDEC) {
- case 0x16:
+ switch (gSubMenuSelection) {
+ case SUB_MENU_OPTION_SOUND_MODE:
if (gSoundMode < 3) {
gSoundMode += 1;
} else {
@@ -282,7 +297,7 @@ void options_menu_act(struct Controller* controller, u16 arg1) {
if (gSoundMode == SOUND_UNUSED) {
gSoundMode = SOUND_MONO;
}
- func_800B44BC();
+ set_sound_mode();
switch (gSoundMode) {
case SOUND_STEREO:
play_sound2(SOUND_MENU_STEREO);
@@ -295,75 +310,75 @@ void options_menu_act(struct Controller* controller, u16 arg1) {
return;
}
break;
- case 0x17:
+ case SUB_MENU_OPTION_COPY_CONTROLLER_PAK:
switch (controller_pak_2_status()) {
case PFS_INVALID_DATA:
- D_8018EDEC = 0x2B;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
case PFS_NO_ERROR:
func_800B6798();
- sp2C = controller_pak_1_status();
- switch (sp2C) {
+ tempVar = controller_pak_1_status();
+ switch (tempVar) {
case PFS_INVALID_DATA:
- D_8018EDEC = 0x46;
- sp38->cursor = 0;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT;
+ sp38->state = 0;
play_sound2(SOUND_MENU_SELECT);
break;
case PFS_NO_ERROR:
func_800B6708();
break;
case PFS_NO_PAK_INSERTED:
- D_8018EDEC = 0x34;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
break;
case PFS_FILE_OVERFLOW:
- D_8018EDEC = 0x37;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
break;
case PFS_PAK_BAD_READ:
- case 3:
+ case PFS_PAK_CORRUPTED: // unreachable, bad reads always returns previous case
default:
- D_8018EDEC = 0x35;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
break;
}
- if (sp2C == PFS_INVALID_DATA && !sp30[0].ghostDataSaved &&
- !sp30[1].ghostDataSaved) {
- D_8018EDEC = 0x2A;
+ if (tempVar == PFS_INVALID_DATA && !sp30[PLAYER_ONE].ghostDataSaved &&
+ !sp30[PLAYER_TWO].ghostDataSaved) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
- if (sp2C == PFS_NO_ERROR) {
- if (sp30[0].ghostDataSaved) {
- D_8018EDEC = 0x28;
+ if (tempVar == PFS_NO_ERROR) {
+ if (sp30[PLAYER_ONE].ghostDataSaved) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_FROM_GHOST1_1P;
play_sound2(SOUND_MENU_SELECT);
- } else if (sp30[1].ghostDataSaved) {
- D_8018EDEC = 0x29;
+ } else if (sp30[PLAYER_TWO].ghostDataSaved) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_FROM_GHOST2_1P;
play_sound2(SOUND_MENU_SELECT);
} else {
- D_8018EDEC = 0x2A;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
}
}
// else return?
return;
case PFS_NO_PAK_INSERTED:
- D_8018EDEC = 0x2C;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
case PFS_PAK_BAD_READ:
default:
- D_8018EDEC = 0x2D;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
- case 0x18: {
- D_8018EDEC = 0x1E;
+ case SUB_MENU_OPTION_ERASE_ALL_DATA: {
+ gSubMenuSelection = SUB_MENU_ERASE_QUIT;
play_sound2(SOUND_MENU_SELECT);
return;
}
- case 0x15: {
+ case SUB_MENU_OPTION_RETURN_GAME_SELECT: {
func_8009E280();
play_sound2(SOUND_MENU_GO_BACK);
return;
@@ -373,37 +388,37 @@ void options_menu_act(struct Controller* controller, u16 arg1) {
// maybe else return?;
break;
}
- case 0x1E:
- case 0x1F: {
- if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x1F)) {
- D_8018EDEC += 1;
+ case SUB_MENU_ERASE_QUIT:
+ case SUB_MENU_ERASE_ERASE: {
+ if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_ERASE_MAX)) {
+ gSubMenuSelection += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = 1;
+ sp38->subState = 1;
}
- if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x1F)) {
- D_8018EDEC -= 1;
+ if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_ERASE_MIN)) {
+ gSubMenuSelection -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = -1;
+ sp38->subState = -1;
}
if (btnAndStick & B_BUTTON) {
- D_8018EDEC = 0x18;
+ gSubMenuSelection = SUB_MENU_OPTION_ERASE_ALL_DATA;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
if (btnAndStick & A_BUTTON) {
- switch (D_8018EDEC) {
- case 0x1E:
- D_8018EDEC = 0x18;
+ switch (gSubMenuSelection) {
+ case SUB_MENU_ERASE_QUIT:
+ gSubMenuSelection = SUB_MENU_OPTION_ERASE_ALL_DATA;
play_sound2(SOUND_MENU_GO_BACK);
break;
- case 0x1F:
- D_8018EDEC = 0x20;
+ case SUB_MENU_ERASE_ERASE:
+ gSubMenuSelection = SUB_MENU_SAVE_DATA_ERASED;
func_800B46D0();
D_800DC5AC = 0;
play_sound2(SOUND_MENU_EXPLOSION);
@@ -412,187 +427,187 @@ void options_menu_act(struct Controller* controller, u16 arg1) {
}
break; // or return?
}
- case 0x20: {
+ case SUB_MENU_SAVE_DATA_ERASED: {
if (btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) {
- D_8018EDEC = 0x18;
+ gSubMenuSelection = SUB_MENU_OPTION_ERASE_ALL_DATA;
play_sound2(SOUND_MENU_GO_BACK);
}
break;
}
- case 0x28:
- case 0x29: {
- if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x29) && (sp30[1].ghostDataSaved)) {
- D_8018EDEC += 1;
+ case SUB_MENU_COPY_PAK_FROM_GHOST1_1P:
+ case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: {
+ if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_COPY_PAK_FROM_GHOST_MAX) && (sp30[PLAYER_TWO].ghostDataSaved)) {
+ gSubMenuSelection += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = 1;
+ sp38->subState = 1;
}
- if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x29) && sp30[0].ghostDataSaved) {
- D_8018EDEC -= 1;
+ if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_COPY_PAK_FROM_GHOST_MIN) && sp30[PLAYER_ONE].ghostDataSaved) {
+ gSubMenuSelection -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = -1;
+ sp38->subState = -1;
}
if (btnAndStick & B_BUTTON) {
- D_8018EDEC = 0x17;
+ gSubMenuSelection = SUB_MENU_OPTION_COPY_CONTROLLER_PAK;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
if (btnAndStick & A_BUTTON) {
- sp38->unk20 = D_8018EDEC - 0x28;
- if (sp30[sp38->unk20].courseIndex == D_8018EE10[1].courseIndex && D_8018EE10[1].ghostDataSaved) {
- D_8018EDEC = 0x33;
+ sp38->param2 = gSubMenuSelection - SUB_MENU_COPY_PAK_FROM_GHOST_MIN;
+ if (sp30[sp38->param2].courseIndex == D_8018EE10[PLAYER_TWO].courseIndex && D_8018EE10[PLAYER_TWO].ghostDataSaved) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_TO_GHOST2_2P;
} else {
- D_8018EDEC = 0x32;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_TO_GHOST1_2P;
}
play_sound2(SOUND_MENU_SELECT);
}
break;
}
- case 0x32:
- case 0x33: {
+ case SUB_MENU_COPY_PAK_TO_GHOST1_2P:
+ case SUB_MENU_COPY_PAK_TO_GHOST2_2P: {
// bit of a fake match, but if it works it works?
- if ((sp30[sp38->unk20].courseIndex != ((0, (D_8018EE10 + (D_8018EDEC - 0x32))->courseIndex))) ||
- ((D_8018EE10 + (D_8018EDEC - 0x32))->ghostDataSaved == 0)) {
- if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x33)) {
- D_8018EDEC += 1;
+ if ((sp30[sp38->param2].courseIndex != ((0, (D_8018EE10 + (gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN))->courseIndex))) ||
+ ((D_8018EE10 + (gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN))->ghostDataSaved == 0)) {
+ if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_COPY_PAK_TO_GHOST_MAX)) {
+ gSubMenuSelection += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = 1;
+ sp38->subState = 1;
}
- if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x33)) {
- D_8018EDEC -= 1;
+ if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_COPY_PAK_TO_GHOST_MIN)) {
+ gSubMenuSelection -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = -1;
+ sp38->subState = -1;
}
}
if (btnAndStick & B_BUTTON) {
- D_8018EDEC = sp38->unk20 + 0x28;
+ gSubMenuSelection = sp38->param2 + SUB_MENU_COPY_PAK_FROM_GHOST_MIN;
play_sound2(SOUND_MENU_GO_BACK);
} else if (btnAndStick & A_BUTTON) {
- sp38->unk1C = D_8018EDEC - 0x32;
- if (D_8018EE10[(sp38->unk1C)].ghostDataSaved) {
- D_8018EDEC = 0x38;
+ sp38->param1 = gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN;
+ if (D_8018EE10[(sp38->param1)].ghostDataSaved) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_PROMPT_QUIT;
} else {
- D_8018EDEC = 0x3A;
- sp38->cursor = 0;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_START;
+ sp38->state = 0;
}
play_sound2(SOUND_MENU_SELECT);
}
break;
}
- case 0x2A:
- case 0x2B:
- case 0x2C:
- case 0x2D:
- case 0x34:
- case 0x35:
- case 0x37:
- case 0x3C:
- case 0x41:
- case 0x42: {
+ case SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA:
+ case SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA:
+ case SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P:
+ case SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P:
+ case SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P:
+ case SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P:
+ case SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P:
+ case SUB_MENU_COPY_PAK_COMPLETED:
+ case SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P:
+ case SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P: {
if (btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) {
- D_8018EDEC = 0x17;
+ gSubMenuSelection = SUB_MENU_OPTION_COPY_CONTROLLER_PAK;
play_sound2(SOUND_MENU_GO_BACK);
}
break;
}
- case 0x38:
- case 0x39: {
- if ((btnAndStick & R_JPAD) && D_8018EDEC < 0x39) {
- D_8018EDEC += 1;
+ case SUB_MENU_COPY_PAK_PROMPT_QUIT:
+ case SUB_MENU_COPY_PAK_PROMPT_COPY: {
+ if ((btnAndStick & R_JPAD) && gSubMenuSelection < SUB_MENU_COPY_PAK_PROMPT_MAX) {
+ gSubMenuSelection += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = 1;
+ sp38->subState = 1;
}
- if ((btnAndStick & L_JPAD) && D_8018EDEC >= 0x39) {
- D_8018EDEC -= 1;
+ if ((btnAndStick & L_JPAD) && gSubMenuSelection > SUB_MENU_COPY_PAK_PROMPT_MIN) {
+ gSubMenuSelection -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp38->unk24 < 4.2) {
- sp38->unk24 += 4.0;
+ if (sp38->paramf < 4.2) {
+ sp38->paramf += 4.0;
}
- sp38->unk8 = -1;
+ sp38->subState = -1;
}
if (btnAndStick & B_BUTTON) {
- D_8018EDEC = sp38->unk1C + 0x32;
+ gSubMenuSelection = sp38->param1 + SUB_MENU_COPY_PAK_TO_GHOST_MIN;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
if (btnAndStick & A_BUTTON) {
- if (D_8018EDEC == 0x38) {
- D_8018EDEC = 0x17;
+ if (gSubMenuSelection == SUB_MENU_COPY_PAK_PROMPT_QUIT) {
+ gSubMenuSelection = SUB_MENU_OPTION_COPY_CONTROLLER_PAK;
play_sound2(SOUND_MENU_GO_BACK);
} else {
- D_8018EDEC = 0x3A;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_START;
play_sound2(SOUND_MENU_SELECT);
- sp38->cursor = 0;
+ sp38->state = 0;
}
}
// return?
break;
}
- case 0x3A: {
- if (arg1 == 0) {
- sp38->cursor += 1;
+ case SUB_MENU_COPY_PAK_START: {
+ if (controllerIdx == PLAYER_ONE) {
+ sp38->state += 1;
}
- if (sp38->cursor >= 3) {
- D_8018EDEC = 0x3B;
+ if (sp38->state >= 3) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_COPYING;
}
break;
}
- case 0x3B: {
+ case SUB_MENU_COPY_PAK_COPYING: {
res = controller_pak_2_status();
if (res == PFS_NO_ERROR) {
- res = func_800B65F4(sp38->unk20, sp38->unk1C);
+ res = func_800B65F4(sp38->param2, sp38->param1);
}
if (res != 0) {
- D_8018EDEC = 0x42;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
res = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName,
(u8*) gExtCode, &gControllerPak1FileNote);
if (res == PFS_NO_ERROR) {
- res = func_800B6178(sp38->unk1C);
+ res = func_800B6178(sp38->param1);
}
if (res != 0) {
- D_8018EDEC = 0x41;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
return;
}
- D_8018EDEC = 0x3C;
- D_8018EE10[sp38->unk1C].courseIndex = (sp30 + sp38->unk20)->courseIndex;
- func_800B6088(sp38->unk1C);
+ gSubMenuSelection = SUB_MENU_COPY_PAK_COMPLETED;
+ D_8018EE10[sp38->param1].courseIndex = (sp30 + sp38->param2)->courseIndex;
+ func_800B6088(sp38->param1);
break;
}
- case 0x46: {
- if (arg1 == 0) {
- sp38->cursor += 1;
+ case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT: {
+ if (controllerIdx == PLAYER_ONE) {
+ sp38->state += 1;
}
- if (sp38->cursor >= 3) {
- D_8018EDEC = 0x47;
+ if (sp38->state >= 3) {
+ gSubMenuSelection = SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE;
}
break;
}
- case 0x47: {
+ case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE: {
if (func_800B6A68()) {
- D_8018EDEC = 0x36;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
} else if (sp30[0].ghostDataSaved) {
- D_8018EDEC = 0x28;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_FROM_GHOST1_1P;
} else {
- D_8018EDEC = 0x29;
+ gSubMenuSelection = SUB_MENU_COPY_PAK_FROM_GHOST2_1P;
}
break;
}
@@ -602,70 +617,75 @@ void options_menu_act(struct Controller* controller, u16 arg1) {
}
}
-// Handle navigating the data menu interface
-void data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
- u16 buttonAndStickPress = (controller->buttonPressed | controller->stickPressed);
+/**
+ * Navigation of the data menu
+ */
+void data_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) {
+ u16 btnAndStick = (controller->buttonPressed | controller->stickPressed);
// Make pressing Start have the same effect as pressing A
- if ((gEnableDebugMode == 0) && ((buttonAndStickPress & 0x1000) != 0)) {
- buttonAndStickPress |= 0x8000;
+ if ((gEnableDebugMode == 0) && ((btnAndStick & START_BUTTON) != 0)) {
+ btnAndStick |= A_BUTTON;
}
- if (func_800B4520() == 0) {
- if (D_8018EDEC == 1) {
+ if (is_screen_being_faded() == 0) {
+ if (gSubMenuSelection == SUB_MENU_DATA) {
// If DPad/Stick down pressed, move selection down if not already in bottom row
- if ((buttonAndStickPress & 0x400) != 0) {
+ if ((btnAndStick & D_JPAD) != 0) {
if ((gTimeTrialDataCourseIndex % 4) != 3) {
++gTimeTrialDataCourseIndex;
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// If DPad/Stick up pressed, move selection up if not already in top row
- if ((buttonAndStickPress & 0x800) != 0) {
- if ((gTimeTrialDataCourseIndex & 3) != 0) {
+ if ((btnAndStick & U_JPAD) != 0) {
+ if ((gTimeTrialDataCourseIndex % 4) != 0) {
--gTimeTrialDataCourseIndex;
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// If DPad/Stick right pressed, move selection right if not already in right-most column
- if ((buttonAndStickPress & 0x100) != 0) {
+ if ((btnAndStick & R_JPAD) != 0) {
if ((gTimeTrialDataCourseIndex / 4) != 3) {
gTimeTrialDataCourseIndex += 4;
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// If DPad/Stick left pressed, move selection left if not already in left-most column
- if ((buttonAndStickPress & 0x200) != 0) {
+ if ((btnAndStick & L_JPAD) != 0) {
if ((gTimeTrialDataCourseIndex / 4) != 0) {
gTimeTrialDataCourseIndex -= 4;
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// If B pressed, go to main menu
- if ((buttonAndStickPress & 0x4000) != 0) {
+ if ((btnAndStick & B_BUTTON) != 0) {
func_8009E258();
play_sound2(SOUND_MENU_GO_BACK);
return;
}
// If A pressed, go to selected course's records
- if ((buttonAndStickPress & 0x8000) != 0) {
- gCourseRecordsMenuSelection = 0;
+ if ((btnAndStick & A_BUTTON) != 0) {
+ gCourseRecordsMenuSelection = COURSE_RECORDS_MENU_RETURN_MENU;
func_8009E1C0();
play_sound2(SOUND_MENU_OK_CLICKED);
}
}
- // If D_8018EDEC != 1 and A pressed, go to main menu
- // (Will D_8018EDEC ever not equal 1 when entering the data menu?)
- else if ((buttonAndStickPress & 0x8000) != 0) {
+ // If gSubMenuSelection is not SUB_MENU_DATA and A pressed, go to main menu
+ // This condition is not reachable but this failsafe was added nonetheless
+ else if ((btnAndStick & A_BUTTON) != 0) {
func_8009E258();
play_sound2(SOUND_MENU_OK_CLICKED);
}
}
}
-void course_data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
+/**
+ * Navigation of the course records data menu
+ */
+void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) {
u16 btnAndStick; // sp2E
- struct_8018D9E0_entry* sp28;
+ MenuItem* sp28;
CourseTimeTrialRecords* sp24;
s32 res;
@@ -675,9 +695,9 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
btnAndStick |= A_BUTTON;
}
- if (!func_800B4520()) {
- switch (D_8018EDEC) {
- case 0x0B: {
+ if (!is_screen_being_faded()) {
+ switch (gSubMenuSelection) {
+ case SUB_MENU_DATA_OPTIONS: {
if ((btnAndStick & L_JPAD) && (gTimeTrialDataCourseIndex > 0)) {
gTimeTrialDataCourseIndex -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
@@ -688,47 +708,50 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
- sp28 = find_8018D9E0_entry_dupe(0xE8);
+ sp28 = find_menu_items_dupe(0xE8);
sp24 = &gSaveData.allCourseTimeTrialRecords.cupRecords[gTimeTrialDataCourseIndex / 4]
.courseRecords[gTimeTrialDataCourseIndex % 4];
- if (gCourseRecordsMenuSelection == 2 && func_800B639C(gTimeTrialDataCourseIndex) < 0) {
+ if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_GHOST &&
+ func_800B639C(gTimeTrialDataCourseIndex) < 0) {
gCourseRecordsMenuSelection -= 1;
}
- if (gCourseRecordsMenuSelection == 1 && sp24->unknownBytes[0] == 0) {
+ if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_RECORDS && sp24->unknownBytes[0] == 0) {
gCourseRecordsMenuSelection -= 1;
}
- if ((btnAndStick & U_JPAD) && (gCourseRecordsMenuSelection > 0)) {
+ if ((btnAndStick & U_JPAD) && (gCourseRecordsMenuSelection > COURSE_RECORDS_MENU_MIN)) {
gCourseRecordsMenuSelection -= 1;
if (gCourseRecordsMenuSelection == 1 && sp24->unknownBytes[0] == 0) {
gCourseRecordsMenuSelection -= 1;
}
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp28->unk24 < 4.2) {
- sp28->unk24 += 4.0;
+ if (sp28->paramf < 4.2) {
+ sp28->paramf += 4.0;
}
- sp28->unk8 = -1;
+ sp28->subState = -1;
}
- if ((btnAndStick & D_JPAD) && (gCourseRecordsMenuSelection < 2)) {
+ if ((btnAndStick & D_JPAD) && (gCourseRecordsMenuSelection < COURSE_RECORDS_MENU_MAX)) {
gCourseRecordsMenuSelection += 1;
- if (gCourseRecordsMenuSelection == 1 && sp24->unknownBytes[0] == 0) {
+ if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_RECORDS &&
+ sp24->unknownBytes[0] == 0) {
gCourseRecordsMenuSelection += 1;
}
- if (gCourseRecordsMenuSelection == 2 && func_800B639C(gTimeTrialDataCourseIndex) < 0) {
+ if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_GHOST &&
+ func_800B639C(gTimeTrialDataCourseIndex) < 0) {
if (sp24->unknownBytes[0] == 0) {
- gCourseRecordsMenuSelection = 0;
+ gCourseRecordsMenuSelection = COURSE_RECORDS_MENU_RETURN_MENU;
} else {
- gCourseRecordsMenuSelection = 1;
+ gCourseRecordsMenuSelection = COURSE_RECORDS_MENU_ERASE_RECORDS;
}
} else {
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp28->unk24 < 4.2) {
- sp28->unk24 += 4.0;
+ if (sp28->paramf < 4.2) {
+ sp28->paramf += 4.0;
}
- sp28->unk8 = 1;
+ sp28->subState = 1;
}
}
@@ -736,63 +759,63 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
func_8009E208();
play_sound2(SOUND_MENU_GO_BACK);
} else if (btnAndStick & A_BUTTON) {
- if (sp28->unk24 < 4.2) {
- sp28->unk24 += 4.0;
+ if (sp28->paramf < 4.2) {
+ sp28->paramf += 4.0;
}
- if (gCourseRecordsMenuSelection == 0) {
+ if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_RETURN_MENU) {
func_8009E208();
play_sound2(SOUND_MENU_GO_BACK);
} else {
- D_8018EDEC = 0x0C;
- D_8018EDF9 = 0;
+ gSubMenuSelection = SUB_MENU_DATA_ERASE_CONFIRM;
+ gCourseRecordsSubMenuSelection = COURSE_RECORDS_SUB_MENU_QUIT;
play_sound2(SOUND_MENU_SELECT);
}
}
break;
}
- case 0x0C: {
- sp28 = find_8018D9E0_entry_dupe(0xE9);
- if ((btnAndStick & U_JPAD) && (D_8018EDF9 > 0)) {
- D_8018EDF9 -= 1;
+ case SUB_MENU_DATA_ERASE_CONFIRM: {
+ sp28 = find_menu_items_dupe(0xE9);
+ if ((btnAndStick & U_JPAD) && (gCourseRecordsSubMenuSelection > COURSE_RECORDS_SUB_MENU_MIN)) {
+ gCourseRecordsSubMenuSelection -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp28->unk24 < 4.2) {
- sp28->unk24 += 4.0;
+ if (sp28->paramf < 4.2) {
+ sp28->paramf += 4.0;
}
- sp28->unk8 = -1;
+ sp28->subState = -1;
}
- if ((btnAndStick & D_JPAD) && (D_8018EDF9 <= 0)) {
- D_8018EDF9 += 1;
+ if ((btnAndStick & D_JPAD) && (gCourseRecordsSubMenuSelection < COURSE_RECORDS_SUB_MENU_MAX)) {
+ gCourseRecordsSubMenuSelection += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- if (sp28->unk24 < 4.2) {
- sp28->unk24 += 4.0;
+ if (sp28->paramf < 4.2) {
+ sp28->paramf += 4.0;
}
- sp28->unk8 = 1;
+ sp28->subState = 1;
}
if (btnAndStick & B_BUTTON) {
- D_8018EDEC = 0xB;
+ gSubMenuSelection = SUB_MENU_DATA_OPTIONS;
play_sound2(SOUND_MENU_GO_BACK);
} else if (btnAndStick & A_BUTTON) {
- if (D_8018EDF9 != 0) {
+ if (gCourseRecordsSubMenuSelection != COURSE_RECORDS_SUB_MENU_QUIT) {
res = 0;
switch (gCourseRecordsMenuSelection) {
- case 1: {
+ case COURSE_RECORDS_MENU_ERASE_RECORDS: {
func_800B4728(gTimeTrialDataCourseIndex);
func_800B559C(gTimeTrialDataCourseIndex);
play_sound2(SOUND_MENU_EXPLOSION);
res = -1;
break;
}
- case 2: {
+ case COURSE_RECORDS_MENU_ERASE_GHOST: {
res = func_800B639C(gTimeTrialDataCourseIndex);
if (res >= 0) {
if (func_800B69BC(res) != 0) {
- D_8018EDEC = 0x0D;
+ gSubMenuSelection = SUB_MENU_DATA_CANT_ERASE;
play_sound2(SOUND_MENU_FILE_NOT_FOUND);
} else {
play_sound2(SOUND_MENU_EXPLOSION);
- D_8018EDEC = 0x0B;
+ gSubMenuSelection = SUB_MENU_DATA_OPTIONS;
}
}
break;
@@ -800,18 +823,18 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
}
if (!(res + 1)) {
- D_8018EDEC = 0xB;
+ gSubMenuSelection = SUB_MENU_DATA_OPTIONS;
}
} else {
play_sound2(SOUND_MENU_GO_BACK);
- D_8018EDEC = 0xB;
+ gSubMenuSelection = SUB_MENU_DATA_OPTIONS;
}
}
break;
}
- case 0x0D: {
+ case SUB_MENU_DATA_CANT_ERASE: {
if (btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) {
- D_8018EDEC = 0xB;
+ gSubMenuSelection = SUB_MENU_DATA_OPTIONS;
}
break;
}
@@ -822,87 +845,76 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 arg1) {
/**
* On input skip logo screen
**/
-void logo_intro_menu_act(struct Controller* arg0, UNUSED u16 arg1) {
- u16 anyInput = arg0->buttonPressed | arg0->stickPressed;
-
-// Note: Choosing a course in the middle of a cup
-// will contain no definition for player staging/lineup.
-// #define SKIP_TO_RACE
-#ifdef SKIP_TO_RACE
- gGamestateNext = 4; // Enter race state
- gCCSelection = CC_100;
- gCupSelection = 1;
- gCourseIndexInCup = 0;
- gCurrentCourseId = 0;
- gScreenModeSelection = SCREEN_MODE_1P;
- gCharacterSelections[0] = 0;
- gModeSelection = GRAND_PRIX;
- gPlayerCount = 1;
-#endif
+void logo_intro_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) {
+ u16 btnAndStick = (controller->buttonPressed | controller->stickPressed);
- if ((func_800B4520() == 0) && (anyInput)) {
- // Audio related
+ // If any button is pressed then fade audio out
+ if ((is_screen_being_faded() == 0) && (btnAndStick)) {
+ //! @todo Label audio funcs
func_800CA388(0x3C);
func_8009E1E4();
}
}
-void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
- u16 buttonAndStickPress;
+/**
+ * Navigation of the controller pak table data
+ */
+void controller_pak_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) {
+ u16 btnAndStick;
OSPfsState* osPfsState;
s32 selectedTableRow;
UNUSED s8 pad;
- buttonAndStickPress = controller->buttonPressed | controller->stickPressed;
- if (func_800B4520() == 0) {
+ btnAndStick = (controller->buttonPressed | controller->stickPressed);
+ if (is_screen_being_faded() == 0) {
switch (gControllerPakMenuSelection) {
case CONTROLLER_PAK_MENU_SELECT_RECORD:
- if ((buttonAndStickPress & 0x9000) != 0) {
+ if ((btnAndStick & (A_BUTTON | START_BUTTON)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_TABLE_GAME_DATA;
play_sound2(SOUND_MENU_SELECT);
return;
}
- if ((buttonAndStickPress & 0x300) != 0) {
+ if ((btnAndStick & (L_JPAD | R_JPAD)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_END;
play_sound2(SOUND_MENU_CURSOR_MOVE);
return;
}
break;
case CONTROLLER_PAK_MENU_END:
- if ((buttonAndStickPress & 0x9000) != 0) {
+ if ((btnAndStick & (A_BUTTON | START_BUTTON)) != 0) {
play_sound2(SOUND_MENU_SELECT);
func_8009E1C0();
gControllerPak1State = BAD;
return;
}
- if ((buttonAndStickPress & 0x300) != 0) {
+ if ((btnAndStick & (L_JPAD | R_JPAD)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_SELECT_RECORD;
play_sound2(SOUND_MENU_CURSOR_MOVE);
return;
}
break;
case CONTROLLER_PAK_MENU_TABLE_GAME_DATA:
- if ((buttonAndStickPress & 0x9000) != 0) {
- selectedTableRow = D_800E86C4[gControllerPakSelectedTableRow + 2] - 1;
+ if ((btnAndStick & (A_BUTTON | START_BUTTON)) != 0) {
+ selectedTableRow = gControllerPakVisibleTableRows[gControllerPakSelectedTableRow + 2] - 1;
if (pfsError[selectedTableRow] == 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_QUIT;
play_sound2(SOUND_MENU_SELECT);
return;
}
- } else if ((buttonAndStickPress & 0x4000) != 0) {
- if (D_800E86D0[0] == 0) {
+ } else if ((btnAndStick & B_BUTTON) != 0) {
+ if (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_SELECT_RECORD;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
- } else if ((buttonAndStickPress & 0x800) != 0) {
- if (D_800E86D0[0] == 0) {
+ } else if ((btnAndStick & U_JPAD) != 0) {
+ if (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE) {
--gControllerPakSelectedTableRow;
if (gControllerPakSelectedTableRow < 0) {
gControllerPakSelectedTableRow = 0;
- if (D_800E86C4[gControllerPakSelectedTableRow + 2] != 1) {
- D_800E86D0[0] = 2;
+ if (gControllerPakVisibleTableRows[gControllerPakSelectedTableRow + 2] != 1) {
+ gControllerPakScrollDirection = CONTROLLER_PAK_SCROLL_DIR_UP;
play_sound2(SOUND_MENU_CURSOR_MOVE);
return;
}
@@ -911,12 +923,13 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
return;
}
}
- } else if (((buttonAndStickPress & 0x400) != 0) && (D_800E86D0[0] == 0)) {
+ } else if (((btnAndStick & D_JPAD) != 0) &&
+ (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE)) {
++gControllerPakSelectedTableRow;
if (gControllerPakSelectedTableRow >= CONTROLLER_PAK_MENU_TABLE_GAME_DATA) {
gControllerPakSelectedTableRow = CONTROLLER_PAK_MENU_QUIT;
- if (D_800E86C4[gControllerPakSelectedTableRow + 2] != 0x10) {
- D_800E86D0[0] = 1;
+ if (gControllerPakVisibleTableRows[gControllerPakSelectedTableRow + 2] != 16) {
+ gControllerPakScrollDirection = CONTROLLER_PAK_SCROLL_DIR_DOWN;
play_sound2(SOUND_MENU_CURSOR_MOVE);
return;
}
@@ -927,29 +940,29 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
}
break;
case CONTROLLER_PAK_MENU_QUIT:
- if ((buttonAndStickPress & 0xD000) != 0) {
+ if ((btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_TABLE_GAME_DATA;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
- if ((buttonAndStickPress & 0x300) != 0) {
+ if ((btnAndStick & (L_JPAD | R_JPAD)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_ERASE;
play_sound2(SOUND_MENU_CURSOR_MOVE);
return;
}
break;
case CONTROLLER_PAK_MENU_ERASE:
- if ((buttonAndStickPress & 0x9000) != 0) {
+ if ((btnAndStick & (A_BUTTON | START_BUTTON)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_GO_TO_ERASING;
play_sound2(SOUND_MENU_SELECT);
return;
}
- if ((buttonAndStickPress & 0x4000) != 0) {
+ if ((btnAndStick & B_BUTTON) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_TABLE_GAME_DATA;
play_sound2(SOUND_MENU_GO_BACK);
return;
}
- if ((buttonAndStickPress & 0x300) != 0) {
+ if ((btnAndStick & (L_JPAD | R_JPAD)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_QUIT;
play_sound2(SOUND_MENU_CURSOR_MOVE);
return;
@@ -959,7 +972,7 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_ERASING;
return;
case CONTROLLER_PAK_MENU_ERASING:
- selectedTableRow = D_800E86C4[gControllerPakSelectedTableRow + 2] - 1;
+ selectedTableRow = gControllerPakVisibleTableRows[gControllerPakSelectedTableRow + 2] - 1;
osPfsState = &pfsState[selectedTableRow];
switch (osPfsDeleteFile(&gControllerPak1FileHandle, osPfsState->company_code, osPfsState->game_code,
@@ -975,7 +988,7 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
case PFS_ERR_NOPACK:
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK;
return;
- case PFS_ERR_NEW_PACK: /* switch 1 */
+ case PFS_ERR_NEW_PACK:
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED;
return;
}
@@ -983,7 +996,7 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
case CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED:
case CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK:
case CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED:
- if ((buttonAndStickPress & 0x9000) != 0) {
+ if ((btnAndStick & (A_BUTTON | START_BUTTON)) != 0) {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_TABLE_GAME_DATA;
}
break;
@@ -991,22 +1004,24 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 arg1) {
}
}
-void splash_menu_act(struct Controller* controller, u16 arg1) {
+/**
+ * Navigation of the main splash start screen menu
+ * Also handles debug menu options
+ */
+void splash_menu_act(struct Controller* controller, u16 controllerIdx) {
u16 btnAndStick;
u16 i;
- s32 sp28;
-
- sp28 = true;
+ s32 isDebug = true;
btnAndStick = controller->buttonPressed | controller->stickPressed;
- if (func_800B4520() == 0) {
- if (arg1 == 0) {
+ if (is_screen_being_faded() == 0) {
+ if (controllerIdx == PLAYER_ONE) {
gMenuDelayTimer += 1;
}
switch (gDebugMenuSelection) {
case DEBUG_MENU_DISABLED: {
- sp28 = false;
- if ((gMenuDelayTimer >= 0x2E) && (btnAndStick & (A_BUTTON | START_BUTTON))) {
+ isDebug = false;
+ if ((gMenuDelayTimer >= 46) && (btnAndStick & (A_BUTTON | START_BUTTON))) {
func_8009E1C0();
func_800CA330(0x19);
play_sound2(SOUND_INTRO_ENTER_MENU);
@@ -1062,15 +1077,15 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
break;
}
case DEBUG_MENU_SCREEN_MODE: {
- if ((btnAndStick & R_JPAD) && (D_8018EDF1 < 4)) {
- D_8018EDF1 += 1;
+ if ((btnAndStick & R_JPAD) && (gScreenModeListIndex < 4)) {
+ gScreenModeListIndex += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- gScreenModeSelection = D_800F2B50[D_8018EDF1];
+ gScreenModeSelection = sScreenModePlayerTable[gScreenModeListIndex];
}
- if ((btnAndStick & L_JPAD) && (D_8018EDF1 > 0)) {
- D_8018EDF1 -= 1;
+ if ((btnAndStick & L_JPAD) && (gScreenModeListIndex > 0)) {
+ gScreenModeListIndex -= 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
- gScreenModeSelection = D_800F2B50[D_8018EDF1];
+ gScreenModeSelection = sScreenModePlayerTable[gScreenModeListIndex];
}
if (btnAndStick & U_JPAD) {
gDebugMenuSelection = DEBUG_MENU_COURSE;
@@ -1083,7 +1098,7 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
break;
}
case DEBUG_MENU_PLAYER: {
- if ((btnAndStick & R_JPAD) && (*gCharacterSelections < 7)) {
+ if ((btnAndStick & R_JPAD) && (gCharacterSelections[0] < 7)) {
gCharacterSelections[0] += 1;
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
@@ -1108,7 +1123,7 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
gSoundMode = SOUND_MONO;
}
play_sound2(SOUND_MENU_CURSOR_MOVE);
- func_800B44BC();
+ set_sound_mode();
gSaveData.main.saveInfo.soundMode = gSoundMode;
write_save_data_grand_prix_points_and_sound_mode();
update_save_data_backup();
@@ -1119,7 +1134,7 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
gSoundMode = SOUND_HEADPHONES;
}
play_sound2(SOUND_MENU_CURSOR_MOVE);
- func_800B44BC();
+ set_sound_mode();
gSaveData.main.saveInfo.soundMode = gSoundMode;
write_save_data_grand_prix_points_and_sound_mode();
}
@@ -1170,13 +1185,13 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
break;
}
- gPlayerCountSelection1 = gPlayerCount = D_800F2B58[D_8018EDF1];
+ gPlayerCountSelection1 = gPlayerCount = sScreenModePlayerCount[gScreenModeListIndex];
- if (sp28) {
+ if (isDebug) {
if (btnAndStick & (A_BUTTON | START_BUTTON)) {
func_8009E1C0();
func_800CA330(0x19);
- gDebugMenuSelection = DEBUG_MENU_EXITED;
+ gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
if (controller->button & CONT_L) {
gDemoMode = DEMO_MODE_ACTIVE;
@@ -1188,15 +1203,15 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
if (btnAndStick & A_BUTTON) {
gDebugGotoScene = DEBUG_GOTO_ENDING;
} else {
- gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA;
+ gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA;
}
}
play_sound2(SOUND_MENU_OK_CLICKED);
} else if ((btnAndStick & B_BUTTON) && (controller->button & Z_TRIG)) {
func_8009E1C0();
func_800CA330(0x19);
- gDebugMenuSelection = DEBUG_MENU_EXITED;
- gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_CC_50;
+ gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
+ gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT;
play_sound2(SOUND_MENU_OK_CLICKED);
} else if (btnAndStick & CONT_R) {
gDebugMenuSelection = DEBUG_MENU_DISABLED;
@@ -1206,21 +1221,21 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
}
}
-void func_800B28C8(void) {
+void setup_game_mode_selected(void) {
// For Grand Prix and Versus, this will be the CC mode selected. For Time Trials, it will
// be whether 'Begin' or 'Data' is selected. Not used for Battle.
- s8 temp_v0 = D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ s8 subMenuMode = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
// Determine which game mode was selected based on the number of players and the row selected on the main menu
- switch (gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]) {
+ switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) {
case GRAND_PRIX:
- gCCSelection = temp_v0;
+ gCCSelection = subMenuMode;
gPlaceItemBoxes = 1;
- gIsMirrorMode = (temp_v0 == CC_EXTRA) ? 1 : 0;
+ gIsMirrorMode = (subMenuMode == CC_EXTRA) ? 1 : 0;
break;
case VERSUS:
- gCCSelection = temp_v0;
+ gCCSelection = subMenuMode;
gPlaceItemBoxes = 1;
- gIsMirrorMode = (temp_v0 == CC_EXTRA) ? 1 : 0;
+ gIsMirrorMode = (subMenuMode == CC_EXTRA) ? 1 : 0;
break;
case BATTLE:
gPlaceItemBoxes = 1;
@@ -1231,40 +1246,44 @@ void func_800B28C8(void) {
gIsMirrorMode = 0;
gPlaceItemBoxes = 0;
- if ((temp_v0 && temp_v0) && temp_v0) {}
+ if ((subMenuMode && subMenuMode) && subMenuMode) {}
break;
}
}
+/**
+ * Navigation of the main game mode select screen
+ */
#ifdef NON_MATCHING
-// nonmatching: regalloc; arg1 is not AND-ed back into $a1, reg chaos follows
-void main_menu_act(struct Controller* controller, u16 arg1) {
- u16 btnAndStick; // sp2E
- s32 sp28;
- bool sp24;
- s32 newMode; // temp_v1_2?
+// https://decomp.me/scratch/93qj8
+// nonmatching: regalloc; controllerIdx is not AND-ed back into $a1, reg chaos follows
+void main_menu_act(struct Controller* controller, u16 controllerIdx) {
+ u16 btnAndStick;
+ s32 subMode;
+ bool cursorMoved;
+ s32 newMode;
btnAndStick = controller->buttonPressed | controller->stickPressed;
if (!gEnableDebugMode && (btnAndStick & START_BUTTON)) {
btnAndStick |= A_BUTTON;
}
- if (!func_800B4520()) {
- switch (gMainMenuSelectionDepth) {
- case BLANK_MAIN_MENU: {
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ if (!is_screen_being_faded()) {
+ switch (gMainMenuSelection) {
+ case MAIN_MENU_NONE: {
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
break;
}
- case PLAYER_NUM_SELECTION: {
+ case MAIN_MENU_PLAYER_SELECT: {
if ((btnAndStick & R_JPAD) && gPlayerCount < 4) {
gPlayerCount += 1;
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
if ((btnAndStick & L_JPAD) && gPlayerCount >= 2) {
gPlayerCount -= 1;
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
// L800B2B38
@@ -1285,190 +1304,189 @@ void main_menu_act(struct Controller* controller, u16 arg1) {
if (btnAndStick & B_BUTTON) {
func_8009E0F0(0x14);
func_800CA330(0x19);
- D_8018EDE0 = 1;
+ gMenuFadeType = MENU_FADE_TYPE_BACK;
play_sound2(SOUND_MENU_GO_BACK);
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else if (btnAndStick & A_BUTTON) {
// L800B2C00
- gMainMenuSelectionDepth = GAME_MODE_SELECTION;
- func_800B44AC();
+ gMainMenuSelection = MAIN_MENU_MODE_SELECT;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_SELECT);
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else if (btnAndStick & CONT_L) {
// L800B2C58
- gMainMenuSelectionDepth = OPTIONS_SELECTION;
+ gMainMenuSelection = MAIN_MENU_OPTION;
func_8009E280();
play_sound2(SOUND_MENU_OPTION);
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else if (btnAndStick & CONT_R) {
- gMainMenuSelectionDepth = DATA_SELECTION;
+ gMainMenuSelection = MAIN_MENU_DATA;
func_8009E258();
play_sound2(SOUND_MENU_DATA);
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else {
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
}
break;
}
- case GAME_MODE_SELECTION: {
+ case MAIN_MENU_MODE_SELECT: {
if (btnAndStick & D_JPAD) {
- if (D_800E86AC[gPlayerCount - 1] < gPlayerModeSelection[gPlayerCount - 1]) {
- D_800E86AC[gPlayerCount - 1] += 1;
- func_800B44AC();
+ if (gGameModeMenuColumn[gPlayerCount - 1] < gPlayerModeSelection[gPlayerCount - 1]) {
+ gGameModeMenuColumn[gPlayerCount - 1] += 1;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// L800B2D94
if (btnAndStick & U_JPAD) {
- if (D_800E86AC[gPlayerCount - 1] > 0) {
- D_800E86AC[gPlayerCount - 1] -= 1;
- func_800B44AC();
+ if (gGameModeMenuColumn[gPlayerCount - 1] > 0) {
+ gGameModeMenuColumn[gPlayerCount - 1] -= 1;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// L800B2DE0
if (btnAndStick & B_BUTTON) {
- gMainMenuSelectionDepth = PLAYER_NUM_SELECTION;
- func_800B44AC();
+ gMainMenuSelection = MAIN_MENU_PLAYER_SELECT;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_GO_BACK);
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else if (btnAndStick & A_BUTTON) {
// L800B2E3C
- switch (gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]) {
+ switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) {
case 0:
- gMainMenuSelectionDepth = GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION;
+ gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT;
play_sound2(SOUND_MENU_GP);
break;
case 2:
- gMainMenuSelectionDepth = GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION;
+ gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT;
play_sound2(SOUND_MENU_VERSUS);
break;
case 1:
- gMainMenuSelectionDepth = GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION;
+ gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT;
play_sound2(SOUND_MENU_TIME_TRIALS);
break;
case 3:
- gMainMenuSelectionDepth = CONFIRM_OK_SELECTION;
+ gMainMenuSelection = MAIN_MENU_OK_SELECT;
play_sound2(SOUND_MENU_BATTLE);
break;
default:
- gMainMenuSelectionDepth = CONFIRM_OK_SELECTION;
+ gMainMenuSelection = MAIN_MENU_OK_SELECT;
break;
}
// L800B2F04
- func_800B44AC();
+ reset_cycle_flash_menu();
gMenuTimingCounter = 0;
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else {
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
}
break;
}
- case GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION:
- case TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT: {
- if (arg1 == 0) {
+ case MAIN_MENU_MODE_SUB_SELECT:
+ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: {
+ if (controllerIdx == PLAYER_ONE) {
gMenuTimingCounter++;
if ((gMenuTimingCounter == 100 || gMenuTimingCounter % 300 == 0)) {
// L800B2FAC
- if (gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]] == 0 ||
- gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]] == 2) {
+ if (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]] == 0 ||
+ gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]] == 2) {
play_sound2(SOUND_MENU_SELECT_LEVEL);
}
}
}
// L800B3000
- sp28 = D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
- if ((btnAndStick & U_JPAD) && (sp28 > 0)) {
- D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]] -= 1;
- func_800B44AC();
+ subMode = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
+ if ((btnAndStick & U_JPAD) && (subMode > 0)) {
+ gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]] -= 1;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
// L800B3068
if (btnAndStick & D_JPAD) {
- sp24 = false;
+ cursorMoved = false;
if (has_unlocked_extra_mode()) {
- if (sp28 < gGameModePlayerColumnExtra[gPlayerCount + 4][D_800E86AC[gPlayerCount - 1] + 1]) {
- sp24 = true;
+ if (subMode < sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) {
+ cursorMoved = true;
}
} else {
- // L800B30D4
- if (sp28 < gGameModePlayerColumnDefault[gPlayerCount][D_800E86AC[gPlayerCount - 1] + 1]) {
- sp24 = true;
+ if (subMode < sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) {
+ cursorMoved = true;
}
}
// L800B3110
- if (sp24) {
- D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]++;
- func_800B44AC();
+ if (cursorMoved) {
+ gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]++;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
}
// L800B3150
- sp28 = D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ subMode = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
if (btnAndStick & B_BUTTON) {
- gMainMenuSelectionDepth = GAME_MODE_SELECTION;
- func_800B44AC();
+ gMainMenuSelection = MAIN_MENU_MODE_SELECT;
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_GO_BACK);
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else if (btnAndStick & A_BUTTON) {
// L800B31DC
- func_800B44AC();
- if (gPlayerCount == 1 && D_800E86AC[gPlayerCount - 1] == 1 && sp28 == 1) {
+ reset_cycle_flash_menu();
+ if (gPlayerCount == 1 && gGameModeMenuColumn[gPlayerCount - 1] == 1 && subMode == 1) { // DATA
func_8009E258();
play_sound2(SOUND_MENU_DATA);
- } else {
- gMainMenuSelectionDepth = CONFIRM_OK_SELECTION;
+ } else { // BEGIN
+ gMainMenuSelection = MAIN_MENU_OK_SELECT;
play_sound2(SOUND_MENU_SELECT);
gMenuTimingCounter = 0;
}
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else {
// L800B3294
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
}
break;
}
- case CONFIRM_OK_SELECTION:
- case CONFIRM_OK_SELECTION_FROM_BACK_OUT: {
- if ((arg1 == 0) && (++gMenuTimingCounter == 60 || gMenuTimingCounter % 300 == 0)) {
+ case MAIN_MENU_OK_SELECT:
+ case MAIN_MENU_OK_SELECT_GO_BACK: {
+ if ((controllerIdx == PLAYER_ONE) && (++gMenuTimingCounter == 60 || gMenuTimingCounter % 300 == 0)) {
play_sound2(SOUND_MENU_OK);
}
// L800B330C
if (btnAndStick & B_BUTTON) {
- switch (gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]) {
+ switch (gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) {
case 0:
case 1:
case 2:
- gMainMenuSelectionDepth = GAME_MODE_CC_OR_TIME_TRIALS_OPTIONS_SELECTION;
+ gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT;
break;
case 3:
default:
- gMainMenuSelectionDepth = GAME_MODE_SELECTION;
+ gMainMenuSelection = MAIN_MENU_MODE_SELECT;
break;
}
// L800B3384
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_GO_BACK);
gMenuTimingCounter = 0;
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else if (btnAndStick & A_BUTTON) {
// L800B33D8
func_8009E1C0();
play_sound2(SOUND_MENU_OK_CLICKED);
- func_800B28C8();
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ setup_game_mode_selected();
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
} else {
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
}
break;
}
- case OPTIONS_SELECTION:
- case DATA_SELECTION: {
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ case MAIN_MENU_OPTION:
+ case MAIN_MENU_DATA: {
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
break;
}
default: {
- newMode = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]];
+ newMode = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]];
break;
}
}
@@ -1479,7 +1497,10 @@ void main_menu_act(struct Controller* controller, u16 arg1) {
GLOBAL_ASM("asm/non_matchings/menus/main_menu_act.s")
#endif
-// check if there is no currently selected and/or hovered character at grid position `gridId`
+/**
+ * Check if there is no currently selected and/or
+ * hovered character at grid position `gridId`
+ */
bool is_character_spot_free(s32 gridId) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gCharacterGridSelections); i++) {
@@ -1490,14 +1511,18 @@ bool is_character_spot_free(s32 gridId) {
return true;
}
-#ifdef NON_MATCHING
-// grid positions are from right to left, then top to bottom
-// nonmatching: the gCharacterGridSelections pointer is not promoted to $s0
-void player_select_menu_act(struct Controller* controller, u16 arg1) {
+// Grid positions are from right to left, then top to bottom
+// https://decomp.me/scratch/6R4jX
+#if 1
+/**
+ * Navigation of the player select screen
+ * Grid positions are from right to left, then top to bottom
+ */
+void player_select_menu_act(struct Controller* controller, u16 controllerIdx) {
s8* bar;
s8 selected;
s8 i;
- s8 saved_selection;
+ s8 savedSelection;
u16 btnAndStick;
btnAndStick = (controller->buttonPressed) | (controller->stickPressed);
@@ -1505,11 +1530,11 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
btnAndStick |= A_BUTTON;
}
- if (!func_800B4520()) {
- switch (D_8018EDEE) {
- case 1: {
- saved_selection = gCharacterGridSelections[arg1];
- if (saved_selection == 0) {
+ if (!is_screen_being_faded()) {
+ switch (gPlayerSelectMenuSelection) {
+ case PLAYER_SELECT_MENU_MAIN: {
+ savedSelection = gCharacterGridSelections[controllerIdx];
+ if (savedSelection == 0) {
if (btnAndStick & B_BUTTON) {
func_8009E208();
play_sound2(0x49008002);
@@ -1518,8 +1543,8 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
// L800B3630
if (btnAndStick & B_BUTTON) {
- if (D_8018EDE8[arg1]) {
- D_8018EDE8[arg1] = false;
+ if (gCharacterGridIsSelected[controllerIdx]) {
+ gCharacterGridIsSelected[controllerIdx] = false;
play_sound2(SOUND_MENU_GO_BACK);
} else {
func_8009E208();
@@ -1527,16 +1552,15 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
}
// L800B3684
- if ((btnAndStick & A_BUTTON) && (D_8018EDE8[arg1] == 0)) {
- D_8018EDE8[arg1] = true;
- i = D_800F2BAC[gCharacterGridSelections[arg1] - 1];
- func_800C90F4(arg1, 0x2900800e + (i << 4));
+ if ((btnAndStick & A_BUTTON) && (gCharacterGridIsSelected[controllerIdx] == 0)) {
+ gCharacterGridIsSelected[controllerIdx] = true;
+ i = sCharacterGridOrder[gCharacterGridSelections[controllerIdx] - 1];
+ func_800C90F4(controllerIdx, 0x2900800e + (i << 4));
}
// L800B36F4
selected = false;
- for (i = 0; i < 4; i++) { // for (i = 0; i < ARRAY_COUNT(gCharacterGridSelections); i++) {
- if ((gCharacterGridSelections[i] != 0) &&
- (D_8018EDE8[i] == 0)) { //(gCharacterGridSelections[i] && D_8018EDE8[i]) {
+ for (i = 0; i < ARRAY_COUNT(gCharacterGridSelections); i++) {
+ if ((gCharacterGridSelections[i] != 0) && (gCharacterGridIsSelected[i] == 0)) {
selected = true;
break;
}
@@ -1544,19 +1568,19 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
// L800B3738
if (!selected) {
- D_8018EDEE = 2;
- func_800B44AC();
+ gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_OK;
+ reset_cycle_flash_menu();
gMenuTimingCounter = 0;
}
// L800B3768
- if (D_8018EDE8[arg1] == 0) {
+ if (gCharacterGridIsSelected[controllerIdx] == 0) {
if ((btnAndStick & CONT_RIGHT) && (btnAndStick & CONT_DOWN)) {
- if (saved_selection == 1 || saved_selection == 2 || saved_selection == 3) {
+ if (savedSelection == 1 || savedSelection == 2 || savedSelection == 3) {
// L800B37B0
- saved_selection += 5;
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ savedSelection += 5;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000);
}
}
@@ -1564,10 +1588,10 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
// L800B37E4
if ((btnAndStick & CONT_LEFT) && (btnAndStick & CONT_DOWN)) {
- if (saved_selection == 2 || saved_selection == 3 || saved_selection == 4) {
- saved_selection += 3;
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ if (savedSelection == 2 || savedSelection == 3 || savedSelection == 4) {
+ savedSelection += 3;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000);
}
}
@@ -1575,10 +1599,10 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
// L800B3844
if ((btnAndStick & CONT_RIGHT) && (btnAndStick & CONT_UP)) {
- if (saved_selection == 5 || saved_selection == 6 || saved_selection == 7) {
- saved_selection -= 3;
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ if (savedSelection == 5 || savedSelection == 6 || savedSelection == 7) {
+ savedSelection -= 3;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000);
}
}
@@ -1586,10 +1610,10 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
// L800B38A0
if ((btnAndStick & CONT_LEFT) && (btnAndStick & CONT_UP)) {
- if (saved_selection == 6 || saved_selection == 7 || saved_selection == 8) {
- saved_selection -= 5;
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ if (savedSelection == 6 || savedSelection == 7 || savedSelection == 8) {
+ savedSelection -= 5;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000);
}
}
@@ -1597,49 +1621,49 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
// L800B38FC
if (btnAndStick & CONT_RIGHT) {
- if (saved_selection == 4 || saved_selection == 8)
+ if (savedSelection == 4 || savedSelection == 8)
return;
- saved_selection += 1;
+ savedSelection += 1;
do {
// L800B391C
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000); // play_sound2(0x49008000);
break;
}
- saved_selection += 1;
- if ((saved_selection == 5) || (saved_selection == 9))
+ savedSelection += 1;
+ if ((savedSelection == 5) || (savedSelection == 9))
return;
- } while (saved_selection < 10);
+ } while (savedSelection < 10);
return;
}
// L800B3978
if (btnAndStick & CONT_LEFT) {
- if (saved_selection == 1 || saved_selection == 5)
+ if (savedSelection == 1 || savedSelection == 5)
return;
- saved_selection -= 1;
+ savedSelection -= 1;
do {
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000);
break;
}
- saved_selection -= 1;
- if ((saved_selection == 0) || (saved_selection == 4))
+ savedSelection -= 1;
+ if ((savedSelection == 0) || (savedSelection == 4))
return;
- } while (saved_selection >= 0);
+ } while (savedSelection >= 0);
return;
}
// L800B39F4
- if ((btnAndStick & CONT_UP) && (saved_selection >= 5)) {
- saved_selection = saved_selection - 4;
+ if ((btnAndStick & CONT_UP) && (savedSelection >= 5)) {
+ savedSelection = savedSelection - 4;
}
- if ((btnAndStick & CONT_DOWN) && (saved_selection < 5)) {
- saved_selection = saved_selection + 4;
+ if ((btnAndStick & CONT_DOWN) && (savedSelection < 5)) {
+ savedSelection = savedSelection + 4;
}
// L800B3A30
- if (is_character_spot_free(saved_selection)) {
- gCharacterGridSelections[arg1] = saved_selection;
+ if (is_character_spot_free(savedSelection)) {
+ gCharacterGridSelections[controllerIdx] = savedSelection;
play_sound2(0x49008000);
}
}
@@ -1647,7 +1671,7 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
case 2:
case 3:
- if (arg1 == 0) {
+ if (controllerIdx == 0) {
gMenuTimingCounter++;
if ((gMenuTimingCounter == 60) || ((gMenuTimingCounter % 300) == 0)) {
// L800B3A94
@@ -1656,8 +1680,8 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
}
// L800B3AA4
if (btnAndStick & B_BUTTON) {
- D_8018EDEE = 1;
- D_8018EDE8[arg1] = false;
+ gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_MAIN;
+ gCharacterGridIsSelected[controllerIdx] = false;
play_sound2(SOUND_MENU_GO_BACK);
break;
}
@@ -1671,8 +1695,8 @@ void player_select_menu_act(struct Controller* controller, u16 arg1) {
break;
}
// L800B3B24
- if (gCharacterGridSelections[arg1] != 0) {
- gCharacterSelections[arg1] = D_800F2BAC[gCharacterGridSelections[arg1] - 1];
+ if (gCharacterGridSelections[controllerIdx] != 0) {
+ gCharacterSelections[controllerIdx] = sCharacterGridOrder[gCharacterGridSelections[controllerIdx] - 1];
}
}
// L800B3B44
@@ -1685,44 +1709,44 @@ u32 WorldNextCup(void);
u32 WorldPreviousCup(void);
u32 GetCupIndex(void);
-// Handle navigating the course menu interface
-void course_select_menu_act(struct Controller* arg0, u16 arg1) {
- u16 buttonAndStickPress = (arg0->buttonPressed | arg0->stickPressed);
+/**
+ * Navigation of the map select course menu screen
+ */
+void course_select_menu_act(struct Controller* controller, u16 controllerIdx) {
+ u16 btnAndStick = (controller->buttonPressed | controller->stickPressed);
- if ((!gEnableDebugMode) && ((buttonAndStickPress & START_BUTTON) != 0)) {
- buttonAndStickPress |= A_BUTTON;
+ if ((!gEnableDebugMode) && ((btnAndStick & START_BUTTON) != 0)) {
+ btnAndStick |= A_BUTTON;
}
- if (func_800B4520() == 0) {
- switch (D_8018EDEC) {
- case 1:
- if ((buttonAndStickPress & R_JPAD) != 0) {
- // if (GetCupIndex() < SPECIAL_CUP) {
- D_8018EE0A = WorldNextCup();
+ if (is_screen_being_faded() == 0) {
+ switch (gSubMenuSelection) {
+ case SUB_MENU_MAP_SELECT_CUP:
+ if ((btnAndStick & R_JPAD) != 0) {
+ sTempCupSelection = WorldNextCup();
//++gCupSelection;
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
- //}
}
- if (((buttonAndStickPress & L_JPAD) != 0)) {
- D_8018EE0A = WorldPreviousCup();
+ if (((btnAndStick & L_JPAD) != 0)) {
+ sTempCupSelection = WorldPreviousCup();
//--gCupSelection;
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
D_800DC540 = GetCupIndex();
gCurrentCourseId = gCupCourseOrder[gCupSelection][gCourseIndexInCup];
SetCourseFromCup();
- if ((buttonAndStickPress & B_BUTTON) != 0) {
+ if ((btnAndStick & B_BUTTON) != 0) {
func_8009E208();
play_sound2(SOUND_MENU_GO_BACK);
- } else if ((buttonAndStickPress & A_BUTTON) != 0) {
+ } else if ((btnAndStick & A_BUTTON) != 0) {
if (gModeSelection != GRAND_PRIX) {
- D_8018EDEC = 2;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_COURSE;
play_sound2(SOUND_MENU_SELECT);
} else {
- D_8018EDEC = 3;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_OK;
play_sound2(SOUND_MENU_SELECT);
//! @todo SetCourse() to course one;
SetCupCursorPosition(COURSE_ONE);
@@ -1730,66 +1754,66 @@ void course_select_menu_act(struct Controller* arg0, u16 arg1) {
gCurrentCourseId = gCupCourseOrder[gCupSelection][COURSE_ONE];
gMenuTimingCounter = 0;
}
- func_800B44AC();
+ reset_cycle_flash_menu();
}
break;
- case 2:
- case 4:
- if (((buttonAndStickPress & D_JPAD) != 0) && (GetCupCursorPosition() < GetCupSize())) {
+ case SUB_MENU_MAP_SELECT_COURSE:
+ case SUB_MENU_MAP_SELECT_BATTLE_COURSE:
+ if (((btnAndStick & D_JPAD) != 0) && (GetCupCursorPosition() < (GetCupSize() - 1))) {
++gCourseIndexInCup;
SetCupCursorPosition(GetCupCursorPosition() + 1);
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
- if (((buttonAndStickPress & U_JPAD) != 0) && (GetCupCursorPosition() > COURSE_ONE)) {
+ if (((btnAndStick & U_JPAD) != 0) && (GetCupCursorPosition() > COURSE_ONE)) {
--gCourseIndexInCup;
SetCupCursorPosition(GetCupCursorPosition() - 1);
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_CURSOR_MOVE);
}
gCurrentCourseId = gCupCourseOrder[gCupSelection][gCourseIndexInCup];
SetCourseFromCup();
- if ((buttonAndStickPress & B_BUTTON) != 0) {
- if (D_8018EDEC == 2) {
- D_8018EDEC = 1;
+ if ((btnAndStick & B_BUTTON) != 0) {
+ if (gSubMenuSelection == SUB_MENU_MAP_SELECT_COURSE) {
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_CUP;
} else {
func_8009E208();
}
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_GO_BACK);
return;
}
- if ((buttonAndStickPress & A_BUTTON) != 0) {
- D_8018EDEC = 3;
+ if ((btnAndStick & A_BUTTON) != 0) {
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_OK;
play_sound2(SOUND_MENU_SELECT);
- func_800B44AC();
+ reset_cycle_flash_menu();
gMenuTimingCounter = 0;
}
break;
- case 3:
- if ((arg1 == 0) && ((++gMenuTimingCounter == 0x3C) || ((gMenuTimingCounter % 300) == 0))) {
+ case SUB_MENU_MAP_SELECT_OK:
+ if ((controllerIdx == PLAYER_ONE) && ((++gMenuTimingCounter == 0x3C) || ((gMenuTimingCounter % 300) == 0))) {
play_sound2(SOUND_MENU_OK);
}
- if ((buttonAndStickPress & B_BUTTON) != 0) {
+ if ((btnAndStick & B_BUTTON) != 0) {
switch (gModeSelection) {
case GRAND_PRIX:
- D_8018EDEC = 1;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_CUP;
break;
case BATTLE:
- D_8018EDEC = 4;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_BATTLE_COURSE;
break;
default:
- D_8018EDEC = 2;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_COURSE;
break;
}
- func_800B44AC();
+ reset_cycle_flash_menu();
play_sound2(SOUND_MENU_GO_BACK);
return;
}
- if ((buttonAndStickPress & A_BUTTON) != 0) {
+ if ((btnAndStick & A_BUTTON) != 0) {
func_8009E1C0();
func_800CA330(0x19);
play_sound2(SOUND_MENU_OK_CLICKED);
@@ -1799,17 +1823,20 @@ void course_select_menu_act(struct Controller* arg0, u16 arg1) {
}
}
-void func_800B3F74(s32 menuSelection) {
+/**
+ * Loads menu states so they are preserved between menu changes
+ */
+void load_menu_states(s32 menuSelection) {
s32 i;
gDebugMenuSelection = CVarGetInteger("gEnableDebugMode", 0) + 1;
gMenuTimingCounter = 0;
gMenuDelayTimer = 0;
- D_8018EE08 = 0;
+ gDemoUseController = 0;
D_8015F890 = 0;
D_8015F892 = 0;
gDebugGotoScene = DEBUG_GOTO_RACING;
- D_8018EDFB = 0;
+ gGhostPlayerInit = 0;
D_8016556E = 0;
D_80162DD4 = 1;
D_80162DD8 = 1;
@@ -1818,25 +1845,25 @@ void func_800B3F74(s32 menuSelection) {
D_80162DCC = 0;
switch (menuSelection) {
- case 5:
- D_8018EDEC = 21;
+ case OPTIONS_MENU:
+ gSubMenuSelection = SUB_MENU_OPTION_RETURN_GAME_SELECT;
break;
- case 6:
- D_8018EDEC = 1;
+ case DATA_MENU:
+ gSubMenuSelection = SUB_MENU_DATA;
break;
- case 7:
- D_8018EDEC = 11;
+ case COURSE_DATA_MENU:
+ gSubMenuSelection = SUB_MENU_DATA_OPTIONS;
break;
- case 8:
+ case LOGO_INTRO_MENU:
func_800CA008(0, 0);
break;
- case 9: {
+ case CONTROLLER_PAK_MENU: {
gControllerPakMenuSelection = CONTROLLER_PAK_MENU_SELECT_RECORD;
func_800CA008(0, 0);
break;
}
case 0:
- case 10: {
+ case START_MENU: {
gIsMirrorMode = 0;
gEnableDebugMode = CVarGetInteger("gEnableDebugMode", 0);
CourseManager_SetCup(GetMushroomCup());
@@ -1849,17 +1876,17 @@ void func_800B3F74(s32 menuSelection) {
if (gPlayerCount >= 5) {
gPlayerCount = 4;
}
- D_8018EDF1 = D_800F2BE0[gPlayerCount - 1];
+ gScreenModeListIndex = sScreenModeIdxFromPlayerMode[gPlayerCount - 1];
func_800CA008(0, 0);
play_sequence(MUSIC_SEQ_TITLE_SCREEN);
- D_8018EDFC = 0;
+ gCourseMapInit = 0;
break;
}
case 1:
- case 11: {
+ case MAIN_MENU: {
gEnableDebugMode = CVarGetInteger("gEnableDebugMode", 0);
gIsMirrorMode = 0;
- D_8018EDFC = 0;
+ gCourseMapInit = 0;
func_800B5F30();
func_8000F0E0();
@@ -1871,9 +1898,9 @@ void func_800B3F74(s32 menuSelection) {
play_sequence(MUSIC_SEQ_MAIN_MENU);
}
- switch (D_8018EDE0) {
- case 0: {
- gMainMenuSelectionDepth = PLAYER_NUM_SELECTION;
+ switch (gMenuFadeType) {
+ case MENU_FADE_TYPE_MAIN: {
+ gMainMenuSelection = MAIN_MENU_PLAYER_SELECT;
play_sequence(MUSIC_SEQ_MAIN_MENU);
gPlayerCount = 1;
if (gScreenModeSelection >= NUM_SCREEN_MODES || gScreenModeSelection < 0) {
@@ -1881,35 +1908,35 @@ void func_800B3F74(s32 menuSelection) {
}
break;
}
- case 1: {
- gMainMenuSelectionDepth = CONFIRM_OK_SELECTION_FROM_BACK_OUT;
+ case MENU_FADE_TYPE_BACK: {
+ gMainMenuSelection = MAIN_MENU_OK_SELECT_GO_BACK;
break;
}
- case 3: {
+ case MENU_FADE_TYPE_DATA: {
// why...
- switch (gMainMenuSelectionDepth) {
+ switch (gMainMenuSelection) {
default:
- gMainMenuSelectionDepth = TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT;
+ gMainMenuSelection = MAIN_MENU_MODE_SUB_SELECT_GO_BACK;
break;
- case OPTIONS_SELECTION:
- case DATA_SELECTION:
- gMainMenuSelectionDepth = PLAYER_NUM_SELECTION;
+ case MAIN_MENU_OPTION:
+ case MAIN_MENU_DATA:
+ gMainMenuSelection = MAIN_MENU_PLAYER_SELECT;
break;
}
break;
}
- case 4: {
- gMainMenuSelectionDepth = PLAYER_NUM_SELECTION;
+ case MENU_FADE_TYPE_OPTION: {
+ gMainMenuSelection = MAIN_MENU_PLAYER_SELECT;
break;
}
}
break;
}
case 2:
- case 12: {
- switch (D_8018EDE0) {
- case 0: {
- D_8018EDEE = 1;
+ case CHARACTER_SELECT_MENU: {
+ switch (gMenuFadeType) {
+ case MENU_FADE_TYPE_MAIN: {
+ gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_MAIN;
if (gGamestate == 0) {
for (i = 0; i < ARRAY_COUNT(gCharacterGridSelections); i++) {
if (i < gPlayerCount) {
@@ -1917,7 +1944,7 @@ void func_800B3F74(s32 menuSelection) {
} else {
gCharacterGridSelections[i] = 0;
}
- D_8018EDE8[i] = false;
+ gCharacterGridIsSelected[i] = false;
gCharacterSelections[i] = i;
}
play_sound2(SOUND_MENU_SELECT_PLAYER);
@@ -1927,19 +1954,19 @@ void func_800B3F74(s32 menuSelection) {
gGamestate = 0;
gGamestateNext = 0;
play_sequence(MUSIC_SEQ_MAIN_MENU);
- for (i = 0; i < ARRAY_COUNT(D_8018EDE8); i++) {
- D_8018EDE8[i] = false;
+ for (i = 0; i < ARRAY_COUNT(gCharacterGridIsSelected); i++) {
+ gCharacterGridIsSelected[i] = false;
}
}
break;
}
- case 1: {
- D_8018EDEE = 3;
- for (i = 0; i < ARRAY_COUNT(D_8018EDE8); i++) {
+ case MENU_FADE_TYPE_BACK: {
+ gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_OK_GO_BACK;
+ for (i = 0; i < ARRAY_COUNT(gCharacterGridIsSelected); i++) {
if (gPlayerCount > i) {
- D_8018EDE8[i] = true;
+ gCharacterGridIsSelected[i] = true;
} else {
- D_8018EDE8[i] = false;
+ gCharacterGridIsSelected[i] = false;
}
}
break;
@@ -1948,18 +1975,18 @@ void func_800B3F74(s32 menuSelection) {
break;
}
case 3:
- case 13: {
+ case COURSE_SELECT_MENU: {
if (gModeSelection == BATTLE) {
CourseManager_SetCup(GetBattleCup());
// gCupSelection = BATTLE_CUP;
D_800DC540 = 4;
- D_8018EDEC = 4;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_BATTLE_COURSE;
} else {
if (GetCup() == GetBattleCup()) {
CourseManager_SetCup(GetMushroomCup());
// gCupSelection = MUSHROOM_CUP;
}
- D_8018EDEC = 1;
+ gSubMenuSelection = SUB_MENU_MAP_SELECT_CUP;
}
if (gGamestate != 0) {
func_800CA008(0, 0);
@@ -1969,7 +1996,7 @@ void func_800B3F74(s32 menuSelection) {
play_sequence(MUSIC_SEQ_MAIN_MENU);
}
play_sound2(SOUND_MENU_SELECT_MAP);
- D_8018EE0A = 0;
+ sTempCupSelection = 0;
if (gModeSelection == GRAND_PRIX) {
gCourseIndexInCup = 0;
}
@@ -1980,35 +2007,46 @@ void func_800B3F74(s32 menuSelection) {
break;
}
}
- func_800B44AC();
+ reset_cycle_flash_menu();
}
-void func_800B44AC(void) {
+/**
+ * Resets when moving cursor option or after a fade
+ */
+void reset_cycle_flash_menu(void) {
gCycleFlashMenu = 0x20;
}
-void func_800B44BC(void) {
+/**
+ * Changes sound mode pack
+ */
+void set_sound_mode(void) {
UNUSED u32 pad;
union GameModePack pack;
- pack = gSoundMenuPack;
+ pack = sSoundMenuPack;
if ((gSoundMode == SOUND_STEREO) || (gSoundMode == SOUND_HEADPHONES) || (gSoundMode == SOUND_MONO)) {
func_800C3448(pack.modes[gSoundMode] | 0xE0000000);
}
}
-// Likely checks that the user is actually in the menus and not racing.
-bool func_800B4520(void) {
-
+/**
+ * Checks is a fade render mode is active so menus can't be
+ * interacted while a fade transition is active
+ */
+bool is_screen_being_faded(void) {
if ((D_8018E7AC[4] == 2) || (D_8018E7AC[4] == 3) || (D_8018E7AC[4] == 4) || (D_8018E7AC[4] == 7)) {
return true;
}
return false;
}
-UNUSED void func_800B4560(s32 arg0, s32 arg1) {
+/**
+ * Unused debug function, prints the character id for the player and both controller pak ghosts
+ */
+UNUSED void debug_print_ghost_kart_character_id(s32 arg0, s32 arg1) {
struct_8018EE10_entry* pak1 = D_8018EE10;
- struct_8018EE10_entry* pak2 = (struct_8018EE10_entry*) D_8018D9C0;
+ struct_8018EE10_entry* pak2 = (struct_8018EE10_entry*) gSomeDLBuffer;
rmonPrintf("ghost_kart=%d,", D_80162DE0);
rmonPrintf("pak1_ghost_kart=%d,", (pak1 + arg0)->characterId);
diff --git a/src/menus.h b/src/menus.h
index 6e3ef6d6b..1e82ec8d0 100644
--- a/src/menus.h
+++ b/src/menus.h
@@ -4,7 +4,7 @@
#include <common_structs.h>
#include <defines.h>
-// D_8018EDEC is position on options screen?
+// gSubMenuSelection is position on options screen?
enum MenuOptionsCursorPositions { MENU_OPTIONS_CSRPOS_SOUNDMODE = 0x16 };
// needs to be a union (or array...?) to go into rodata as a const
@@ -14,6 +14,185 @@ union GameModePack {
s32 word;
};
+/**
+ * @brief Options for gMenuFadeType
+ */
+enum MenuFadeTypes {
+ MENU_FADE_TYPE_MAIN,
+ MENU_FADE_TYPE_BACK,
+ MENU_FADE_TYPE_DEMO,
+ MENU_FADE_TYPE_DATA,
+ MENU_FADE_TYPE_OPTION,
+ MENU_FADE_TYPE_MAX
+};
+
+/**
+ * @brief Options for gSubMenuSelection
+ */
+enum SubMenuSelectionType {
+ SUB_MENU_NONE,
+ SUB_MENU_DATA, // 0x01, value repurposed in map select
+ SUB_MENU_MAP_SELECT_CUP = 0x01,
+ SUB_MENU_MAP_SELECT_COURSE,
+ SUB_MENU_MAP_SELECT_OK,
+ SUB_MENU_MAP_SELECT_BATTLE_COURSE,
+ SUB_MENU_DATA_OPTIONS = 0x0B,
+ SUB_MENU_DATA_ERASE_CONFIRM,
+ SUB_MENU_DATA_CANT_ERASE,
+ SUB_MENU_OPTION_MIN = 0x15,
+ SUB_MENU_OPTION_RETURN_GAME_SELECT = SUB_MENU_OPTION_MIN,
+ SUB_MENU_OPTION_SOUND_MODE,
+ SUB_MENU_OPTION_COPY_CONTROLLER_PAK,
+ SUB_MENU_OPTION_ERASE_ALL_DATA,
+ SUB_MENU_OPTION_MAX = SUB_MENU_OPTION_ERASE_ALL_DATA, // 0x18
+ SUB_MENU_ERASE_MIN = 0x1E,
+ SUB_MENU_ERASE_QUIT = SUB_MENU_ERASE_MIN,
+ SUB_MENU_ERASE_ERASE,
+ SUB_MENU_ERASE_MAX = SUB_MENU_ERASE_ERASE, // 0x1F
+ SUB_MENU_SAVE_DATA_ERASED, // 0x20
+ SUB_MENU_COPY_PAK_FROM_GHOST_MIN = 0x28,
+ SUB_MENU_COPY_PAK_FROM_GHOST1_1P = SUB_MENU_COPY_PAK_FROM_GHOST_MIN,
+ SUB_MENU_COPY_PAK_FROM_GHOST2_1P,
+ SUB_MENU_COPY_PAK_FROM_GHOST_MAX = SUB_MENU_COPY_PAK_FROM_GHOST2_1P, // 0x29
+ SUB_MENU_COPY_PAK_ERROR_2P_MIN, // 0x2A
+ SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA = SUB_MENU_COPY_PAK_ERROR_2P_MIN,
+ SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA,
+ SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P,
+ SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P,
+ SUB_MENU_COPY_PAK_ERROR_2P_MAX = SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P, // 0x2D
+ SUB_MENU_COPY_PAK_TO_GHOST_MIN = 0x32,
+ SUB_MENU_COPY_PAK_TO_GHOST1_2P = SUB_MENU_COPY_PAK_TO_GHOST_MIN,
+ SUB_MENU_COPY_PAK_TO_GHOST2_2P,
+ SUB_MENU_COPY_PAK_TO_GHOST_MAX = SUB_MENU_COPY_PAK_TO_GHOST2_2P, // 0x33
+ SUB_MENU_COPY_PAK_ERROR_1P_MIN,
+ SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P = SUB_MENU_COPY_PAK_ERROR_1P_MIN, // 0x34
+ SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P,
+ SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P,
+ SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P,
+ SUB_MENU_COPY_PAK_ERROR_1P_MAX,
+ SUB_MENU_COPY_PAK_PROMPT_MIN = SUB_MENU_COPY_PAK_ERROR_1P_MAX, // 0x38
+ SUB_MENU_COPY_PAK_PROMPT_QUIT = SUB_MENU_COPY_PAK_PROMPT_MIN,
+ SUB_MENU_COPY_PAK_PROMPT_COPY,
+ SUB_MENU_COPY_PAK_PROMPT_MAX = SUB_MENU_COPY_PAK_PROMPT_COPY, // 0x39
+ SUB_MENU_COPY_PAK_ACTION_MIN,
+ SUB_MENU_COPY_PAK_START = SUB_MENU_COPY_PAK_ACTION_MIN, // 0x3A
+ SUB_MENU_COPY_PAK_COPYING,
+ SUB_MENU_COPY_PAK_COMPLETED,
+ SUB_MENU_COPY_PAK_ACTION_MAX = SUB_MENU_COPY_PAK_COMPLETED, // 0x3C
+ SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN = 0x41,
+ SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P = SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN,
+ SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P,
+ SUB_MENU_COPY_PAK_UNABLE_ERROR_MAX = SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P,
+ SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT = 0x46,
+ SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE
+};
+
+/**
+ * @brief Options for gMainMenuSelection
+ */
+enum MainMenuSelectionType {
+ MAIN_MENU_NONE,
+ MAIN_MENU_OPTION,
+ MAIN_MENU_DATA,
+ MAIN_MENU_PLAYER_SELECT,
+ MAIN_MENU_MODE_SELECT, // Mario GP - T. Trials - VS - Battle
+ MAIN_MENU_MODE_SUB_SELECT, // CC Selection and T.Trials options (Begin, Data)
+ MAIN_MENU_OK_SELECT, // OK option after selecting a submode
+ MAIN_MENU_OK_SELECT_GO_BACK, // OK option after going back from player select
+ MAIN_MENU_MODE_SUB_SELECT_GO_BACK // Used in T.Trials after going back to Data option from course data
+};
+
+/**
+ * @brief Options for gPlayerSelectMenuSelection
+ */
+enum PlayerSelectMenuSelectionTypes {
+ PLAYER_SELECT_MENU_NONE,
+ PLAYER_SELECT_MENU_MAIN,
+ PLAYER_SELECT_MENU_OK, // OK option after selecting characters
+ PLAYER_SELECT_MENU_OK_GO_BACK // OK option after going back from map select
+};
+
+/**
+ * @brief Options for gDebugMenuSelection
+ */
+enum DebugMenuSelectionTypes {
+ DEBUG_MENU_NONE,
+ DEBUG_MENU_DISABLED,
+ DEBUG_MENU_DEBUG_MODE,
+ DEBUG_MENU_COURSE,
+ DEBUG_MENU_SCREEN_MODE,
+ DEBUG_MENU_PLAYER,
+ DEBUG_MENU_SOUND_MODE,
+ DEBUG_MENU_GIVE_ALL_GOLD_CUP,
+ DEBUG_MENU_OPTION_SELECTED = 0x40
+};
+
+/**
+ * @brief Options for gControllerPakMenuSelection
+ */
+enum ControllerPakMenuSelectionTypes {
+ CONTROLLER_PAK_MENU_NONE,
+ CONTROLLER_PAK_MENU_SELECT_RECORD,
+ CONTROLLER_PAK_MENU_END,
+ CONTROLLER_PAK_MENU_ERASE,
+ CONTROLLER_PAK_MENU_QUIT,
+ CONTROLLER_PAK_MENU_TABLE_GAME_DATA,
+ CONTROLLER_PAK_MENU_GO_TO_ERASING,
+ CONTROLLER_PAK_MENU_ERASING,
+ CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED,
+ CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK,
+ CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED
+};
+
+/**
+ * @brief Options for gCourseRecordsMenuSelection
+ */
+enum CourseRecordsMenuSelectionTypes {
+ COURSE_RECORDS_MENU_MIN,
+ COURSE_RECORDS_MENU_RETURN_MENU = COURSE_RECORDS_MENU_MIN,
+ COURSE_RECORDS_MENU_ERASE_RECORDS,
+ COURSE_RECORDS_MENU_ERASE_GHOST,
+ COURSE_RECORDS_MENU_MAX = COURSE_RECORDS_MENU_ERASE_GHOST
+};
+
+/**
+ * @brief Options for gCourseRecordsSubMenuSelection
+ */
+enum CourseRecordsSubMenuSelectionTypes {
+ COURSE_RECORDS_SUB_MENU_MIN,
+ COURSE_RECORDS_SUB_MENU_QUIT = COURSE_RECORDS_SUB_MENU_MIN,
+ COURSE_RECORDS_SUB_MENU_ERASE,
+ COURSE_RECORDS_SUB_MENU_MAX = COURSE_RECORDS_SUB_MENU_ERASE
+};
+
+/**
+ * @brief Options for gDebugGotoScene
+ */
+enum DebugGotoSceneTypes {
+ DEBUG_GOTO_RACING,
+ DEBUG_GOTO_ENDING,
+ DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT,
+ DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA
+};
+
+/**
+ * @brief Options for gFadeModeSelection
+ */
+enum FadeModeSelectionTypes {
+ FADE_MODE_NONE,
+ FADE_MODE_MAIN,
+ FADE_MODE_LOGO
+};
+
+/**
+ * @brief Options for gControllerPakScrollDirection
+ */
+enum ControllerPakScrollDirectionTypes {
+ CONTROLLER_PAK_SCROLL_DIR_NONE,
+ CONTROLLER_PAK_SCROLL_DIR_DOWN,
+ CONTROLLER_PAK_SCROLL_DIR_UP
+};
+
// This really, really shouldn't be in this header file, but I don't know where else to put it
void rmonPrintf(const char*, ...);
@@ -25,78 +204,77 @@ void course_data_menu_act(struct Controller*, u16);
void logo_intro_menu_act(struct Controller*, u16);
void controller_pak_menu_act(struct Controller*, u16);
void splash_menu_act(struct Controller*, u16);
-void func_800B28C8(void);
+void setup_game_mode_selected(void);
void main_menu_act(struct Controller*, u16);
bool is_character_spot_free(s32);
void player_select_menu_act(struct Controller* controller, u16 arg1);
void course_select_menu_act(struct Controller*, u16);
-void func_800B3F74(s32);
-void func_800B44AC(void);
-void func_800B44BC(void);
-bool func_800B4520(void);
+void load_menu_states(s32);
+void reset_cycle_flash_menu(void);
+void set_sound_mode(void);
+bool is_screen_being_faded(void);
/* data */
-extern s32 D_8018EDC0;
-extern f32 D_8018EDC4;
-extern f32 D_8018EDC8;
-extern f32 D_8018EDCC;
-extern f32 D_8018EDD0;
-extern f32 D_8018EDD4;
-extern f32 D_8018EDD8;
-extern f32 D_8018EDDC;
-extern s32 D_8018EDE0;
+extern s32 gIntroModelZEye;
+extern f32 gIntroModelScale;
+extern f32 gIntroModelRotX;
+extern f32 gIntroModelRotY;
+extern f32 gIntroModelRotZ;
+extern f32 gIntroModelPosX;
+extern f32 gIntroModelPosY;
+extern f32 gIntroModelPosZ;
+extern s32 gMenuFadeType;
extern s8 gCharacterGridSelections[];
-extern s8 D_8018EDE8[];
-extern s8 D_8018EDEC;
-extern s8 gMainMenuSelectionDepth;
-extern s8 D_8018EDEE;
+extern s8 gCharacterGridIsSelected[];
+extern s8 gSubMenuSelection;
+extern s8 gMainMenuSelection;
+extern s8 gPlayerSelectMenuSelection;
extern s8 gDebugMenuSelection;
extern s8 gControllerPakMenuSelection;
-extern s8 D_8018EDF1;
+extern s8 gScreenModeListIndex;
extern u8 gSoundMode;
extern s8 gPlayerCount;
-extern s8 D_8018EDF4;
-extern s8 D_8018EDF5;
-extern s8 D_8018EDF6;
+extern s8 gVersusResultCursorSelection;
+extern s8 gTimeTrialsResultCursorSelection;
+extern s8 gBattleResultCursorSelection;
extern s8 gTimeTrialDataCourseIndex;
extern s8 gCourseRecordsMenuSelection;
-extern s8 D_8018EDF9;
+extern s8 gCourseRecordsSubMenuSelection;
extern s8 gDebugGotoScene;
-extern s8 D_8018EDFB;
-extern s8 D_8018EDFC;
+extern s8 gGhostPlayerInit;
+extern s8 gCourseMapInit;
extern s32 gMenuTimingCounter;
extern s32 gMenuDelayTimer;
-extern s8 D_8018EE08;
+extern s8 gDemoUseController;
extern s8 gCupSelection;
-extern s8 D_8018EE0A;
+extern s8 sTempCupSelection;
extern s8 gCourseIndexInCup;
-extern s8 D_8018EE0C;
-extern struct_8018EE10_entry D_8018EE10[];
+extern s8 unref_D_8018EE0C;
extern s32 gMenuSelection; // D_800E86A0
-extern s32 D_800E86A4;
+extern s32 gFadeModeSelection;
extern s8 gCharacterSelections[];
-extern s8 D_800E86AC[];
-extern s8 D_800E86B0[4][3];
+extern s8 gGameModeMenuColumn[];
+extern s8 gGameModeSubMenuColumn[4][3];
extern s8 gNextDemoId;
extern s8 gControllerPakSelectedTableRow;
-extern s8 D_800E86C4[];
-extern s8 D_800E86D0[];
-extern s8 unref_800E86E0[];
+extern s8 gControllerPakVisibleTableRows[];
+extern s8 gControllerPakScrollDirection;
+extern s8 unref_D_800E86D4[];
extern u32 sVIGammaOffDitherOn;
-extern const s8 D_800F2B50[5];
-extern const s8 D_800F2B58[5];
+extern const s8 sScreenModePlayerTable[5];
+extern const s8 sScreenModePlayerCount[5];
extern const s8 gPlayerModeSelection[];
-extern const s8 gGameModePlayerColumnDefault[][3];
-extern const s8 gGameModePlayerColumnExtra[][3];
+extern const s8 sGameModePlayerColumnDefault[][3];
+extern const s8 sGameModePlayerColumnExtra[][3];
extern const s32 gGameModePlayerSelection[][3];
-extern const s8 D_800F2BAC[8];
+extern const s8 sCharacterGridOrder[8];
extern const s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP];
-extern const union GameModePack gSoundMenuPack;
+extern const union GameModePack sSoundMenuPack;
// end of menus.c variables
diff --git a/src/networking/start_game.c b/src/networking/start_game.c
index ab2cc4e28..4c0f3568b 100644
--- a/src/networking/start_game.c
+++ b/src/networking/start_game.c
@@ -6,7 +6,7 @@
#include "code_800029B0.h"
#include "menus.h"
#include "audio/external.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "port/Game.h"
// PLAYER_EXISTS | PLAYER_STAGING | PLAYER_START_SEQUENCE | PLAYER_HUMAN
@@ -129,7 +129,7 @@ void networking_start_session(const char* data) {
gModeSelection = GRAND_PRIX;
gPlayerCount = 1;
// gCurrentCourseId = 8;
- gDebugMenuSelection = DEBUG_MENU_EXITED;
+ gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
func_8009E1C0();
func_800CA330(0x19);
}
diff --git a/src/racing/actors_extended.c b/src/racing/actors_extended.c
index 0e11b2961..b25d5bf04 100644
--- a/src/racing/actors_extended.c
+++ b/src/racing/actors_extended.c
@@ -7,7 +7,7 @@
#include "memory.h"
#include "waypoints.h"
#include "code_80005FD0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "collision.h"
#include "actors.h"
#include "actors_extended.h"
diff --git a/src/racing/race_logic.c b/src/racing/race_logic.c
index 655a8093b..a65ff4c85 100644
--- a/src/racing/race_logic.c
+++ b/src/racing/race_logic.c
@@ -11,7 +11,7 @@
#include "code_800029B0.h"
#include "code_80057C60.h"
#include "update_objects.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_80005FD0.h"
#include "spawn_players.h"
#include "audio/external.h"
@@ -853,7 +853,7 @@ void func_8028FCBC(void) {
s32 i;
u32 phi_v0_4;
- if (D_8018EE08) {
+ if (gDemoUseController) {
func_8028FC34();
}
switch (D_800DC510) {
diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c
index a5ab4f3bf..e81ef92b0 100644
--- a/src/racing/skybox_and_splitscreen.c
+++ b/src/racing/skybox_and_splitscreen.c
@@ -11,7 +11,7 @@
#include <assets/common_data.h>
#include "render_player.h"
#include "code_80057C60.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "actors.h"
#include "render_courses.h"
#include "math_util.h"
@@ -131,7 +131,7 @@ void func_802A38B4(void) {
gGamestate = 255;
gIsInQuitToMenuTransition = 0;
gQuitToMenuTransitionCounter = 0;
- D_800E86A4 = 1;
+ gFadeModeSelection = 1;
switch (gGotoMode) {
case START_MENU_FROM_QUIT:
diff --git a/src/render_objects.c b/src/render_objects.c
index 0571da4ce..749e88fc2 100644
--- a/src/render_objects.c
+++ b/src/render_objects.c
@@ -26,7 +26,7 @@
#include "code_8006E9C0.h"
#include "render_objects.h"
#include "update_objects.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "collision.h"
#include "main.h"
#include "menus.h"
@@ -1535,7 +1535,7 @@ void func_8004B72C(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 env
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
}
-void func_8004B7DC(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) {
+void render_texture_rectangle(s32 x, s32 y, s32 width, s32 height, s32 s, s32 w, s32 mode) {
s32 xh = (((x + width) - 1) << 2);
s32 yh = (((y + height) - 1) << 2);
@@ -1545,17 +1545,19 @@ void func_8004B7DC(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32
s32 xh2 = (((x + width)) << 2);
s32 yh2 = ((y + height) << 2);
- if (arg6 == 0) {
+ // If no cycle mode is set, render texture rectangle in copy mode
+ if (mode == 0) {
//! @todo Update to F3DEX. Uses OLD definition for gspTextureRectangle.
- gSPTextureRectangle(gDisplayListHead++, xl, yl, xh, yh, G_TX_RENDERTILE, arg4 << 5, (arg5 << 5), 4 << 10,
+ gSPTextureRectangle(gDisplayListHead++, xl, yl, xh, yh, G_TX_RENDERTILE, s << 5, (w << 5), 4 << 10,
1 << 10);
return;
}
- gSPTextureRectangle(gDisplayListHead++, xl, yl, xh2, yh2, G_TX_RENDERTILE, arg4 << 5, (arg5 << 5), 1 << 10,
+ // Render texture rectangle in default cycle mode (1 cycle or 2 cycle)
+ gSPTextureRectangle(gDisplayListHead++, xl, yl, xh2, yh2, G_TX_RENDERTILE, s << 5, (w << 5), 1 << 10,
1 << 10);
}
-void func_8004B7DC_wide(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) {
+void render_texture_rectangle_wide(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) {
s32 xh = (((x + width) - 1));
s32 yh = (((y + height) - 1) << 2);
@@ -1604,8 +1606,9 @@ void func_8004B7DC_wide(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5,
// 1 << 10);
}
-void func_8004B950(s32 x, s32 y, s32 width, s32 height, s32 arg4) {
- func_8004B7DC(x, y, width, height, 0, 0, arg4);
+void render_texture_rectangle_wrap(s32 x, s32 y, s32 width, s32 height, s32 mode) {
+ // (0, 0) means texture coordinates will be rendered from the top left corner
+ render_texture_rectangle(x, y, width, height, 0, 0, mode);
}
// Positions item window, the Lap 1/2/3, TIME texture, and minimap on the screen.
@@ -1629,7 +1632,7 @@ void func_8004B97C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
var_v0 = -arg1;
var_a1 = 0;
}
- func_8004B7DC(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
+ render_texture_rectangle(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
}
}
@@ -1653,7 +1656,7 @@ void func_8004B97C_wide(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
var_v0 = -arg1;
var_a1 = 0;
}
- func_8004B7DC_wide(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
+ render_texture_rectangle_wide(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4);
}
}
@@ -1677,7 +1680,7 @@ void func_8004BA08(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
phi_v0 = -arg1;
phi_a1 = 0;
}
- func_8004B7DC(sp2C, phi_a1, arg2 - phi_v1, arg3 - phi_v0, phi_v1 + arg2, phi_v0, arg4);
+ render_texture_rectangle(sp2C, phi_a1, arg2 - phi_v1, arg3 - phi_v0, phi_v1 + arg2, phi_v0, arg4);
}
}
@@ -1708,7 +1711,7 @@ void func_8004BA98(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s
sp30 = 0;
phi_a3 = arg3 + arg1;
}
- func_8004B7DC_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
+ render_texture_rectangle_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
}
}
@@ -1738,7 +1741,7 @@ void func_8004BA98_wide(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 ar
sp30 = 0;
phi_a3 = arg3 + arg1;
}
- func_8004B7DC_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
+ render_texture_rectangle_wide(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6);
}
}
@@ -1793,7 +1796,7 @@ UNUSED void func_8004BD14(s32 x, s32 y, u32 width, u32 height, s32 alpha, u8* te
gDPLoadMultiTile(gDisplayListHead++, texture2, 256, G_TX_RENDERTILE + 1, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height,
0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP,
G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
- func_8004B950(x, y, width, height, 2);
+ render_texture_rectangle_wrap(x, y, width, height, 2);
gSPDisplayList(gDisplayListHead++, D_0D008120);
}
@@ -1879,56 +1882,52 @@ void func_8004C628(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8* texture) {
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
}
-#ifdef NON_MATCHING
-// https://decomp.me/scratch/TqXqn
-// There's a weird fakematch concerning `athing`, don't know that to make of. Can't quite get it over the finish line
-// though
-void func_8004C6FC(s16 arg0, s16 arg1, u8* texture, u32 width, u32 arg4) {
- s32 temp_v0_3;
- s32 var_s3;
- s32 var_s4;
- s32 athing;
- s32 temp_t3;
- u32 temp_t8;
- s32 heigth;
- s32 var_s6;
- u8* textureCopy;
+// non-matching
+void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height) {
+ s32 remainingSize;
+ s32 currX;
+ s32 currY;
+ u32 size;
+ s32 tileHeight;
+ s32 numTiles;
+ s32 numTilesDup;
+
+ currX = x - (width / 2);
+ currY = y - (height / 2);
- athing = arg0 - (width / 2);
- var_s4 = arg1 - (arg4 / 2);
- textureCopy = texture;
gSPDisplayList(gDisplayListHead++, D_0D007EF8);
gDPSetRenderMode(gDisplayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2);
- temp_t8 = width * arg4 * 4;
- temp_t3 = temp_t8 / 4096;
- if (temp_t8 % 4096) {
- temp_t3++;
+
+ size = width * height * 4;
+ numTiles = size / 4096;
+ if (size % 4096) {
+ numTiles++;
}
- heigth = arg4 / temp_t3;
- var_s6 = temp_t3;
- for (var_s3 = 0; var_s3 < var_s6; var_s3++) {
- load_texture_tile_rgba32_nomirror(textureCopy, width, heigth);
- func_8004B950(athing, var_s4, width, heigth, 1);
- temp_v0_3 = temp_t8 - (width * heigth * 4);
- textureCopy += (width * heigth * 4);
- if (temp_v0_3 < 0) {
- heigth = temp_t8 / width;
+
+ tileHeight = height / numTiles;
+
+ numTilesDup = numTiles;
+ for (size_t i = 0; i < numTilesDup; i++) {
+ load_texture_tile_rgba32_nomirror(texture, width, tileHeight);
+ render_texture_rectangle_wrap(currX, currY, width, tileHeight, 1);
+
+ texture += (width * tileHeight * 4);
+ remainingSize = size - (width * tileHeight * 4);
+ if (remainingSize < 0) {
+ tileHeight = size / width;
} else {
- temp_t8 = temp_v0_3;
+ size -= (width * tileHeight * 4);
}
// Weird fakematch that is a HUGE improvement
- athing += var_s4 * 0;
- var_s4 += heigth;
+ currX += currY * 0;
+ currY += tileHeight;
}
gSPDisplayList(gDisplayListHead++, D_0D007EB8);
}
-#else
-GLOBAL_ASM("asm/non_matchings/render_objects/func_8004C6FC.s")
-#endif
-void func_8004C8D4(s16 arg0, s16 arg1) {
- func_8004C6FC(arg0, arg1, D_8018D1E0, 0x100, 0x80);
+void render_game_logo(s16 x, s16 y) {
+ render_texture_tile_rgba32_block(x, y, LOAD_ASSET(gTextureLogoMarioKart64), ResourceGetTexWidthByName(gTextureLogoMarioKart64), ResourceGetTexHeightByName(gTextureLogoMarioKart64));
}
UNUSED void func_8004C91C(s32 arg0, s32 arg1, u8* texture, s32 arg3, s32 arg4, s32 arg5) {
@@ -4242,7 +4241,7 @@ UNUSED void func_800573DC(void) {
}
void func_800573E4(s32 x, s32 y, s8 str) {
- func_8004B7DC(x, y, 8, 8, (((str % 16) * 8) << 16) >> 16, (((unsigned short) (str / 16)) << 19) >> 16, 0);
+ render_texture_rectangle(x, y, 8, 8, (((str % 16) * 8) << 16) >> 16, (((unsigned short) (str / 16)) << 19) >> 16, 0);
}
void debug_wrap_text(s32* x, s32* y) {
diff --git a/src/render_objects.h b/src/render_objects.h
index 6474e8db2..61ec7d80b 100644
--- a/src/render_objects.h
+++ b/src/render_objects.h
@@ -206,12 +206,12 @@ void func_8004B5A8(s32, s32, s32, s32);
void func_8004B614(s32, s32, s32, s32, s32, s32, s32);
void func_8004B6C4(s32, s32, s32);
void func_8004B72C(s32, s32, s32, s32, s32, s32, s32);
-void func_8004B950(s32, s32, s32, s32, s32);
+void render_texture_rectangle_wrap(s32, s32, s32, s32, s32);
void func_8004BB34(void);
void func_8004BB3C(s32, s32, s32, s32, f32);
void func_8004BD14(s32, s32, u32, u32, s32, u8*, u8*);
-void func_8004C6FC(s16, s16, u8*, u32, u32);
+void render_texture_tile_rgba32_block(s16, s16, u8*, u32, u32);
void func_8004C024(s16, s16, s16, u16, u16, u16, u16);
void func_8004C148(s16, s16, s16, u16, u16, u16, u16);
@@ -221,7 +221,7 @@ void draw_hud_2d_texture(s32, s32, u32, u32, u8*);
void func_8004C450(s32, s32, u32, u32, u8*);
void func_8004C53C(s32, s32, u32, u32, u8*);
void func_8004C628(s32, s32, u32, u32, u8*);
-void func_8004C8D4(s16, s16);
+void render_game_logo(s16, s16);
void func_8004C91C(s32, s32, u8*, s32, s32, s32);
void func_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32);
void func_8004CA58(s32, s32, f32, u8*, s32, s32);
diff --git a/src/save.c b/src/save.c
index 82d3ea2e5..9c5a7e698 100644
--- a/src/save.c
+++ b/src/save.c
@@ -5,7 +5,7 @@
#include "save.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "menus.h"
#include "save_data.h"
#include "staff_ghosts.h"
@@ -19,6 +19,9 @@
// very fragile!
#define EEPROM_ADDR(ptr) (((uintptr_t) (ptr) - (uintptr_t) (&gSaveData)) / 8)
+/** BSS **/
+struct_8018EE10_entry D_8018EE10[2];
+
/*** data ***/
u16 gCompanyCode = PFS_COMPANY_CODE('0', '1');
u32 gGameCode = PFS_GAME_CODE('N', 'K', 'T', 'J');
@@ -93,7 +96,7 @@ void reset_save_data_grand_prix_points_and_sound_mode(void) {
}
main->saveInfo.soundMode = SOUND_STEREO;
gSoundMode = SOUND_STEREO;
- func_800B44BC();
+ set_sound_mode();
write_save_data_grand_prix_points_and_sound_mode();
}
@@ -425,21 +428,21 @@ u8 func_800B5508(s32 cup, s32 ccGrandPrixPoints, s32 points_scored) {
// Check if all 4 cups have gold cups scored
// for a given CC mode
-s32 func_800B5530(s32 cc_mode) {
+s32 is_cc_mode_complete(s32 cc_mode) {
if (gSaveData.main.saveInfo.grandPrixPoints[cc_mode] == 0xFF) {
- return 1;
+ return true;
}
- return 0;
+ return false;
}
// Check if the 150CC mode has all 4 gold cups
s32 has_unlocked_extra_mode(void) {
- return func_800B5530(CC_150);
+ return is_cc_mode_complete(CC_150);
}
// Check if the Extra mode has all 4 gold cups
s32 has_completed_extra_mode(void) {
- return func_800B5530(CC_EXTRA);
+ return is_cc_mode_complete(CC_EXTRA);
}
void func_800B559C(s32 arg0) {
@@ -911,7 +914,7 @@ s32 func_800B65F4(s32 arg0, s32 arg1) {
writeStatus = osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, 0U, (arg0 * 0x3C00) + 0x100,
0x00003C00, (u8*) D_800DC714);
if (writeStatus == 0) {
- temp_s3 = &((struct_8018EE10_entry*) D_8018D9C0)[arg0];
+ temp_s3 = &((struct_8018EE10_entry*) gSomeDLBuffer)[arg0];
for (i = 0; i < 0x3C; i++) {
if (temp_s3->unk_07[i] != func_800B60E8(i)) {
temp_s3->ghostDataSaved = 0;
@@ -942,14 +945,14 @@ void func_800B6798(void) {
s32 temp_s0;
u8* tmp;
- tmp = (u8*) D_8018D9C0;
+ tmp = (u8*) gSomeDLBuffer;
osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, PFS_READ, 0,
0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, tmp);
for (temp_s0 = 0; temp_s0 < 2; ++temp_s0) {
- // if (D_8018D9C0[temp_s0]->checksum != func_800B68F4(temp_s0)) {
- // D_8018D9C0[temp_s0]->ghostDataSaved = 0;
+ // if (gSomeDLBuffer[temp_s0]->checksum != func_800B68F4(temp_s0)) {
+ // gSomeDLBuffer[temp_s0]->ghostDataSaved = 0;
// }
if (((struct_8018EE10_entry*) (tmp + (temp_s0 << 7)))->checksum != func_800B68F4(temp_s0)) {
((struct_8018EE10_entry*) (tmp + (temp_s0 << 7)))->ghostDataSaved = 0;
@@ -974,7 +977,7 @@ u8 func_800B68F4(s32 arg0) {
s32 i;
checksum = 0;
for (i = 0; i < 0x43; i++) {
- u8* addr = &((u8*) D_8018D9C0)[arg0];
+ u8* addr = &((u8*) gSomeDLBuffer)[arg0];
checksum += addr[i] * multiplier + i;
}
return checksum;
diff --git a/src/save.h b/src/save.h
index 090d16704..8983a9677 100644
--- a/src/save.h
+++ b/src/save.h
@@ -14,6 +14,7 @@
#define PFS_NO_ERROR 0 // controller pak no error return
#define PFS_NO_PAK_INSERTED 1 // no pak pressent or wrong device inserted into the controller
#define PFS_PAK_BAD_READ 2 // controller pak error while data transfer
+#define PFS_PAK_CORRUPTED 3 // controller pak has courrupted or has weird data
#define PFS_FILE_OVERFLOW 4 // too many files written to in the controller pak
#define PFS_INVALID_DATA -1 // bad arguments, game note does not exist, osPfsInit was not called.
// controller pak test functions
@@ -54,7 +55,7 @@ void func_800B5404(s32, s32);
u8 func_800B54C0(s32, s32);
u8 func_800B54EC(s32, s32);
u8 func_800B5508(s32, s32, s32);
-s32 func_800B5530(s32);
+s32 is_cc_mode_complete(s32);
s32 has_unlocked_extra_mode(void);
s32 has_completed_extra_mode(void);
void func_800B559C(s32);
@@ -87,6 +88,7 @@ s32 func_800B6A68(void);
// these might not be in this file, but for now...
extern u32* D_800DC714;
+extern struct_8018EE10_entry D_8018EE10[];
extern u16 gCompanyCode;
extern u32 gGameCode; // osPfs gamecode
diff --git a/src/spawn_players.c b/src/spawn_players.c
index c4d792637..20fdc9b67 100644
--- a/src/spawn_players.c
+++ b/src/spawn_players.c
@@ -23,7 +23,7 @@
#include "main.h"
#include "menus.h"
#include "render_player.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "effects.h"
#include "decode.h"
#include "port/Game.h"
@@ -488,7 +488,7 @@ void func_80039DA4(void) {
};
if (((GetCupCursorPosition() == COURSE_ONE) && (D_8016556E == 0)) || (gDemoMode == 1) ||
- (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
+ (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
for (i = 0; i < NUM_PLAYERS; i++) {
D_80165270[i] = sp2C[i];
}
@@ -506,7 +506,7 @@ UNUSED s16 D_800E43A8 = 0;
void spawn_players_gp_one_player(f32* arg0, f32* arg1, f32 arg2) {
func_80039DA4();
if (((GetCupCursorPosition() == COURSE_ONE) && (D_8016556E == 0)) || (gDemoMode == 1) ||
- (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
+ (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
s16 rand;
s16 i;
@@ -639,7 +639,7 @@ void spawn_players_versus_one_player(f32* arg0, f32* arg1, f32 arg2) {
void spawn_players_gp_two_player(f32* arg0, f32* arg1, f32 arg2) {
func_80039DA4();
- if ((GetCupCursorPosition() == COURSE_ONE) || (gDemoMode == 1) || (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
+ if ((GetCupCursorPosition() == COURSE_ONE) || (gDemoMode == 1) || (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
s16 rand;
s16 i;
diff --git a/src/staff_ghosts.c b/src/staff_ghosts.c
index e04525e81..f8e7a69bb 100644
--- a/src/staff_ghosts.c
+++ b/src/staff_ghosts.c
@@ -11,7 +11,7 @@
#include "save.h"
#include "staff_ghosts.h"
#include "code_8006E9C0.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "code_80057C60.h"
#include "kart_dma.h"
#include "port/Game.h"
diff --git a/src/textures.h b/src/textures.h
index 7536c07c9..64a9774a6 100644
--- a/src/textures.h
+++ b/src/textures.h
@@ -13,218 +13,216 @@
*
*/
typedef struct {
- /* 0x00 */ s16 type;
- /* 0x02 */ s16 unused1;
+ /* 0x00 */ s32 type;
/* 0x04 */ u64* textureData; // This should be interpreted as a segmented address
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ u16 dX;
/* 0x0E */ u16 dY;
/* 0x10 */ u16 size; // This size is NOT equal to width*height. Its likely the size of the compressed texture
- /* 0x12 */ s16 unused2;
-} MkTexture; // size = 0x14
+} MenuTexture; // size = 0x14
/**
* @brief struct for an animation
*
*/
typedef struct {
- /* 0x00 */ MkTexture* mk64Texture; // This should be interpreted as a segmented address
+ /* 0x00 */ MenuTexture* mk64Texture; // This should be interpreted as a segmented address
/* 0x04 */ s32 frame_length;
} MkAnimation; // size = 0x8
-extern MkTexture D_02000000[2];
-extern MkTexture D_02000028[2];
-extern MkTexture D_02000050[2];
-extern MkTexture D_02000078[2];
-extern MkTexture D_020000A0[2];
-extern MkTexture D_020000C8[2];
-extern MkTexture D_020000F0[2];
-extern MkTexture D_02000118[2];
-extern MkTexture D_02000140[2];
-extern MkTexture D_02000168[2];
-extern MkTexture D_02000190[2];
-extern MkTexture D_020001B8[2];
-extern MkTexture D_020001E0[2];
-extern MkTexture D_02000208[2];
-extern MkTexture D_02000230[2];
-extern MkTexture D_02000258[2];
-extern MkTexture D_02000280[2];
-extern MkTexture D_020002A8[2];
-extern MkTexture D_020002D0[2];
-extern MkTexture D_020002F8[2];
-extern MkTexture D_02000320[2];
-extern MkTexture D_02000348[2];
-extern MkTexture D_02000370[2];
-extern MkTexture D_02000398[2];
-extern MkTexture D_020003C0[2];
-extern MkTexture D_020003E8[2];
-extern MkTexture D_02000410[2];
-extern MkTexture D_02000438[2];
-extern MkTexture D_02000460[2];
-extern MkTexture D_02000488[2];
-extern MkTexture D_020004B0[2];
-extern MkTexture D_020004D8[2];
-extern MkTexture D_02000500[2];
-extern MkTexture D_02000528[2];
-extern MkTexture D_02000550[2];
-extern MkTexture D_02000578[2];
-extern MkTexture D_020005A0[2];
-extern MkTexture D_020005C8[2];
-extern MkTexture D_020005F0[2];
-extern MkTexture D_02000618[2];
-extern MkTexture D_02000640[2];
-extern MkTexture D_02000668[2];
-extern MkTexture D_02000690[2];
-extern MkTexture D_020006B8[2];
-extern MkTexture D_020006E0[2];
-extern MkTexture D_02000708[2];
-extern MkTexture D_02000730[2];
-extern MkTexture D_02000758[2];
-extern MkTexture D_02000780[2];
-extern MkTexture D_020007A8[2];
-extern MkTexture D_020007D0[2];
-extern MkTexture D_020007F8[2];
-extern MkTexture D_02000820[2];
-extern MkTexture D_02000848[2];
-extern MkTexture D_02000870[2];
-extern MkTexture D_02000898[2];
-extern MkTexture D_020008C0[2];
-extern MkTexture D_020008E8[2];
-extern MkTexture D_02000910[2];
-extern MkTexture D_02000938[2];
-extern MkTexture D_02000960[2];
-extern MkTexture D_02000988[2];
-extern MkTexture D_020009B0[2];
-extern MkTexture D_020009D8[2];
-extern MkTexture D_02000A00[2];
-extern MkTexture D_02000A28[2];
-extern MkTexture D_02000A50[2];
-extern MkTexture D_02000A78[2];
-extern MkTexture D_02000AA0[2];
-extern MkTexture D_02000AC8[2];
-extern MkTexture D_02000AF0[2];
-extern MkTexture D_02000B18[2];
-extern MkTexture D_02000B40[2];
-extern MkTexture D_02000B68[2];
-extern MkTexture D_02000B90[2];
-extern MkTexture D_02000BB8[2];
-extern MkTexture D_02000BE0[2];
-extern MkTexture D_02000C08[2];
-extern MkTexture D_02000C30[2];
-extern MkTexture D_02000C58[2];
-extern MkTexture D_02000C80[2];
-extern MkTexture D_02000CA8[2];
-extern MkTexture D_02000CD0[2];
-extern MkTexture D_02000CF8[2];
-extern MkTexture D_02000D20[2];
-extern MkTexture D_02000D48[2];
-extern MkTexture D_02000D70[2];
-extern MkTexture D_02000D98[2];
-extern MkTexture D_02000DC0[2];
-extern MkTexture D_02000DE8[2];
-extern MkTexture D_02000E10[2];
-extern MkTexture D_02000E38[2];
-extern MkTexture D_02000E60[2];
-extern MkTexture D_02000E88[2];
-extern MkTexture D_02000EB0[2];
-extern MkTexture D_02000ED8[2];
-extern MkTexture D_02000F00[2];
-extern MkTexture D_02000F28[2];
-extern MkTexture D_02000F50[2];
-extern MkTexture D_02000F78[2];
-extern MkTexture D_02000FA0[2];
-extern MkTexture D_02000FC8[2];
-extern MkTexture D_02000FF0[2];
-extern MkTexture D_02001018[2];
-extern MkTexture D_02001040[2];
-extern MkTexture D_02001068[2];
-extern MkTexture D_02001090[2];
-extern MkTexture D_020010B8[2];
-extern MkTexture D_020010E0[2];
-extern MkTexture D_02001108[2];
-extern MkTexture D_02001130[2];
-extern MkTexture D_02001158[2];
-extern MkTexture D_02001180[2];
-extern MkTexture D_020011A8[2];
-extern MkTexture D_020011D0[2];
-extern MkTexture D_020011F8[2];
-extern MkTexture D_02001220[2];
-extern MkTexture D_02001248[2];
-extern MkTexture D_02001270[2];
-extern MkTexture D_02001298[2];
-extern MkTexture D_020012C0[2];
-extern MkTexture D_020012E8[2];
-extern MkTexture D_02001310[2];
-extern MkTexture D_02001338[2];
-extern MkTexture D_02001360[2];
-extern MkTexture D_02001388[2];
-extern MkTexture D_020013B0[2];
-extern MkTexture D_020013D8[2];
-extern MkTexture D_02001400[2];
-extern MkTexture D_02001428[2];
-extern MkTexture D_02001450[2];
-extern MkTexture D_02001478[2];
-extern MkTexture D_020014A0[2];
-extern MkTexture D_020014C8[6];
-extern MkTexture D_02001540[3];
-extern MkTexture D_0200157C[2];
-extern MkTexture D_020015A4[2];
-extern MkTexture D_020015CC[5];
-extern MkTexture D_02001630[2];
-extern MkTexture D_02001658[5];
-extern MkTexture D_020016BC[2];
-extern MkTexture D_020016E4[2];
-extern MkTexture D_0200170C[2];
-extern MkTexture D_02001734[2];
-extern MkTexture D_0200175C[2];
-extern MkTexture D_02001784[2];
-extern MkTexture D_020017AC[2];
-extern MkTexture D_020017D4[2];
-extern MkTexture D_020017FC[2];
-extern MkTexture D_02001824[2];
-extern MkTexture D_0200184C[2];
-extern MkTexture D_02001874[2];
-extern MkTexture D_0200189C[2];
-extern MkTexture D_020018C4[2];
-extern MkTexture D_020018EC[2];
-extern MkTexture D_02001914[2];
-extern MkTexture D_0200193C[2];
-extern MkTexture D_02001964[2];
+extern MenuTexture D_02000000[2];
+extern MenuTexture D_02000028[2];
+extern MenuTexture D_02000050[2];
+extern MenuTexture D_02000078[2];
+extern MenuTexture D_020000A0[2];
+extern MenuTexture D_020000C8[2];
+extern MenuTexture D_020000F0[2];
+extern MenuTexture D_02000118[2];
+extern MenuTexture D_02000140[2];
+extern MenuTexture D_02000168[2];
+extern MenuTexture D_02000190[2];
+extern MenuTexture D_020001B8[2];
+extern MenuTexture D_020001E0[2];
+extern MenuTexture D_02000208[2];
+extern MenuTexture D_02000230[2];
+extern MenuTexture D_02000258[2];
+extern MenuTexture D_02000280[2];
+extern MenuTexture D_020002A8[2];
+extern MenuTexture D_020002D0[2];
+extern MenuTexture D_020002F8[2];
+extern MenuTexture D_02000320[2];
+extern MenuTexture D_02000348[2];
+extern MenuTexture D_02000370[2];
+extern MenuTexture D_02000398[2];
+extern MenuTexture D_020003C0[2];
+extern MenuTexture D_020003E8[2];
+extern MenuTexture D_02000410[2];
+extern MenuTexture D_02000438[2];
+extern MenuTexture D_02000460[2];
+extern MenuTexture D_02000488[2];
+extern MenuTexture D_020004B0[2];
+extern MenuTexture D_020004D8[2];
+extern MenuTexture D_02000500[2];
+extern MenuTexture D_02000528[2];
+extern MenuTexture D_02000550[2];
+extern MenuTexture D_02000578[2];
+extern MenuTexture D_020005A0[2];
+extern MenuTexture D_020005C8[2];
+extern MenuTexture D_020005F0[2];
+extern MenuTexture D_02000618[2];
+extern MenuTexture D_02000640[2];
+extern MenuTexture D_02000668[2];
+extern MenuTexture D_02000690[2];
+extern MenuTexture D_020006B8[2];
+extern MenuTexture D_020006E0[2];
+extern MenuTexture D_02000708[2];
+extern MenuTexture D_02000730[2];
+extern MenuTexture D_02000758[2];
+extern MenuTexture D_02000780[2];
+extern MenuTexture D_020007A8[2];
+extern MenuTexture D_020007D0[2];
+extern MenuTexture D_020007F8[2];
+extern MenuTexture D_02000820[2];
+extern MenuTexture D_02000848[2];
+extern MenuTexture D_02000870[2];
+extern MenuTexture D_02000898[2];
+extern MenuTexture D_020008C0[2];
+extern MenuTexture D_020008E8[2];
+extern MenuTexture D_02000910[2];
+extern MenuTexture D_02000938[2];
+extern MenuTexture D_02000960[2];
+extern MenuTexture D_02000988[2];
+extern MenuTexture D_020009B0[2];
+extern MenuTexture D_020009D8[2];
+extern MenuTexture D_02000A00[2];
+extern MenuTexture D_02000A28[2];
+extern MenuTexture D_02000A50[2];
+extern MenuTexture D_02000A78[2];
+extern MenuTexture D_02000AA0[2];
+extern MenuTexture D_02000AC8[2];
+extern MenuTexture D_02000AF0[2];
+extern MenuTexture D_02000B18[2];
+extern MenuTexture D_02000B40[2];
+extern MenuTexture D_02000B68[2];
+extern MenuTexture D_02000B90[2];
+extern MenuTexture D_02000BB8[2];
+extern MenuTexture D_02000BE0[2];
+extern MenuTexture D_02000C08[2];
+extern MenuTexture D_02000C30[2];
+extern MenuTexture D_02000C58[2];
+extern MenuTexture D_02000C80[2];
+extern MenuTexture D_02000CA8[2];
+extern MenuTexture D_02000CD0[2];
+extern MenuTexture D_02000CF8[2];
+extern MenuTexture D_02000D20[2];
+extern MenuTexture D_02000D48[2];
+extern MenuTexture D_02000D70[2];
+extern MenuTexture D_02000D98[2];
+extern MenuTexture D_02000DC0[2];
+extern MenuTexture D_02000DE8[2];
+extern MenuTexture D_02000E10[2];
+extern MenuTexture D_02000E38[2];
+extern MenuTexture D_02000E60[2];
+extern MenuTexture D_02000E88[2];
+extern MenuTexture D_02000EB0[2];
+extern MenuTexture D_02000ED8[2];
+extern MenuTexture D_02000F00[2];
+extern MenuTexture D_02000F28[2];
+extern MenuTexture D_02000F50[2];
+extern MenuTexture D_02000F78[2];
+extern MenuTexture D_02000FA0[2];
+extern MenuTexture D_02000FC8[2];
+extern MenuTexture D_02000FF0[2];
+extern MenuTexture D_02001018[2];
+extern MenuTexture D_02001040[2];
+extern MenuTexture D_02001068[2];
+extern MenuTexture D_02001090[2];
+extern MenuTexture D_020010B8[2];
+extern MenuTexture D_020010E0[2];
+extern MenuTexture D_02001108[2];
+extern MenuTexture D_02001130[2];
+extern MenuTexture D_02001158[2];
+extern MenuTexture D_02001180[2];
+extern MenuTexture D_020011A8[2];
+extern MenuTexture D_020011D0[2];
+extern MenuTexture D_020011F8[2];
+extern MenuTexture D_02001220[2];
+extern MenuTexture D_02001248[2];
+extern MenuTexture D_02001270[2];
+extern MenuTexture D_02001298[2];
+extern MenuTexture D_020012C0[2];
+extern MenuTexture D_020012E8[2];
+extern MenuTexture D_02001310[2];
+extern MenuTexture D_02001338[2];
+extern MenuTexture D_02001360[2];
+extern MenuTexture D_02001388[2];
+extern MenuTexture D_020013B0[2];
+extern MenuTexture D_020013D8[2];
+extern MenuTexture D_02001400[2];
+extern MenuTexture D_02001428[2];
+extern MenuTexture D_02001450[2];
+extern MenuTexture D_02001478[2];
+extern MenuTexture D_020014A0[2];
+extern MenuTexture D_020014C8[6];
+extern MenuTexture D_02001540[3];
+extern MenuTexture D_0200157C[2];
+extern MenuTexture D_020015A4[2];
+extern MenuTexture D_020015CC[5];
+extern MenuTexture D_02001630[2];
+extern MenuTexture D_02001658[5];
+extern MenuTexture D_020016BC[2];
+extern MenuTexture D_020016E4[2];
+extern MenuTexture D_0200170C[2];
+extern MenuTexture D_02001734[2];
+extern MenuTexture D_0200175C[2];
+extern MenuTexture D_02001784[2];
+extern MenuTexture D_020017AC[2];
+extern MenuTexture D_020017D4[2];
+extern MenuTexture D_020017FC[2];
+extern MenuTexture D_02001824[2];
+extern MenuTexture D_0200184C[2];
+extern MenuTexture D_02001874[2];
+extern MenuTexture D_0200189C[2];
+extern MenuTexture D_020018C4[2];
+extern MenuTexture D_020018EC[2];
+extern MenuTexture D_02001914[2];
+extern MenuTexture D_0200193C[2];
+extern MenuTexture D_02001964[2];
extern MkAnimation D_0200198C[2];
extern MkAnimation D_0200199C[2];
extern MkAnimation D_020019AC[2];
extern MkAnimation D_020019BC[2];
extern MkAnimation D_020019CC[2];
extern MkAnimation D_020019DC[2];
-extern MkTexture D_020019EC[2];
-extern MkTexture D_02001A14[2];
-extern MkTexture D_02001A3C[2];
-extern MkTexture D_02001A64[2];
-extern MkTexture D_02001A8C[2];
-extern MkTexture D_02001AB4[2];
-extern MkTexture D_02001ADC[2];
-extern MkTexture D_02001B04[2];
-extern MkTexture D_02001B2C[2];
-extern MkTexture D_02001B54[2];
-extern MkTexture D_02001B7C[2];
-extern MkTexture D_02001BA4[2];
-extern MkTexture D_02001BCC[2];
-extern MkTexture D_02001BF4[2];
-extern MkTexture D_02001C1C[2];
-extern MkTexture D_02001C44[2];
-extern MkTexture D_02001C6C[2];
-extern MkTexture D_02001C94[2];
-extern MkTexture D_02001CBC[2];
-extern MkTexture D_02001CE4[2];
-extern MkTexture D_02001D0C[2];
-extern MkTexture D_02001D34[2];
-extern MkTexture D_02001D5C[2];
-extern MkTexture D_02001D84[2];
-extern MkTexture D_02001DAC[2];
-extern MkTexture D_02001DD4[2];
-extern MkTexture D_02001DFC[2];
-extern MkTexture D_02001E24[2];
+extern MenuTexture D_020019EC[2];
+extern MenuTexture D_02001A14[2];
+extern MenuTexture D_02001A3C[2];
+extern MenuTexture D_02001A64[2];
+extern MenuTexture D_02001A8C[2];
+extern MenuTexture D_02001AB4[2];
+extern MenuTexture D_02001ADC[2];
+extern MenuTexture D_02001B04[2];
+extern MenuTexture seg2_mario_raceway_preview_texture[2];
+extern MenuTexture D_02001B54[2];
+extern MenuTexture D_02001B7C[2];
+extern MenuTexture D_02001BA4[2];
+extern MenuTexture D_02001BCC[2];
+extern MenuTexture D_02001BF4[2];
+extern MenuTexture D_02001C1C[2];
+extern MenuTexture D_02001C44[2];
+extern MenuTexture D_02001C6C[2];
+extern MenuTexture D_02001C94[2];
+extern MenuTexture D_02001CBC[2];
+extern MenuTexture D_02001CE4[2];
+extern MenuTexture D_02001D0C[2];
+extern MenuTexture D_02001D34[2];
+extern MenuTexture D_02001D5C[2];
+extern MenuTexture D_02001D84[2];
+extern MenuTexture D_02001DAC[2];
+extern MenuTexture D_02001DD4[2];
+extern MenuTexture D_02001DFC[2];
+extern MenuTexture D_02001E24[2];
extern MkAnimation D_02001E4C[3];
extern MkAnimation D_02001E64[2];
extern MkAnimation D_02001E74[2];
@@ -246,453 +244,453 @@ extern MkAnimation D_02001F64[2];
extern MkAnimation D_02001F74[2];
extern MkAnimation D_02001F84[2];
extern MkAnimation D_02001F94[2];
-extern MkTexture D_02001FA4[2];
-extern MkTexture D_02001FCC[2];
-extern MkTexture D_02001FF4[2];
-extern MkTexture D_0200201C[2];
-extern MkTexture D_02002044[2];
-extern MkTexture D_0200206C[2];
-extern MkTexture D_02002094[2];
+extern MenuTexture D_02001FA4[2];
+extern MenuTexture D_02001FCC[2];
+extern MenuTexture D_02001FF4[2];
+extern MenuTexture D_0200201C[2];
+extern MenuTexture D_02002044[2];
+extern MenuTexture D_0200206C[2];
+extern MenuTexture D_02002094[2];
extern MkAnimation D_020020BC[2];
extern MkAnimation D_020020CC[2];
extern MkAnimation D_020020DC[2];
extern MkAnimation D_020020EC[2];
extern MkAnimation D_020020FC[2];
extern MkAnimation D_0200210C[2];
-extern MkTexture D_0200211C[2];
-extern MkTexture D_02002144[2];
-extern MkTexture D_0200216C[2];
-extern MkTexture D_02002194[2];
-extern MkTexture D_020021BC[2];
-extern MkTexture D_020021E4[2];
-extern MkTexture D_0200220C[2];
-extern MkTexture D_02002234[2];
-extern MkTexture D_0200225C[2];
-extern MkTexture D_02002284[2];
-extern MkTexture D_020022AC[2];
-extern MkTexture D_020022D4[2];
-extern MkTexture D_020022FC[2];
-extern MkTexture D_02002324[2];
-extern MkTexture D_0200234C[2];
-extern MkTexture D_02002374[2];
-extern MkTexture D_0200239C[2];
-extern MkTexture D_020023C4[2];
-extern MkTexture D_020023EC[2];
-extern MkTexture D_02002414[2];
-extern MkTexture D_0200243C[2];
-extern MkTexture D_02002464[2];
-extern MkTexture D_0200248C[2];
-extern MkTexture D_020024B4[2];
-extern MkTexture D_020024DC[2];
-extern MkTexture D_02002504[2];
-extern MkTexture D_0200252C[2];
-extern MkTexture D_02002554[2];
-extern MkTexture D_0200257C[2];
-extern MkTexture D_020025A4[2];
-extern MkTexture D_020025CC[2];
-extern MkTexture D_020025F4[2];
-extern MkTexture D_0200261C[2];
-extern MkTexture D_02002644[2];
-extern MkTexture D_0200266C[2];
-extern MkTexture D_02002694[2];
-extern MkTexture D_020026BC[2];
-extern MkTexture D_020026E4[2];
-extern MkTexture D_0200270C[2];
-extern MkTexture D_02002734[2];
-extern MkTexture D_0200275C[2];
-extern MkTexture D_02002784[2];
-extern MkTexture D_020027AC[2];
-extern MkTexture D_020027D4[2];
-extern MkTexture D_020027FC[2];
-extern MkTexture D_02002824[2];
-extern MkTexture D_0200284C[2];
-extern MkTexture D_02002874[2];
-extern MkTexture D_0200289C[2];
-extern MkTexture D_020028C4[2];
-extern MkTexture D_020028EC[2];
-extern MkTexture D_02002914[2];
-extern MkTexture D_0200293C[2];
-extern MkTexture D_02002964[2];
-extern MkTexture D_0200298C[2];
-extern MkTexture D_020029B4[2];
-extern MkTexture D_020029DC[2];
-extern MkTexture D_02002A04[2];
-extern MkTexture D_02002A2C[2];
-extern MkTexture D_02002A54[2];
-extern MkTexture D_02002A7C[2];
-extern MkTexture D_02002AA4[2];
-extern MkTexture D_02002ACC[2];
-extern MkTexture D_02002AF4[2];
-extern MkTexture D_02002B1C[2];
-extern MkTexture D_02002B44[2];
-extern MkTexture D_02002B6C[2];
-extern MkTexture D_02002B94[2];
-extern MkTexture D_02002BBC[2];
-extern MkTexture D_02002BE4[2];
-extern MkTexture D_02002C0C[2];
-extern MkTexture D_02002C34[2];
-extern MkTexture D_02002C5C[2];
-extern MkTexture D_02002C84[2];
-extern MkTexture D_02002CAC[2];
-extern MkTexture D_02002CD4[2];
-extern MkTexture D_02002CFC[2];
-extern MkTexture D_02002D24[2];
-extern MkTexture D_02002D4C[2];
-extern MkTexture D_02002D74[2];
-extern MkTexture D_02002D9C[2];
-extern MkTexture D_02002DC4[2];
-extern MkTexture D_02002DEC[2];
-extern MkTexture D_02002E14[2];
-extern MkTexture D_02002E3C[2];
-extern MkTexture D_02002E64[2];
-extern MkTexture D_02002E8C[2];
-extern MkTexture D_02002EB4[2];
-extern MkTexture D_02002EDC[2];
-extern MkTexture D_02002F04[2];
-extern MkTexture D_02002F2C[2];
-extern MkTexture D_02002F54[2];
-extern MkTexture D_02002F7C[2];
-extern MkTexture D_02002FA4[2];
-extern MkTexture D_02002FCC[2];
-extern MkTexture D_02002FF4[2];
-extern MkTexture D_0200301C[2];
-extern MkTexture D_02003044[2];
-extern MkTexture D_0200306C[2];
-extern MkTexture D_02003094[2];
-extern MkTexture D_020030BC[2];
-extern MkTexture D_020030E4[2];
-extern MkTexture D_0200310C[2];
-extern MkTexture D_02003134[2];
-extern MkTexture D_0200315C[2];
-extern MkTexture D_02003184[2];
-extern MkTexture D_020031AC[2];
-extern MkTexture D_020031D4[2];
-extern MkTexture D_020031FC[2];
-extern MkTexture D_02003224[2];
-extern MkTexture D_0200324C[2];
-extern MkTexture D_02003274[2];
-extern MkTexture D_0200329C[2];
-extern MkTexture D_020032C4[2];
-extern MkTexture D_020032EC[2];
-extern MkTexture D_02003314[2];
-extern MkTexture D_0200333C[2];
-extern MkTexture D_02003364[2];
-extern MkTexture D_0200338C[2];
-extern MkTexture D_020033B4[2];
-extern MkTexture D_020033DC[2];
-extern MkTexture D_02003404[2];
-extern MkTexture D_0200342C[2];
-extern MkTexture D_02003454[2];
-extern MkTexture D_0200347C[2];
-extern MkTexture D_020034A4[2];
-extern MkTexture D_020034CC[2];
-extern MkTexture D_020034F4[2];
-extern MkTexture D_0200351C[2];
-extern MkTexture D_02003544[2];
-extern MkTexture D_0200356C[2];
-extern MkTexture D_02003594[2];
-extern MkTexture D_020035BC[2];
-extern MkTexture D_020035E4[2];
-extern MkTexture D_0200360C[2];
-extern MkTexture D_02003634[2];
-extern MkTexture D_0200365C[2];
-extern MkTexture D_02003684[2];
-extern MkTexture D_020036AC[2];
-extern MkTexture D_020036D4[2];
-extern MkTexture D_020036FC[2];
-extern MkTexture D_02003724[2];
-extern MkTexture D_0200374C[2];
-extern MkTexture D_02003774[2];
-extern MkTexture D_0200379C[2];
-extern MkTexture D_020037C4[2];
-extern MkTexture D_020037EC[2];
-extern MkTexture D_02003814[2];
-extern MkTexture D_0200383C[2];
-extern MkTexture D_02003864[2];
-extern MkTexture D_0200388C[2];
-extern MkTexture D_020038B4[2];
-extern MkTexture D_020038DC[2];
-extern MkTexture D_02003904[2];
-extern MkTexture D_0200392C[2];
-extern MkTexture D_02003954[2];
-extern MkTexture D_0200397C[2];
-extern MkTexture D_020039A4[2];
-extern MkTexture D_020039CC[2];
-extern MkTexture D_020039F4[2];
-extern MkTexture D_02003A1C[2];
-extern MkTexture D_02003A44[2];
-extern MkTexture D_02003A6C[2];
-extern MkTexture D_02003A94[2];
-extern MkTexture D_02003ABC[2];
-extern MkTexture D_02003AE4[2];
-extern MkTexture D_02003B0C[2];
-extern MkTexture D_02003B34[2];
-extern MkTexture D_02003B5C[2];
-extern MkTexture D_02003B84[2];
-extern MkTexture D_02003BAC[2];
-extern MkTexture D_02003BD4[2];
-extern MkTexture D_02003BFC[2];
-extern MkTexture D_02003C24[2];
-extern MkTexture D_02003C4C[2];
-extern MkTexture D_02003C74[2];
-extern MkTexture D_02003C9C[2];
-extern MkTexture D_02003CC4[2];
-extern MkTexture D_02003CEC[2];
-extern MkTexture D_02003D14[2];
-extern MkTexture D_02003D3C[2];
-extern MkTexture D_02003D64[2];
-extern MkTexture D_02003D8C[2];
-extern MkTexture D_02003DB4[2];
-extern MkTexture D_02003DDC[2];
-extern MkTexture D_02003E04[2];
-extern MkTexture D_02003E2C[2];
-extern MkTexture D_02003E54[2];
-extern MkTexture D_02003E7C[2];
-extern MkTexture D_02003EA4[2];
-extern MkTexture D_02003ECC[2];
-extern MkTexture D_02003EF4[2];
-extern MkTexture D_02003F1C[2];
-extern MkTexture D_02003F44[2];
-extern MkTexture D_02003F6C[2];
-extern MkTexture D_02003F94[2];
-extern MkTexture D_02003FBC[2];
-extern MkTexture D_02003FE4[2];
-extern MkTexture D_0200400C[2];
-extern MkTexture D_02004034[2];
-extern MkTexture D_0200405C[2];
-extern MkTexture D_02004084[2];
-extern MkTexture D_020040AC[2];
-extern MkTexture D_020040D4[2];
-extern MkTexture D_020040FC[2];
-extern MkTexture D_02004124[2];
-extern MkTexture D_0200414C[2];
-extern MkTexture D_02004174[2];
-extern MkTexture D_0200419C[2];
-extern MkTexture D_020041C4[2];
-extern MkTexture D_020041EC[2];
-extern MkTexture D_02004214[2];
-extern MkTexture D_0200423C[2];
-extern MkTexture D_02004264[2];
-extern MkTexture D_0200428C[2];
-extern MkTexture D_020042B4[2];
-extern MkTexture D_020042DC[2];
-extern MkTexture D_02004304[2];
-extern MkTexture D_0200432C[2];
-extern MkTexture D_02004354[2];
-extern MkTexture D_0200437C[2];
-extern MkTexture D_020043A4[2];
-extern MkTexture D_020043CC[2];
-extern MkTexture D_020043F4[2];
-extern MkTexture D_0200441C[2];
-extern MkTexture D_02004444[2];
-extern MkTexture D_0200446C[2];
-extern MkTexture D_02004494[2];
-extern MkTexture D_020044BC[2];
-extern MkTexture D_020044E4[2];
-extern MkTexture D_0200450C[2];
-extern MkTexture D_02004534[2];
-extern MkTexture D_0200455C[2];
-extern MkTexture D_02004584[1];
-extern MkTexture D_02004598[2];
-extern MkTexture D_020045C0[2];
-extern MkTexture D_020045E8[2];
-extern MkTexture D_02004610[2];
-extern MkTexture D_02004638[2];
-extern MkTexture D_02004660[2];
-extern MkTexture D_02004688[4];
-extern MkTexture D_020046D8[5];
-extern MkTexture D_0200473C[4];
-extern MkTexture D_0200478C[4];
-extern MkTexture D_020047DC[2];
-extern MkTexture D_02004804[2];
-extern MkTexture D_0200482C[2];
-extern MkTexture D_02004854[2];
-extern MkTexture D_0200487C[2];
-extern MkTexture D_020048A4[2];
-extern MkTexture D_020048CC[2];
-extern MkTexture D_020048F4[2];
-extern MkTexture D_0200491C[2];
-extern MkTexture D_02004944[2];
-extern MkTexture D_0200496C[2];
-extern MkTexture D_02004994[2];
-extern MkTexture D_020049BC[2];
-extern MkTexture D_020049E4[2];
-extern MkTexture D_02004A0C[2];
-extern MkTexture D_02004A34[2];
-extern MkTexture D_02004A5C[3];
-extern MkTexture D_02004A98[3];
-extern MkTexture D_02004AD4[3];
-extern MkTexture D_02004B10[3];
-extern MkTexture D_02004B4C[2];
-extern MkTexture D_02004B74[2];
-extern MkTexture D_02004B9C[2];
-extern MkTexture D_02004BC4[2];
-extern MkTexture D_02004BEC[2];
-extern MkTexture D_02004C14[2];
-extern MkTexture D_02004C3C[2];
-extern MkTexture D_02004C64[2];
-extern MkTexture D_02004C8C[5];
-extern MkTexture D_02004CF0[5];
-extern MkTexture D_02004D54[5];
-extern MkTexture D_02004DB8[5];
-extern MkTexture D_02004E1C[5];
-extern MkTexture D_02004E80[2];
-extern MkTexture D_02004EA8[2];
-extern MkTexture D_02004ED0[2];
-extern MkTexture D_02004EF8[2];
-extern MkTexture D_02004F20[2];
-extern MkTexture D_02004F48[2];
-extern MkTexture D_02004F70[2];
-extern MkTexture D_02004F98[2];
-extern MkTexture D_02004FC0[2];
-extern MkTexture D_02004FE8[2];
-extern MkTexture D_02005010[2];
-extern MkTexture D_02005038[2];
-extern MkTexture D_02005060[2];
-extern MkTexture D_02005088[2];
-extern MkTexture D_020050B0[2];
-extern MkTexture D_020050D8[2];
-extern MkTexture D_02005100[2];
-extern MkTexture D_02005128[2];
-extern MkTexture D_02005150[2];
-extern MkTexture D_02005178[2];
-extern MkTexture D_020051A0[2];
-extern MkTexture D_020051C8[2];
-extern MkTexture D_020051F0[2];
-extern MkTexture D_02005218[2];
-extern MkTexture D_02005240[2];
-extern MkTexture D_02005268[2];
-extern MkTexture D_02005290[2];
-extern MkTexture D_020052B8[2];
-extern MkTexture D_020052E0[2];
-extern MkTexture D_02005308[2];
-extern MkTexture D_02005330[2];
-extern MkTexture D_02005358[2];
-extern MkTexture D_02005380[2];
-extern MkTexture D_020053A8[2];
-extern MkTexture D_020053D0[2];
-extern MkTexture D_020053F8[2];
-extern MkTexture D_02005420[2];
-extern MkTexture D_02005448[2];
-extern MkTexture D_02005470[2];
-extern MkTexture D_02005498[2];
-extern MkTexture D_020054C0[2];
-extern MkTexture D_020054E8[2];
-extern MkTexture D_02005510[2];
-extern MkTexture D_02005538[2];
-extern MkTexture D_02005560[2];
-extern MkTexture D_02005588[2];
-extern MkTexture D_020055B0[2];
-extern MkTexture D_020055D8[2];
-extern MkTexture D_02005600[2];
-extern MkTexture D_02005628[2];
-extern MkTexture D_02005650[2];
-extern MkTexture D_02005678[2];
-extern MkTexture D_020056A0[2];
-extern MkTexture D_020056C8[2];
-extern MkTexture D_020056F0[2];
-extern MkTexture D_02005718[2];
-extern MkTexture D_02005740[2];
-extern MkTexture D_02005768[2];
-extern MkTexture D_02005790[2];
-extern MkTexture D_020057B8[2];
-extern MkTexture D_020057E0[2];
-extern MkTexture D_02005808[2];
-extern MkTexture D_02005830[2];
-extern MkTexture D_02005858[2];
-extern MkTexture D_02005880[2];
-extern MkTexture D_020058A8[2];
-extern MkTexture D_020058D0[2];
-extern MkTexture D_020058F8[2];
-extern MkTexture D_02005920[2];
-extern MkTexture D_02005948[2];
-extern MkTexture D_02005970[2];
-extern MkTexture D_02005998[2];
-extern MkTexture D_020059C0[2];
-extern MkTexture D_020059E8[2];
-extern MkTexture D_02005A10[2];
-extern MkTexture D_02005A38[2];
-extern MkTexture D_02005A60[2];
-extern MkTexture D_02005A88[2];
-extern MkTexture D_02005AB0[2];
-extern MkTexture D_02005AD8[2];
-extern MkTexture D_02005B00[2];
-extern MkTexture D_02005B28[2];
-extern MkTexture D_02005B50[2];
-extern MkTexture D_02005B78[2];
-extern MkTexture D_02005BA0[2];
-extern MkTexture D_02005BC8[2];
-extern MkTexture D_02005BF0[2];
-extern MkTexture D_02005C18[2];
-extern MkTexture D_02005C40[2];
-extern MkTexture D_02005C68[2];
-extern MkTexture D_02005C90[2];
-extern MkTexture D_02005CB8[2];
-extern MkTexture D_02005CE0[2];
-extern MkTexture D_02005D08[2];
-extern MkTexture D_02005D30[2];
-extern MkTexture D_02005D58[2];
-extern MkTexture D_02005D80[2];
-extern MkTexture D_02005DA8[2];
-extern MkTexture D_02005DD0[2];
-extern MkTexture D_02005DF8[2];
-extern MkTexture D_02005E20[2];
-extern MkTexture D_02005E48[2];
-extern MkTexture D_02005E70[2];
-extern MkTexture D_02005E98[2];
-extern MkTexture D_02005EC0[2];
-extern MkTexture D_02005EE8[2];
-extern MkTexture D_02005F10[2];
-extern MkTexture D_02005F38[2];
-extern MkTexture D_02005F60[2];
-extern MkTexture D_02005F88[2];
-extern MkTexture D_02005FB0[2];
-extern MkTexture D_02005FD8[2];
-extern MkTexture D_02006000[2];
-extern MkTexture D_02006028[2];
-extern MkTexture D_02006050[2];
-extern MkTexture D_02006078[2];
-extern MkTexture D_020060A0[2];
-extern MkTexture D_020060C8[2];
-extern MkTexture D_020060F0[2];
-extern MkTexture D_02006118[2];
-extern MkTexture D_02006140[2];
-extern MkTexture D_02006168[2];
-extern MkTexture D_02006190[2];
-extern MkTexture D_020061B8[2];
-extern MkTexture D_020061E0[2];
-extern MkTexture D_02006208[2];
-extern MkTexture D_02006230[2];
-extern MkTexture D_02006258[2];
-extern MkTexture D_02006280[2];
-extern MkTexture D_020062A8[2];
-extern MkTexture D_020062D0[2];
-extern MkTexture D_020062F8[2];
-extern MkTexture D_02006320[2];
-extern MkTexture D_02006348[2];
-extern MkTexture D_02006370[2];
-extern MkTexture D_02006398[2];
-extern MkTexture D_020063C0[2];
-extern MkTexture D_020063E8[2];
-extern MkTexture D_02006410[2];
-extern MkTexture D_02006438[2];
-extern MkTexture D_02006460[2];
-extern MkTexture D_02006488[2];
-extern MkTexture D_020064B0[2];
-extern MkTexture D_020064D8[2];
-extern MkTexture D_02006500[2];
-extern MkTexture D_02006528[2];
-extern MkTexture D_02006550[2];
-extern MkTexture D_02006578[2];
-extern MkTexture D_020065A0[2];
-extern MkTexture D_020065C8[2];
-extern MkTexture D_020065F0[2];
-extern MkTexture D_02006618[2];
-extern MkTexture D_02006640[2];
-extern MkTexture D_02006668[2];
-extern MkTexture D_02006690[2];
-extern MkTexture D_020066B8[2];
-extern MkTexture D_020066E0[2];
+extern MenuTexture D_0200211C[2];
+extern MenuTexture D_02002144[2];
+extern MenuTexture D_0200216C[2];
+extern MenuTexture D_02002194[2];
+extern MenuTexture D_020021BC[2];
+extern MenuTexture D_020021E4[2];
+extern MenuTexture D_0200220C[2];
+extern MenuTexture D_02002234[2];
+extern MenuTexture D_0200225C[2];
+extern MenuTexture D_02002284[2];
+extern MenuTexture D_020022AC[2];
+extern MenuTexture D_020022D4[2];
+extern MenuTexture D_020022FC[2];
+extern MenuTexture D_02002324[2];
+extern MenuTexture D_0200234C[2];
+extern MenuTexture D_02002374[2];
+extern MenuTexture D_0200239C[2];
+extern MenuTexture D_020023C4[2];
+extern MenuTexture D_020023EC[2];
+extern MenuTexture D_02002414[2];
+extern MenuTexture D_0200243C[2];
+extern MenuTexture D_02002464[2];
+extern MenuTexture D_0200248C[2];
+extern MenuTexture D_020024B4[2];
+extern MenuTexture D_020024DC[2];
+extern MenuTexture D_02002504[2];
+extern MenuTexture D_0200252C[2];
+extern MenuTexture D_02002554[2];
+extern MenuTexture D_0200257C[2];
+extern MenuTexture D_020025A4[2];
+extern MenuTexture D_020025CC[2];
+extern MenuTexture D_020025F4[2];
+extern MenuTexture D_0200261C[2];
+extern MenuTexture D_02002644[2];
+extern MenuTexture D_0200266C[2];
+extern MenuTexture D_02002694[2];
+extern MenuTexture D_020026BC[2];
+extern MenuTexture D_020026E4[2];
+extern MenuTexture D_0200270C[2];
+extern MenuTexture D_02002734[2];
+extern MenuTexture D_0200275C[2];
+extern MenuTexture D_02002784[2];
+extern MenuTexture D_020027AC[2];
+extern MenuTexture D_020027D4[2];
+extern MenuTexture D_020027FC[2];
+extern MenuTexture D_02002824[2];
+extern MenuTexture D_0200284C[2];
+extern MenuTexture D_02002874[2];
+extern MenuTexture D_0200289C[2];
+extern MenuTexture D_020028C4[2];
+extern MenuTexture D_020028EC[2];
+extern MenuTexture D_02002914[2];
+extern MenuTexture D_0200293C[2];
+extern MenuTexture D_02002964[2];
+extern MenuTexture D_0200298C[2];
+extern MenuTexture D_020029B4[2];
+extern MenuTexture D_020029DC[2];
+extern MenuTexture D_02002A04[2];
+extern MenuTexture D_02002A2C[2];
+extern MenuTexture D_02002A54[2];
+extern MenuTexture D_02002A7C[2];
+extern MenuTexture D_02002AA4[2];
+extern MenuTexture D_02002ACC[2];
+extern MenuTexture D_02002AF4[2];
+extern MenuTexture D_02002B1C[2];
+extern MenuTexture D_02002B44[2];
+extern MenuTexture D_02002B6C[2];
+extern MenuTexture D_02002B94[2];
+extern MenuTexture D_02002BBC[2];
+extern MenuTexture D_02002BE4[2];
+extern MenuTexture D_02002C0C[2];
+extern MenuTexture D_02002C34[2];
+extern MenuTexture D_02002C5C[2];
+extern MenuTexture D_02002C84[2];
+extern MenuTexture D_02002CAC[2];
+extern MenuTexture D_02002CD4[2];
+extern MenuTexture D_02002CFC[2];
+extern MenuTexture D_02002D24[2];
+extern MenuTexture D_02002D4C[2];
+extern MenuTexture D_02002D74[2];
+extern MenuTexture D_02002D9C[2];
+extern MenuTexture D_02002DC4[2];
+extern MenuTexture D_02002DEC[2];
+extern MenuTexture D_02002E14[2];
+extern MenuTexture D_02002E3C[2];
+extern MenuTexture D_02002E64[2];
+extern MenuTexture D_02002E8C[2];
+extern MenuTexture D_02002EB4[2];
+extern MenuTexture D_02002EDC[2];
+extern MenuTexture D_02002F04[2];
+extern MenuTexture D_02002F2C[2];
+extern MenuTexture D_02002F54[2];
+extern MenuTexture D_02002F7C[2];
+extern MenuTexture D_02002FA4[2];
+extern MenuTexture D_02002FCC[2];
+extern MenuTexture D_02002FF4[2];
+extern MenuTexture D_0200301C[2];
+extern MenuTexture D_02003044[2];
+extern MenuTexture D_0200306C[2];
+extern MenuTexture D_02003094[2];
+extern MenuTexture D_020030BC[2];
+extern MenuTexture D_020030E4[2];
+extern MenuTexture D_0200310C[2];
+extern MenuTexture D_02003134[2];
+extern MenuTexture D_0200315C[2];
+extern MenuTexture D_02003184[2];
+extern MenuTexture D_020031AC[2];
+extern MenuTexture D_020031D4[2];
+extern MenuTexture D_020031FC[2];
+extern MenuTexture D_02003224[2];
+extern MenuTexture D_0200324C[2];
+extern MenuTexture D_02003274[2];
+extern MenuTexture D_0200329C[2];
+extern MenuTexture D_020032C4[2];
+extern MenuTexture D_020032EC[2];
+extern MenuTexture D_02003314[2];
+extern MenuTexture D_0200333C[2];
+extern MenuTexture D_02003364[2];
+extern MenuTexture D_0200338C[2];
+extern MenuTexture D_020033B4[2];
+extern MenuTexture D_020033DC[2];
+extern MenuTexture D_02003404[2];
+extern MenuTexture D_0200342C[2];
+extern MenuTexture D_02003454[2];
+extern MenuTexture D_0200347C[2];
+extern MenuTexture D_020034A4[2];
+extern MenuTexture D_020034CC[2];
+extern MenuTexture D_020034F4[2];
+extern MenuTexture D_0200351C[2];
+extern MenuTexture D_02003544[2];
+extern MenuTexture D_0200356C[2];
+extern MenuTexture D_02003594[2];
+extern MenuTexture D_020035BC[2];
+extern MenuTexture D_020035E4[2];
+extern MenuTexture D_0200360C[2];
+extern MenuTexture D_02003634[2];
+extern MenuTexture D_0200365C[2];
+extern MenuTexture D_02003684[2];
+extern MenuTexture D_020036AC[2];
+extern MenuTexture D_020036D4[2];
+extern MenuTexture D_020036FC[2];
+extern MenuTexture D_02003724[2];
+extern MenuTexture D_0200374C[2];
+extern MenuTexture D_02003774[2];
+extern MenuTexture D_0200379C[2];
+extern MenuTexture D_020037C4[2];
+extern MenuTexture D_020037EC[2];
+extern MenuTexture D_02003814[2];
+extern MenuTexture D_0200383C[2];
+extern MenuTexture D_02003864[2];
+extern MenuTexture D_0200388C[2];
+extern MenuTexture D_020038B4[2];
+extern MenuTexture D_020038DC[2];
+extern MenuTexture D_02003904[2];
+extern MenuTexture D_0200392C[2];
+extern MenuTexture D_02003954[2];
+extern MenuTexture D_0200397C[2];
+extern MenuTexture D_020039A4[2];
+extern MenuTexture D_020039CC[2];
+extern MenuTexture D_020039F4[2];
+extern MenuTexture D_02003A1C[2];
+extern MenuTexture D_02003A44[2];
+extern MenuTexture D_02003A6C[2];
+extern MenuTexture D_02003A94[2];
+extern MenuTexture D_02003ABC[2];
+extern MenuTexture D_02003AE4[2];
+extern MenuTexture D_02003B0C[2];
+extern MenuTexture D_02003B34[2];
+extern MenuTexture D_02003B5C[2];
+extern MenuTexture D_02003B84[2];
+extern MenuTexture D_02003BAC[2];
+extern MenuTexture D_02003BD4[2];
+extern MenuTexture D_02003BFC[2];
+extern MenuTexture D_02003C24[2];
+extern MenuTexture D_02003C4C[2];
+extern MenuTexture D_02003C74[2];
+extern MenuTexture D_02003C9C[2];
+extern MenuTexture D_02003CC4[2];
+extern MenuTexture D_02003CEC[2];
+extern MenuTexture D_02003D14[2];
+extern MenuTexture D_02003D3C[2];
+extern MenuTexture D_02003D64[2];
+extern MenuTexture D_02003D8C[2];
+extern MenuTexture D_02003DB4[2];
+extern MenuTexture D_02003DDC[2];
+extern MenuTexture D_02003E04[2];
+extern MenuTexture D_02003E2C[2];
+extern MenuTexture D_02003E54[2];
+extern MenuTexture D_02003E7C[2];
+extern MenuTexture D_02003EA4[2];
+extern MenuTexture D_02003ECC[2];
+extern MenuTexture D_02003EF4[2];
+extern MenuTexture D_02003F1C[2];
+extern MenuTexture D_02003F44[2];
+extern MenuTexture D_02003F6C[2];
+extern MenuTexture D_02003F94[2];
+extern MenuTexture D_02003FBC[2];
+extern MenuTexture D_02003FE4[2];
+extern MenuTexture D_0200400C[2];
+extern MenuTexture D_02004034[2];
+extern MenuTexture D_0200405C[2];
+extern MenuTexture D_02004084[2];
+extern MenuTexture D_020040AC[2];
+extern MenuTexture D_020040D4[2];
+extern MenuTexture D_020040FC[2];
+extern MenuTexture D_02004124[2];
+extern MenuTexture D_0200414C[2];
+extern MenuTexture D_02004174[2];
+extern MenuTexture D_0200419C[2];
+extern MenuTexture D_020041C4[2];
+extern MenuTexture D_020041EC[2];
+extern MenuTexture D_02004214[2];
+extern MenuTexture D_0200423C[2];
+extern MenuTexture D_02004264[2];
+extern MenuTexture D_0200428C[2];
+extern MenuTexture D_020042B4[2];
+extern MenuTexture D_020042DC[2];
+extern MenuTexture D_02004304[2];
+extern MenuTexture D_0200432C[2];
+extern MenuTexture D_02004354[2];
+extern MenuTexture D_0200437C[2];
+extern MenuTexture D_020043A4[2];
+extern MenuTexture D_020043CC[2];
+extern MenuTexture D_020043F4[2];
+extern MenuTexture D_0200441C[2];
+extern MenuTexture D_02004444[2];
+extern MenuTexture D_0200446C[2];
+extern MenuTexture D_02004494[2];
+extern MenuTexture D_020044BC[2];
+extern MenuTexture D_020044E4[2];
+extern MenuTexture D_0200450C[2];
+extern MenuTexture D_02004534[2];
+extern MenuTexture D_0200455C[2];
+extern MenuTexture D_02004584[1];
+extern MenuTexture seg2_blue_sky_background_texture[2];
+extern MenuTexture seg2_sunset_background_texture[2];
+extern MenuTexture seg2_copyright_1996_texture[2];
+extern MenuTexture seg2_push_start_button_texture[2];
+extern MenuTexture D_02004638[2];
+extern MenuTexture seg2_game_select_texture[2];
+extern MenuTexture seg2_menu_1p_column[4];
+extern MenuTexture seg2_menu_2p_column[5];
+extern MenuTexture seg2_menu_3p_column[4];
+extern MenuTexture seg2_menu_4p_column[4];
+extern MenuTexture D_020047DC[2];
+extern MenuTexture D_02004804[2];
+extern MenuTexture D_0200482C[2];
+extern MenuTexture D_02004854[2];
+extern MenuTexture D_0200487C[2];
+extern MenuTexture D_020048A4[2];
+extern MenuTexture D_020048CC[2];
+extern MenuTexture seg2_50_CC_texture[2];
+extern MenuTexture seg2_100_CC_texture[2];
+extern MenuTexture seg2_150_CC_texture[2];
+extern MenuTexture seg2_extra_CC_texture[2];
+extern MenuTexture seg2_menu_no_item_texture[2];
+extern MenuTexture D_020049BC[2];
+extern MenuTexture D_020049E4[2];
+extern MenuTexture D_02004A0C[2];
+extern MenuTexture seg2_data_texture[2];
+extern MenuTexture seg2_P1_border_texture[3];
+extern MenuTexture seg2_P2_border_texture[3];
+extern MenuTexture seg2_P3_border_texture[3];
+extern MenuTexture seg2_P4_border_texture[3];
+extern MenuTexture D_02004B4C[2];
+extern MenuTexture D_02004B74[2];
+extern MenuTexture seg2_menu_select_texture[2];
+extern MenuTexture seg2_mushroom_cup_texture[2];
+extern MenuTexture seg2_flower_cup_texture[2];
+extern MenuTexture seg2_star_cup_texture[2];
+extern MenuTexture seg2_special_cup_texture[2];
+extern MenuTexture seg2_mario_raceway_preview_small_texture[2];
+extern MenuTexture seg2_mushroom_cup_title_texture[5];
+extern MenuTexture seg2_flower_cup_title_texture[5];
+extern MenuTexture seg2_star_cup_title_texture[5];
+extern MenuTexture seg2_special_cup_title_texture[5];
+extern MenuTexture seg2_battle_title_texture[5];
+extern MenuTexture D_02004E80[2];
+extern MenuTexture seg2_mario_raceway_title_texture[2];
+extern MenuTexture seg2_choco_mountain_title_texture[2];
+extern MenuTexture D_02004EF8[2];
+extern MenuTexture D_02004F20[2];
+extern MenuTexture D_02004F48[2];
+extern MenuTexture D_02004F70[2];
+extern MenuTexture D_02004F98[2];
+extern MenuTexture D_02004FC0[2];
+extern MenuTexture D_02004FE8[2];
+extern MenuTexture D_02005010[2];
+extern MenuTexture D_02005038[2];
+extern MenuTexture D_02005060[2];
+extern MenuTexture D_02005088[2];
+extern MenuTexture D_020050B0[2];
+extern MenuTexture D_020050D8[2];
+extern MenuTexture D_02005100[2];
+extern MenuTexture D_02005128[2];
+extern MenuTexture D_02005150[2];
+extern MenuTexture D_02005178[2];
+extern MenuTexture D_020051A0[2];
+extern MenuTexture D_020051C8[2];
+extern MenuTexture D_020051F0[2];
+extern MenuTexture D_02005218[2];
+extern MenuTexture D_02005240[2];
+extern MenuTexture D_02005268[2];
+extern MenuTexture D_02005290[2];
+extern MenuTexture D_020052B8[2];
+extern MenuTexture D_020052E0[2];
+extern MenuTexture D_02005308[2];
+extern MenuTexture D_02005330[2];
+extern MenuTexture D_02005358[2];
+extern MenuTexture D_02005380[2];
+extern MenuTexture D_020053A8[2];
+extern MenuTexture D_020053D0[2];
+extern MenuTexture D_020053F8[2];
+extern MenuTexture D_02005420[2];
+extern MenuTexture D_02005448[2];
+extern MenuTexture D_02005470[2];
+extern MenuTexture D_02005498[2];
+extern MenuTexture D_020054C0[2];
+extern MenuTexture D_020054E8[2];
+extern MenuTexture D_02005510[2];
+extern MenuTexture D_02005538[2];
+extern MenuTexture D_02005560[2];
+extern MenuTexture D_02005588[2];
+extern MenuTexture D_020055B0[2];
+extern MenuTexture D_020055D8[2];
+extern MenuTexture D_02005600[2];
+extern MenuTexture D_02005628[2];
+extern MenuTexture D_02005650[2];
+extern MenuTexture D_02005678[2];
+extern MenuTexture D_020056A0[2];
+extern MenuTexture D_020056C8[2];
+extern MenuTexture D_020056F0[2];
+extern MenuTexture D_02005718[2];
+extern MenuTexture D_02005740[2];
+extern MenuTexture D_02005768[2];
+extern MenuTexture D_02005790[2];
+extern MenuTexture D_020057B8[2];
+extern MenuTexture D_020057E0[2];
+extern MenuTexture D_02005808[2];
+extern MenuTexture D_02005830[2];
+extern MenuTexture D_02005858[2];
+extern MenuTexture D_02005880[2];
+extern MenuTexture D_020058A8[2];
+extern MenuTexture D_020058D0[2];
+extern MenuTexture D_020058F8[2];
+extern MenuTexture D_02005920[2];
+extern MenuTexture D_02005948[2];
+extern MenuTexture D_02005970[2];
+extern MenuTexture D_02005998[2];
+extern MenuTexture D_020059C0[2];
+extern MenuTexture D_020059E8[2];
+extern MenuTexture D_02005A10[2];
+extern MenuTexture D_02005A38[2];
+extern MenuTexture D_02005A60[2];
+extern MenuTexture D_02005A88[2];
+extern MenuTexture D_02005AB0[2];
+extern MenuTexture D_02005AD8[2];
+extern MenuTexture D_02005B00[2];
+extern MenuTexture D_02005B28[2];
+extern MenuTexture D_02005B50[2];
+extern MenuTexture D_02005B78[2];
+extern MenuTexture D_02005BA0[2];
+extern MenuTexture D_02005BC8[2];
+extern MenuTexture D_02005BF0[2];
+extern MenuTexture D_02005C18[2];
+extern MenuTexture D_02005C40[2];
+extern MenuTexture D_02005C68[2];
+extern MenuTexture D_02005C90[2];
+extern MenuTexture D_02005CB8[2];
+extern MenuTexture D_02005CE0[2];
+extern MenuTexture D_02005D08[2];
+extern MenuTexture D_02005D30[2];
+extern MenuTexture D_02005D58[2];
+extern MenuTexture D_02005D80[2];
+extern MenuTexture D_02005DA8[2];
+extern MenuTexture D_02005DD0[2];
+extern MenuTexture D_02005DF8[2];
+extern MenuTexture D_02005E20[2];
+extern MenuTexture D_02005E48[2];
+extern MenuTexture D_02005E70[2];
+extern MenuTexture D_02005E98[2];
+extern MenuTexture D_02005EC0[2];
+extern MenuTexture D_02005EE8[2];
+extern MenuTexture D_02005F10[2];
+extern MenuTexture D_02005F38[2];
+extern MenuTexture D_02005F60[2];
+extern MenuTexture D_02005F88[2];
+extern MenuTexture D_02005FB0[2];
+extern MenuTexture D_02005FD8[2];
+extern MenuTexture D_02006000[2];
+extern MenuTexture D_02006028[2];
+extern MenuTexture D_02006050[2];
+extern MenuTexture D_02006078[2];
+extern MenuTexture D_020060A0[2];
+extern MenuTexture D_020060C8[2];
+extern MenuTexture D_020060F0[2];
+extern MenuTexture D_02006118[2];
+extern MenuTexture D_02006140[2];
+extern MenuTexture D_02006168[2];
+extern MenuTexture D_02006190[2];
+extern MenuTexture D_020061B8[2];
+extern MenuTexture D_020061E0[2];
+extern MenuTexture D_02006208[2];
+extern MenuTexture D_02006230[2];
+extern MenuTexture D_02006258[2];
+extern MenuTexture D_02006280[2];
+extern MenuTexture D_020062A8[2];
+extern MenuTexture D_020062D0[2];
+extern MenuTexture D_020062F8[2];
+extern MenuTexture D_02006320[2];
+extern MenuTexture D_02006348[2];
+extern MenuTexture D_02006370[2];
+extern MenuTexture D_02006398[2];
+extern MenuTexture D_020063C0[2];
+extern MenuTexture D_020063E8[2];
+extern MenuTexture D_02006410[2];
+extern MenuTexture D_02006438[2];
+extern MenuTexture D_02006460[2];
+extern MenuTexture D_02006488[2];
+extern MenuTexture D_020064B0[2];
+extern MenuTexture D_020064D8[2];
+extern MenuTexture D_02006500[2];
+extern MenuTexture D_02006528[2];
+extern MenuTexture D_02006550[2];
+extern MenuTexture D_02006578[2];
+extern MenuTexture D_020065A0[2];
+extern MenuTexture D_020065C8[2];
+extern MenuTexture D_020065F0[2];
+extern MenuTexture D_02006618[2];
+extern MenuTexture D_02006640[2];
+extern MenuTexture D_02006668[2];
+extern MenuTexture D_02006690[2];
+extern MenuTexture D_020066B8[2];
+extern MenuTexture D_020066E0[2];
extern MkAnimation D_02006708[2];
extern MkAnimation D_02006718[12];
extern MkAnimation D_02006778[2];
diff --git a/src/update_objects.c b/src/update_objects.c
index e806d43d2..463d81484 100644
--- a/src/update_objects.c
+++ b/src/update_objects.c
@@ -26,7 +26,7 @@
#include "collision.h"
#include "effects.h"
#include "code_80091440.h"
-#include "code_80091750.h"
+#include "menu_items.h"
#include "podium_ceremony_actors.h"
#include "courses/all_course_data.h"
#include <assets/ceremony_data.h>