From e9ac33a8f35a2b725587564a45b5547dc019c579 Mon Sep 17 00:00:00 2001 From: Ryan Myers Date: Wed, 16 Feb 2022 10:47:47 -0500 Subject: [PATCH] Matched and documented several funcs in menu.c --- asm/non_matchings/game/func_8006A6B0.s | 8 +- asm/non_matchings/menu/draw_menu_elements.s | 8 +- asm/non_matchings/menu/func_80083098.s | 8 +- asm/non_matchings/menu/func_8008377C.s | 12 +- asm/non_matchings/menu/func_80084854.s | 8 +- asm/non_matchings/menu/func_800853D0.s | 24 +- asm/non_matchings/menu/func_80085B9C.s | 32 +- asm/non_matchings/menu/func_800862C4.s | 4 +- asm/non_matchings/menu/func_80088938.s | 36 +- asm/non_matchings/menu/func_8008C698.s | 12 +- asm/non_matchings/menu/func_8008FA54.s | 12 +- asm/non_matchings/menu/func_8008FF1C.s | 14 +- asm/non_matchings/menu/func_80092E94.s | 10 +- asm/non_matchings/menu/func_80094D28.s | 8 +- asm/non_matchings/menu/func_80095624.s | 24 +- asm/non_matchings/menu/func_80095728.s | 32 +- asm/non_matchings/menu/func_80096978.s | 28 +- asm/non_matchings/menu/func_80097918.s | 4 +- asm/non_matchings/menu/func_80099E8C.s | 10 +- asm/non_matchings/menu/func_8009C6D4.s | 8 +- asm/non_matchings/menu/func_8009CA60.s | 40 +- asm/non_matchings/menu/func_8009CD7C.s | 4 +- asm/non_matchings/menu/load_menu_text.s | 44 +- asm/non_matchings/menu/menu_23_loop.s | 4 +- asm/non_matchings/menu/menu_credits_loop.s | 6 +- .../menu/menu_title_screen_loop.s | 12 +- .../menu/menu_track_select_loop.s | 8 +- .../menu/menu_trophy_race_rankings_init.s | 4 +- .../menu/menu_trophy_race_rankings_loop.s | 6 +- .../menu/menu_trophy_race_round_init.s | 8 +- .../menu/menu_trophy_race_round_loop.s | 8 +- .../menu/render_file_select_menu.s | 8 +- .../menu/render_magic_codes_list_menu_text.s | 4 +- .../menu/render_magic_codes_ui.s | 48 +- .../menu/render_track_select_setup_ui.s | 122 +-- asm/non_matchings/menu/tt_menu_loop.s | 16 +- asm/non_matchings/save_data/func_8007306C.s | 2 +- asm/non_matchings/save_data/func_800732E8.s | 2 +- .../unknown_032760/obj_loop_levelname.s | 2 +- include/structs.h | 10 +- src/camera.c | 5 +- src/camera.h | 7 +- src/game.c | 37 +- src/game.h | 4 +- src/game_text.h | 1 + src/menu.c | 875 +++++++++--------- src/menu.h | 79 +- src/save_data.c | 48 +- src/save_data.h | 2 +- 49 files changed, 913 insertions(+), 805 deletions(-) diff --git a/asm/non_matchings/game/func_8006A6B0.s b/asm/non_matchings/game/func_8006A6B0.s index 3328c7b4..2eb5bcc8 100644 --- a/asm/non_matchings/game/func_8006A6B0.s +++ b/asm/non_matchings/game/func_8006A6B0.s @@ -233,8 +233,8 @@ glabel func_8006A6B0 /* 06B614 8006AA14 AFA70050 */ sw $a3, 0x50($sp) /* 06B618 8006AA18 0C01C327 */ jal allocate_from_main_pool_safe /* 06B61C 8006AA1C 34A500FF */ ori $a1, (0xFFFF00FF & 0xFFFF) # ori $a1, $a1, 0xff -/* 06B620 8006AA20 3C038012 */ lui $v1, %hi(D_8012116C) # $v1, 0x8012 -/* 06B624 8006AA24 2463116C */ addiu $v1, %lo(D_8012116C) # addiu $v1, $v1, 0x116c +/* 06B620 8006AA20 3C038012 */ lui $v1, %hi(gLevelNames) # $v1, 0x8012 +/* 06B624 8006AA24 2463116C */ addiu $v1, %lo(gLevelNames) # addiu $v1, $v1, 0x116c /* 06B628 8006AA28 8FA40050 */ lw $a0, 0x50($sp) /* 06B62C 8006AA2C 3C05FFFF */ lui $a1, (0xFFFF00FF >> 16) # lui $a1, 0xffff /* 06B630 8006AA30 AC620000 */ sw $v0, ($v1) @@ -248,8 +248,8 @@ glabel func_8006A6B0 /* 06B650 8006AA50 00402825 */ move $a1, $v0 /* 06B654 8006AA54 0C01DB9A */ jal load_asset_to_address /* 06B658 8006AA58 00003025 */ move $a2, $zero -/* 06B65C 8006AA5C 3C038012 */ lui $v1, %hi(D_8012116C) # $v1, 0x8012 -/* 06B660 8006AA60 2463116C */ addiu $v1, %lo(D_8012116C) # addiu $v1, $v1, 0x116c +/* 06B65C 8006AA5C 3C038012 */ lui $v1, %hi(gLevelNames) # $v1, 0x8012 +/* 06B660 8006AA60 2463116C */ addiu $v1, %lo(gLevelNames) # addiu $v1, $v1, 0x116c /* 06B664 8006AA64 1A200035 */ blez $s1, .L8006AB3C /* 06B668 8006AA68 00003825 */ move $a3, $zero /* 06B66C 8006AA6C 32250003 */ andi $a1, $s1, 3 diff --git a/asm/non_matchings/menu/draw_menu_elements.s b/asm/non_matchings/menu/draw_menu_elements.s index e6233292..87002aee 100644 --- a/asm/non_matchings/menu/draw_menu_elements.s +++ b/asm/non_matchings/menu/draw_menu_elements.s @@ -25,10 +25,10 @@ glabel draw_menu_elements /* 082E34 80082234 AFA40070 */ sw $a0, 0x70($sp) /* 082E38 80082238 1081018F */ beq $a0, $at, .L80082878 /* 082E3C 8008223C 0000A825 */ move $s5, $zero -/* 082E40 80082240 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 -/* 082E44 80082244 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 -/* 082E48 80082248 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 082E4C 8008224C 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 082E40 80082240 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012 +/* 082E44 80082244 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0 +/* 082E48 80082248 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 082E4C 8008224C 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 082E50 80082250 0C019FCB */ jal func_80067F2C /* 082E54 80082254 02C02025 */ move $a0, $s6 /* 082E58 80082258 8E110014 */ lw $s1, 0x14($s0) diff --git a/asm/non_matchings/menu/func_80083098.s b/asm/non_matchings/menu/func_80083098.s index fcb4f0fa..234a839f 100644 --- a/asm/non_matchings/menu/func_80083098.s +++ b/asm/non_matchings/menu/func_80083098.s @@ -42,10 +42,10 @@ glabel func_80083098 /* 083D38 80083138 00008825 */ move $s1, $zero /* 083D3C 8008313C 18800044 */ blez $a0, .L80083250 /* 083D40 80083140 3C108012 */ lui $s0, %hi(D_80126878) # $s0, 0x8012 -/* 083D44 80083144 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 083D44 80083144 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012 /* 083D48 80083148 3C15800E */ lui $s5, %hi(D_800DF9F8) # $s5, 0x800e /* 083D4C 8008314C 26B5F9F8 */ addiu $s5, %lo(D_800DF9F8) # addiu $s5, $s5, -0x608 -/* 083D50 80083150 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 083D50 80083150 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0 /* 083D54 80083154 26106878 */ addiu $s0, %lo(D_80126878) # addiu $s0, $s0, 0x6878 /* 083D58 80083158 24140005 */ li $s4, 5 .L8008315C: @@ -118,9 +118,9 @@ glabel func_80083098 /* 083E50 80083250 3C018012 */ lui $at, %hi(D_801268D8) # $at, 0x8012 /* 083E54 80083254 C43068D8 */ lwc1 $f16, %lo(D_801268D8)($at) /* 083E58 80083258 C6720004 */ lwc1 $f18, 4($s3) -/* 083E5C 8008325C 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 +/* 083E5C 8008325C 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012 /* 083E60 80083260 4610903E */ c.le.s $f18, $f16 -/* 083E64 80083264 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 +/* 083E64 80083264 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0 /* 083E68 80083268 4500008A */ bc1f .L80083494 /* 083E6C 8008326C 240500FF */ li $a1, 255 /* 083E70 80083270 C6680008 */ lwc1 $f8, 8($s3) diff --git a/asm/non_matchings/menu/func_8008377C.s b/asm/non_matchings/menu/func_8008377C.s index cee8d981..74b22e6e 100644 --- a/asm/non_matchings/menu/func_8008377C.s +++ b/asm/non_matchings/menu/func_8008377C.s @@ -15,10 +15,10 @@ glabel func_8008377C /* 0843B0 800837B0 AFB10028 */ sw $s1, 0x28($sp) /* 0843B4 800837B4 11C00073 */ beqz $t6, .L80083984 /* 0843B8 800837B8 AFA40058 */ sw $a0, 0x58($sp) -/* 0843BC 800837BC 3C168012 */ lui $s6, %hi(D_801263A0) # $s6, 0x8012 -/* 0843C0 800837C0 26D663A0 */ addiu $s6, %lo(D_801263A0) # addiu $s6, $s6, 0x63a0 -/* 0843C4 800837C4 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 0843C8 800837C8 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 0843BC 800837BC 3C168012 */ lui $s6, %hi(sMenuCurrDisplayList) # $s6, 0x8012 +/* 0843C0 800837C0 26D663A0 */ addiu $s6, %lo(sMenuCurrDisplayList) # addiu $s6, $s6, 0x63a0 +/* 0843C4 800837C4 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 0843C8 800837C8 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 0843CC 800837CC 0C019FCB */ jal func_80067F2C /* 0843D0 800837D0 02C02025 */ move $a0, $s6 /* 0843D4 800837D4 8E020000 */ lw $v0, ($s0) @@ -136,10 +136,10 @@ glabel func_8008377C /* 08457C 8008397C 1000000F */ b .L800839BC /* 084580 80083980 8FBF0044 */ lw $ra, 0x44($sp) .L80083984: -/* 084584 80083984 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 +/* 084584 80083984 3C028012 */ lui $v0, %hi(sTitleScreenDemoIds) # $v0, 0x8012 /* 084588 80083988 3C0D8012 */ lui $t5, %hi(D_80126864) # $t5, 0x8012 /* 08458C 8008398C 8DAD6864 */ lw $t5, %lo(D_80126864)($t5) -/* 084590 80083990 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 084590 80083990 8C426874 */ lw $v0, %lo(sTitleScreenDemoIds)($v0) /* 084594 80083994 00000000 */ nop /* 084598 80083998 004D7021 */ addu $t6, $v0, $t5 /* 08459C 8008399C 81CF0000 */ lb $t7, ($t6) diff --git a/asm/non_matchings/menu/func_80084854.s b/asm/non_matchings/menu/func_80084854.s index 65f30c1a..5b989713 100644 --- a/asm/non_matchings/menu/func_80084854.s +++ b/asm/non_matchings/menu/func_80084854.s @@ -47,18 +47,18 @@ glabel func_80084854 /* 0854FC 800848FC 0006000D */ break 6 .L80084900: /* 085500 80084900 26310001 */ addiu $s1, $s1, 1 -/* 085504 80084904 3C128012 */ lui $s2, %hi(D_801263A0) # $s2, 0x8012 -/* 085508 80084908 265263A0 */ addiu $s2, %lo(D_801263A0) # addiu $s2, $s2, 0x63a0 +/* 085504 80084904 3C128012 */ lui $s2, %hi(sMenuCurrDisplayList) # $s2, 0x8012 +/* 085508 80084908 265263A0 */ addiu $s2, %lo(sMenuCurrDisplayList) # addiu $s2, $s2, 0x63a0 /* 08550C 8008490C 3C0F800E */ lui $t7, %hi(D_800DFAC8) # $t7, 0x800e /* 085510 80084910 00001012 */ mflo $v0 /* 085514 80084914 24590030 */ addiu $t9, $v0, 0x30 /* 085518 80084918 A1190000 */ sb $t9, ($t0) /* 08551C 8008491C 00440019 */ multu $v0, $a0 /* 085520 80084920 8CAB0000 */ lw $t3, ($a1) -/* 085524 80084924 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 085524 80084924 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 /* 085528 80084928 01716021 */ addu $t4, $t3, $s1 /* 08552C 8008492C 3C198012 */ lui $t9, %hi(gAudioOutputStrings) # $t9, 0x8012 -/* 085530 80084930 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 085530 80084930 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 085534 80084934 02402025 */ move $a0, $s2 /* 085538 80084938 00004812 */ mflo $t1 /* 08553C 8008493C 02699823 */ subu $s3, $s3, $t1 diff --git a/asm/non_matchings/menu/func_800853D0.s b/asm/non_matchings/menu/func_800853D0.s index 068e3208..d29cb677 100644 --- a/asm/non_matchings/menu/func_800853D0.s +++ b/asm/non_matchings/menu/func_800853D0.s @@ -317,7 +317,7 @@ glabel L80085828 /* 086458 80085858 8FA50084 */ lw $a1, 0x84($sp) .L8008585C: /* 08645C 8008585C 8FB90088 */ lw $t9, 0x88($sp) -/* 086460 80085860 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086460 80085860 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086464 80085864 240A0078 */ li $t2, 120 /* 086468 80085868 240B0040 */ li $t3, 64 /* 08646C 8008586C 240C0004 */ li $t4, 4 @@ -325,7 +325,7 @@ glabel L80085828 /* 086474 80085874 AFAE0018 */ sw $t6, 0x18($sp) /* 086478 80085878 AFAC0014 */ sw $t4, 0x14($sp) /* 08647C 8008587C AFAB0010 */ sw $t3, 0x10($sp) -/* 086480 80085880 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086480 80085880 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086484 80085884 240700A0 */ li $a3, 160 /* 086488 80085888 AFA9001C */ sw $t1, 0x1c($sp) /* 08648C 8008588C AFA80020 */ sw $t0, 0x20($sp) @@ -428,9 +428,9 @@ glabel L80085828 /* 086604 80085A04 00002025 */ move $a0, $zero /* 086608 80085A08 8FAA0068 */ lw $t2, 0x68($sp) .L80085A0C: -/* 08660C 80085A0C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08660C 80085A0C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086610 80085A10 1140000F */ beqz $t2, .L80085A50 -/* 086614 80085A14 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086614 80085A14 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086618 80085A18 8FA60084 */ lw $a2, 0x84($sp) /* 08661C 80085A1C 8FA70088 */ lw $a3, 0x88($sp) /* 086620 80085A20 241900FF */ li $t9, 255 @@ -461,11 +461,11 @@ glabel L80085828 /* 086680 80085A80 240700FF */ li $a3, 255 /* 086684 80085A84 8FA50084 */ lw $a1, 0x84($sp) /* 086688 80085A88 8FA60088 */ lw $a2, 0x88($sp) -/* 08668C 80085A8C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08668C 80085A8C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086690 80085A90 8FA70060 */ lw $a3, 0x60($sp) /* 086694 80085A94 2418000C */ li $t8, 12 /* 086698 80085A98 AFB80010 */ sw $t8, 0x10($sp) -/* 08669C 80085A9C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08669C 80085A9C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0866A0 80085AA0 24A50051 */ addiu $a1, $a1, 0x51 /* 0866A4 80085AA4 0C031110 */ jal draw_text /* 0866A8 80085AA8 24C60001 */ addiu $a2, $a2, 1 @@ -478,11 +478,11 @@ glabel L80085828 /* 0866C4 80085AC4 24070040 */ li $a3, 64 /* 0866C8 80085AC8 8FA50084 */ lw $a1, 0x84($sp) /* 0866CC 80085ACC 8FA60088 */ lw $a2, 0x88($sp) -/* 0866D0 80085AD0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0866D0 80085AD0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0866D4 80085AD4 8FA70060 */ lw $a3, 0x60($sp) /* 0866D8 80085AD8 2419000C */ li $t9, 12 /* 0866DC 80085ADC AFB90010 */ sw $t9, 0x10($sp) -/* 0866E0 80085AE0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0866E0 80085AE0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0866E4 80085AE4 24A5004F */ addiu $a1, $a1, 0x4f /* 0866E8 80085AE8 0C031110 */ jal draw_text /* 0866EC 80085AEC 24C6FFFF */ addiu $a2, $a2, -1 @@ -502,11 +502,11 @@ glabel L80085828 /* 086720 80085B20 240700FF */ li $a3, 255 /* 086724 80085B24 8FA50084 */ lw $a1, 0x84($sp) /* 086728 80085B28 8FA60088 */ lw $a2, 0x88($sp) -/* 08672C 80085B2C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08672C 80085B2C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086730 80085B30 8FA70064 */ lw $a3, 0x64($sp) /* 086734 80085B34 240E0004 */ li $t6, 4 /* 086738 80085B38 AFAE0010 */ sw $t6, 0x10($sp) -/* 08673C 80085B3C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08673C 80085B3C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086740 80085B40 24A50050 */ addiu $a1, $a1, 0x50 /* 086744 80085B44 0C031110 */ jal draw_text /* 086748 80085B48 24C60030 */ addiu $a2, $a2, 0x30 @@ -518,11 +518,11 @@ glabel L80085828 /* 086760 80085B60 0C0310E1 */ jal set_text_colour /* 086764 80085B64 240700FF */ li $a3, 255 /* 086768 80085B68 8FA60088 */ lw $a2, 0x88($sp) -/* 08676C 80085B6C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08676C 80085B6C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086770 80085B70 8FA70064 */ lw $a3, 0x64($sp) /* 086774 80085B74 240F0004 */ li $t7, 4 /* 086778 80085B78 AFAF0010 */ sw $t7, 0x10($sp) -/* 08677C 80085B7C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08677C 80085B7C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086780 80085B80 02002825 */ move $a1, $s0 /* 086784 80085B84 0C031110 */ jal draw_text /* 086788 80085B88 24C6002F */ addiu $a2, $a2, 0x2f diff --git a/asm/non_matchings/menu/func_80085B9C.s b/asm/non_matchings/menu/func_80085B9C.s index 13ef785b..e17beecb 100644 --- a/asm/non_matchings/menu/func_80085B9C.s +++ b/asm/non_matchings/menu/func_80085B9C.s @@ -50,12 +50,12 @@ glabel L80085C24 glabel L80085C30 /* 086830 80085C30 306F0008 */ andi $t7, $v1, 8 /* 086834 80085C34 11E00002 */ beqz $t7, .L80085C40 -/* 086838 80085C38 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086838 80085C38 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08683C 80085C3C 24090001 */ li $t1, 1 .L80085C40: -/* 086840 80085C40 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 086844 80085C44 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 -/* 086848 80085C48 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086840 80085C40 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 086844 80085C44 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 +/* 086848 80085C48 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08684C 80085C4C AFA6004C */ sw $a2, 0x4c($sp) /* 086850 80085C50 AFA70048 */ sw $a3, 0x48($sp) /* 086854 80085C54 AFA80044 */ sw $t0, 0x44($sp) @@ -77,11 +77,11 @@ glabel L80085C30 /* 086894 80085C94 240700FF */ li $a3, 255 /* 086898 80085C98 3C19800E */ lui $t9, %hi(gMenuText) # $t9, 0x800e /* 08689C 80085C9C 8F39F4A0 */ lw $t9, %lo(gMenuText)($t9) -/* 0868A0 80085CA0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0868A0 80085CA0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0868A4 80085CA4 240A000C */ li $t2, 12 /* 0868A8 80085CA8 8F270294 */ lw $a3, 0x294($t9) /* 0868AC 80085CAC AFAA0010 */ sw $t2, 0x10($sp) -/* 0868B0 80085CB0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0868B0 80085CB0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0868B4 80085CB4 240500A1 */ li $a1, 161 /* 0868B8 80085CB8 0C031110 */ jal draw_text /* 0868BC 80085CBC 24060023 */ li $a2, 35 @@ -94,11 +94,11 @@ glabel L80085C30 /* 0868D8 80085CD8 00003825 */ move $a3, $zero /* 0868DC 80085CDC 3C0C800E */ lui $t4, %hi(gMenuText) # $t4, 0x800e /* 0868E0 80085CE0 8D8CF4A0 */ lw $t4, %lo(gMenuText)($t4) -/* 0868E4 80085CE4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0868E4 80085CE4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0868E8 80085CE8 240D000C */ li $t5, 12 /* 0868EC 80085CEC 8D870294 */ lw $a3, 0x294($t4) /* 0868F0 80085CF0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0868F4 80085CF4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0868F4 80085CF4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0868F8 80085CF8 240500A0 */ li $a1, 160 /* 0868FC 80085CFC 0C031110 */ jal draw_text /* 086900 80085D00 24060020 */ li $a2, 32 @@ -121,7 +121,7 @@ glabel L80085C30 /* 08693C 80085D3C 00195043 */ sra $t2, $t9, 1 /* 086940 80085D40 020A8021 */ addu $s0, $s0, $t2 .L80085D44: -/* 086944 80085D44 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086944 80085D44 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086948 80085D48 240B00FF */ li $t3, 255 /* 08694C 80085D4C 240C00FF */ li $t4, 255 /* 086950 80085D50 240D00FF */ li $t5, 255 @@ -130,7 +130,7 @@ glabel L80085C30 /* 08695C 80085D5C AFAD0018 */ sw $t5, 0x18($sp) /* 086960 80085D60 AFAC0014 */ sw $t4, 0x14($sp) /* 086964 80085D64 AFAB0010 */ sw $t3, 0x10($sp) -/* 086968 80085D68 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086968 80085D68 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08696C 80085D6C 02202825 */ move $a1, $s1 /* 086970 80085D70 240600A0 */ li $a2, 160 /* 086974 80085D74 0C01E2AE */ jal render_textured_rectangle @@ -308,9 +308,9 @@ glabel L80085C30 /* 086BFC 80085FFC 0C0310E1 */ jal set_text_colour /* 086C00 80086000 00003825 */ move $a3, $zero /* 086C04 80086004 8FAF0044 */ lw $t7, 0x44($sp) -/* 086C08 80086008 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086C08 80086008 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086C0C 8008600C 11E00008 */ beqz $t7, .L80086030 -/* 086C10 80086010 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086C10 80086010 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086C14 80086014 3C07800F */ lui $a3, %hi(D_800E8208) # $a3, 0x800f /* 086C18 80086018 2418000C */ li $t8, 12 /* 086C1C 8008601C AFB80010 */ sw $t8, 0x10($sp) @@ -320,9 +320,9 @@ glabel L80085C30 /* 086C2C 8008602C 24060080 */ li $a2, 128 .L80086030: /* 086C30 80086030 8FAA0048 */ lw $t2, 0x48($sp) -/* 086C34 80086034 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086C34 80086034 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086C38 80086038 11400009 */ beqz $t2, .L80086060 -/* 086C3C 8008603C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086C3C 8008603C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086C40 80086040 3C19800E */ lui $t9, %hi(gMenuText) # $t9, 0x800e /* 086C44 80086044 8F39F4A0 */ lw $t9, %lo(gMenuText)($t9) /* 086C48 80086048 240B000C */ li $t3, 12 @@ -333,9 +333,9 @@ glabel L80085C30 /* 086C5C 8008605C 24060080 */ li $a2, 128 .L80086060: /* 086C60 80086060 8FAD0040 */ lw $t5, 0x40($sp) -/* 086C64 80086064 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 086C64 80086064 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 086C68 80086068 11A00005 */ beqz $t5, .L80086080 -/* 086C6C 8008606C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 086C6C 8008606C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 086C70 80086070 00002825 */ move $a1, $zero /* 086C74 80086074 00003025 */ move $a2, $zero /* 086C78 80086078 0C0316D6 */ jal render_dialogue_box diff --git a/asm/non_matchings/menu/func_800862C4.s b/asm/non_matchings/menu/func_800862C4.s index 988f9e8a..c3cbd4d8 100644 --- a/asm/non_matchings/menu/func_800862C4.s +++ b/asm/non_matchings/menu/func_800862C4.s @@ -140,8 +140,8 @@ glabel func_800862C4 /* 0870D4 800864D4 1420008B */ bnez $at, .L80086704 /* 0870D8 800864D8 28410007 */ slti $at, $v0, 7 /* 0870DC 800864DC 10200089 */ beqz $at, .L80086704 -/* 0870E0 800864E0 3C048012 */ lui $a0, %hi(D_80126A20) # $a0, 0x8012 -/* 0870E4 800864E4 24846A20 */ addiu $a0, %lo(D_80126A20) # addiu $a0, $a0, 0x6a20 +/* 0870E0 800864E0 3C048012 */ lui $a0, %hi(sControllerPakNotesFree) # $a0, 0x8012 +/* 0870E4 800864E4 24846A20 */ addiu $a0, %lo(sControllerPakNotesFree) # addiu $a0, $a0, 0x6a20 /* 0870E8 800864E8 8C8B0000 */ lw $t3, ($a0) /* 0870EC 800864EC 8E590000 */ lw $t9, ($s2) /* 0870F0 800864F0 8E8C0000 */ lw $t4, ($s4) diff --git a/asm/non_matchings/menu/func_80088938.s b/asm/non_matchings/menu/func_80088938.s index 313993a6..7a463c63 100644 --- a/asm/non_matchings/menu/func_80088938.s +++ b/asm/non_matchings/menu/func_80088938.s @@ -52,11 +52,11 @@ glabel func_80088938 /* 0895F8 800889F8 3C17800E */ lui $s7, %hi(gMenuText) # $s7, 0x800e /* 0895FC 800889FC 26F7F4A0 */ addiu $s7, %lo(gMenuText) # addiu $s7, $s7, -0xb60 /* 089600 80088A00 8EE90000 */ lw $t1, ($s7) -/* 089604 80088A04 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089604 80088A04 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 089608 80088A08 240A000C */ li $t2, 12 /* 08960C 80088A0C 8D27008C */ lw $a3, 0x8c($t1) /* 089610 80088A10 AFAA0010 */ sw $t2, 0x10($sp) -/* 089614 80088A14 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089614 80088A14 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089618 80088A18 240500A1 */ li $a1, 161 /* 08961C 80088A1C 0C031110 */ jal draw_text /* 089620 80088A20 24060021 */ li $a2, 33 @@ -68,11 +68,11 @@ glabel func_80088938 /* 089638 80088A38 0C0310E1 */ jal set_text_colour /* 08963C 80088A3C 00003825 */ move $a3, $zero /* 089640 80088A40 8EEC0000 */ lw $t4, ($s7) -/* 089644 80088A44 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089644 80088A44 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 089648 80088A48 240D000C */ li $t5, 12 /* 08964C 80088A4C 8D87008C */ lw $a3, 0x8c($t4) /* 089650 80088A50 AFAD0010 */ sw $t5, 0x10($sp) -/* 089654 80088A54 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089654 80088A54 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089658 80088A58 240500A0 */ li $a1, 160 /* 08965C 80088A5C 0C031110 */ jal draw_text /* 089660 80088A60 2406001E */ li $a2, 30 @@ -151,8 +151,8 @@ glabel func_80088938 /* 08977C 80088B7C 24060010 */ li $a2, 16 /* 089780 80088B80 0C03145A */ jal render_dialogue_text /* 089784 80088B84 AFB90010 */ sw $t9, 0x10($sp) -/* 089788 80088B88 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 08978C 80088B8C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089788 80088B88 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 08978C 80088B8C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089790 80088B90 00002825 */ move $a1, $zero /* 089794 80088B94 00003025 */ move $a2, $zero /* 089798 80088B98 0C0316D6 */ jal render_dialogue_box @@ -283,8 +283,8 @@ glabel func_80088938 /* 089978 80088D78 02803825 */ move $a3, $s4 /* 08997C 80088D7C 0C03145A */ jal render_dialogue_text /* 089980 80088D80 AFB30010 */ sw $s3, 0x10($sp) -/* 089984 80088D84 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 089988 80088D88 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089984 80088D84 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 089988 80088D88 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08998C 80088D8C 00002825 */ move $a1, $zero /* 089990 80088D90 00003025 */ move $a2, $zero /* 089994 80088D94 0C0316D6 */ jal render_dialogue_box @@ -304,10 +304,10 @@ glabel func_80088938 /* 0899C8 80088DC8 10200018 */ beqz $at, .L80088E2C /* 0899CC 80088DCC 3C0B8012 */ lui $t3, %hi(D_801263BC) # $t3, 0x8012 /* 0899D0 80088DD0 8D6B63BC */ lw $t3, %lo(D_801263BC)($t3) -/* 0899D4 80088DD4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0899D4 80088DD4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0899D8 80088DD8 316A0008 */ andi $t2, $t3, 8 /* 0899DC 80088DDC 11400031 */ beqz $t2, .L80088EA4 -/* 0899E0 80088DE0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0899E0 80088DE0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0899E4 80088DE4 3C05800E */ lui $a1, %hi(D_800E043C) # $a1, 0x800e /* 0899E8 80088DE8 240C00FF */ li $t4, 255 /* 0899EC 80088DEC 240D00FF */ li $t5, 255 @@ -321,9 +321,9 @@ glabel func_80088938 /* 089A0C 80088E0C 240600A0 */ li $a2, 160 /* 089A10 80088E10 0C01E2AE */ jal render_textured_rectangle /* 089A14 80088E14 26A70008 */ addiu $a3, $s5, 8 -/* 089A18 80088E18 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089A18 80088E18 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 089A1C 80088E1C 0C01ECF4 */ jal func_8007B3D0 -/* 089A20 80088E20 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089A20 80088E20 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089A24 80088E24 1000001F */ b .L80088EA4 /* 089A28 80088E28 00000000 */ nop .L80088E2C: @@ -351,11 +351,11 @@ glabel func_80088938 /* 089A7C 80088E7C 00003825 */ move $a3, $zero /* 089A80 80088E80 8EE90000 */ lw $t1, ($s7) .L80088E84: -/* 089A84 80088E84 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089A84 80088E84 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 089A88 80088E88 240B0004 */ li $t3, 4 /* 089A8C 80088E8C 8D2700CC */ lw $a3, 0xcc($t1) /* 089A90 80088E90 AFAB0010 */ sw $t3, 0x10($sp) -/* 089A94 80088E94 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089A94 80088E94 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089A98 80088E98 24058000 */ li $a1, -32768 /* 089A9C 80088E9C 0C031110 */ jal draw_text /* 089AA0 80088EA0 02A03025 */ move $a2, $s5 @@ -459,8 +459,8 @@ glabel func_80088938 /* 089C08 80089008 26310001 */ addiu $s1, $s1, 1 /* 089C0C 8008900C 1632FFCC */ bne $s1, $s2, .L80088F40 /* 089C10 80089010 26100004 */ addiu $s0, $s0, 4 -/* 089C14 80089014 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 089C18 80089018 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089C14 80089014 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 089C18 80089018 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089C1C 8008901C 00002825 */ move $a1, $zero /* 089C20 80089020 00003025 */ move $a2, $zero /* 089C24 80089024 0C0316D6 */ jal render_dialogue_box @@ -479,11 +479,11 @@ glabel func_80088938 /* 089C54 80089054 0C0310BB */ jal set_text_font /* 089C58 80089058 24040002 */ li $a0, 2 /* 089C5C 8008905C 8EE80000 */ lw $t0, ($s7) -/* 089C60 80089060 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 089C60 80089060 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 089C64 80089064 2409000C */ li $t1, 12 /* 089C68 80089068 8D0701F0 */ lw $a3, 0x1f0($t0) /* 089C6C 8008906C AFA90010 */ sw $t1, 0x10($sp) -/* 089C70 80089070 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 089C70 80089070 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 089C74 80089074 240500A0 */ li $a1, 160 /* 089C78 80089078 0C031110 */ jal draw_text /* 089C7C 8008907C 24060080 */ li $a2, 128 diff --git a/asm/non_matchings/menu/func_8008C698.s b/asm/non_matchings/menu/func_8008C698.s index f8b06498..e4e6030a 100644 --- a/asm/non_matchings/menu/func_8008C698.s +++ b/asm/non_matchings/menu/func_8008C698.s @@ -10,7 +10,7 @@ glabel func_8008C698 /* 08D2B8 8008C6B8 1020003C */ beqz $at, .L8008C7AC /* 08D2BC 8008C6BC 3C068012 */ lui $a2, %hi(D_801263BC) # $a2, 0x8012 /* 08D2C0 8008C6C0 8CC663BC */ lw $a2, %lo(D_801263BC)($a2) -/* 08D2C4 8008C6C4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08D2C4 8008C6C4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08D2C8 8008C6C8 000670C0 */ sll $t6, $a2, 3 /* 08D2CC 8008C6CC 29C10100 */ slti $at, $t6, 0x100 /* 08D2D0 8008C6D0 14200003 */ bnez $at, .L8008C6E0 @@ -18,9 +18,9 @@ glabel func_8008C698 /* 08D2D8 8008C6D8 240F01FF */ li $t7, 511 /* 08D2DC 8008C6DC 01EE3023 */ subu $a2, $t7, $t6 .L8008C6E0: -/* 08D2E0 8008C6E0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 08D2E4 8008C6E4 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 -/* 08D2E8 8008C6E8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08D2E0 8008C6E0 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 08D2E4 8008C6E4 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 +/* 08D2E8 8008C6E8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08D2EC 8008C6EC 0C019FCB */ jal func_80067F2C /* 08D2F0 8008C6F0 AFA6001C */ sw $a2, 0x1c($sp) /* 08D2F4 8008C6F4 3C048012 */ lui $a0, %hi(D_801263E0) # $a0, 0x8012 @@ -71,9 +71,9 @@ glabel func_8008C698 /* 08D394 8008C794 24040001 */ li $a0, 1 /* 08D398 8008C798 0C02087B */ jal draw_menu_elements /* 08D39C 8008C79C 3C063F80 */ lui $a2, 0x3f80 -/* 08D3A0 8008C7A0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08D3A0 8008C7A0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08D3A4 8008C7A4 0C0202F2 */ jal func_80080BC8 -/* 08D3A8 8008C7A8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08D3A8 8008C7A8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 .L8008C7AC: /* 08D3AC 8008C7AC 8FBF0014 */ lw $ra, 0x14($sp) /* 08D3B0 8008C7B0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/menu/func_8008FA54.s b/asm/non_matchings/menu/func_8008FA54.s index 7cc8785d..9d0a91ea 100644 --- a/asm/non_matchings/menu/func_8008FA54.s +++ b/asm/non_matchings/menu/func_8008FA54.s @@ -53,9 +53,9 @@ glabel func_8008FA54 /* 0906FC 8008FAFC 00000000 */ nop /* 090700 8008FB00 1249002F */ beq $s2, $t1, .L8008FBC0 /* 090704 8008FB04 00000000 */ nop -/* 090708 8008FB08 0C01AC75 */ jal func_8006B1D4 +/* 090708 8008FB08 0C01AC75 */ jal get_hub_area_id /* 09070C 8008FB0C 24040003 */ li $a0, 3 -/* 090710 8008FB10 0C01AF77 */ jal func_8006BDDC +/* 090710 8008FB10 0C01AF77 */ jal get_level_name /* 090714 8008FB14 00402025 */ move $a0, $v0 /* 090718 8008FB18 16420004 */ bne $s2, $v0, .L8008FB2C /* 09071C 8008FB1C 00002025 */ move $a0, $zero @@ -74,8 +74,8 @@ glabel func_8008FA54 /* 090748 8008FB48 0C0310E1 */ jal set_text_colour /* 09074C 8008FB4C AFAA0010 */ sw $t2, 0x10($sp) /* 090750 8008FB50 8FAB006C */ lw $t3, 0x6c($sp) -/* 090754 8008FB54 3C138012 */ lui $s3, %hi(D_801263A0) # $s3, 0x8012 -/* 090758 8008FB58 267363A0 */ addiu $s3, %lo(D_801263A0) # addiu $s3, $s3, 0x63a0 +/* 090754 8008FB54 3C138012 */ lui $s3, %hi(sMenuCurrDisplayList) # $s3, 0x8012 +/* 090758 8008FB58 267363A0 */ addiu $s3, %lo(sMenuCurrDisplayList) # addiu $s3, $s3, 0x63a0 /* 09075C 8008FB5C 240C000C */ li $t4, 12 /* 090760 8008FB60 02AB8023 */ subu $s0, $s5, $t3 /* 090764 8008FB64 2606FFAB */ addiu $a2, $s0, -0x55 @@ -102,8 +102,8 @@ glabel func_8008FA54 /* 0907B8 8008FBB8 0C031059 */ jal func_800C4164 /* 0907BC 8008FBBC 00002025 */ move $a0, $zero .L8008FBC0: -/* 0907C0 8008FBC0 3C138012 */ lui $s3, %hi(D_801263A0) # $s3, 0x8012 -/* 0907C4 8008FBC4 267363A0 */ addiu $s3, %lo(D_801263A0) # addiu $s3, $s3, 0x63a0 +/* 0907C0 8008FBC0 3C138012 */ lui $s3, %hi(sMenuCurrDisplayList) # $s3, 0x8012 +/* 0907C4 8008FBC4 267363A0 */ addiu $s3, %lo(sMenuCurrDisplayList) # addiu $s3, $s3, 0x63a0 /* 0907C8 8008FBC8 240400FF */ li $a0, 255 /* 0907CC 8008FBCC 240500FF */ li $a1, 255 /* 0907D0 8008FBD0 240600FF */ li $a2, 255 diff --git a/asm/non_matchings/menu/func_8008FF1C.s b/asm/non_matchings/menu/func_8008FF1C.s index 1598b0b0..93651082 100644 --- a/asm/non_matchings/menu/func_8008FF1C.s +++ b/asm/non_matchings/menu/func_8008FF1C.s @@ -103,9 +103,9 @@ glabel func_8008FF1C /* 090C98 80090098 0014A180 */ sll $s4, $s4, 6 /* 090C9C 8009009C 01098821 */ addu $s1, $t0, $t1 /* 090CA0 800900A0 26640001 */ addiu $a0, $s3, 1 -/* 090CA4 800900A4 0C01AC75 */ jal func_8006B1D4 +/* 090CA4 800900A4 0C01AC75 */ jal get_hub_area_id /* 090CA8 800900A8 0013A823 */ negu $s5, $s3 -/* 090CAC 800900AC 0C01AF77 */ jal func_8006BDDC +/* 090CAC 800900AC 0C01AF77 */ jal get_level_name /* 090CB0 800900B0 00402025 */ move $a0, $v0 /* 090CB4 800900B4 862A0000 */ lh $t2, ($s1) /* 090CB8 800900B8 2401FFFF */ li $at, -1 @@ -118,7 +118,7 @@ glabel func_8008FF1C /* 090CD4 800900D4 01726021 */ addu $t4, $t3, $s2 /* 090CD8 800900D8 018D8821 */ addu $s1, $t4, $t5 /* 090CDC 800900DC 82240000 */ lb $a0, ($s1) -/* 090CE0 800900E0 0C01AF77 */ jal func_8006BDDC +/* 090CE0 800900E0 0C01AF77 */ jal get_level_name /* 090CE4 800900E4 00000000 */ nop /* 090CE8 800900E8 1657000B */ bne $s2, $s7, .L80090118 /* 090CEC 800900EC AE020004 */ sw $v0, 4($s0) @@ -312,10 +312,10 @@ glabel func_8008FF1C /* 090FA4 800903A4 24050001 */ li $a1, 1 /* 090FA8 800903A8 0C026F57 */ jal func_8009BD5C /* 090FAC 800903AC 00000000 */ nop -/* 090FB0 800903B0 3C118012 */ lui $s1, %hi(D_801263A0) # $s1, 0x8012 -/* 090FB4 800903B4 263163A0 */ addiu $s1, %lo(D_801263A0) # addiu $s1, $s1, 0x63a0 -/* 090FB8 800903B8 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 090FBC 800903BC 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 090FB0 800903B0 3C118012 */ lui $s1, %hi(sMenuCurrDisplayList) # $s1, 0x8012 +/* 090FB4 800903B4 263163A0 */ addiu $s1, %lo(sMenuCurrDisplayList) # addiu $s1, $s1, 0x63a0 +/* 090FB8 800903B8 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 090FBC 800903BC 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 090FC0 800903C0 0C019FCB */ jal func_80067F2C /* 090FC4 800903C4 02202025 */ move $a0, $s1 /* 090FC8 800903C8 0C01ECF4 */ jal func_8007B3D0 diff --git a/asm/non_matchings/menu/func_80092E94.s b/asm/non_matchings/menu/func_80092E94.s index 11fb5e04..6cb955bf 100644 --- a/asm/non_matchings/menu/func_80092E94.s +++ b/asm/non_matchings/menu/func_80092E94.s @@ -19,8 +19,8 @@ glabel func_80092E94 /* 093AD4 80092ED4 3C18800E */ lui $t8, %hi(gTrackIdForPreview) # $t8, 0x800e /* 093AD8 80092ED8 8F18F4C4 */ lw $t8, %lo(gTrackIdForPreview)($t8) /* 093ADC 80092EDC 8C8F004C */ lw $t7, 0x4c($a0) -/* 093AE0 80092EE0 3C128012 */ lui $s2, %hi(D_801263A0) # $s2, 0x8012 -/* 093AE4 80092EE4 265263A0 */ addiu $s2, %lo(D_801263A0) # addiu $s2, $s2, 0x63a0 +/* 093AE0 80092EE0 3C128012 */ lui $s2, %hi(sMenuCurrDisplayList) # $s2, 0x8012 +/* 093AE4 80092EE4 265263A0 */ addiu $s2, %lo(sMenuCurrDisplayList) # addiu $s2, $s2, 0x63a0 /* 093AE8 80092EE8 01F8C821 */ addu $t9, $t7, $t8 /* 093AEC 80092EEC 83280002 */ lb $t0, 2($t9) /* 093AF0 80092EF0 8E430000 */ lw $v1, ($s2) @@ -34,8 +34,8 @@ glabel func_80092E94 /* 093B10 80092F10 AFA50060 */ sw $a1, 0x60($sp) /* 093B14 80092F14 0C026F57 */ jal func_8009BD5C /* 093B18 80092F18 AFA40050 */ sw $a0, 0x50($sp) -/* 093B1C 80092F1C 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 093B20 80092F20 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 093B1C 80092F1C 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 093B20 80092F20 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 093B24 80092F24 0C019FCB */ jal func_80067F2C /* 093B28 80092F28 02402025 */ move $a0, $s2 /* 093B2C 80092F2C 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e @@ -50,7 +50,7 @@ glabel func_80092E94 /* 093B50 80092F50 0C01AC3E */ jal func_8006B0F8 /* 093B54 80092F54 00000000 */ nop /* 093B58 80092F58 8FA40058 */ lw $a0, 0x58($sp) -/* 093B5C 80092F5C 0C01AF77 */ jal func_8006BDDC +/* 093B5C 80092F5C 0C01AF77 */ jal get_level_name /* 093B60 80092F60 AFA2005C */ sw $v0, 0x5c($sp) /* 093B64 80092F64 00408025 */ move $s0, $v0 /* 093B68 80092F68 0C0310BB */ jal set_text_font diff --git a/asm/non_matchings/menu/func_80094D28.s b/asm/non_matchings/menu/func_80094D28.s index a1710f36..d31a7826 100644 --- a/asm/non_matchings/menu/func_80094D28.s +++ b/asm/non_matchings/menu/func_80094D28.s @@ -19,11 +19,11 @@ glabel func_80094D28 /* 095950 80094D50 24010001 */ li $at, 1 /* 095954 80094D54 15C10006 */ bne $t6, $at, .L80094D70 /* 095958 80094D58 00408025 */ move $s0, $v0 -/* 09595C 80094D5C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 095960 80094D60 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 095964 80094D64 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09595C 80094D5C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 095960 80094D60 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 095964 80094D64 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 095968 80094D68 0C019FCB */ jal func_80067F2C -/* 09596C 80094D6C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09596C 80094D6C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 .L80094D70: /* 095970 80094D70 00002025 */ move $a0, $zero /* 095974 80094D74 0C019A25 */ jal func_80066894 diff --git a/asm/non_matchings/menu/func_80095624.s b/asm/non_matchings/menu/func_80095624.s index 89306211..1a2eb416 100644 --- a/asm/non_matchings/menu/func_80095624.s +++ b/asm/non_matchings/menu/func_80095624.s @@ -17,45 +17,45 @@ glabel func_80095624 /* 09624C 8009564C 00000000 */ nop glabel L80095650 /* 096250 80095650 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 -/* 096254 80095654 3C18800E */ lui $t8, %hi(D_800E09D8) # $t8, 0x800e -/* 096258 80095658 271809D8 */ addiu $t8, %lo(D_800E09D8) # addiu $t8, $t8, 0x9d8 +/* 096254 80095654 3C18800E */ lui $t8, %hi(sNoControllerPakMenuText) # $t8, 0x800e +/* 096258 80095658 271809D8 */ addiu $t8, %lo(sNoControllerPakMenuText) # addiu $t8, $t8, 0x9d8 /* 09625C 8009565C 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c /* 096260 80095660 1000001E */ b .L800956DC /* 096264 80095664 AC980000 */ sw $t8, ($a0) glabel L80095668 /* 096268 80095668 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 -/* 09626C 8009566C 3C19800E */ lui $t9, %hi(D_800E09C4) # $t9, 0x800e -/* 096270 80095670 273909C4 */ addiu $t9, %lo(D_800E09C4) # addiu $t9, $t9, 0x9c4 +/* 09626C 8009566C 3C19800E */ lui $t9, %hi(sControllerPakFullMenuText) # $t9, 0x800e +/* 096270 80095670 273909C4 */ addiu $t9, %lo(sControllerPakFullMenuText) # addiu $t9, $t9, 0x9c4 /* 096274 80095674 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c /* 096278 80095678 10000018 */ b .L800956DC /* 09627C 8009567C AC990000 */ sw $t9, ($a0) glabel L80095680 /* 096280 80095680 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 -/* 096284 80095684 3C08800E */ lui $t0, %hi(D_800E0A04) # $t0, 0x800e +/* 096284 80095684 3C08800E */ lui $t0, %hi(sInsertControllerPakMenuText) # $t0, 0x800e /* 096288 80095688 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c -/* 09628C 8009568C 25080A04 */ addiu $t0, %lo(D_800E0A04) # addiu $t0, $t0, 0xa04 +/* 09628C 8009568C 25080A04 */ addiu $t0, %lo(sInsertControllerPakMenuText) # addiu $t0, $t0, 0xa04 /* 096290 80095690 10000012 */ b .L800956DC /* 096294 80095694 AC880000 */ sw $t0, ($a0) glabel L80095698 /* 096298 80095698 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 -/* 09629C 8009569C 3C09800E */ lui $t1, %hi(D_800E0A14) # $t1, 0x800e +/* 09629C 8009569C 3C09800E */ lui $t1, %hi(sInsertRumblePakMenuText) # $t1, 0x800e /* 0962A0 800956A0 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c -/* 0962A4 800956A4 25290A14 */ addiu $t1, %lo(D_800E0A14) # addiu $t1, $t1, 0xa14 +/* 0962A4 800956A4 25290A14 */ addiu $t1, %lo(sInsertRumblePakMenuText) # addiu $t1, $t1, 0xa14 /* 0962A8 800956A8 1000000C */ b .L800956DC /* 0962AC 800956AC AC890000 */ sw $t1, ($a0) glabel L800956B0 /* 0962B0 800956B0 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 -/* 0962B4 800956B4 3C0A800E */ lui $t2, %hi(D_800E09EC) # $t2, 0x800e +/* 0962B4 800956B4 3C0A800E */ lui $t2, %hi(sCorruptDataMenuText) # $t2, 0x800e /* 0962B8 800956B8 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c -/* 0962BC 800956BC 254A09EC */ addiu $t2, %lo(D_800E09EC) # addiu $t2, $t2, 0x9ec +/* 0962BC 800956BC 254A09EC */ addiu $t2, %lo(sCorruptDataMenuText) # addiu $t2, $t2, 0x9ec /* 0962C0 800956C0 10000006 */ b .L800956DC /* 0962C4 800956C4 AC8A0000 */ sw $t2, ($a0) .L800956C8: glabel L800956C8 /* 0962C8 800956C8 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 -/* 0962CC 800956CC 3C0B800E */ lui $t3, %hi(D_800E09B0) # $t3, 0x800e +/* 0962CC 800956CC 3C0B800E */ lui $t3, %hi(sBadControllerPakMenuText) # $t3, 0x800e /* 0962D0 800956D0 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c -/* 0962D4 800956D4 256B09B0 */ addiu $t3, %lo(D_800E09B0) # addiu $t3, $t3, 0x9b0 +/* 0962D4 800956D4 256B09B0 */ addiu $t3, %lo(sBadControllerPakMenuText) # addiu $t3, $t3, 0x9b0 /* 0962D8 800956D8 AC8B0000 */ sw $t3, ($a0) .L800956DC: /* 0962DC 800956DC 8C820000 */ lw $v0, ($a0) diff --git a/asm/non_matchings/menu/func_80095728.s b/asm/non_matchings/menu/func_80095728.s index 0b899a0b..8dd22ebf 100644 --- a/asm/non_matchings/menu/func_80095728.s +++ b/asm/non_matchings/menu/func_80095728.s @@ -15,15 +15,15 @@ glabel func_80095728 /* 096348 80095748 AFA0004C */ sw $zero, 0x4c($sp) /* 09634C 8009574C AFA00044 */ sw $zero, 0x44($sp) /* 096350 80095750 8C8F0000 */ lw $t7, ($a0) -/* 096354 80095754 3C018012 */ lui $at, %hi(D_801263A0) # $at, 0x8012 -/* 096358 80095758 AC2F63A0 */ sw $t7, %lo(D_801263A0)($at) +/* 096354 80095754 3C018012 */ lui $at, %hi(sMenuCurrDisplayList) # $at, 0x8012 +/* 096358 80095758 AC2F63A0 */ sw $t7, %lo(sMenuCurrDisplayList)($at) /* 09635C 8009575C 8CB90000 */ lw $t9, ($a1) -/* 096360 80095760 3C018012 */ lui $at, %hi(D_801263A8) # $at, 0x8012 -/* 096364 80095764 AC3963A8 */ sw $t9, %lo(D_801263A8)($at) +/* 096360 80095760 3C018012 */ lui $at, %hi(sMenuCurrHudMat) # $at, 0x8012 +/* 096364 80095764 AC3963A8 */ sw $t9, %lo(sMenuCurrHudMat)($at) /* 096368 80095768 8CCD0000 */ lw $t5, ($a2) -/* 09636C 8009576C 3C018012 */ lui $at, %hi(D_801263AC) # $at, 0x8012 +/* 09636C 8009576C 3C018012 */ lui $at, %hi(sMenuCurrHudVerts) # $at, 0x8012 /* 096370 80095770 0C01BAA4 */ jal get_settings -/* 096374 80095774 AC2D63AC */ sw $t5, %lo(D_801263AC)($at) +/* 096374 80095774 AC2D63AC */ sw $t5, %lo(sMenuCurrHudVerts)($at) /* 096378 80095778 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 /* 09637C 8009577C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) /* 096380 80095780 AFA2002C */ sw $v0, 0x2c($sp) @@ -559,8 +559,8 @@ glabel L80095EC8 /* 096B48 80095F48 3C048012 */ lui $a0, %hi(D_80126C1C) # $a0, 0x8012 /* 096B4C 80095F4C 24846C1C */ addiu $a0, %lo(D_80126C1C) # addiu $a0, $a0, 0x6c1c /* 096B50 80095F50 8C8E0000 */ lw $t6, ($a0) -/* 096B54 80095F54 3C0F800E */ lui $t7, %hi(D_800E0A04) # $t7, 0x800e -/* 096B58 80095F58 25EF0A04 */ addiu $t7, %lo(D_800E0A04) # addiu $t7, $t7, 0xa04 +/* 096B54 80095F54 3C0F800E */ lui $t7, %hi(sInsertControllerPakMenuText) # $t7, 0x800e +/* 096B58 80095F58 25EF0A04 */ addiu $t7, %lo(sInsertControllerPakMenuText) # addiu $t7, $t7, 0xa04 /* 096B5C 80095F5C 15CF0006 */ bne $t6, $t7, .L80095F78 /* 096B60 80095F60 00000000 */ nop /* 096B64 80095F64 0C025589 */ jal func_80095624 @@ -597,9 +597,9 @@ glabel L80095EC8 /* 096BD0 80095FD0 30789000 */ andi $t8, $v1, 0x9000 /* 096BD4 80095FD4 1300000B */ beqz $t8, .L80096004 /* 096BD8 80095FD8 306C4000 */ andi $t4, $v1, 0x4000 -/* 096BDC 80095FDC 3C19800E */ lui $t9, %hi(D_800E0A04) # $t9, 0x800e +/* 096BDC 80095FDC 3C19800E */ lui $t9, %hi(sInsertControllerPakMenuText) # $t9, 0x800e /* 096BE0 80095FE0 240D0001 */ li $t5, 1 -/* 096BE4 80095FE4 27390A04 */ addiu $t9, %lo(D_800E0A04) # addiu $t9, $t9, 0xa04 +/* 096BE4 80095FE4 27390A04 */ addiu $t9, %lo(sInsertControllerPakMenuText) # addiu $t9, $t9, 0xa04 /* 096BE8 80095FE8 14590004 */ bne $v0, $t9, .L80095FFC /* 096BEC 80095FEC AFAD0050 */ sw $t5, 0x50($sp) /* 096BF0 80095FF0 24070001 */ li $a3, 1 @@ -1117,7 +1117,7 @@ glabel L800964DC .L80096714: /* 097314 80096714 3C028012 */ lui $v0, %hi(gIgnorePlayerInput) # $v0, 0x8012 /* 097318 80096718 8C4263C4 */ lw $v0, %lo(gIgnorePlayerInput)($v0) -/* 09731C 8009671C 3C0D8012 */ lui $t5, %hi(D_801263A0) # $t5, 0x8012 +/* 09731C 8009671C 3C0D8012 */ lui $t5, %hi(sMenuCurrDisplayList) # $t5, 0x8012 /* 097320 80096720 1840000B */ blez $v0, .L80096750 /* 097324 80096724 00000000 */ nop /* 097328 80096728 8FAE0064 */ lw $t6, 0x64($sp) @@ -1131,16 +1131,16 @@ glabel L800964DC /* 097348 80096748 00000000 */ nop /* 09734C 8009674C AC2063C4 */ sw $zero, %lo(gIgnorePlayerInput)($at) .L80096750: -/* 097350 80096750 8DAD63A0 */ lw $t5, %lo(D_801263A0)($t5) +/* 097350 80096750 8DAD63A0 */ lw $t5, %lo(sMenuCurrDisplayList)($t5) /* 097354 80096754 8FB90058 */ lw $t9, 0x58($sp) -/* 097358 80096758 3C0C8012 */ lui $t4, %hi(D_801263A8) # $t4, 0x8012 +/* 097358 80096758 3C0C8012 */ lui $t4, %hi(sMenuCurrHudMat) # $t4, 0x8012 /* 09735C 8009675C AF2D0000 */ sw $t5, ($t9) /* 097360 80096760 8FAE005C */ lw $t6, 0x5c($sp) -/* 097364 80096764 8D8C63A8 */ lw $t4, %lo(D_801263A8)($t4) -/* 097368 80096768 3C0F8012 */ lui $t7, %hi(D_801263AC) # $t7, 0x8012 +/* 097364 80096764 8D8C63A8 */ lw $t4, %lo(sMenuCurrHudMat)($t4) +/* 097368 80096768 3C0F8012 */ lui $t7, %hi(sMenuCurrHudVerts) # $t7, 0x8012 /* 09736C 8009676C ADCC0000 */ sw $t4, ($t6) /* 097370 80096770 8FB80060 */ lw $t8, 0x60($sp) -/* 097374 80096774 8DEF63AC */ lw $t7, %lo(D_801263AC)($t7) +/* 097374 80096774 8DEF63AC */ lw $t7, %lo(sMenuCurrHudVerts)($t7) /* 097378 80096778 00000000 */ nop /* 09737C 8009677C AF0F0000 */ sw $t7, ($t8) /* 097380 80096780 8FBF0024 */ lw $ra, 0x24($sp) diff --git a/asm/non_matchings/menu/func_80096978.s b/asm/non_matchings/menu/func_80096978.s index 463af79c..eada8869 100644 --- a/asm/non_matchings/menu/func_80096978.s +++ b/asm/non_matchings/menu/func_80096978.s @@ -24,10 +24,10 @@ glabel func_80096978 /* 0975D0 800969D0 00001825 */ move $v1, $zero /* 0975D4 800969D4 2403000C */ li $v1, 12 .L800969D8: -/* 0975D8 800969D8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 0975DC 800969DC 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 0975E0 800969E0 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 -/* 0975E4 800969E4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0975D8 800969D8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 0975DC 800969DC 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 0975E0 800969E0 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 +/* 0975E4 800969E4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0975E8 800969E8 0C019FCB */ jal func_80067F2C /* 0975EC 800969EC AFA30098 */ sw $v1, 0x98($sp) /* 0975F0 800969F0 44800000 */ mtc1 $zero, $f0 @@ -77,11 +77,11 @@ glabel func_80096978 /* 097698 80096A98 AFB90010 */ sw $t9, 0x10($sp) /* 09769C 80096A9C 3C08800E */ lui $t0, %hi(gMenuText) # $t0, 0x800e /* 0976A0 80096AA0 8D08F4A0 */ lw $t0, %lo(gMenuText)($t0) -/* 0976A4 80096AA4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0976A4 80096AA4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0976A8 80096AA8 2409000C */ li $t1, 12 /* 0976AC 80096AAC 8D070084 */ lw $a3, 0x84($t0) /* 0976B0 80096AB0 AFA90010 */ sw $t1, 0x10($sp) -/* 0976B4 80096AB4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0976B4 80096AB4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0976B8 80096AB8 24058000 */ li $a1, -32768 /* 0976BC 80096ABC 0C031110 */ jal draw_text /* 0976C0 80096AC0 24060022 */ li $a2, 34 @@ -116,9 +116,9 @@ glabel func_80096978 /* 097734 80096B34 00000000 */ nop .L80096B38: /* 097738 80096B38 8208005A */ lb $t0, 0x5a($s0) -/* 09773C 80096B3C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09773C 80096B3C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 097740 80096B40 1500000E */ bnez $t0, .L80096B7C -/* 097744 80096B44 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 097744 80096B44 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 097748 80096B48 3C028012 */ lui $v0, %hi(D_801263BC) # $v0, 0x8012 /* 09774C 80096B4C 8C4263BC */ lw $v0, %lo(D_801263BC)($v0) /* 097750 80096B50 00000000 */ nop @@ -211,14 +211,14 @@ glabel func_80096978 /* 097898 80096C98 0C0310E1 */ jal set_text_colour /* 09789C 80096C9C 0000B025 */ move $s6, $zero /* 0978A0 80096CA0 8FAB0078 */ lw $t3, 0x78($sp) -/* 0978A4 80096CA4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0978A4 80096CA4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0978A8 80096CA8 8FA50064 */ lw $a1, 0x64($sp) /* 0978AC 80096CAC 8FA6007C */ lw $a2, 0x7c($sp) /* 0978B0 80096CB0 240D000C */ li $t5, 12 /* 0978B4 80096CB4 8D670000 */ lw $a3, ($t3) /* 0978B8 80096CB8 AFAD0010 */ sw $t5, 0x10($sp) /* 0978BC 80096CBC 0C031110 */ jal draw_text -/* 0978C0 80096CC0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0978C0 80096CC0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0978C4 80096CC4 240C00FF */ li $t4, 255 /* 0978C8 80096CC8 AFAC0010 */ sw $t4, 0x10($sp) /* 0978CC 80096CCC 240400FF */ li $a0, 255 @@ -227,17 +227,17 @@ glabel func_80096978 /* 0978D8 80096CD8 0C0310E1 */ jal set_text_colour /* 0978DC 80096CDC 24070060 */ li $a3, 96 /* 0978E0 80096CE0 8FAE0078 */ lw $t6, 0x78($sp) -/* 0978E4 80096CE4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0978E4 80096CE4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0978E8 80096CE8 8FA50068 */ lw $a1, 0x68($sp) /* 0978EC 80096CEC 8FA60074 */ lw $a2, 0x74($sp) /* 0978F0 80096CF0 240F000C */ li $t7, 12 /* 0978F4 80096CF4 8DC70000 */ lw $a3, ($t6) /* 0978F8 80096CF8 AFAF0010 */ sw $t7, 0x10($sp) /* 0978FC 80096CFC 0C031110 */ jal draw_text -/* 097900 80096D00 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 -/* 097904 80096D04 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 097900 80096D00 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 +/* 097904 80096D04 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 097908 80096D08 0C01ECF4 */ jal func_8007B3D0 -/* 09790C 80096D0C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09790C 80096D0C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 097910 80096D10 0C01A142 */ jal func_80068508 /* 097914 80096D14 24040001 */ li $a0, 1 /* 097918 80096D18 0C01EFC7 */ jal func_8007BF1C diff --git a/asm/non_matchings/menu/func_80097918.s b/asm/non_matchings/menu/func_80097918.s index d653a0ac..6e29ecdd 100644 --- a/asm/non_matchings/menu/func_80097918.s +++ b/asm/non_matchings/menu/func_80097918.s @@ -57,8 +57,8 @@ glabel func_80097918 /* 0985F4 800979F4 8E2A0000 */ lw $t2, ($s1) /* 0985F8 800979F8 26100F90 */ addiu $s0, %lo(D_800E0F90) # addiu $s0, $s0, 0xf90 /* 0985FC 800979FC 8E060000 */ lw $a2, ($s0) -/* 098600 80097A00 3C138012 */ lui $s3, %hi(D_801263A0) # $s3, 0x8012 -/* 098604 80097A04 267363A0 */ addiu $s3, %lo(D_801263A0) # addiu $s3, $s3, 0x63a0 +/* 098600 80097A00 3C138012 */ lui $s3, %hi(sMenuCurrDisplayList) # $s3, 0x8012 +/* 098604 80097A04 267363A0 */ addiu $s3, %lo(sMenuCurrDisplayList) # addiu $s3, $s3, 0x63a0 /* 098608 80097A08 240B000C */ li $t3, 12 /* 09860C 80097A0C 8D470020 */ lw $a3, 0x20($t2) /* 098610 80097A10 AFAB0010 */ sw $t3, 0x10($sp) diff --git a/asm/non_matchings/menu/func_80099E8C.s b/asm/non_matchings/menu/func_80099E8C.s index 7c2ab3d1..e7963d37 100644 --- a/asm/non_matchings/menu/func_80099E8C.s +++ b/asm/non_matchings/menu/func_80099E8C.s @@ -6,11 +6,11 @@ glabel D_800E8570 glabel func_80099E8C /* 09AA8C 80099E8C 27BDFF10 */ addiu $sp, $sp, -0xf0 /* 09AA90 80099E90 AFB70054 */ sw $s7, 0x54($sp) -/* 09AA94 80099E94 3C178012 */ lui $s7, %hi(D_801263A0) # $s7, 0x8012 -/* 09AA98 80099E98 26F763A0 */ addiu $s7, %lo(D_801263A0) # addiu $s7, $s7, 0x63a0 +/* 09AA94 80099E94 3C178012 */ lui $s7, %hi(sMenuCurrDisplayList) # $s7, 0x8012 +/* 09AA98 80099E98 26F763A0 */ addiu $s7, %lo(sMenuCurrDisplayList) # addiu $s7, $s7, 0x63a0 /* 09AA9C 80099E9C AFBF005C */ sw $ra, 0x5c($sp) /* 09AAA0 80099EA0 AFA400F0 */ sw $a0, 0xf0($sp) -/* 09AAA4 80099EA4 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09AAA4 80099EA4 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 /* 09AAA8 80099EA8 AFBE0058 */ sw $fp, 0x58($sp) /* 09AAAC 80099EAC AFB60050 */ sw $s6, 0x50($sp) /* 09AAB0 80099EB0 AFB5004C */ sw $s5, 0x4c($sp) @@ -19,7 +19,7 @@ glabel func_80099E8C /* 09AABC 80099EBC AFB20040 */ sw $s2, 0x40($sp) /* 09AAC0 80099EC0 AFB1003C */ sw $s1, 0x3c($sp) /* 09AAC4 80099EC4 AFB00038 */ sw $s0, 0x38($sp) -/* 09AAC8 80099EC8 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09AAC8 80099EC8 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 09AACC 80099ECC 0C019FCB */ jal func_80067F2C /* 09AAD0 80099ED0 02E02025 */ move $a0, $s7 /* 09AAD4 80099ED4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 @@ -159,7 +159,7 @@ glabel func_80099E8C /* 09ACD4 8009A0D4 00004025 */ move $t0, $zero .L8009A0D8: /* 09ACD8 8009A0D8 93C40000 */ lbu $a0, ($fp) -/* 09ACDC 8009A0DC 0C01AF77 */ jal func_8006BDDC +/* 09ACDC 8009A0DC 0C01AF77 */ jal get_level_name /* 09ACE0 8009A0E0 AFA800EC */ sw $t0, 0xec($sp) /* 09ACE4 8009A0E4 904E0000 */ lbu $t6, ($v0) /* 09ACE8 8009A0E8 8FA800EC */ lw $t0, 0xec($sp) diff --git a/asm/non_matchings/menu/func_8009C6D4.s b/asm/non_matchings/menu/func_8009C6D4.s index 29c8047f..1cad26e7 100644 --- a/asm/non_matchings/menu/func_8009C6D4.s +++ b/asm/non_matchings/menu/func_8009C6D4.s @@ -1,6 +1,6 @@ glabel func_8009C6D4 -/* 09D2D4 8009C6D4 3C08800E */ lui $t0, %hi(D_800DF750) # $t0, 0x800e -/* 09D2D8 8009C6D8 2508F750 */ addiu $t0, %lo(D_800DF750) # addiu $t0, $t0, -0x8b0 +/* 09D2D4 8009C6D4 3C08800E */ lui $t0, %hi(gAssetsMenuElementIds) # $t0, 0x800e +/* 09D2D8 8009C6D8 2508F750 */ addiu $t0, %lo(gAssetsMenuElementIds) # addiu $t0, $t0, -0x8b0 /* 09D2DC 8009C6DC 8D060000 */ lw $a2, ($t0) /* 09D2E0 8009C6E0 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 09D2E4 8009C6E4 AFBF0014 */ sw $ra, 0x14($sp) @@ -13,8 +13,8 @@ glabel func_8009C6D4 /* 09D300 8009C700 24A5F754 */ addiu $a1, %lo(D_800DF754) # addiu $a1, $a1, -0x8ac /* 09D304 8009C704 A4A00000 */ sh $zero, ($a1) /* 09D308 8009C708 84A30000 */ lh $v1, ($a1) -/* 09D30C 8009C70C 3C08800E */ lui $t0, %hi(D_800DF750) # $t0, 0x800e -/* 09D310 8009C710 2508F750 */ addiu $t0, %lo(D_800DF750) # addiu $t0, $t0, -0x8b0 +/* 09D30C 8009C70C 3C08800E */ lui $t0, %hi(gAssetsMenuElementIds) # $t0, 0x800e +/* 09D310 8009C710 2508F750 */ addiu $t0, %lo(gAssetsMenuElementIds) # addiu $t0, $t0, -0x8b0 /* 09D314 8009C714 00037040 */ sll $t6, $v1, 1 /* 09D318 8009C718 AD020000 */ sw $v0, ($t0) /* 09D31C 8009C71C 004E7821 */ addu $t7, $v0, $t6 diff --git a/asm/non_matchings/menu/func_8009CA60.s b/asm/non_matchings/menu/func_8009CA60.s index 80fb8719..66be05e4 100644 --- a/asm/non_matchings/menu/func_8009CA60.s +++ b/asm/non_matchings/menu/func_8009CA60.s @@ -13,10 +13,10 @@ glabel func_8009CA60 /* 09D68C 8009CA8C 0005C080 */ sll $t8, $a1, 2 /* 09D690 8009CA90 01585021 */ addu $t2, $t2, $t8 /* 09D694 8009CA94 8D4A6550 */ lw $t2, %lo(D_80126550)($t2) -/* 09D698 8009CA98 3C19800E */ lui $t9, %hi(D_800DF750) # $t9, 0x800e +/* 09D698 8009CA98 3C19800E */ lui $t9, %hi(gAssetsMenuElementIds) # $t9, 0x800e /* 09D69C 8009CA9C 114000B4 */ beqz $t2, .L8009CD70 /* 09D6A0 8009CAA0 8FBF0024 */ lw $ra, 0x24($sp) -/* 09D6A4 8009CAA4 8F39F750 */ lw $t9, %lo(D_800DF750)($t9) +/* 09D6A4 8009CAA4 8F39F750 */ lw $t9, %lo(gAssetsMenuElementIds)($t9) /* 09D6A8 8009CAA8 00056040 */ sll $t4, $a1, 1 /* 09D6AC 8009CAAC 032C6821 */ addu $t5, $t9, $t4 /* 09D6B0 8009CAB0 85A20000 */ lh $v0, ($t5) @@ -32,27 +32,27 @@ glabel func_8009CA60 /* 09D6D8 8009CAD8 3C0F800E */ lui $t7, %hi(D_800DF468) # $t7, 0x800e /* 09D6DC 8009CADC A54C0000 */ sh $t4, ($t2) /* 09D6E0 8009CAE0 844D0002 */ lh $t5, 2($v0) -/* 09D6E4 8009CAE4 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 +/* 09D6E4 8009CAE4 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012 /* 09D6E8 8009CAE8 A54D0002 */ sh $t5, 2($t2) /* 09D6EC 8009CAEC 844E0004 */ lh $t6, 4($v0) -/* 09D6F0 8009CAF0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09D6F0 8009CAF0 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 /* 09D6F4 8009CAF4 A54E0004 */ sh $t6, 4($t2) /* 09D6F8 8009CAF8 C444000C */ lwc1 $f4, 0xc($v0) -/* 09D6FC 8009CAFC 3C068012 */ lui $a2, %hi(D_801263AC) # $a2, 0x8012 +/* 09D6FC 8009CAFC 3C068012 */ lui $a2, %hi(sMenuCurrHudVerts) # $a2, 0x8012 /* 09D700 8009CB00 E544000C */ swc1 $f4, 0xc($t2) /* 09D704 8009CB04 C4460010 */ lwc1 $f6, 0x10($v0) /* 09D708 8009CB08 01403825 */ move $a3, $t2 /* 09D70C 8009CB0C E5460010 */ swc1 $f6, 0x10($t2) /* 09D710 8009CB10 C4480014 */ lwc1 $f8, 0x14($v0) -/* 09D714 8009CB14 260463A0 */ addiu $a0, $s0, %lo(D_801263A0) +/* 09D714 8009CB14 260463A0 */ addiu $a0, $s0, %lo(sMenuCurrDisplayList) /* 09D718 8009CB18 E5480014 */ swc1 $f8, 0x14($t2) /* 09D71C 8009CB1C C44A0008 */ lwc1 $f10, 8($v0) /* 09D720 8009CB20 3C0C800E */ lui $t4, %hi(sMenuGuiOpacity) # $t4, 0x800e /* 09D724 8009CB24 E54A0008 */ swc1 $f10, 8($t2) /* 09D728 8009CB28 8DEFF468 */ lw $t7, %lo(D_800DF468)($t7) -/* 09D72C 8009CB2C 24C663AC */ addiu $a2, %lo(D_801263AC) # addiu $a2, $a2, 0x63ac +/* 09D72C 8009CB2C 24C663AC */ addiu $a2, %lo(sMenuCurrHudVerts) # addiu $a2, $a2, 0x63ac /* 09D730 8009CB30 15E00007 */ bnez $t7, .L8009CB50 -/* 09D734 8009CB34 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09D734 8009CB34 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 09D738 8009CB38 8058001D */ lb $t8, 0x1d($v0) /* 09D73C 8009CB3C 00000000 */ nop /* 09D740 8009CB40 A5580018 */ sh $t8, 0x18($t2) @@ -67,8 +67,8 @@ glabel func_8009CA60 /* 09D760 8009CB60 8FBF0024 */ lw $ra, 0x24($sp) .L8009CB64: /* 09D764 8009CB64 11A00034 */ beqz $t5, .L8009CC38 -/* 09D768 8009CB68 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 -/* 09D76C 8009CB6C 261063A0 */ addiu $s0, %lo(D_801263A0) # addiu $s0, $s0, 0x63a0 +/* 09D768 8009CB68 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012 +/* 09D76C 8009CB6C 261063A0 */ addiu $s0, %lo(sMenuCurrDisplayList) # addiu $s0, $s0, 0x63a0 /* 09D770 8009CB70 8E020000 */ lw $v0, ($s0) /* 09D774 8009CB74 3C0FFA00 */ lui $t7, 0xfa00 /* 09D778 8009CB78 244E0008 */ addiu $t6, $v0, 8 @@ -101,11 +101,11 @@ glabel func_8009CA60 /* 09D7E4 8009CBE4 3C18800E */ lui $t8, %hi(D_800DF4B4) # $t8, 0x800e /* 09D7E8 8009CBE8 8F18F4B4 */ lw $t8, %lo(D_800DF4B4)($t8) /* 09D7EC 8009CBEC 8D6D0000 */ lw $t5, ($t3) -/* 09D7F0 8009CBF0 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 09D7F4 8009CBF4 3C068012 */ lui $a2, %hi(D_801263AC) # $a2, 0x8012 +/* 09D7F0 8009CBF0 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 09D7F4 8009CBF4 3C068012 */ lui $a2, %hi(sMenuCurrHudVerts) # $a2, 0x8012 /* 09D7F8 8009CBF8 000CC940 */ sll $t9, $t4, 5 -/* 09D7FC 8009CBFC 24C663AC */ addiu $a2, %lo(D_801263AC) # addiu $a2, $a2, 0x63ac -/* 09D800 8009CC00 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 09D7FC 8009CBFC 24C663AC */ addiu $a2, %lo(sMenuCurrHudVerts) # addiu $a2, $a2, 0x63ac +/* 09D800 8009CC00 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 09D804 8009CC04 AFAA0010 */ sw $t2, 0x10($sp) /* 09D808 8009CC08 02002025 */ move $a0, $s0 /* 09D80C 8009CC0C AFB80014 */ sw $t8, 0x14($sp) @@ -123,12 +123,12 @@ glabel func_8009CA60 /* 09D838 8009CC38 3C09800E */ lui $t1, %hi(sMenuGuiOpacity) # $t1, 0x800e /* 09D83C 8009CC3C 2529F764 */ addiu $t1, %lo(sMenuGuiOpacity) # addiu $t1, $t1, -0x89c /* 09D840 8009CC40 8D390000 */ lw $t9, ($t1) -/* 09D844 8009CC44 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 +/* 09D844 8009CC44 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 /* 09D848 8009CC48 2B2100FF */ slti $at, $t9, 0xff /* 09D84C 8009CC4C 1020000E */ beqz $at, .L8009CC88 -/* 09D850 8009CC50 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 -/* 09D854 8009CC54 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 -/* 09D858 8009CC58 261063A0 */ addiu $s0, %lo(D_801263A0) # addiu $s0, $s0, 0x63a0 +/* 09D850 8009CC50 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 +/* 09D854 8009CC54 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012 +/* 09D858 8009CC58 261063A0 */ addiu $s0, %lo(sMenuCurrDisplayList) # addiu $s0, $s0, 0x63a0 /* 09D85C 8009CC5C 8E020000 */ lw $v0, ($s0) /* 09D860 8009CC60 3C18FA00 */ lui $t8, 0xfa00 /* 09D864 8009CC64 244D0008 */ addiu $t5, $v0, 8 @@ -141,8 +141,8 @@ glabel func_8009CA60 /* 09D880 8009CC80 1000000A */ b .L8009CCAC /* 09D884 8009CC84 AC4C0004 */ sw $t4, 4($v0) .L8009CC88: -/* 09D888 8009CC88 3C108012 */ lui $s0, %hi(D_801263A0) # $s0, 0x8012 -/* 09D88C 8009CC8C 261063A0 */ addiu $s0, %lo(D_801263A0) # addiu $s0, $s0, 0x63a0 +/* 09D888 8009CC88 3C108012 */ lui $s0, %hi(sMenuCurrDisplayList) # $s0, 0x8012 +/* 09D88C 8009CC8C 261063A0 */ addiu $s0, %lo(sMenuCurrDisplayList) # addiu $s0, $s0, 0x63a0 /* 09D890 8009CC90 8E020000 */ lw $v0, ($s0) /* 09D894 8009CC94 3C0DFA00 */ lui $t5, 0xfa00 /* 09D898 8009CC98 24590008 */ addiu $t9, $v0, 8 diff --git a/asm/non_matchings/menu/func_8009CD7C.s b/asm/non_matchings/menu/func_8009CD7C.s index 3182035e..6c80dbac 100644 --- a/asm/non_matchings/menu/func_8009CD7C.s +++ b/asm/non_matchings/menu/func_8009CD7C.s @@ -24,8 +24,8 @@ glabel func_8009CD7C /* 09D9D0 8009CDD0 0000B025 */ move $s6, $zero /* 09D9D4 8009CDD4 18C00058 */ blez $a2, .L8009CF38 /* 09D9D8 8009CDD8 0000B825 */ move $s7, $zero -/* 09D9DC 8009CDDC 3C118012 */ lui $s1, %hi(D_801263A0) # $s1, 0x8012 -/* 09D9E0 8009CDE0 263163A0 */ addiu $s1, %lo(D_801263A0) # addiu $s1, $s1, 0x63a0 +/* 09D9DC 8009CDDC 3C118012 */ lui $s1, %hi(sMenuCurrDisplayList) # $s1, 0x8012 +/* 09D9E0 8009CDE0 263163A0 */ addiu $s1, %lo(sMenuCurrDisplayList) # addiu $s1, $s1, 0x63a0 .L8009CDE4: /* 09D9E4 8009CDE4 8EB90038 */ lw $t9, 0x38($s5) /* 09D9E8 8009CDE8 2401FFFF */ li $at, -1 diff --git a/asm/non_matchings/menu/load_menu_text.s b/asm/non_matchings/menu/load_menu_text.s index 02572835..101e01dc 100644 --- a/asm/non_matchings/menu/load_menu_text.s +++ b/asm/non_matchings/menu/load_menu_text.s @@ -217,13 +217,13 @@ glabel load_menu_text /* 080834 8007FC34 24A5FB74 */ addiu $a1, %lo(D_800DFB74) # addiu $a1, $a1, -0x48c /* 080838 8007FC38 AD0B0004 */ sw $t3, 4($t0) /* 08083C 8007FC3C 8C8C0188 */ lw $t4, 0x188($a0) -/* 080840 8007FC40 3C01800E */ lui $at, %hi(D_800E09B0) # $at, 0x800e +/* 080840 8007FC40 3C01800E */ lui $at, %hi(sBadControllerPakMenuText) # $at, 0x800e /* 080844 8007FC44 AD0C000C */ sw $t4, 0xc($t0) /* 080848 8007FC48 8C8D0168 */ lw $t5, 0x168($a0) -/* 08084C 8007FC4C 3C09800E */ lui $t1, %hi(D_800E09EC) # $t1, 0x800e +/* 08084C 8007FC4C 3C09800E */ lui $t1, %hi(sCorruptDataMenuText) # $t1, 0x800e /* 080850 8007FC50 AC4D0000 */ sw $t5, ($v0) /* 080854 8007FC54 8C8E018C */ lw $t6, 0x18c($a0) -/* 080858 8007FC58 252909EC */ addiu $t1, %lo(D_800E09EC) # addiu $t1, $t1, 0x9ec +/* 080858 8007FC58 252909EC */ addiu $t1, %lo(sCorruptDataMenuText) # addiu $t1, $t1, 0x9ec /* 08085C 8007FC5C AC4E0004 */ sw $t6, 4($v0) /* 080860 8007FC60 8C8F0190 */ lw $t7, 0x190($a0) /* 080864 8007FC64 3C08800E */ lui $t0, %hi(D_800E09F8) # $t0, 0x800e @@ -280,10 +280,10 @@ glabel load_menu_text /* 080930 8007FD30 00000000 */ nop /* 080934 8007FD34 ACF80010 */ sw $t8, 0x10($a3) /* 080938 8007FD38 8C9901A0 */ lw $t9, 0x1a0($a0) -/* 08093C 8007FD3C 3C07800E */ lui $a3, %hi(D_800E09D8) # $a3, 0x800e +/* 08093C 8007FD3C 3C07800E */ lui $a3, %hi(sNoControllerPakMenuText) # $a3, 0x800e /* 080940 8007FD40 AC590000 */ sw $t9, ($v0) /* 080944 8007FD44 8C8A01A4 */ lw $t2, 0x1a4($a0) -/* 080948 8007FD48 24E709D8 */ addiu $a3, %lo(D_800E09D8) # addiu $a3, $a3, 0x9d8 +/* 080948 8007FD48 24E709D8 */ addiu $a3, %lo(sNoControllerPakMenuText) # addiu $a3, $a3, 0x9d8 /* 08094C 8007FD4C AC4A0004 */ sw $t2, 4($v0) /* 080950 8007FD50 8C8B01A8 */ lw $t3, 0x1a8($a0) /* 080954 8007FD54 00000000 */ nop @@ -307,10 +307,10 @@ glabel load_menu_text /* 08099C 8007FD9C 00000000 */ nop /* 0809A0 8007FDA0 ACD90004 */ sw $t9, 4($a2) /* 0809A4 8007FDA4 8C8A0130 */ lw $t2, 0x130($a0) -/* 0809A8 8007FDA8 3C06800E */ lui $a2, %hi(D_800E09C4) # $a2, 0x800e +/* 0809A8 8007FDA8 3C06800E */ lui $a2, %hi(sControllerPakFullMenuText) # $a2, 0x800e /* 0809AC 8007FDAC ACAA0014 */ sw $t2, 0x14($a1) /* 0809B0 8007FDB0 8C8B0130 */ lw $t3, 0x130($a0) -/* 0809B4 8007FDB4 24C609C4 */ addiu $a2, %lo(D_800E09C4) # addiu $a2, $a2, 0x9c4 +/* 0809B4 8007FDB4 24C609C4 */ addiu $a2, %lo(sControllerPakFullMenuText) # addiu $a2, $a2, 0x9c4 /* 0809B8 8007FDB8 ACAB0034 */ sw $t3, 0x34($a1) /* 0809BC 8007FDBC 8C8C0238 */ lw $t4, 0x238($a0) /* 0809C0 8007FDC0 00000000 */ nop @@ -319,10 +319,10 @@ glabel load_menu_text /* 0809CC 8007FDCC 00000000 */ nop /* 0809D0 8007FDD0 ACAD00B4 */ sw $t5, 0xb4($a1) /* 0809D4 8007FDD4 8C8E0130 */ lw $t6, 0x130($a0) -/* 0809D8 8007FDD8 3C05800E */ lui $a1, %hi(D_800E09B0) # $a1, 0x800e +/* 0809D8 8007FDD8 3C05800E */ lui $a1, %hi(sBadControllerPakMenuText) # $a1, 0x800e /* 0809DC 8007FDDC AC6E0014 */ sw $t6, 0x14($v1) /* 0809E0 8007FDE0 8C8F0130 */ lw $t7, 0x130($a0) -/* 0809E4 8007FDE4 24A509B0 */ addiu $a1, %lo(D_800E09B0) # addiu $a1, $a1, 0x9b0 +/* 0809E4 8007FDE4 24A509B0 */ addiu $a1, %lo(sBadControllerPakMenuText) # addiu $a1, $a1, 0x9b0 /* 0809E8 8007FDE8 AC6F0034 */ sw $t7, 0x34($v1) /* 0809EC 8007FDEC 8C980238 */ lw $t8, 0x238($a0) /* 0809F0 8007FDF0 00000000 */ nop @@ -334,18 +334,18 @@ glabel load_menu_text /* 080A08 8007FE08 00000000 */ nop /* 080A0C 8007FE0C AC6A00F4 */ sw $t2, 0xf4($v1) /* 080A10 8007FE10 8C8B0114 */ lw $t3, 0x114($a0) -/* 080A14 8007FE14 3C03800E */ lui $v1, %hi(D_800E09EC) # $v1, 0x800e -/* 080A18 8007FE18 AC2B09B0 */ sw $t3, %lo(D_800E09B0)($at) +/* 080A14 8007FE14 3C03800E */ lui $v1, %hi(sCorruptDataMenuText) # $v1, 0x800e +/* 080A18 8007FE18 AC2B09B0 */ sw $t3, %lo(sBadControllerPakMenuText)($at) /* 080A1C 8007FE1C 8C8C0110 */ lw $t4, 0x110($a0) -/* 080A20 8007FE20 3C01800E */ lui $at, %hi(D_800E09C4) # $at, 0x800e -/* 080A24 8007FE24 AC2C09C4 */ sw $t4, %lo(D_800E09C4)($at) +/* 080A20 8007FE20 3C01800E */ lui $at, %hi(sControllerPakFullMenuText) # $at, 0x800e +/* 080A24 8007FE24 AC2C09C4 */ sw $t4, %lo(sControllerPakFullMenuText)($at) /* 080A28 8007FE28 8C8D010C */ lw $t5, 0x10c($a0) -/* 080A2C 8007FE2C 3C01800E */ lui $at, %hi(D_800E09D8) # $at, 0x800e -/* 080A30 8007FE30 AC2D09D8 */ sw $t5, %lo(D_800E09D8)($at) +/* 080A2C 8007FE2C 3C01800E */ lui $at, %hi(sNoControllerPakMenuText) # $at, 0x800e +/* 080A30 8007FE30 AC2D09D8 */ sw $t5, %lo(sNoControllerPakMenuText)($at) /* 080A34 8007FE34 8C8E02E0 */ lw $t6, 0x2e0($a0) /* 080A38 8007FE38 AD200010 */ sw $zero, 0x10($t1) /* 080A3C 8007FE3C AD200014 */ sw $zero, 0x14($t1) -/* 080A40 8007FE40 246309EC */ addiu $v1, %lo(D_800E09EC) # addiu $v1, $v1, 0x9ec +/* 080A40 8007FE40 246309EC */ addiu $v1, %lo(sCorruptDataMenuText) # addiu $v1, $v1, 0x9ec /* 080A44 8007FE44 AD2E0000 */ sw $t6, ($t1) .L8007FE48: /* 080A48 8007FE48 8C4F02C4 */ lw $t7, 0x2c4($v0) @@ -366,9 +366,9 @@ glabel load_menu_text /* 080A84 8007FE84 8D2B0000 */ lw $t3, ($t1) /* 080A88 8007FE88 00003025 */ move $a2, $zero /* 080A8C 8007FE8C 11600007 */ beqz $t3, .L8007FEAC -/* 080A90 8007FE90 3C02800E */ lui $v0, %hi(D_800E0A04) # $v0, 0x800e -/* 080A94 8007FE94 3C03800E */ lui $v1, %hi(D_800E09EC) # $v1, 0x800e -/* 080A98 8007FE98 246309EC */ addiu $v1, %lo(D_800E09EC) # addiu $v1, $v1, 0x9ec +/* 080A90 8007FE90 3C02800E */ lui $v0, %hi(sInsertControllerPakMenuText) # $v0, 0x800e +/* 080A94 8007FE94 3C03800E */ lui $v1, %hi(sCorruptDataMenuText) # $v1, 0x800e +/* 080A98 8007FE98 246309EC */ addiu $v1, %lo(sCorruptDataMenuText) # addiu $v1, $v1, 0x9ec .L8007FE9C: /* 080A9C 8007FE9C 8C6C0004 */ lw $t4, 4($v1) /* 080AA0 8007FEA0 24C60001 */ addiu $a2, $a2, 1 @@ -380,13 +380,13 @@ glabel load_menu_text /* 080AB4 8007FEB4 012E7821 */ addu $t7, $t1, $t6 /* 080AB8 8007FEB8 ADED0000 */ sw $t5, ($t7) /* 080ABC 8007FEBC 8C98027C */ lw $t8, 0x27c($a0) -/* 080AC0 8007FEC0 24420A04 */ addiu $v0, %lo(D_800E0A04) # addiu $v0, $v0, 0xa04 +/* 080AC0 8007FEC0 24420A04 */ addiu $v0, %lo(sInsertControllerPakMenuText) # addiu $v0, $v0, 0xa04 /* 080AC4 8007FEC4 AC580000 */ sw $t8, ($v0) /* 080AC8 8007FEC8 8C990280 */ lw $t9, 0x280($a0) -/* 080ACC 8007FECC 3C03800E */ lui $v1, %hi(D_800E0A14) # $v1, 0x800e +/* 080ACC 8007FECC 3C03800E */ lui $v1, %hi(sInsertRumblePakMenuText) # $v1, 0x800e /* 080AD0 8007FED0 AC590004 */ sw $t9, 4($v0) /* 080AD4 8007FED4 8C8A0288 */ lw $t2, 0x288($a0) -/* 080AD8 8007FED8 24630A14 */ addiu $v1, %lo(D_800E0A14) # addiu $v1, $v1, 0xa14 +/* 080AD8 8007FED8 24630A14 */ addiu $v1, %lo(sInsertRumblePakMenuText) # addiu $v1, $v1, 0xa14 /* 080ADC 8007FEDC AC4A0008 */ sw $t2, 8($v0) /* 080AE0 8007FEE0 8C8B027C */ lw $t3, 0x27c($a0) /* 080AE4 8007FEE4 3C05800E */ lui $a1, %hi(gCautionMenuTextElements) # $a1, 0x800e diff --git a/asm/non_matchings/menu/menu_23_loop.s b/asm/non_matchings/menu/menu_23_loop.s index c0037d47..2093deb5 100644 --- a/asm/non_matchings/menu/menu_23_loop.s +++ b/asm/non_matchings/menu/menu_23_loop.s @@ -101,9 +101,9 @@ glabel menu_23_loop /* 09BA6C 8009AE6C 128E001D */ beq $s4, $t6, .L8009AEE4 /* 09BA70 8009AE70 00008025 */ move $s0, $zero /* 09BA74 8009AE74 3C16800E */ lui $s6, %hi(D_800E0AF0) # $s6, 0x800e -/* 09BA78 8009AE78 3C158012 */ lui $s5, %hi(D_801263A0) # $s5, 0x8012 +/* 09BA78 8009AE78 3C158012 */ lui $s5, %hi(sMenuCurrDisplayList) # $s5, 0x8012 /* 09BA7C 8009AE7C 80510000 */ lb $s1, ($v0) -/* 09BA80 8009AE80 26B563A0 */ addiu $s5, %lo(D_801263A0) # addiu $s5, $s5, 0x63a0 +/* 09BA80 8009AE80 26B563A0 */ addiu $s5, %lo(sMenuCurrDisplayList) # addiu $s5, $s5, 0x63a0 /* 09BA84 8009AE84 26D60AF0 */ addiu $s6, %lo(D_800E0AF0) # addiu $s6, $s6, 0xaf0 /* 09BA88 8009AE88 24120010 */ li $s2, 16 /* 09BA8C 8009AE8C 00117880 */ sll $t7, $s1, 2 diff --git a/asm/non_matchings/menu/menu_credits_loop.s b/asm/non_matchings/menu/menu_credits_loop.s index fec0b357..939c9978 100644 --- a/asm/non_matchings/menu/menu_credits_loop.s +++ b/asm/non_matchings/menu/menu_credits_loop.s @@ -90,11 +90,11 @@ glabel menu_credits_loop /* 09C064 8009B464 00029443 */ sra $s2, $v0, 0x11 /* 09C068 8009B468 32597FFF */ andi $t9, $s2, 0x7fff /* 09C06C 8009B46C 3C10800E */ lui $s0, %hi(D_800E0AF0) # $s0, 0x800e -/* 09C070 8009B470 3C178012 */ lui $s7, %hi(D_801263A0) # $s7, 0x8012 +/* 09C070 8009B470 3C178012 */ lui $s7, %hi(sMenuCurrDisplayList) # $s7, 0x8012 /* 09C074 8009B474 3C16800E */ lui $s6, %hi(D_800E0B18) # $s6, 0x800e /* 09C078 8009B478 03209025 */ move $s2, $t9 /* 09C07C 8009B47C 26D60B18 */ addiu $s6, %lo(D_800E0B18) # addiu $s6, $s6, 0xb18 -/* 09C080 8009B480 26F763A0 */ addiu $s7, %lo(D_801263A0) # addiu $s7, $s7, 0x63a0 +/* 09C080 8009B480 26F763A0 */ addiu $s7, %lo(sMenuCurrDisplayList) # addiu $s7, $s7, 0x63a0 /* 09C084 8009B484 26100AF0 */ addiu $s0, %lo(D_800E0AF0) # addiu $s0, $s0, 0xaf0 .L8009B488: /* 09C088 8009B488 00158C00 */ sll $s1, $s5, 0x10 @@ -294,7 +294,7 @@ glabel menu_credits_loop /* 09C350 8009B750 014C5821 */ addu $t3, $t2, $t4 /* 09C354 8009B754 81640000 */ lb $a0, ($t3) /* 09C358 8009B758 A3A6005B */ sb $a2, 0x5b($sp) -/* 09C35C 8009B75C 0C01AF77 */ jal func_8006BDDC +/* 09C35C 8009B75C 0C01AF77 */ jal get_level_name /* 09C360 8009B760 24150002 */ li $s5, 2 /* 09C364 8009B764 862D0000 */ lh $t5, ($s1) /* 09C368 8009B768 2643000E */ addiu $v1, $s2, 0xe diff --git a/asm/non_matchings/menu/menu_title_screen_loop.s b/asm/non_matchings/menu/menu_title_screen_loop.s index 4ae68efe..0b8b7c55 100644 --- a/asm/non_matchings/menu/menu_title_screen_loop.s +++ b/asm/non_matchings/menu/menu_title_screen_loop.s @@ -62,8 +62,8 @@ glabel menu_title_screen_loop /* 0846AC 80083AAC AC2DF47C */ sw $t5, %lo(gMenuDelay)($at) .L80083AB0: /* 0846B0 80083AB0 25086864 */ addiu $t0, %lo(D_80126864) # addiu $t0, $t0, 0x6864 -/* 0846B4 80083AB4 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 -/* 0846B8 80083AB8 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 0846B4 80083AB4 3C028012 */ lui $v0, %hi(sTitleScreenDemoIds) # $v0, 0x8012 +/* 0846B8 80083AB8 8C426874 */ lw $v0, %lo(sTitleScreenDemoIds)($v0) /* 0846BC 80083ABC 8D0E0000 */ lw $t6, ($t0) /* 0846C0 80083AC0 80590000 */ lb $t9, ($v0) /* 0846C4 80083AC4 004E7821 */ addu $t7, $v0, $t6 @@ -130,10 +130,10 @@ glabel menu_title_screen_loop /* 0847A8 80083BA8 00000000 */ nop .L80083BAC: /* 0847AC 80083BAC 8D180000 */ lw $t8, ($t0) -/* 0847B0 80083BB0 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 +/* 0847B0 80083BB0 3C028012 */ lui $v0, %hi(sTitleScreenDemoIds) # $v0, 0x8012 /* 0847B4 80083BB4 27190003 */ addiu $t9, $t8, 3 /* 0847B8 80083BB8 AD190000 */ sw $t9, ($t0) -/* 0847BC 80083BBC 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 0847BC 80083BBC 8C426874 */ lw $v0, %lo(sTitleScreenDemoIds)($v0) /* 0847C0 80083BC0 2401FFFF */ li $at, -1 /* 0847C4 80083BC4 00591821 */ addu $v1, $v0, $t9 /* 0847C8 80083BC8 806A0000 */ lb $t2, ($v1) @@ -164,8 +164,8 @@ glabel menu_title_screen_loop /* 084820 80083C20 00000000 */ nop /* 084824 80083C24 3C088012 */ lui $t0, %hi(D_80126864) # $t0, 0x8012 /* 084828 80083C28 25086864 */ addiu $t0, %lo(D_80126864) # addiu $t0, $t0, 0x6864 -/* 08482C 80083C2C 3C028012 */ lui $v0, %hi(D_80126874) # $v0, 0x8012 -/* 084830 80083C30 8C426874 */ lw $v0, %lo(D_80126874)($v0) +/* 08482C 80083C2C 3C028012 */ lui $v0, %hi(sTitleScreenDemoIds) # $v0, 0x8012 +/* 084830 80083C30 8C426874 */ lw $v0, %lo(sTitleScreenDemoIds)($v0) /* 084834 80083C34 8D0F0000 */ lw $t7, ($t0) /* 084838 80083C38 80490000 */ lb $t1, ($v0) /* 08483C 80083C3C 004FC021 */ addu $t8, $v0, $t7 diff --git a/asm/non_matchings/menu/menu_track_select_loop.s b/asm/non_matchings/menu/menu_track_select_loop.s index 319cef00..4c060826 100644 --- a/asm/non_matchings/menu/menu_track_select_loop.s +++ b/asm/non_matchings/menu/menu_track_select_loop.s @@ -34,8 +34,8 @@ glabel menu_track_select_loop .L8008F2B0: /* 08FEB0 8008F2B0 0C02393B */ jal func_8008E4EC /* 08FEB4 8008F2B4 00000000 */ nop -/* 08FEB8 8008F2B8 3C058012 */ lui $a1, %hi(D_801263A0) # $a1, 0x8012 -/* 08FEBC 8008F2BC 24A563A0 */ addiu $a1, %lo(D_801263A0) # addiu $a1, $a1, 0x63a0 +/* 08FEB8 8008F2B8 3C058012 */ lui $a1, %hi(sMenuCurrDisplayList) # $a1, 0x8012 +/* 08FEBC 8008F2BC 24A563A0 */ addiu $a1, %lo(sMenuCurrDisplayList) # addiu $a1, $a1, 0x63a0 /* 08FEC0 8008F2C0 8CA30000 */ lw $v1, ($a1) /* 08FEC4 8008F2C4 3C0DB600 */ lui $t5, 0xb600 /* 08FEC8 8008F2C8 246C0008 */ addiu $t4, $v1, 8 @@ -196,8 +196,8 @@ glabel menu_track_select_loop /* 0900F8 8008F4F8 AC2A0FE8 */ sw $t2, %lo(gTrophyRaceWorldId)($at) /* 0900FC 8008F4FC 3C01800E */ lui $at, %hi(D_800DF450) # $at, 0x800e /* 090100 8008F500 A020F450 */ sb $zero, %lo(D_800DF450)($at) -/* 090104 8008F504 3C01800E */ lui $at, %hi(D_800E0FEC) # $at, 0x800e -/* 090108 8008F508 AC200FEC */ sw $zero, %lo(D_800E0FEC)($at) +/* 090104 8008F504 3C01800E */ lui $at, %hi(gTrophyRaceRound) # $at, 0x800e +/* 090108 8008F508 AC200FEC */ sw $zero, %lo(gTrophyRaceRound)($at) /* 09010C 8008F50C 0C0204F4 */ jal menu_init /* 090110 8008F510 24040014 */ li $a0, 20 /* 090114 8008F514 10000003 */ b .L8008F524 diff --git a/asm/non_matchings/menu/menu_trophy_race_rankings_init.s b/asm/non_matchings/menu/menu_trophy_race_rankings_init.s index 019dbc3a..fad66c55 100644 --- a/asm/non_matchings/menu/menu_trophy_race_rankings_init.s +++ b/asm/non_matchings/menu/menu_trophy_race_rankings_init.s @@ -22,8 +22,8 @@ glabel menu_trophy_race_rankings_init /* 099674 80098A74 3C04800E */ lui $a0, %hi(D_800E1040) # $a0, 0x800e /* 099678 80098A78 0C027229 */ jal allocate_menu_images /* 09967C 80098A7C 24841040 */ addiu $a0, %lo(D_800E1040) # addiu $a0, $a0, 0x1040 -/* 099680 80098A80 3C03800E */ lui $v1, %hi(D_800E0FEC) # $v1, 0x800e -/* 099684 80098A84 24630FEC */ addiu $v1, %lo(D_800E0FEC) # addiu $v1, $v1, 0xfec +/* 099680 80098A80 3C03800E */ lui $v1, %hi(gTrophyRaceRound) # $v1, 0x800e +/* 099684 80098A84 24630FEC */ addiu $v1, %lo(gTrophyRaceRound) # addiu $v1, $v1, 0xfec /* 099688 80098A88 8C620000 */ lw $v0, ($v1) /* 09968C 80098A8C 3C01800E */ lui $at, %hi(D_800E0FF0) # $at, 0x800e /* 099690 80098A90 3C05800E */ lui $a1, %hi(gTrophyRaceWorldId) # $a1, 0x800e diff --git a/asm/non_matchings/menu/menu_trophy_race_rankings_loop.s b/asm/non_matchings/menu/menu_trophy_race_rankings_loop.s index e77f5c80..44791016 100644 --- a/asm/non_matchings/menu/menu_trophy_race_rankings_loop.s +++ b/asm/non_matchings/menu/menu_trophy_race_rankings_loop.s @@ -240,8 +240,8 @@ glabel menu_trophy_race_rankings_loop /* 099F48 80099348 24040007 */ li $a0, 7 /* 099F4C 8009934C 0C031525 */ jal assign_dialogue_box_id /* 099F50 80099350 24040007 */ li $a0, 7 -/* 099F54 80099354 3C18800E */ lui $t8, %hi(D_800E0FEC) # $t8, 0x800e -/* 099F58 80099358 8F180FEC */ lw $t8, %lo(D_800E0FEC)($t8) +/* 099F54 80099354 3C18800E */ lui $t8, %hi(gTrophyRaceRound) # $t8, 0x800e +/* 099F58 80099358 8F180FEC */ lw $t8, %lo(gTrophyRaceRound)($t8) /* 099F5C 8009935C 8FAB002C */ lw $t3, 0x2c($sp) /* 099F60 80099360 2B010004 */ slti $at, $t8, 4 /* 099F64 80099364 10200005 */ beqz $at, .L8009937C @@ -344,7 +344,7 @@ glabel menu_trophy_race_rankings_loop /* 09A0C8 800994C8 AFAF003C */ sw $t7, 0x3c($sp) /* 09A0CC 800994CC 91640048 */ lbu $a0, 0x48($t3) /* 09A0D0 800994D0 AFAC0034 */ sw $t4, 0x34($sp) -/* 09A0D4 800994D4 0C01AC75 */ jal func_8006B1D4 +/* 09A0D4 800994D4 0C01AC75 */ jal get_hub_area_id /* 09A0D8 800994D8 AFAB002C */ sw $t3, 0x2c($sp) /* 09A0DC 800994DC 8FAB002C */ lw $t3, 0x2c($sp) /* 09A0E0 800994E0 3C03800E */ lui $v1, %hi(D_800DF450) # $v1, 0x800e diff --git a/asm/non_matchings/menu/menu_trophy_race_round_init.s b/asm/non_matchings/menu/menu_trophy_race_round_init.s index ab6cfb8d..2f284c7a 100644 --- a/asm/non_matchings/menu/menu_trophy_race_round_init.s +++ b/asm/non_matchings/menu/menu_trophy_race_round_init.s @@ -9,8 +9,8 @@ glabel menu_trophy_race_round_init /* 098E88 80098288 00408825 */ move $s1, $v0 /* 098E8C 8009828C 0C0078A7 */ jal get_misc_asset /* 098E90 80098290 2404001A */ li $a0, 26 -/* 098E94 80098294 3C03800E */ lui $v1, %hi(D_800E0FEC) # $v1, 0x800e -/* 098E98 80098298 8C630FEC */ lw $v1, %lo(D_800E0FEC)($v1) +/* 098E94 80098294 3C03800E */ lui $v1, %hi(gTrophyRaceRound) # $v1, 0x800e +/* 098E98 80098298 8C630FEC */ lw $v1, %lo(gTrophyRaceRound)($v1) /* 098E9C 8009829C 3C0E800E */ lui $t6, %hi(gTrophyRaceWorldId) # $t6, 0x800e /* 098EA0 800982A0 1460000E */ bnez $v1, .L800982DC /* 098EA4 800982A4 3C13800E */ lui $s3, %hi(gNumberOfActivePlayers) # $s3, 0x800e @@ -25,8 +25,8 @@ glabel menu_trophy_race_round_init /* 098EC4 800982C4 24630060 */ addiu $v1, $v1, 0x60 /* 098EC8 800982C8 1604FFFA */ bne $s0, $a0, .L800982B4 /* 098ECC 800982CC AC60FFF4 */ sw $zero, -0xc($v1) -/* 098ED0 800982D0 3C03800E */ lui $v1, %hi(D_800E0FEC) # $v1, 0x800e -/* 098ED4 800982D4 8C630FEC */ lw $v1, %lo(D_800E0FEC)($v1) +/* 098ED0 800982D0 3C03800E */ lui $v1, %hi(gTrophyRaceRound) # $v1, 0x800e +/* 098ED4 800982D4 8C630FEC */ lw $v1, %lo(gTrophyRaceRound)($v1) /* 098ED8 800982D8 00000000 */ nop .L800982DC: /* 098EDC 800982DC 8DCE0FE8 */ lw $t6, %lo(gTrophyRaceWorldId)($t6) diff --git a/asm/non_matchings/menu/menu_trophy_race_round_loop.s b/asm/non_matchings/menu/menu_trophy_race_round_loop.s index e5b867df..8fa84256 100644 --- a/asm/non_matchings/menu/menu_trophy_race_round_loop.s +++ b/asm/non_matchings/menu/menu_trophy_race_round_loop.s @@ -15,9 +15,9 @@ glabel menu_trophy_race_round_loop /* 0991D0 800985D0 ACEF0000 */ sw $t7, ($a3) /* 0991D4 800985D4 3C19800E */ lui $t9, %hi(gTrophyRaceWorldId) # $t9, 0x800e /* 0991D8 800985D8 8F390FE8 */ lw $t9, %lo(gTrophyRaceWorldId)($t9) -/* 0991DC 800985DC 3C09800E */ lui $t1, %hi(D_800E0FEC) # $t1, 0x800e +/* 0991DC 800985DC 3C09800E */ lui $t1, %hi(gTrophyRaceRound) # $t1, 0x800e /* 0991E0 800985E0 00194080 */ sll $t0, $t9, 2 -/* 0991E4 800985E4 8D290FEC */ lw $t1, %lo(D_800E0FEC)($t1) +/* 0991E4 800985E4 8D290FEC */ lw $t1, %lo(gTrophyRaceRound)($t1) /* 0991E8 800985E8 01194023 */ subu $t0, $t0, $t9 /* 0991EC 800985EC 00084040 */ sll $t0, $t0, 1 /* 0991F0 800985F0 01095021 */ addu $t2, $t0, $t1 @@ -91,9 +91,9 @@ glabel menu_trophy_race_round_loop /* 0992EC 800986EC 00000000 */ nop /* 0992F0 800986F0 3C0B800E */ lui $t3, %hi(gTrophyRaceWorldId) # $t3, 0x800e /* 0992F4 800986F4 8D6B0FE8 */ lw $t3, %lo(gTrophyRaceWorldId)($t3) -/* 0992F8 800986F8 3C0D800E */ lui $t5, %hi(D_800E0FEC) # $t5, 0x800e +/* 0992F8 800986F8 3C0D800E */ lui $t5, %hi(gTrophyRaceRound) # $t5, 0x800e /* 0992FC 800986FC 000B6080 */ sll $t4, $t3, 2 -/* 099300 80098700 8DAD0FEC */ lw $t5, %lo(D_800E0FEC)($t5) +/* 099300 80098700 8DAD0FEC */ lw $t5, %lo(gTrophyRaceRound)($t5) /* 099304 80098704 018B6023 */ subu $t4, $t4, $t3 /* 099308 80098708 8FAF001C */ lw $t7, 0x1c($sp) /* 09930C 8009870C 000C6040 */ sll $t4, $t4, 1 diff --git a/asm/non_matchings/menu/render_file_select_menu.s b/asm/non_matchings/menu/render_file_select_menu.s index 43a4173d..1eab6413 100644 --- a/asm/non_matchings/menu/render_file_select_menu.s +++ b/asm/non_matchings/menu/render_file_select_menu.s @@ -20,10 +20,10 @@ glabel render_file_select_menu .L8008CDB8: /* 08D9B8 8008CDB8 0C026F57 */ jal func_8009BD5C /* 08D9BC 8008CDBC 00000000 */ nop -/* 08D9C0 8008CDC0 3C178012 */ lui $s7, %hi(D_801263A0) # $s7, 0x8012 -/* 08D9C4 8008CDC4 26F763A0 */ addiu $s7, %lo(D_801263A0) # addiu $s7, $s7, 0x63a0 -/* 08D9C8 8008CDC8 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 08D9CC 8008CDCC 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 08D9C0 8008CDC0 3C178012 */ lui $s7, %hi(sMenuCurrDisplayList) # $s7, 0x8012 +/* 08D9C4 8008CDC4 26F763A0 */ addiu $s7, %lo(sMenuCurrDisplayList) # addiu $s7, $s7, 0x63a0 +/* 08D9C8 8008CDC8 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 08D9CC 8008CDCC 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 08D9D0 8008CDD0 0C019FCB */ jal func_80067F2C /* 08D9D4 8008CDD4 02E02025 */ move $a0, $s7 /* 08D9D8 8008CDD8 3C118012 */ lui $s1, %hi(gSavefileInfo) # $s1, 0x8012 diff --git a/asm/non_matchings/menu/render_magic_codes_list_menu_text.s b/asm/non_matchings/menu/render_magic_codes_list_menu_text.s index 7f755f03..e2e536d8 100644 --- a/asm/non_matchings/menu/render_magic_codes_list_menu_text.s +++ b/asm/non_matchings/menu/render_magic_codes_list_menu_text.s @@ -28,8 +28,8 @@ glabel render_magic_codes_list_menu_text /* 08B1D4 8008A5D4 3C17800E */ lui $s7, %hi(gMenuText) # $s7, 0x800e /* 08B1D8 8008A5D8 26F7F4A0 */ addiu $s7, %lo(gMenuText) # addiu $s7, $s7, -0xb60 /* 08B1DC 8008A5DC 8EEF0000 */ lw $t7, ($s7) -/* 08B1E0 8008A5E0 3C158012 */ lui $s5, %hi(D_801263A0) # $s5, 0x8012 -/* 08B1E4 8008A5E4 26B563A0 */ addiu $s5, %lo(D_801263A0) # addiu $s5, $s5, 0x63a0 +/* 08B1E0 8008A5E0 3C158012 */ lui $s5, %hi(sMenuCurrDisplayList) # $s5, 0x8012 +/* 08B1E4 8008A5E4 26B563A0 */ addiu $s5, %lo(sMenuCurrDisplayList) # addiu $s5, $s5, 0x63a0 /* 08B1E8 8008A5E8 2418000C */ li $t8, 12 /* 08B1EC 8008A5EC 8DE70050 */ lw $a3, 0x50($t7) /* 08B1F0 8008A5F0 AFB80010 */ sw $t8, 0x10($sp) diff --git a/asm/non_matchings/menu/render_magic_codes_ui.s b/asm/non_matchings/menu/render_magic_codes_ui.s index d47062c7..7fe24d86 100644 --- a/asm/non_matchings/menu/render_magic_codes_ui.s +++ b/asm/non_matchings/menu/render_magic_codes_ui.s @@ -16,8 +16,8 @@ glabel render_magic_codes_ui /* 08A2DC 800896DC 00003025 */ move $a2, $zero /* 08A2E0 800896E0 0C0310F3 */ jal set_text_background_colour /* 08A2E4 800896E4 00003825 */ move $a3, $zero -/* 08A2E8 800896E8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 08A2EC 800896EC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A2E8 800896E8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 08A2EC 800896EC 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A2F0 800896F0 00002825 */ move $a1, $zero /* 08A2F4 800896F4 00003025 */ move $a2, $zero /* 08A2F8 800896F8 0C0316D6 */ jal render_dialogue_box @@ -33,11 +33,11 @@ glabel render_magic_codes_ui /* 08A320 80089720 240700FF */ li $a3, 255 /* 08A324 80089724 3C0F800E */ lui $t7, %hi(gMenuText) # $t7, 0x800e /* 08A328 80089728 8DEFF4A0 */ lw $t7, %lo(gMenuText)($t7) -/* 08A32C 8008972C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A32C 8008972C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A330 80089730 2418000C */ li $t8, 12 /* 08A334 80089734 8DE70044 */ lw $a3, 0x44($t7) /* 08A338 80089738 AFB80010 */ sw $t8, 0x10($sp) -/* 08A33C 8008973C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A33C 8008973C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A340 80089740 240500A1 */ li $a1, 161 /* 08A344 80089744 0C031110 */ jal draw_text /* 08A348 80089748 24060023 */ li $a2, 35 @@ -50,11 +50,11 @@ glabel render_magic_codes_ui /* 08A364 80089764 00003825 */ move $a3, $zero /* 08A368 80089768 3C09800E */ lui $t1, %hi(gMenuText) # $t1, 0x800e /* 08A36C 8008976C 8D29F4A0 */ lw $t1, %lo(gMenuText)($t1) -/* 08A370 80089770 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A370 80089770 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A374 80089774 240A000C */ li $t2, 12 /* 08A378 80089778 8D270044 */ lw $a3, 0x44($t1) /* 08A37C 8008977C AFAA0010 */ sw $t2, 0x10($sp) -/* 08A380 80089780 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A380 80089780 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A384 80089784 240500A0 */ li $a1, 160 /* 08A388 80089788 0C031110 */ jal draw_text /* 08A38C 8008978C 24060020 */ li $a2, 32 @@ -111,12 +111,12 @@ glabel render_magic_codes_ui /* 08A448 80089848 2A61005B */ slti $at, $s3, 0x5b .L8008984C: /* 08A44C 8008984C 1020000C */ beqz $at, .L80089880 -/* 08A450 80089850 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A450 80089850 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A454 80089854 240A000C */ li $t2, 12 /* 08A458 80089858 A3B3005C */ sb $s3, 0x5c($sp) /* 08A45C 8008985C A3A0005D */ sb $zero, 0x5d($sp) /* 08A460 80089860 AFAA0010 */ sw $t2, 0x10($sp) -/* 08A464 80089864 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A464 80089864 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A468 80089868 02202825 */ move $a1, $s1 /* 08A46C 8008986C 02803025 */ move $a2, $s4 /* 08A470 80089870 0C031110 */ jal draw_text @@ -125,13 +125,13 @@ glabel render_magic_codes_ui /* 08A47C 8008987C 00000000 */ nop .L80089880: /* 08A480 80089880 1617000C */ bne $s0, $s7, .L800898B4 -/* 08A484 80089884 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 08A488 80089888 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A484 80089884 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 08A488 80089888 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A48C 8008988C 3C07800F */ lui $a3, %hi(D_800E8210) # $a3, 0x800f /* 08A490 80089890 240B000C */ li $t3, 12 /* 08A494 80089894 AFAB0010 */ sw $t3, 0x10($sp) /* 08A498 80089898 24E78210 */ addiu $a3, %lo(D_800E8210) # addiu $a3, $a3, -0x7df0 -/* 08A49C 8008989C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A49C 8008989C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A4A0 800898A0 02202825 */ move $a1, $s1 /* 08A4A4 800898A4 0C031110 */ jal draw_text /* 08A4A8 800898A8 02803025 */ move $a2, $s4 @@ -142,7 +142,7 @@ glabel render_magic_codes_ui /* 08A4B8 800898B8 240C000C */ li $t4, 12 /* 08A4BC 800898BC AFAC0010 */ sw $t4, 0x10($sp) /* 08A4C0 800898C0 24E78214 */ addiu $a3, %lo(D_800E8214) # addiu $a3, $a3, -0x7dec -/* 08A4C4 800898C4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A4C4 800898C4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A4C8 800898C8 02202825 */ move $a1, $s1 /* 08A4CC 800898CC 0C031110 */ jal draw_text /* 08A4D0 800898D0 02803025 */ move $a2, $s4 @@ -226,11 +226,11 @@ glabel render_magic_codes_ui /* 08A5EC 800899EC 240600FF */ li $a2, 255 /* 08A5F0 800899F0 0C0310E1 */ jal set_text_colour /* 08A5F4 800899F4 02003825 */ move $a3, $s0 -/* 08A5F8 800899F8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A5F8 800899F8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A5FC 800899FC 8E270000 */ lw $a3, ($s1) /* 08A600 80089A00 2409000C */ li $t1, 12 /* 08A604 80089A04 AFA90010 */ sw $t1, 0x10($sp) -/* 08A608 80089A08 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A608 80089A08 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A60C 80089A0C 24058000 */ li $a1, -32768 /* 08A610 80089A10 0C031110 */ jal draw_text /* 08A614 80089A14 02603025 */ move $a2, $s3 @@ -267,11 +267,11 @@ glabel render_magic_codes_ui /* 08A68C 80089A8C 3C028012 */ lui $v0, %hi(gCheatsAssetData) # $v0, 0x8012 /* 08A690 80089A90 3C0C800E */ lui $t4, %hi(gMenuText) # $t4, 0x800e /* 08A694 80089A94 8D8CF4A0 */ lw $t4, %lo(gMenuText)($t4) -/* 08A698 80089A98 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A698 80089A98 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A69C 80089A9C 240D000C */ li $t5, 12 /* 08A6A0 80089AA0 8D870048 */ lw $a3, 0x48($t4) /* 08A6A4 80089AA4 AFAD0010 */ sw $t5, 0x10($sp) -/* 08A6A8 80089AA8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A6A8 80089AA8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A6AC 80089AAC 24058000 */ li $a1, -32768 /* 08A6B0 80089AB0 0C031110 */ jal draw_text /* 08A6B4 80089AB4 24060090 */ li $a2, 144 @@ -283,10 +283,10 @@ glabel render_magic_codes_ui /* 08A6C8 80089AC8 24430002 */ addiu $v1, $v0, 2 /* 08A6CC 80089ACC 006E7821 */ addu $t7, $v1, $t6 /* 08A6D0 80089AD0 95F80002 */ lhu $t8, 2($t7) -/* 08A6D4 80089AD4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A6D4 80089AD4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A6D8 80089AD8 2419000C */ li $t9, 12 /* 08A6DC 80089ADC AFB90010 */ sw $t9, 0x10($sp) -/* 08A6E0 80089AE0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A6E0 80089AE0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A6E4 80089AE4 24058000 */ li $a1, -32768 /* 08A6E8 80089AE8 24060090 */ li $a2, 144 /* 08A6EC 80089AEC 0C031110 */ jal draw_text @@ -296,12 +296,12 @@ glabel render_magic_codes_ui .L80089AFC: /* 08A6FC 80089AFC 16E2000C */ bne $s7, $v0, .L80089B30 /* 08A700 80089B00 24010006 */ li $at, 6 -/* 08A704 80089B04 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A704 80089B04 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A708 80089B08 3C078012 */ lui $a3, %hi(D_80126C58) # $a3, 0x8012 /* 08A70C 80089B0C 2409000C */ li $t1, 12 /* 08A710 80089B10 AFA90010 */ sw $t1, 0x10($sp) /* 08A714 80089B14 24E76C58 */ addiu $a3, %lo(D_80126C58) # addiu $a3, $a3, 0x6c58 -/* 08A718 80089B18 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A718 80089B18 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A71C 80089B1C 24058000 */ li $a1, -32768 /* 08A720 80089B20 0C031110 */ jal draw_text /* 08A724 80089B24 24060090 */ li $a2, 144 @@ -309,13 +309,13 @@ glabel render_magic_codes_ui /* 08A72C 80089B2C 8EAC0000 */ lw $t4, ($s5) .L80089B30: /* 08A730 80089B30 1441000A */ bne $v0, $at, .L80089B5C -/* 08A734 80089B34 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 08A734 80089B34 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 08A738 80089B38 3C0A800E */ lui $t2, %hi(gMenuText) # $t2, 0x800e /* 08A73C 80089B3C 8D4AF4A0 */ lw $t2, %lo(gMenuText)($t2) /* 08A740 80089B40 240B000C */ li $t3, 12 /* 08A744 80089B44 8D47004C */ lw $a3, 0x4c($t2) /* 08A748 80089B48 AFAB0010 */ sw $t3, 0x10($sp) -/* 08A74C 80089B4C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A74C 80089B4C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A750 80089B50 24058000 */ li $a1, -32768 /* 08A754 80089B54 0C031110 */ jal draw_text /* 08A758 80089B58 24060090 */ li $a2, 144 @@ -398,8 +398,8 @@ glabel render_magic_codes_ui /* 08A868 80089C68 27DE0001 */ addiu $fp, $fp, 1 /* 08A86C 80089C6C 17D4FFDB */ bne $fp, $s4, .L80089BDC /* 08A870 80089C70 26310004 */ addiu $s1, $s1, 4 -/* 08A874 80089C74 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 08A878 80089C78 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 08A874 80089C74 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 08A878 80089C78 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 08A87C 80089C7C 00002825 */ move $a1, $zero /* 08A880 80089C80 00003025 */ move $a2, $zero /* 08A884 80089C84 0C0316D6 */ jal render_dialogue_box diff --git a/asm/non_matchings/menu/render_track_select_setup_ui.s b/asm/non_matchings/menu/render_track_select_setup_ui.s index f2ef20ad..3e8fb301 100644 --- a/asm/non_matchings/menu/render_track_select_setup_ui.s +++ b/asm/non_matchings/menu/render_track_select_setup_ui.s @@ -50,11 +50,11 @@ glabel render_track_select_setup_ui /* 091BD4 80090FD4 24050001 */ li $a1, 1 /* 091BD8 80090FD8 0C026F57 */ jal func_8009BD5C /* 091BDC 80090FDC 00000000 */ nop -/* 091BE0 80090FE0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 091BE4 80090FE4 3C058012 */ lui $a1, %hi(D_801263A8) # $a1, 0x8012 -/* 091BE8 80090FE8 24A563A8 */ addiu $a1, %lo(D_801263A8) # addiu $a1, $a1, 0x63a8 +/* 091BE0 80090FE0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 091BE4 80090FE4 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 +/* 091BE8 80090FE8 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 /* 091BEC 80090FEC 0C019FCB */ jal func_80067F2C -/* 091BF0 80090FF0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091BF0 80090FF0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 091BF4 80090FF4 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e /* 091BF8 80090FF8 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0) /* 091BFC 80090FFC 3C03800E */ lui $v1, %hi(gMenuImageStack) # $v1, 0x800e @@ -134,7 +134,7 @@ glabel render_track_select_setup_ui /* 091D04 80091104 00000000 */ nop /* 091D08 80091108 3C04800E */ lui $a0, %hi(gTrackIdForPreview) # $a0, 0x800e /* 091D0C 8009110C 8C84F4C4 */ lw $a0, %lo(gTrackIdForPreview)($a0) -/* 091D10 80091110 0C01AF77 */ jal func_8006BDDC +/* 091D10 80091110 0C01AF77 */ jal get_level_name /* 091D14 80091114 AFA2007C */ sw $v0, 0x7c($sp) /* 091D18 80091118 00408025 */ move $s0, $v0 /* 091D1C 8009111C 0C0310BB */ jal set_text_font @@ -151,10 +151,10 @@ glabel render_track_select_setup_ui /* 091D48 80091148 00003025 */ move $a2, $zero /* 091D4C 8009114C 0C0310F3 */ jal set_text_background_colour /* 091D50 80091150 00003825 */ move $a3, $zero -/* 091D54 80091154 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091D54 80091154 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 091D58 80091158 240C000C */ li $t4, 12 /* 091D5C 8009115C AFAC0010 */ sw $t4, 0x10($sp) -/* 091D60 80091160 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091D60 80091160 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 091D64 80091164 24058000 */ li $a1, -32768 /* 091D68 80091168 2406002B */ li $a2, 43 /* 091D6C 8009116C 0C031110 */ jal draw_text @@ -210,10 +210,10 @@ glabel render_track_select_setup_ui .L8009122C: /* 091E2C 8009122C 26100700 */ addiu $s0, %lo(D_800E0700) # addiu $s0, $s0, 0x700 /* 091E30 80091230 86020004 */ lh $v0, 4($s0) -/* 091E34 80091234 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091E34 80091234 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 091E38 80091238 0282082A */ slt $at, $s4, $v0 /* 091E3C 8009123C 10200003 */ beqz $at, .L8009124C -/* 091E40 80091240 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091E40 80091240 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 091E44 80091244 10000002 */ b .L80091250 /* 091E48 80091248 0040A025 */ move $s4, $v0 .L8009124C: @@ -287,12 +287,12 @@ glabel render_track_select_setup_ui .L80091344: /* 091F44 80091344 3C0F800E */ lui $t7, %hi(gMenuText) # $t7, 0x800e /* 091F48 80091348 8DEFF4A0 */ lw $t7, %lo(gMenuText)($t7) -/* 091F4C 8009134C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091F4C 8009134C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 091F50 80091350 01F1C021 */ addu $t8, $t7, $s1 /* 091F54 80091354 8F070248 */ lw $a3, 0x248($t8) /* 091F58 80091358 2419000C */ li $t9, 12 /* 091F5C 8009135C AFB90010 */ sw $t9, 0x10($sp) -/* 091F60 80091360 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091F60 80091360 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 091F64 80091364 02532823 */ subu $a1, $s2, $s3 /* 091F68 80091368 0C031110 */ jal draw_text /* 091F6C 8009136C 02003025 */ move $a2, $s0 @@ -324,25 +324,25 @@ glabel render_track_select_setup_ui /* 091FD0 800913D0 3C09800E */ lui $t1, %hi(gMenuText) # $t1, 0x800e /* 091FD4 800913D4 8D29F4A0 */ lw $t1, %lo(gMenuText)($t1) /* 091FD8 800913D8 8FB00080 */ lw $s0, 0x80($sp) -/* 091FDC 800913DC 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 091FDC 800913DC 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 091FE0 800913E0 240B0008 */ li $t3, 8 /* 091FE4 800913E4 8D270024 */ lw $a3, 0x24($t1) /* 091FE8 800913E8 26100048 */ addiu $s0, $s0, 0x48 /* 091FEC 800913EC 02003025 */ move $a2, $s0 /* 091FF0 800913F0 AFAB0010 */ sw $t3, 0x10($sp) -/* 091FF4 800913F4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 091FF4 800913F4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 091FF8 800913F8 0C031110 */ jal draw_text /* 091FFC 800913FC 24050038 */ li $a1, 56 /* 092000 80091400 3C0C800E */ lui $t4, %hi(gMenuText) # $t4, 0x800e /* 092004 80091404 8D8CF4A0 */ lw $t4, %lo(gMenuText)($t4) /* 092008 80091408 8FB20080 */ lw $s2, 0x80($sp) -/* 09200C 8009140C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09200C 8009140C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092010 80091410 240D0008 */ li $t5, 8 /* 092014 80091414 8D870028 */ lw $a3, 0x28($t4) /* 092018 80091418 2652005C */ addiu $s2, $s2, 0x5c /* 09201C 8009141C 02403025 */ move $a2, $s2 /* 092020 80091420 AFAD0010 */ sw $t5, 0x10($sp) -/* 092024 80091424 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092024 80091424 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092028 80091428 0C031110 */ jal draw_text /* 09202C 8009142C 24050038 */ li $a1, 56 /* 092030 80091430 8FCE0000 */ lw $t6, ($fp) @@ -367,10 +367,10 @@ glabel render_track_select_setup_ui /* 09207C 8009147C 02202825 */ move $a1, $s1 /* 092080 80091480 0C025DBE */ jal decompress_filename_string /* 092084 80091484 24060003 */ li $a2, 3 -/* 092088 80091488 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092088 80091488 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 09208C 8009148C 240D000C */ li $t5, 12 /* 092090 80091490 AFAD0010 */ sw $t5, 0x10($sp) -/* 092094 80091494 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092094 80091494 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092098 80091498 240500FA */ li $a1, 250 /* 09209C 8009149C 02003025 */ move $a2, $s0 /* 0920A0 800914A0 0C031110 */ jal draw_text @@ -389,10 +389,10 @@ glabel render_track_select_setup_ui /* 0920D4 800914D4 02202825 */ move $a1, $s1 /* 0920D8 800914D8 0C025DBE */ jal decompress_filename_string /* 0920DC 800914DC 24060003 */ li $a2, 3 -/* 0920E0 800914E0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0920E0 800914E0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0920E4 800914E4 240C000C */ li $t4, 12 /* 0920E8 800914E8 AFAC0010 */ sw $t4, 0x10($sp) -/* 0920EC 800914EC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0920EC 800914EC 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0920F0 800914F0 240500FA */ li $a1, 250 /* 0920F4 800914F4 02403025 */ move $a2, $s2 /* 0920F8 800914F8 0C031110 */ jal draw_text @@ -453,20 +453,20 @@ glabel render_track_select_setup_ui /* 0921D4 800915D4 240700BA */ li $a3, 186 /* 0921D8 800915D8 0C0313B7 */ jal set_current_dialogue_box_coords /* 0921DC 800915DC 27060070 */ addiu $a2, $t8, 0x70 -/* 0921E0 800915E0 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 0921E4 800915E4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0921E0 800915E0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 0921E4 800915E4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0921E8 800915E8 00002825 */ move $a1, $zero /* 0921EC 800915EC 00003025 */ move $a2, $zero /* 0921F0 800915F0 0C0316D6 */ jal render_dialogue_box /* 0921F4 800915F4 24070007 */ li $a3, 7 /* 0921F8 800915F8 3C0F8012 */ lui $t7, %hi(D_801263E0) # $t7, 0x8012 /* 0921FC 800915FC 8DEF63E0 */ lw $t7, %lo(D_801263E0)($t7) -/* 092200 80091600 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092200 80091600 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092204 80091604 1DE00013 */ bgtz $t7, .L80091654 -/* 092208 80091608 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092208 80091608 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 09220C 8009160C 8FA70080 */ lw $a3, 0x80($sp) /* 092210 80091610 8FCA0000 */ lw $t2, ($fp) -/* 092214 80091614 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092214 80091614 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092218 80091618 3C05800E */ lui $a1, %hi(D_800E05B4) # $a1, 0x800e /* 09221C 8009161C 241900FF */ li $t9, 255 /* 092220 80091620 240900FF */ li $t1, 255 @@ -475,7 +475,7 @@ glabel render_track_select_setup_ui /* 09222C 8009162C AFA90014 */ sw $t1, 0x14($sp) /* 092230 80091630 AFB90010 */ sw $t9, 0x10($sp) /* 092234 80091634 24A505B4 */ addiu $a1, %lo(D_800E05B4) # addiu $a1, $a1, 0x5b4 -/* 092238 80091638 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092238 80091638 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 09223C 8009163C 24060088 */ li $a2, 136 /* 092240 80091640 24E70072 */ addiu $a3, $a3, 0x72 /* 092244 80091644 0C01E2AE */ jal render_textured_rectangle @@ -505,11 +505,11 @@ glabel render_track_select_setup_ui .L800916A0: /* 0922A0 800916A0 3C0E800E */ lui $t6, %hi(D_800E0414) # $t6, 0x800e /* 0922A4 800916A4 8DCE0414 */ lw $t6, %lo(D_800E0414)($t6) -/* 0922A8 800916A8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0922A8 800916A8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0922AC 800916AC 16AE0011 */ bne $s5, $t6, .L800916F4 -/* 0922B0 800916B0 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0922B0 800916B0 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0922B4 800916B4 8FC80000 */ lw $t0, ($fp) -/* 0922B8 800916B8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0922B8 800916B8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0922BC 800916BC 8E050004 */ lw $a1, 4($s0) /* 0922C0 800916C0 240F00FF */ li $t7, 255 /* 0922C4 800916C4 241900FF */ li $t9, 255 @@ -517,7 +517,7 @@ glabel render_track_select_setup_ui /* 0922CC 800916CC AFA90018 */ sw $t1, 0x18($sp) /* 0922D0 800916D0 AFB90014 */ sw $t9, 0x14($sp) /* 0922D4 800916D4 AFAF0010 */ sw $t7, 0x10($sp) -/* 0922D8 800916D8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0922D8 800916D8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0922DC 800916DC 24060068 */ li $a2, 104 /* 0922E0 800916E0 02E03825 */ move $a3, $s7 /* 0922E4 800916E4 0C01E2AE */ jal render_textured_rectangle @@ -595,8 +595,8 @@ glabel render_track_select_setup_ui /* 0923E8 800917E8 2445FFFE */ addiu $a1, $v0, -2 /* 0923EC 800917EC 0C0313B7 */ jal set_current_dialogue_box_coords /* 0923F0 800917F0 24470032 */ addiu $a3, $v0, 0x32 -/* 0923F4 800917F4 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 -/* 0923F8 800917F8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0923F4 800917F4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 +/* 0923F8 800917F8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0923FC 800917FC 00002825 */ move $a1, $zero /* 092400 80091800 00003025 */ move $a2, $zero /* 092404 80091804 0C0316D6 */ jal render_dialogue_box @@ -605,7 +605,7 @@ glabel render_track_select_setup_ui /* 09240C 8009180C 86180002 */ lh $t8, 2($s0) /* 092410 80091810 8FAE0080 */ lw $t6, 0x80($sp) /* 092414 80091814 8FC80000 */ lw $t0, ($fp) -/* 092418 80091818 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092418 80091818 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 09241C 8009181C 8E250000 */ lw $a1, ($s1) /* 092420 80091820 86060000 */ lh $a2, ($s0) /* 092424 80091824 240F00FF */ li $t7, 255 @@ -614,7 +614,7 @@ glabel render_track_select_setup_ui /* 092430 80091830 AFA90018 */ sw $t1, 0x18($sp) /* 092434 80091834 AFB90014 */ sw $t9, 0x14($sp) /* 092438 80091838 AFAF0010 */ sw $t7, 0x10($sp) -/* 09243C 8009183C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09243C 8009183C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092440 80091840 030E3821 */ addu $a3, $t8, $t6 /* 092444 80091844 0C01E2AE */ jal render_textured_rectangle /* 092448 80091848 AFA8001C */ sw $t0, 0x1c($sp) @@ -675,7 +675,7 @@ glabel render_track_select_setup_ui /* 092510 80091910 16AD0011 */ bne $s5, $t5, .L80091958 /* 092514 80091914 3C0A800E */ lui $t2, %hi(gTrackIdForPreview) # $t2, 0x800e /* 092518 80091918 8FD90000 */ lw $t9, ($fp) -/* 09251C 8009191C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09251C 8009191C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092520 80091920 8E450004 */ lw $a1, 4($s2) /* 092524 80091924 86060000 */ lh $a2, ($s0) /* 092528 80091928 241800FF */ li $t8, 255 @@ -684,7 +684,7 @@ glabel render_track_select_setup_ui /* 092534 80091934 AFAF0018 */ sw $t7, 0x18($sp) /* 092538 80091938 AFAE0014 */ sw $t6, 0x14($sp) /* 09253C 8009193C AFB80010 */ sw $t8, 0x10($sp) -/* 092540 80091940 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092540 80091940 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092544 80091944 02E03825 */ move $a3, $s7 /* 092548 80091948 0C01E2AE */ jal render_textured_rectangle /* 09254C 8009194C AFB9001C */ sw $t9, 0x1c($sp) @@ -696,12 +696,12 @@ glabel render_track_select_setup_ui /* 092560 80091960 000A5880 */ sll $t3, $t2, 2 /* 092564 80091964 010B6021 */ addu $t4, $t0, $t3 /* 092568 80091968 8D8D0000 */ lw $t5, ($t4) -/* 09256C 8009196C 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 09256C 8009196C 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092570 80091970 31B80002 */ andi $t8, $t5, 2 /* 092574 80091974 13000011 */ beqz $t8, .L800919BC -/* 092578 80091978 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092578 80091978 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 09257C 8009197C 8FC90000 */ lw $t1, ($fp) -/* 092580 80091980 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092580 80091980 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092584 80091984 8E450008 */ lw $a1, 8($s2) /* 092588 80091988 86060000 */ lh $a2, ($s0) /* 09258C 8009198C 240E00FF */ li $t6, 255 @@ -710,7 +710,7 @@ glabel render_track_select_setup_ui /* 092598 80091998 AFB90018 */ sw $t9, 0x18($sp) /* 09259C 8009199C AFAF0014 */ sw $t7, 0x14($sp) /* 0925A0 800919A0 AFAE0010 */ sw $t6, 0x10($sp) -/* 0925A4 800919A4 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0925A4 800919A4 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0925A8 800919A8 02E03825 */ move $a3, $s7 /* 0925AC 800919AC 0C01E2AE */ jal render_textured_rectangle /* 0925B0 800919B0 AFA9001C */ sw $t1, 0x1c($sp) @@ -770,11 +770,11 @@ glabel render_track_select_setup_ui /* 09266C 80091A6C 3C11800E */ lui $s1, %hi(D_800E0624) # $s1, 0x800e /* 092670 80091A70 26310624 */ addiu $s1, %lo(D_800E0624) # addiu $s1, $s1, 0x624 /* 092674 80091A74 8FCB0000 */ lw $t3, ($fp) -/* 092678 80091A78 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092678 80091A78 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 09267C 80091A7C 240900FF */ li $t1, 255 /* 092680 80091A80 240A00FF */ li $t2, 255 /* 092684 80091A84 240800FF */ li $t0, 255 -/* 092688 80091A88 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092688 80091A88 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 09268C 80091A8C 24060095 */ li $a2, 149 /* 092690 80091A90 02E03825 */ move $a3, $s7 /* 092694 80091A94 00007012 */ mflo $t6 @@ -796,14 +796,14 @@ glabel render_track_select_setup_ui /* 0926D0 80091AD0 3C05800E */ lui $a1, %hi(D_800E0648) # $a1, 0x800e /* 0926D4 80091AD4 01960019 */ multu $t4, $s6 /* 0926D8 80091AD8 8FC90000 */ lw $t1, ($fp) -/* 0926DC 80091ADC 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0926DC 80091ADC 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0926E0 80091AE0 240E00FF */ li $t6, 255 /* 0926E4 80091AE4 240F00FF */ li $t7, 255 /* 0926E8 80091AE8 241900FF */ li $t9, 255 /* 0926EC 80091AEC AFB90018 */ sw $t9, 0x18($sp) /* 0926F0 80091AF0 AFAF0014 */ sw $t7, 0x14($sp) /* 0926F4 80091AF4 AFAE0010 */ sw $t6, 0x10($sp) -/* 0926F8 80091AF8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0926F8 80091AF8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0926FC 80091AFC 24060095 */ li $a2, 149 /* 092700 80091B00 02003825 */ move $a3, $s0 /* 092704 80091B04 00006812 */ mflo $t5 @@ -827,13 +827,13 @@ glabel render_track_select_setup_ui /* 092748 80091B48 810869C0 */ lb $t0, %lo(gPlayerSelectVehicle)($t0) /* 09274C 80091B4C 8FD90000 */ lw $t9, ($fp) /* 092750 80091B50 01160019 */ multu $t0, $s6 -/* 092754 80091B54 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092754 80091B54 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092758 80091B58 02E03825 */ move $a3, $s7 /* 09275C 80091B5C 241800FF */ li $t8, 255 /* 092760 80091B60 240E00FF */ li $t6, 255 /* 092764 80091B64 240F00FF */ li $t7, 255 /* 092768 80091B68 0200B825 */ move $s7, $s0 -/* 09276C 80091B6C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 09276C 80091B6C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092770 80091B70 2406004F */ li $a2, 79 /* 092774 80091B74 00005812 */ mflo $t3 /* 092778 80091B78 000B6080 */ sll $t4, $t3, 2 @@ -853,11 +853,11 @@ glabel render_track_select_setup_ui .L80091BB0: /* 0927B0 80091BB0 00560019 */ multu $v0, $s6 /* 0927B4 80091BB4 8FD80000 */ lw $t8, ($fp) -/* 0927B8 80091BB8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0927B8 80091BB8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0927BC 80091BBC 240B00FF */ li $t3, 255 /* 0927C0 80091BC0 240C00FF */ li $t4, 255 /* 0927C4 80091BC4 240D00FF */ li $t5, 255 -/* 0927C8 80091BC8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0927C8 80091BC8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0927CC 80091BCC 240600B0 */ li $a2, 176 /* 0927D0 80091BD0 02E03825 */ move $a3, $s7 /* 0927D4 80091BD4 00004812 */ mflo $t1 @@ -870,9 +870,9 @@ glabel render_track_select_setup_ui /* 0927F0 80091BF0 0C01E2AE */ jal render_textured_rectangle /* 0927F4 80091BF4 AFB8001C */ sw $t8, 0x1c($sp) .L80091BF8: -/* 0927F8 80091BF8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0927F8 80091BF8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0927FC 80091BFC 0C01ECF4 */ jal func_8007B3D0 -/* 092800 80091C00 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092800 80091C00 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092804 80091C04 3C0E800E */ lui $t6, %hi(gNumberOfActivePlayers) # $t6, 0x800e /* 092808 80091C08 8DCEF4BC */ lw $t6, %lo(gNumberOfActivePlayers)($t6) /* 09280C 80091C0C 8FAF0074 */ lw $t7, 0x74($sp) @@ -926,11 +926,11 @@ glabel render_track_select_setup_ui /* 0928C0 80091CC0 3C12800E */ lui $s2, %hi(D_800E06E4) # $s2, 0x800e /* 0928C4 80091CC4 265206E4 */ addiu $s2, %lo(D_800E06E4) # addiu $s2, $s2, 0x6e4 /* 0928C8 80091CC8 86430004 */ lh $v1, 4($s2) -/* 0928CC 80091CCC 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0928CC 80091CCC 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0928D0 80091CD0 2478FFF4 */ addiu $t8, $v1, -0xc /* 0928D4 80091CD4 0302082A */ slt $at, $t8, $v0 /* 0928D8 80091CD8 10200003 */ beqz $at, .L80091CE8 -/* 0928DC 80091CDC 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0928DC 80091CDC 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0928E0 80091CE0 10000002 */ b .L80091CEC /* 0928E4 80091CE4 2454000C */ addiu $s4, $v0, 0xc .L80091CE8: @@ -974,7 +974,7 @@ glabel render_track_select_setup_ui /* 092978 80091D78 86580000 */ lh $t8, ($s2) /* 09297C 80091D7C 8FA90080 */ lw $t1, 0x80($sp) /* 092980 80091D80 01EEC821 */ addu $t9, $t7, $t6 -/* 092984 80091D84 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092984 80091D84 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092988 80091D88 2408000C */ li $t0, 12 /* 09298C 80091D8C 8D470220 */ lw $a3, 0x220($t2) /* 092990 80091D90 01B82821 */ addu $a1, $t5, $t8 @@ -983,7 +983,7 @@ glabel render_track_select_setup_ui /* 09299C 80091D9C 24A50001 */ addiu $a1, $a1, 1 /* 0929A0 80091DA0 AFA80010 */ sw $t0, 0x10($sp) /* 0929A4 80091DA4 0C031110 */ jal draw_text -/* 0929A8 80091DA8 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 0929A8 80091DA8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 0929AC 80091DAC 240B00FF */ li $t3, 255 /* 0929B0 80091DB0 AFAB0010 */ sw $t3, 0x10($sp) /* 0929B4 80091DB4 240400FF */ li $a0, 255 @@ -999,7 +999,7 @@ glabel render_track_select_setup_ui /* 0929DC 80091DDC 864D0000 */ lh $t5, ($s2) /* 0929E0 80091DE0 8FB90080 */ lw $t9, 0x80($sp) /* 0929E4 80091DE4 030F7021 */ addu $t6, $t8, $t7 -/* 0929E8 80091DE8 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 0929E8 80091DE8 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 0929EC 80091DEC 240A000C */ li $t2, 12 /* 0929F0 80091DF0 8D270220 */ lw $a3, 0x220($t1) /* 0929F4 80091DF4 018D2821 */ addu $a1, $t4, $t5 @@ -1008,7 +1008,7 @@ glabel render_track_select_setup_ui /* 092A00 80091E00 24A5FFFF */ addiu $a1, $a1, -1 /* 092A04 80091E04 AFAA0010 */ sw $t2, 0x10($sp) /* 092A08 80091E08 0C031110 */ jal draw_text -/* 092A0C 80091E0C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092A0C 80091E0C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092A10 80091E10 0C01A142 */ jal func_80068508 /* 092A14 80091E14 24040001 */ li $a0, 1 /* 092A18 80091E18 0C01EFC7 */ jal func_8007BF1C @@ -1161,7 +1161,7 @@ glabel render_track_select_setup_ui /* 092C38 80092038 0C024AF8 */ jal func_80092BE0 /* 092C3C 8009203C 00000000 */ nop /* 092C40 80092040 04400013 */ bltz $v0, .L80092090 -/* 092C44 80092044 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092C44 80092044 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092C48 80092048 8FA70080 */ lw $a3, 0x80($sp) /* 092C4C 8009204C 8FCF0000 */ lw $t7, ($fp) /* 092C50 80092050 3C05800E */ lui $a1, %hi(D_800E0614) # $a1, 0x800e @@ -1172,14 +1172,14 @@ glabel render_track_select_setup_ui /* 092C64 80092064 AFAD0014 */ sw $t5, 0x14($sp) /* 092C68 80092068 AFB80010 */ sw $t8, 0x10($sp) /* 092C6C 8009206C 24A50614 */ addiu $a1, %lo(D_800E0614) # addiu $a1, $a1, 0x614 -/* 092C70 80092070 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092C70 80092070 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092C74 80092074 240600CC */ li $a2, 204 /* 092C78 80092078 24E7007A */ addiu $a3, $a3, 0x7a /* 092C7C 8009207C 0C01E2AE */ jal render_textured_rectangle /* 092C80 80092080 AFAF001C */ sw $t7, 0x1c($sp) -/* 092C84 80092084 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092C84 80092084 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092C88 80092088 0C01ECF4 */ jal func_8007B3D0 -/* 092C8C 8009208C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092C8C 8009208C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 .L80092090: /* 092C90 80092090 3C0E8012 */ lui $t6, %hi(D_801269C8) # $t6, 0x8012 /* 092C94 80092094 8DCE69C8 */ lw $t6, %lo(D_801269C8)($t6) @@ -1216,10 +1216,10 @@ glabel render_track_select_setup_ui /* 092D04 80092104 AFAA0010 */ sw $t2, 0x10($sp) /* 092D08 80092108 3C088012 */ lui $t0, %hi(D_801269C8) # $t0, 0x8012 /* 092D0C 8009210C 8D0869C8 */ lw $t0, %lo(D_801269C8)($t0) -/* 092D10 80092110 3C048012 */ lui $a0, %hi(D_801263A0) # $a0, 0x8012 +/* 092D10 80092110 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 /* 092D14 80092114 29010004 */ slti $at, $t0, 4 /* 092D18 80092118 14200005 */ bnez $at, .L80092130 -/* 092D1C 8009211C 248463A0 */ addiu $a0, %lo(D_801263A0) # addiu $a0, $a0, 0x63a0 +/* 092D1C 8009211C 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 /* 092D20 80092120 8FAB0080 */ lw $t3, 0x80($sp) /* 092D24 80092124 00000000 */ nop /* 092D28 80092128 25780018 */ addiu $t8, $t3, 0x18 diff --git a/asm/non_matchings/menu/tt_menu_loop.s b/asm/non_matchings/menu/tt_menu_loop.s index 14899740..4a51bbdb 100644 --- a/asm/non_matchings/menu/tt_menu_loop.s +++ b/asm/non_matchings/menu/tt_menu_loop.s @@ -542,8 +542,8 @@ glabel L8009E2E4 /* 09EEEC 8009E2EC 10000020 */ b .L8009E370 /* 09EEF0 8009E2F0 A02E64E2 */ sb $t6, %lo(sCurrentMenuID)($at) glabel L8009E2F4 -/* 09EEF4 8009E2F4 3C0B800E */ lui $t3, %hi(D_800E09D8) # $t3, 0x800e -/* 09EEF8 8009E2F8 256B09D8 */ addiu $t3, %lo(D_800E09D8) # addiu $t3, $t3, 0x9d8 +/* 09EEF4 8009E2F4 3C0B800E */ lui $t3, %hi(sNoControllerPakMenuText) # $t3, 0x800e +/* 09EEF8 8009E2F8 256B09D8 */ addiu $t3, %lo(sNoControllerPakMenuText) # addiu $t3, $t3, 0x9d8 /* 09EEFC 8009E2FC 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 /* 09EF00 8009E300 AC2B63A4 */ sw $t3, %lo(D_801263A4)($at) /* 09EF04 8009E304 3C018012 */ lui $at, %hi(sCurrentMenuID) # $at, 0x8012 @@ -551,8 +551,8 @@ glabel L8009E2F4 /* 09EF0C 8009E30C 10000018 */ b .L8009E370 /* 09EF10 8009E310 A02D64E2 */ sb $t5, %lo(sCurrentMenuID)($at) glabel L8009E314 -/* 09EF14 8009E314 3C0F800E */ lui $t7, %hi(D_800E09C4) # $t7, 0x800e -/* 09EF18 8009E318 25EF09C4 */ addiu $t7, %lo(D_800E09C4) # addiu $t7, $t7, 0x9c4 +/* 09EF14 8009E314 3C0F800E */ lui $t7, %hi(sControllerPakFullMenuText) # $t7, 0x800e +/* 09EF18 8009E318 25EF09C4 */ addiu $t7, %lo(sControllerPakFullMenuText) # addiu $t7, $t7, 0x9c4 /* 09EF1C 8009E31C 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 /* 09EF20 8009E320 AC2F63A4 */ sw $t7, %lo(D_801263A4)($at) /* 09EF24 8009E324 3C018012 */ lui $at, %hi(sCurrentMenuID) # $at, 0x8012 @@ -560,8 +560,8 @@ glabel L8009E314 /* 09EF2C 8009E32C 10000010 */ b .L8009E370 /* 09EF30 8009E330 A03864E2 */ sb $t8, %lo(sCurrentMenuID)($at) glabel L8009E334 -/* 09EF34 8009E334 3C19800E */ lui $t9, %hi(D_800E09EC) # $t9, 0x800e -/* 09EF38 8009E338 273909EC */ addiu $t9, %lo(D_800E09EC) # addiu $t9, $t9, 0x9ec +/* 09EF34 8009E334 3C19800E */ lui $t9, %hi(sCorruptDataMenuText) # $t9, 0x800e +/* 09EF38 8009E338 273909EC */ addiu $t9, %lo(sCorruptDataMenuText) # addiu $t9, $t9, 0x9ec /* 09EF3C 8009E33C 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 /* 09EF40 8009E340 AC3963A4 */ sw $t9, %lo(D_801263A4)($at) /* 09EF44 8009E344 3C018012 */ lui $at, %hi(sCurrentMenuID) # $at, 0x8012 @@ -570,8 +570,8 @@ glabel L8009E334 /* 09EF50 8009E350 A02964E2 */ sb $t1, %lo(sCurrentMenuID)($at) .L8009E354: glabel L8009E354 -/* 09EF54 8009E354 3C0A800E */ lui $t2, %hi(D_800E09B0) # $t2, 0x800e -/* 09EF58 8009E358 254A09B0 */ addiu $t2, %lo(D_800E09B0) # addiu $t2, $t2, 0x9b0 +/* 09EF54 8009E354 3C0A800E */ lui $t2, %hi(sBadControllerPakMenuText) # $t2, 0x800e +/* 09EF58 8009E358 254A09B0 */ addiu $t2, %lo(sBadControllerPakMenuText) # addiu $t2, $t2, 0x9b0 /* 09EF5C 8009E35C 3C018012 */ lui $at, %hi(D_801263A4) # $at, 0x8012 /* 09EF60 8009E360 AC2A63A4 */ sw $t2, %lo(D_801263A4)($at) /* 09EF64 8009E364 3C018012 */ lui $at, %hi(sCurrentMenuID) # $at, 0x8012 diff --git a/asm/non_matchings/save_data/func_8007306C.s b/asm/non_matchings/save_data/func_8007306C.s index 3b710778..4677b6e9 100644 --- a/asm/non_matchings/save_data/func_8007306C.s +++ b/asm/non_matchings/save_data/func_8007306C.s @@ -137,7 +137,7 @@ glabel func_8007306C /* 073E5C 8007325C 0C01CB15 */ jal func_80072C54 /* 073E60 80073260 24040010 */ li $a0, 16 /* 073E64 80073264 00408825 */ move $s1, $v0 -/* 073E68 80073268 0C01AC75 */ jal func_8006B1D4 +/* 073E68 80073268 0C01AC75 */ jal get_hub_area_id /* 073E6C 8007326C 02002025 */ move $a0, $s0 /* 073E70 80073270 8E4B0004 */ lw $t3, 4($s2) /* 073E74 80073274 00026080 */ sll $t4, $v0, 2 diff --git a/asm/non_matchings/save_data/func_800732E8.s b/asm/non_matchings/save_data/func_800732E8.s index a4f0ba48..5e48c219 100644 --- a/asm/non_matchings/save_data/func_800732E8.s +++ b/asm/non_matchings/save_data/func_800732E8.s @@ -109,7 +109,7 @@ glabel func_800732E8 /* 074070 80073470 19800010 */ blez $t4, .L800734B4 /* 074074 80073474 00000000 */ nop .L80073478: -/* 074078 80073478 0C01AC75 */ jal func_8006B1D4 +/* 074078 80073478 0C01AC75 */ jal get_hub_area_id /* 07407C 8007347C 02202025 */ move $a0, $s1 /* 074080 80073480 8E4D0004 */ lw $t5, 4($s2) /* 074084 80073484 00027080 */ sll $t6, $v0, 2 diff --git a/asm/non_matchings/unknown_032760/obj_loop_levelname.s b/asm/non_matchings/unknown_032760/obj_loop_levelname.s index 8d02cbd6..be1c6e56 100644 --- a/asm/non_matchings/unknown_032760/obj_loop_levelname.s +++ b/asm/non_matchings/unknown_032760/obj_loop_levelname.s @@ -56,7 +56,7 @@ glabel obj_loop_levelname /* 043760 80042B60 18400058 */ blez $v0, .L80042CC4 /* 043764 80042B64 8FBF0024 */ lw $ra, 0x24($sp) /* 043768 80042B68 86040004 */ lh $a0, 4($s0) -/* 04376C 80042B6C 0C01AF77 */ jal func_8006BDDC +/* 04376C 80042B6C 0C01AF77 */ jal get_level_name /* 043770 80042B70 00000000 */ nop /* 043774 80042B74 AFA2002C */ sw $v0, 0x2c($sp) /* 043778 80042B78 00402025 */ move $a0, $v0 diff --git a/include/structs.h b/include/structs.h index 1f0fc3bd..88e986ce 100644 --- a/include/structs.h +++ b/include/structs.h @@ -26,12 +26,12 @@ typedef struct MenuElement { // Element Type /* 0x13 */ u8 elementType; // Source type? 0 = ascii text, 2 = number, 7 = texture union { - /* 0x14 */ char* asciiText; // Pointer to ascii text to be displayed on the screen. - /* 0x14 */ u32* texture; // Pointer to texture to be displayed on the screen. - /* 0x14 */ s32* number; // Pointer to a number to be displayed on the screen. - /* 0x14 */ u16* numberU16; // Pointer to a number to be displayed on the screen. + /* 0x14 */ void *element; // Generic pointer + /* 0x14 */ char *asciiText; // Pointer to ascii text to be displayed on the screen. + /* 0x14 */ u32 *texture; // Pointer to texture to be displayed on the screen. + /* 0x14 */ s32 *number; // Pointer to a number to be displayed on the screen. + /* 0x14 */ u16 *numberU16; // Pointer to a number to be displayed on the screen. /* 0x14 */ s32 value; // Some value for elementType == 5 - /* 0x14 */ void* element; // Generic pointer } unk14_a; // Element Background Color/Transparency /* 0x18 */ s16 backgroundRed; diff --git a/src/camera.c b/src/camera.c index a9c07ac9..71ed06bd 100644 --- a/src/camera.c +++ b/src/camera.c @@ -581,7 +581,7 @@ UNUSED void copy_framebuffer_size_to_coords(s32 *x1, s32 *y1, s32 *x2, s32 *y2) #define SCISSOR_INTERLACE G_SC_NON_INTERLACE -void func_80066CDC(Gfx **dlist, s32 arg1) { +void func_80066CDC(Gfx **dlist, Gfx **arg1) { u32 sp58; u32 sp54; u32 sp4C; @@ -1016,8 +1016,9 @@ u16 get_buttons_held_from_player(s32 player) { /** * Returns the buttons that are newly pressed during that frame. + * NOTE: This was a u16, but we only got a match in menu_ghost_data_loop when it was a u32 for some reason */ -u16 get_buttons_pressed_from_player(s32 player) { +u32 get_buttons_pressed_from_player(s32 player) { return sControllerButtonsPressed[sPlayerID[player]]; } diff --git a/src/camera.h b/src/camera.h index b587e68e..ae90d61c 100644 --- a/src/camera.h +++ b/src/camera.h @@ -113,7 +113,7 @@ UNUSED void calculate_camera_perspective(void); Matrix *func_80066204(void); s32 get_viewport_count(void); s32 func_80066220(void); -void func_80066CDC(Gfx **dlist, s32 arg1); +void func_80066CDC(Gfx **dlist, Gfx **arg1); void func_80066230(Gfx **dlist, s32 arg1); f32 func_80066348(f32 arg0, f32 arg1, f32 arg2); void func_800663DC(s32 xPos, s32 yPos, s32 zPos, s32 arg3, s32 arg4, s32 arg5); @@ -130,7 +130,6 @@ void set_viewport_properties(s32 viewPortIndex, s32 x1, s32 x2, s32 y1, s32 y2); s32 copy_viewport_background_size_to_coords(s32 viewPortIndex, s32 *x1, s32 *y1, s32 *x2, s32 *y2); void copy_viewport_frame_size_to_coords(s32 viewPortIndex, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4); void copy_framebuffer_size_to_coords(s32 *x1, s32 *y1, s32 *x2, s32 *y2); -void func_80066CDC(Gfx **dlist, s32 arg1); void set_ortho_matrix_height(f32 value); void func_80067F2C(Gfx **dlist, s32 *arg1); void func_8006807C(Gfx **dlist, s32 *arg1); @@ -154,7 +153,7 @@ void assign_player_ids(s8 *activePlayers); u8 get_player_id(s32 player); void swap_player_1_and_2_ids(void); u16 get_buttons_held_from_player(s32 player); -u16 get_buttons_pressed_from_player(s32 player); +u32 get_buttons_pressed_from_player(s32 player); UNUSED u16 get_buttons_released_from_player(s32 player); s32 clamp_joystick_x_axis(s32 player); s32 clamp_joystick_y_axis(s32 player); @@ -163,5 +162,7 @@ void disable_button_mask(void); // Non Matching void func_80067A3C(Gfx **dlist); +void func_80066610(void); +void func_80066CDC(Gfx **dlist, Gfx **arg1); #endif diff --git a/src/game.c b/src/game.c index 739cf265..85c23070 100644 --- a/src/game.c +++ b/src/game.c @@ -119,7 +119,7 @@ extern s32 gShowControllerPakMenu; s32 *gTempAssetTable; s32 D_80121164; LevelHeader *gCurrentLevelHeader; -u8 **D_8012116C; +u8 **gLevelNames; s32 gNumberOfLevelHeaders; s32 gNumberOfWorlds; @@ -230,11 +230,11 @@ void func_8006A6B0(void) { count--; temp = gTempAssetTable[count] - gTempAssetTable[0]; // Minor issue here. - D_8012116C = allocate_from_main_pool_safe(count * sizeof(s32), COLOR_TAG_YELLOW); + gLevelNames = allocate_from_main_pool_safe(count * sizeof(s32), COLOR_TAG_YELLOW); D_800DD310 = allocate_from_main_pool_safe(temp, COLOR_TAG_YELLOW); load_asset_to_address(ASSET_LEVEL_NAMES, D_800DD310, 0, temp); for (i = 0; i < count; i++) { - D_8012116C[i] = &D_800DD310[gTempAssetTable[i]]; + gLevelNames[i] = &D_800DD310[gTempAssetTable[i]]; } free_from_memory_pool(gTempAssetTable); @@ -320,15 +320,15 @@ s8 func_8006B190(s32 arg0) { return 0; } -s32 func_8006B1D4(s32 arg0) { - s8 *temp; +s32 get_hub_area_id(s32 worldId) { + s8 *hubAreaIds; - if (arg0 < 0 || arg0 >= gNumberOfWorlds) { - arg0 = 0; + if (worldId < 0 || worldId >= gNumberOfWorlds) { + worldId = 0; } - temp = get_misc_asset(0x1B); + hubAreaIds = get_misc_asset(27); //hub_area_ids - return temp[arg0]; + return hubAreaIds[worldId]; } void get_number_of_levels_and_worlds(s32 *outLevelCount, s32 *outWorldCount) { @@ -619,39 +619,42 @@ u8 func_8006BDC0(void) { return gNumberOfLevelHeaders - 1; } -u8 *func_8006BDDC(s32 arg0) { - u8 *text; +/** + * Returns the name of the level from the passed ID + */ +u8 *get_level_name(s32 levelId) { + u8 *levelName; u8 numberOfNullPointers = 0; - if (arg0 < 0 || arg0 >= gNumberOfLevelHeaders) { + if (levelId < 0 || levelId >= gNumberOfLevelHeaders) { return NULL; } - text = D_8012116C[arg0]; + levelName = gLevelNames[levelId]; switch (get_language()) { case GERMAN: while (numberOfNullPointers < 1) { - if (*(text++) == 0) { + if (*(levelName++) == 0) { numberOfNullPointers++; } } break; case FRENCH: while (numberOfNullPointers < 2) { - if (*(text++) == 0) { + if (*(levelName++) == 0) { numberOfNullPointers++; } } break; case JAPANESE: while (numberOfNullPointers < 3) { - if (*(text++) == 0) { + if (*(levelName++) == 0) { numberOfNullPointers++; } } break; } - return text; + return levelName; } void func_8006BEFC(void) { diff --git a/src/game.h b/src/game.h index ce69ca8a..319c84f2 100644 --- a/src/game.h +++ b/src/game.h @@ -111,7 +111,7 @@ s32 func_8006B0AC(s32 arg0); s32 func_8006B0F8(s32 arg0); s8 func_8006B14C(s32 arg0); s8 func_8006B190(s32 arg0); -s32 func_8006B1D4(s32 arg0); +s32 get_hub_area_id(s32 worldId); void get_number_of_levels_and_worlds(s32 *outLevelCount, s32 *outWorldCount); s32 func_8006B240(void); void func_8006BD10(f32 arg0); @@ -119,7 +119,7 @@ s32 func_8006BD88(void); u8 get_current_level_race_type(void); LevelHeader *get_current_level_header(void); u8 func_8006BDC0(void); -u8 *func_8006BDDC(s32 arg0); +u8 *get_level_name(s32 levelId); void func_8006BEFC(void); void func_8006BFC8(s8 *arg0); void func_8006C164(void); diff --git a/src/game_text.h b/src/game_text.h index a73eb8d9..e0edf3c4 100644 --- a/src/game_text.h +++ b/src/game_text.h @@ -34,5 +34,6 @@ s32 func_800C3400(void); void func_800C3440(s32 arg0); void func_800C31EC(s32); //Non Matching +s32 func_800C3564(void); //Non Matching #endif diff --git a/src/menu.c b/src/menu.c index 1630499a..64fba0b5 100644 --- a/src/menu.c +++ b/src/menu.c @@ -26,6 +26,7 @@ #include "save_data.h" #include "object_functions.h" #include "unknown_003260.h" +#include "racer.h" /** * @file Contains all the code used for every menu in the game. @@ -40,11 +41,11 @@ DrawTexture *D_80126390; DrawTexture *D_80126394; s32 D_80126398; s32 D_8012639C; -Gfx *D_801263A0; +Gfx *sMenuCurrDisplayList; char **D_801263A4; -Gfx *D_801263A8; -VertexList *D_801263AC; -s32 *D_801263B0; +Gfx *sMenuCurrHudMat; +VertexList *sMenuCurrHudVerts; +TriangleList *sMenuCurrHudTris; unk801263C0 D_801263B4; unk801263C0 D_801263B8; s32 D_801263BC; @@ -52,7 +53,7 @@ unk801263C0 D_801263C0; s32 gIgnorePlayerInput; UNUSED s32 sUnused_801263C8; // Set to 0 in menu_init, and never again. -unk801263CC (*D_801263CC)[8]; +unk801263CC (*D_801263CC)[8]; //Some sort of character list? Cares if T.T. and Drumstick are unlocked s32 D_801263D0; s8 gActivePlayersArray[4]; @@ -140,7 +141,7 @@ s8 D_80126540; s8 D_80126541; s32 D_80126544; s32 gMultiplayerSelectedNumberOfRacersCopy; // Saved version gMultiplayerSelectedNumberOfRacers? -u32 *D_80126550[67]; // lookup table? TEXTURES +TextureHeader *D_80126550[67]; // lookup table? TEXTURES s32 D_8012665C; s32 D_80126660; s32 D_80126664; @@ -150,7 +151,7 @@ s32 D_801267D0; s32 D_801267D4; s32 D_801267D8[3]; s32 D_801267E4; -s32 D_801267E8; +s32 D_801267E8; //Holds a value of which button was pressed s8 *D_801267EC; s32 D_801267F0[5]; s32 D_80126804; @@ -179,7 +180,7 @@ s32 D_80126864; s16 D_80126868; s32 D_8012686C; f32 D_80126870; -s8 *D_80126874; +TitleScreenDemos *sTitleScreenDemoIds; //Misc Asset 66 - title_screen_demo_ids.bin - 12 or 13 values. s32 D_80126878[24]; f32 D_801268D8; s32 D_801268DC; @@ -206,14 +207,14 @@ s32 D_801269F4; s32 D_801269F8; s32 *D_801269FC; s32 D_80126A00; -unk800860A8 *D_80126A04; +unk800860A8 *D_80126A04; //Shares it's allocation with D_80126A0C s32 D_80126A08; -s32 D_80126A0C; +s32 D_80126A0C; //Allocated 2560 bytes in menu_save_options_init. Possibly an array of 2 large structs. s32 D_80126A10; s32 D_80126A14; s32 D_80126A18; s32 D_80126A1C; -s32 D_80126A20[MAXCONTROLLERS]; // Looks to be an array for number notes free in each controller memory pak +s32 sControllerPakNotesFree[MAXCONTROLLERS]; // Looks to be an array for number notes free in each controller memory pak u8 sControllerPakIssueNotFound[MAXCONTROLLERS]; //Flag to see if there's no known issues for the given controller pak u8 sControllerPakFatalErrorFound[MAXCONTROLLERS]; //Flag to see if there's a fatal error for the given controller pak u8 sControllerPakNoFreeSpace[MAXCONTROLLERS]; //Flag to see if there's no free space for the given controller pak @@ -345,27 +346,27 @@ s32 D_800DF4F0[] = { //MenuElement? unk800DF510 sMenuImageProperties[18] = { - { 0, 0, 0, 0x00, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x01, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x02, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x03, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x05, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x06, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x07, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x04, 0.125f, 0.0f, -40.0f, -500.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x5B, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x5C, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x42, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x40, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x41, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x4C, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x4D, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x4E, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x4F, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x5D, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }, + { 0, 0, 0, 0x00, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x01, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x02, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x03, 1.0f, 0.0f, 0.0f, -32.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x05, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x06, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x07, 0.215f, 0.0f, 0.0f, -500.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x04, 0.125f, 0.0f, -40.0f, -500.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x5B, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x5C, 0.75f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x42, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x40, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x41, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x4C, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x4D, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x4E, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x4F, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, + { 0, 0, 0, 0x5D, 1.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, { 0 } }, }; -s16 *D_800DF750[1] = { NULL }; // This is probably not correct. +s16 *gAssetsMenuElementIds[1] = { NULL }; // This is probably not correct. s16 D_800DF754 = 0; s16 D_800DF758 = 0; unk800DF510 *gMenuImageStack = NULL; @@ -544,6 +545,8 @@ s16 D_800DFDC8[2] = { -1, 0 }; s16 D_800DFDCC[2] = { -1, 0 }; // Not sure what this is +// Used for D_801263CC when Neither T.T. Nor Drumstick are unlocked +// unk801263CC s32 D_800DFDD0[28] = { 0xFFFF04FF, 0xFFFFFFFF, 0x010203FF, 0x0000FFFF, 0x05FF00FF, 0xFFFF0203, 0xFFFF0009, 0xFFFF06FF, @@ -555,6 +558,8 @@ s32 D_800DFDD0[28] = { }; // Not sure what this is +// Used for D_801263CC when only Drumstick is unlocked +// unk801263CC s32 D_800DFE40[32] = { 0xFFFF04FF, 0xFFFFFFFF, 0x01080203, 0x0000FFFF, 0x040500FF, 0xFFFF0802, 0x03FF0009, 0xFFFF0607, @@ -567,6 +572,8 @@ s32 D_800DFE40[32] = { }; // Not sure what this is +// Used for D_801263CC when only T.T. is unlocked +// unk801263CC s32 D_800DFEC0[32] = { 0xFFFF04FF, 0xFFFFFFFF, 0x010203FF, 0x0000FFFF, 0x050800FF, 0xFFFF0203, 0xFFFF0009, 0xFFFF0806, @@ -579,6 +586,8 @@ s32 D_800DFEC0[32] = { }; // Not sure what this is +// Used for D_801263CC when both T.T. and Drumstick are unlocked +// unk801263CC s32 D_800DFF40[36] = { 0xFFFF04FF, 0xFFFFFFFF, 0x01080203, 0x0000FFFF, 0x05FF00FF, 0xFFFF0802, 0x03FF0009, 0xFFFF06FF, @@ -853,7 +862,7 @@ s16 D_800E0840[148] = { s32 D_800E0968 = 0; s32 D_800E096C = 0; -s32 D_800E0970 = 0; +s32 *D_800E0970 = NULL; s32 D_800E0974 = 0; const f32 D_800E7D04[1] = { 0.5f }; // .rodata f32 *D_800E0978 = D_800E7D04; // .data @@ -877,14 +886,27 @@ ColourRGBA D_800E09A0[4] = { { 0, 0, 255, 128 }, }; -char *D_800E09B0[5] = { 0, 0, 0, 0, 0 }; -char *D_800E09C4[5] = { 0, 0, 0, 0, 0 }; -char *D_800E09D8[5] = { 0, 0, 0, 0, 0 }; -char *D_800E09EC[3] = { 0, 0, 0 }; +// BAD CONTROLLER PAK / If you wish to change / Controller Pak or Rumble Pak, / please do so now. +char *sBadControllerPakMenuText[5] = { 0, 0, 0, 0, 0 }; + +// CONTROLLER PAK FULL / If you wish to change / Controller Pak or Rumble Pak, / please do so now. +char *sControllerPakFullMenuText[5] = { 0, 0, 0, 0, 0 }; + +// NO CONTROLLER PAK / If you wish to change / Controller Pak or Rumble Pak, / please do so now. +char *sNoControllerPakMenuText[5] = { 0, 0, 0, 0, 0 }; + +// CORRUPT DATA / If you wish to change / Controller Pak or Rumble Pak, / please do so now. +char *sCorruptDataMenuText[3] = { 0, 0, 0 }; // This should be 5 in size? This is unclear still. + char *D_800E09F8[3] = { 0, 0, 0 }; -char *D_800E0A04[3] = { 0, 0, 0 }; + +// If you wish to use / the Controller Pak / insert it now! +char *sInsertControllerPakMenuText[3] = { 0, 0, 0 }; + s16 D_800E0A10 = 0; -char *D_800E0A14[4] = { 0, 0, 0, 0 }; + +//If you wish to use / the Rumble Pak / insert it now! +char *sInsertRumblePakMenuText[4] = { 0, 0, 0, 0 }; s16 D_800E0A24[14] = { 0x0005, 0x003B, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0039, 0x0037, 0x0038, 0x003A, 0x0000, 0x0001, 0xFFFF @@ -948,33 +970,31 @@ char *gRacePlacementsArray[8] = { }; MenuElement D_800E0BEC[8] = { - { 352, 172, 32, 172, -288, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 452, 166, 132, 166, -188, 166, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, - { 560, 184, 240, 184, -80, 184, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, - { 452, 180, 132, 180, -188, 180, 255, 192, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, - { 452, 198, 132, 198, -188, 198, 255, 192, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, - { 452, 216, 132, 216, -188, 216, 255, 192, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, - { 560, 200, 240, 200, -80, 200, 128, 255, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { NULL }, 0, 0, 0, 0 }, + { 352, 172, 32, 172, -288, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 452, 166, 132, 166, -188, 166, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, + { 560, 184, 240, 184, -80, 184, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, + { 452, 180, 132, 180, -188, 180, 255, 192, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, + { 452, 198, 132, 198, -188, 198, 255, 192, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, + { 452, 216, 132, 216, -188, 216, 255, 192, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, + { 560, 200, 240, 200, -80, 200, 128, 255, 255, 0, 255, 0, 0, 1, { NULL }, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { NULL }, 0, 0, 0, 0 }, }; MenuElement D_800E0CEC[11] = { - { 575, 172, 255, 172, -65, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 542, 172, 222, 172, -98, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 509, 172, 189, 172, -131, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 476, 172, 156, 172, -164, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 443, 172, 123, 172, -197, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 410, 172, 90, 172, -230, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 377, 172, 57, 172, -263, 172, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 344, 172, 24, 172, -296, 166, 255, 255, 255, 0, 255, 0, 0, 3, { D_800E0A50 }, 0, 0, 0, 0 }, - { 481, 166, 161, 166, -159, 166, 0, 0, 0, 255, 128, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, - { 479, 164, 159, 164, -161, 164, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { NULL }, 0, 0, 0, 0 }, + { 575, 172, 255, 172, -65, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 542, 172, 222, 172, -98, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 509, 172, 189, 172, -131, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 476, 172, 156, 172, -164, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 443, 172, 123, 172, -197, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 410, 172, 90, 172, -230, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 377, 172, 57, 172, -263, 172, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 344, 172, 24, 172, -296, 166, 255, 255, 255, 0, 255, 0, 0, 3, { &D_800E0A50 }, 0, 0, 0, 0 }, + { 481, 166, 161, 166, -159, 166, 0, 0, 0, 255, 128, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, + { 479, 164, 159, 164, -161, 164, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, { NULL }, 0, 0, 0, 0 }, }; - - MenuElement D_800E0E4C[9] = { { 481, 174, 161, 174, -159, 174, 0, 0, 0, 255, 128, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, { 479, 172, 159, 172, -161, 172, 255, 255, 255, 0, 255, 0, 12, 0, { NULL }, 0, 0, 0, 0 }, @@ -1016,7 +1036,7 @@ s16 D_800E0FD8[6] = { s32 D_800E0FE4 = 8; // Number of racers in trophy race? (1 to 8) s32 gTrophyRaceWorldId = 0; -s32 D_800E0FEC = 0; // Trophy race round? (0 to 3) +s32 gTrophyRaceRound = 0; // Rounds 1 - 4 (as 0 - 3) s32 D_800E0FF0 = 0; // Unused? Not sure what this is. @@ -1597,31 +1617,31 @@ void load_menu_text(s32 language) { gGameSelectTextElemsWithAdv2[3].unk14_a.asciiText = gMenuText[142]; // ADVENTURE gGameSelectTextElemsWithAdv2[5].unk14_a.asciiText = gMenuText[143]; // ADVENTURE TWO gGameSelectTextElemsWithAdv2[7].unk14_a.asciiText = gMenuText[144]; // TRACKS - D_800E09B0[0] = gMenuText[69]; // BAD CONTROLLER PAK - D_800E09C4[0] = gMenuText[68]; // CONTROLLER PAK FULL - D_800E09D8[0] = gMenuText[67]; // NO CONTROLLER PAK - D_800E09EC[4] = 0; - D_800E09EC[5] = 0; - D_800E09EC[0] = gMenuText[184]; // CORRUPT DATA. + sBadControllerPakMenuText[0] = gMenuText[69]; // BAD CONTROLLER PAK + sControllerPakFullMenuText[0] = gMenuText[68]; // CONTROLLER PAK FULL + sNoControllerPakMenuText[0] = gMenuText[67]; // NO CONTROLLER PAK + sCorruptDataMenuText[4] = 0; + sCorruptDataMenuText[5] = 0; + sCorruptDataMenuText[0] = gMenuText[184]; // CORRUPT DATA. //Three messages //If you wish to change / Controller Pak or Rumble Pak, / please do so now. for (i = 0; i < 2; i++) { - D_800E09B0[i + 1] = gMenuText[177 + i]; - D_800E09C4[i + 1] = gMenuText[177 + i]; - D_800E09D8[i + 1] = gMenuText[177 + i]; - D_800E09EC[i + 1] = gMenuText[177 + i]; + sBadControllerPakMenuText[i + 1] = gMenuText[177 + i]; + sControllerPakFullMenuText[i + 1] = gMenuText[177 + i]; + sNoControllerPakMenuText[i + 1] = gMenuText[177 + i]; + sCorruptDataMenuText[i + 1] = gMenuText[177 + i]; } j = 0; - while (D_800E09EC[j] != 0) { + while (sCorruptDataMenuText[j] != 0) { j++; } - D_800E09EC[j] = gMenuText[185]; // TRY AGAIN! - D_800E0A04[0] = gMenuText[159]; // If you wish to use - D_800E0A04[1] = gMenuText[160]; // the Controller Pak - D_800E0A04[2] = gMenuText[162]; // insert it now! - D_800E0A14[0] = gMenuText[159]; // If you wish to use - D_800E0A14[1] = gMenuText[161]; // the Rumble Pak - D_800E0A14[2] = gMenuText[162]; // insert it now! + sCorruptDataMenuText[j] = gMenuText[185]; // TRY AGAIN! + sInsertControllerPakMenuText[0] = gMenuText[159]; // If you wish to use + sInsertControllerPakMenuText[1] = gMenuText[160]; // the Controller Pak + sInsertControllerPakMenuText[2] = gMenuText[162]; // insert it now! + sInsertRumblePakMenuText[0] = gMenuText[159]; // If you wish to use + sInsertRumblePakMenuText[1] = gMenuText[161]; // the Rumble Pak + sInsertRumblePakMenuText[2] = gMenuText[162]; // insert it now! gCautionMenuTextElements[0].unk14_a.asciiText = gMenuText[152]; // CAUTION gCautionMenuTextElements[1].unk14_a.asciiText = gMenuText[152]; // CAUTION for (i = 2; i < 13; i++) { @@ -1788,81 +1808,82 @@ void menu_init(u32 menuId) { /** * Runs every frame. Calls the loop function of the current menu id */ -s32 menu_loop(Gfx **arg0, s32 **arg1, s32 **arg2, s32 **arg3, s32 updateRate) { - s32 sp1C; +s32 menu_loop(Gfx **currDisplayList, Gfx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate) { + s32 ret; + + sMenuCurrDisplayList = *currDisplayList; + sMenuCurrHudMat = *currHudMat; + sMenuCurrHudVerts = *currHudVerts; + sMenuCurrHudTris = *currHudTris; - D_801263A0 = *arg0; - D_801263A8 = *arg1; - D_801263AC = *arg2; - D_801263B0 = *arg3; update_controller_sticks(); switch (gCurrentMenuId) { case MENU_LOGOS: - sp1C = menu_logo_screen_loop(updateRate); + ret = menu_logo_screen_loop(updateRate); break; case MENU_TITLE: - sp1C = menu_title_screen_loop(updateRate); + ret = menu_title_screen_loop(updateRate); break; case MENU_OPTIONS: - sp1C = menu_options_loop(updateRate); + ret = menu_options_loop(updateRate); break; case MENU_AUDIO_OPTIONS: - sp1C = menu_audio_options_loop(updateRate); + ret = menu_audio_options_loop(updateRate); break; case MENU_SAVE_OPTIONS: - sp1C = menu_save_options_loop(updateRate); + ret = menu_save_options_loop(updateRate); break; case MENU_MAGIC_CODES: - sp1C = menu_magic_codes_loop(updateRate); + ret = menu_magic_codes_loop(updateRate); break; case MENU_MAGIC_CODES_LIST: - sp1C = menu_magic_codes_list_loop(updateRate); + ret = menu_magic_codes_list_loop(updateRate); break; case MENU_CHARACTER_SELECT: - sp1C = menu_character_select_loop(updateRate); + ret = menu_character_select_loop(updateRate); break; case MENU_FILE_SELECT: - sp1C = menu_file_select_loop(updateRate); + ret = menu_file_select_loop(updateRate); break; case MENU_GAME_SELECT: - sp1C = menu_game_select_loop(updateRate); + ret = menu_game_select_loop(updateRate); break; case MENU_TRACK_SELECT: - sp1C = menu_track_select_loop(updateRate); + ret = menu_track_select_loop(updateRate); break; case MENU_UNKNOWN_5: - sp1C = menu_5_loop(updateRate); + ret = menu_5_loop(updateRate); break; case MENU_RESULTS: - sp1C = menu_results_loop(updateRate); + ret = menu_results_loop(updateRate); break; case MENU_TROPHY_RACE_ROUND: - sp1C = menu_trophy_race_round_loop(updateRate); + ret = menu_trophy_race_round_loop(updateRate); break; case MENU_TROPHY_RACE_RANKINGS: - sp1C = menu_trophy_race_rankings_loop(updateRate); + ret = menu_trophy_race_rankings_loop(updateRate); break; case MENU_UNKNOWN_23: - sp1C = menu_23_loop(updateRate); + ret = menu_23_loop(updateRate); break; case MENU_GHOST_DATA: - sp1C = menu_ghost_data_loop(updateRate); + ret = menu_ghost_data_loop(updateRate); break; case MENU_CREDITS: - sp1C = menu_credits_loop(updateRate); + ret = menu_credits_loop(updateRate); break; case MENU_BOOT: - sp1C = menu_boot_loop(updateRate); + ret = menu_boot_loop(updateRate); break; case MENU_CAUTION: - sp1C = menu_caution_loop(updateRate); + ret = menu_caution_loop(updateRate); break; } - *arg0 = (Gfx *)D_801263A0; - *arg1 = (s32 *)D_801263A8; - *arg2 = (s32 *)D_801263AC; - *arg3 = (s32 *)D_801263B0; - return sp1C; + *currDisplayList = sMenuCurrDisplayList; + *currHudMat = sMenuCurrHudMat; + *currHudVerts = sMenuCurrHudVerts; + *currHudTris = sMenuCurrHudTris; + return ret; } void func_80081800(s32 arg0, s32 arg1, s32 arg2, u8 arg3, u8 arg4, u8 arg5, u8 arg6) { @@ -1963,7 +1984,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { s5 = FALSE; if (arg0 != 4) { - func_80067F2C(&D_801263A0, (s32 *)&D_801263A8); + func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat); while (elem->unk14_a.element != NULL) { if (&D_80126850 != elem->unk14_a.element) { if (arg0 == 0) { @@ -1989,12 +2010,12 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { set_text_background_colour(elem->backgroundRed, elem->backgroundGreen, elem->backgroundBlue, elem->backgroundAlpha); set_text_colour(elem->filterRed, elem->filterGreen, elem->filterBlue, elem->filterAlpha, elem->opacity); set_text_font(elem->textFont); - draw_text(&D_801263A0, xPos, yPos + D_800DF79C, elem->unk14_a.asciiText, elem->textAlignFlags); + draw_text(&sMenuCurrDisplayList, xPos, yPos + D_800DF79C, elem->unk14_a.asciiText, elem->textAlignFlags); break; case 1: if (s5) { s5 = FALSE; - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); } sMenuGuiOpacity = elem->opacity; func_80081800( @@ -2009,7 +2030,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { case 2: if (s5) { s5 = FALSE; - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); } func_80081C04( *elem->unk14_a.number, @@ -2025,7 +2046,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { case 3: s5 = TRUE; render_textured_rectangle( - &D_801263A0, + &sMenuCurrDisplayList, elem->unk14_a.texture, xPos, yPos + D_800DF79C, @@ -2037,7 +2058,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { case 4: s5 = TRUE; render_texture_rectangle_scaled( - &D_801263A0, + &sMenuCurrDisplayList, elem->unk14_a.element, xPos, yPos + D_800DF79C, @@ -2049,7 +2070,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { case 5: if (s5) { s5 = FALSE; - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); } func_80068508(1); func_8007BF1C(0); @@ -2071,7 +2092,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { break; case 6: func_80080E90( - &D_801263A0, + &sMenuCurrDisplayList, xPos, yPos + D_800DF7A0, elem->backgroundRed, @@ -2085,7 +2106,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { break; case 7: func_80080580( - &D_801263A0, + &sMenuCurrDisplayList, xPos, yPos + D_800DF7A0, elem->backgroundRed, @@ -2100,7 +2121,7 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2) { elem++; // Go onto the next element. } if (s5) { - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); } sMenuGuiColourR = 0xFF; sMenuGuiColourG = 0xFF; @@ -2141,7 +2162,7 @@ void func_800828B8(void) { } } -void print_missing_controller_text(Gfx *dl, s32 updateRate) { +void print_missing_controller_text(Gfx **dl, s32 updateRate) { s32 posY; D_800DF46C += updateRate; @@ -2174,7 +2195,7 @@ void menu_logos_screen_init(void) { func_80066940(0, 0, 40, SCREEN_WIDTH, SCREEN_HEIGHT - 44); set_viewport_properties(0, VIEWPORT_AUTO, VIEWPORT_AUTO, SCREEN_WIDTH, SCREEN_HEIGHT); } - func_80066610(); + func_80066610(); //Init viewports func_80066818(0, 1); } @@ -2222,10 +2243,10 @@ s32 menu_logo_screen_loop(s32 updateRate) { } if (opacity != 0) { set_text_colour(0xFF, 0xFF, 0, 0xFF, opacity); - draw_text(&D_801263A0, 159, yOffset + 212, gRareCopyrightString, 0xC); - draw_text(&D_801263A0, 161, yOffset + 212, gRareCopyrightString, 0xC); - draw_text(&D_801263A0, POS_CENTRED, yOffset + 211, gRareCopyrightString, 0xC); - draw_text(&D_801263A0, POS_CENTRED, yOffset + 213, gRareCopyrightString, 0xC); + draw_text(&sMenuCurrDisplayList, 159, yOffset + 212, gRareCopyrightString, 0xC); + draw_text(&sMenuCurrDisplayList, 161, yOffset + 212, gRareCopyrightString, 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, yOffset + 211, gRareCopyrightString, 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, yOffset + 213, gRareCopyrightString, 0xC); } yOffsetShadow = yOffset + 212; if (sBootScreenTimer > 8.0) { @@ -2234,7 +2255,7 @@ s32 menu_logo_screen_loop(s32 updateRate) { opacity = 0xFF; } set_text_colour(0xFF, 0xFF, 0xFF, 0xFF, opacity); - draw_text(&D_801263A0, POS_CENTRED, yOffsetShadow, gRareCopyrightString, 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, yOffsetShadow, gRareCopyrightString, 0xC); } return 0; } @@ -2264,7 +2285,7 @@ GLOBAL_ASM("asm/non_matchings/menu/func_80083098.s") void menu_title_screen_init(void) { s32 i; - s32 temp; + s32 numberOfPlayers; UNUSED s8 *tempArr; D_800DF488 = 1; @@ -2296,14 +2317,14 @@ void menu_title_screen_init(void) { func_80000890(0); set_time_trial_enabled(FALSE); D_80126864 = 0; - D_80126874 = get_misc_asset(0x42); - temp = D_80126874[1]; + sTitleScreenDemoIds = (TitleScreenDemos *)get_misc_asset(66); + numberOfPlayers = sTitleScreenDemoIds->numberOfPlayers; D_80126868 = 0; - if (temp == -2) { - temp = 0; + if (numberOfPlayers == -2) { + numberOfPlayers = 0; D_80126868 = 0x258; } - load_level_for_menu(D_80126874[0], temp, D_80126874[2]); + load_level_for_menu(sTitleScreenDemoIds->levelId, numberOfPlayers, sTitleScreenDemoIds->cutsceneId); D_801268D8 = 0; D_801268E0 = 0; D_801268DC = 0; @@ -2343,9 +2364,9 @@ void func_800841B8(UNUSED s32 arg0) { set_text_font(FONT_LARGE); set_text_background_colour(0, 0, 0, 0); set_text_colour(0, 0, 0, 255, 128); - draw_text(&D_801263A0, 161, 35, gMenuText[36], 0xC); // OPTIONS + draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[36], 0xC); // OPTIONS set_text_colour(255, 255, 255, 0, 255); - draw_text(&D_801263A0, 160, 32, gMenuText[36], 0xC); // OPTIONS + draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[36], 0xC); // OPTIONS optionMenuTextIndex = 0; yPos = 76; @@ -2362,7 +2383,7 @@ void func_800841B8(UNUSED s32 arg0) { alpha = 0; } set_text_colour(255, 255, 255, alpha, 255); - draw_text(&D_801263A0, POS_CENTRED, yPos, gOptionMenuStrings[optionMenuTextIndex], 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, yPos, gOptionMenuStrings[optionMenuTextIndex], 0xC); optionMenuTextIndex++; yPos += 28; @@ -2691,7 +2712,7 @@ void menu_save_options_init(void) { D_801263D8 = 0; D_80126A64 = (s32)allocate_from_main_pool_safe(0x800, COLOR_TAG_WHITE); D_80126A0C = (s32)allocate_from_main_pool_safe(0xA00, COLOR_TAG_WHITE); - D_80126A04 = (s32)(D_80126A0C + 0x500); + D_80126A04 = (unk800860A8 *)(D_80126A0C + 0x500); D_80126A08 = 0; D_80126BD4 = 0; D_80126BDC = 0.0f; @@ -2716,27 +2737,28 @@ void menu_save_options_init(void) { GLOBAL_ASM("asm/non_matchings/menu/func_800853D0.s") GLOBAL_ASM("asm/non_matchings/menu/func_80085B9C.s") -s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 arg4) { +s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 fileSize, UNUSED s32 arg5) { s32 ret = 0; if (*arg1 != 0) { - ret = get_free_space(controllerIndex, &arg2[*arg3].unkC, &D_80126A20[controllerIndex]); - if (ret == 0) { - if ((arg2[*arg3].unkC >= arg4) && (D_80126A20[controllerIndex] > 0)) { - arg2[*arg3].unk0 = 8; - arg2[*arg3].unk6 = controllerIndex; + ret = get_free_space(controllerIndex, &arg2[*arg3].cPakBytesFree, &sControllerPakNotesFree[controllerIndex]); + if (ret == CONTROLLER_PAK_GOOD) { + if (((s32)arg2[*arg3].cPakBytesFree >= fileSize) && (sControllerPakNotesFree[controllerIndex] > 0)) { + arg2[*arg3].unk0 = 8; //CONTROLLER_PAK_UNK8 maybe? + arg2[*arg3].controllerIndex = controllerIndex; (*arg3)++; } } else { - if ((*arg1 < 0) && ((ret & 0xFF) == 7)) { + SIDeviceStatus status = ret & 0xFF; //The upper bytes could be controllerIndex, so focus on the status + if ((*arg1 < 0) && status == RUMBLE_PAK) { *arg1 = 0; ret = 0; - } else { - s32 temp_v1; - temp_v1 = ret & 0xFF; - if (temp_v1 != 3 && temp_v1 != 2 && temp_v1 != 9) { - ret = 0; - } + } else if + (status != CONTROLLER_PAK_WITH_BAD_ID && + status != CONTROLLER_PAK_INCONSISTENT && + status != CONTROLLER_PAK_BAD_DATA) + { + ret = 0; } } } @@ -2846,8 +2868,8 @@ void func_80087EB8(void) { func_8007FF88(); func_8009C4A8(D_800DFC78); assign_dialogue_box_id(7); - free_from_memory_pool(D_80126A0C); - free_from_memory_pool(D_80126A64); + free_from_memory_pool((void *)D_80126A0C); + free_from_memory_pool((void *)D_80126A64); } #ifdef NON_EQUIVALENT @@ -2988,6 +3010,7 @@ SIDeviceStatus func_80087F14(s32 *controllerIndex, s32 arg1) { #else GLOBAL_ASM("asm/non_matchings/menu/func_80087F14.s") #endif + GLOBAL_ASM("asm/non_matchings/menu/func_8008832C.s") void menu_boot_init(void) { @@ -2995,7 +3018,7 @@ void menu_boot_init(void) { func_800C01D8(&sMenuTransitionFadeOut); set_background_prim_colour(0, 0, 0); - func_8009C674(&sGameTitleTileTextures); + func_8009C674(sGameTitleTileTextures); // Sets up the 11 texture pointers for the "Diddy Kong Racing" logo. for (i = 0; i < 11; i++) { @@ -3057,8 +3080,8 @@ s32 menu_boot_loop(s32 arg0) { } if (temp < 300) { - render_textured_rectangle(&D_801263A0, &sGameTitleTileOffsets, 160, temp, 255, 255, 255, 255); - func_8007B3D0(&D_801263A0); + render_textured_rectangle(&sMenuCurrDisplayList, sGameTitleTileOffsets, 160, temp, 255, 255, 255, 255); + func_8007B3D0(&sMenuCurrDisplayList); } return out; @@ -3076,7 +3099,7 @@ void func_800887E8(void) { // Fills in the table. for (i = 1; i < 16; i++) { - D_80126AA0[i] = (s32 *)(((u32)D_80126AA0[0]) + (i * 0x20)); + D_80126AA0[i] = (u8 *)(((u32)D_80126AA0[0]) + (i * 0x20)); } for (i = 0; i < 1; i++) { @@ -3088,7 +3111,7 @@ void func_800887E8(void) { D_801263BC = 0; D_80126A68 = -1; load_menu_text(get_language()); - if (func_80087F14(&D_80126A68, 0) == 0) { + if (func_80087F14(&D_80126A68, 0) == CONTROLLER_PAK_GOOD) { gMenuDelay = 0; } else if (func_8008832C() == 0) { gMenuDelay = 0x14; @@ -3129,9 +3152,9 @@ void func_80088938(s32 arg0) { } else if (gShowControllerPakMenu != 0) { set_text_font(2); set_text_colour(0, 0, 0, 255, 128); - draw_text(&D_801263A0, 161, 33, gMenuText[35], 12); + draw_text(&sMenuCurrDisplayList, 161, 33, gMenuText[35], 12); set_text_colour(255, 255, 255, 0, 255); - draw_text(&D_801263A0, 160, 30, gMenuText[35], 12); + draw_text(&sMenuCurrDisplayList, 160, 30, gMenuText[35], 12); assign_dialogue_box_id(6); //HERE! @@ -3149,7 +3172,7 @@ void func_80088938(s32 arg0) { set_current_text_background_colour(6, 0, 0, 0, 0); render_dialogue_text(6, POS_CENTRED, 2, gMenuText[86 + D_80126A68], phi_s3, 4); render_dialogue_text(6, POS_CENTRED, 16, gMenuText[114], sCurrentControllerPakFreeSpace, 4); - render_dialogue_box(&D_801263A0, NULL, NULL, 6); + render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 6); //HERE! yPos += 34; //To 82 @@ -3181,13 +3204,13 @@ void func_80088938(s32 arg0) { render_dialogue_text(6, 26, 2, phi_s2, D_801263D8 + i + 1, 4); render_dialogue_text(6, 56, 2, phi_s0, 1, 0); render_dialogue_text(6, 240, 2, phi_s4, phi_s3, 4); - render_dialogue_box(&D_801263A0, NULL, NULL, 6); + render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 6); yPos += 16; } if (D_801263D8 < (16 - D_80126BB4)) { if ((D_801263BC & 8) != 0) { - render_textured_rectangle(&D_801263A0, (DrawTexture* ) &D_800E043C, 160, yPos + 8, (u8) 255, (u8) 255, (u8) 255, (u8) 255); - func_8007B3D0(&D_801263A0); + render_textured_rectangle(&sMenuCurrDisplayList, (DrawTexture* ) &D_800E043C, 160, yPos + 8, (u8) 255, (u8) 255, (u8) 255, (u8) 255); + func_8007B3D0(&sMenuCurrDisplayList); } } else { set_text_font(0); @@ -3196,7 +3219,7 @@ void func_80088938(s32 arg0) { } else { set_text_colour(255, 255, 255, 0, 255); } - draw_text(&D_801263A0, POS_CENTRED, yPos, gMenuText[51], 4); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, yPos, gMenuText[51], 4); } if ((D_801263E0 != 0) && (D_80126C10 == 0)) { if (osTvType == TV_TYPE_PAL) { @@ -3224,12 +3247,12 @@ void func_80088938(s32 arg0) { yPos += 20; } } - render_dialogue_box(&D_801263A0, NULL, NULL, 6); + render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 6); } if (D_80126C10 != 0) { set_text_colour(255, 255, 255, 0, 255); set_text_font(2); - draw_text(&D_801263A0, 160, 128, gMenuText[124], 12); + draw_text(&sMenuCurrDisplayList, 160, 128, gMenuText[124], 12); } } } @@ -3274,12 +3297,12 @@ void render_magic_codes_ui(s32 arg0) { char c; set_text_background_colour(0, 0, 0, 0); - render_dialogue_box(&D_801263A0, 0, 0, 7); + render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7); set_text_font(FONT_LARGE); set_text_colour(0, 0, 0, 0xFF, 0x80); - draw_text(&D_801263A0, 0xA1, 0x23, gMenuText[17], 0xC); // gMenuText[17] = "MAGIC CODES" + draw_text(&sMenuCurrDisplayList, 0xA1, 0x23, gMenuText[17], 0xC); // gMenuText[17] = "MAGIC CODES" set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF); - draw_text(&D_801263A0, 0xA0, 0x20, gMenuText[17], 0xC); // gMenuText[17] = "MAGIC CODES" + draw_text(&sMenuCurrDisplayList, 0xA0, 0x20, gMenuText[17], 0xC); // gMenuText[17] = "MAGIC CODES" set_text_font(FONT_COLOURFUL); set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF); @@ -3297,11 +3320,11 @@ void render_magic_codes_ui(s32 arg0) { set_text_colour(0x80, 0xFF, 0xC0, (temp >> 1) + 0x80, 0xFF); } if (c < '[') { - draw_text(&D_801263A0, xPos, yPos, &c, 0xC); // Draw the character + draw_text(&sMenuCurrDisplayList, xPos, yPos, &c, 0xC); // Draw the character } else if (j == 5) { - draw_text(&D_801263A0, xPos, yPos, &D_800E8210, 0xC); // D_800E8210 = "DEL" + draw_text(&sMenuCurrDisplayList, xPos, yPos, &D_800E8210, 0xC); // D_800E8210 = "DEL" } else { - draw_text(&D_801263A0, xPos, yPos, &D_800E8214, 0xC); // D_800E8214 = "OK" + draw_text(&sMenuCurrDisplayList, xPos, yPos, &D_800E8214, 0xC); // D_800E8214 = "OK" } if ((5 == gOptionsMenuItemIndex) && (j == gCheatInputCurrentColumn) && (i == gCheatInputCurrentRow)) { set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF); @@ -3330,7 +3353,7 @@ void render_magic_codes_ui(s32 arg0) { alpha = temp; } set_text_colour(0xFF, 0xFF, 0xFF, alpha, 0xFF); - draw_text(&D_801263A0, POS_CENTRED, yPos, gMagicCodeMenuStrings[i], 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, yPos, gMagicCodeMenuStrings[i], 0xC); yPos += yIncr; } set_text_font(FONT_COLOURFUL); @@ -3338,15 +3361,15 @@ void render_magic_codes_ui(s32 arg0) { set_text_background_colour(0, 0, 0x80, 0x80); if (gOptionsMenuItemIndex == 4) { if (D_80126C4C == -1) { - draw_text(&D_801263A0, POS_CENTRED, 0x90, gMenuText[18], 0xC); // gMenuText[18] = "Sorry, the code was incorrect" + draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, gMenuText[18], 0xC); // gMenuText[18] = "Sorry, the code was incorrect" } else { // Draw cheat code name. - draw_text(&D_801263A0, POS_CENTRED, 0x90, (char *)(*gCheatsAssetData) + (*gCheatsAssetData + 1)[D_80126C4C + 1], 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, (char *)(*gCheatsAssetData) + (*gCheatsAssetData + 1)[D_80126C4C + 1], 0xC); } } else if (5 == gOptionsMenuItemIndex) { - draw_text(&D_801263A0, POS_CENTRED, 0x90, D_80126C58, 0xC); + draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, D_80126C58, 0xC); } else if (gOptionsMenuItemIndex == 6) { - draw_text(&D_801263A0, POS_CENTRED, 0x90, gMenuText[19], 0xC); // gMenuText[19] = "All cheats have been deleted" + draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x90, gMenuText[19], 0xC); // gMenuText[19] = "All cheats have been deleted" } if (D_801263E0 != 0) { yPos = 0x78; @@ -3378,7 +3401,7 @@ void render_magic_codes_ui(s32 arg0) { yPos += 0x14; } } - render_dialogue_box(&D_801263A0, 0, 0, 6); + render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 6); } if ((get_filtered_cheats() << 3) < 0) { calculate_and_display_rom_checksum(); @@ -3423,9 +3446,9 @@ void render_magic_codes_list_menu_text(s32 arg0) { set_text_background_colour(0, 0, 0, 0); set_text_font(FONT_LARGE); set_text_colour(0, 0, 0, 0xFF, 0x80); - draw_text(&D_801263A0, 0xA1, 0x23, gMenuText[20], 0xC); // MAGIC CODES LIST + draw_text(&sMenuCurrDisplayList, 0xA1, 0x23, gMenuText[20], 0xC); // MAGIC CODES LIST set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF); - draw_text(&D_801263A0, 0xA0, 0x20, gMenuText[20], 0xC); // MAGIC CODES LIST + draw_text(&sMenuCurrDisplayList, 0xA0, 0x20, gMenuText[20], 0xC); // MAGIC CODES LIST numOfUnlockedCheats = 0; phi_v0 = 1; for (i = 0; i < 32; i++) { @@ -3447,11 +3470,11 @@ void render_magic_codes_list_menu_text(s32 arg0) { if (i == gOptionsMenuItemIndex) { set_text_colour(0xFF, 0xFF, 0xFF, fp, 0xFF); } - draw_text(&D_801263A0, 0x30, s2, (char *)(*gCheatsAssetData) + ((*gCheatsAssetData + 1)[D_80126C80[i] * 2 + 1]), 0); + draw_text(&sMenuCurrDisplayList, 0x30, s2, (char *)(*gCheatsAssetData) + ((*gCheatsAssetData + 1)[D_80126C80[i] * 2 + 1]), 0); if ((1 << D_80126C80[i]) & gActiveMagicCodes) { - draw_text(&D_801263A0, 0x100, s2, gMenuText[21], 0); // ON + draw_text(&sMenuCurrDisplayList, 0x100, s2, gMenuText[21], 0); // ON } else { - draw_text(&D_801263A0, 0x100, s2, gMenuText[22], 0); // OFF + draw_text(&sMenuCurrDisplayList, 0x100, s2, gMenuText[22], 0); // OFF } if (i == gOptionsMenuItemIndex) { set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF); @@ -3462,11 +3485,11 @@ void render_magic_codes_list_menu_text(s32 arg0) { if (numOfUnlockedCheats == gOptionsMenuItemIndex) { set_text_colour(0xFF, 0xFF, 0xFF, fp, 0xFF); } - draw_text(&D_801263A0, POS_CENTRED, s2, gMenuText[5], 4); // RETURN + draw_text(&sMenuCurrDisplayList, POS_CENTRED, s2, gMenuText[5], 4); // RETURN return; } if (D_801263BC & 8) { - render_textured_rectangle(&D_801263A0, &D_800E043C, 0xA0, s2 + 8, 0xFF, 0xFF, 0xFF, 0xFF); + render_textured_rectangle(&sMenuCurrDisplayList, &D_800E043C, 0xA0, s2 + 8, 0xFF, 0xFF, 0xFF, 0xFF); } } #else @@ -3628,8 +3651,8 @@ void calculate_and_display_rom_checksum(void) { D_800E1E18 = TRUE; } - set_render_printf_background_colour(0, 0, 0, 0x80); - set_render_printf_position(0x20, 0x88); + set_render_printf_background_colour(0, 0, 0, 128); + set_render_printf_position(32, 136); render_printf(D_800E8218, D_800E1E14, &__ROM_END); // D_800E8218 = "ROM checksum %08X,%d\n" } #else @@ -3679,14 +3702,14 @@ void menu_character_select_init(void) { initialise_player_ids(); if (is_drumstick_unlocked()) { if (is_tt_unlocked()) { - D_801263CC = D_800DFF40; + D_801263CC = &D_800DFF40; } else { - D_801263CC = D_800DFE40; + D_801263CC = &D_800DFE40; } } else if (is_tt_unlocked()) { - D_801263CC = D_800DFEC0; + D_801263CC = &D_800DFEC0; } else { - D_801263CC = D_800DFDD0; + D_801263CC = &D_800DFDD0; } for (i = 0; i < 4; i++) { D_801263DC[i] = 0; @@ -3733,20 +3756,20 @@ void draw_character_select_text(UNUSED s32 arg0) { if (gMenuDelay >= -0x16 && gMenuDelay < 0x17) { set_text_font(FONT_LARGE); set_text_background_colour(0, 0, 0, 0); - set_text_colour(0, 0, 0, 0xFF, 0x80); + set_text_colour(0, 0, 0, 255, 128); // Draw "Player Select" text drop shadow - draw_text(&D_801263A0, 0xA1, 0x23, gMenuText[135], 0xC); - set_text_colour(255, 255, 255, 0, 0xFF); + draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[135], 0xC); + set_text_colour(255, 255, 255, 0, 255); // Draw "Player Select" text - draw_text(&D_801263A0, 0xA0, 0x20, gMenuText[135], 0xC); + draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[135], 0xC); if (gNumberOfReadyPlayers == gNumberOfActivePlayers && gNumberOfActivePlayers > 0) { - yPos = 0xD0; + yPos = 208; if (osTvType == TV_TYPE_PAL) { - yPos = 0xEA; + yPos = 234; } - draw_text(&D_801263A0, 0xA0, yPos, D_800E8230 /* "OK?" */, 0xC); + draw_text(&sMenuCurrDisplayList, 160, yPos, D_800E8230 /* "OK?" */, 0xC); } - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); update_camera_fov(40.0f); } } @@ -4023,7 +4046,7 @@ void func_8008C698(s32 arg0) { if (fade >= 0x100) { fade = 0x1FF - fade; } - func_80067F2C(&D_801263A0, (s32 *)&D_801263A8); + func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat); for (i = 0; i <= D_801263E0; i++) { filterAlpha = 0; @@ -4044,7 +4067,7 @@ void func_8008C698(s32 arg0) { } draw_menu_elements(1, (MenuElement *)D_80126460, 1.0f); - func_80080BC8(&D_801263A0); + func_80080BC8(&sMenuCurrDisplayList); } } #else @@ -4225,7 +4248,7 @@ void render_file_select_menu(UNUSED s32 updateRate) { } func_8009BD5C(); - func_80067F2C(&D_801263A0, (s32 *)&D_801263A8); + func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat); for (i = 0; i < 3; i++) { // 3 files if (gSavefileInfo[i].isAdventure2 == gIsInAdventureTwo || gSavefileInfo[i].isStarted == 0) { color = 0xB0E0C0FF; @@ -4235,7 +4258,7 @@ void render_file_select_menu(UNUSED s32 updateRate) { func_80080580(0, D_800E03CC[i].unk0 - 0xA0, 0x78 - D_800E03CC[i].unk2, D_800E03CC[i].unk4, D_800E03CC[i].unk6, D_800E03CC[i].unk8, D_800E03CC[i].unkA, color, D_80126550[67]); } - func_80080BC8(&D_801263A0); + func_80080BC8(&sMenuCurrDisplayList); if (D_801263D8 == 0) { set_text_font(FONT_LARGE); set_text_background_colour(0, 0, 0, 0); @@ -4262,7 +4285,7 @@ void render_file_select_menu(UNUSED s32 updateRate) { func_8007BF1C(1); } else { set_text_colour(255, 255, 255, 64, 255); - draw_text(&D_801263A0, D_800E03FC[4] + D_800E03CC[i].unk0, D_800E03FC[5] + D_800E03CC[i].unk2 + y, gMenuText[75], 0xC); + draw_text(&sMenuCurrDisplayList, D_800E03FC[4] + D_800E03CC[i].unk0, D_800E03FC[5] + D_800E03CC[i].unk2 + y, gMenuText[75], 0xC); } } } @@ -4288,7 +4311,7 @@ void render_file_select_menu(UNUSED s32 updateRate) { } if (s2) { s32 temp_t0 = phi_v0_2 | ~0xFF; - func_80080E90(&D_801263A0, D_800E03CC[i].unk0, D_800E03CC[i].unk2 + y, D_800E03CC[i].unk4, D_800E03CC[i].unk6, + func_80080E90(&sMenuCurrDisplayList, D_800E03CC[i].unk0, D_800E03CC[i].unk2 + y, D_800E03CC[i].unk4, D_800E03CC[i].unk6, D_800E03CC[i].unk8, D_800E03CC[i].unkA, temp_t0, temp_t0, temp_t0, temp_t0); } if (D_80126CC0 == 0 || i != gSaveFileIndex) { @@ -4297,35 +4320,35 @@ void render_file_select_menu(UNUSED s32 updateRate) { trim_filename_string(gFilenames[i], tempName); } if (tempName != NULL) { - draw_text(&D_801263A0, D_800E03FC[0] + D_800E03CC[i].unk0, D_800E03FC[1] + D_800E03CC[i].unk2 + y, tempName, 0xC); + draw_text(&sMenuCurrDisplayList, D_800E03FC[0] + D_800E03CC[i].unk0, D_800E03FC[1] + D_800E03CC[i].unk2 + y, tempName, 0xC); } } } set_text_font(FONT_LARGE); set_text_colour(0, 0, 0, 255, 128); - draw_text(&D_801263A0, 0xA1, 0x13, gMenuText[76], 4); + draw_text(&sMenuCurrDisplayList, 0xA1, 0x13, gMenuText[76], 4); set_text_colour(255, 255, 255, 0, 255); - draw_text(&D_801263A0, 0xA0, 0x10, gMenuText[76], 4); + draw_text(&sMenuCurrDisplayList, 0xA0, 0x10, gMenuText[76], 4); set_text_colour(255, 255, 255, 0, 255); y += 0xBB; if (D_80126484 != 0) { if (D_80126494 == 0) { set_text_font(FONT_COLOURFUL); - draw_text(&D_801263A0, 0xA0, y, gMenuText[77], 0xC); + draw_text(&sMenuCurrDisplayList, 0xA0, y, gMenuText[77], 0xC); } else if (D_80126494 == 1) { set_text_font(FONT_COLOURFUL); - draw_text(&D_801263A0, 0xA0, y, gMenuText[78], 0xC); + draw_text(&sMenuCurrDisplayList, 0xA0, y, gMenuText[78], 0xC); } else { - draw_text(&D_801263A0, 0xA0, y, &D_800E8234, 0xC); + draw_text(&sMenuCurrDisplayList, 0xA0, y, &D_800E8234, 0xC); } return; } if (D_80126488 != 0) { if (D_80126494 == 0) { set_text_font(FONT_COLOURFUL); - draw_text(&D_801263A0, 0xA0, y, gMenuText[79], 0xC); + draw_text(&sMenuCurrDisplayList, 0xA0, y, gMenuText[79], 0xC); } else { - draw_text(&D_801263A0, 0xA0, y, &D_800E8238, 0xC); + draw_text(&sMenuCurrDisplayList, 0xA0, y, &D_800E8238, 0xC); } return; } @@ -4333,13 +4356,13 @@ void render_file_select_menu(UNUSED s32 updateRate) { if (D_801263E0 == 1) { set_text_colour(255, 255, 255, phi_v0_2, 255); } - draw_text(&D_801263A0, 0x5A, y, gMenuText[80], 0xC); + draw_text(&sMenuCurrDisplayList, 0x5A, y, gMenuText[80], 0xC); if (D_801263E0 == 2) { set_text_colour(255, 255, 255, phi_v0_2, 255); } else { set_text_colour(255, 255, 255, 0, 255); } - draw_text(&D_801263A0, 0xE6, y, gMenuText[81], 0xC); + draw_text(&sMenuCurrDisplayList, 0xE6, y, gMenuText[81], 0xC); return; } } @@ -4350,80 +4373,73 @@ GLOBAL_ASM("asm/non_matchings/menu/render_file_select_menu.s") GLOBAL_ASM("asm/non_matchings/menu/func_8008D5F8.s") GLOBAL_ASM("asm/non_matchings/menu/func_8008D8BC.s") -#if 1 -GLOBAL_ASM("asm/non_matchings/menu/func_8008DC7C.s") -#else -/* Size: 0x0C Bytes */ -extern SavefileInfo gSavefileInfo[3]; // Filename structs? -extern s32 D_80126494; -extern s32 D_8012648C; +void func_8008DC7C(UNUSED s32 arg0) { + s32 buttonsPressed; + s32 controllerXAxisDirection; + s32 temp; -void func_8008DC7C(s32 arg0) { - s32 temp_t6; - s32 temp_a1; - s32 phi_v1; - s32 phi_v1_2; + buttonsPressed = get_buttons_pressed_from_player(0); + controllerXAxisDirection = gControllersXAxisDirection[0]; - phi_v1 = get_buttons_pressed_from_player(0); - temp_a1 = gControllersXAxisDirection; if (gNumberOfActivePlayers == 2) { - phi_v1 = phi_v1 | get_buttons_pressed_from_player(1); - temp_a1 += gControllersXAxisDirection + 1; + buttonsPressed |= get_buttons_pressed_from_player(1); + controllerXAxisDirection += gControllersXAxisDirection[1]; } if (D_80126494 == 0) { - if (phi_v1 & 0x4000) { + if (buttonsPressed & B_BUTTON) { func_80001D04(0x241, NULL); D_80126488 = 0; - } else if (phi_v1 & 0x9000) { - if (gSavefileInfo[D_8012648C].unk0 == 0) { - func_80001D04(0x241, NULL); + return; + } else if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + if (gSavefileInfo[D_8012648C].isStarted != 0) { + func_80001D04(0xEF, NULL); + D_80126494 = 1; + return; } - func_80001D04(0xEF, NULL); - D_80126494 = 1; + func_80001D04(0x241, NULL); + return; } - phi_v1_2 = D_8012648C; - if (temp_a1 < 0) { - phi_v1_2 = D_8012648C; + temp = D_8012648C; + + //Left + if (controllerXAxisDirection < 0) { if (D_8012648C > 0) { D_8012648C--; - phi_v1_2 = D_8012648C; } } - if (temp_a1 > 0) { - temp_t6 = phi_v1_2 + 1; - if (phi_v1_2 < 2) { - D_8012648C = temp_t6; - phi_v1_2 = temp_t6; + //Right + if (controllerXAxisDirection > 0) { + if (D_8012648C < 2) { + D_8012648C++; } } - //if (D_8012648C != phi_v1_2) { - func_80001D04(0xEB, NULL); - //} + if (D_8012648C != temp) { + func_80001D04(0xEB, NULL); + } } else { - if (phi_v1 & 0x9000) { + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { func_80001D04(0xEF, NULL); func_8006ECAC(D_8012648C); - gSavefileInfo[D_8012648C].unk0 = 0; - gSavefileInfo[D_8012648C].unk1 = 0; - gSavefileInfo[D_8012648C].unk2 = 0; + gSavefileInfo[D_8012648C].isAdventure2 = 0; + gSavefileInfo[D_8012648C].isStarted = 0; + gSavefileInfo[D_8012648C].balloonCount = 0; gSavefileInfo[D_8012648C].name[0] = 'D'; gSavefileInfo[D_8012648C].name[1] = 'K'; gSavefileInfo[D_8012648C].name[2] = 'R'; gSavefileInfo[D_8012648C].name[3] = '\0'; - gSaveFileIndex = (s32)D_8012648C; + gSaveFileIndex = D_8012648C; D_801263E0 = 0; D_80126488 = 0; - } else if (phi_v1 & 0x4000) { + } else if (buttonsPressed & B_BUTTON) { func_80001D04(0x241, NULL); D_80126494 = 0; } } } -#endif GLOBAL_ASM("asm/non_matchings/menu/menu_file_select_loop.s") @@ -4453,44 +4469,44 @@ GLOBAL_ASM("asm/non_matchings/menu/func_8008E4EC.s") GLOBAL_ASM("asm/non_matchings/menu/menu_track_select_init.s") GLOBAL_ASM("asm/non_matchings/menu/func_8008F00C.s") -#ifdef NON_EQUIVALENT +#ifdef NON_MATCHING // Close to done with this function. Just a regalloc issue remains. -s32 menu_track_select_loop(s32 arg0) { - s32 phi_a2; +s32 menu_track_select_loop(s32 updateRate) { + s32 cutsceneId; Settings *settings; s32 i = 0; settings = get_settings(); - D_801263BC = (D_801263BC + arg0) & 0x3F; + D_801263BC = (D_801263BC + updateRate) & 0x3F; if (get_thread30_level_id_to_load() == 0 && gMenuDelay != 0) { if (gMenuDelay < 0) { - gMenuDelay -= arg0; + gMenuDelay -= updateRate; } else { - gMenuDelay += arg0; + gMenuDelay += updateRate; } } func_8008E4EC(); - gSPClearGeometryMode(D_801263A0++, G_CULL_FRONT) + gSPClearGeometryMode(sMenuCurrDisplayList++, G_CULL_FRONT); - switch (D_801267D0) { + switch (D_801267D0) { case 0: - func_8008FF1C(arg0); - func_800904E8(arg0); - func_80090918(arg0); + func_8008FF1C(updateRate); + func_800904E8(updateRate); + func_80090918(updateRate); break; case 1: - func_80090ED8(arg0); - render_track_select_setup_ui(arg0); - func_80092188(arg0); + func_80090ED8(updateRate); + render_track_select_setup_ui(updateRate); + func_80092188(updateRate); break; } if (sMenuMusicVolume < 0) { set_relative_volume_for_music(0); } else { - sMenuMusicVolume += arg0 * 2; + sMenuMusicVolume += updateRate * 2; if (sMenuMusicVolume >= 0x51) { sMenuMusicVolume = 0x50; } @@ -4499,15 +4515,15 @@ s32 menu_track_select_loop(s32 arg0) { if (D_801267D0 < 0) { func_8008F534(); D_800DF478 = 0; - if (gNumberOfActivePlayers >= 3 || gNumberOfActivePlayers == 2 && (gActiveMagicCodes << 7) >= 0) { - phi_a2 = 0; + if (gNumberOfActivePlayers >= 3 || (gNumberOfActivePlayers == 2 && (gActiveMagicCodes << 7) >= 0)) { + cutsceneId = 0; if (is_drumstick_unlocked()) { - phi_a2 = 1; + cutsceneId = 1; } if (is_tt_unlocked()) { - phi_a2 ^= 3; + cutsceneId ^= 3; } - load_level_for_menu(0x16, -1, phi_a2); + load_level_for_menu(0x16, -1, cutsceneId); func_8008AEB4(0, NULL); menu_init(MENU_CHARACTER_SELECT); return 0; @@ -4530,7 +4546,7 @@ s32 menu_track_select_loop(s32 arg0) { } gTrophyRaceWorldId = D_801269CC + 1; D_800DF450 = 0; - D_800E0FEC = 0; + gTrophyRaceRound = 0; menu_init(MENU_TROPHY_RACE_ROUND); return 0; } @@ -4571,7 +4587,7 @@ GLOBAL_ASM("asm/non_matchings/menu/func_8008FF1C.s") GLOBAL_ASM("asm/non_matchings/menu/func_800904E8.s") GLOBAL_ASM("asm/non_matchings/menu/func_80090918.s") -void func_80090ED8(UNUSED s32 arg0) { +void func_80090ED8(UNUSED s32 updateRate) { if (D_801263E0 == 1 && D_800E0414 == 0 && D_80126840 == 0) { func_80001D04(0x132, &D_80126840); } @@ -4580,7 +4596,7 @@ void func_80090ED8(UNUSED s32 arg0) { #ifdef NON_EQUIVALENT // Somewhat close to matching, but should be functionally equivalent. -void render_track_select_setup_ui(s32 arg0) { +void render_track_select_setup_ui(s32 updateRate) { s32 sp84; s32 sp80; s32 sp7C; @@ -4605,7 +4621,7 @@ void render_track_select_setup_ui(s32 arg0) { } func_80066894(0, 1); func_8009BD5C(); - func_80067F2C(&D_801263A0, (s32 *)&D_801263A8); + func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat); if (gMenuDelay < 0) { if (D_801269F4 == 4) { sp84 = 6; @@ -4635,7 +4651,7 @@ void render_track_select_setup_ui(s32 arg0) { set_text_font(FONT_LARGE); set_text_colour(0xC0, 0xC0, 0xFF, 0, sMenuGuiOpacity); set_text_background_colour(0, 0, 0, 0); - draw_text(&D_801263A0, POS_CENTRED, 0x2B, func_8006BDDC(gTrackIdForPreview), 0xC); // Draw track name? + draw_text(&sMenuCurrDisplayList, POS_CENTRED, 0x2B, get_level_name(gTrackIdForPreview), 0xC); // Draw track name? sp84 = D_801263BC * 8; if (sp84 >= 0x100) { sp84 = 0x1FF - sp84; @@ -4652,7 +4668,7 @@ void render_track_select_setup_ui(s32 arg0) { } else { s4 += 0xC; } - func_80080580(&D_801263A0, -(s4 >> 1), 0x78 - D_800E0700[1], s4, D_800E0700[3], + func_80080580(&sMenuCurrDisplayList, -(s4 >> 1), 0x78 - D_800E0700[1], s4, D_800E0700[3], D_800E0700[4], D_800E0700[5], sMenuGuiOpacity + 0xB0E0C000, D_8012665C); func_80080E6C(); set_text_font(FONT_COLOURFUL); @@ -4670,7 +4686,7 @@ void render_track_select_setup_ui(s32 arg0) { set_text_colour(0xFF, 0xFF, 0xFF, alpha, sMenuGuiOpacity); } // gMenuText[146] = "ADVENTURE", gMenuText[147] = "ADVENTURE TWO" - draw_text(&D_801263A0, 0xA1 - j, s7 - j, gMenuText[146 + i], 0xC); + draw_text(&sMenuCurrDisplayList, 0xA1 - j, s7 - j, gMenuText[146 + i], 0xC); } s7 += 16; } @@ -4678,30 +4694,30 @@ void render_track_select_setup_ui(s32 arg0) { if (D_801269C8 < 4) { set_text_font(FONT_COLOURFUL); set_text_colour(0xFF, 0x40, 0x40, 0x60, sMenuGuiOpacity); - draw_text(&D_801263A0, 0x38, 0x48 + sp80, gMenuText[9], 8); // gMenuText[9] = "BEST TIME" - draw_text(&D_801263A0, 0x38, 0x5C + sp80, gMenuText[10], 8); // gMenuText[10] = "BEST LAP" + draw_text(&sMenuCurrDisplayList, 0x38, 0x48 + sp80, gMenuText[9], 8); // gMenuText[9] = "BEST TIME" + draw_text(&sMenuCurrDisplayList, 0x38, 0x5C + sp80, gMenuText[10], 8); // gMenuText[10] = "BEST LAP" set_text_colour(0xFF, 0x80, 0xFF, 0x60, sMenuGuiOpacity); decompress_filename_string(settings->courseInitialsPtr[gPlayerSelectVehicle[0]][gTrackIdForPreview], &sp78, 3); - draw_text(&D_801263A0, 0xFA, 0x48 + sp80, &sp78, 0xC); + draw_text(&sMenuCurrDisplayList, 0xFA, 0x48 + sp80, &sp78, 0xC); decompress_filename_string(settings->flapInitialsPtr[gPlayerSelectVehicle[0]][gTrackIdForPreview], &sp78, 3); - draw_text(&D_801263A0, 0xFA, 0x5C + sp80, &sp78, 0xC); + draw_text(&sMenuCurrDisplayList, 0xFA, 0x5C + sp80, &sp78, 0xC); func_80081800(settings->courseTimesPtr[gPlayerSelectVehicle[0]][gTrackIdForPreview], 0x16, 0x35, 0x80, 0xFF, 0xFF, 0); func_80081800(settings->flapTimesPtr[gPlayerSelectVehicle[0]][gTrackIdForPreview], 0x16, 0x21, 0xFF, 0xC0, 0xFF, 0); if (D_801263E0 != -1) { if (gNumberOfActivePlayers == 1) { // Glow effect set_current_dialogue_box_coords(7, 0x86, sp80 + 0x70, 0xBA, sp80 + 0x89); - render_dialogue_box(&D_801263A0, 0, 0, 7); + render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7); if (D_801263E0 <= 0) { - render_textured_rectangle(&D_801263A0, &D_800E05B4, 0x88, sp80 + 0x72, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, &D_800E05B4, 0x88, sp80 + 0x72, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } else { - render_textured_rectangle(&D_801263A0, &D_800E05C4, 0x88, sp80 + 0x72, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, &D_800E05C4, 0x88, sp80 + 0x72, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); for (i = 0; i < 2; i++) { s32 yTemp = 0x97 + sp80 + (i * 0x18); if (i == D_800E0414) { - render_textured_rectangle(&D_801263A0, D_800E0648[(i * 3) + 1], 0x68, yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0648[(i * 3) + 1], 0x68, yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } else { - render_textured_rectangle(&D_801263A0, D_800E0648[(i * 3) + 2], 0x68, yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0648[(i * 3) + 2], 0x68, yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } } } @@ -4715,11 +4731,11 @@ void render_track_select_setup_ui(s32 arg0) { s32 temp_v1 = D_800E0688[s3 + (i * 2) + 1] + sp80; // Glow effect around Player image set_current_dialogue_box_coords(7, temp_v0_9 - 2, temp_v1 - 2, temp_v0_9 + 0x32, temp_v1 + 0x17); - render_dialogue_box(&D_801263A0, 0, 0, 7); + render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7); } // "Player" text image - render_textured_rectangle(&D_801263A0, D_800E0660[i], D_800E0688[s3 + (i * 2)], D_800E0688[s3 + (i * 2) + 1] + sp80, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0660[i], D_800E0688[s3 + (i * 2)], D_800E0688[s3 + (i * 2) + 1] + sp80, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } } } @@ -4735,13 +4751,13 @@ void render_track_select_setup_ui(s32 arg0) { for (j = 0; j < gNumberOfActivePlayers; j++) { if (i == gPlayerSelectVehicle[j]) { // Highlighted - render_textured_rectangle(&D_801263A0, D_800E0624[(i * 3) + 1], D_800E06B0[s3 + j], yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0624[(i * 3) + 1], D_800E06B0[s3 + j], yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } else if (settings->courseFlagsPtr[gTrackIdForPreview] & 2) { // Not highlighted - render_textured_rectangle(&D_801263A0, D_800E0624[(i * 3) + 2], D_800E06B0[s3 + j], yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0624[(i * 3) + 2], D_800E06B0[s3 + j], yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } else { // Not available (Ghosted out) - render_textured_rectangle(&D_801263A0, D_800E0624[(i * 3) + 2], D_800E06B0[s3 + j], yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity / 2); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0624[(i * 3) + 2], D_800E06B0[s3 + j], yTemp, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity / 2); } } } @@ -4758,24 +4774,24 @@ void render_track_select_setup_ui(s32 arg0) { if (gNumberOfActivePlayers == 1) { if (D_801263E0 == 0) { // Draw vehicle image for one player - render_textured_rectangle(&D_801263A0, D_800E0624[gPlayerSelectVehicle[0] * 3], 0x95, s7, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0624[gPlayerSelectVehicle[0] * 3], 0x95, s7, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } else { // Draw T.T. image for one player - render_textured_rectangle(&D_801263A0, D_800E0648[D_800E0414 * 3], 0x95, sp80, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0648[D_800E0414 * 3], 0x95, sp80, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } } if ((gNumberOfActivePlayers == 2) && (!sp74)) { s7 = sp80; // Draw vehicle image for first player - render_textured_rectangle(&D_801263A0, D_800E0624[gPlayerSelectVehicle[0] * 3], 0x4F, s7, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0624[gPlayerSelectVehicle[0] * 3], 0x4F, s7, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); if (gPlayerSelectVehicle[1] == 2) { s7 = sp80 + 2; } // Draw vehicle image for second player - render_textured_rectangle(&D_801263A0, D_800E0624[gPlayerSelectVehicle[1] * 3], 0xB0, s7, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E0624[gPlayerSelectVehicle[1] * 3], 0xB0, s7, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); } - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); if (gNumberOfActivePlayers < 3) { // Draw border around vehicle images @@ -4800,13 +4816,13 @@ void render_track_select_setup_ui(s32 arg0) { } else { s4 = D_800E06E4[2]; } - func_80080580(&D_801263A0, -(s4 >> 1), 0x78 - D_800E06E4[1], s4, D_800E06E4[3], D_800E06E4[4], D_800E06E4[5], 0xB0E0C0FF, D_8012665C); + func_80080580(&sMenuCurrDisplayList, -(s4 >> 1), 0x78 - D_800E06E4[1], s4, D_800E06E4[3], D_800E06E4[4], D_800E06E4[5], 0xB0E0C0FF, D_8012665C); func_80080E6C(); set_text_font(FONT_COLOURFUL); set_text_colour(0, 0, 0, 0xFF, 0x80); - draw_text(&D_801263A0, D_800E06E4[6] + D_800E06E4[0] + 1, D_800E06E4[7] + D_800E06E4[1] + 1, gMenuText[136], 0xC); + draw_text(&sMenuCurrDisplayList, D_800E06E4[6] + D_800E06E4[0] + 1, D_800E06E4[7] + D_800E06E4[1] + 1, gMenuText[136], 0xC); set_text_colour(0xFF, 0xFF, 0xFF, 0, 0xFF); - draw_text(&D_801263A0, D_800E06E4[6] + D_800E06E4[0] - 1, D_800E06E4[7] + D_800E06E4[1] - 1, gMenuText[136], 0xC); + draw_text(&sMenuCurrDisplayList, D_800E06E4[6] + D_800E06E4[0] - 1, D_800E06E4[7] + D_800E06E4[1] - 1, gMenuText[136], 0xC); // gMenuText[136] = "NUMBER OF RACERS" func_80068508(1); func_8007BF1C(0); @@ -4855,8 +4871,8 @@ void render_track_select_setup_ui(s32 arg0) { } if ((gNumberOfActivePlayers == 1) && (D_801263E0 >= 0) && (func_80092BE0(gTrackIdForPreview) >= 0)) { // Render small T.T. icon. - render_textured_rectangle(&D_801263A0, &D_800E0614, 0xCC, 0x7A, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); - func_8007B3D0(&D_801263A0); + render_textured_rectangle(&sMenuCurrDisplayList, &D_800E0614, 0xCC, 0x7A, 0xFF, 0xFF, 0xFF, sMenuGuiOpacity); + func_8007B3D0(&sMenuCurrDisplayList); } if (D_801269C8 != 5) { if (((D_801263E0 == 2) && !sp74) || ((D_801263E0 == 3) && sp74) || (D_801263E0 == 4)) { @@ -4865,7 +4881,7 @@ void render_track_select_setup_ui(s32 arg0) { if (D_801269C8 >= 4) { sp80 += 0x18; } - draw_text(&D_801263A0, 0xA0, 0xAC, D_800E823C, 0xC); // D_800E823C = "OK?" + draw_text(&sMenuCurrDisplayList, 0xA0, 0xAC, D_800E823C, 0xC); // D_800E823C = "OK?" } } sMenuGuiOpacity = 0xFF; @@ -4936,8 +4952,8 @@ void menu_5_init(void) { play_music(0x18); func_80000B18(); D_801263E0 = 0; - func_8009C674(&D_800E0FB4); - allocate_menu_images(&D_800E0FD8); + func_8009C674(D_800E0FB4); + allocate_menu_images(D_800E0FD8); func_8008E45C(); D_800E04D4[0].texture = D_80126550[31]; D_800E04E4[0].texture = D_80126550[30]; @@ -4962,13 +4978,10 @@ void menu_5_init(void) { GLOBAL_ASM("asm/non_matchings/menu/func_80092E94.s") -#ifdef NON_EQUIVALENT -// Regalloc issues -s32 menu_5_loop(s32 arg0) { - s32 temp0; - s32 vehicle2; - s32 sp30; +s32 menu_5_loop(s32 updateRate) { s32 vehicle; + s32 sp30; + s32 vehicle2; s32 sp28; s32 sp24; s32 sp20; @@ -4981,12 +4994,11 @@ s32 menu_5_loop(s32 arg0) { settings = get_settings(); sp24 = ((Settings4C *)((u8 *)settings->unk4C + gTrackIdForPreview))->unk2; sp28 = FALSE; - temp0 = settings->courseFlagsPtr[sp24]; sp1C = 0; - if (temp0 & 2) { + if (settings->courseFlagsPtr[sp24] & 2) { sp1C = 1; } - if (temp0 & 4) { + if (settings->courseFlagsPtr[sp24] & 4) { sp1C = 2; } if (func_8006B14C(sp24) & 0x40) { @@ -5000,8 +5012,8 @@ s32 menu_5_loop(s32 arg0) { } } } - D_801263BC = (D_801263BC + arg0) & 0x3F; - func_80092E94(arg0, sp1C, sp20); + D_801263BC = (D_801263BC + updateRate) & 0x3F; + func_80092E94(updateRate, sp1C, sp20); if (sp1C < 2) { gPlayerSelectVehicle[0] = func_8006B0AC(sp24); } @@ -5060,11 +5072,11 @@ s32 menu_5_loop(s32 arg0) { } } else { if (gMenuDelay < 0) { - gMenuDelay = gMenuDelay - arg0; + gMenuDelay = gMenuDelay - updateRate; } else { - gMenuDelay = gMenuDelay + arg0; + gMenuDelay = gMenuDelay + updateRate; } - if ((gMenuDelay >= 0x1F) || (gMenuDelay < -0x1E)) { + if ((gMenuDelay >= 31) || (gMenuDelay < -30)) { func_80093A0C(); if (gMenuDelay > 0) { return gTrackIdForPreview | 0x80; @@ -5075,9 +5087,6 @@ s32 menu_5_loop(s32 arg0) { gIgnorePlayerInput = 0; return 0; } -#else -GLOBAL_ASM("asm/non_matchings/menu/menu_5_loop.s") -#endif void func_80093A0C(void) { func_8009C4A8((s16 *)&D_800E0FB4); @@ -5230,39 +5239,37 @@ void func_80094C14(s32 arg0) { GLOBAL_ASM("asm/non_matchings/menu/func_80094D28.s") -#ifdef NON_EQUIVALENT -void func_80095624(s32 arg0) { - switch (arg0 & 0xFF) { - case 1: - case 5: - // Two addiu instructions need to swap positions here! - D_80126C1C = D_800E09D8; +void func_80095624(s32 status) { + // status may contain controllerIndex in it's upper bits + // so grab the lower bits for the SIDeviceStatus + switch (status & 0xFF) { + case NO_CONTROLLER_PAK: + case CONTROLLER_PAK_CHANGED: /*Required to match*/ \ + D_80126C1C = sNoControllerPakMenuText; break; - case 4: - case 6: - // Two addiu instructions need to swap positions here! - D_80126C1C = D_800E09C4; + case CONTROLLER_PAK_FULL: + case CONTROLLER_PAK_UNK6: /*Required to match*/ \ + D_80126C1C = sControllerPakFullMenuText; break; - case 7: - D_80126C1C = D_800E0A04; + case RUMBLE_PAK: + // If you wish to use / the Controller Pak / insert it now! + D_80126C1C = sInsertControllerPakMenuText; break; - case 8: - D_80126C1C = D_800E0A14; + case CONTROLLER_PAK_UNK8: + //If you wish to use / the Rumble Pak / insert it now! + D_80126C1C = sInsertRumblePakMenuText; break; - case 9: - D_80126C1C = D_800E09EC; + case CONTROLLER_PAK_BAD_DATA: + D_80126C1C = sCorruptDataMenuText; break; default: - D_80126C1C = D_800E09B0; + D_80126C1C = sBadControllerPakMenuText; break; } for (D_80126C24 = 0; D_80126C1C[D_80126C24] != 0; D_80126C24++) { } } -#else -GLOBAL_ASM("asm/non_matchings/menu/func_80095624.s") -#endif GLOBAL_ASM("asm/non_matchings/menu/func_80095728.s") @@ -5449,7 +5456,7 @@ void func_800981E8(void) { void func_80098208(void) { Settings *settings = get_settings(); gTrophyRaceWorldId = settings->worldId; - D_800E0FEC = 0; + gTrophyRaceRound = 0; settings->unk4C->unk0 = settings->courseId; settings->unk4C->unkF = 0; settings->unk4C->unk1 = 0; @@ -5457,35 +5464,33 @@ void func_80098208(void) { set_time_trial_enabled(0); } -#if 1 -GLOBAL_ASM("asm/non_matchings/menu/menu_trophy_race_round_init.s") -#else +#ifdef NON_MATCHING void menu_trophy_race_round_init(void) { - s32 temp; + s32 levelId; s32 i; Settings *settings; - s8 *temp_t9; + s8 *levelIds; settings = get_settings(); - temp_t9 = get_misc_asset(0x1A); // Returns level ids array. + levelIds = (s8 *)get_misc_asset(26); // Returns level ids array. - if (D_800E0FEC == 0) { + if (gTrophyRaceRound == 0) { for (i = 0; i < 8; i++) { settings->racers[i].trophy_points = 0; } } - temp = temp_t9[((gTrophyRaceWorldId - 1) * 6) + D_800E0FEC]; - while (temp == -1) { - temp = (temp + 1) & 3; + levelId = levelIds[((gTrophyRaceWorldId - 1) * 6) + gTrophyRaceRound]; + while (levelId == -1) { + levelId = (levelId + 1) & 3; } for (i = 0; i < gNumberOfActivePlayers; i++) { - gPlayerSelectVehicle[i] = func_8006B0AC(temp); + gPlayerSelectVehicle[i] = func_8006B0AC(levelId); } - func_8006DB14(func_8006B0AC(temp)); - load_level_for_menu(temp, -1, 1); + func_8006DB14(func_8006B0AC(levelId)); + load_level_for_menu(levelId, -1, 1); gMenuDelay = 0; D_800E0980 = 10; @@ -5494,36 +5499,83 @@ void menu_trophy_race_round_init(void) { play_music(0x18); set_music_fade_timer(0x100); } +#else +GLOBAL_ASM("asm/non_matchings/menu/menu_trophy_race_round_init.s") #endif -void func_800983C0(UNUSED s32 arg0) { +/** + * Draws the trophy race intro text + * Ex. (DINO DOMAIN / TROPHY RACE / ROUND ONE / ANCIENT LAKE) + */ +void draw_trophy_race_text(UNUSED s32 updateRate) { s32 yPos; - char *sp28; - char *sp24; - s8 *sp20; + u8 *worldName; + u8 *levelName; + s8 *levelIds; - sp20 = get_misc_asset(26); + levelIds = (s8 *)get_misc_asset(26); if (osTvType == TV_TYPE_PAL) { yPos = 18; } else { yPos = 0; } - sp28 = func_8006BDDC(func_8006B1D4(gTrophyRaceWorldId)); - sp24 = func_8006BDDC(sp20[((gTrophyRaceWorldId - 1) * 6) + D_800E0FEC]); + worldName = get_level_name(get_hub_area_id(gTrophyRaceWorldId)); + levelName = get_level_name(levelIds[((gTrophyRaceWorldId - 1) * 6) + gTrophyRaceRound]); set_text_background_colour(0, 0, 0, 0); set_text_font(FONT_LARGE); + //Text Shadows first set_text_colour(0, 0, 0, 255, 128); - draw_text(&D_801263A0, 161, 35, sp28, 0xC); - draw_text(&D_801263A0, 161, 67, gMenuText[70], 0xC); // TROPHY RACE + draw_text(&sMenuCurrDisplayList, 161, 35, (char *)worldName, 0xC); + draw_text(&sMenuCurrDisplayList, 161, 67, gMenuText[70], 0xC); // TROPHY RACE set_text_colour(255, 255, 255, 0, 255); - draw_text(&D_801263A0, 160, 32, sp28, 0xC); - draw_text(&D_801263A0, 160, 64, gMenuText[70], 0xC); // TROPHY RACE - draw_text(&D_801263A0, 160, yPos + 176, gMenuText[138 + D_800E0FEC], 0xC); // ROUND ONE / ROUND TWO / ROUND THREE / ROUND FOUR - draw_text(&D_801263A0, 160, yPos + 208, sp24, 0xC); + draw_text(&sMenuCurrDisplayList, 160, 32, (char *)worldName, 0xC); + draw_text(&sMenuCurrDisplayList, 160, 64, gMenuText[70], 0xC); // TROPHY RACE + draw_text(&sMenuCurrDisplayList, 160, yPos + 176, gMenuText[138 + gTrophyRaceRound], 0xC); // ROUND ONE / ROUND TWO / ROUND THREE / ROUND FOUR + draw_text(&sMenuCurrDisplayList, 160, yPos + 208, (char *)levelName, 0xC); } -GLOBAL_ASM("asm/non_matchings/menu/menu_trophy_race_round_loop.s") +s32 menu_trophy_race_round_loop(s32 updateRate) { + s8 *trackMenuIds; + s16 temp_a2; + s32 temp; + + trackMenuIds = (s8 *)get_misc_asset(26); //tracks_menu_ids + if (D_800E0980 != 0) { + D_800E0980 -= updateRate; + if (D_800E0980 <= 0) { + //This is mostly likely supposed to be a multi dimensional array + temp = trackMenuIds[(((gTrophyRaceWorldId - 1) * 6) + gTrophyRaceRound)]; + temp_a2 = D_800E0758[temp]; + if (temp_a2 != -1) { + func_80001D04(temp_a2, NULL); + } + D_800E0980 = 0; + } + } + if (gMenuDelay != 0) { + gMenuDelay += updateRate; + } + if (gMenuDelay < 22) { + draw_trophy_race_text(updateRate); + } + if ((gIgnorePlayerInput == 0) && (gMenuDelay == 0)) { + func_8008E4EC(); + if ((D_801267E8 & (A_BUTTON | START_BUTTON)) != 0) { + func_800C01D8(&sMenuTransitionFadeIn); + gMenuDelay = 1; + set_music_fade_timer(-128); + } + } + if (gMenuDelay >= 31) { + func_80098754(); + gTrackIdToLoad = trackMenuIds[(((gTrophyRaceWorldId - 1) * 6) + gTrophyRaceRound)]; + D_800DF478 = 1; + return gNumberOfActivePlayers; + } + gIgnorePlayerInput = 0; + return 0; +} void func_80098754(void) { func_800C422C(2); @@ -5646,26 +5698,26 @@ GLOBAL_ASM("asm/non_matchings/menu/menu_ghost_data_init.s") GLOBAL_ASM("asm/non_matchings/menu/func_80099E8C.s") -#ifdef NON_EQUIVALENT -// Regalloc issue: v0 & v1 need to swap! -s32 menu_ghost_data_loop(s32 arg0) { +s32 menu_ghost_data_loop(s32 updateRate) { s32 i; - s32 pressedButtons, xStick, yStick; + s32 pressedButtons; + s32 xStick; + s32 yStick; s32 temp; - s32 tempDelay; + UNUSED s32 unused; - D_801263BC = (D_801263BC + arg0) & 0x3F; + D_801263BC = (D_801263BC + updateRate) & 0x3F; - if ((gMenuDelay >= -0x13) && (gMenuDelay < 0x14)) { - func_80099E8C(); + if ((gMenuDelay >= -19) && (gMenuDelay < 20)) { + func_80099E8C(updateRate); } pressedButtons = 0; if (gMenuDelay != 0) { if (gMenuDelay < 0) { - gMenuDelay -= arg0; + gMenuDelay -= updateRate; } else { - gMenuDelay += arg0; + gMenuDelay += updateRate; } } @@ -5754,9 +5806,6 @@ s32 menu_ghost_data_loop(s32 arg0) { } return 0; } -#else -GLOBAL_ASM("asm/non_matchings/menu/menu_ghost_data_loop.s") -#endif void func_8009ABAC(void) { func_8009C4A8(D_800E1708); @@ -5881,14 +5930,14 @@ void func_8009B1E4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { arg4 = 0; } - gSPDisplayList(D_801263A0++, D_800E1780); - gDPSetPrimColor(D_801263A0++, 0, 0, 0, 0, 0, arg4); - gDPSetCombineMode(D_801263A0++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); - gDPFillRectangle(D_801263A0++, arg0, arg1, arg0 + arg2, arg1 + arg3); - gDPPipeSync(D_801263A0++); - gDPSetPrimColor(D_801263A0++, 0, 0, 255, 255, 255, 255); + gSPDisplayList(sMenuCurrDisplayList++, D_800E1780); + gDPSetPrimColor(sMenuCurrDisplayList++, 0, 0, 0, 0, 0, arg4); + gDPSetCombineMode(sMenuCurrDisplayList++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); + gDPFillRectangle(sMenuCurrDisplayList++, arg0, arg1, arg0 + arg2, arg1 + arg3); + gDPPipeSync(sMenuCurrDisplayList++); + gDPSetPrimColor(sMenuCurrDisplayList++, 0, 0, 255, 255, 255, 255); - func_8007B3D0(&D_801263A0); + func_8007B3D0(&sMenuCurrDisplayList); } GLOBAL_ASM("asm/non_matchings/menu/menu_credits_loop.s") @@ -5931,7 +5980,7 @@ void func_8009BD5C(void) { temp_v0->unk14 = -32.0f; func_8001D5E0(0, 0, -1); - func_80066CDC(&D_801263A0, &D_801263A8); + func_80066CDC(&sMenuCurrDisplayList, &sMenuCurrHudMat); temp_v0->unk0 = sp2A; temp_v0->unk2 = sp28; @@ -6203,15 +6252,15 @@ void func_8009C4A8(s16 *arg0) { void func_8009C508(s32 arg0) { if (D_80126750[arg0] != 0) { if (D_80126550[arg0] != 0) { - if ((((*D_800DF750)[arg0] & 0xC000) == 0xC000) && (D_80126550[arg0] != 0)) { + if ((((*gAssetsMenuElementIds)[arg0] & 0xC000) == 0xC000) && (D_80126550[arg0] != 0)) { set_free_queue_state(0); - free_texture((u32)D_80126550[arg0]); + free_texture(D_80126550[arg0]); set_free_queue_state(2); } else { - if ((*D_800DF750)[arg0] & 0x8000) { + if ((*gAssetsMenuElementIds)[arg0] & 0x8000) { free_sprite((u32)D_80126550[arg0]); } else { - if ((*D_800DF750)[arg0] & 0x4000) { + if ((*gAssetsMenuElementIds)[arg0] & 0x4000) { gParticlePtrList_addObject((u32)D_80126550[arg0]); } else { func_8005FF40((u32)D_80126550[arg0]); @@ -6229,9 +6278,9 @@ void func_8009C508(s32 arg0) { free_from_memory_pool(gMenuImageStack); gMenuImageStack = NULL; } - if (*D_800DF750 != NULL) { - free_from_memory_pool(*D_800DF750); - *D_800DF750 = NULL; + if (*gAssetsMenuElementIds != NULL) { + free_from_memory_pool(*gAssetsMenuElementIds); + *gAssetsMenuElementIds = NULL; D_800DF754 = (u16)0; } } @@ -6790,21 +6839,21 @@ s32 tt_menu_loop(void) { case NO_CONTROLLER_PAK: // NO CONTROLLER PAK // If you wish to change / Controller Pak or Rumble Pak, / please do so now. - D_801263A4 = D_800E09D8; + D_801263A4 = sNoControllerPakMenuText; sCurrentMenuID = TT_MENU_CONT_PAK_ERROR_1; break; case CONTROLLER_PAK_FULL: case CONTROLLER_PAK_UNK6: // CONTROLLER PAK FULL // If you wish to change / Controller Pak or Rumble Pak, / please do so now. - D_801263A4 = D_800E09C4; + D_801263A4 = sControllerPakFullMenuText; sCurrentMenuID = TT_MENU_CONT_PAK_ERROR_1; break; case CONTROLLER_PAK_BAD_DATA: // CORRUPT DATA. // If you wish to change / Controller Pak or Rumble Pak, / please do so now. // TRY AGAIN! - D_801263A4 = D_800E09EC; + D_801263A4 = sCorruptDataMenuText; sCurrentMenuID = TT_MENU_CONT_PAK_ERROR_1; break; case CONTROLLER_PAK_INCONSISTENT: @@ -6814,7 +6863,7 @@ s32 tt_menu_loop(void) { default: // BAD CONTROLLER PAK // If you wish to change / Controller Pak or Rumble Pak, / please do so now. - D_801263A4 = D_800E09B0; + D_801263A4 = sBadControllerPakMenuText; sCurrentMenuID = TT_MENU_CONT_PAK_ERROR_1; break; } @@ -6888,16 +6937,16 @@ void dialogue_close_stub(void) { * Return value goes completely unused. */ f32 func_8009E9B0(UNUSED DialogueBoxBackground *textbox, Gfx **dlist, Gfx **mat, VertexList **verts) { - D_801263A0 = *dlist; - D_801263A8 = *mat; - D_801263AC = *verts; - func_80067F2C(&D_801263A0, (s32 *)&D_801263A8); + sMenuCurrDisplayList = *dlist; + sMenuCurrHudMat = *mat; + sMenuCurrHudVerts = *verts; + func_80067F2C(&sMenuCurrDisplayList, (s32 *)&sMenuCurrHudMat); if (D_800E1E28 != 0 && sCurrentMenuID == 4) { func_8009E3D0(); } - *dlist = D_801263A0; - *mat = D_801263A8; - *verts = D_801263AC; + *dlist = sMenuCurrDisplayList; + *mat = sMenuCurrHudMat; + *verts = sMenuCurrHudVerts; return TRUE; } diff --git a/src/menu.h b/src/menu.h index a0499d08..3eaa41ee 100644 --- a/src/menu.h +++ b/src/menu.h @@ -6,6 +6,7 @@ #include "PR/gbi.h" #include "fade_transition.h" #include "font.h" +#include "save_data.h" #define TT_MENU_ROOT 0 #define TT_MENU_CONT_PAK_ERROR_1 1 @@ -191,11 +192,11 @@ typedef struct unk800E153C { /* Size: 0x10 Bytes */ typedef struct unk800860A8 { - s8 unk0; + s8 unk0; //Probably SIDeviceStatus u8 pad1[0x5]; - s8 unk6; + s8 controllerIndex; u8 pad7[0x5]; - s32 unkC; //Used for bytes free in controller pak at one point. + u32 cPakBytesFree; } unk800860A8; /* Size: 0x10 bytes */ @@ -227,6 +228,12 @@ typedef struct unk8006BDB0 { s8 unk4C; } unk8006BDB0; +typedef struct TitleScreenDemos { + s8 levelId; + s8 numberOfPlayers; + s8 cutsceneId; +} TitleScreenDemos; + extern s8 D_800DF450; extern f32 D_800DF454; extern s32 D_800DF458; @@ -277,7 +284,7 @@ extern s32 D_800DF4F0[]; extern unk800DF510 sMenuImageProperties[18]; -extern s16 *D_800DF750[1]; +extern s16 *gAssetsMenuElementIds[1]; extern s16 D_800DF754; extern s16 D_800DF758; extern unk800DF510 *gMenuImageStack; @@ -467,7 +474,7 @@ extern s16 D_800E0840[148]; extern s32 D_800E0968; extern s32 D_800E096C; -extern s32 D_800E0970; +extern s32 *D_800E0970; extern s32 D_800E0974; extern f32* D_800E0978; extern s32 D_800E097C; @@ -532,7 +539,7 @@ extern s16 D_800E0FD8[6]; extern s32 D_800E0FE4; extern s32 gTrophyRaceWorldId; -extern s32 D_800E0FEC; +extern s32 gTrophyRaceRound; extern s32 D_800E0FF0; // Unused? Not sure what this is. @@ -637,11 +644,11 @@ void func_8007FF88(void); void func_80080E6C(void); void func_800813C0(void); void menu_init(u32 menuId); -s32 menu_loop(Gfx **arg0, s32 **arg1, s32 **arg2, s32 **arg3, s32 arg4); +s32 menu_loop(Gfx **currDisplayList, Gfx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate); void func_80081800(s32 arg0, s32 arg1, s32 arg2, u8 arg3, u8 arg4, u8 arg5, u8 arg6); void func_80081E54(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); void func_800828B8(void); -void print_missing_controller_text(Gfx *dl, s32 updateRate); +void print_missing_controller_text(Gfx **dl, s32 updateRate); void menu_logos_screen_init(void); s32 menu_logo_screen_loop(s32 arg0); void init_title_screen_variables(void); @@ -653,7 +660,7 @@ void func_80084734(void); void menu_audio_options_init(void); void func_800851FC(void); void menu_save_options_init(void); -s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 arg4); +s32 func_800860A8(s32 controllerIndex, s32 *arg1, unk800860A8 *arg2, s32 *arg3, s32 fileSize, s32 arg5); void func_800861C8(unk800861C8 *arg0, s32 *arg1); s32 func_800874D0(s32 buttonsPressed, s32 arg1); s32 func_800875E4(s32 buttonsPressed, s32 arg1); @@ -682,7 +689,7 @@ void func_8008E428(void); void func_8008E45C(void); void func_8008E4B0(void); void func_8008F534(void); -void func_80090ED8(s32 arg0); +void func_80090ED8(s32 updateRate); s32 func_80092BE0(s32 arg0); void menu_5_init(void); void func_80093A0C(void); @@ -698,7 +705,7 @@ s32 compress_filename_string(unsigned char *filename, s32 length); void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, s32 arg6); void func_800981E8(void); void func_80098208(void); -void func_800983C0(s32 arg0); +void draw_trophy_race_text(UNUSED s32 updateRate); void func_80098754(void); void func_80099600(void); s32 get_trophy_race_world_id(void); @@ -762,6 +769,16 @@ s32 is_in_adventure_two(void); s32 is_in_two_player_adventure(void); s32 is_tt_unlocked(void); s32 is_drumstick_unlocked(void); +s32 menu_character_select_loop(s32 updateRate); +s32 menu_caution_loop(s32 updateRate); +void func_8008DC7C(UNUSED s32 arg0); +s32 menu_5_loop(s32 updateRate); +void func_80095624(s32 status); +s32 menu_boot_loop(s32 arg0); +void menu_magic_codes_init(void); +s32 menu_game_select_loop(s32 arg0); +s32 menu_ghost_data_loop(s32 updateRate); +s32 menu_trophy_race_round_loop(s32 updateRate); // Non Matching functions below here void load_menu_text(s32 language); // Non Matching @@ -769,35 +786,49 @@ void draw_menu_elements(s32 arg0, MenuElement *elem, f32 arg2); s32 menu_audio_options_loop(s32 arg0); s32 menu_options_loop(s32 arg0); s32 func_800890AC(s32); -s32 menu_boot_loop(s32 arg0); -void menu_magic_codes_init(void); void render_magic_codes_list_menu_text(s32 arg0); s32 menu_magic_codes_list_loop(s32 arg0); void calculate_and_display_rom_checksum(void); void randomise_ai_racer_slots(s32 arg0); void menu_game_select_init(void); void func_8008C698(s32 arg0); -s32 menu_game_select_loop(s32 arg0); void render_file_select_menu(s32 arg0); -s32 menu_track_select_loop(s32 arg0); -void func_8008FF1C(s32 arg0); -void func_800904E8(s32 arg0); -void func_80090918(s32 arg0); -void render_track_select_setup_ui(s32 arg0); -void func_80092188(s32 arg0); +s32 menu_track_select_loop(s32 updateRate); +void func_8008FF1C(s32 updateRate); +void func_800904E8(s32 updateRate); +void func_80090918(s32 updateRate); +void render_track_select_setup_ui(s32 updateRate); +void func_80092188(s32 updateRate); void func_8008E4EC(void); -s32 menu_5_loop(s32 arg0); -void func_80095624(s32 arg0); s32 trim_filename_string(u8 *input, u8 *output); void menu_trophy_race_round_init(void); void menu_ghost_data_init(void); -s32 menu_ghost_data_loop(s32 arg0); void update_controller_sticks(void); s32 tt_menu_loop(void); void menu_track_select_init(void); void menu_trophy_race_rankings_init(void); void func_8009E3D0(void); -s32 func_800C3564(void); void func_8008C168(s32); +s32 menu_title_screen_loop(s32 updateRate); +s32 menu_save_options_loop(s32 updateRate); +s32 menu_magic_codes_loop(s32 updateRate); +s32 menu_file_select_loop(s32 updateRate); +s32 menu_results_loop(s32 updateRate); +s32 menu_trophy_race_rankings_loop(s32 updateRate); +s32 menu_23_loop(s32 updateRate); +s32 menu_credits_loop(s32 updateRate); +void func_8009CA60(s32 arg0); +void func_8007FFEC(s32 arg0); +void func_800871D8(s32 arg0); +SIDeviceStatus func_80087F14(s32 *controllerIndex, s32 arg1); +s32 func_8008832C(void); +void func_8009C6D4(s32 arg0); +void func_8008B358(void); +void func_8008B4C8(void); +void func_8008B758(s8 *activePlayers); +void func_8006F564(s8 arg0); +void func_80099E8C(s32 updateRate); +void func_80092E94(UNUSED s32 updateRate, s32 arg1, s32 arg2); +s32 func_800998E0(s32 arg0); #endif diff --git a/src/save_data.c b/src/save_data.c index 68cab6bc..40bd21ff 100644 --- a/src/save_data.c +++ b/src/save_data.c @@ -493,8 +493,13 @@ s32 write_time_data_to_controller_pak(s32 controllerIndex, Settings *arg1) { GLOBAL_ASM("asm/non_matchings/save_data/func_80074204.s") GLOBAL_ASM("asm/non_matchings/save_data/func_8007431C.s") -// Writes Eeprom in 5 block chunks of data starting at either 0x0, 0x5, or 0xA -// Educated guess says this might be for one of three save files +/** + * Writes Eeprom in 5 block chunks of data starting at either 0x0, 0x5, or 0xA + * In Save File: + * 0x00 - 0x27 Save 1 + * 0x28 - 0x4F Save 2 + * 0x50 - 0x77 Save 3 + */ s32 write_save_data(s32 saveFileNum, Settings *settings) { s32 startingAddress; u64 *alloc; @@ -536,11 +541,13 @@ s32 write_save_data(s32 saveFileNum, Settings *settings) { return 0; } -// Read Eeprom Data for addresses 0x10 - 0x39 -// arg1 is a flag -// arg1 is descended from (D_800DD37C & 3) so the first 2 bits of that value. -// bit 1 is for 0x10 - 0x27 -// bit 2 is for 0x28 - 0x39 +/** + * Read Eeprom Data for addresses 0x10 - 0x39 + * arg1 is a flag + * arg1 is descended from (D_800DD37C & 3) so the first 2 bits of that value. + * bit 1 is for 0x10 - 0x27 + * bit 2 is for 0x28 - 0x39 + */ s32 read_eeprom_data(Settings *arg0, u8 arg1) { u64 *alloc; s32 i; @@ -571,10 +578,13 @@ s32 read_eeprom_data(Settings *arg0, u8 arg1) { return 0; } -// Write Eeprom Data for addresses 0x10 - 0x39 -// arg1 is a flag -// bit 1 is for 0x10 - 0x27 -// bit 2 is for 0x28 - 0x39 +/** + * Write Eeprom Data for addresses 0x10 - 0x39 + * 0x80 - 0x1C8 in file + * arg1 is a flag + * bit 1 is for 0x10 - 0x27 + * bit 2 is for 0x28 - 0x39 + */ s32 write_eeprom_data(Settings *arg0, u8 arg1) { u64 *alloc; s32 i; @@ -610,6 +620,10 @@ s32 write_eeprom_data(Settings *arg0, u8 arg1) { return 0; } +/** + * Calculates a checksum for the game settings, and compares + * against this to validate the data on load. + */ s32 calculate_eeprom_settings_checksum(u64 eepromSettings) { s32 ret; s32 i; @@ -621,7 +635,11 @@ s32 calculate_eeprom_settings_checksum(u64 eepromSettings) { return ret; } -// Reads eeprom address 0xF (15) +/** + * Reads eeprom address 0xF (15) + * This contains the settings data, and global unlocks like characters + * Address (0xF * sizeof(u64)) = 0x78 - 0x80 of the actual save data file + */ s32 read_eeprom_settings(u64 *eepromSettings) { s32 temp; s32 sp20; @@ -645,7 +663,11 @@ s32 read_eeprom_settings(u64 *eepromSettings) { return 1; } -//Writes eeprom address 0xF (15) +/** + * Writes eeprom address 0xF (15) + * This contains the settings data, and global unlocks like characters + * Address (0xF * sizeof(u64)) = 0x78 - 0x80 of the actual save data file + */ s32 write_eeprom_settings(u64 *eepromSettings) { if (osEepromProbe(get_si_mesg_queue()) == 0) { return -1; diff --git a/src/save_data.h b/src/save_data.h index 7db53ac0..fcc4d721 100644 --- a/src/save_data.h +++ b/src/save_data.h @@ -30,7 +30,7 @@ typedef enum { CONTROLLER_PAK_CHANGED, CONTROLLER_PAK_UNK6, //Could be another way to mark as full according to tt_menu_loop RUMBLE_PAK, - CONTROLLER_PAK_UNK8, // func_80074B34 Sets this + CONTROLLER_PAK_UNK8, // func_80074B34 Sets this, possibly set in func_800860A8 CONTROLLER_PAK_BAD_DATA, } SIDeviceStatus;