diff --git a/asm/non_matchings/code_80091750/add_8018D9E0_entry.s b/asm/non_matchings/code_80091750/add_8018D9E0_entry.s index f24c3d8b9..320fcb299 100644 --- a/asm/non_matchings/code_80091750/add_8018D9E0_entry.s +++ b/asm/non_matchings/code_80091750/add_8018D9E0_entry.s @@ -84,7 +84,7 @@ glabel D_800F15E0 .section .text -glabel add_8018D9E0_entry +glabel add_ui_element /* 09F250 8009E650 27BDFF80 */ addiu $sp, $sp, -0x80 /* 09F254 8009E654 AFBF001C */ sw $ra, 0x1c($sp) /* 09F258 8009E658 AFA7008C */ sw $a3, 0x8c($sp) @@ -240,7 +240,7 @@ glabel L8009E888 /* 09F488 8009E888 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200 /* 09F48C 8009E88C AFBF007C */ sw $ra, 0x7c($sp) /* 09F490 8009E890 248414C8 */ addiu $a0, %lo(D_020014C8) # addiu $a0, $a0, 0x14c8 -/* 09F494 8009E894 0C0265AF */ jal func_800996BC +/* 09F494 8009E894 0C0265AF */ jal load_menu_img2 /* 09F498 8009E898 00002825 */ move $a1, $zero /* 09F49C 8009E89C 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200 /* 09F4A0 8009E8A0 0C026E55 */ jal func_8009B954 @@ -264,7 +264,7 @@ glabel L8009E8E4 /* 09F4E4 8009E8E4 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200 /* 09F4E8 8009E8E8 AFBF007C */ sw $ra, 0x7c($sp) /* 09F4EC 8009E8EC 24841540 */ addiu $a0, %lo(D_02001540) # addiu $a0, $a0, 0x1540 -/* 09F4F0 8009E8F0 0C0265AF */ jal func_800996BC +/* 09F4F0 8009E8F0 0C0265AF */ jal load_menu_img2 /* 09F4F4 8009E8F4 00002825 */ move $a1, $zero /* 09F4F8 8009E8F8 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200 /* 09F4FC 8009E8FC 0C026E55 */ jal func_8009B954 @@ -289,10 +289,10 @@ glabel L8009E940 /* 09F544 8009E944 AFBF007C */ sw $ra, 0x7c($sp) /* 09F548 8009E948 2484157C */ addiu $a0, %lo(D_0200157C) # addiu $a0, $a0, 0x157c /* 09F54C 8009E94C 00002825 */ move $a1, $zero -/* 09F550 8009E950 0C0265AF */ jal func_800996BC +/* 09F550 8009E950 0C0265AF */ jal load_menu_img2 /* 09F554 8009E954 00001025 */ move $v0, $zero /* 09F558 8009E958 3C040200 */ lui $a0, %hi(D_02001874) # $a0, 0x200 -/* 09F55C 8009E95C 0C026461 */ jal func_80099184 +/* 09F55C 8009E95C 0C026461 */ jal load_menu_img /* 09F560 8009E960 24841874 */ addiu $a0, %lo(D_02001874) # addiu $a0, $a0, 0x1874 /* 09F564 8009E964 8FBF007C */ lw $ra, 0x7c($sp) /* 09F568 8009E968 24190069 */ li $t9, 105 @@ -303,7 +303,7 @@ glabel L8009E940 .L8009E97C: /* 09F57C 8009E97C 0C026449 */ jal segmented_to_virtual_dupe /* 09F580 8009E980 AFA30024 */ sw $v1, 0x24($sp) -/* 09F584 8009E984 0C026461 */ jal func_80099184 +/* 09F584 8009E984 0C026461 */ jal load_menu_img /* 09F588 8009E988 00402025 */ move $a0, $v0 /* 09F58C 8009E98C 8FA30024 */ lw $v1, 0x24($sp) /* 09F590 8009E990 3C0E800E */ lui $t6, %hi(D_800E7D0C) # $t6, 0x800e @@ -316,7 +316,7 @@ glabel L8009E940 glabel L8009E9AC /* 09F5AC 8009E9AC 3C040200 */ lui $a0, %hi(D_020015A4) # $a0, 0x200 /* 09F5B0 8009E9B0 AFBF007C */ sw $ra, 0x7c($sp) -/* 09F5B4 8009E9B4 0C026461 */ jal func_80099184 +/* 09F5B4 8009E9B4 0C026461 */ jal load_menu_img /* 09F5B8 8009E9B8 248415A4 */ addiu $a0, %lo(D_020015A4) # addiu $a0, $a0, 0x15a4 /* 09F5BC 8009E9BC 3C040200 */ lui $a0, %hi(D_020015A4) # $a0, 0x200 /* 09F5C0 8009E9C0 0C026E55 */ jal func_8009B954 @@ -419,7 +419,7 @@ glabel L8009E9AC /* 09F744 8009EB44 0C026E66 */ jal func_8009B998 /* 09F748 8009EB48 00000000 */ nop /* 09F74C 8009EB4C 3C040200 */ lui $a0, %hi(D_020015CC) # $a0, 0x200 -/* 09F750 8009EB50 0C026461 */ jal func_80099184 +/* 09F750 8009EB50 0C026461 */ jal load_menu_img /* 09F754 8009EB54 248415CC */ addiu $a0, %lo(D_020015CC) # addiu $a0, $a0, 0x15cc /* 09F758 8009EB58 3C040200 */ lui $a0, %hi(D_020015CC) # $a0, 0x200 /* 09F75C 8009EB5C 0C026E55 */ jal func_8009B954 @@ -438,7 +438,7 @@ glabel L8009E9AC /* 09F790 8009EB90 0C026E66 */ jal func_8009B998 /* 09F794 8009EB94 AD020000 */ sw $v0, ($t0) /* 09F798 8009EB98 3C040200 */ lui $a0, %hi(D_02001630) # $a0, 0x200 -/* 09F79C 8009EB9C 0C026461 */ jal func_80099184 +/* 09F79C 8009EB9C 0C026461 */ jal load_menu_img /* 09F7A0 8009EBA0 24841630 */ addiu $a0, %lo(D_02001630) # addiu $a0, $a0, 0x1630 /* 09F7A4 8009EBA4 3C040200 */ lui $a0, %hi(D_02001630) # $a0, 0x200 /* 09F7A8 8009EBA8 0C026E55 */ jal func_8009B954 @@ -457,7 +457,7 @@ glabel L8009E9AC /* 09F7DC 8009EBDC 0C026E66 */ jal func_8009B998 /* 09F7E0 8009EBE0 AD020000 */ sw $v0, ($t0) /* 09F7E4 8009EBE4 3C040200 */ lui $a0, %hi(D_02001658) # $a0, 0x200 -/* 09F7E8 8009EBE8 0C026461 */ jal func_80099184 +/* 09F7E8 8009EBE8 0C026461 */ jal load_menu_img /* 09F7EC 8009EBEC 24841658 */ addiu $a0, %lo(D_02001658) # addiu $a0, $a0, 0x1658 /* 09F7F0 8009EBF0 3C040200 */ lui $a0, %hi(D_02001658) # $a0, 0x200 /* 09F7F4 8009EBF4 0C026E55 */ jal func_8009B954 @@ -482,7 +482,7 @@ glabel L8009EC38 /* 09F83C 8009EC3C AFBF007C */ sw $ra, 0x7c($sp) /* 09F840 8009EC40 0C026455 */ jal segmented_to_virtual_dupe_2 /* 09F844 8009EC44 8C847D34 */ lw $a0, %lo(D_800E7D34)($a0) -/* 09F848 8009EC48 0C0268DD */ jal func_8009A374 +/* 09F848 8009EC48 0C0268DD */ jal animate_character_select_menu /* 09F84C 8009EC4C 00402025 */ move $a0, $v0 /* 09F850 8009EC50 8FBF007C */ lw $ra, 0x7c($sp) /* 09F854 8009EC54 1000025E */ b .L8009F5D0 @@ -494,7 +494,7 @@ glabel L8009EC5C .L8009EC68: /* 09F868 8009EC68 0C026449 */ jal segmented_to_virtual_dupe /* 09F86C 8009EC6C AFA30024 */ sw $v1, 0x24($sp) -/* 09F870 8009EC70 0C026461 */ jal func_80099184 +/* 09F870 8009EC70 0C026461 */ jal load_menu_img /* 09F874 8009EC74 00402025 */ move $a0, $v0 /* 09F878 8009EC78 8FA30024 */ lw $v1, 0x24($sp) /* 09F87C 8009EC7C 3C0F800E */ lui $t7, %hi(D_800E7D34) # $t7, 0x800e @@ -506,7 +506,7 @@ glabel L8009EC5C /* 09F894 8009EC94 8FBF001C */ lw $ra, 0x1c($sp) glabel L8009EC98 /* 09F898 8009EC98 3C040200 */ lui $a0, %hi(D_0200184C) # $a0, 0x200 -/* 09F89C 8009EC9C 0C026461 */ jal func_80099184 +/* 09F89C 8009EC9C 0C026461 */ jal load_menu_img /* 09F8A0 8009ECA0 2484184C */ addiu $a0, %lo(D_0200184C) # addiu $a0, $a0, 0x184c /* 09F8A4 8009ECA4 1000024B */ b .L8009F5D4 /* 09F8A8 8009ECA8 8FBF001C */ lw $ra, 0x1c($sp) @@ -517,27 +517,27 @@ glabel L8009ECAC /* 09F8B8 8009ECB8 3C04800E */ lui $a0, %hi(D_800E7D4C) /* 09F8BC 8009ECBC 00982021 */ addu $a0, $a0, $t8 /* 09F8C0 8009ECC0 8C847D4C */ lw $a0, %lo(D_800E7D4C)($a0) -/* 09F8C4 8009ECC4 0C0265AF */ jal func_800996BC +/* 09F8C4 8009ECC4 0C0265AF */ jal load_menu_img2 /* 09F8C8 8009ECC8 00002825 */ move $a1, $zero /* 09F8CC 8009ECCC 10000241 */ b .L8009F5D4 /* 09F8D0 8009ECD0 8FBF001C */ lw $ra, 0x1c($sp) glabel L8009ECD4 -/* 09F8D4 8009ECD4 0C01BB91 */ jal func_8006EE44 +/* 09F8D4 8009ECD4 0C01BB91 */ jal load_mario_kart_64_logo /* 09F8D8 8009ECD8 00000000 */ nop -/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(gD_8018E118TotalSize) # $v0, 0x8019 -/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(gD_8018E118TotalSize) # addiu $v0, $v0, -0x1ef0 +/* 09F8DC 8009ECDC 3C028019 */ lui $v0, %hi(gMenuTextureBufferIndex) # $v0, 0x8019 +/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(gMenuTextureBufferIndex) # addiu $v0, $v0, -0x1ef0 /* 09F8E4 8009ECE4 8C590000 */ lw $t9, ($v0) /* 09F8E8 8009ECE8 3C010001 */ lui $at, 1 /* 09F8EC 8009ECEC 3C040200 */ lui $a0, %hi(D_020045E8) # $a0, 0x200 /* 09F8F0 8009ECF0 03217021 */ addu $t6, $t9, $at /* 09F8F4 8009ECF4 AC4E0000 */ sw $t6, ($v0) -/* 09F8F8 8009ECF8 0C026461 */ jal func_80099184 +/* 09F8F8 8009ECF8 0C026461 */ jal load_menu_img /* 09F8FC 8009ECFC 248445E8 */ addiu $a0, %lo(D_020045E8) # addiu $a0, $a0, 0x45e8 /* 09F900 8009ED00 10000234 */ b .L8009F5D4 /* 09F904 8009ED04 8FBF001C */ lw $ra, 0x1c($sp) glabel L8009ED08 /* 09F908 8009ED08 3C040200 */ lui $a0, %hi(D_02004610) # $a0, 0x200 -/* 09F90C 8009ED0C 0C026461 */ jal func_80099184 +/* 09F90C 8009ED0C 0C026461 */ jal load_menu_img /* 09F910 8009ED10 24844610 */ addiu $a0, %lo(D_02004610) # addiu $a0, $a0, 0x4610 /* 09F914 8009ED14 1000022F */ b .L8009F5D4 /* 09F918 8009ED18 8FBF001C */ lw $ra, 0x1c($sp) @@ -548,14 +548,14 @@ glabel L8009ED1C /* 09F928 8009ED28 3C04800E */ lui $a0, %hi(D_800E7D4C) /* 09F92C 8009ED2C 008F2021 */ addu $a0, $a0, $t7 /* 09F930 8009ED30 8C847D4C */ lw $a0, %lo(D_800E7D4C)($a0) -/* 09F934 8009ED34 0C0265AF */ jal func_800996BC +/* 09F934 8009ED34 0C0265AF */ jal load_menu_img2 /* 09F938 8009ED38 00002825 */ move $a1, $zero /* 09F93C 8009ED3C 3C040200 */ lui $a0, %hi(D_02004B74) # $a0, 0x200 /* 09F940 8009ED40 24844B74 */ addiu $a0, %lo(D_02004B74) # addiu $a0, $a0, 0x4b74 -/* 09F944 8009ED44 0C0265AF */ jal func_800996BC +/* 09F944 8009ED44 0C0265AF */ jal load_menu_img2 /* 09F948 8009ED48 00002825 */ move $a1, $zero /* 09F94C 8009ED4C 00002025 */ move $a0, $zero -/* 09F950 8009ED50 0C026C29 */ jal func_8009B0A4 +/* 09F950 8009ED50 0C026C29 */ jal convert_img_to_greyscale /* 09F954 8009ED54 24050019 */ li $a1, 25 /* 09F958 8009ED58 8FB80080 */ lw $t8, 0x80($sp) /* 09F95C 8009ED5C 3C0E800E */ lui $t6, %hi(D_800E74E8) # $t6, 0x800e @@ -568,7 +568,7 @@ glabel L8009ED1C /* 09F978 8009ED78 9446FEE8 */ lhu $a2, -0x118($v0) /* 09F97C 8009ED7C 9447FEEA */ lhu $a3, -0x116($v0) /* 09F980 8009ED80 00002025 */ move $a0, $zero -/* 09F984 8009ED84 0C026D4E */ jal func_8009B538 +/* 09F984 8009ED84 0C026D4E */ jal adjust_img_colour /* 09F988 8009ED88 AFAF0010 */ sw $t7, 0x10($sp) /* 09F98C 8009ED8C 10000211 */ b .L8009F5D4 /* 09F990 8009ED90 8FBF001C */ lw $ra, 0x1c($sp) @@ -583,7 +583,7 @@ glabel L8009ED9C /* 09F9AC 8009EDAC 0C026449 */ jal segmented_to_virtual_dupe /* 09F9B0 8009EDB0 8C84822C */ lw $a0, %lo(D_800E822C)($a0) # -0x7dd4($a0) /* 09F9B4 8009EDB4 00402025 */ move $a0, $v0 -/* 09F9B8 8009EDB8 0C0265AF */ jal func_800996BC +/* 09F9B8 8009EDB8 0C0265AF */ jal load_menu_img2 /* 09F9BC 8009EDBC 00002825 */ move $a1, $zero /* 09F9C0 8009EDC0 10000204 */ b .L8009F5D4 /* 09F9C4 8009EDC4 8FBF001C */ lw $ra, 0x1c($sp) @@ -597,19 +597,19 @@ glabel L8009EDC8 /* 09F9E0 8009EDE0 0C026449 */ jal segmented_to_virtual_dupe /* 09F9E4 8009EDE4 AFA20024 */ sw $v0, 0x24($sp) /* 09F9E8 8009EDE8 00402025 */ move $a0, $v0 -/* 09F9EC 8009EDEC 0C0265AF */ jal func_800996BC +/* 09F9EC 8009EDEC 0C0265AF */ jal load_menu_img2 /* 09F9F0 8009EDF0 00002825 */ move $a1, $zero /* 09F9F4 8009EDF4 8FAF0024 */ lw $t7, 0x24($sp) /* 09F9F8 8009EDF8 0C026449 */ jal segmented_to_virtual_dupe /* 09F9FC 8009EDFC 8DE4FFAC */ lw $a0, -0x54($t7) -/* 09FA00 8009EE00 0C026461 */ jal func_80099184 +/* 09FA00 8009EE00 0C026461 */ jal load_menu_img /* 09FA04 8009EE04 00402025 */ move $a0, $v0 /* 09FA08 8009EE08 100001F2 */ b .L8009F5D4 /* 09FA0C 8009EE0C 8FBF001C */ lw $ra, 0x1c($sp) glabel L8009EE10 /* 09FA10 8009EE10 3C040200 */ lui $a0, %hi(D_02004B4C) # $a0, 0x200 /* 09FA14 8009EE14 24844B4C */ addiu $a0, %lo(D_02004B4C) # addiu $a0, $a0, 0x4b4c -/* 09FA18 8009EE18 0C0265AF */ jal func_800996BC +/* 09FA18 8009EE18 0C0265AF */ jal load_menu_img2 /* 09FA1C 8009EE1C 00002825 */ move $a1, $zero /* 09FA20 8009EE20 100001EC */ b .L8009F5D4 /* 09FA24 8009EE24 8FBF001C */ lw $ra, 0x1c($sp) @@ -617,7 +617,7 @@ glabel L8009EE28 /* 09FA28 8009EE28 3C040200 */ lui $a0, %hi(D_02004B74) # $a0, 0x200 /* 09FA2C 8009EE2C AFBF007C */ sw $ra, 0x7c($sp) /* 09FA30 8009EE30 24844B74 */ addiu $a0, %lo(D_02004B74) # addiu $a0, $a0, 0x4b74 -/* 09FA34 8009EE34 0C0265AF */ jal func_800996BC +/* 09FA34 8009EE34 0C0265AF */ jal load_menu_img2 /* 09FA38 8009EE38 00002825 */ move $a1, $zero /* 09FA3C 8009EE3C 8FBF007C */ lw $ra, 0x7c($sp) /* 09FA40 8009EE40 24180020 */ li $t8, 32 @@ -630,7 +630,7 @@ glabel L8009EE4C /* 09FA58 8009EE58 008E2021 */ addu $a0, $a0, $t6 /* 09FA5C 8009EE5C 0C026449 */ jal segmented_to_virtual_dupe /* 09FA60 8009EE60 8C8481E4 */ lw $a0, %lo(D_800E81E4)($a0) # -0x7e1c($a0) -/* 09FA64 8009EE64 0C026461 */ jal func_80099184 +/* 09FA64 8009EE64 0C026461 */ jal load_menu_img /* 09FA68 8009EE68 00402025 */ move $a0, $v0 /* 09FA6C 8009EE6C 100001D9 */ b .L8009F5D4 /* 09FA70 8009EE70 8FBF001C */ lw $ra, 0x1c($sp) @@ -644,7 +644,7 @@ glabel L8009EE74 /* 09FA8C 8009EE8C 01E03025 */ move $a2, $t7 /* 09FA90 8009EE90 0C026455 */ jal segmented_to_virtual_dupe_2 /* 09FA94 8009EE94 AFAF0024 */ sw $t7, 0x24($sp) -/* 09FA98 8009EE98 0C0268DD */ jal func_8009A374 +/* 09FA98 8009EE98 0C0268DD */ jal animate_character_select_menu /* 09FA9C 8009EE9C 00402025 */ move $a0, $v0 /* 09FAA0 8009EEA0 8FA60024 */ lw $a2, 0x24($sp) /* 09FAA4 8009EEA4 8FBF007C */ lw $ra, 0x7c($sp) @@ -654,7 +654,7 @@ glabel L8009EE74 /* 09FAB4 8009EEB4 0C026449 */ jal segmented_to_virtual_dupe /* 09FAB8 8009EEB8 8C847CA8 */ lw $a0, %lo(D_800E7D54 - 0xAC)($a0) /* 09FABC 8009EEBC 00402025 */ move $a0, $v0 -/* 09FAC0 8009EEC0 0C0265AF */ jal func_800996BC +/* 09FAC0 8009EEC0 0C0265AF */ jal load_menu_img2 /* 09FAC4 8009EEC4 00002825 */ move $a1, $zero /* 09FAC8 8009EEC8 100001C2 */ b .L8009F5D4 /* 09FACC 8009EECC 8FBF001C */ lw $ra, 0x1c($sp) @@ -666,7 +666,7 @@ glabel L8009EED0 /* 09FAE0 8009EEE0 00992021 */ addu $a0, $a0, $t9 /* 09FAE4 8009EEE4 0C026455 */ jal segmented_to_virtual_dupe_2 /* 09FAE8 8009EEE8 8C8480A0 */ lw $a0, %lo(D_800E80A0)($a0) # -0x7f60($a0) -/* 09FAEC 8009EEEC 0C0268DD */ jal func_8009A374 +/* 09FAEC 8009EEEC 0C0268DD */ jal animate_character_select_menu /* 09FAF0 8009EEF0 00402025 */ move $a0, $v0 /* 09FAF4 8009EEF4 8FBF007C */ lw $ra, 0x7c($sp) /* 09FAF8 8009EEF8 100001B5 */ b .L8009F5D0 @@ -682,7 +682,7 @@ glabel L8009EF08 /* 09FB18 8009EF18 0C026449 */ jal segmented_to_virtual_dupe /* 09FB1C 8009EF1C 8C84817C */ lw $a0, %lo(D_800E817C)($a0) # -0x7e84($a0) /* 09FB20 8009EF20 00402025 */ move $a0, $v0 -/* 09FB24 8009EF24 0C0265AF */ jal func_800996BC +/* 09FB24 8009EF24 0C0265AF */ jal load_menu_img2 /* 09FB28 8009EF28 00002825 */ move $a1, $zero /* 09FB2C 8009EF2C 100001A9 */ b .L8009F5D4 /* 09FB30 8009EF30 8FBF001C */ lw $ra, 0x1c($sp) @@ -698,7 +698,7 @@ glabel L8009EF34 /* 09FB54 8009EF54 00982021 */ addu $a0, $a0, $t8 /* 09FB58 8009EF58 0C026455 */ jal segmented_to_virtual_dupe_2 /* 09FB5C 8009EF5C 8C847E34 */ lw $a0, %lo(D_800E7E34)($a0) -/* 09FB60 8009EF60 0C0268DD */ jal func_8009A374 +/* 09FB60 8009EF60 0C0268DD */ jal animate_character_select_menu /* 09FB64 8009EF64 00402025 */ move $a0, $v0 /* 09FB68 8009EF68 8FBF007C */ lw $ra, 0x7c($sp) /* 09FB6C 8009EF6C 10000198 */ b .L8009F5D0 @@ -751,7 +751,7 @@ glabel L8009EFB8 /* 09FC18 8009F018 008E2021 */ addu $a0, $a0, $t6 /* 09FC1C 8009F01C 0C026455 */ jal segmented_to_virtual_dupe_2 /* 09FC20 8009F020 8C847E20 */ lw $a0, %lo(D_800E7E20)($a0) -/* 09FC24 8009F024 0C0268DD */ jal func_8009A374 +/* 09FC24 8009F024 0C0268DD */ jal animate_character_select_menu /* 09FC28 8009F028 00402025 */ move $a0, $v0 /* 09FC2C 8009F02C 8FBF007C */ lw $ra, 0x7c($sp) /* 09FC30 8009F030 3C03800E */ lui $v1, %hi(D_800E7268) # $v1, 0x800e @@ -772,7 +772,7 @@ glabel L8009F050 /* 09FC68 8009F068 0C026449 */ jal segmented_to_virtual_dupe /* 09FC6C 8009F06C 8C848294 */ lw $a0, %lo(D_800E8294)($a0) # -0x7d6c($a0) /* 09FC70 8009F070 00402025 */ move $a0, $v0 -/* 09FC74 8009F074 0C0265AF */ jal func_800996BC +/* 09FC74 8009F074 0C0265AF */ jal load_menu_img2 /* 09FC78 8009F078 00002825 */ move $a1, $zero /* 09FC7C 8009F07C 8FBF007C */ lw $ra, 0x7c($sp) /* 09FC80 8009F080 24180037 */ li $t8, 55 @@ -785,7 +785,7 @@ glabel L8009F094 /* 09FC98 8009F098 0C026449 */ jal segmented_to_virtual_dupe /* 09FC9C 8009F09C 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c /* 09FCA0 8009F0A0 00402025 */ move $a0, $v0 -/* 09FCA4 8009F0A4 0C0265AF */ jal func_800996BC +/* 09FCA4 8009F0A4 0C0265AF */ jal load_menu_img2 /* 09FCA8 8009F0A8 00002825 */ move $a1, $zero /* 09FCAC 8009F0AC 0C02D6E5 */ jal controller_pak_1_status /* 09FCB0 8009F0B0 00000000 */ nop @@ -809,7 +809,7 @@ glabel L8009F0E0 /* 09FCF0 8009F0F0 0C026449 */ jal segmented_to_virtual_dupe /* 09FCF4 8009F0F4 8C848114 */ lw $a0, %lo(D_800E8114)($a0) # -0x7eec($a0) /* 09FCF8 8009F0F8 00402025 */ move $a0, $v0 -/* 09FCFC 8009F0FC 0C0265AF */ jal func_800996BC +/* 09FCFC 8009F0FC 0C0265AF */ jal load_menu_img2 /* 09FD00 8009F100 00002825 */ move $a1, $zero /* 09FD04 8009F104 10000133 */ b .L8009F5D4 /* 09FD08 8009F108 8FBF001C */ lw $ra, 0x1c($sp) @@ -818,7 +818,7 @@ glabel L8009F10C /* 09FD10 8009F110 0C026449 */ jal segmented_to_virtual_dupe /* 09FD14 8009F114 24844A34 */ addiu $a0, %lo(D_02004A34) # addiu $a0, $a0, 0x4a34 /* 09FD18 8009F118 00402025 */ move $a0, $v0 -/* 09FD1C 8009F11C 0C0265AF */ jal func_800996BC +/* 09FD1C 8009F11C 0C0265AF */ jal load_menu_img2 /* 09FD20 8009F120 00002825 */ move $a1, $zero /* 09FD24 8009F124 0C02D6E5 */ jal controller_pak_1_status /* 09FD28 8009F128 00000000 */ nop @@ -838,7 +838,7 @@ glabel L8009F158 /* 09FD58 8009F158 3C040200 */ lui $a0, %hi(D_02001FA4) # $a0, 0x200 /* 09FD5C 8009F15C 0C026449 */ jal segmented_to_virtual_dupe /* 09FD60 8009F160 24841FA4 */ addiu $a0, %lo(D_02001FA4) # addiu $a0, $a0, 0x1fa4 -/* 09FD64 8009F164 0C026461 */ jal func_80099184 +/* 09FD64 8009F164 0C026461 */ jal load_menu_img /* 09FD68 8009F168 00402025 */ move $a0, $v0 /* 09FD6C 8009F16C 10000119 */ b .L8009F5D4 /* 09FD70 8009F170 8FBF001C */ lw $ra, 0x1c($sp) @@ -869,7 +869,7 @@ glabel L8009F174 /* 09FDC8 8009F1C8 0C026449 */ jal segmented_to_virtual_dupe /* 09FDCC 8009F1CC 8C847D74 */ lw $a0, %lo(D_800E7D74)($a0) /* 09FDD0 8009F1D0 00402025 */ move $a0, $v0 -/* 09FDD4 8009F1D4 0C0265AF */ jal func_800996BC +/* 09FDD4 8009F1D4 0C0265AF */ jal load_menu_img2 /* 09FDD8 8009F1D8 2405FFFF */ li $a1, -1 /* 09FDDC 8009F1DC 8FBF007C */ lw $ra, 0x7c($sp) /* 09FDE0 8009F1E0 3C04800E */ lui $a0, %hi(D_800E7DC4) @@ -897,13 +897,13 @@ glabel L8009F174 /* 09FE30 8009F230 0C026449 */ jal segmented_to_virtual_dupe /* 09FE34 8009F234 8C847DC4 */ lw $a0, %lo(D_800E7DC4)($a0) /* 09FE38 8009F238 00402025 */ move $a0, $v0 -/* 09FE3C 8009F23C 0C0265AF */ jal func_800996BC +/* 09FE3C 8009F23C 0C0265AF */ jal load_menu_img2 /* 09FE40 8009F240 00002825 */ move $a1, $zero /* 09FE44 8009F244 3C040200 */ lui $a0, %hi(D_02004A0C) # $a0, 0x200 /* 09FE48 8009F248 0C026449 */ jal segmented_to_virtual_dupe /* 09FE4C 8009F24C 24844A0C */ addiu $a0, %lo(D_02004A0C) # addiu $a0, $a0, 0x4a0c /* 09FE50 8009F250 00402025 */ move $a0, $v0 -/* 09FE54 8009F254 0C0265AF */ jal func_800996BC +/* 09FE54 8009F254 0C0265AF */ jal load_menu_img2 /* 09FE58 8009F258 00002825 */ move $a1, $zero /* 09FE5C 8009F25C 100000DD */ b .L8009F5D4 /* 09FE60 8009F260 8FBF001C */ lw $ra, 0x1c($sp) @@ -975,14 +975,14 @@ glabel L8009F264 /* 09FF50 8009F350 0C026449 */ jal segmented_to_virtual_dupe /* 09FF54 8009F354 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0) /* 09FF58 8009F358 00402025 */ move $a0, $v0 -/* 09FF5C 8009F35C 0C0265AF */ jal func_800996BC +/* 09FF5C 8009F35C 0C0265AF */ jal load_menu_img2 /* 09FF60 8009F360 00002825 */ move $a1, $zero /* 09FF64 8009F364 8FA60024 */ lw $a2, 0x24($sp) /* 09FF68 8009F368 3C04800E */ lui $a0, %hi(D_800E7FF0) /* 09FF6C 8009F36C 00862021 */ addu $a0, $a0, $a2 /* 09FF70 8009F370 0C026449 */ jal segmented_to_virtual_dupe /* 09FF74 8009F374 8C847FF0 */ lw $a0, %lo(D_800E7FF0)($a0) -/* 09FF78 8009F378 0C026461 */ jal func_80099184 +/* 09FF78 8009F378 0C026461 */ jal load_menu_img /* 09FF7C 8009F37C 00402025 */ move $a0, $v0 /* 09FF80 8009F380 10000094 */ b .L8009F5D4 /* 09FF84 8009F384 8FBF001C */ lw $ra, 0x1c($sp) @@ -1058,7 +1058,7 @@ glabel L8009F430 /* 0A0080 8009F480 008F2021 */ addu $a0, $a0, $t7 /* 0A0084 8009F484 0C026455 */ jal segmented_to_virtual_dupe_2 /* 0A0088 8009F488 8C847E34 */ lw $a0, %lo(D_800E7E34)($a0) -/* 0A008C 8009F48C 0C0268DD */ jal func_8009A374 +/* 0A008C 8009F48C 0C0268DD */ jal animate_character_select_menu /* 0A0090 8009F490 00402025 */ move $a0, $v0 /* 0A0094 8009F494 8FBF007C */ lw $ra, 0x7c($sp) /* 0A0098 8009F498 3C198019 */ lui $t9, %hi(gTimeTrialDataCourseIndex) # $t9, 0x8019 @@ -1070,7 +1070,7 @@ glabel L8009F430 /* 0A00B0 8009F4B0 0C026449 */ jal segmented_to_virtual_dupe /* 0A00B4 8009F4B4 00000000 */ nop /* 0A00B8 8009F4B8 00402025 */ move $a0, $v0 -/* 0A00BC 8009F4BC 0C0265AF */ jal func_800996BC +/* 0A00BC 8009F4BC 0C0265AF */ jal load_menu_img2 /* 0A00C0 8009F4C0 00002825 */ move $a1, $zero /* 0A00C4 8009F4C4 0C01BBD8 */ jal func_8006EF60 /* 0A00C8 8009F4C8 00000000 */ nop @@ -1098,7 +1098,7 @@ glabel L8009F510 /* 0A0114 8009F514 0C026449 */ jal segmented_to_virtual_dupe /* 0A0118 8009F518 24844638 */ addiu $a0, %lo(D_02004638) # addiu $a0, $a0, 0x4638 /* 0A011C 8009F51C 00402025 */ move $a0, $v0 -/* 0A0120 8009F520 0C0265AF */ jal func_800996BC +/* 0A0120 8009F520 0C0265AF */ jal load_menu_img2 /* 0A0124 8009F524 00002825 */ move $a1, $zero /* 0A0128 8009F528 1000002A */ b .L8009F5D4 /* 0A012C 8009F52C 8FBF001C */ lw $ra, 0x1c($sp) @@ -1146,7 +1146,7 @@ glabel L8009F530 /* 0A01BC 8009F5BC 0C026449 */ jal segmented_to_virtual_dupe /* 0A01C0 8009F5C0 8C847D54 */ lw $a0, %lo(D_800E7D54)($a0) /* 0A01C4 8009F5C4 00402025 */ move $a0, $v0 -/* 0A01C8 8009F5C8 0C0265AF */ jal func_800996BC +/* 0A01C8 8009F5C8 0C0265AF */ jal load_menu_img2 /* 0A01CC 8009F5CC 00002825 */ move $a1, $zero .L8009F5D0: glabel L8009F5D0 diff --git a/asm/non_matchings/code_80091750/func_80099184.s b/asm/non_matchings/code_80091750/func_80099184.s index 9df413353..2c09fe763 100644 --- a/asm/non_matchings/code_80091750/func_80099184.s +++ b/asm/non_matchings/code_80091750/func_80099184.s @@ -1,4 +1,4 @@ -glabel func_80099184 +glabel load_menu_img /* 099D84 80099184 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 099D88 80099188 AFBF0034 */ sw $ra, 0x34($sp) /* 099D8C 8009918C AFB60030 */ sw $s6, 0x30($sp) @@ -16,10 +16,10 @@ glabel func_80099184 /* 099DBC 800991BC 3C158019 */ lui $s5, %hi(D_8018D9B0) # $s5, 0x8019 /* 099DC0 800991C0 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019 /* 099DC4 800991C4 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019 -/* 099DC8 800991C8 3C128019 */ lui $s2, %hi(gD_8018E118TotalSize) # $s2, 0x8019 +/* 099DC8 800991C8 3C128019 */ lui $s2, %hi(gMenuTextureBufferIndex) # $s2, 0x8019 /* 099DCC 800991CC 3C108019 */ lui $s0, %hi(D_8018E118) # $s0, 0x8019 /* 099DD0 800991D0 2610E118 */ addiu $s0, %lo(D_8018E118) # addiu $s0, $s0, -0x1ee8 -/* 099DD4 800991D4 2652E110 */ addiu $s2, %lo(gD_8018E118TotalSize) # addiu $s2, $s2, -0x1ef0 +/* 099DD4 800991D4 2652E110 */ addiu $s2, %lo(gMenuTextureBufferIndex) # addiu $s2, $s2, -0x1ef0 /* 099DD8 800991D8 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8 /* 099DDC 800991DC 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c /* 099DE0 800991E0 26B5D9B0 */ addiu $s5, %lo(D_8018D9B0) # addiu $s5, $s5, -0x2650 diff --git a/asm/non_matchings/code_80091750/func_80099394.s b/asm/non_matchings/code_80091750/func_80099394.s index 947f8a697..85febe6cc 100644 --- a/asm/non_matchings/code_80091750/func_80099394.s +++ b/asm/non_matchings/code_80091750/func_80099394.s @@ -15,10 +15,10 @@ glabel func_80099394 /* 099FC8 800993C8 11C0004E */ beqz $t6, .L80099504 /* 099FCC 800993CC 26D6D9B0 */ addiu $s6, %lo(D_8018D9B0) # addiu $s6, $s6, -0x2650 /* 099FD0 800993D0 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019 -/* 099FD4 800993D4 3C138019 */ lui $s3, %hi(gD_8018E118TotalSize) # $s3, 0x8019 +/* 099FD4 800993D4 3C138019 */ lui $s3, %hi(gMenuTextureBufferIndex) # $s3, 0x8019 /* 099FD8 800993D8 3C118019 */ lui $s1, %hi(D_8018E118) # $s1, 0x8019 /* 099FDC 800993DC 2631E118 */ addiu $s1, %lo(D_8018E118) # addiu $s1, $s1, -0x1ee8 -/* 099FE0 800993E0 2673E110 */ addiu $s3, %lo(gD_8018E118TotalSize) # addiu $s3, $s3, -0x1ef0 +/* 099FE0 800993E0 2673E110 */ addiu $s3, %lo(gMenuTextureBufferIndex) # addiu $s3, $s3, -0x1ef0 /* 099FE4 800993E4 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8 /* 099FE8 800993E8 24150005 */ li $s5, 5 /* 099FEC 800993EC 8E830000 */ lw $v1, ($s4) diff --git a/asm/non_matchings/code_80091750/func_8009952C.s b/asm/non_matchings/code_80091750/func_8009952C.s index de792ba29..57815908c 100644 --- a/asm/non_matchings/code_80091750/func_8009952C.s +++ b/asm/non_matchings/code_80091750/func_8009952C.s @@ -15,10 +15,10 @@ glabel func_8009952C /* 09A160 80099560 26B5D9B0 */ addiu $s5, %lo(D_8018D9B0) # addiu $s5, $s5, -0x2650 /* 09A164 80099564 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019 /* 09A168 80099568 3C138019 */ lui $s3, %hi(gNumD_8018E118Entries) # $s3, 0x8019 -/* 09A16C 8009956C 3C128019 */ lui $s2, %hi(gD_8018E118TotalSize) # $s2, 0x8019 +/* 09A16C 8009956C 3C128019 */ lui $s2, %hi(gMenuTextureBufferIndex) # $s2, 0x8019 /* 09A170 80099570 3C108019 */ lui $s0, %hi(D_8018E118) # $s0, 0x8019 /* 09A174 80099574 2610E118 */ addiu $s0, %lo(D_8018E118) # addiu $s0, $s0, -0x1ee8 -/* 09A178 80099578 2652E110 */ addiu $s2, %lo(gD_8018E118TotalSize) # addiu $s2, $s2, -0x1ef0 +/* 09A178 80099578 2652E110 */ addiu $s2, %lo(gMenuTextureBufferIndex) # addiu $s2, $s2, -0x1ef0 /* 09A17C 8009957C 2673E758 */ addiu $s3, %lo(gNumD_8018E118Entries) # addiu $s3, $s3, -0x18a8 /* 09A180 80099580 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c /* 09A184 80099584 8E630000 */ lw $v1, ($s3) diff --git a/asm/non_matchings/code_80091750/func_800996BC.s b/asm/non_matchings/code_80091750/func_800996BC.s index c38ba4f97..a35f144e1 100644 --- a/asm/non_matchings/code_80091750/func_800996BC.s +++ b/asm/non_matchings/code_80091750/func_800996BC.s @@ -1,4 +1,4 @@ -glabel func_800996BC +glabel load_menu_img2 /* 09A2BC 800996BC 27BDFFC0 */ addiu $sp, $sp, -0x40 /* 09A2C0 800996C0 AFBF003C */ sw $ra, 0x3c($sp) /* 09A2C4 800996C4 AFB20020 */ sw $s2, 0x20($sp) @@ -19,10 +19,10 @@ glabel func_800996BC /* 09A300 80099700 2417FFFF */ li $s7, -1 /* 09A304 80099704 3C158019 */ lui $s5, %hi(D_8018D9B4) # $s5, 0x8019 /* 09A308 80099708 3C148019 */ lui $s4, %hi(gNumD_8018E118Entries) # $s4, 0x8019 -/* 09A30C 8009970C 3C138019 */ lui $s3, %hi(gD_8018E118TotalSize) # $s3, 0x8019 +/* 09A30C 8009970C 3C138019 */ lui $s3, %hi(gMenuTextureBufferIndex) # $s3, 0x8019 /* 09A310 80099710 3C118019 */ lui $s1, %hi(D_8018E118) # $s1, 0x8019 /* 09A314 80099714 2631E118 */ addiu $s1, %lo(D_8018E118) # addiu $s1, $s1, -0x1ee8 -/* 09A318 80099718 2673E110 */ addiu $s3, %lo(gD_8018E118TotalSize) # addiu $s3, $s3, -0x1ef0 +/* 09A318 80099718 2673E110 */ addiu $s3, %lo(gMenuTextureBufferIndex) # addiu $s3, $s3, -0x1ef0 /* 09A31C 8009971C 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8 /* 09A320 80099720 26B5D9B4 */ addiu $s5, %lo(D_8018D9B4) # addiu $s5, $s5, -0x264c /* 09A324 80099724 24160001 */ li $s6, 1 diff --git a/include/defines.h b/include/defines.h index 8ad87e4e5..c48de0ff6 100644 --- a/include/defines.h +++ b/include/defines.h @@ -199,7 +199,7 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR }; #define CONTROLLER_PAK_MENU 9 #define START_MENU 10 #define MAIN_MENU 11 -#define PLAYER_SELECT_MENU 12 +#define CHARACTER_SELECT_MENU 12 #define COURSE_SELECT_MENU 13 #define RACING_DUPLICATE 14 diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index c2c830217..d975f65e3 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -126,7 +126,7 @@ u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) { return baseAddress; } -void func_8006EE44(void) { +void load_mario_kart_64_logo(void) { D_8018D1E0 = func_8006ED94((u8*) &gTextureLogoMarioKart64, (u8*) D_8018D9B0, 0x79E1, 0x20000); } diff --git a/src/code_8006E9C0.h b/src/code_8006E9C0.h index 61f8ab4f9..b26dab556 100644 --- a/src/code_8006E9C0.h +++ b/src/code_8006E9C0.h @@ -9,7 +9,7 @@ void reset_object_variable(void); void func_8006EB10(void); void clear_object_list(void); u8* func_8006ED94(u8*, u8*, u32, u32); -void func_8006EE44(void); +void load_mario_kart_64_logo(void); void init_item_window(s32); void func_8006EEE8(s32); void func_8006EF60(void); diff --git a/src/code_80091750.c b/src/code_80091750.c index bea331274..c8265cae2 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -56,7 +56,7 @@ struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE]; struct_8018E060_entry D_8018E060[D_8018E060_SIZE]; UNUSED u8 code_80091750_bss_padding0[8]; struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE]; -s32 gD_8018E118TotalSize; +s32 gMenuTextureBufferIndex; struct_8018E118_entry D_8018E118[D_8018E118_SIZE]; s32 gNumD_8018E118Entries; Gfx* D_8018E75C; @@ -1203,7 +1203,7 @@ void func_80091B78(void) { D_800DC5EC->screenWidth = SCREEN_WIDTH; D_800DC5EC->screenHeight = SCREEN_HEIGHT; D_800E86A4 = 1; - func_80094C60(); + render_menus(); for (i = 0; i < 4; i++) { func_800C97C4((u8) i); @@ -1298,19 +1298,19 @@ void func_80091FA4(void) { func_8009A344(); func_8009E620(); func_80092258(); - add_8018D9E0_entry(D_8018D9E0_TYPE_096, 0x00000064, 0x00000024, D_8018D9E0_PRIORITY_1); - add_8018D9E0_entry(D_8018D9E0_TYPE_097, 0x00000064, 0x000000DD, D_8018D9E0_PRIORITY_1); - add_8018D9E0_entry(D_8018D9E0_TYPE_098, 0, 0, D_8018D9E0_PRIORITY_0); - add_8018D9E0_entry(D_8018D9E0_TYPE_0C7, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_096, 0x00000064, 0x00000024, D_8018D9E0_PRIORITY_1); + add_ui_element(D_8018D9E0_TYPE_097, 0x00000064, 0x000000DD, D_8018D9E0_PRIORITY_1); + add_ui_element(D_8018D9E0_TYPE_098, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0C7, 0, 0, D_8018D9E0_PRIORITY_0); if (gModeSelection == TIME_TRIALS) { - add_8018D9E0_entry(D_8018D9E0_TYPE_0BE, 0, 0, D_8018D9E0_PRIORITY_0); - add_8018D9E0_entry(D_8018D9E0_TYPE_10E, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0BE, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_10E, 0, 0, D_8018D9E0_PRIORITY_0); } if ((D_8015F890 != 0) && (gModeSelection == TIME_TRIALS)) { - add_8018D9E0_entry(D_8018D9E0_TYPE_0BD, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0BD, 0, 0, D_8018D9E0_PRIORITY_0); } if (!(gControllerBits & 1) && (D_8018EE08 != 0)) { - add_8018D9E0_entry(D_8018D9E0_TYPE_004, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(UNUSED_TYPE_004, 0, 0, D_8018D9E0_PRIORITY_2); } func_800B5F30(); } @@ -1421,22 +1421,22 @@ void func_80092500(void) { switch (gModeSelection) { case GRAND_PRIX: - add_8018D9E0_entry(D_8018D9E0_TYPE_0AA, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0AA, 0, 0, D_8018D9E0_PRIORITY_0); break; case TIME_TRIALS: - add_8018D9E0_entry(D_8018D9E0_TYPE_0B9, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0B9, 0, 0, D_8018D9E0_PRIORITY_0); break; } } void func_80092564(void) { - add_8018D9E0_entry(D_8018D9E0_TYPE_0AC, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0AC, 0, 0, D_8018D9E0_PRIORITY_0); func_8005D18C(); func_8001968C(); } void func_800925A0(void) { - add_8018D9E0_entry(D_8018D9E0_TYPE_0AF, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0AF, 0, 0, D_8018D9E0_PRIORITY_0); } void func_800925CC(void) { @@ -1447,122 +1447,122 @@ void func_800925CC(void) { } void func_80092604(void) { - add_8018D9E0_entry(D_8018D9E0_TYPE_0B0, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0B0, 0, 0, D_8018D9E0_PRIORITY_0); } void func_80092630(void) { - add_8018D9E0_entry(D_8018D9E0_TYPE_0BC, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0BC, 0, 0, D_8018D9E0_PRIORITY_0); } void func_8009265C(void) { - add_8018D9E0_entry(D_8018D9E0_TYPE_12B, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_12B, 0, 0, D_8018D9E0_PRIORITY_2); } void func_80092688(void) { switch (D_800DC5E4) { case 0: - add_8018D9E0_entry(D_8018D9E0_TYPE_1CE, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1CE, 0, 0, D_8018D9E0_PRIORITY_2); return; default: - add_8018D9E0_entry(D_8018D9E0_TYPE_190, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_191, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_190, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_191, 0, 0, D_8018D9E0_PRIORITY_2); return; case 2: - add_8018D9E0_entry(D_8018D9E0_TYPE_192, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_193, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_192, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_193, 0, 0, D_8018D9E0_PRIORITY_2); return; case 3: - add_8018D9E0_entry(D_8018D9E0_TYPE_194, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_195, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_194, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_195, 0, 0, D_8018D9E0_PRIORITY_2); return; case 4: - add_8018D9E0_entry(D_8018D9E0_TYPE_196, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_197, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_196, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_197, 0, 0, D_8018D9E0_PRIORITY_2); return; case 5: - add_8018D9E0_entry(D_8018D9E0_TYPE_198, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_199, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_19A, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_19B, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_198, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_199, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_19A, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_19B, 0, 0, D_8018D9E0_PRIORITY_2); return; case 6: - add_8018D9E0_entry(D_8018D9E0_TYPE_198, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_19C, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_19D, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_19E, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_198, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_19C, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_19D, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_19E, 0, 0, D_8018D9E0_PRIORITY_2); return; case 7: - add_8018D9E0_entry(D_8018D9E0_TYPE_19F, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A0, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A1, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A2, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_19F, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A0, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A1, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A2, 0, 0, D_8018D9E0_PRIORITY_2); return; case 8: - add_8018D9E0_entry(D_8018D9E0_TYPE_1A3, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A4, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A3, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A4, 0, 0, D_8018D9E0_PRIORITY_2); return; case 9: - add_8018D9E0_entry(D_8018D9E0_TYPE_1A5, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A6, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A7, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A8, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A9, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A5, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A6, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A7, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A8, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A9, 0, 0, D_8018D9E0_PRIORITY_2); return; case 10: - add_8018D9E0_entry(D_8018D9E0_TYPE_1A5, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1A6, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1AA, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1AB, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1AC, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A5, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1A6, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1AA, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1AB, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1AC, 0, 0, D_8018D9E0_PRIORITY_2); return; case 11: - add_8018D9E0_entry(D_8018D9E0_TYPE_1AD, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1AE, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1AF, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B0, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1AD, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1AE, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1AF, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B0, 0, 0, D_8018D9E0_PRIORITY_2); return; case 12: - add_8018D9E0_entry(D_8018D9E0_TYPE_1B1, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B2, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B1, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B2, 0, 0, D_8018D9E0_PRIORITY_2); return; case 13: - add_8018D9E0_entry(D_8018D9E0_TYPE_1B3, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B4, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B5, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B3, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B4, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B5, 0, 0, D_8018D9E0_PRIORITY_2); return; case 14: - add_8018D9E0_entry(D_8018D9E0_TYPE_1B6, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B7, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B8, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1B9, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1BA, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1BB, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1BC, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B6, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B7, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B8, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1B9, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1BA, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1BB, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1BC, 0, 0, D_8018D9E0_PRIORITY_2); return; case 15: - add_8018D9E0_entry(D_8018D9E0_TYPE_1BD, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1BE, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1BF, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C0, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1BD, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1BE, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1BF, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C0, 0, 0, D_8018D9E0_PRIORITY_2); return; case 16: - add_8018D9E0_entry(D_8018D9E0_TYPE_1C1, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C2, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C3, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C1, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C2, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C3, 0, 0, D_8018D9E0_PRIORITY_2); return; case 17: - add_8018D9E0_entry(D_8018D9E0_TYPE_1C4, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C5, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C6, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C7, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C8, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1C9, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1CA, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1CB, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_1CC, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C4, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C5, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C6, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C7, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C8, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1C9, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1CA, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1CB, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1CC, 0, 0, D_8018D9E0_PRIORITY_2); return; case 18: - add_8018D9E0_entry(D_8018D9E0_TYPE_1CD, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_1CD, 0, 0, D_8018D9E0_PRIORITY_2); return; } } @@ -1825,7 +1825,7 @@ void print_text0(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 do { glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { - func_80099184((MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex])); + load_menu_img((MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex])); gDisplayListHead = print_letter(gDisplayListHead, (MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]), @@ -1904,7 +1904,7 @@ void print_text1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 while (*text != 0) { glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { - func_80099184(segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex])); + load_menu_img(segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex])); gDisplayListHead = print_letter(gDisplayListHead, segmented_to_virtual_dupe(gGlyphTextureLUT[glyphIndex]), column, row, sp60, scaleX, scaleY); column = column + (s32) ((gGlyphDisplayWidth[glyphIndex] + tracking) * scaleX); @@ -1950,7 +1950,7 @@ void print_text2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { glyphTexture = (MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]); - func_80099184(glyphTexture); + load_menu_img(glyphTexture); gDisplayListHead = print_letter(gDisplayListHead, glyphTexture, column - (gGlyphDisplayWidth[glyphIndex] / 2), row, arg6, scaleX, scaleY); @@ -2233,7 +2233,7 @@ void func_80094A64(struct GfxPool* pool) { guOrtho(&pool->mtxScreen, 0.0f, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0.0f, -100.0f, 100.0f, 1.0f); gSPMatrix(gDisplayListHead++, &pool->mtxScreen, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPDisplayList(gDisplayListHead++, D_02007650); - func_80094C60(); + render_menus(); func_80092290(4, D_8018E850, D_8018E858); func_80092290(5, &D_8018E850[1], &D_8018E858[1]); func_80099A70(); @@ -2249,7 +2249,7 @@ void func_80094A64(struct GfxPool* pool) { case LOGO_INTRO_MENU: case CONTROLLER_PAK_MENU: case MAIN_MENU: - case PLAYER_SELECT_MENU: + case CHARACTER_SELECT_MENU: case COURSE_SELECT_MENU: func_800A8230(); func_80099AEC(); @@ -2261,7 +2261,7 @@ void func_80094A64(struct GfxPool* pool) { gSPDisplayList(gDisplayListHead++, D_020076B0); } -void func_80094C60(void) { +void render_menus(void) { if (D_800E86A4 != 0) { func_80099110(); func_8009A344(); @@ -2273,133 +2273,133 @@ void func_80094C60(void) { func_800B3F74(gMenuSelection); switch (gMenuSelection) { case OPTIONS_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_023, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_0F1, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_0F0, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(MAIN_MENU_BACKGROUND, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_0F1, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(D_8018D9E0_TYPE_0F0, 0, 0, D_8018D9E0_PRIORITY_2); break; case DATA_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_023, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_08C, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_07C, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_07D, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_07E, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_07F, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_080, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_081, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_082, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_083, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_084, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_085, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_086, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_087, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_088, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_089, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_08A, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_08B, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_08D, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(MAIN_MENU_BACKGROUND, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(D_8018D9E0_TYPE_08C, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_07C, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_07D, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_07E, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_07F, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_080, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_081, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_082, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_083, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_084, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_085, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_086, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_087, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_088, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_089, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_08A, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_08B, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_08D, 0, 0, D_8018D9E0_PRIORITY_8); break; case COURSE_DATA_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_0E6, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_0E7, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_0E8, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_0E9, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_0EA, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_0E6, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_0E7, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_0E8, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_0E9, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_0EA, 0, 0, D_8018D9E0_PRIORITY_8); break; case LOGO_INTRO_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_0FA, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(LOGO_INTRO_MENU_LOGO, 0, 0, D_8018D9E0_PRIORITY_0); break; case CONTROLLER_PAK_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_0DA, 0, 0, D_8018D9E0_PRIORITY_0); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D2, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D4, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D3, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D5, 0, 0, D_8018D9E0_PRIORITY_A); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D6, 0, 0, D_8018D9E0_PRIORITY_A); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D7, 0, 0, D_8018D9E0_PRIORITY_A); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D8, 0, 0, D_8018D9E0_PRIORITY_A); - add_8018D9E0_entry(D_8018D9E0_TYPE_0D9, 0, 0, D_8018D9E0_PRIORITY_A); + add_ui_element(D_8018D9E0_TYPE_0DA, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0D2, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(D_8018D9E0_TYPE_0D4, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_0D3, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_0D5, 0, 0, D_8018D9E0_PRIORITY_A); + add_ui_element(D_8018D9E0_TYPE_0D6, 0, 0, D_8018D9E0_PRIORITY_A); + add_ui_element(D_8018D9E0_TYPE_0D7, 0, 0, D_8018D9E0_PRIORITY_A); + add_ui_element(D_8018D9E0_TYPE_0D8, 0, 0, D_8018D9E0_PRIORITY_A); + add_ui_element(D_8018D9E0_TYPE_0D9, 0, 0, D_8018D9E0_PRIORITY_A); break; case START_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_002, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_001, 0, 0, D_8018D9E0_PRIORITY_0); - add_8018D9E0_entry(D_8018D9E0_TYPE_0FB, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(START_MENU_LOGO_AND_COPYRIGHT, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(START_MENU_BACKGROUND, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(START_MENU_FLAG, 0, 0, D_8018D9E0_PRIORITY_0); if (gControllerBits & 1) { - add_8018D9E0_entry(D_8018D9E0_TYPE_003, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(START_MENU_PUSH_START_BUTTON, 0, 0, D_8018D9E0_PRIORITY_2); } else { - add_8018D9E0_entry(D_8018D9E0_TYPE_004, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(UNUSED_TYPE_004, 0, 0, D_8018D9E0_PRIORITY_2); } - add_8018D9E0_entry(D_8018D9E0_TYPE_005, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(START_MENU_TEXT_BOX, 0, 0, D_8018D9E0_PRIORITY_6); gDemoMode = 0; D_8018EE08 = 0; break; case MAIN_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_023, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_00A, 0x0000015E, 0x00000011, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_00E, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_00D, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_00C, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_00B, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_00F, 0x0000015E, 0x000000C8, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_011, 0x0000015E, 0x000000C8, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_010, 0x0000015E, 0x000000C8, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_BACKGROUND, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(MAIN_MENU_GAME_SELECT, 0x0000015E, 0x00000011, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_4P_GAME, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_3P_GAME, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_2P_GAME, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_1P_GAME, 0x0000015E, 0x0000003E, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_OK, 0x0000015E, 0x000000C8, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_DATA, 0x0000015E, 0x000000C8, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_OPTION, 0x0000015E, 0x000000C8, D_8018D9E0_PRIORITY_6); if (func_800B555C() != 0) { - add_8018D9E0_entry(D_8018D9E0_TYPE_015, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_015, 0, 0, D_8018D9E0_PRIORITY_6); } - add_8018D9E0_entry(D_8018D9E0_TYPE_014, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_013, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_012, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_019, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_018, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_01B, 0, 0, D_8018D9E0_PRIORITY_C); + add_ui_element(MAIN_MENU_150CC, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_100CC, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_50CC, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_TIME_TRIALS_DATA, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(MAIN_MENU_TIME_TRIALS_BEGIN, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_01B, 0, 0, D_8018D9E0_PRIORITY_C); break; - case PLAYER_SELECT_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_024, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_02A, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_033, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_02B, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_02C, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_02D, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_02E, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_02F, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_030, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_031, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_032, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_034, 0, 0, D_8018D9E0_PRIORITY_C); - add_8018D9E0_entry(D_8018D9E0_TYPE_035, 0, 0, D_8018D9E0_PRIORITY_C); - add_8018D9E0_entry(D_8018D9E0_TYPE_036, 0, 0, D_8018D9E0_PRIORITY_C); - add_8018D9E0_entry(D_8018D9E0_TYPE_037, 0, 0, D_8018D9E0_PRIORITY_C); + case CHARACTER_SELECT_MENU: + add_ui_element(CHARACTER_SELECT_BACKGROUND, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_OK, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_MARIO, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(CHARACTER_SELECT_MENU_LUIGI, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(CHARACTER_SELECT_MENU_TOAD, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_PEACH, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_YOSHI, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_DK, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_WARIO, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(CHARACTER_SELECT_MENU_BOWSER, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(CHARACTER_SELECT_MENU_1P_CURSOR, 0, 0, D_8018D9E0_PRIORITY_C); + add_ui_element(CHARACTER_SELECT_MENU_2P_CURSOR, 0, 0, D_8018D9E0_PRIORITY_C); + add_ui_element(CHARACTER_SELECT_MENU_3P_CURSOR, 0, 0, D_8018D9E0_PRIORITY_C); + add_ui_element(CHARACTER_SELECT_MENU_4P_CURSOR, 0, 0, D_8018D9E0_PRIORITY_C); break; case COURSE_SELECT_MENU: - add_8018D9E0_entry(D_8018D9E0_TYPE_025, 0, 0, D_8018D9E0_PRIORITY_2); - add_8018D9E0_entry(D_8018D9E0_TYPE_052, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(COURSE_SELECT_BACKGROUND, 0, 0, D_8018D9E0_PRIORITY_2); + add_ui_element(COURSE_SELECT_MAP_SELECT, 0, 0, D_8018D9E0_PRIORITY_6); if (gModeSelection != BATTLE) { - add_8018D9E0_entry(D_8018D9E0_TYPE_053, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_054, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_055, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_056, 0, 0, D_8018D9E0_PRIORITY_4); - add_8018D9E0_entry(D_8018D9E0_TYPE_058, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_059, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_05A, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_05B, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(COURSE_SELECT_MUSHROOM_CUP, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(COURSE_SELECT_FLOWER_CUP, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(COURSE_SELECT_STAR_CUP, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(COURSE_SELECT_SPECIAL_CUP, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(D_8018D9E0_TYPE_058, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_059, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_05A, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_05B, 0, 0, D_8018D9E0_PRIORITY_6); } else { - add_8018D9E0_entry(D_8018D9E0_TYPE_05C, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_06E, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_05C, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_06E, 0, 0, D_8018D9E0_PRIORITY_6); } - add_8018D9E0_entry(D_8018D9E0_TYPE_064, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_05F, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_060, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_061, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_062, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_05D, 0, 0, D_8018D9E0_PRIORITY_6); - add_8018D9E0_entry(D_8018D9E0_TYPE_05E, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_064, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_05F, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_060, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_061, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_062, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_05D, 0, 0, D_8018D9E0_PRIORITY_6); + add_ui_element(D_8018D9E0_TYPE_05E, 0, 0, D_8018D9E0_PRIORITY_8); if (gModeSelection == TIME_TRIALS) { - add_8018D9E0_entry(D_8018D9E0_TYPE_065, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_066, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_069, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_065, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_066, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_069, 0, 0, D_8018D9E0_PRIORITY_8); } if (gModeSelection == GRAND_PRIX) { - add_8018D9E0_entry(D_8018D9E0_TYPE_068, 0, 0, D_8018D9E0_PRIORITY_8); - add_8018D9E0_entry(D_8018D9E0_TYPE_067, 0, 0, D_8018D9E0_PRIORITY_5); + add_ui_element(D_8018D9E0_TYPE_068, 0, 0, D_8018D9E0_PRIORITY_8); + add_ui_element(D_8018D9E0_TYPE_067, 0, 0, D_8018D9E0_PRIORITY_5); } break; case 0: @@ -3326,7 +3326,7 @@ void dma_copy_base_7fa3c0(u64* arg0, size_t nbytes, void* vaddr) { } void func_80099110(void) { - gD_8018E118TotalSize = 0; + gMenuTextureBufferIndex = 0; gNumD_8018E118Entries = 0; } @@ -3353,7 +3353,7 @@ void* segmented_to_virtual_dupe_2(const void* addr) { #ifdef NON_MATCHING // https://decomp.me/scratch/NAZ12 // Register allocation nonsense -void func_80099184(MkTexture* arg0) { +void load_menu_img(MkTexture* arg0) { u16 var_a1_2; s32 var_v0; s32 var_a1; @@ -3382,26 +3382,26 @@ void func_80099184(MkTexture* arg0) { var_a1_2 = ((var_a1_2 / 8) * 8) + 8; } dma_copy_base_729a30(var_s1->textureData, var_a1_2, D_8018D9B4); - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gD_8018E118TotalSize]); + mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gMenuTextureBufferIndex]); } else { dma_copy_base_729a30(var_s1->textureData, var_s1->height * var_s1->width * 2, - &D_8018D9B0[gD_8018E118TotalSize]); + &D_8018D9B0[gMenuTextureBufferIndex]); } thing = &D_8018E118[gNumD_8018E118Entries]; thing->textureData = var_s1->textureData; thing = &D_8018E118[gNumD_8018E118Entries]; - thing->offset = gD_8018E118TotalSize; + thing->offset = gMenuTextureBufferIndex; - gD_8018E118TotalSize += (var_s1->height * var_s1->width); + gMenuTextureBufferIndex += (var_s1->height * var_s1->width); gNumD_8018E118Entries += 1; - gD_8018E118TotalSize = ((gD_8018E118TotalSize / 8) * 8) + 8; + gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8; } var_s1++; } } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099184.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_img.s") #endif #ifdef NON_MATCHING @@ -3428,16 +3428,16 @@ void func_80099394(MkTexture* arg0) { if (var_a1 == 0) { if (var_s1->type == 5) { dma_copy_base_729a30(var_s1->textureData, (u32) ((s32) (var_s1->height * var_s1->width) / 2), - &D_8018D9B0[gD_8018E118TotalSize]); + &D_8018D9B0[gMenuTextureBufferIndex]); } thing = &D_8018E118[gNumD_8018E118Entries]; thing->textureData = var_s1->textureData; thing = &D_8018E118[gNumD_8018E118Entries]; - thing->offset = gD_8018E118TotalSize; + thing->offset = gMenuTextureBufferIndex; - gD_8018E118TotalSize += (var_s1->height * var_s1->width); - gD_8018E118TotalSize = ((gD_8018E118TotalSize / 8) * 8) + 8; + gMenuTextureBufferIndex += (var_s1->height * var_s1->width); + gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8; gNumD_8018E118Entries += 1; } var_s1++; @@ -3470,15 +3470,15 @@ void func_8009952C(MkTexture* arg0) { } if (var_a1 == 0) { dma_copy_base_729a30(var_s1->textureData, 0x00008000U, D_8018D9B4); - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gD_8018E118TotalSize]); + mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gMenuTextureBufferIndex]); thing = &D_8018E118[gNumD_8018E118Entries]; thing->textureData = var_s1->textureData; thing = &D_8018E118[gNumD_8018E118Entries]; - thing->offset = gD_8018E118TotalSize; + thing->offset = gMenuTextureBufferIndex; - gD_8018E118TotalSize += (var_s1->height * var_s1->width); - gD_8018E118TotalSize = ((gD_8018E118TotalSize / 8) * 8) + 8; + gMenuTextureBufferIndex += (var_s1->height * var_s1->width); + gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8; gNumD_8018E118Entries += 1; } var_s1++; @@ -3488,14 +3488,14 @@ void func_8009952C(MkTexture* arg0) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009952C.s") #endif -void func_8009969C(MkTexture* arg0) { - func_800996BC(arg0, 1); +void load_img_wrap(MkTexture* arg0) { + load_menu_img2(arg0, 1); } #ifdef NON_MATCHING // Register allocation nonsense // https://decomp.me/scratch/hwAAp -void func_800996BC(MkTexture* arg0, s32 arg1) { +void load_menu_img2(MkTexture* arg0, s32 arg1) { u16 var_a1_2; s32 var_v0; s32 var_a1; @@ -3535,7 +3535,7 @@ void func_800996BC(MkTexture* arg0, s32 arg1) { switch (arg1) { /* switch 1; irregular */ case -1: /* switch 1 */ case 1: /* switch 1 */ - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gD_8018E118TotalSize]); + mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gMenuTextureBufferIndex]); break; case 0: /* switch 1 */ case 2: /* switch 1 */ @@ -3545,22 +3545,22 @@ void func_800996BC(MkTexture* arg0, s32 arg1) { var_v0_2 = 1; } if (1) {} - tkmk00decode(D_8018D9B4, D_8018D9B8, (u8*) &D_8018D9B0[gD_8018E118TotalSize], var_v0_2); + tkmk00decode(D_8018D9B4, D_8018D9B8, (u8*) &D_8018D9B0[gMenuTextureBufferIndex], var_v0_2); break; } thing = &D_8018E118[gNumD_8018E118Entries]; thing->textureData = var_s1->textureData; thing = &D_8018E118[gNumD_8018E118Entries]; - thing->offset = gD_8018E118TotalSize; - gD_8018E118TotalSize += var_s1->height * var_s1->width; - gD_8018E118TotalSize = ((gD_8018E118TotalSize / 8) * 8) + 8; + thing->offset = gMenuTextureBufferIndex; + gMenuTextureBufferIndex += var_s1->height * var_s1->width; + gMenuTextureBufferIndex = ((gMenuTextureBufferIndex / 8) * 8) + 8; gNumD_8018E118Entries += 1; } var_s1++; } } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800996BC.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_img2.s") #endif void func_80099958(MkTexture* arg0, s32 arg1, s32 arg2) { @@ -3835,7 +3835,7 @@ void func_8009A2F0(struct_8018E0E8_entry* arg0) { if (var_a0 == NULL) { break; } - func_800996BC(var_a0, 0); + load_menu_img2(var_a0, 0); if (1) {} temp_v0++; var_a0 = temp_v0->mk64Texture; @@ -3849,7 +3849,7 @@ void func_8009A344(void) { } } -s32 func_8009A374(MkAnimation* anim) { +s32 animate_character_select_menu(MkAnimation* anim) { s32 i; struct_8018DEE0_entry* entry; @@ -3873,12 +3873,12 @@ s32 func_8009A374(MkAnimation* anim) { entry->D_8018E118_index = gNumD_8018E118Entries; if (anim[0].mk64Texture) { - func_8009969C(anim[0].mk64Texture); + load_img_wrap(anim[0].mk64Texture); } if (anim[1].mk64Texture) { - func_8009969C(anim[1].mk64Texture); + load_img_wrap(anim[1].mk64Texture); } else { - func_8009969C(anim[0].mk64Texture); + load_img_wrap(anim[0].mk64Texture); } entry->unk14 = 0; @@ -4125,7 +4125,7 @@ void func_8009AD78(s32 arg0, s32 arg1) { } } -void func_8009B0A4(s32 arg0, u32 arg1) { +void convert_img_to_greyscale(s32 arg0, u32 arg1) { u32 var_s0; s32 red; s32 green; @@ -4156,7 +4156,7 @@ void func_8009B0A4(s32 arg0, u32 arg1) { } } -void func_8009B538(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { +void adjust_img_colour(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { s32 red; s32 green; s32 blue; @@ -5334,7 +5334,7 @@ void func_8009E620(void) { #ifdef NON_MATCHING // https://decomp.me/scratch/1BHpa // Stack differences, can't figure out how to fix them -void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { +void add_ui_element(s32 type, s32 column, s32 row, s8 priority) { MenuItem* var_ra; s32 stackPadding0; UNUSED s32 stackPadding1; @@ -5352,13 +5352,13 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { // ???????? // Credit to Vetri for the idea to mess around with this loop // to fix the issue near the 0xD4 case - while (1 & 0xFFFFFFFFFFFFFFFF) { + while (true & 0xFFFFFFFFFFFFFFFF) { var_v0++; if (var_ra->type == 0) break; - if (var_v0 > 0x20) { - while (1) {} + if (var_v0 > D_8018D9E0_SIZE) { + while (true) {} } var_ra++; } @@ -5400,27 +5400,27 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_ra->unk20 = one; break; case 0xD2: - func_800996BC(D_020014C8, 0); + load_menu_img2(D_020014C8, 0); func_8009B954(D_020014C8); D_8018E75C = func_8009BA74(D_8018E75C, D_020014C8, var_ra->column, var_ra->row); func_8009B998(); break; case 0xD3: - func_800996BC(D_02001540, 0); + load_menu_img2(D_02001540, 0); func_8009B954(D_02001540); D_8018E75C = func_8009BA74(D_8018E75C, D_02001540, var_ra->column, var_ra->row); func_8009B998(); break; case 0xD4: - func_800996BC(D_0200157C, 0); - func_80099184(D_02001874); + load_menu_img2(D_0200157C, 0); + load_menu_img(D_02001874); var_ra->row = 0x00000069; for (var_v0 = 0; var_v0 < 133; var_v0++) { - func_80099184(segmented_to_virtual_dupe(D_800E7AF8[var_v0])); + load_menu_img(segmented_to_virtual_dupe(D_800E7AF8[var_v0])); } break; case 0xD5: - func_80099184(D_020015A4); + load_menu_img(D_020015A4); func_8009B954(D_020015A4); D_8018E75C = func_8009BA74(D_8018E75C, D_020015A4, var_ra->column, var_ra->row); gDPLoadTextureBlock(D_8018E75C++, func_8009B8C4(gTexture7ED50C), G_IM_FMT_IA, G_IM_SIZ_16b, 256, 5, 0, @@ -5428,123 +5428,123 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(D_8018E75C++, 0x80, 0x2C0, 0x480, 0x2D4, G_TX_RENDERTILE, 0, 0x80, 0x0400, 0xFC00); func_8009B998(); - func_80099184(D_020015CC); + load_menu_img(D_020015CC); func_8009B954(D_020015CC); D_8018E75C = func_8009BA74(D_8018E75C, D_020015CC, var_ra->column, var_ra->row); func_8009B998(); - func_80099184(D_02001630); + load_menu_img(D_02001630); func_8009B954(D_02001630); D_8018E75C = func_8009BA74(D_8018E75C, D_02001630, var_ra->column, var_ra->row); func_8009B998(); - func_80099184(D_02001658); + load_menu_img(D_02001658); func_8009B954(D_02001658); D_8018E75C = func_8009BA74(D_8018E75C, D_02001658, var_ra->column, var_ra->row); func_8009B998(); break; case 0xD6: - var_ra->D_8018DEE0_index = func_8009A374(segmented_to_virtual_dupe_2(D_800E7D34[0])); + var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7D34[0])); break; case 0xD7: for (var_v0 = 0; var_v0 < 10; var_v0++) { - func_80099184(segmented_to_virtual_dupe(D_800E7D0C[var_v0])); + load_menu_img(segmented_to_virtual_dupe(D_800E7D0C[var_v0])); } break; case 0xD8: case 0xD9: - func_80099184(D_0200184C); + load_menu_img(D_0200184C); break; - case 0x1: - func_800996BC(D_800E7D4C[func_800B555C()], 0); + case START_MENU_BACKGROUND: + load_menu_img2(D_800E7D4C[func_800B555C()], 0); break; - case 0x2: - func_8006EE44(); - gD_8018E118TotalSize += 0x10000; - func_80099184(D_020045E8); + case START_MENU_LOGO_AND_COPYRIGHT: + load_mario_kart_64_logo(); + gMenuTextureBufferIndex += 0x10000; + load_menu_img(D_020045E8); break; - case 0x3: - func_80099184(D_02004610); + case START_MENU_PUSH_START_BUTTON: + load_menu_img(D_02004610); break; - case 0x23: - case 0x24: - case 0x25: - func_800996BC(D_800E7D4C[func_800B555C()], 0); - func_800996BC(D_02004B74, 0); - func_8009B0A4(0, 0x00000019); - func_8009B538(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - 0x23].red, D_800E74E8[type - 0x23].green, + case MAIN_MENU_BACKGROUND: + case CHARACTER_SELECT_BACKGROUND: + case COURSE_SELECT_BACKGROUND: + load_menu_img2(D_800E7D4C[func_800B555C()], 0); + load_menu_img2(D_02004B74, 0); + convert_img_to_greyscale(0, 0x00000019); + adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - 0x23].red, D_800E74E8[type - 0x23].green, D_800E74E8[type - 0x23].blue); break; - case 0xF: + case MAIN_MENU_OK: var_ra->unk1C = 0x00000020; /* fallthrough */ - case 0x0A: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: + case MAIN_MENU_GAME_SELECT: + case MAIN_MENU_DATA: + case MAIN_MENU_OPTION: + case MAIN_MENU_50CC: + case MAIN_MENU_100CC: + case MAIN_MENU_150CC: case 0x15: case 0x16: case 0x17: - case 0x18: - case 0x19: - func_800996BC(segmented_to_virtual_dupe(D_800E8274[type - 0x12]), 0); + case MAIN_MENU_TIME_TRIALS_BEGIN: + case MAIN_MENU_TIME_TRIALS_DATA: + load_menu_img2(segmented_to_virtual_dupe(D_800E8274[type - 0x12]), 0); break; - case 0xB: - case 0xC: - case 0xD: - case 0xE: - func_800996BC(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 0]), 0); - func_80099184(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 1])); + case MAIN_MENU_1P_GAME: + case MAIN_MENU_2P_GAME: + case MAIN_MENU_3P_GAME: + case MAIN_MENU_4P_GAME: + load_menu_img2(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 0]), 0); + load_menu_img(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 1])); break; - case 0x2A: - func_800996BC(D_02004B4C, 0); + case CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER: + load_menu_img2(D_02004B4C, 0); break; case 0x33: - func_800996BC(D_02004B74, 0); + load_menu_img2(D_02004B74, 0); var_ra->unk1C = 0x00000020; break; - case 0x34: - case 0x35: - case 0x36: - case 0x37: - func_80099184(segmented_to_virtual_dupe(D_800E82B4[type - 0x34])); + case CHARACTER_SELECT_MENU_1P_CURSOR: + case CHARACTER_SELECT_MENU_2P_CURSOR: + case CHARACTER_SELECT_MENU_3P_CURSOR: + case CHARACTER_SELECT_MENU_4P_CURSOR: + load_menu_img(segmented_to_virtual_dupe(D_800E82B4[type - 0x34])); break; - case 0x2B: - case 0x2C: - case 0x2D: - case 0x2E: - case 0x2F: - case 0x30: - case 0x31: - case 0x32: - var_ra->D_8018DEE0_index = func_8009A374(segmented_to_virtual_dupe_2(D_800E8320[type - 0x2B])); - func_800996BC(segmented_to_virtual_dupe(D_800E7D54[type - 0x2B]), 0); + case CHARACTER_SELECT_MENU_MARIO: + case CHARACTER_SELECT_MENU_LUIGI: + case CHARACTER_SELECT_MENU_TOAD: + case CHARACTER_SELECT_MENU_PEACH: + case CHARACTER_SELECT_MENU_YOSHI: + case CHARACTER_SELECT_MENU_DK: + case CHARACTER_SELECT_MENU_WARIO: + case CHARACTER_SELECT_MENU_BOWSER: + var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0x2B])); + load_menu_img2(segmented_to_virtual_dupe(D_800E7D54[type - 0x2B]), 0); break; case 0xA0: case 0xA1: - var_ra->D_8018DEE0_index = func_8009A374(segmented_to_virtual_dupe_2(D_800E8320[type - 0xA0])); + var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0xA0])); break; case 0x5D: var_ra->unk1C = 0x00000020; /* fallthrough */ - case 0x52: - case 0x53: - case 0x54: - case 0x55: - case 0x56: + case COURSE_SELECT_MAP_SELECT: + case COURSE_SELECT_MUSHROOM_CUP: + case COURSE_SELECT_FLOWER_CUP: + case COURSE_SELECT_STAR_CUP: + case COURSE_SELECT_SPECIAL_CUP: case 0x58: case 0x59: case 0x5A: case 0x5B: case 0x5C: - func_800996BC(segmented_to_virtual_dupe(D_800E82C4[type - 0x52]), 0); + load_menu_img2(segmented_to_virtual_dupe(D_800E82C4[type - 0x52]), 0); break; case 0x5F: case 0x60: case 0x61: case 0x62: var_ra->D_8018DEE0_index = - func_8009A374(segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[0][var_ra->type - 0x5F]])); + animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[0][var_ra->type - 0x5F]])); break; case 0x5E: var_ra->unk20 = random_int(4U) + 2; @@ -5558,17 +5558,17 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_ra->unk1C = (s32) gCupSelection; var_ra->unk20 = func_800B54C0(gCupSelection, gCCSelection); var_ra->D_8018DEE0_index = - func_8009A374(segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - var_ra->unk20])); + animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - var_ra->unk20])); var_ra->column = D_800E7268[0].column; var_ra->row = D_800E7268[0].row; break; case 0x68: - func_800996BC(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), 0); + load_menu_img2(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), 0); var_ra->column = 0x00000037; var_ra->row = 0x000000C3; break; case 0x69: - func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0); + load_menu_img2(segmented_to_virtual_dupe(D_02004A0C), 0); if (controller_pak_1_status() == 0) { func_800B6708(); } else { @@ -5580,10 +5580,10 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { case 0x79: case 0x7A: case 0x7B: - func_800996BC(segmented_to_virtual_dupe(D_800E82F4[type - 0x78]), 0); + load_menu_img2(segmented_to_virtual_dupe(D_800E82F4[type - 0x78]), 0); break; case 0x8C: - func_800996BC(segmented_to_virtual_dupe(D_02004A34), 0); + load_menu_img2(segmented_to_virtual_dupe(D_02004A34), 0); if (controller_pak_1_status() == 0) { func_800B6708(); } else { @@ -5592,7 +5592,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { } break; case 0x8D: - func_80099184(segmented_to_virtual_dupe(D_02001FA4)); + load_menu_img(segmented_to_virtual_dupe(D_02001FA4)); break; case 0x7C: case 0x7D: @@ -5611,10 +5611,10 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { case 0x8A: case 0x8B: temp_v0_6 = var_ra->type - 0x7C; - func_800996BC(segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), -1); + load_menu_img2(segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), -1); temp_v0_6 = var_ra->type - 0x7C; - func_800996BC(segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), 0); - func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0); + load_menu_img2(segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), 0); + load_menu_img2(segmented_to_virtual_dupe(D_02004A0C), 0); break; case 0xB1: case 0xB2: @@ -5643,8 +5643,8 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_a0 = D_800E8320[temp_a1]; } var_ra->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), stackPadding0); - func_800996BC(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), 0); - func_80099184(segmented_to_virtual_dupe(D_800E82B4[type - 0xB1])); + load_menu_img2(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), 0); + load_menu_img(segmented_to_virtual_dupe(D_800E82B4[type - 0xB1])); break; case 0xBB: var_ra->unk1C = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]); @@ -5659,10 +5659,10 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { } break; case 0xE6: - var_ra->D_8018DEE0_index = func_8009A374(segmented_to_virtual_dupe_2( + var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2( D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]])); var_ra->unk1C = gTimeTrialDataCourseIndex; - func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0); + load_menu_img2(segmented_to_virtual_dupe(D_02004A0C), 0); func_8006EF60(); if (controller_pak_1_status() == 0) { func_800B6708(); @@ -5675,7 +5675,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_ra->state = (s32) gSoundMode; break; case 0xF1: - func_800996BC(segmented_to_virtual_dupe(D_02004638), 0); + load_menu_img2(segmented_to_virtual_dupe(D_02004638), 0); break; case 0xBE: D_8018ED90 = 0; @@ -5693,7 +5693,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_a0 = D_800E8320[temp_a1]; } var_ra->D_8018DEE0_index = func_8009A478(segmented_to_virtual_dupe_2(var_a0), 0); - func_800996BC(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), 0); + load_menu_img2(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), 0); break; case 0x190: case 0x191: @@ -5763,7 +5763,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { } } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/add_8018D9E0_entry.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/add_ui_element.s") #endif #ifndef NON_MATCHING @@ -5795,10 +5795,10 @@ void func_8009F5E0(MenuItem* arg0) { if ((s8) arg0->visible != 0) { gDPPipeSync(gDisplayListHead++); switch (arg0->type) { /* switch 6; irregular */ - case D_8018D9E0_TYPE_0FA: /* switch 6 */ + case LOGO_INTRO_MENU_LOGO: /* switch 6 */ func_80094660(gGfxPool, arg0->unk1C); break; - case D_8018D9E0_TYPE_0FB: /* switch 6 */ + case START_MENU_FLAG: /* switch 6 */ func_800947B4(gGfxPool, arg0->unk1C); break; case D_8018D9E0_TYPE_0D2: /* switch 6 */ @@ -5835,20 +5835,20 @@ void func_8009F5E0(MenuItem* arg0) { case D_8018D9E0_TYPE_0D9: /* switch 6 */ func_800A0EB8(arg0, arg0->type - 0xD8); break; - case D_8018D9E0_TYPE_001: /* switch 6 */ + case START_MENU_BACKGROUND: /* switch 6 */ gDisplayListHead = func_8009BA74(gDisplayListHead, D_800E7D4C[func_800B555C()], arg0->column, arg0->row); break; - case D_8018D9E0_TYPE_002: /* switch 6 */ + case START_MENU_LOGO_AND_COPYRIGHT: /* switch 6 */ func_8004C8D4((arg0->column + 0xA0), (arg0->row + 0x47)); gDisplayListHead = func_8009BA74(gDisplayListHead, D_020045E8, arg0->column, arg0->row); break; - case D_8018D9E0_TYPE_003: /* switch 6 */ + case START_MENU_PUSH_START_BUTTON: /* switch 6 */ if (((gGlobalTimer / 8) % 3) != 0) { gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004610, arg0->column, arg0->row); } break; - case D_8018D9E0_TYPE_005: /* switch 6 */ + case START_MENU_TEXT_BOX: /* switch 6 */ var_t0 = (s32) ((f32) (get_string_width(gCourseNamesDup[0]) + 5) * 0.9f) / 2; gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - var_t0, 0x0000007B, var_t0 + 0xA0, 0x000000A4, 0, 0, 0, 0x00000096); @@ -5871,7 +5871,7 @@ void func_8009F5E0(MenuItem* arg0) { get_time_record_centiseconds(temp_v1, sp80); func_800939C8(0x000000B4, 0x000000A0, sp80, 0, 1.0f, 1.0f); break; - case D_8018D9E0_TYPE_004: /* switch 6 */ + case UNUSED_TYPE_004: /* switch 6 */ var_t0 = get_string_width(D_800E77A0[0]); temp_v1 = get_string_width(D_800E77A0[1]); if (var_t0 < temp_v1) { @@ -5888,29 +5888,29 @@ void func_8009F5E0(MenuItem* arg0) { 0, why, why); } break; - case D_8018D9E0_TYPE_023: /* switch 6 */ + case MAIN_MENU_BACKGROUND: /* switch 6 */ case D_8018D9E0_TYPE_024: /* switch 6 */ case D_8018D9E0_TYPE_025: /* switch 6 */ gDisplayListHead = func_8009BC9C(gDisplayListHead, D_800E7D4C[func_800B555C()], arg0->column, arg0->row, 3, 0); break; - case D_8018D9E0_TYPE_00A: /* switch 6 */ + case MAIN_MENU_GAME_SELECT: /* switch 6 */ gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004660, arg0->column, arg0->row); break; case D_8018D9E0_TYPE_00B: /* switch 6 */ case D_8018D9E0_TYPE_00C: /* switch 6 */ case D_8018D9E0_TYPE_00D: /* switch 6 */ - case D_8018D9E0_TYPE_00E: /* switch 6 */ + case MAIN_MENU_4P_GAME: /* switch 6 */ var_a1 = arg0->type - 0xB; func_800A8270(var_a1, arg0); func_800A0FA4(arg0, var_a1); break; - case D_8018D9E0_TYPE_00F: /* switch 6 */ + case MAIN_MENU_OK: /* switch 6 */ func_800A8564(arg0); gDisplayListHead = func_8009BC9C(gDisplayListHead, D_0200487C, arg0->column, arg0->row, 2, arg0->unk1C); break; - case D_8018D9E0_TYPE_010: /* switch 6 */ - case D_8018D9E0_TYPE_011: /* switch 6 */ + case MAIN_MENU_OPTION: /* switch 6 */ + case MAIN_MENU_DATA: /* switch 6 */ var_a1 = arg0->type - 0xF; if (arg0->unk1C < 0x20) { temp_t9 = (arg0->unk1C * 0x3A) / 64; @@ -5928,20 +5928,20 @@ void func_8009F5E0(MenuItem* arg0) { gDisplayListHead = func_8009BC9C(gDisplayListHead, D_800E8254[var_v1], arg0->column, arg0->row, 2, arg0->unk1C); break; - case D_8018D9E0_TYPE_012: /* switch 6 */ - case D_8018D9E0_TYPE_013: /* switch 6 */ - case D_8018D9E0_TYPE_014: /* switch 6 */ + case MAIN_MENU_50CC: /* switch 6 */ + case MAIN_MENU_100CC: /* switch 6 */ + case MAIN_MENU_150CC: /* switch 6 */ case D_8018D9E0_TYPE_015: /* switch 6 */ case D_8018D9E0_TYPE_016: /* switch 6 */ case D_8018D9E0_TYPE_017: /* switch 6 */ - case D_8018D9E0_TYPE_018: /* switch 6 */ - case D_8018D9E0_TYPE_019: /* switch 6 */ + case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 6 */ + case MAIN_MENU_TIME_TRIALS_DATA: /* switch 6 */ var_v1 = D_800E86B0[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]; var_a1 = gGameModePlayerSelection[gPlayerCount - 1][D_800E86AC[gPlayerCount - 1]]; switch (arg0->type) { /* switch 5 */ - case D_8018D9E0_TYPE_012: /* switch 5 */ - case D_8018D9E0_TYPE_013: /* switch 5 */ - case D_8018D9E0_TYPE_014: /* switch 5 */ + case MAIN_MENU_50CC: /* switch 5 */ + case MAIN_MENU_100CC: /* switch 5 */ + case MAIN_MENU_150CC: /* switch 5 */ case D_8018D9E0_TYPE_015: /* switch 5 */ if ((var_a1 != 0) && (var_a1 != 2)) { var_v1 = -1; @@ -5958,8 +5958,8 @@ void func_8009F5E0(MenuItem* arg0) { sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]); } break; - case D_8018D9E0_TYPE_018: /* switch 5 */ - case D_8018D9E0_TYPE_019: /* switch 5 */ + case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 5 */ + case MAIN_MENU_TIME_TRIALS_DATA: /* switch 5 */ if (var_a1 != 1) { var_v1 = -1; } else { @@ -5989,10 +5989,10 @@ void func_8009F5E0(MenuItem* arg0) { case D_8018D9E0_TYPE_01B: /* switch 6 */ func_800A10CC(arg0); break; - case D_8018D9E0_TYPE_02A: /* switch 6 */ + case CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER: /* switch 6 */ gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004B4C, arg0->column, arg0->row); break; - case D_8018D9E0_TYPE_034: /* switch 6 */ + case CHARACTER_SELECT_MENU_1P_CURSOR: /* switch 6 */ case D_8018D9E0_TYPE_035: /* switch 6 */ case D_8018D9E0_TYPE_036: /* switch 6 */ case D_8018D9E0_TYPE_037: /* switch 6 */ @@ -6012,11 +6012,11 @@ void func_8009F5E0(MenuItem* arg0) { func_800A11D0(arg0, temp_a0, temp_t2); } break; - case D_8018D9E0_TYPE_033: /* switch 6 */ + case CHARACTER_SELECT_MENU_OK: /* switch 6 */ func_800A8564(arg0); gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004B74, arg0->column, arg0->row, 2, arg0->unk1C); break; - case D_8018D9E0_TYPE_02B: /* switch 6 */ + case CHARACTER_SELECT_MENU_MARIO: /* switch 6 */ case D_8018D9E0_TYPE_02C: /* switch 6 */ case D_8018D9E0_TYPE_02D: /* switch 6 */ case D_8018D9E0_TYPE_02E: /* switch 6 */ @@ -6041,7 +6041,7 @@ void func_8009F5E0(MenuItem* arg0) { arg0->column, arg0->row); func_800A8CA4(arg0); break; - case D_8018D9E0_TYPE_052: /* switch 6 */ + case COURSE_SELECT_MAP_SELECT: /* switch 6 */ gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg0->type - 0x52]), arg0->column, arg0->row); @@ -6052,7 +6052,7 @@ void func_8009F5E0(MenuItem* arg0) { case D_8018D9E0_TYPE_062: /* switch 6 */ func_800A1500(arg0); break; - case D_8018D9E0_TYPE_053: /* switch 6 */ + case COURSE_SELECT_MUSHROOM_CUP: /* switch 6 */ case D_8018D9E0_TYPE_054: /* switch 6 */ case D_8018D9E0_TYPE_055: /* switch 6 */ case D_8018D9E0_TYPE_056: /* switch 6 */ @@ -8454,7 +8454,7 @@ void func_800A7A4C(s32 arg0) { var_v1 = 0; var_s1 = &D_8018D9E0[var_v1_2]; type = var_s1->type; - if ((type == D_8018D9E0_TYPE_004) || (type == D_8018D9E0_TYPE_005) || (type == D_8018D9E0_TYPE_0C7)) { + if ((type == UNUSED_TYPE_004) || (type == START_MENU_TEXT_BOX) || (type == D_8018D9E0_TYPE_0C7)) { if (arg0 != 0) { var_v1 = 1; } @@ -8467,7 +8467,7 @@ void func_800A7A4C(s32 arg0) { } switch (type) { /* switch 8; irregular */ - case D_8018D9E0_TYPE_0FA: /* switch 8 */ + case LOGO_INTRO_MENU_LOGO: /* switch 8 */ if (s8018ED94 < 0x50) { D_800E8534 = 3.0f; } else if (s8018ED94 < 0x5A) { @@ -8505,7 +8505,7 @@ void func_800A7A4C(s32 arg0) { case D_8018D9E0_TYPE_0D4: /* switch 8 */ func_800A97BC(var_s1); break; - case D_8018D9E0_TYPE_005: /* switch 8 */ + case START_MENU_TEXT_BOX: /* switch 8 */ switch (var_s1->state) { /* switch 9; irregular */ case 0: /* switch 9 */ if (gControllerFive->button & R_TRIG) { @@ -8521,11 +8521,11 @@ void func_800A7A4C(s32 arg0) { break; } break; - case D_8018D9E0_TYPE_00A: /* switch 8 */ + case MAIN_MENU_GAME_SELECT: /* switch 8 */ func_800AA280(var_s1); break; - case D_8018D9E0_TYPE_010: /* switch 8 */ - case D_8018D9E0_TYPE_011: /* switch 8 */ + case MAIN_MENU_OPTION: /* switch 8 */ + case MAIN_MENU_DATA: /* switch 8 */ switch (gMainMenuSelectionDepth) { /* switch 5 */ case OPTIONS_SELECTION: /* switch 5 */ case DATA_SELECTION: /* switch 5 */ @@ -8541,14 +8541,14 @@ void func_800A7A4C(s32 arg0) { break; } break; - case D_8018D9E0_TYPE_00F: /* switch 8 */ + case MAIN_MENU_OK: /* switch 8 */ func_800AA280(var_s1); func_800A9A98(var_s1); break; case D_8018D9E0_TYPE_00B: /* switch 8 */ case D_8018D9E0_TYPE_00C: /* switch 8 */ case D_8018D9E0_TYPE_00D: /* switch 8 */ - case D_8018D9E0_TYPE_00E: /* switch 8 */ + case MAIN_MENU_4P_GAME: /* switch 8 */ switch (gMainMenuSelectionDepth) { /* switch 6 */ case OPTIONS_SELECTION: /* switch 6 */ case DATA_SELECTION: /* switch 6 */ @@ -8565,26 +8565,26 @@ void func_800A7A4C(s32 arg0) { } func_800A9D5C(var_s1); break; - case D_8018D9E0_TYPE_012: /* switch 8 */ - case D_8018D9E0_TYPE_013: /* switch 8 */ - case D_8018D9E0_TYPE_014: /* switch 8 */ + case MAIN_MENU_50CC: /* switch 8 */ + case MAIN_MENU_100CC: /* switch 8 */ + case MAIN_MENU_150CC: /* switch 8 */ case D_8018D9E0_TYPE_015: /* switch 8 */ case D_8018D9E0_TYPE_016: /* switch 8 */ case D_8018D9E0_TYPE_017: /* switch 8 */ - case D_8018D9E0_TYPE_018: /* switch 8 */ - case D_8018D9E0_TYPE_019: /* switch 8 */ + case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 8 */ + case MAIN_MENU_TIME_TRIALS_DATA: /* switch 8 */ func_800A9E58(var_s1); break; case D_8018D9E0_TYPE_01B: /* switch 8 */ func_800AA2EC(var_s1); break; - case D_8018D9E0_TYPE_034: /* switch 8 */ + case CHARACTER_SELECT_MENU_1P_CURSOR: /* switch 8 */ case D_8018D9E0_TYPE_035: /* switch 8 */ case D_8018D9E0_TYPE_036: /* switch 8 */ case D_8018D9E0_TYPE_037: /* switch 8 */ func_800AADD4(var_s1); break; - case D_8018D9E0_TYPE_02B: /* switch 8 */ + case CHARACTER_SELECT_MENU_MARIO: /* switch 8 */ case D_8018D9E0_TYPE_02C: /* switch 8 */ case D_8018D9E0_TYPE_02D: /* switch 8 */ case D_8018D9E0_TYPE_02E: /* switch 8 */ @@ -8616,11 +8616,11 @@ void func_800A7A4C(s32 arg0) { } func_800AAE18(var_s1); break; - case D_8018D9E0_TYPE_033: /* switch 8 */ + case CHARACTER_SELECT_MENU_OK: /* switch 8 */ case D_8018D9E0_TYPE_05D: /* switch 8 */ func_800A9A98(var_s1); break; - case D_8018D9E0_TYPE_053: /* switch 8 */ + case COURSE_SELECT_MUSHROOM_CUP: /* switch 8 */ case D_8018D9E0_TYPE_054: /* switch 8 */ case D_8018D9E0_TYPE_055: /* switch 8 */ case D_8018D9E0_TYPE_056: /* switch 8 */ @@ -8826,10 +8826,10 @@ void func_800A7A4C(s32 arg0) { func_800AF480(var_s1); break; case D_8018D9E0_TYPE_NULL: - case D_8018D9E0_TYPE_001: - case D_8018D9E0_TYPE_002: - case D_8018D9E0_TYPE_003: - case D_8018D9E0_TYPE_004: + case START_MENU_BACKGROUND: + case START_MENU_LOGO_AND_COPYRIGHT: + case START_MENU_PUSH_START_BUTTON: + case UNUSED_TYPE_004: break; } } @@ -8840,7 +8840,7 @@ void func_800A7A4C(s32 arg0) { var_s1 = &D_8018D9E0[var_v1_2]; if (var_s1 && var_s1) {} // ? type = var_s1->type; - if ((type == D_8018D9E0_TYPE_004) || (type == D_8018D9E0_TYPE_005) || (type == D_8018D9E0_TYPE_0C7)) { + if ((type == UNUSED_TYPE_004) || (type == START_MENU_TEXT_BOX) || (type == D_8018D9E0_TYPE_0C7)) { if (arg0 != 0) { var_v1 = 1; } @@ -10652,7 +10652,7 @@ void func_800AC324(MenuItem* arg0) { if (((D_8018D9D8 != 0) || (arg0->unk20 >= 0x5B)) && (D_800DDB24 != 0)) { arg0->state = 3; arg0->unk1C = arg0->column; - add_8018D9E0_entry(D_8018D9E0_TYPE_0AB, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0AB, 0, 0, D_8018D9E0_PRIORITY_0); } break; case 3: @@ -10908,7 +10908,7 @@ void func_800ACC50(MenuItem* arg0) { arg0->state = 1; arg0->unk1C = 0; for (i = 0; i < gPlayerCount; i++) { - add_8018D9E0_entry(i + D_8018D9E0_TYPE_0B1, 0, 0, (s8) (D_8018D9E0_PRIORITY_5 - i)); + add_ui_element(i + D_8018D9E0_TYPE_0B1, 0, 0, (s8) (D_8018D9E0_PRIORITY_5 - i)); } } break; @@ -11041,7 +11041,7 @@ void func_800AD1A4(MenuItem* arg0) { arg0->column = 0x0000014A; arg0->state = 1; func_800921B4(); - add_8018D9E0_entry(D_8018D9E0_TYPE_0BB, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0BB, 0, 0, D_8018D9E0_PRIORITY_0); break; case 1: func_800A9208(arg0, 0x000000A0); @@ -11061,7 +11061,7 @@ void func_800AD1A4(MenuItem* arg0) { func_800921B4(); arg0->state = 4; arg0->unk1C = arg0->column; - add_8018D9E0_entry(D_8018D9E0_TYPE_0BA, 0, 0, D_8018D9E0_PRIORITY_0); + add_ui_element(D_8018D9E0_TYPE_0BA, 0, 0, D_8018D9E0_PRIORITY_0); } break; case 4: @@ -11900,7 +11900,7 @@ void func_800AF004(MenuItem* arg0) { arg0->state = 1; gCupSelection %= 4; gCCSelection %= 4; - add_8018D9E0_entry(D_8018D9E0_TYPE_12C, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(D_8018D9E0_TYPE_12C, 0, 0, D_8018D9E0_PRIORITY_4); } break; case 1: @@ -11911,7 +11911,7 @@ void func_800AF004(MenuItem* arg0) { if (arg0->unk1C >= 9) { arg0->unk1C = 0; arg0->state++; - add_8018D9E0_entry(arg0->state + D_8018D9E0_TYPE_12B, 0, 0, D_8018D9E0_PRIORITY_4); + add_ui_element(arg0->state + D_8018D9E0_TYPE_12B, 0, 0, D_8018D9E0_PRIORITY_4); } break; case 5: diff --git a/src/code_80091750.h b/src/code_80091750.h index e051dfd9d..2847560ec 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -114,33 +114,33 @@ enum CenterText { enum D_8018D9E0_type { D_8018D9E0_TYPE_NULL, - D_8018D9E0_TYPE_001, - D_8018D9E0_TYPE_002, - D_8018D9E0_TYPE_003, - D_8018D9E0_TYPE_004, - D_8018D9E0_TYPE_005, - D_8018D9E0_TYPE_00A = 0xA, + START_MENU_BACKGROUND, + START_MENU_LOGO_AND_COPYRIGHT, + START_MENU_PUSH_START_BUTTON, + UNUSED_TYPE_004, + START_MENU_TEXT_BOX, + MAIN_MENU_GAME_SELECT = 0xA, D_8018D9E0_TYPE_00B, D_8018D9E0_TYPE_00C, D_8018D9E0_TYPE_00D, - D_8018D9E0_TYPE_00E, - D_8018D9E0_TYPE_00F, - D_8018D9E0_TYPE_010, - D_8018D9E0_TYPE_011, - D_8018D9E0_TYPE_012, - D_8018D9E0_TYPE_013, - D_8018D9E0_TYPE_014, + MAIN_MENU_4P_GAME, + MAIN_MENU_OK, + MAIN_MENU_OPTION, + MAIN_MENU_DATA, + MAIN_MENU_50CC, + MAIN_MENU_100CC, + MAIN_MENU_150CC, D_8018D9E0_TYPE_015, D_8018D9E0_TYPE_016, D_8018D9E0_TYPE_017, - D_8018D9E0_TYPE_018, - D_8018D9E0_TYPE_019, + MAIN_MENU_TIME_TRIALS_BEGIN, + MAIN_MENU_TIME_TRIALS_DATA, D_8018D9E0_TYPE_01B = 0x1B, - D_8018D9E0_TYPE_023 = 0x23, + MAIN_MENU_BACKGROUND = 0x23, D_8018D9E0_TYPE_024, D_8018D9E0_TYPE_025, - D_8018D9E0_TYPE_02A = 0x2A, - D_8018D9E0_TYPE_02B, + CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER = 0x2A, + CHARACTER_SELECT_MENU_MARIO, D_8018D9E0_TYPE_02C, D_8018D9E0_TYPE_02D, D_8018D9E0_TYPE_02E, @@ -148,8 +148,8 @@ enum D_8018D9E0_type { D_8018D9E0_TYPE_030, D_8018D9E0_TYPE_031, D_8018D9E0_TYPE_032, - D_8018D9E0_TYPE_033, - D_8018D9E0_TYPE_034, + CHARACTER_SELECT_MENU_OK, + CHARACTER_SELECT_MENU_1P_CURSOR, D_8018D9E0_TYPE_035, D_8018D9E0_TYPE_036, D_8018D9E0_TYPE_037, @@ -161,8 +161,8 @@ enum D_8018D9E0_type { D_8018D9E0_TYPE_048, D_8018D9E0_TYPE_049, D_8018D9E0_TYPE_050 = 0x50, - D_8018D9E0_TYPE_052 = 0x52, - D_8018D9E0_TYPE_053, + COURSE_SELECT_MAP_SELECT = 0x52, + COURSE_SELECT_MUSHROOM_CUP, D_8018D9E0_TYPE_054, D_8018D9E0_TYPE_055, D_8018D9E0_TYPE_056, @@ -241,8 +241,8 @@ enum D_8018D9E0_type { D_8018D9E0_TYPE_0EA, D_8018D9E0_TYPE_0F0 = 0xF0, D_8018D9E0_TYPE_0F1, - D_8018D9E0_TYPE_0FA = 0xFA, - D_8018D9E0_TYPE_0FB, + LOGO_INTRO_MENU_LOGO = 0xFA, + START_MENU_FLAG, D_8018D9E0_TYPE_10E = 0x10E, D_8018D9E0_TYPE_12B = 0X12B, D_8018D9E0_TYPE_12C, @@ -376,7 +376,7 @@ void func_800942D0(void); void func_80094660(struct GfxPool*, s32); void func_800947B4(struct GfxPool*, s32); void func_80094A64(struct GfxPool*); -void func_80094C60(void); +void render_menus(void); void func_80095574(void); Gfx* draw_flash_select_case(Gfx*, s32, s32, s32, s32, s32); Gfx* draw_flash_select_case_slow(Gfx*, s32, s32, s32, s32); @@ -400,11 +400,11 @@ Gfx* func_80098FC8(Gfx*, s32, s32, s32, s32); void dma_copy_base_729a30(u64*, size_t, void*); void dma_copy_base_7fa3c0(u64*, size_t, void*); void func_80099110(void); -void func_80099184(MkTexture*); +void load_menu_img(MkTexture*); void* segmented_to_virtual_dupe(const void*); void* segmented_to_virtual_dupe_2(const void*); -void func_8009969C(MkTexture*); -void func_800996BC(MkTexture*, s32); +void load_img_wrap(MkTexture*); +void load_menu_img2(MkTexture*, s32); void func_80099958(MkTexture*, s32, s32); void func_80099E54(void); void func_80099E60(MkTexture*, s32, s32); @@ -415,7 +415,7 @@ void func_80099AEC(void); void func_8009A238(MkTexture*, s32); void func_8009A2F0(struct_8018E0E8_entry*); void func_8009A344(void); -s32 func_8009A374(MkAnimation*); +s32 animate_character_select_menu(MkAnimation*); s32 func_8009A478(MkAnimation*, s32); void func_8009A594(s32, s32, MkAnimation*); void func_8009A640(s32, s32, s32, MkAnimation*); @@ -427,8 +427,8 @@ MkTexture* func_8009A944(struct_8018DEE0_entry*, s32); void func_8009A9FC(s32, s32, u32, s32); void func_8009AB7C(s32); void func_8009AD78(s32, s32); -void func_8009B0A4(s32, u32); -void func_8009B538(s32, s32, s32, s32, s32); +void convert_img_to_greyscale(s32, u32); +void adjust_img_colour(s32, s32, s32, s32, s32); u16* func_8009B8C4(u64*); void func_8009B938(void); void func_8009B954(MkTexture*); @@ -474,7 +474,7 @@ void func_8009E2F0(s32); void func_8009E5BC(void); void func_8009E5FC(s32); void func_8009E620(void); -void add_8018D9E0_entry(s32, s32, s32, s8); +void add_ui_element(s32, s32, s32, s8); void func_8009F5E0(MenuItem*); void func_800A08D8(u8, s32, s32); s32 func_800A095C(char*, s32, s32, s32); @@ -657,7 +657,7 @@ extern MenuItem D_8018D9E0[D_8018D9E0_SIZE]; extern struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE]; extern struct_8018E060_entry D_8018E060[D_8018E060_SIZE]; extern struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE]; -extern s32 gD_8018E118TotalSize; +extern s32 gMenuTextureBufferIndex; extern struct_8018E118_entry D_8018E118[D_8018E118_SIZE]; extern s32 gNumD_8018E118Entries; extern Gfx* D_8018E75C; diff --git a/src/menus.c b/src/menus.c index c43378bea..982494d19 100644 --- a/src/menus.c +++ b/src/menus.c @@ -157,7 +157,7 @@ void update_menus(void) { func_800CA330(0x19); // deliberate (?) fallthru case MAIN_MENU: - case PLAYER_SELECT_MENU: + case CHARACTER_SELECT_MENU: play_sound2(SOUND_MENU_OK_CLICKED); break; } @@ -198,7 +198,7 @@ void update_menus(void) { main_menu_act(&gControllers[controllerIdx], controllerIdx); break; case PLAYER_SELECT_MENU_FROM_QUIT: - case PLAYER_SELECT_MENU: + case CHARACTER_SELECT_MENU: player_select_menu_act(&gControllers[controllerIdx], controllerIdx); break; case COURSE_SELECT_MENU_FROM_QUIT: diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c index 14b12bf8b..485981177 100644 --- a/src/racing/skybox_and_splitscreen.c +++ b/src/racing/skybox_and_splitscreen.c @@ -139,7 +139,7 @@ void func_802A38B4(void) { gMenuSelection = MAIN_MENU; break; case PLAYER_SELECT_MENU_FROM_QUIT: - gMenuSelection = PLAYER_SELECT_MENU; + gMenuSelection = CHARACTER_SELECT_MENU; break; case COURSE_SELECT_MENU_FROM_QUIT: gMenuSelection = COURSE_SELECT_MENU;