diff --git a/asm/non_matchings/code_80091750/func_80099184.s b/asm/non_matchings/code_80091750/func_80099184.s deleted file mode 100644 index 9df413353a..0000000000 --- a/asm/non_matchings/code_80091750/func_80099184.s +++ /dev/null @@ -1,146 +0,0 @@ -glabel func_80099184 -/* 099D84 80099184 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 099D88 80099188 AFBF0034 */ sw $ra, 0x34($sp) -/* 099D8C 8009918C AFB60030 */ sw $s6, 0x30($sp) -/* 099D90 80099190 AFB5002C */ sw $s5, 0x2c($sp) -/* 099D94 80099194 AFB40028 */ sw $s4, 0x28($sp) -/* 099D98 80099198 AFB30024 */ sw $s3, 0x24($sp) -/* 099D9C 8009919C AFB20020 */ sw $s2, 0x20($sp) -/* 099DA0 800991A0 AFB1001C */ sw $s1, 0x1c($sp) -/* 099DA4 800991A4 0C026449 */ jal segmented_to_virtual_dupe -/* 099DA8 800991A8 AFB00018 */ sw $s0, 0x18($sp) -/* 099DAC 800991AC 8C4E0004 */ lw $t6, 4($v0) -/* 099DB0 800991B0 00408825 */ move $s1, $v0 -/* 099DB4 800991B4 24160003 */ li $s6, 3 -/* 099DB8 800991B8 11C0006C */ beqz $t6, .L8009936C -/* 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 -/* 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 -/* 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 -/* 099DE4 800991E4 8E630000 */ lw $v1, ($s3) -.L800991E8: -/* 099DE8 800991E8 00002825 */ move $a1, $zero -/* 099DEC 800991EC 00001025 */ move $v0, $zero -/* 099DF0 800991F0 1860000D */ blez $v1, .L80099228 -/* 099DF4 800991F4 00000000 */ nop -/* 099DF8 800991F8 8E240004 */ lw $a0, 4($s1) -/* 099DFC 800991FC 000278C0 */ sll $t7, $v0, 3 -.L80099200: -/* 099E00 80099200 020FC021 */ addu $t8, $s0, $t7 -/* 099E04 80099204 8F190000 */ lw $t9, ($t8) -/* 099E08 80099208 24420001 */ addiu $v0, $v0, 1 -/* 099E0C 8009920C 0043082A */ slt $at, $v0, $v1 -/* 099E10 80099210 17240003 */ bne $t9, $a0, .L80099220 -/* 099E14 80099214 00000000 */ nop -/* 099E18 80099218 10000003 */ b .L80099228 -/* 099E1C 8009921C 24050001 */ li $a1, 1 -.L80099220: -/* 099E20 80099220 5420FFF7 */ bnel $at, $zero, .L80099200 -/* 099E24 80099224 000278C0 */ sll $t7, $v0, 3 -.L80099228: -/* 099E28 80099228 54A0004D */ bnel $a1, $zero, .L80099360 -/* 099E2C 8009922C 8E2A0018 */ lw $t2, 0x18($s1) -/* 099E30 80099230 86280000 */ lh $t0, ($s1) -/* 099E34 80099234 8E240004 */ lw $a0, 4($s1) -/* 099E38 80099238 56C80022 */ bnel $s6, $t0, .L800992C4 -/* 099E3C 8009923C 962F000A */ lhu $t7, 0xa($s1) -/* 099E40 80099240 96220010 */ lhu $v0, 0x10($s1) -/* 099E44 80099244 24051000 */ li $a1, 4096 -/* 099E48 80099248 10400003 */ beqz $v0, .L80099258 -/* 099E4C 8009924C 00000000 */ nop -/* 099E50 80099250 10000001 */ b .L80099258 -/* 099E54 80099254 3045FFFF */ andi $a1, $v0, 0xffff -.L80099258: -/* 099E58 80099258 00A01025 */ move $v0, $a1 -/* 099E5C 8009925C 04410004 */ bgez $v0, .L80099270 -/* 099E60 80099260 30490007 */ andi $t1, $v0, 7 -/* 099E64 80099264 11200002 */ beqz $t1, .L80099270 -/* 099E68 80099268 00000000 */ nop -/* 099E6C 8009926C 2529FFF8 */ addiu $t1, $t1, -8 -.L80099270: -/* 099E70 80099270 11200009 */ beqz $t1, .L80099298 -/* 099E74 80099274 00000000 */ nop -/* 099E78 80099278 04410003 */ bgez $v0, .L80099288 -/* 099E7C 8009927C 000228C3 */ sra $a1, $v0, 3 -/* 099E80 80099280 24410007 */ addiu $at, $v0, 7 -/* 099E84 80099284 000128C3 */ sra $a1, $at, 3 -.L80099288: -/* 099E88 80099288 000550C0 */ sll $t2, $a1, 3 -/* 099E8C 8009928C 25450008 */ addiu $a1, $t2, 8 -/* 099E90 80099290 30ABFFFF */ andi $t3, $a1, 0xffff -/* 099E94 80099294 01602825 */ move $a1, $t3 -.L80099298: -/* 099E98 80099298 0C026400 */ jal dma_copy_base_729a30 -/* 099E9C 8009929C 8E860000 */ lw $a2, ($s4) -/* 099EA0 800992A0 8E4C0000 */ lw $t4, ($s2) -/* 099EA4 800992A4 8EAE0000 */ lw $t6, ($s5) -/* 099EA8 800992A8 8E840000 */ lw $a0, ($s4) -/* 099EAC 800992AC 000C6840 */ sll $t5, $t4, 1 -/* 099EB0 800992B0 0C010034 */ jal mio0decode -/* 099EB4 800992B4 01AE2821 */ addu $a1, $t5, $t6 -/* 099EB8 800992B8 1000000D */ b .L800992F0 -/* 099EBC 800992BC 8E6C0000 */ lw $t4, ($s3) -/* 099EC0 800992C0 962F000A */ lhu $t7, 0xa($s1) -.L800992C4: -/* 099EC4 800992C4 96380008 */ lhu $t8, 8($s1) -/* 099EC8 800992C8 8E480000 */ lw $t0, ($s2) -/* 099ECC 800992CC 8EAA0000 */ lw $t2, ($s5) -/* 099ED0 800992D0 01F80019 */ multu $t7, $t8 -/* 099ED4 800992D4 00084840 */ sll $t1, $t0, 1 -/* 099ED8 800992D8 012A3021 */ addu $a2, $t1, $t2 -/* 099EDC 800992DC 00002812 */ mflo $a1 -/* 099EE0 800992E0 0005C840 */ sll $t9, $a1, 1 -/* 099EE4 800992E4 0C026400 */ jal dma_copy_base_729a30 -/* 099EE8 800992E8 03202825 */ move $a1, $t9 -/* 099EEC 800992EC 8E6C0000 */ lw $t4, ($s3) -.L800992F0: -/* 099EF0 800992F0 8E2B0004 */ lw $t3, 4($s1) -/* 099EF4 800992F4 000C68C0 */ sll $t5, $t4, 3 -/* 099EF8 800992F8 020D7021 */ addu $t6, $s0, $t5 -/* 099EFC 800992FC ADCB0000 */ sw $t3, ($t6) -/* 099F00 80099300 8E780000 */ lw $t8, ($s3) -/* 099F04 80099304 8E4F0000 */ lw $t7, ($s2) -/* 099F08 80099308 0018C8C0 */ sll $t9, $t8, 3 -/* 099F0C 8009930C 02194021 */ addu $t0, $s0, $t9 -/* 099F10 80099310 AD0F0004 */ sw $t7, 4($t0) -/* 099F14 80099314 962A0008 */ lhu $t2, 8($s1) -/* 099F18 80099318 9629000A */ lhu $t1, 0xa($s1) -/* 099F1C 8009931C 8E4D0000 */ lw $t5, ($s2) -/* 099F20 80099320 8E680000 */ lw $t0, ($s3) -/* 099F24 80099324 012A0019 */ multu $t1, $t2 -/* 099F28 80099328 25090001 */ addiu $t1, $t0, 1 -/* 099F2C 8009932C AE690000 */ sw $t1, ($s3) -/* 099F30 80099330 00006012 */ mflo $t4 -/* 099F34 80099334 01AC5821 */ addu $t3, $t5, $t4 -/* 099F38 80099338 01607025 */ move $t6, $t3 -/* 099F3C 8009933C AE4B0000 */ sw $t3, ($s2) -/* 099F40 80099340 05C10003 */ bgez $t6, .L80099350 -/* 099F44 80099344 000EC0C3 */ sra $t8, $t6, 3 -/* 099F48 80099348 25C10007 */ addiu $at, $t6, 7 -/* 099F4C 8009934C 0001C0C3 */ sra $t8, $at, 3 -.L80099350: -/* 099F50 80099350 0018C8C0 */ sll $t9, $t8, 3 -/* 099F54 80099354 272F0008 */ addiu $t7, $t9, 8 -/* 099F58 80099358 AE4F0000 */ sw $t7, ($s2) -/* 099F5C 8009935C 8E2A0018 */ lw $t2, 0x18($s1) -.L80099360: -/* 099F60 80099360 26310014 */ addiu $s1, $s1, 0x14 -/* 099F64 80099364 5540FFA0 */ bnel $t2, $zero, .L800991E8 -/* 099F68 80099368 8E630000 */ lw $v1, ($s3) -.L8009936C: -/* 099F6C 8009936C 8FBF0034 */ lw $ra, 0x34($sp) -/* 099F70 80099370 8FB00018 */ lw $s0, 0x18($sp) -/* 099F74 80099374 8FB1001C */ lw $s1, 0x1c($sp) -/* 099F78 80099378 8FB20020 */ lw $s2, 0x20($sp) -/* 099F7C 8009937C 8FB30024 */ lw $s3, 0x24($sp) -/* 099F80 80099380 8FB40028 */ lw $s4, 0x28($sp) -/* 099F84 80099384 8FB5002C */ lw $s5, 0x2c($sp) -/* 099F88 80099388 8FB60030 */ lw $s6, 0x30($sp) -/* 099F8C 8009938C 03E00008 */ jr $ra -/* 099F90 80099390 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_80091750/func_80099394.s b/asm/non_matchings/code_80091750/func_80099394.s deleted file mode 100644 index 947f8a6970..0000000000 --- a/asm/non_matchings/code_80091750/func_80099394.s +++ /dev/null @@ -1,112 +0,0 @@ -glabel func_80099394 -/* 099F94 80099394 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 099F98 80099398 AFBF0034 */ sw $ra, 0x34($sp) -/* 099F9C 8009939C AFB60030 */ sw $s6, 0x30($sp) -/* 099FA0 800993A0 AFB5002C */ sw $s5, 0x2c($sp) -/* 099FA4 800993A4 AFB40028 */ sw $s4, 0x28($sp) -/* 099FA8 800993A8 AFB30024 */ sw $s3, 0x24($sp) -/* 099FAC 800993AC AFB20020 */ sw $s2, 0x20($sp) -/* 099FB0 800993B0 AFB1001C */ sw $s1, 0x1c($sp) -/* 099FB4 800993B4 0C026449 */ jal segmented_to_virtual_dupe -/* 099FB8 800993B8 AFB00018 */ sw $s0, 0x18($sp) -/* 099FBC 800993BC 8C4E0004 */ lw $t6, 4($v0) -/* 099FC0 800993C0 3C168019 */ lui $s6, %hi(D_8018D9B0) # $s6, 0x8019 -/* 099FC4 800993C4 00409025 */ move $s2, $v0 -/* 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 -/* 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 -/* 099FE4 800993E4 2694E758 */ addiu $s4, %lo(gNumD_8018E118Entries) # addiu $s4, $s4, -0x18a8 -/* 099FE8 800993E8 24150005 */ li $s5, 5 -/* 099FEC 800993EC 8E830000 */ lw $v1, ($s4) -.L800993F0: -/* 099FF0 800993F0 00002025 */ move $a0, $zero -/* 099FF4 800993F4 00001025 */ move $v0, $zero -/* 099FF8 800993F8 1860000D */ blez $v1, .L80099430 -/* 099FFC 800993FC 00000000 */ nop -/* 09A000 80099400 8E500004 */ lw $s0, 4($s2) -/* 09A004 80099404 000278C0 */ sll $t7, $v0, 3 -.L80099408: -/* 09A008 80099408 022FC021 */ addu $t8, $s1, $t7 -/* 09A00C 8009940C 8F190000 */ lw $t9, ($t8) -/* 09A010 80099410 24420001 */ addiu $v0, $v0, 1 -/* 09A014 80099414 0043082A */ slt $at, $v0, $v1 -/* 09A018 80099418 17300003 */ bne $t9, $s0, .L80099428 -/* 09A01C 8009941C 00000000 */ nop -/* 09A020 80099420 10000003 */ b .L80099430 -/* 09A024 80099424 24040001 */ li $a0, 1 -.L80099428: -/* 09A028 80099428 5420FFF7 */ bnel $at, $zero, .L80099408 -/* 09A02C 8009942C 000278C0 */ sll $t7, $v0, 3 -.L80099430: -/* 09A030 80099430 54800031 */ bnel $a0, $zero, .L800994F8 -/* 09A034 80099434 8E4C0018 */ lw $t4, 0x18($s2) -/* 09A038 80099438 86480000 */ lh $t0, ($s2) -/* 09A03C 8009943C 8E500004 */ lw $s0, 4($s2) -/* 09A040 80099440 56A80013 */ bnel $s5, $t0, .L80099490 -/* 09A044 80099444 000378C0 */ sll $t7, $v1, 3 -/* 09A048 80099448 9649000A */ lhu $t1, 0xa($s2) -/* 09A04C 8009944C 964A0008 */ lhu $t2, 8($s2) -/* 09A050 80099450 8E6C0000 */ lw $t4, ($s3) -/* 09A054 80099454 8ECE0000 */ lw $t6, ($s6) -/* 09A058 80099458 012A0019 */ multu $t1, $t2 -/* 09A05C 8009945C 000C6840 */ sll $t5, $t4, 1 -/* 09A060 80099460 02002025 */ move $a0, $s0 -/* 09A064 80099464 01AE3021 */ addu $a2, $t5, $t6 -/* 09A068 80099468 00002812 */ mflo $a1 -/* 09A06C 8009946C 04A10003 */ bgez $a1, .L8009947C -/* 09A070 80099470 00055843 */ sra $t3, $a1, 1 -/* 09A074 80099474 24A10001 */ addiu $at, $a1, 1 -/* 09A078 80099478 00015843 */ sra $t3, $at, 1 -.L8009947C: -/* 09A07C 8009947C 0C026400 */ jal dma_copy_base_729a30 -/* 09A080 80099480 01602825 */ move $a1, $t3 -/* 09A084 80099484 8E830000 */ lw $v1, ($s4) -/* 09A088 80099488 8E500004 */ lw $s0, 4($s2) -/* 09A08C 8009948C 000378C0 */ sll $t7, $v1, 3 -.L80099490: -/* 09A090 80099490 022FC021 */ addu $t8, $s1, $t7 -/* 09A094 80099494 AF100000 */ sw $s0, ($t8) -/* 09A098 80099498 8E880000 */ lw $t0, ($s4) -/* 09A09C 8009949C 8E790000 */ lw $t9, ($s3) -/* 09A0A0 800994A0 000848C0 */ sll $t1, $t0, 3 -/* 09A0A4 800994A4 02295021 */ addu $t2, $s1, $t1 -/* 09A0A8 800994A8 AD590004 */ sw $t9, 4($t2) -/* 09A0AC 800994AC 964C0008 */ lhu $t4, 8($s2) -/* 09A0B0 800994B0 964B000A */ lhu $t3, 0xa($s2) -/* 09A0B4 800994B4 8E6E0000 */ lw $t6, ($s3) -/* 09A0B8 800994B8 8E8A0000 */ lw $t2, ($s4) -/* 09A0BC 800994BC 016C0019 */ multu $t3, $t4 -/* 09A0C0 800994C0 254B0001 */ addiu $t3, $t2, 1 -/* 09A0C4 800994C4 AE8B0000 */ sw $t3, ($s4) -/* 09A0C8 800994C8 00006812 */ mflo $t5 -/* 09A0CC 800994CC 01CD7821 */ addu $t7, $t6, $t5 -/* 09A0D0 800994D0 01E0C025 */ move $t8, $t7 -/* 09A0D4 800994D4 AE6F0000 */ sw $t7, ($s3) -/* 09A0D8 800994D8 07010003 */ bgez $t8, .L800994E8 -/* 09A0DC 800994DC 001840C3 */ sra $t0, $t8, 3 -/* 09A0E0 800994E0 27010007 */ addiu $at, $t8, 7 -/* 09A0E4 800994E4 000140C3 */ sra $t0, $at, 3 -.L800994E8: -/* 09A0E8 800994E8 000848C0 */ sll $t1, $t0, 3 -/* 09A0EC 800994EC 25390008 */ addiu $t9, $t1, 8 -/* 09A0F0 800994F0 AE790000 */ sw $t9, ($s3) -/* 09A0F4 800994F4 8E4C0018 */ lw $t4, 0x18($s2) -.L800994F8: -/* 09A0F8 800994F8 26520014 */ addiu $s2, $s2, 0x14 -/* 09A0FC 800994FC 5580FFBC */ bnel $t4, $zero, .L800993F0 -/* 09A100 80099500 8E830000 */ lw $v1, ($s4) -.L80099504: -/* 09A104 80099504 8FBF0034 */ lw $ra, 0x34($sp) -/* 09A108 80099508 8FB00018 */ lw $s0, 0x18($sp) -/* 09A10C 8009950C 8FB1001C */ lw $s1, 0x1c($sp) -/* 09A110 80099510 8FB20020 */ lw $s2, 0x20($sp) -/* 09A114 80099514 8FB30024 */ lw $s3, 0x24($sp) -/* 09A118 80099518 8FB40028 */ lw $s4, 0x28($sp) -/* 09A11C 8009951C 8FB5002C */ lw $s5, 0x2c($sp) -/* 09A120 80099520 8FB60030 */ lw $s6, 0x30($sp) -/* 09A124 80099524 03E00008 */ jr $ra -/* 09A128 80099528 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_80091750/func_8009952C.s b/asm/non_matchings/code_80091750/func_8009952C.s deleted file mode 100644 index de792ba297..0000000000 --- a/asm/non_matchings/code_80091750/func_8009952C.s +++ /dev/null @@ -1,100 +0,0 @@ -glabel func_8009952C -/* 09A12C 8009952C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 09A130 80099530 AFBF002C */ sw $ra, 0x2c($sp) -/* 09A134 80099534 AFB50028 */ sw $s5, 0x28($sp) -/* 09A138 80099538 AFB40024 */ sw $s4, 0x24($sp) -/* 09A13C 8009953C AFB30020 */ sw $s3, 0x20($sp) -/* 09A140 80099540 AFB2001C */ sw $s2, 0x1c($sp) -/* 09A144 80099544 AFB10018 */ sw $s1, 0x18($sp) -/* 09A148 80099548 0C026449 */ jal segmented_to_virtual_dupe -/* 09A14C 8009954C AFB00014 */ sw $s0, 0x14($sp) -/* 09A150 80099550 8C4E0004 */ lw $t6, 4($v0) -/* 09A154 80099554 3C158019 */ lui $s5, %hi(D_8018D9B0) # $s5, 0x8019 -/* 09A158 80099558 00408825 */ move $s1, $v0 -/* 09A15C 8009955C 11C00046 */ beqz $t6, .L80099678 -/* 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 -/* 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 -/* 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) -.L80099588: -/* 09A188 80099588 00002825 */ move $a1, $zero -/* 09A18C 8009958C 00001025 */ move $v0, $zero -/* 09A190 80099590 1860000D */ blez $v1, .L800995C8 -/* 09A194 80099594 00000000 */ nop -/* 09A198 80099598 8E240004 */ lw $a0, 4($s1) -/* 09A19C 8009959C 000278C0 */ sll $t7, $v0, 3 -.L800995A0: -/* 09A1A0 800995A0 020FC021 */ addu $t8, $s0, $t7 -/* 09A1A4 800995A4 8F190000 */ lw $t9, ($t8) -/* 09A1A8 800995A8 24420001 */ addiu $v0, $v0, 1 -/* 09A1AC 800995AC 0043082A */ slt $at, $v0, $v1 -/* 09A1B0 800995B0 17240003 */ bne $t9, $a0, .L800995C0 -/* 09A1B4 800995B4 00000000 */ nop -/* 09A1B8 800995B8 10000003 */ b .L800995C8 -/* 09A1BC 800995BC 24050001 */ li $a1, 1 -.L800995C0: -/* 09A1C0 800995C0 5420FFF7 */ bnel $at, $zero, .L800995A0 -/* 09A1C4 800995C4 000278C0 */ sll $t7, $v0, 3 -.L800995C8: -/* 09A1C8 800995C8 54A00028 */ bnel $a1, $zero, .L8009966C -/* 09A1CC 800995CC 8E2A0018 */ lw $t2, 0x18($s1) -/* 09A1D0 800995D0 8E240004 */ lw $a0, 4($s1) -/* 09A1D4 800995D4 34058000 */ li $a1, 32768 -/* 09A1D8 800995D8 0C026400 */ jal dma_copy_base_729a30 -/* 09A1DC 800995DC 8E860000 */ lw $a2, ($s4) -/* 09A1E0 800995E0 8E480000 */ lw $t0, ($s2) -/* 09A1E4 800995E4 8EAA0000 */ lw $t2, ($s5) -/* 09A1E8 800995E8 8E840000 */ lw $a0, ($s4) -/* 09A1EC 800995EC 00084840 */ sll $t1, $t0, 1 -/* 09A1F0 800995F0 0C010034 */ jal mio0decode -/* 09A1F4 800995F4 012A2821 */ addu $a1, $t1, $t2 -/* 09A1F8 800995F8 8E6C0000 */ lw $t4, ($s3) -/* 09A1FC 800995FC 8E2B0004 */ lw $t3, 4($s1) -/* 09A200 80099600 000C68C0 */ sll $t5, $t4, 3 -/* 09A204 80099604 020D7021 */ addu $t6, $s0, $t5 -/* 09A208 80099608 ADCB0000 */ sw $t3, ($t6) -/* 09A20C 8009960C 8E780000 */ lw $t8, ($s3) -/* 09A210 80099610 8E4F0000 */ lw $t7, ($s2) -/* 09A214 80099614 0018C8C0 */ sll $t9, $t8, 3 -/* 09A218 80099618 02194021 */ addu $t0, $s0, $t9 -/* 09A21C 8009961C AD0F0004 */ sw $t7, 4($t0) -/* 09A220 80099620 962A0008 */ lhu $t2, 8($s1) -/* 09A224 80099624 9629000A */ lhu $t1, 0xa($s1) -/* 09A228 80099628 8E4D0000 */ lw $t5, ($s2) -/* 09A22C 8009962C 8E680000 */ lw $t0, ($s3) -/* 09A230 80099630 012A0019 */ multu $t1, $t2 -/* 09A234 80099634 25090001 */ addiu $t1, $t0, 1 -/* 09A238 80099638 AE690000 */ sw $t1, ($s3) -/* 09A23C 8009963C 00006012 */ mflo $t4 -/* 09A240 80099640 01AC5821 */ addu $t3, $t5, $t4 -/* 09A244 80099644 01607025 */ move $t6, $t3 -/* 09A248 80099648 AE4B0000 */ sw $t3, ($s2) -/* 09A24C 8009964C 05C10003 */ bgez $t6, .L8009965C -/* 09A250 80099650 000EC0C3 */ sra $t8, $t6, 3 -/* 09A254 80099654 25C10007 */ addiu $at, $t6, 7 -/* 09A258 80099658 0001C0C3 */ sra $t8, $at, 3 -.L8009965C: -/* 09A25C 8009965C 0018C8C0 */ sll $t9, $t8, 3 -/* 09A260 80099660 272F0008 */ addiu $t7, $t9, 8 -/* 09A264 80099664 AE4F0000 */ sw $t7, ($s2) -/* 09A268 80099668 8E2A0018 */ lw $t2, 0x18($s1) -.L8009966C: -/* 09A26C 8009966C 26310014 */ addiu $s1, $s1, 0x14 -/* 09A270 80099670 5540FFC5 */ bnel $t2, $zero, .L80099588 -/* 09A274 80099674 8E630000 */ lw $v1, ($s3) -.L80099678: -/* 09A278 80099678 8FBF002C */ lw $ra, 0x2c($sp) -/* 09A27C 8009967C 8FB00014 */ lw $s0, 0x14($sp) -/* 09A280 80099680 8FB10018 */ lw $s1, 0x18($sp) -/* 09A284 80099684 8FB2001C */ lw $s2, 0x1c($sp) -/* 09A288 80099688 8FB30020 */ lw $s3, 0x20($sp) -/* 09A28C 8009968C 8FB40024 */ lw $s4, 0x24($sp) -/* 09A290 80099690 8FB50028 */ lw $s5, 0x28($sp) -/* 09A294 80099694 03E00008 */ jr $ra -/* 09A298 80099698 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_80091750/func_800996BC.s b/asm/non_matchings/code_80091750/func_800996BC.s deleted file mode 100644 index c38ba4f972..0000000000 --- a/asm/non_matchings/code_80091750/func_800996BC.s +++ /dev/null @@ -1,189 +0,0 @@ -glabel func_800996BC -/* 09A2BC 800996BC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 09A2C0 800996C0 AFBF003C */ sw $ra, 0x3c($sp) -/* 09A2C4 800996C4 AFB20020 */ sw $s2, 0x20($sp) -/* 09A2C8 800996C8 00A09025 */ move $s2, $a1 -/* 09A2CC 800996CC AFBE0038 */ sw $fp, 0x38($sp) -/* 09A2D0 800996D0 AFB70034 */ sw $s7, 0x34($sp) -/* 09A2D4 800996D4 AFB60030 */ sw $s6, 0x30($sp) -/* 09A2D8 800996D8 AFB5002C */ sw $s5, 0x2c($sp) -/* 09A2DC 800996DC AFB40028 */ sw $s4, 0x28($sp) -/* 09A2E0 800996E0 AFB30024 */ sw $s3, 0x24($sp) -/* 09A2E4 800996E4 AFB1001C */ sw $s1, 0x1c($sp) -/* 09A2E8 800996E8 0C026449 */ jal segmented_to_virtual_dupe -/* 09A2EC 800996EC AFB00018 */ sw $s0, 0x18($sp) -/* 09A2F0 800996F0 8C4E0004 */ lw $t6, 4($v0) -/* 09A2F4 800996F4 00408025 */ move $s0, $v0 -/* 09A2F8 800996F8 241E0002 */ li $fp, 2 -/* 09A2FC 800996FC 11C0008A */ beqz $t6, .L80099928 -/* 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 -/* 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 -/* 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 -/* 09A328 80099728 8E830000 */ lw $v1, ($s4) -.L8009972C: -/* 09A32C 8009972C 00002825 */ move $a1, $zero -/* 09A330 80099730 00001025 */ move $v0, $zero -/* 09A334 80099734 1860000D */ blez $v1, .L8009976C -/* 09A338 80099738 00000000 */ nop -/* 09A33C 8009973C 8E040004 */ lw $a0, 4($s0) -/* 09A340 80099740 000278C0 */ sll $t7, $v0, 3 -.L80099744: -/* 09A344 80099744 022FC021 */ addu $t8, $s1, $t7 -/* 09A348 80099748 8F190000 */ lw $t9, ($t8) -/* 09A34C 8009974C 24420001 */ addiu $v0, $v0, 1 -/* 09A350 80099750 0043082A */ slt $at, $v0, $v1 -/* 09A354 80099754 17240003 */ bne $t9, $a0, .L80099764 -/* 09A358 80099758 00000000 */ nop -/* 09A35C 8009975C 10000003 */ b .L8009976C -/* 09A360 80099760 02C02825 */ move $a1, $s6 -.L80099764: -/* 09A364 80099764 5420FFF7 */ bnel $at, $zero, .L80099744 -/* 09A368 80099768 000278C0 */ sll $t7, $v0, 3 -.L8009976C: -/* 09A36C 8009976C 50A00004 */ beql $a1, $zero, .L80099780 -/* 09A370 80099770 96020010 */ lhu $v0, 0x10($s0) -/* 09A374 80099774 5A400069 */ blezl $s2, .L8009991C -/* 09A378 80099778 8E0F0018 */ lw $t7, 0x18($s0) -/* 09A37C 8009977C 96020010 */ lhu $v0, 0x10($s0) -.L80099780: -/* 09A380 80099780 24051000 */ li $a1, 4096 -/* 09A384 80099784 10400003 */ beqz $v0, .L80099794 -/* 09A388 80099788 00000000 */ nop -/* 09A38C 8009978C 10000001 */ b .L80099794 -/* 09A390 80099790 3045FFFF */ andi $a1, $v0, 0xffff -.L80099794: -/* 09A394 80099794 00A01025 */ move $v0, $a1 -/* 09A398 80099798 04410004 */ bgez $v0, .L800997AC -/* 09A39C 8009979C 30480007 */ andi $t0, $v0, 7 -/* 09A3A0 800997A0 11000002 */ beqz $t0, .L800997AC -/* 09A3A4 800997A4 00000000 */ nop -/* 09A3A8 800997A8 2508FFF8 */ addiu $t0, $t0, -8 -.L800997AC: -/* 09A3AC 800997AC 11000009 */ beqz $t0, .L800997D4 -/* 09A3B0 800997B0 00000000 */ nop -/* 09A3B4 800997B4 04410003 */ bgez $v0, .L800997C4 -/* 09A3B8 800997B8 000228C3 */ sra $a1, $v0, 3 -/* 09A3BC 800997BC 24410007 */ addiu $at, $v0, 7 -/* 09A3C0 800997C0 000128C3 */ sra $a1, $at, 3 -.L800997C4: -/* 09A3C4 800997C4 000548C0 */ sll $t1, $a1, 3 -/* 09A3C8 800997C8 25250008 */ addiu $a1, $t1, 8 -/* 09A3CC 800997CC 30AAFFFF */ andi $t2, $a1, 0xffff -/* 09A3D0 800997D0 01402825 */ move $a1, $t2 -.L800997D4: -/* 09A3D4 800997D4 5257000A */ beql $s2, $s7, .L80099800 -/* 09A3D8 800997D8 8E040004 */ lw $a0, 4($s0) -/* 09A3DC 800997DC 5240000D */ beql $s2, $zero, .L80099814 -/* 09A3E0 800997E0 8E040004 */ lw $a0, 4($s0) -/* 09A3E4 800997E4 52560006 */ beql $s2, $s6, .L80099800 -/* 09A3E8 800997E8 8E040004 */ lw $a0, 4($s0) -/* 09A3EC 800997EC 525E0009 */ beql $s2, $fp, .L80099814 -/* 09A3F0 800997F0 8E040004 */ lw $a0, 4($s0) -/* 09A3F4 800997F4 10000009 */ b .L8009981C -/* 09A3F8 800997F8 00000000 */ nop -/* 09A3FC 800997FC 8E040004 */ lw $a0, 4($s0) -.L80099800: -/* 09A400 80099800 0C026400 */ jal dma_copy_base_729a30 -/* 09A404 80099804 8EA60000 */ lw $a2, ($s5) -/* 09A408 80099808 10000004 */ b .L8009981C -/* 09A40C 8009980C 00000000 */ nop -/* 09A410 80099810 8E040004 */ lw $a0, 4($s0) -.L80099814: -/* 09A414 80099814 0C026422 */ jal dma_copy_base_7fa3c0 -/* 09A418 80099818 8EA60000 */ lw $a2, ($s5) -.L8009981C: -/* 09A41C 8009981C 1257000A */ beq $s2, $s7, .L80099848 -/* 09A420 80099820 3C0D8019 */ lui $t5, %hi(D_8018D9B0) # $t5, 0x8019 -/* 09A424 80099824 12400011 */ beqz $s2, .L8009986C -/* 09A428 80099828 3C058019 */ lui $a1, %hi(D_8018D9B8) # 0x8019 -/* 09A42C 8009982C 52560007 */ beql $s2, $s6, .L8009984C -/* 09A430 80099830 8E6B0000 */ lw $t3, ($s3) -/* 09A434 80099834 525E000E */ beql $s2, $fp, .L80099870 -/* 09A438 80099838 860E0000 */ lh $t6, ($s0) -/* 09A43C 8009983C 8E830000 */ lw $v1, ($s4) -/* 09A440 80099840 1000001B */ b .L800998B0 -/* 09A444 80099844 8E040004 */ lw $a0, 4($s0) -.L80099848: -/* 09A448 80099848 8E6B0000 */ lw $t3, ($s3) -.L8009984C: -/* 09A44C 8009984C 8DADD9B0 */ lw $t5, %lo(D_8018D9B0)($t5) -/* 09A450 80099850 8EA40000 */ lw $a0, ($s5) -/* 09A454 80099854 000B6040 */ sll $t4, $t3, 1 -/* 09A458 80099858 0C010034 */ jal mio0decode -/* 09A45C 8009985C 018D2821 */ addu $a1, $t4, $t5 -/* 09A460 80099860 8E830000 */ lw $v1, ($s4) -/* 09A464 80099864 10000012 */ b .L800998B0 -/* 09A468 80099868 8E040004 */ lw $a0, 4($s0) -.L8009986C: -/* 09A46C 8009986C 860E0000 */ lh $t6, ($s0) -.L80099870: -/* 09A470 80099870 24020001 */ li $v0, 1 -/* 09A474 80099874 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019 -/* 09A478 80099878 16CE0003 */ bne $s6, $t6, .L80099888 -/* 09A47C 8009987C 00000000 */ nop -/* 09A480 80099880 10000001 */ b .L80099888 -/* 09A484 80099884 240200BE */ li $v0, 190 -.L80099888: -/* 09A488 80099888 8E6F0000 */ lw $t7, ($s3) -/* 09A48C 8009988C 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9) -/* 09A490 80099890 8EA40000 */ lw $a0, ($s5) -/* 09A494 80099894 000FC040 */ sll $t8, $t7, 1 -/* 09A498 80099898 8CA5D9B8 */ lw $a1, %lo(D_8018D9B8)($a1) # -0x2648($a1) -/* 09A49C 8009989C 00403825 */ move $a3, $v0 -/* 09A4A0 800998A0 0C010174 */ jal tkmk00decode -/* 09A4A4 800998A4 03193021 */ addu $a2, $t8, $t9 -/* 09A4A8 800998A8 8E830000 */ lw $v1, ($s4) -/* 09A4AC 800998AC 8E040004 */ lw $a0, 4($s0) -.L800998B0: -/* 09A4B0 800998B0 000340C0 */ sll $t0, $v1, 3 -/* 09A4B4 800998B4 02284821 */ addu $t1, $s1, $t0 -/* 09A4B8 800998B8 AD240000 */ sw $a0, ($t1) -/* 09A4BC 800998BC 8E8B0000 */ lw $t3, ($s4) -/* 09A4C0 800998C0 8E6A0000 */ lw $t2, ($s3) -/* 09A4C4 800998C4 000B60C0 */ sll $t4, $t3, 3 -/* 09A4C8 800998C8 022C6821 */ addu $t5, $s1, $t4 -/* 09A4CC 800998CC ADAA0004 */ sw $t2, 4($t5) -/* 09A4D0 800998D0 960F0008 */ lhu $t7, 8($s0) -/* 09A4D4 800998D4 960E000A */ lhu $t6, 0xa($s0) -/* 09A4D8 800998D8 8E790000 */ lw $t9, ($s3) -/* 09A4DC 800998DC 8E8D0000 */ lw $t5, ($s4) -/* 09A4E0 800998E0 01CF0019 */ multu $t6, $t7 -/* 09A4E4 800998E4 25AE0001 */ addiu $t6, $t5, 1 -/* 09A4E8 800998E8 AE8E0000 */ sw $t6, ($s4) -/* 09A4EC 800998EC 0000C012 */ mflo $t8 -/* 09A4F0 800998F0 03384021 */ addu $t0, $t9, $t8 -/* 09A4F4 800998F4 01004825 */ move $t1, $t0 -/* 09A4F8 800998F8 AE680000 */ sw $t0, ($s3) -/* 09A4FC 800998FC 05210003 */ bgez $t1, .L8009990C -/* 09A500 80099900 000958C3 */ sra $t3, $t1, 3 -/* 09A504 80099904 25210007 */ addiu $at, $t1, 7 -/* 09A508 80099908 000158C3 */ sra $t3, $at, 3 -.L8009990C: -/* 09A50C 8009990C 000B60C0 */ sll $t4, $t3, 3 -/* 09A510 80099910 258A0008 */ addiu $t2, $t4, 8 -/* 09A514 80099914 AE6A0000 */ sw $t2, ($s3) -/* 09A518 80099918 8E0F0018 */ lw $t7, 0x18($s0) -.L8009991C: -/* 09A51C 8009991C 26100014 */ addiu $s0, $s0, 0x14 -/* 09A520 80099920 55E0FF82 */ bnel $t7, $zero, .L8009972C -/* 09A524 80099924 8E830000 */ lw $v1, ($s4) -.L80099928: -/* 09A528 80099928 8FBF003C */ lw $ra, 0x3c($sp) -/* 09A52C 8009992C 8FB00018 */ lw $s0, 0x18($sp) -/* 09A530 80099930 8FB1001C */ lw $s1, 0x1c($sp) -/* 09A534 80099934 8FB20020 */ lw $s2, 0x20($sp) -/* 09A538 80099938 8FB30024 */ lw $s3, 0x24($sp) -/* 09A53C 8009993C 8FB40028 */ lw $s4, 0x28($sp) -/* 09A540 80099940 8FB5002C */ lw $s5, 0x2c($sp) -/* 09A544 80099944 8FB60030 */ lw $s6, 0x30($sp) -/* 09A548 80099948 8FB70034 */ lw $s7, 0x34($sp) -/* 09A54C 8009994C 8FBE0038 */ lw $fp, 0x38($sp) -/* 09A550 80099950 03E00008 */ jr $ra -/* 09A554 80099954 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/code_80091750/func_80099AEC.s b/asm/non_matchings/code_80091750/func_80099AEC.s index 6ed12c8e43..8f3778201b 100644 --- a/asm/non_matchings/code_80091750/func_80099AEC.s +++ b/asm/non_matchings/code_80091750/func_80099AEC.s @@ -24,10 +24,10 @@ glabel func_80099AEC /* 09A73C 80099B3C 3C028019 */ lui $v0, %hi(D_8018E060) # 0x8019 /* 09A740 80099B40 2451E060 */ addiu $s1, $v0, %lo(D_8018E060) # -0x1fa0 /* 09A744 80099B44 8E320000 */ lw $s2, ($s1) -/* 09A748 80099B48 3C148019 */ lui $s4, %hi(D_8018D9B4) # $s4, 0x8019 +/* 09A748 80099B48 3C148019 */ lui $s4, %hi(gMenuCompressedBuffer) # $s4, 0x8019 /* 09A74C 80099B4C 0000A825 */ move $s5, $zero /* 09A750 80099B50 124000B4 */ beqz $s2, .L80099E24 -/* 09A754 80099B54 2694D9B4 */ addiu $s4, %lo(D_8018D9B4) # addiu $s4, $s4, -0x264c +/* 09A754 80099B54 2694D9B4 */ addiu $s4, %lo(gMenuCompressedBuffer) # addiu $s4, $s4, -0x264c /* 09A758 80099B58 96430010 */ lhu $v1, 0x10($s2) /* 09A75C 80099B5C 24101400 */ li $s0, 5120 /* 09A760 80099B60 10600003 */ beqz $v1, .L80099B70 @@ -77,8 +77,8 @@ glabel func_80099AEC /* 09A800 80099C00 02C02025 */ move $a0, $s6 /* 09A804 80099C04 0C0335D4 */ jal osRecvMesg /* 09A808 80099C08 24060001 */ li $a2, 1 -/* 09A80C 80099C0C 3C1E8019 */ lui $fp, %hi(D_8018E118) # $fp, 0x8019 -/* 09A810 80099C10 27DEE118 */ addiu $fp, %lo(D_8018E118) # addiu $fp, $fp, -0x1ee8 +/* 09A80C 80099C0C 3C1E8019 */ lui $fp, %hi(sMenuTextureMap) # $fp, 0x8019 +/* 09A810 80099C10 27DEE118 */ addiu $fp, %lo(sMenuTextureMap) # addiu $fp, $fp, -0x1ee8 /* 09A814 80099C14 8E220008 */ lw $v0, 8($s1) .L80099C18: /* 09A818 80099C18 8FB30060 */ lw $s3, 0x60($sp) @@ -136,8 +136,8 @@ glabel func_80099AEC /* 09A8D0 80099CD0 014C3821 */ addu $a3, $t2, $t4 .L80099CD4: /* 09A8D4 80099CD4 8E2F0004 */ lw $t7, 4($s1) -/* 09A8D8 80099CD8 3C098019 */ lui $t1, %hi(D_8018D9B0) # $t1, 0x8019 -/* 09A8DC 80099CDC 8D29D9B0 */ lw $t1, %lo(D_8018D9B0)($t1) +/* 09A8D8 80099CD8 3C098019 */ lui $t1, %hi(gMenuTextureBuffer) # $t1, 0x8019 +/* 09A8DC 80099CDC 8D29D9B0 */ lw $t1, %lo(gMenuTextureBuffer)($t1) /* 09A8E0 80099CE0 000FC0C0 */ sll $t8, $t7, 3 /* 09A8E4 80099CE4 031EC821 */ addu $t9, $t8, $fp /* 09A8E8 80099CE8 8F220004 */ lw $v0, 4($t9) @@ -206,8 +206,8 @@ glabel func_80099AEC /* 09A9D0 80099DD0 AFA90010 */ sw $t1, 0x10($sp) .L80099DD4: /* 09A9D4 80099DD4 8E2B0004 */ lw $t3, 4($s1) -/* 09A9D8 80099DD8 3C0F8019 */ lui $t7, %hi(D_8018D9B0) # $t7, 0x8019 -/* 09A9DC 80099DDC 8DEFD9B0 */ lw $t7, %lo(D_8018D9B0)($t7) +/* 09A9D8 80099DD8 3C0F8019 */ lui $t7, %hi(gMenuTextureBuffer) # $t7, 0x8019 +/* 09A9DC 80099DDC 8DEFD9B0 */ lw $t7, %lo(gMenuTextureBuffer)($t7) /* 09A9E0 80099DE0 000B50C0 */ sll $t2, $t3, 3 /* 09A9E4 80099DE4 015E6021 */ addu $t4, $t2, $fp /* 09A9E8 80099DE8 8D820004 */ lw $v0, 4($t4) diff --git a/asm/non_matchings/code_80091750/func_80099EC4.s b/asm/non_matchings/code_80091750/func_80099EC4.s index df60817839..c2233a0ca7 100644 --- a/asm/non_matchings/code_80091750/func_80099EC4.s +++ b/asm/non_matchings/code_80091750/func_80099EC4.s @@ -13,10 +13,10 @@ glabel func_80099EC4 /* 09AAF0 80099EF0 AFB20030 */ sw $s2, 0x30($sp) /* 09AAF4 80099EF4 AFB00028 */ sw $s0, 0x28($sp) /* 09AAF8 80099EF8 8E320000 */ lw $s2, ($s1) -/* 09AAFC 80099EFC 3C138019 */ lui $s3, %hi(D_8018D9B4) # $s3, 0x8019 +/* 09AAFC 80099EFC 3C138019 */ lui $s3, %hi(gMenuCompressedBuffer) # $s3, 0x8019 /* 09AB00 80099F00 0000A025 */ move $s4, $zero /* 09AB04 80099F04 124000C0 */ beqz $s2, .L8009A208 -/* 09AB08 80099F08 2673D9B4 */ addiu $s3, %lo(D_8018D9B4) # addiu $s3, $s3, -0x264c +/* 09AB08 80099F08 2673D9B4 */ addiu $s3, %lo(gMenuCompressedBuffer) # addiu $s3, $s3, -0x264c /* 09AB0C 80099F0C 96430010 */ lhu $v1, 0x10($s2) /* 09AB10 80099F10 24101400 */ li $s0, 5120 /* 09AB14 80099F14 10600003 */ beqz $v1, .L80099F24 diff --git a/asm/non_matchings/code_80091750/func_800A09E0.s b/asm/non_matchings/code_80091750/func_800A09E0.s deleted file mode 100644 index 04fbeeebf8..0000000000 --- a/asm/non_matchings/code_80091750/func_800A09E0.s +++ /dev/null @@ -1,64 +0,0 @@ -glabel func_800A09E0 -/* 0A15E0 800A09E0 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0A15E4 800A09E4 AFB10018 */ sw $s1, 0x18($sp) -/* 0A15E8 800A09E8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 0A15EC 800A09EC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 0A15F0 800A09F0 8E230000 */ lw $v1, ($s1) -/* 0A15F4 800A09F4 AFB70030 */ sw $s7, 0x30($sp) -/* 0A15F8 800A09F8 AFB6002C */ sw $s6, 0x2c($sp) -/* 0A15FC 800A09FC AFB50028 */ sw $s5, 0x28($sp) -/* 0A1600 800A0A00 AFB40024 */ sw $s4, 0x24($sp) -/* 0A1604 800A0A04 AFB30020 */ sw $s3, 0x20($sp) -/* 0A1608 800A0A08 AFB2001C */ sw $s2, 0x1c($sp) -/* 0A160C 800A0A0C AFB00014 */ sw $s0, 0x14($sp) -/* 0A1610 800A0A10 246E0008 */ addiu $t6, $v1, 8 -/* 0A1614 800A0A14 AFBF0034 */ sw $ra, 0x34($sp) -/* 0A1618 800A0A18 AE2E0000 */ sw $t6, ($s1) -/* 0A161C 800A0A1C 3C18004F */ lui $t8, (0x004FC308 >> 16) # lui $t8, 0x4f -/* 0A1620 800A0A20 3718C308 */ ori $t8, (0x004FC308 & 0xFFFF) # ori $t8, $t8, 0xc308 -/* 0A1624 800A0A24 3C0FED00 */ lui $t7, 0xed00 -/* 0A1628 800A0A28 3C13800F */ lui $s3, %hi(gControllerPakScrollDirection) # $s3, 0x800f -/* 0A162C 800A0A2C 3C160200 */ lui $s6, %hi(D_0200157C) # $s6, 0x200 -/* 0A1630 800A0A30 00809025 */ move $s2, $a0 -/* 0A1634 800A0A34 26D6157C */ addiu $s6, %lo(D_0200157C) # addiu $s6, $s6, 0x157c -/* 0A1638 800A0A38 267386D0 */ addiu $s3, %lo(gControllerPakScrollDirection) # addiu $s3, $s3, -0x7930 -/* 0A163C 800A0A3C 00008025 */ move $s0, $zero -/* 0A1640 800A0A40 24140008 */ li $s4, 8 -/* 0A1644 800A0A44 24150009 */ li $s5, 9 -/* 0A1648 800A0A48 2417000A */ li $s7, 10 -/* 0A164C 800A0A4C AC6F0000 */ sw $t7, ($v1) -/* 0A1650 800A0A50 AC780004 */ sw $t8, 4($v1) -/* 0A1654 800A0A54 82790000 */ lb $t9, ($s3) -.L800A0A58: -/* 0A1658 800A0A58 17200005 */ bnez $t9, .L800A0A70 -/* 0A165C 800A0A5C 00000000 */ nop -/* 0A1660 800A0A60 5200000E */ beql $s0, $zero, .L800A0A9C -/* 0A1664 800A0A64 26100001 */ addiu $s0, $s0, 1 -/* 0A1668 800A0A68 5214000C */ beql $s0, $s4, .L800A0A9C -/* 0A166C 800A0A6C 26100001 */ addiu $s0, $s0, 1 -.L800A0A70: -/* 0A1670 800A0A70 02170019 */ multu $s0, $s7 -/* 0A1674 800A0A74 8E490010 */ lw $t1, 0x10($s2) -/* 0A1678 800A0A78 8E240000 */ lw $a0, ($s1) -/* 0A167C 800A0A7C 02C02825 */ move $a1, $s6 -/* 0A1680 800A0A80 24060020 */ li $a2, 32 -/* 0A1684 800A0A84 00004012 */ mflo $t0 -/* 0A1688 800A0A88 01093821 */ addu $a3, $t0, $t1 -/* 0A168C 800A0A8C 0C026E9D */ jal func_8009BA74 -/* 0A1690 800A0A90 00000000 */ nop -/* 0A1694 800A0A94 AE220000 */ sw $v0, ($s1) -/* 0A1698 800A0A98 26100001 */ addiu $s0, $s0, 1 -.L800A0A9C: -/* 0A169C 800A0A9C 5615FFEE */ bnel $s0, $s5, .L800A0A58 -/* 0A16A0 800A0AA0 82790000 */ lb $t9, ($s3) -/* 0A16A4 800A0AA4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0A16A8 800A0AA8 8FB00014 */ lw $s0, 0x14($sp) -/* 0A16AC 800A0AAC 8FB10018 */ lw $s1, 0x18($sp) -/* 0A16B0 800A0AB0 8FB2001C */ lw $s2, 0x1c($sp) -/* 0A16B4 800A0AB4 8FB30020 */ lw $s3, 0x20($sp) -/* 0A16B8 800A0AB8 8FB40024 */ lw $s4, 0x24($sp) -/* 0A16BC 800A0ABC 8FB50028 */ lw $s5, 0x28($sp) -/* 0A16C0 800A0AC0 8FB6002C */ lw $s6, 0x2c($sp) -/* 0A16C4 800A0AC4 8FB70030 */ lw $s7, 0x30($sp) -/* 0A16C8 800A0AC8 03E00008 */ jr $ra -/* 0A16CC 800A0ACC 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_80091750/func_800A1FB0.s b/asm/non_matchings/code_80091750/func_800A1FB0.s index db6af69470..d4f1fa44d4 100644 --- a/asm/non_matchings/code_80091750/func_800A1FB0.s +++ b/asm/non_matchings/code_80091750/func_800A1FB0.s @@ -94,8 +94,8 @@ glabel L800A2054 /* 0A2C54 800A2054 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 0A2C58 800A2058 4481B000 */ mtc1 $at, $f22 /* 0A2C5C 800A205C 3C01800F */ lui $at, %hi(D_800F1C28) # $at, 0x800f -/* 0A2C60 800A2060 3C11800E */ lui $s1, %hi(D_800E7868) # $s1, 0x800e -/* 0A2C64 800A2064 26317868 */ addiu $s1, %lo(D_800E7868) # addiu $s1, $s1, 0x7868 +/* 0A2C60 800A2060 3C11800E */ lui $s1, %hi(gTextOptionMenu) # $s1, 0x800e +/* 0A2C64 800A2064 26317868 */ addiu $s1, %lo(gTextOptionMenu) # addiu $s1, $s1, 0x7868 /* 0A2C68 800A2068 C4341C28 */ lwc1 $f20, %lo(D_800F1C28)($at) /* 0A2C6C 800A206C 00009025 */ move $s2, $zero /* 0A2C70 800A2070 2464FFEB */ addiu $a0, $v1, -0x15 @@ -110,7 +110,7 @@ glabel L800A2054 /* 0A2C90 800A2090 8E260000 */ lw $a2, ($s1) /* 0A2C94 800A2094 00003825 */ move $a3, $zero /* 0A2C98 800A2098 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2C9C 800A209C 0C024CC9 */ jal func_80093324 +/* 0A2C9C 800A209C 0C024CC9 */ jal print_text_mode_1 /* 0A2CA0 800A20A0 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A2CA4 800A20A4 3C048019 */ lui $a0, %hi(gSubMenuSelection) # $a0, 0x8019 /* 0A2CA8 800A20A8 8084EDEC */ lb $a0, %lo(gSubMenuSelection)($a0) @@ -137,7 +137,7 @@ glabel L800A2054 /* 0A2CF8 800A20F8 24050078 */ li $a1, 120 /* 0A2CFC 800A20FC 00003825 */ move $a3, $zero /* 0A2D00 800A2100 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2D04 800A2104 0C024DBB */ jal draw_text +/* 0A2D04 800A2104 0C024DBB */ jal print_text1_center_mode_1 /* 0A2D08 800A2108 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A2D0C 800A210C 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 /* 0A2D10 800A2110 100002DA */ b .L800A2C7C @@ -158,7 +158,7 @@ glabel L800A2118 /* 0A2D44 800A2144 8E260000 */ lw $a2, ($s1) /* 0A2D48 800A2148 00003825 */ move $a3, $zero /* 0A2D4C 800A214C E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2D50 800A2150 0C024CC9 */ jal func_80093324 +/* 0A2D50 800A2150 0C024CC9 */ jal print_text_mode_1 /* 0A2D54 800A2154 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A2D58 800A2158 26310004 */ addiu $s1, $s1, 4 /* 0A2D5C 800A215C 0232082B */ sltu $at, $s1, $s2 @@ -180,7 +180,7 @@ glabel L800A2118 /* 0A2D98 800A2198 8E260000 */ lw $a2, ($s1) /* 0A2D9C 800A219C 00003825 */ move $a3, $zero /* 0A2DA0 800A21A0 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2DA4 800A21A4 0C024CC9 */ jal func_80093324 +/* 0A2DA4 800A21A4 0C024CC9 */ jal print_text_mode_1 /* 0A2DA8 800A21A8 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A2DAC 800A21AC 3C038019 */ lui $v1, %hi(gSubMenuSelection) # $v1, 0x8019 /* 0A2DB0 800A21B0 8063EDEC */ lb $v1, %lo(gSubMenuSelection)($v1) @@ -213,7 +213,7 @@ glabel L800A21E4 /* 0A2E10 800A2210 8E260000 */ lw $a2, ($s1) /* 0A2E14 800A2214 00003825 */ move $a3, $zero /* 0A2E18 800A2218 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2E1C 800A221C 0C024CC9 */ jal func_80093324 +/* 0A2E1C 800A221C 0C024CC9 */ jal print_text_mode_1 /* 0A2E20 800A2220 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A2E24 800A2224 26310004 */ addiu $s1, $s1, 4 /* 0A2E28 800A2228 1632FFF7 */ bne $s1, $s2, .L800A2208 @@ -243,7 +243,7 @@ glabel L800A223C /* 0A2E80 800A2280 8E260000 */ lw $a2, ($s1) /* 0A2E84 800A2284 00003825 */ move $a3, $zero /* 0A2E88 800A2288 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2E8C 800A228C 0C024CC9 */ jal func_80093324 +/* 0A2E8C 800A228C 0C024CC9 */ jal print_text_mode_1 /* 0A2E90 800A2290 E7B40014 */ swc1 $f20, 0x14($sp) /* 0A2E94 800A2294 26100014 */ addiu $s0, $s0, 0x14 /* 0A2E98 800A2298 1612FFF7 */ bne $s0, $s2, .L800A2278 @@ -271,7 +271,7 @@ glabel L800A22AC /* 0A2EE8 800A22E8 8E260000 */ lw $a2, ($s1) /* 0A2EEC 800A22EC 00003825 */ move $a3, $zero /* 0A2EF0 800A22F0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2EF4 800A22F4 0C024CC9 */ jal func_80093324 +/* 0A2EF4 800A22F4 0C024CC9 */ jal print_text_mode_1 /* 0A2EF8 800A22F8 E7B40014 */ swc1 $f20, 0x14($sp) /* 0A2EFC 800A22FC 26100014 */ addiu $s0, $s0, 0x14 /* 0A2F00 800A2300 1612FFF7 */ bne $s0, $s2, .L800A22E0 @@ -301,7 +301,7 @@ glabel L800A2314 /* 0A2F58 800A2358 8E260000 */ lw $a2, ($s1) /* 0A2F5C 800A235C 00003825 */ move $a3, $zero /* 0A2F60 800A2360 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2F64 800A2364 0C024CC9 */ jal func_80093324 +/* 0A2F64 800A2364 0C024CC9 */ jal print_text_mode_1 /* 0A2F68 800A2368 E7B40014 */ swc1 $f20, 0x14($sp) /* 0A2F6C 800A236C 26100014 */ addiu $s0, $s0, 0x14 /* 0A2F70 800A2370 1612FFF7 */ bne $s0, $s2, .L800A2350 @@ -325,7 +325,7 @@ glabel L800A2384 /* 0A2FB0 800A23B0 8E260000 */ lw $a2, ($s1) /* 0A2FB4 800A23B4 00003825 */ move $a3, $zero /* 0A2FB8 800A23B8 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A2FBC 800A23BC 0C024CC9 */ jal func_80093324 +/* 0A2FBC 800A23BC 0C024CC9 */ jal print_text_mode_1 /* 0A2FC0 800A23C0 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A2FC4 800A23C4 26310004 */ addiu $s1, $s1, 4 /* 0A2FC8 800A23C8 1632FFF7 */ bne $s1, $s2, .L800A23A8 @@ -365,7 +365,7 @@ glabel L800A23DC /* 0A3040 800A2440 24050055 */ li $a1, 85 /* 0A3044 800A2444 00003825 */ move $a3, $zero /* 0A3048 800A2448 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A304C 800A244C 0C024DBB */ jal draw_text +/* 0A304C 800A244C 0C024DBB */ jal print_text1_center_mode_1 /* 0A3050 800A2450 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A3054 800A2454 00146900 */ sll $t5, $s4, 4 /* 0A3058 800A2458 01B46821 */ addu $t5, $t5, $s4 @@ -396,7 +396,7 @@ glabel L800A23DC /* 0A30B8 800A24B8 8DE60000 */ lw $a2, ($t7) /* 0A30BC 800A24BC E7B80014 */ swc1 $f24, 0x14($sp) /* 0A30C0 800A24C0 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A30C4 800A24C4 0C024DBB */ jal draw_text +/* 0A30C4 800A24C4 0C024DBB */ jal print_text1_center_mode_1 /* 0A30C8 800A24C8 00003825 */ move $a3, $zero /* 0A30CC 800A24CC 00008025 */ move $s0, $zero /* 0A30D0 800A24D0 24120096 */ li $s2, 150 @@ -456,18 +456,18 @@ glabel L800A23DC /* 0A318C 800A258C 27A600B9 */ addiu $a2, $sp, 0xb9 /* 0A3190 800A2590 00003825 */ move $a3, $zero /* 0A3194 800A2594 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3198 800A2598 0C024CC9 */ jal func_80093324 +/* 0A3198 800A2598 0C024CC9 */ jal print_text_mode_1 /* 0A319C 800A259C E7B60014 */ swc1 $f22, 0x14($sp) /* 0A31A0 800A25A0 2401002A */ li $at, 42 /* 0A31A4 800A25A4 16610006 */ bne $s3, $at, .L800A25C0 -/* 0A31A8 800A25A8 3C0F8019 */ lui $t7, %hi(D_8018D9C0) # $t7, 0x8019 +/* 0A31A8 800A25A8 3C0F8019 */ lui $t7, %hi(gSomeDLBuffer) # $t7, 0x8019 /* 0A31AC 800A25AC 3C0E8019 */ lui $t6, %hi(D_8018EE10) # $t6, 0x8019 /* 0A31B0 800A25B0 25CEEE10 */ addiu $t6, %lo(D_8018EE10) # addiu $t6, $t6, -0x11f0 /* 0A31B4 800A25B4 001069C0 */ sll $t5, $s0, 7 /* 0A31B8 800A25B8 10000004 */ b .L800A25CC /* 0A31BC 800A25BC 01AE1821 */ addu $v1, $t5, $t6 .L800A25C0: -/* 0A31C0 800A25C0 8DEFD9C0 */ lw $t7, %lo(D_8018D9C0)($t7) +/* 0A31C0 800A25C0 8DEFD9C0 */ lw $t7, %lo(gSomeDLBuffer)($t7) /* 0A31C4 800A25C4 0010C1C0 */ sll $t8, $s0, 7 /* 0A31C8 800A25C8 01F81821 */ addu $v1, $t7, $t8 .L800A25CC: @@ -482,7 +482,7 @@ glabel L800A23DC /* 0A31EC 800A25EC 02402825 */ move $a1, $s2 /* 0A31F0 800A25F0 00003825 */ move $a3, $zero /* 0A31F4 800A25F4 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A31F8 800A25F8 0C024CC9 */ jal func_80093324 +/* 0A31F8 800A25F8 0C024CC9 */ jal print_text_mode_1 /* 0A31FC 800A25FC E7B40014 */ swc1 $f20, 0x14($sp) /* 0A3200 800A2600 10000019 */ b .L800A2668 /* 0A3204 800A2604 24010002 */ li $at, 2 @@ -510,7 +510,7 @@ glabel L800A23DC /* 0A3250 800A2650 00003825 */ move $a3, $zero /* 0A3254 800A2654 000D7080 */ sll $t6, $t5, 2 /* 0A3258 800A2658 00CE3021 */ addu $a2, $a2, $t6 -/* 0A325C 800A265C 0C024CC9 */ jal func_80093324 +/* 0A325C 800A265C 0C024CC9 */ jal print_text_mode_1 /* 0A3260 800A2660 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2) /* 0A3264 800A2664 24010002 */ li $at, 2 .L800A2668: @@ -546,7 +546,7 @@ glabel L800A26A8 /* 0A32D4 800A26D4 8E060000 */ lw $a2, ($s0) /* 0A32D8 800A26D8 00003825 */ move $a3, $zero /* 0A32DC 800A26DC E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A32E0 800A26E0 0C024DBB */ jal draw_text +/* 0A32E0 800A26E0 0C024DBB */ jal print_text1_center_mode_1 /* 0A32E4 800A26E4 E7B40014 */ swc1 $f20, 0x14($sp) /* 0A32E8 800A26E8 26100004 */ addiu $s0, $s0, 4 /* 0A32EC 800A26EC 0212082B */ sltu $at, $s0, $s2 @@ -579,7 +579,7 @@ glabel L800A26A8 /* 0A3354 800A2754 8D660000 */ lw $a2, ($t3) /* 0A3358 800A2758 E7B80014 */ swc1 $f24, 0x14($sp) /* 0A335C 800A275C E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A3360 800A2760 0C024DBB */ jal draw_text +/* 0A3360 800A2760 0C024DBB */ jal print_text1_center_mode_1 /* 0A3364 800A2764 00003825 */ move $a3, $zero /* 0A3368 800A2768 00008025 */ move $s0, $zero /* 0A336C 800A276C 24120096 */ li $s2, 150 @@ -649,18 +649,18 @@ glabel L800A26A8 /* 0A3448 800A2848 27A600A9 */ addiu $a2, $sp, 0xa9 /* 0A344C 800A284C 00003825 */ move $a3, $zero /* 0A3450 800A2850 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3454 800A2854 0C024CC9 */ jal func_80093324 +/* 0A3454 800A2854 0C024CC9 */ jal print_text_mode_1 /* 0A3458 800A2858 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A345C 800A285C 2401002A */ li $at, 42 /* 0A3460 800A2860 16610006 */ bne $s3, $at, .L800A287C -/* 0A3464 800A2864 3C098019 */ lui $t1, %hi(D_8018D9C0) # $t1, 0x8019 +/* 0A3464 800A2864 3C098019 */ lui $t1, %hi(gSomeDLBuffer) # $t1, 0x8019 /* 0A3468 800A2868 3C0A8019 */ lui $t2, %hi(D_8018EE10) # $t2, 0x8019 /* 0A346C 800A286C 254AEE10 */ addiu $t2, %lo(D_8018EE10) # addiu $t2, $t2, -0x11f0 /* 0A3470 800A2870 001041C0 */ sll $t0, $s0, 7 /* 0A3474 800A2874 10000004 */ b .L800A2888 /* 0A3478 800A2878 010A1821 */ addu $v1, $t0, $t2 .L800A287C: -/* 0A347C 800A287C 8D29D9C0 */ lw $t1, %lo(D_8018D9C0)($t1) +/* 0A347C 800A287C 8D29D9C0 */ lw $t1, %lo(gSomeDLBuffer)($t1) /* 0A3480 800A2880 001059C0 */ sll $t3, $s0, 7 /* 0A3484 800A2884 012B1821 */ addu $v1, $t1, $t3 .L800A2888: @@ -675,7 +675,7 @@ glabel L800A26A8 /* 0A34A8 800A28A8 02402825 */ move $a1, $s2 /* 0A34AC 800A28AC 00003825 */ move $a3, $zero /* 0A34B0 800A28B0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A34B4 800A28B4 0C024CC9 */ jal func_80093324 +/* 0A34B4 800A28B4 0C024CC9 */ jal print_text_mode_1 /* 0A34B8 800A28B8 E7B40014 */ swc1 $f20, 0x14($sp) /* 0A34BC 800A28BC 10000019 */ b .L800A2924 /* 0A34C0 800A28C0 24010002 */ li $at, 2 @@ -703,7 +703,7 @@ glabel L800A26A8 /* 0A350C 800A290C 00003825 */ move $a3, $zero /* 0A3510 800A2910 00085080 */ sll $t2, $t0, 2 /* 0A3514 800A2914 00CA3021 */ addu $a2, $a2, $t2 -/* 0A3518 800A2918 0C024CC9 */ jal func_80093324 +/* 0A3518 800A2918 0C024CC9 */ jal print_text_mode_1 /* 0A351C 800A291C 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2) /* 0A3520 800A2920 24010002 */ li $at, 2 .L800A2924: @@ -742,7 +742,7 @@ glabel L800A26A8 /* 0A359C 800A299C 8E660000 */ lw $a2, ($s3) /* 0A35A0 800A29A0 00003825 */ move $a3, $zero /* 0A35A4 800A29A4 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A35A8 800A29A8 0C024CC9 */ jal func_80093324 +/* 0A35A8 800A29A8 0C024CC9 */ jal print_text_mode_1 /* 0A35AC 800A29AC E7B80014 */ swc1 $f24, 0x14($sp) /* 0A35B0 800A29B0 26520001 */ addiu $s2, $s2, 1 /* 0A35B4 800A29B4 24010002 */ li $at, 2 @@ -774,7 +774,7 @@ glabel L800A29D0 /* 0A3614 800A2A14 24050055 */ li $a1, 85 /* 0A3618 800A2A18 00003825 */ move $a3, $zero /* 0A361C 800A2A1C E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3620 800A2A20 0C024DBB */ jal draw_text +/* 0A3620 800A2A20 0C024DBB */ jal print_text1_center_mode_1 /* 0A3624 800A2A24 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A3628 800A2A28 3C013F40 */ li $at, 0x3F400000 # 0.750000 /* 0A362C 800A2A2C 4481C000 */ mtc1 $at, $f24 @@ -804,7 +804,7 @@ glabel L800A29D0 /* 0A3688 800A2A88 8D260000 */ lw $a2, ($t1) /* 0A368C 800A2A8C E7B80014 */ swc1 $f24, 0x14($sp) /* 0A3690 800A2A90 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A3694 800A2A94 0C024DBB */ jal draw_text +/* 0A3694 800A2A94 0C024DBB */ jal print_text1_center_mode_1 /* 0A3698 800A2A98 00003825 */ move $a3, $zero /* 0A369C 800A2A9C 00008025 */ move $s0, $zero /* 0A36A0 800A2AA0 24120096 */ li $s2, 150 @@ -867,18 +867,18 @@ glabel L800A29D0 /* 0A3764 800A2B64 27A60099 */ addiu $a2, $sp, 0x99 /* 0A3768 800A2B68 00003825 */ move $a3, $zero /* 0A376C 800A2B6C E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A3770 800A2B70 0C024CC9 */ jal func_80093324 +/* 0A3770 800A2B70 0C024CC9 */ jal print_text_mode_1 /* 0A3774 800A2B74 E7B60014 */ swc1 $f22, 0x14($sp) /* 0A3778 800A2B78 2401002A */ li $at, 42 /* 0A377C 800A2B7C 16610006 */ bne $s3, $at, .L800A2B98 -/* 0A3780 800A2B80 3C0A8019 */ lui $t2, %hi(D_8018D9C0) # $t2, 0x8019 +/* 0A3780 800A2B80 3C0A8019 */ lui $t2, %hi(gSomeDLBuffer) # $t2, 0x8019 /* 0A3784 800A2B84 3C088019 */ lui $t0, %hi(D_8018EE10) # $t0, 0x8019 /* 0A3788 800A2B88 2508EE10 */ addiu $t0, %lo(D_8018EE10) # addiu $t0, $t0, -0x11f0 /* 0A378C 800A2B8C 0010C9C0 */ sll $t9, $s0, 7 /* 0A3790 800A2B90 10000004 */ b .L800A2BA4 /* 0A3794 800A2B94 03281821 */ addu $v1, $t9, $t0 .L800A2B98: -/* 0A3798 800A2B98 8D4AD9C0 */ lw $t2, %lo(D_8018D9C0)($t2) +/* 0A3798 800A2B98 8D4AD9C0 */ lw $t2, %lo(gSomeDLBuffer)($t2) /* 0A379C 800A2B9C 001049C0 */ sll $t1, $s0, 7 /* 0A37A0 800A2BA0 01491821 */ addu $v1, $t2, $t1 .L800A2BA4: @@ -893,7 +893,7 @@ glabel L800A29D0 /* 0A37C4 800A2BC4 02402825 */ move $a1, $s2 /* 0A37C8 800A2BC8 00003825 */ move $a3, $zero /* 0A37CC 800A2BCC E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A37D0 800A2BD0 0C024CC9 */ jal func_80093324 +/* 0A37D0 800A2BD0 0C024CC9 */ jal print_text_mode_1 /* 0A37D4 800A2BD4 E7B40014 */ swc1 $f20, 0x14($sp) /* 0A37D8 800A2BD8 10000019 */ b .L800A2C40 /* 0A37DC 800A2BDC 24010002 */ li $at, 2 @@ -921,7 +921,7 @@ glabel L800A29D0 /* 0A3828 800A2C28 00003825 */ move $a3, $zero /* 0A382C 800A2C2C 00194080 */ sll $t0, $t9, 2 /* 0A3830 800A2C30 00C83021 */ addu $a2, $a2, $t0 -/* 0A3834 800A2C34 0C024CC9 */ jal func_80093324 +/* 0A3834 800A2C34 0C024CC9 */ jal print_text_mode_1 /* 0A3838 800A2C38 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2) /* 0A383C 800A2C3C 24010002 */ li $at, 2 .L800A2C40: diff --git a/asm/non_matchings/code_80091750/func_800AB314.s b/asm/non_matchings/code_80091750/func_800AB314.s index 829c4e1d96..8a49921ef7 100644 --- a/asm/non_matchings/code_80091750/func_800AB314.s +++ b/asm/non_matchings/code_80091750/func_800AB314.s @@ -8,7 +8,7 @@ glabel func_800AB314 /* 0ABF28 800AB328 24A4005F */ addiu $a0, $a1, 0x5f /* 0ABF2C 800AB32C AFA3001C */ sw $v1, 0x1c($sp) /* 0ABF30 800AB330 AFA5003C */ sw $a1, 0x3c($sp) -/* 0ABF34 800AB334 0C02ABBD */ jal find_8018D9E0_entry_dupe +/* 0ABF34 800AB334 0C02ABBD */ jal find_menu_items_type_dupe /* 0ABF38 800AB338 AFA60040 */ sw $a2, 0x40($sp) /* 0ABF3C 800AB33C 8FA5003C */ lw $a1, 0x3c($sp) /* 0ABF40 800AB340 8FA3001C */ lw $v1, 0x1c($sp) diff --git a/asm/non_matchings/code_80091750/func_800AC458.s b/asm/non_matchings/code_80091750/func_800AC458.s deleted file mode 100644 index 9b3a8d883d..0000000000 --- a/asm/non_matchings/code_80091750/func_800AC458.s +++ /dev/null @@ -1,367 +0,0 @@ -.section .late_rodata - -glabel jpt_800F2688 -.word L800AC488, L800AC4EC, L800AC580, L800AC5D0 -.word L800AC5D0, L800AC5D0, L800AC5D0, L800AC738 -.word L800AC78C, L800AC7CC, L800AC878, L800AC8A0 -.word L800AC8E0, L800AC968 - -.section .text - -glabel func_800AC458 -/* 0AD058 800AC458 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0AD05C 800AC45C AFBF0014 */ sw $ra, 0x14($sp) -/* 0AD060 800AC460 8C820004 */ lw $v0, 4($a0) -/* 0AD064 800AC464 00803825 */ move $a3, $a0 -/* 0AD068 800AC468 2C41000E */ sltiu $at, $v0, 0xe -/* 0AD06C 800AC46C 1020013E */ beqz $at, .L800AC968 -/* 0AD070 800AC470 00027080 */ sll $t6, $v0, 2 -/* 0AD074 800AC474 3C01800F */ lui $at, %hi(jpt_800F2688) -/* 0AD078 800AC478 002E0821 */ addu $at, $at, $t6 -/* 0AD07C 800AC47C 8C2E2688 */ lw $t6, %lo(jpt_800F2688)($at) -/* 0AD080 800AC480 01C00008 */ jr $t6 -/* 0AD084 800AC484 00000000 */ nop -glabel L800AC488 -/* 0AD088 800AC488 240FFF60 */ li $t7, -160 -/* 0AD08C 800AC48C 24180001 */ li $t8, 1 -/* 0AD090 800AC490 ACEF000C */ sw $t7, 0xc($a3) -/* 0AD094 800AC494 ACF80004 */ sw $t8, 4($a3) -/* 0AD098 800AC498 3C028019 */ lui $v0, %hi(D_8018D9BC) # $v0, 0x8019 -/* 0AD09C 800AC49C 2442D9BC */ addiu $v0, %lo(D_8018D9BC) # addiu $v0, $v0, -0x2644 -/* 0AD0A0 800AC4A0 3C19800F */ lui $t9, %hi(gGPPointRewards) # $t9, 0x800f -/* 0AD0A4 800AC4A4 83390B18 */ lb $t9, %lo(gGPPointRewards)($t9) -/* 0AD0A8 800AC4A8 8C4A0000 */ lw $t2, ($v0) -/* 0AD0AC 800AC4AC 3C0B800F */ lui $t3, %hi(gGPPointRewards + 1) # $t3, 0x800f -/* 0AD0B0 800AC4B0 3C0D800F */ lui $t5, %hi(gGPPointRewards + 2) # $t5, 0x800f -/* 0AD0B4 800AC4B4 A1590000 */ sb $t9, ($t2) -/* 0AD0B8 800AC4B8 8C4C0000 */ lw $t4, ($v0) -/* 0AD0BC 800AC4BC 816B0B19 */ lb $t3, %lo(gGPPointRewards + 1)($t3) -/* 0AD0C0 800AC4C0 3C0F800F */ lui $t7, %hi(gGPPointRewards + 3) # $t7, 0x800f -/* 0AD0C4 800AC4C4 A18B0001 */ sb $t3, 1($t4) -/* 0AD0C8 800AC4C8 8C4E0000 */ lw $t6, ($v0) -/* 0AD0CC 800AC4CC 81AD0B1A */ lb $t5, %lo(gGPPointRewards + 2)($t5) -/* 0AD0D0 800AC4D0 A1CD0002 */ sb $t5, 2($t6) -/* 0AD0D4 800AC4D4 8C580000 */ lw $t8, ($v0) -/* 0AD0D8 800AC4D8 81EF0B1B */ lb $t7, %lo(gGPPointRewards + 3)($t7) -/* 0AD0DC 800AC4DC A30F0003 */ sb $t7, 3($t8) -/* 0AD0E0 800AC4E0 8CF9000C */ lw $t9, 0xc($a3) -/* 0AD0E4 800AC4E4 10000120 */ b .L800AC968 -/* 0AD0E8 800AC4E8 ACF90020 */ sw $t9, 0x20($a3) -glabel L800AC4EC -/* 0AD0EC 800AC4EC 8CE50020 */ lw $a1, 0x20($a3) -/* 0AD0F0 800AC4F0 3C0A8019 */ lui $t2, %hi(D_8018D9D8) # $t2, 0x8019 -/* 0AD0F4 800AC4F4 24040010 */ li $a0, 16 -/* 0AD0F8 800AC4F8 ACE5000C */ sw $a1, 0xc($a3) -/* 0AD0FC 800AC4FC 814AD9D8 */ lb $t2, %lo(D_8018D9D8)($t2) -/* 0AD100 800AC500 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e -/* 0AD104 800AC504 240F0002 */ li $t7, 2 -/* 0AD108 800AC508 11400003 */ beqz $t2, .L800AC518 -/* 0AD10C 800AC50C 3C19800E */ lui $t9, %hi(D_800DC5EC) # $t9, 0x800e -/* 0AD110 800AC510 10000001 */ b .L800AC518 -/* 0AD114 800AC514 24040020 */ li $a0, 32 -.L800AC518: -/* 0AD118 800AC518 00A43021 */ addu $a2, $a1, $a0 -/* 0AD11C 800AC51C 04C3000D */ bgezl $a2, .L800AC554 -/* 0AD120 800AC520 ACE00020 */ sw $zero, 0x20($a3) -/* 0AD124 800AC524 ACE60020 */ sw $a2, 0x20($a3) -/* 0AD128 800AC528 8C42C5EC */ lw $v0, %lo(D_800DC5EC)($v0) -/* 0AD12C 800AC52C 3C03800E */ lui $v1, %hi(D_800DC5F0) # $v1, 0x800e -/* 0AD130 800AC530 844B0030 */ lh $t3, 0x30($v0) -/* 0AD134 800AC534 01646021 */ addu $t4, $t3, $a0 -/* 0AD138 800AC538 A44C0030 */ sh $t4, 0x30($v0) -/* 0AD13C 800AC53C 8C63C5F0 */ lw $v1, %lo(D_800DC5F0)($v1) -/* 0AD140 800AC540 846D0030 */ lh $t5, 0x30($v1) -/* 0AD144 800AC544 01A47023 */ subu $t6, $t5, $a0 -/* 0AD148 800AC548 10000107 */ b .L800AC968 -/* 0AD14C 800AC54C A46E0030 */ sh $t6, 0x30($v1) -/* 0AD150 800AC550 ACE00020 */ sw $zero, 0x20($a3) -.L800AC554: -/* 0AD154 800AC554 ACE0000C */ sw $zero, 0xc($a3) -/* 0AD158 800AC558 ACEF0004 */ sw $t7, 4($a3) -/* 0AD15C 800AC55C ACE0001C */ sw $zero, 0x1c($a3) -/* 0AD160 800AC560 8F39C5EC */ lw $t9, %lo(D_800DC5EC)($t9) -/* 0AD164 800AC564 241800F0 */ li $t8, 240 -/* 0AD168 800AC568 3C0B800E */ lui $t3, %hi(D_800DC5F0) # $t3, 0x800e -/* 0AD16C 800AC56C A7380030 */ sh $t8, 0x30($t9) -/* 0AD170 800AC570 8D6BC5F0 */ lw $t3, %lo(D_800DC5F0)($t3) -/* 0AD174 800AC574 240A0050 */ li $t2, 80 -/* 0AD178 800AC578 100000FB */ b .L800AC968 -/* 0AD17C 800AC57C A56A0030 */ sh $t2, 0x30($t3) -glabel L800AC580 -/* 0AD180 800AC580 8CEC001C */ lw $t4, 0x1c($a3) -/* 0AD184 800AC584 ACE0000C */ sw $zero, 0xc($a3) -/* 0AD188 800AC588 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019 -/* 0AD18C 800AC58C 258D0001 */ addiu $t5, $t4, 1 -/* 0AD190 800AC590 ACED001C */ sw $t5, 0x1c($a3) -/* 0AD194 800AC594 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6) -/* 0AD198 800AC598 29A1001F */ slti $at, $t5, 0x1f -/* 0AD19C 800AC59C 3C18800E */ lui $t8, %hi(D_800DDB24) # $t8, 0x800e -/* 0AD1A0 800AC5A0 15C00003 */ bnez $t6, .L800AC5B0 -/* 0AD1A4 800AC5A4 00000000 */ nop -/* 0AD1A8 800AC5A8 542000F0 */ bnel $at, $zero, .L800AC96C -/* 0AD1AC 800AC5AC 8FBF0014 */ lw $ra, 0x14($sp) -.L800AC5B0: -/* 0AD1B0 800AC5B0 8F18DB24 */ lw $t8, %lo(D_800DDB24)($t8) -/* 0AD1B4 800AC5B4 24190003 */ li $t9, 3 -/* 0AD1B8 800AC5B8 530000EC */ beql $t8, $zero, .L800AC96C -/* 0AD1BC 800AC5BC 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD1C0 800AC5C0 ACF90004 */ sw $t9, 4($a3) -/* 0AD1C4 800AC5C4 ACE0001C */ sw $zero, 0x1c($a3) -/* 0AD1C8 800AC5C8 100000E7 */ b .L800AC968 -/* 0AD1CC 800AC5CC ACE00020 */ sw $zero, 0x20($a3) -glabel L800AC5D0 -/* 0AD1D0 800AC5D0 8CEA001C */ lw $t2, 0x1c($a3) -/* 0AD1D4 800AC5D4 24010003 */ li $at, 3 -/* 0AD1D8 800AC5D8 00004825 */ move $t1, $zero -/* 0AD1DC 800AC5DC 254B0001 */ addiu $t3, $t2, 1 -/* 0AD1E0 800AC5E0 0161001A */ div $zero, $t3, $at -/* 0AD1E4 800AC5E4 00006810 */ mfhi $t5 -/* 0AD1E8 800AC5E8 2445FFFD */ addiu $a1, $v0, -3 -/* 0AD1EC 800AC5EC 11A00004 */ beqz $t5, .L800AC600 -/* 0AD1F0 800AC5F0 ACEB001C */ sw $t3, 0x1c($a3) -/* 0AD1F4 800AC5F4 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019 -/* 0AD1F8 800AC5F8 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6) -/* 0AD1FC 800AC5FC 11C00032 */ beqz $t6, .L800AC6C8 -.L800AC600: -/* 0AD200 800AC600 3C028019 */ lui $v0, %hi(D_8018D9BC) # $v0, 0x8019 -/* 0AD204 800AC604 2442D9BC */ addiu $v0, %lo(D_8018D9BC) # addiu $v0, $v0, -0x2644 -/* 0AD208 800AC608 8C4F0000 */ lw $t7, ($v0) -/* 0AD20C 800AC60C 0005C840 */ sll $t9, $a1, 1 -/* 0AD210 800AC610 3C0A8016 */ lui $t2, %hi(gGPCurrentRacePlayerIdByRank) # 0x8016 -/* 0AD214 800AC614 01E53021 */ addu $a2, $t7, $a1 -/* 0AD218 800AC618 90C80000 */ lbu $t0, ($a2) -/* 0AD21C 800AC61C 01595021 */ addu $t2, $t2, $t9 -/* 0AD220 800AC620 3C0C800F */ lui $t4, %hi(gPlayers+0x254) # 0x800f -/* 0AD224 800AC624 19000028 */ blez $t0, .L800AC6C8 -/* 0AD228 800AC628 2518FFFF */ addiu $t8, $t0, -1 -/* 0AD22C 800AC62C A0D80000 */ sb $t8, ($a2) -/* 0AD230 800AC630 854A4360 */ lh $t2, %lo(gGPCurrentRacePlayerIdByRank)($t2) # 0x4360($t2) -/* 0AD234 800AC634 3C0D8019 */ lui $t5, %hi(gGPPointsByCharacterId) # $t5, 0x8019 -/* 0AD238 800AC638 25ADD9C8 */ addiu $t5, %lo(gGPPointsByCharacterId) # addiu $t5, $t5, -0x2638 -/* 0AD23C 800AC63C 000A58C0 */ sll $t3, $t2, 3 -/* 0AD240 800AC640 016A5823 */ subu $t3, $t3, $t2 -/* 0AD244 800AC644 000B5900 */ sll $t3, $t3, 4 -/* 0AD248 800AC648 016A5823 */ subu $t3, $t3, $t2 -/* 0AD24C 800AC64C 000B5880 */ sll $t3, $t3, 2 -/* 0AD250 800AC650 016A5823 */ subu $t3, $t3, $t2 -/* 0AD254 800AC654 000B58C0 */ sll $t3, $t3, 3 -/* 0AD258 800AC658 018B6021 */ addu $t4, $t4, $t3 -/* 0AD25C 800AC65C 958C6BE4 */ lhu $t4, %lo(gPlayers+0x254)($t4) # 0x6be4($t4) -/* 0AD260 800AC660 3C044900 */ lui $a0, (0x49008017 >> 16) # lui $a0, 0x4900 -/* 0AD264 800AC664 34848017 */ ori $a0, (0x49008017 & 0xFFFF) # ori $a0, $a0, 0x8017 -/* 0AD268 800AC668 018D1821 */ addu $v1, $t4, $t5 -/* 0AD26C 800AC66C 806E0000 */ lb $t6, ($v1) -/* 0AD270 800AC670 AFA90018 */ sw $t1, 0x18($sp) -/* 0AD274 800AC674 AFA70020 */ sw $a3, 0x20($sp) -/* 0AD278 800AC678 25CF0001 */ addiu $t7, $t6, 1 -/* 0AD27C 800AC67C A06F0000 */ sb $t7, ($v1) -/* 0AD280 800AC680 0C032384 */ jal play_sound2 -/* 0AD284 800AC684 AFA5001C */ sw $a1, 0x1c($sp) -/* 0AD288 800AC688 3C028019 */ lui $v0, %hi(D_8018D9BC) # $v0, 0x8019 -/* 0AD28C 800AC68C 2442D9BC */ addiu $v0, %lo(D_8018D9BC) # addiu $v0, $v0, -0x2644 -/* 0AD290 800AC690 8FA5001C */ lw $a1, 0x1c($sp) -/* 0AD294 800AC694 8C580000 */ lw $t8, ($v0) -/* 0AD298 800AC698 8FA70020 */ lw $a3, 0x20($sp) -/* 0AD29C 800AC69C 8FA90018 */ lw $t1, 0x18($sp) -/* 0AD2A0 800AC6A0 0305C821 */ addu $t9, $t8, $a1 -/* 0AD2A4 800AC6A4 932A0000 */ lbu $t2, ($t9) -/* 0AD2A8 800AC6A8 55400008 */ bnel $t2, $zero, .L800AC6CC -/* 0AD2AC 800AC6AC 8CED0020 */ lw $t5, 0x20($a3) -/* 0AD2B0 800AC6B0 8CEB0020 */ lw $t3, 0x20($a3) -/* 0AD2B4 800AC6B4 240C0001 */ li $t4, 1 -/* 0AD2B8 800AC6B8 55600004 */ bnel $t3, $zero, .L800AC6CC -/* 0AD2BC 800AC6BC 8CED0020 */ lw $t5, 0x20($a3) -/* 0AD2C0 800AC6C0 ACEC0020 */ sw $t4, 0x20($a3) -/* 0AD2C4 800AC6C4 ACE0001C */ sw $zero, 0x1c($a3) -.L800AC6C8: -/* 0AD2C8 800AC6C8 8CED0020 */ lw $t5, 0x20($a3) -.L800AC6CC: -/* 0AD2CC 800AC6CC 11A0000D */ beqz $t5, .L800AC704 -/* 0AD2D0 800AC6D0 00000000 */ nop -/* 0AD2D4 800AC6D4 8CE2001C */ lw $v0, 0x1c($a3) -/* 0AD2D8 800AC6D8 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019 -/* 0AD2DC 800AC6DC 2841000B */ slti $at, $v0, 0xb -/* 0AD2E0 800AC6E0 50200008 */ beql $at, $zero, .L800AC704 -/* 0AD2E4 800AC6E4 24090001 */ li $t1, 1 -/* 0AD2E8 800AC6E8 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6) -/* 0AD2EC 800AC6EC 28410004 */ slti $at, $v0, 4 -/* 0AD2F0 800AC6F0 11C00004 */ beqz $t6, .L800AC704 -/* 0AD2F4 800AC6F4 00000000 */ nop -/* 0AD2F8 800AC6F8 14200002 */ bnez $at, .L800AC704 -/* 0AD2FC 800AC6FC 00000000 */ nop -/* 0AD300 800AC700 24090001 */ li $t1, 1 -.L800AC704: -/* 0AD304 800AC704 51200099 */ beql $t1, $zero, .L800AC96C -/* 0AD308 800AC708 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD30C 800AC70C 8CE20004 */ lw $v0, 4($a3) -/* 0AD310 800AC710 ACE00020 */ sw $zero, 0x20($a3) -/* 0AD314 800AC714 ACE0001C */ sw $zero, 0x1c($a3) -/* 0AD318 800AC718 28410006 */ slti $at, $v0, 6 -/* 0AD31C 800AC71C 10200004 */ beqz $at, .L800AC730 -/* 0AD320 800AC720 24180007 */ li $t8, 7 -/* 0AD324 800AC724 244F0001 */ addiu $t7, $v0, 1 -/* 0AD328 800AC728 1000008F */ b .L800AC968 -/* 0AD32C 800AC72C ACEF0004 */ sw $t7, 4($a3) -.L800AC730: -/* 0AD330 800AC730 1000008D */ b .L800AC968 -/* 0AD334 800AC734 ACF80004 */ sw $t8, 4($a3) -glabel L800AC738 -/* 0AD338 800AC738 8CF9001C */ lw $t9, 0x1c($a3) -/* 0AD33C 800AC73C 3C0B8019 */ lui $t3, %hi(D_8018D9D8) # $t3, 0x8019 -/* 0AD340 800AC740 272A0001 */ addiu $t2, $t9, 1 -/* 0AD344 800AC744 ACEA001C */ sw $t2, 0x1c($a3) -/* 0AD348 800AC748 816BD9D8 */ lb $t3, %lo(D_8018D9D8)($t3) -/* 0AD34C 800AC74C 2941000B */ slti $at, $t2, 0xb -/* 0AD350 800AC750 51600004 */ beql $t3, $zero, .L800AC764 -/* 0AD354 800AC754 8CED001C */ lw $t5, 0x1c($a3) -/* 0AD358 800AC758 10200004 */ beqz $at, .L800AC76C -/* 0AD35C 800AC75C 00000000 */ nop -/* 0AD360 800AC760 8CED001C */ lw $t5, 0x1c($a3) -.L800AC764: -/* 0AD364 800AC764 29A1003D */ slti $at, $t5, 0x3d -/* 0AD368 800AC768 1420007F */ bnez $at, .L800AC968 -.L800AC76C: -/* 0AD36C 800AC76C 3C0E800E */ lui $t6, %hi(D_800DDB24) # $t6, 0x800e -/* 0AD370 800AC770 8DCEDB24 */ lw $t6, %lo(D_800DDB24)($t6) -/* 0AD374 800AC774 24060008 */ li $a2, 8 -/* 0AD378 800AC778 51C0007C */ beql $t6, $zero, .L800AC96C -/* 0AD37C 800AC77C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD380 800AC780 ACE60004 */ sw $a2, 4($a3) -/* 0AD384 800AC784 10000078 */ b .L800AC968 -/* 0AD388 800AC788 ACE0001C */ sw $zero, 0x1c($a3) -glabel L800AC78C -/* 0AD38C 800AC78C 8CEF001C */ lw $t7, 0x1c($a3) -/* 0AD390 800AC790 3C198019 */ lui $t9, %hi(D_8018D9D8) # $t9, 0x8019 -/* 0AD394 800AC794 240D0009 */ li $t5, 9 -/* 0AD398 800AC798 25F80001 */ addiu $t8, $t7, 1 -/* 0AD39C 800AC79C ACF8001C */ sw $t8, 0x1c($a3) -/* 0AD3A0 800AC7A0 8339D9D8 */ lb $t9, %lo(D_8018D9D8)($t9) -/* 0AD3A4 800AC7A4 270B0005 */ addiu $t3, $t8, 5 -/* 0AD3A8 800AC7A8 53200003 */ beql $t9, $zero, .L800AC7B8 -/* 0AD3AC 800AC7AC 8CEC001C */ lw $t4, 0x1c($a3) -/* 0AD3B0 800AC7B0 ACEB001C */ sw $t3, 0x1c($a3) -/* 0AD3B4 800AC7B4 8CEC001C */ lw $t4, 0x1c($a3) -.L800AC7B8: -/* 0AD3B8 800AC7B8 29810029 */ slti $at, $t4, 0x29 -/* 0AD3BC 800AC7BC 5420006B */ bnel $at, $zero, .L800AC96C -/* 0AD3C0 800AC7C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD3C4 800AC7C4 10000068 */ b .L800AC968 -/* 0AD3C8 800AC7C8 ACED0004 */ sw $t5, 4($a3) -glabel L800AC7CC -/* 0AD3CC 800AC7CC 8CEE001C */ lw $t6, 0x1c($a3) -/* 0AD3D0 800AC7D0 3C188019 */ lui $t8, %hi(D_8018D9D8) # $t8, 0x8019 -/* 0AD3D4 800AC7D4 240C000A */ li $t4, 10 -/* 0AD3D8 800AC7D8 25CFFFFF */ addiu $t7, $t6, -1 -/* 0AD3DC 800AC7DC ACEF001C */ sw $t7, 0x1c($a3) -/* 0AD3E0 800AC7E0 8318D9D8 */ lb $t8, %lo(D_8018D9D8)($t8) -/* 0AD3E4 800AC7E4 25EAFFFB */ addiu $t2, $t7, -5 -/* 0AD3E8 800AC7E8 3C0D8019 */ lui $t5, %hi(gCourseIndexInCup) # $t5, 0x8019 -/* 0AD3EC 800AC7EC 53000003 */ beql $t8, $zero, .L800AC7FC -/* 0AD3F0 800AC7F0 8CEB001C */ lw $t3, 0x1c($a3) -/* 0AD3F4 800AC7F4 ACEA001C */ sw $t2, 0x1c($a3) -/* 0AD3F8 800AC7F8 8CEB001C */ lw $t3, 0x1c($a3) -.L800AC7FC: -/* 0AD3FC 800AC7FC 5D60005B */ bgtzl $t3, .L800AC96C -/* 0AD400 800AC800 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD404 800AC804 ACEC0004 */ sw $t4, 4($a3) -/* 0AD408 800AC808 ACE0001C */ sw $zero, 0x1c($a3) -/* 0AD40C 800AC80C 81ADEE0B */ lb $t5, %lo(gCourseIndexInCup)($t5) -/* 0AD410 800AC810 24010003 */ li $at, 3 -/* 0AD414 800AC814 00002825 */ move $a1, $zero -/* 0AD418 800AC818 15A10053 */ bne $t5, $at, .L800AC968 -/* 0AD41C 800AC81C 3C028019 */ lui $v0, %hi(gCharacterIdByGPOverallRank) # $v0, 0x8019 -/* 0AD420 800AC820 3C038019 */ lui $v1, %hi(gPlayerCount) # $v1, 0x8019 -/* 0AD424 800AC824 3C048016 */ lui $a0, %hi(D_80164478) # $a0, 0x8016 -/* 0AD428 800AC828 24844478 */ addiu $a0, %lo(D_80164478) # addiu $a0, $a0, 0x4478 -/* 0AD42C 800AC82C 8063EDF3 */ lb $v1, %lo(gPlayerCount)($v1) -/* 0AD430 800AC830 2442D9D0 */ addiu $v0, %lo(gCharacterIdByGPOverallRank) # addiu $v0, $v0, -0x2630 -/* 0AD434 800AC834 24060008 */ li $a2, 8 -.L800AC838: -/* 0AD438 800AC838 804E0000 */ lb $t6, ($v0) -/* 0AD43C 800AC83C 000E7840 */ sll $t7, $t6, 1 -/* 0AD440 800AC840 008FC021 */ addu $t8, $a0, $t7 -/* 0AD444 800AC844 87190000 */ lh $t9, ($t8) -/* 0AD448 800AC848 0323082A */ slt $at, $t9, $v1 -/* 0AD44C 800AC84C 50200006 */ beql $at, $zero, .L800AC868 -/* 0AD450 800AC850 24A50001 */ addiu $a1, $a1, 1 -/* 0AD454 800AC854 0C02D4DB */ jal func_800B536C -/* 0AD458 800AC858 00A02025 */ move $a0, $a1 -/* 0AD45C 800AC85C 10000043 */ b .L800AC96C -/* 0AD460 800AC860 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD464 800AC864 24A50001 */ addiu $a1, $a1, 1 -.L800AC868: -/* 0AD468 800AC868 14A6FFF3 */ bne $a1, $a2, .L800AC838 -/* 0AD46C 800AC86C 24420001 */ addiu $v0, $v0, 1 -/* 0AD470 800AC870 1000003E */ b .L800AC96C -/* 0AD474 800AC874 8FBF0014 */ lw $ra, 0x14($sp) -glabel L800AC878 -/* 0AD478 800AC878 8CEA001C */ lw $t2, 0x1c($a3) -/* 0AD47C 800AC87C 240D000B */ li $t5, 11 -/* 0AD480 800AC880 254B0001 */ addiu $t3, $t2, 1 -/* 0AD484 800AC884 19600038 */ blez $t3, .L800AC968 -/* 0AD488 800AC888 ACEB001C */ sw $t3, 0x1c($a3) -/* 0AD48C 800AC88C ACED0004 */ sw $t5, 4($a3) -/* 0AD490 800AC890 0C02486D */ jal func_800921B4 -/* 0AD494 800AC894 ACE0001C */ sw $zero, 0x1c($a3) -/* 0AD498 800AC898 10000034 */ b .L800AC96C -/* 0AD49C 800AC89C 8FBF0014 */ lw $ra, 0x14($sp) -glabel L800AC8A0 -/* 0AD4A0 800AC8A0 3C0E8019 */ lui $t6, %hi(D_8018D9D8) # $t6, 0x8019 -/* 0AD4A4 800AC8A4 81CED9D8 */ lb $t6, %lo(D_8018D9D8)($t6) -/* 0AD4A8 800AC8A8 3C0F800E */ lui $t7, %hi(D_800DDB24) # $t7, 0x800e -/* 0AD4AC 800AC8AC 51C0002F */ beql $t6, $zero, .L800AC96C -/* 0AD4B0 800AC8B0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0AD4B4 800AC8B4 8DEFDB24 */ lw $t7, %lo(D_800DDB24)($t7) -/* 0AD4B8 800AC8B8 3C044900 */ lui $a0, (0x49008015 >> 16) # lui $a0, 0x4900 -/* 0AD4BC 800AC8BC 2418000C */ li $t8, 12 -/* 0AD4C0 800AC8C0 11E00029 */ beqz $t7, .L800AC968 -/* 0AD4C4 800AC8C4 34848015 */ ori $a0, (0x49008015 & 0xFFFF) # ori $a0, $a0, 0x8015 -/* 0AD4C8 800AC8C8 8CF90010 */ lw $t9, 0x10($a3) -/* 0AD4CC 800AC8CC ACF80004 */ sw $t8, 4($a3) -/* 0AD4D0 800AC8D0 0C032384 */ jal play_sound2 -/* 0AD4D4 800AC8D4 ACF90020 */ sw $t9, 0x20($a3) -/* 0AD4D8 800AC8D8 10000024 */ b .L800AC96C -/* 0AD4DC 800AC8DC 8FBF0014 */ lw $ra, 0x14($sp) -glabel L800AC8E0 -/* 0AD4E0 800AC8E0 8CE50020 */ lw $a1, 0x20($a3) -/* 0AD4E4 800AC8E4 240F000D */ li $t7, 13 -/* 0AD4E8 800AC8E8 2418012C */ li $t8, 300 -/* 0AD4EC 800AC8EC 28A100F0 */ slti $at, $a1, 0xf0 -/* 0AD4F0 800AC8F0 1020000E */ beqz $at, .L800AC92C -/* 0AD4F4 800AC8F4 ACE50010 */ sw $a1, 0x10($a3) -/* 0AD4F8 800AC8F8 24AA0010 */ addiu $t2, $a1, 0x10 -/* 0AD4FC 800AC8FC ACEA0020 */ sw $t2, 0x20($a3) -/* 0AD500 800AC900 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e -/* 0AD504 800AC904 8C42C5EC */ lw $v0, %lo(D_800DC5EC)($v0) -/* 0AD508 800AC908 3C03800E */ lui $v1, %hi(D_800DC5F0) # $v1, 0x800e -/* 0AD50C 800AC90C 844B0032 */ lh $t3, 0x32($v0) -/* 0AD510 800AC910 256C0010 */ addiu $t4, $t3, 0x10 -/* 0AD514 800AC914 A44C0032 */ sh $t4, 0x32($v0) -/* 0AD518 800AC918 8C63C5F0 */ lw $v1, %lo(D_800DC5F0)($v1) -/* 0AD51C 800AC91C 846D0032 */ lh $t5, 0x32($v1) -/* 0AD520 800AC920 25AEFFF0 */ addiu $t6, $t5, -0x10 -/* 0AD524 800AC924 10000010 */ b .L800AC968 -/* 0AD528 800AC928 A46E0032 */ sh $t6, 0x32($v1) -.L800AC92C: -/* 0AD52C 800AC92C ACE00020 */ sw $zero, 0x20($a3) -/* 0AD530 800AC930 ACEF0004 */ sw $t7, 4($a3) -/* 0AD534 800AC934 ACE0001C */ sw $zero, 0x1c($a3) -/* 0AD538 800AC938 3C19800E */ lui $t9, %hi(D_800DC5EC) # $t9, 0x800e -/* 0AD53C 800AC93C 8F39C5EC */ lw $t9, %lo(D_800DC5EC)($t9) -/* 0AD540 800AC940 3C0B800E */ lui $t3, %hi(D_800DC5F0) # $t3, 0x800e -/* 0AD544 800AC944 240AFFC4 */ li $t2, -60 -/* 0AD548 800AC948 A7380032 */ sh $t8, 0x32($t9) -/* 0AD54C 800AC94C 8D6BC5F0 */ lw $t3, %lo(D_800DC5F0)($t3) -/* 0AD550 800AC950 240C0004 */ li $t4, 4 -/* 0AD554 800AC954 3C018016 */ lui $at, %hi(D_8015F894) # $at, 0x8016 -/* 0AD558 800AC958 A56A0032 */ sh $t2, 0x32($t3) -/* 0AD55C 800AC95C A42CF894 */ sh $t4, %lo(D_8015F894)($at) -/* 0AD560 800AC960 0C0328CC */ jal func_800CA330 -/* 0AD564 800AC964 24040019 */ li $a0, 25 -.L800AC968: -glabel L800AC968 -/* 0AD568 800AC968 8FBF0014 */ lw $ra, 0x14($sp) -.L800AC96C: -/* 0AD56C 800AC96C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0AD570 800AC970 03E00008 */ jr $ra -/* 0AD574 800AC974 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/add_8018D9E0_entry.s b/asm/non_matchings/code_80091750/load_menu_item_ui.s similarity index 89% rename from asm/non_matchings/code_80091750/add_8018D9E0_entry.s rename to asm/non_matchings/code_80091750/load_menu_item_ui.s index eeee98aae6..c1505eb393 100644 --- a/asm/non_matchings/code_80091750/add_8018D9E0_entry.s +++ b/asm/non_matchings/code_80091750/load_menu_item_ui.s @@ -84,16 +84,16 @@ glabel D_800F15E0 .section .text -glabel add_8018D9E0_entry +glabel load_menu_item_ui /* 09F250 8009E650 27BDFF80 */ addiu $sp, $sp, -0x80 /* 09F254 8009E654 AFBF001C */ sw $ra, 0x1c($sp) /* 09F258 8009E658 AFA7008C */ sw $a3, 0x8c($sp) /* 09F25C 8009E65C 00077600 */ sll $t6, $a3, 0x18 -/* 09F260 8009E660 3C1F8019 */ lui $ra, %hi(D_8018D9E0) # $ra, 0x8019 +/* 09F260 8009E660 3C1F8019 */ lui $ra, %hi(gMenuItems) # $ra, 0x8019 /* 09F264 8009E664 000E3E03 */ sra $a3, $t6, 0x18 /* 09F268 8009E668 AFA40080 */ sw $a0, 0x80($sp) /* 09F26C 8009E66C 00001025 */ move $v0, $zero -/* 09F270 8009E670 27FFD9E0 */ addiu $ra, %lo(D_8018D9E0) # addiu $ra, $ra, -0x2620 +/* 09F270 8009E670 27FFD9E0 */ addiu $ra, %lo(gMenuItems) # addiu $ra, $ra, -0x2620 .L8009E674: /* 09F274 8009E674 8FF80000 */ lw $t8, ($ra) /* 09F278 8009E678 24420001 */ addiu $v0, $v0, 1 @@ -167,15 +167,15 @@ glabel add_8018D9E0_entry /* 09F370 8009E770 00000000 */ nop glabel L8009E774 /* 09F374 8009E774 44802000 */ mtc1 $zero, $f4 -/* 09F378 8009E778 3C018019 */ lui $at, %hi(s8018ED94) # $at, 0x8019 -/* 09F37C 8009E77C AC20ED94 */ sw $zero, %lo(s8018ED94)($at) -/* 09F380 8009E780 3C01800F */ lui $at, %hi(D_800E8530) # $at, 0x800f -/* 09F384 8009E784 E4248530 */ swc1 $f4, %lo(D_800E8530)($at) +/* 09F378 8009E778 3C018019 */ lui $at, %hi(sIntroModelTimer) # $at, 0x8019 +/* 09F37C 8009E77C AC20ED94 */ sw $zero, %lo(sIntroModelTimer)($at) +/* 09F380 8009E780 3C01800F */ lui $at, %hi(sIntroModelMotionSpeed) # $at, 0x800f +/* 09F384 8009E784 E4248530 */ swc1 $f4, %lo(sIntroModelMotionSpeed)($at) /* 09F388 8009E788 3C014040 */ li $at, 0x40400000 # 3.000000 /* 09F38C 8009E78C 44813000 */ mtc1 $at, $f6 -/* 09F390 8009E790 3C01800F */ lui $at, %hi(D_800E8534) # $at, 0x800f +/* 09F390 8009E790 3C01800F */ lui $at, %hi(sIntroModelSpeed) # $at, 0x800f /* 09F394 8009E794 44800000 */ mtc1 $zero, $f0 -/* 09F398 8009E798 E4268534 */ swc1 $f6, %lo(D_800E8534)($at) +/* 09F398 8009E798 E4268534 */ swc1 $f6, %lo(sIntroModelSpeed)($at) /* 09F39C 8009E79C 3C018019 */ lui $at, %hi(gIntroModelZEye) # $at, 0x8019 /* 09F3A0 8009E7A0 241909C4 */ li $t9, 2500 /* 09F3A4 8009E7A4 AC39EDC0 */ sw $t9, %lo(gIntroModelZEye)($at) @@ -240,22 +240,22 @@ 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_img_comp_type /* 09F498 8009E898 00002825 */ move $a1, $zero /* 09F49C 8009E89C 3C040200 */ lui $a0, %hi(D_020014C8) # $a0, 0x200 /* 09F4A0 8009E8A0 0C026E55 */ jal func_8009B954 /* 09F4A4 8009E8A4 248414C8 */ addiu $a0, %lo(D_020014C8) # addiu $a0, $a0, 0x14c8 /* 09F4A8 8009E8A8 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F4AC 8009E8AC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F4B0 8009E8B0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F4AC 8009E8AC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F4B0 8009E8B0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F4B4 8009E8B4 3C050200 */ lui $a1, %hi(D_020014C8) # $a1, 0x200 /* 09F4B8 8009E8B8 8FE6000C */ lw $a2, 0xc($ra) /* 09F4BC 8009E8BC 8FE70010 */ lw $a3, 0x10($ra) /* 09F4C0 8009E8C0 24A514C8 */ addiu $a1, %lo(D_020014C8) # addiu $a1, $a1, 0x14c8 -/* 09F4C4 8009E8C4 0C026E9D */ jal func_8009BA74 +/* 09F4C4 8009E8C4 0C026E9D */ jal render_menu_textures /* 09F4C8 8009E8C8 8D040000 */ lw $a0, ($t0) -/* 09F4CC 8009E8CC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F4D0 8009E8D0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F4CC 8009E8CC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F4D0 8009E8D0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F4D4 8009E8D4 0C026E66 */ jal func_8009B998 /* 09F4D8 8009E8D8 AD020000 */ sw $v0, ($t0) /* 09F4DC 8009E8DC 1000033D */ b .L8009F5D4 @@ -264,22 +264,22 @@ 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_img_comp_type /* 09F4F4 8009E8F4 00002825 */ move $a1, $zero /* 09F4F8 8009E8F8 3C040200 */ lui $a0, %hi(D_02001540) # $a0, 0x200 /* 09F4FC 8009E8FC 0C026E55 */ jal func_8009B954 /* 09F500 8009E900 24841540 */ addiu $a0, %lo(D_02001540) # addiu $a0, $a0, 0x1540 /* 09F504 8009E904 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F508 8009E908 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F50C 8009E90C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F508 8009E908 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F50C 8009E90C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F510 8009E910 3C050200 */ lui $a1, %hi(D_02001540) # $a1, 0x200 /* 09F514 8009E914 8FE6000C */ lw $a2, 0xc($ra) /* 09F518 8009E918 8FE70010 */ lw $a3, 0x10($ra) /* 09F51C 8009E91C 24A51540 */ addiu $a1, %lo(D_02001540) # addiu $a1, $a1, 0x1540 -/* 09F520 8009E920 0C026E9D */ jal func_8009BA74 +/* 09F520 8009E920 0C026E9D */ jal render_menu_textures /* 09F524 8009E924 8D040000 */ lw $a0, ($t0) -/* 09F528 8009E928 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F52C 8009E92C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F528 8009E928 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F52C 8009E92C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F530 8009E930 0C026E66 */ jal func_8009B998 /* 09F534 8009E934 AD020000 */ sw $v0, ($t0) /* 09F538 8009E938 10000326 */ b .L8009F5D4 @@ -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_img_comp_type /* 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,22 +316,22 @@ 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 /* 09F5C4 8009E9C4 248415A4 */ addiu $a0, %lo(D_020015A4) # addiu $a0, $a0, 0x15a4 /* 09F5C8 8009E9C8 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F5CC 8009E9CC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F5D0 8009E9D0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F5CC 8009E9CC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F5D0 8009E9D0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F5D4 8009E9D4 3C050200 */ lui $a1, %hi(D_020015A4) # $a1, 0x200 /* 09F5D8 8009E9D8 8FE6000C */ lw $a2, 0xc($ra) /* 09F5DC 8009E9DC 8FE70010 */ lw $a3, 0x10($ra) /* 09F5E0 8009E9E0 24A515A4 */ addiu $a1, %lo(D_020015A4) # addiu $a1, $a1, 0x15a4 -/* 09F5E4 8009E9E4 0C026E9D */ jal func_8009BA74 +/* 09F5E4 8009E9E4 0C026E9D */ jal render_menu_textures /* 09F5E8 8009E9E8 8D040000 */ lw $a0, ($t0) -/* 09F5EC 8009E9EC 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F5F0 8009E9F0 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F5EC 8009E9EC 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F5F0 8009E9F0 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F5F4 8009E9F4 AD020000 */ sw $v0, ($t0) /* 09F5F8 8009E9F8 244F0008 */ addiu $t7, $v0, 8 /* 09F5FC 8009E9FC AD0F0000 */ sw $t7, ($t0) @@ -343,8 +343,8 @@ glabel L8009E9AC /* 09F614 8009EA14 AFA2006C */ sw $v0, 0x6c($sp) /* 09F618 8009EA18 8FB9006C */ lw $t9, 0x6c($sp) /* 09F61C 8009EA1C 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F620 8009EA20 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F624 8009EA24 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F620 8009EA20 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F624 8009EA24 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F628 8009EA28 AF220004 */ sw $v0, 4($t9) /* 09F62C 8009EA2C 8D030000 */ lw $v1, ($t0) /* 09F630 8009EA30 3C180708 */ lui $t8, (0x07080200 >> 16) # lui $t8, 0x708 @@ -419,60 +419,60 @@ 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 /* 09F760 8009EB60 248415CC */ addiu $a0, %lo(D_020015CC) # addiu $a0, $a0, 0x15cc /* 09F764 8009EB64 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F768 8009EB68 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F76C 8009EB6C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F768 8009EB68 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F76C 8009EB6C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F770 8009EB70 3C050200 */ lui $a1, %hi(D_020015CC) # $a1, 0x200 /* 09F774 8009EB74 8FE6000C */ lw $a2, 0xc($ra) /* 09F778 8009EB78 8FE70010 */ lw $a3, 0x10($ra) /* 09F77C 8009EB7C 24A515CC */ addiu $a1, %lo(D_020015CC) # addiu $a1, $a1, 0x15cc -/* 09F780 8009EB80 0C026E9D */ jal func_8009BA74 +/* 09F780 8009EB80 0C026E9D */ jal render_menu_textures /* 09F784 8009EB84 8D040000 */ lw $a0, ($t0) -/* 09F788 8009EB88 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F78C 8009EB8C 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F788 8009EB88 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F78C 8009EB8C 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 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 /* 09F7AC 8009EBAC 24841630 */ addiu $a0, %lo(D_02001630) # addiu $a0, $a0, 0x1630 /* 09F7B0 8009EBB0 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F7B4 8009EBB4 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F7B8 8009EBB8 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F7B4 8009EBB4 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F7B8 8009EBB8 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F7BC 8009EBBC 3C050200 */ lui $a1, %hi(D_02001630) # $a1, 0x200 /* 09F7C0 8009EBC0 8FE6000C */ lw $a2, 0xc($ra) /* 09F7C4 8009EBC4 8FE70010 */ lw $a3, 0x10($ra) /* 09F7C8 8009EBC8 24A51630 */ addiu $a1, %lo(D_02001630) # addiu $a1, $a1, 0x1630 -/* 09F7CC 8009EBCC 0C026E9D */ jal func_8009BA74 +/* 09F7CC 8009EBCC 0C026E9D */ jal render_menu_textures /* 09F7D0 8009EBD0 8D040000 */ lw $a0, ($t0) -/* 09F7D4 8009EBD4 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F7D8 8009EBD8 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F7D4 8009EBD4 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F7D8 8009EBD8 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 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 /* 09F7F8 8009EBF8 24841658 */ addiu $a0, %lo(D_02001658) # addiu $a0, $a0, 0x1658 /* 09F7FC 8009EBFC 8FBF007C */ lw $ra, 0x7c($sp) -/* 09F800 8009EC00 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F804 8009EC04 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F800 8009EC00 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F804 8009EC04 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F808 8009EC08 3C050200 */ lui $a1, %hi(D_02001658) # $a1, 0x200 /* 09F80C 8009EC0C 8FE6000C */ lw $a2, 0xc($ra) /* 09F810 8009EC10 8FE70010 */ lw $a3, 0x10($ra) /* 09F814 8009EC14 24A51658 */ addiu $a1, %lo(D_02001658) # addiu $a1, $a1, 0x1658 -/* 09F818 8009EC18 0C026E9D */ jal func_8009BA74 +/* 09F818 8009EC18 0C026E9D */ jal render_menu_textures /* 09F81C 8009EC1C 8D040000 */ lw $a0, ($t0) -/* 09F820 8009EC20 3C088019 */ lui $t0, %hi(D_8018E75C) # $t0, 0x8019 -/* 09F824 8009EC24 2508E75C */ addiu $t0, %lo(D_8018E75C) # addiu $t0, $t0, -0x18a4 +/* 09F820 8009EC20 3C088019 */ lui $t0, %hi(sGfxPtr) # $t0, 0x8019 +/* 09F824 8009EC24 2508E75C */ addiu $t0, %lo(sGfxPtr) # addiu $t0, $t0, -0x18a4 /* 09F828 8009EC28 0C026E66 */ jal func_8009B998 /* 09F82C 8009EC2C AD020000 */ sw $v0, ($t0) /* 09F830 8009EC30 10000268 */ b .L8009F5D4 @@ -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,56 +506,56 @@ 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) glabel L8009ECAC -/* 09F8AC 8009ECAC 0C02D557 */ jal func_800B555C +/* 09F8AC 8009ECAC 0C02D557 */ jal has_terminate_150cc /* 09F8B0 8009ECB0 00000000 */ nop /* 09F8B4 8009ECB4 0002C080 */ sll $t8, $v0, 2 -/* 09F8B8 8009ECB8 3C04800E */ lui $a0, %hi(D_800E7D4C) +/* 09F8B8 8009ECB8 3C04800E */ lui $a0, %hi(gMenuTexturesBackground) /* 09F8BC 8009ECBC 00982021 */ addu $a0, $a0, $t8 -/* 09F8C0 8009ECC0 8C847D4C */ lw $a0, %lo(D_800E7D4C)($a0) -/* 09F8C4 8009ECC4 0C0265AF */ jal func_800996BC +/* 09F8C0 8009ECC0 8C847D4C */ lw $a0, %lo(gMenuTexturesBackground)($a0) +/* 09F8C4 8009ECC4 0C0265AF */ jal load_menu_img_comp_type /* 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_game_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(sMenuTextureBufferIndex) # $v0, 0x8019 +/* 09F8E0 8009ECE0 2442E110 */ addiu $v0, %lo(sMenuTextureBufferIndex) # 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 +/* 09F8EC 8009ECEC 3C040200 */ lui $a0, %hi(gMenuTextureCopyright1996) # $a0, 0x200 /* 09F8F0 8009ECF0 03217021 */ addu $t6, $t9, $at /* 09F8F4 8009ECF4 AC4E0000 */ sw $t6, ($v0) -/* 09F8F8 8009ECF8 0C026461 */ jal func_80099184 -/* 09F8FC 8009ECFC 248445E8 */ addiu $a0, %lo(D_020045E8) # addiu $a0, $a0, 0x45e8 +/* 09F8F8 8009ECF8 0C026461 */ jal load_menu_img +/* 09F8FC 8009ECFC 248445E8 */ addiu $a0, %lo(gMenuTextureCopyright1996) # 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 -/* 09F910 8009ED10 24844610 */ addiu $a0, %lo(D_02004610) # addiu $a0, $a0, 0x4610 +/* 09F908 8009ED08 3C040200 */ lui $a0, %hi(gMenuTexturePushStartButton) # $a0, 0x200 +/* 09F90C 8009ED0C 0C026461 */ jal load_menu_img +/* 09F910 8009ED10 24844610 */ addiu $a0, %lo(gMenuTexturePushStartButton) # addiu $a0, $a0, 0x4610 /* 09F914 8009ED14 1000022F */ b .L8009F5D4 /* 09F918 8009ED18 8FBF001C */ lw $ra, 0x1c($sp) glabel L8009ED1C -/* 09F91C 8009ED1C 0C02D557 */ jal func_800B555C +/* 09F91C 8009ED1C 0C02D557 */ jal has_terminate_150cc /* 09F920 8009ED20 00000000 */ nop /* 09F924 8009ED24 00027880 */ sll $t7, $v0, 2 -/* 09F928 8009ED28 3C04800E */ lui $a0, %hi(D_800E7D4C) +/* 09F928 8009ED28 3C04800E */ lui $a0, %hi(gMenuTexturesBackground) /* 09F92C 8009ED2C 008F2021 */ addu $a0, $a0, $t7 -/* 09F930 8009ED30 8C847D4C */ lw $a0, %lo(D_800E7D4C)($a0) -/* 09F934 8009ED34 0C0265AF */ jal func_800996BC +/* 09F930 8009ED30 8C847D4C */ lw $a0, %lo(gMenuTexturesBackground)($a0) +/* 09F934 8009ED34 0C0265AF */ jal load_menu_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 09FCA8 8009F0A8 00002825 */ move $a1, $zero /* 09FCAC 8009F0AC 0C02D6E5 */ jal controller_pak_1_status /* 09FCB0 8009F0B0 00000000 */ nop @@ -809,16 +809,16 @@ 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_img_comp_type /* 09FD00 8009F100 00002825 */ move $a1, $zero /* 09FD04 8009F104 10000133 */ b .L8009F5D4 /* 09FD08 8009F108 8FBF001C */ lw $ra, 0x1c($sp) glabel L8009F10C -/* 09FD0C 8009F10C 3C040200 */ lui $a0, %hi(D_02004A34) # $a0, 0x200 +/* 09FD0C 8009F10C 3C040200 */ lui $a0, %hi(gMenuTextureData) # $a0, 0x200 /* 09FD10 8009F110 0C026449 */ jal segmented_to_virtual_dupe -/* 09FD14 8009F114 24844A34 */ addiu $a0, %lo(D_02004A34) # addiu $a0, $a0, 0x4a34 +/* 09FD14 8009F114 24844A34 */ addiu $a0, %lo(gMenuTextureData) # addiu $a0, $a0, 0x4a34 /* 09FD18 8009F118 00402025 */ move $a0, $v0 -/* 09FD1C 8009F11C 0C0265AF */ jal func_800996BC +/* 09FD1C 8009F11C 0C0265AF */ jal load_menu_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 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_img_comp_type /* 0A01CC 8009F5CC 00002825 */ move $a1, $zero .L8009F5D0: glabel L8009F5D0 diff --git a/asm/non_matchings/code_80091750/func_8009F5E0.s b/asm/non_matchings/code_80091750/render_menus.s similarity index 94% rename from asm/non_matchings/code_80091750/func_8009F5E0.s rename to asm/non_matchings/code_80091750/render_menus.s index 19a283c3e4..eebb7f97b5 100644 --- a/asm/non_matchings/code_80091750/func_8009F5E0.s +++ b/asm/non_matchings/code_80091750/render_menus.s @@ -122,7 +122,7 @@ glabel D_800F1AFC .section .text -glabel func_8009F5E0 +glabel render_menus /* 0A01E0 8009F5E0 27BDFF50 */ addiu $sp, $sp, -0xb0 /* 0A01E4 8009F5E4 AFBF0034 */ sw $ra, 0x34($sp) /* 0A01E8 8009F5E8 AFB10030 */ sw $s1, 0x30($sp) @@ -195,7 +195,7 @@ glabel L8009F6CC glabel L8009F6E4 /* 0A02E4 8009F6E4 3C048015 */ lui $a0, %hi(gGfxPool) # $a0, 0x8015 /* 0A02E8 8009F6E8 8C84EF40 */ lw $a0, %lo(gGfxPool)($a0) -/* 0A02EC 8009F6EC 0C0251ED */ jal func_800947B4 +/* 0A02EC 8009F6EC 0C0251ED */ jal render_checkered_flag /* 0A02F0 8009F6F0 8E25001C */ lw $a1, 0x1c($s1) /* 0A02F4 8009F6F4 10000474 */ b .L800A08C8 /* 0A02F8 8009F6F8 8FBF0034 */ lw $ra, 0x34($sp) @@ -289,15 +289,15 @@ glabel L8009F830 /* 0A043C 8009F83C 10000422 */ b .L800A08C8 /* 0A0440 8009F840 8FBF0034 */ lw $ra, 0x34($sp) glabel L8009F844 -/* 0A0444 8009F844 0C02D557 */ jal func_800B555C +/* 0A0444 8009F844 0C02D557 */ jal has_terminate_150cc /* 0A0448 8009F848 00000000 */ nop /* 0A044C 8009F84C 00025880 */ sll $t3, $v0, 2 -/* 0A0450 8009F850 3C05800E */ lui $a1, %hi(D_800E7D4C) +/* 0A0450 8009F850 3C05800E */ lui $a1, %hi(gMenuTexturesBackground) /* 0A0454 8009F854 00AB2821 */ addu $a1, $a1, $t3 -/* 0A0458 8009F858 8CA57D4C */ lw $a1, %lo(D_800E7D4C)($a1) +/* 0A0458 8009F858 8CA57D4C */ lw $a1, %lo(gMenuTexturesBackground)($a1) /* 0A045C 8009F85C 8E040000 */ lw $a0, ($s0) /* 0A0460 8009F860 8E26000C */ lw $a2, %lo(D_FA00000C)($s1) -/* 0A0464 8009F864 0C026E9D */ jal func_8009BA74 +/* 0A0464 8009F864 0C026E9D */ jal render_menu_textures /* 0A0468 8009F868 8E270010 */ lw $a3, %lo(D_FA000010)($s1) /* 0A046C 8009F86C 10000415 */ b .L800A08C4 /* 0A0470 8009F870 AE020000 */ sw $v0, ($s0) @@ -309,21 +309,21 @@ glabel L8009F874 /* 0A0484 8009F884 00057400 */ sll $t6, $a1, 0x10 /* 0A0488 8009F888 00046400 */ sll $t4, $a0, 0x10 /* 0A048C 8009F88C 000C2403 */ sra $a0, $t4, 0x10 -/* 0A0490 8009F890 0C013235 */ jal func_8004C8D4 +/* 0A0490 8009F890 0C013235 */ jal render_game_logo /* 0A0494 8009F894 000E2C03 */ sra $a1, $t6, 0x10 -/* 0A0498 8009F898 3C050200 */ lui $a1, %hi(D_020045E8) # $a1, 0x200 -/* 0A049C 8009F89C 24A545E8 */ addiu $a1, %lo(D_020045E8) # addiu $a1, $a1, 0x45e8 +/* 0A0498 8009F898 3C050200 */ lui $a1, %hi(gMenuTextureCopyright1996) # $a1, 0x200 +/* 0A049C 8009F89C 24A545E8 */ addiu $a1, %lo(gMenuTextureCopyright1996) # addiu $a1, $a1, 0x45e8 /* 0A04A0 8009F8A0 8E040000 */ lw $a0, ($s0) /* 0A04A4 8009F8A4 8E26000C */ lw $a2, %lo(D_FA00000C)($s1) -/* 0A04A8 8009F8A8 0C026E9D */ jal func_8009BA74 +/* 0A04A8 8009F8A8 0C026E9D */ jal render_menu_textures /* 0A04AC 8009F8AC 8E270010 */ lw $a3, %lo(D_FA000010)($s1) /* 0A04B0 8009F8B0 10000404 */ b .L800A08C4 /* 0A04B4 8009F8B4 AE020000 */ sw $v0, ($s0) glabel L8009F8B8 /* 0A04B8 8009F8B8 3C18800E */ lui $t8, %hi(gGlobalTimer) # $t8, 0x800e /* 0A04BC 8009F8BC 8F18C54C */ lw $t8, %lo(gGlobalTimer)($t8) -/* 0A04C0 8009F8C0 3C050200 */ lui $a1, %hi(D_02004610) # $a1, 0x200 -/* 0A04C4 8009F8C4 24A54610 */ addiu $a1, %lo(D_02004610) # addiu $a1, $a1, 0x4610 +/* 0A04C0 8009F8C0 3C050200 */ lui $a1, %hi(gMenuTexturePushStartButton) # $a1, 0x200 +/* 0A04C4 8009F8C4 24A54610 */ addiu $a1, %lo(gMenuTexturePushStartButton) # addiu $a1, $a1, 0x4610 /* 0A04C8 8009F8C8 07010003 */ bgez $t8, .L8009F8D8 /* 0A04CC 8009F8CC 0018C8C3 */ sra $t9, $t8, 3 /* 0A04D0 8009F8D0 27010007 */ addiu $at, $t8, 7 @@ -336,7 +336,7 @@ glabel L8009F8B8 /* 0A04E8 8009F8E8 8FBF0034 */ lw $ra, 0x34($sp) /* 0A04EC 8009F8EC 8E040000 */ lw $a0, ($s0) /* 0A04F0 8009F8F0 8E26000C */ lw $a2, %lo(D_FA00000C)($s1) -/* 0A04F4 8009F8F4 0C026E9D */ jal func_8009BA74 +/* 0A04F4 8009F8F4 0C026E9D */ jal render_menu_textures /* 0A04F8 8009F8F8 8E270010 */ lw $a3, %lo(D_FA000010)($s1) /* 0A04FC 8009F8FC 100003F1 */ b .L800A08C4 /* 0A0500 8009F900 AE020000 */ sw $v0, ($s0) @@ -383,7 +383,7 @@ glabel L8009F904 /* 0A059C 8009F99C 8E260000 */ lw $a2, ($s1) /* 0A05A0 8009F9A0 00003825 */ move $a3, $zero /* 0A05A4 8009F9A4 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A05A8 8009F9A8 0C024DBB */ jal draw_text +/* 0A05A8 8009F9A8 0C024DBB */ jal print_text1_center_mode_1 /* 0A05AC 8009F9AC E7A00014 */ swc1 $f0, 0x14($sp) /* 0A05B0 8009F9B0 00002025 */ move $a0, $zero /* 0A05B4 8009F9B4 0C02D3AD */ jal func_800B4EB4 @@ -443,7 +443,7 @@ glabel L8009F904 /* 0A067C 8009FA7C 240500A0 */ li $a1, 160 /* 0A0680 8009FA80 00003825 */ move $a3, $zero /* 0A0684 8009FA84 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A0688 8009FA88 0C024CC9 */ jal func_80093324 +/* 0A0688 8009FA88 0C024CC9 */ jal print_text_mode_1 /* 0A068C 8009FA8C E7A00014 */ swc1 $f0, 0x14($sp) /* 0A0690 8009FA90 02202025 */ move $a0, $s1 /* 0A0694 8009FA94 0C029E51 */ jal get_time_record_seconds @@ -465,7 +465,7 @@ glabel L8009F904 /* 0A06D4 8009FAD4 240500A0 */ li $a1, 160 /* 0A06D8 8009FAD8 00003825 */ move $a3, $zero /* 0A06DC 8009FADC E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A06E0 8009FAE0 0C024CC9 */ jal func_80093324 +/* 0A06E0 8009FAE0 0C024CC9 */ jal print_text_mode_1 /* 0A06E4 8009FAE4 E7A00014 */ swc1 $f0, 0x14($sp) /* 0A06E8 8009FAE8 02202025 */ move $a0, $s1 /* 0A06EC 8009FAEC 0C029E69 */ jal get_time_record_centiseconds @@ -483,8 +483,8 @@ glabel L8009F904 /* 0A071C 8009FB1C 1000036A */ b .L800A08C8 /* 0A0720 8009FB20 8FBF0034 */ lw $ra, 0x34($sp) glabel L8009FB24 -/* 0A0724 8009FB24 3C11800E */ lui $s1, %hi(D_800E77A0) # $s1, 0x800e -/* 0A0728 8009FB28 263177A0 */ addiu $s1, %lo(D_800E77A0) # addiu $s1, $s1, 0x77a0 +/* 0A0724 8009FB24 3C11800E */ lui $s1, %hi(gTextNoController) # $s1, 0x800e +/* 0A0728 8009FB28 263177A0 */ addiu $s1, %lo(gTextNoController) # addiu $s1, $s1, 0x77a0 /* 0A072C 8009FB2C 0C024C0D */ jal get_string_width /* 0A0730 8009FB30 8E240000 */ lw $a0, ($s1) /* 0A0734 8009FB34 8E240004 */ lw $a0, 4($s1) @@ -555,8 +555,8 @@ glabel L8009FB24 /* 0A082C 8009FC2C 44993000 */ mtc1 $t9, $f6 /* 0A0830 8009FC30 46005402 */ mul.s $f16, $f10, $f0 /* 0A0834 8009FC34 240A00B4 */ li $t2, 180 -/* 0A0838 8009FC38 3C02800E */ lui $v0, %hi(D_800E77A0) # $v0, 0x800e -/* 0A083C 8009FC3C 244277A0 */ addiu $v0, %lo(D_800E77A0) # addiu $v0, $v0, 0x77a0 +/* 0A0838 8009FC38 3C02800E */ lui $v0, %hi(gTextNoController) # $v0, 0x800e +/* 0A083C 8009FC3C 244277A0 */ addiu $v0, %lo(gTextNoController) # addiu $v0, $v0, 0x77a0 /* 0A0840 8009FC40 00001825 */ move $v1, $zero /* 0A0844 8009FC44 46803220 */ cvt.s.w $f8, $f6 /* 0A0848 8009FC48 448A3000 */ mtc1 $t2, $f6 @@ -583,13 +583,13 @@ glabel L8009FB24 /* 0A0898 8009FC98 46101480 */ add.s $f18, $f2, $f16 /* 0A089C 8009FC9C 4600910D */ trunc.w.s $f4, $f18 /* 0A08A0 8009FCA0 44052000 */ mfc1 $a1, $f4 -/* 0A08A4 8009FCA4 0C024DBB */ jal draw_text +/* 0A08A4 8009FCA4 0C024DBB */ jal print_text1_center_mode_1 /* 0A08A8 8009FCA8 00000000 */ nop /* 0A08AC 8009FCAC 8FA20040 */ lw $v0, 0x40($sp) /* 0A08B0 8009FCB0 8FA30044 */ lw $v1, 0x44($sp) -/* 0A08B4 8009FCB4 3C0C800E */ lui $t4, %hi(D_800E77A8) # $t4, 0x800e +/* 0A08B4 8009FCB4 3C0C800E */ lui $t4, %hi(gTextBattleIntroduction) # $t4, 0x800e /* 0A08B8 8009FCB8 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A08BC 8009FCBC 258C77A8 */ addiu $t4, %lo(D_800E77A8) # addiu $t4, $t4, 0x77a8 +/* 0A08BC 8009FCBC 258C77A8 */ addiu $t4, %lo(gTextBattleIntroduction) # addiu $t4, $t4, 0x77a8 /* 0A08C0 8009FCC0 44810000 */ mtc1 $at, $f0 /* 0A08C4 8009FCC4 24420004 */ addiu $v0, $v0, 4 /* 0A08C8 8009FCC8 144CFFE8 */ bne $v0, $t4, .L8009FC6C @@ -597,27 +597,27 @@ glabel L8009FB24 /* 0A08D0 8009FCD0 100002FD */ b .L800A08C8 /* 0A08D4 8009FCD4 8FBF0034 */ lw $ra, 0x34($sp) glabel L8009FCD8 -/* 0A08D8 8009FCD8 0C02D557 */ jal func_800B555C +/* 0A08D8 8009FCD8 0C02D557 */ jal has_terminate_150cc /* 0A08DC 8009FCDC 00000000 */ nop /* 0A08E0 8009FCE0 00026880 */ sll $t5, $v0, 2 -/* 0A08E4 8009FCE4 3C05800E */ lui $a1, %hi(D_800E7D4C) +/* 0A08E4 8009FCE4 3C05800E */ lui $a1, %hi(gMenuTexturesBackground) /* 0A08E8 8009FCE8 00AD2821 */ addu $a1, $a1, $t5 /* 0A08EC 8009FCEC 8E26000C */ lw $a2, 0xc($s1) /* 0A08F0 8009FCF0 8E270010 */ lw $a3, 0x10($s1) /* 0A08F4 8009FCF4 240E0003 */ li $t6, 3 /* 0A08F8 8009FCF8 AFAE0010 */ sw $t6, 0x10($sp) /* 0A08FC 8009FCFC AFA00014 */ sw $zero, 0x14($sp) -/* 0A0900 8009FD00 8CA57D4C */ lw $a1, %lo(D_800E7D4C)($a1) +/* 0A0900 8009FD00 8CA57D4C */ lw $a1, %lo(gMenuTexturesBackground)($a1) /* 0A0904 8009FD04 0C026F27 */ jal func_8009BC9C /* 0A0908 8009FD08 8E040000 */ lw $a0, ($s0) /* 0A090C 8009FD0C 100002ED */ b .L800A08C4 /* 0A0910 8009FD10 AE020000 */ sw $v0, ($s0) glabel L8009FD14 -/* 0A0914 8009FD14 3C050200 */ lui $a1, %hi(D_02004660) # $a1, 0x200 -/* 0A0918 8009FD18 24A54660 */ addiu $a1, %lo(D_02004660) # addiu $a1, $a1, 0x4660 +/* 0A0914 8009FD14 3C050200 */ lui $a1, %hi(gMenuTextureGameSelect) # $a1, 0x200 +/* 0A0918 8009FD18 24A54660 */ addiu $a1, %lo(gMenuTextureGameSelect) # addiu $a1, $a1, 0x4660 /* 0A091C 8009FD1C 8E040000 */ lw $a0, ($s0) /* 0A0920 8009FD20 8E26000C */ lw $a2, 0xc($s1) -/* 0A0924 8009FD24 0C026E9D */ jal func_8009BA74 +/* 0A0924 8009FD24 0C026E9D */ jal render_menu_textures /* 0A0928 8009FD28 8E270010 */ lw $a3, 0x10($s1) /* 0A092C 8009FD2C 100002E5 */ b .L800A08C4 /* 0A0930 8009FD30 AE020000 */ sw $v0, ($s0) @@ -757,10 +757,10 @@ glabel L8009FF0C .L8009FF24: /* 0A0B24 8009FF24 00084880 */ sll $t1, $t0, 2 .L8009FF28: -/* 0A0B28 8009FF28 3C04800F */ lui $a0, %hi(D_800E824C) # 0x800f +/* 0A0B28 8009FF28 3C04800F */ lui $a0, %hi(D_800E8234+0x18) # 0x800f /* 0A0B2C 8009FF2C 00892021 */ addu $a0, $a0, $t1 /* 0A0B30 8009FF30 AFB900A8 */ sw $t9, 0xa8($sp) -/* 0A0B34 8009FF34 8C84824C */ lw $a0, %lo(D_800E824C)($a0) # -0x7db4($a0) +/* 0A0B34 8009FF34 8C84824C */ lw $a0, %lo(D_800E8234+0x18)($a0) # -0x7db4($a0) /* 0A0B38 8009FF38 0C026449 */ jal segmented_to_virtual_dupe /* 0A0B3C 8009FF3C AFA600AC */ sw $a2, 0xac($sp) /* 0A0B40 8009FF40 8FA600AC */ lw $a2, 0xac($sp) @@ -774,10 +774,10 @@ glabel L8009FF50 /* 0A0B5C 8009FF5C 1000001B */ b .L8009FFCC /* 0A0B60 8009FF60 2406FFFF */ li $a2, -1 .L8009FF64: -/* 0A0B64 8009FF64 3C04800F */ lui $a0, %hi(D_800E824C) # 0x800f +/* 0A0B64 8009FF64 3C04800F */ lui $a0, %hi(D_800E8234+0x18) # 0x800f /* 0A0B68 8009FF68 24050016 */ li $a1, 22 /* 0A0B6C 8009FF6C 008A2021 */ addu $a0, $a0, $t2 -/* 0A0B70 8009FF70 8C84824C */ lw $a0, %lo(D_800E824C)($a0) # -0x7db4($a0) +/* 0A0B70 8009FF70 8C84824C */ lw $a0, %lo(D_800E8234+0x18)($a0) # -0x7db4($a0) /* 0A0B74 8009FF74 AFA500A8 */ sw $a1, 0xa8($sp) /* 0A0B78 8009FF78 0C026449 */ jal segmented_to_virtual_dupe /* 0A0B7C 8009FF7C AFA600AC */ sw $a2, 0xac($sp) @@ -792,10 +792,10 @@ glabel L8009FF90 /* 0A0B9C 8009FF9C 1000000B */ b .L8009FFCC /* 0A0BA0 8009FFA0 2406FFFF */ li $a2, -1 .L8009FFA4: -/* 0A0BA4 8009FFA4 3C04800F */ lui $a0, %hi(D_800E824C) # 0x800f +/* 0A0BA4 8009FFA4 3C04800F */ lui $a0, %hi(D_800E8234+0x18) # 0x800f /* 0A0BA8 8009FFA8 24050018 */ li $a1, 24 /* 0A0BAC 8009FFAC 008B2021 */ addu $a0, $a0, $t3 -/* 0A0BB0 8009FFB0 8C84824C */ lw $a0, %lo(D_800E824C)($a0) # -0x7db4($a0) +/* 0A0BB0 8009FFB0 8C84824C */ lw $a0, %lo(D_800E8234+0x18)($a0) # -0x7db4($a0) /* 0A0BB4 8009FFB4 AFA500A8 */ sw $a1, 0xa8($sp) /* 0A0BB8 8009FFB8 0C026449 */ jal segmented_to_virtual_dupe /* 0A0BBC 8009FFBC AFA600AC */ sw $a2, 0xac($sp) @@ -866,7 +866,7 @@ glabel L8009FF90 /* 0A0CB0 800A00B0 8E040000 */ lw $a0, ($s0) /* 0A0CB4 800A00B4 8FA5009C */ lw $a1, 0x9c($sp) /* 0A0CB8 800A00B8 8E26000C */ lw $a2, 0xc($s1) -/* 0A0CBC 800A00BC 0C026E9D */ jal func_8009BA74 +/* 0A0CBC 800A00BC 0C026E9D */ jal render_menu_textures /* 0A0CC0 800A00C0 8E270010 */ lw $a3, 0x10($s1) /* 0A0CC4 800A00C4 100001FF */ b .L800A08C4 /* 0A0CC8 800A00C8 AE020000 */ sw $v0, ($s0) @@ -880,7 +880,7 @@ glabel L800A00DC /* 0A0CE0 800A00E0 24A54B4C */ addiu $a1, %lo(D_02004B4C) # addiu $a1, $a1, 0x4b4c /* 0A0CE4 800A00E4 8E040000 */ lw $a0, ($s0) /* 0A0CE8 800A00E8 8E26000C */ lw $a2, 0xc($s1) -/* 0A0CEC 800A00EC 0C026E9D */ jal func_8009BA74 +/* 0A0CEC 800A00EC 0C026E9D */ jal render_menu_textures /* 0A0CF0 800A00F0 8E270010 */ lw $a3, 0x10($s1) /* 0A0CF4 800A00F4 100001F3 */ b .L800A08C4 /* 0A0CF8 800A00F8 AE020000 */ sw $v0, ($s0) @@ -920,7 +920,7 @@ glabel L800A00FC .L800A0170: /* 0A0D70 800A0170 24C600BF */ addiu $a2, $a2, 0xbf .L800A0174: -/* 0A0D74 800A0174 0C028474 */ jal func_800A11D0 +/* 0A0D74 800A0174 0C028474 */ jal render_cursor_player /* 0A0D78 800A0178 02202025 */ move $a0, $s1 /* 0A0D7C 800A017C 100001D2 */ b .L800A08C8 /* 0A0D80 800A0180 8FBF0034 */ lw $ra, 0x34($sp) @@ -968,7 +968,7 @@ glabel L800A01F8 /* 0A0E18 800A0218 8E040000 */ lw $a0, ($s0) /* 0A0E1C 800A021C 00402825 */ move $a1, $v0 /* 0A0E20 800A0220 8E26000C */ lw $a2, 0xc($s1) -/* 0A0E24 800A0224 0C026E9D */ jal func_8009BA74 +/* 0A0E24 800A0224 0C026E9D */ jal render_menu_textures /* 0A0E28 800A0228 8E270010 */ lw $a3, 0x10($s1) /* 0A0E2C 800A022C AE020000 */ sw $v0, ($s0) /* 0A0E30 800A0230 0C02A329 */ jal func_800A8CA4 @@ -984,7 +984,7 @@ glabel L800A0240 /* 0A0E54 800A0254 8E040000 */ lw $a0, ($s0) /* 0A0E58 800A0258 00402825 */ move $a1, $v0 /* 0A0E5C 800A025C 8E26000C */ lw $a2, 0xc($s1) -/* 0A0E60 800A0260 0C026E9D */ jal func_8009BA74 +/* 0A0E60 800A0260 0C026E9D */ jal render_menu_textures /* 0A0E64 800A0264 8E270010 */ lw $a3, 0x10($s1) /* 0A0E68 800A0268 10000196 */ b .L800A08C4 /* 0A0E6C 800A026C AE020000 */ sw $v0, ($s0) @@ -1039,22 +1039,22 @@ glabel L800A02DC /* 0A0F18 800A0318 C4261AF8 */ lwc1 $f6, %lo(D_800F1AF8)($at) /* 0A0F1C 800A031C 8E24000C */ lw $a0, 0xc($s1) /* 0A0F20 800A0320 8E250010 */ lw $a1, 0x10($s1) -/* 0A0F24 800A0324 3C06800E */ lui $a2, %hi(D_800E7728 - 0x194) +/* 0A0F24 800A0324 3C06800E */ lui $a2, %hi(gBestTimeText - 0x194) /* 0A0F28 800A0328 000B6080 */ sll $t4, $t3, 2 /* 0A0F2C 800A032C 00CC3021 */ addu $a2, $a2, $t4 -/* 0A0F30 800A0330 8CC67594 */ lw $a2, %lo(D_800E7728 - 0x194)($a2) +/* 0A0F30 800A0330 8CC67594 */ lw $a2, %lo(gBestTimeText - 0x194)($a2) /* 0A0F34 800A0334 00003825 */ move $a3, $zero /* 0A0F38 800A0338 E7A00010 */ swc1 $f0, 0x10($sp) /* 0A0F3C 800A033C E7A60014 */ swc1 $f6, 0x14($sp) /* 0A0F40 800A0340 24840008 */ addiu $a0, $a0, 8 -/* 0A0F44 800A0344 0C024CC9 */ jal func_80093324 +/* 0A0F44 800A0344 0C024CC9 */ jal print_text_mode_1 /* 0A0F48 800A0348 24A50010 */ addiu $a1, $a1, 0x10 /* 0A0F4C 800A034C 0C02A1D3 */ jal func_800A874C /* 0A0F50 800A0350 02202025 */ move $a0, $s1 /* 0A0F54 800A0354 1000015C */ b .L800A08C8 /* 0A0F58 800A0358 8FBF0034 */ lw $ra, 0x34($sp) glabel L800A035C -/* 0A0F5C 800A035C 0C02A385 */ jal func_800A8E14 +/* 0A0F5C 800A035C 0C02A385 */ jal render_battle_introduction /* 0A0F60 800A0360 02202025 */ move $a0, $s1 /* 0A0F64 800A0364 10000158 */ b .L800A08C8 /* 0A0F68 800A0368 8FBF0034 */ lw $ra, 0x34($sp) @@ -1090,7 +1090,7 @@ glabel L800A037C /* 0A0FD8 800A03D8 8E040000 */ lw $a0, ($s0) /* 0A0FDC 800A03DC 00402825 */ move $a1, $v0 /* 0A0FE0 800A03E0 8E26000C */ lw $a2, 0xc($s1) -/* 0A0FE4 800A03E4 0C026E9D */ jal func_8009BA74 +/* 0A0FE4 800A03E4 0C026E9D */ jal render_menu_textures /* 0A0FE8 800A03E8 8E270010 */ lw $a3, 0x10($s1) /* 0A0FEC 800A03EC 10000135 */ b .L800A08C4 /* 0A0FF0 800A03F0 AE020000 */ sw $v0, ($s0) @@ -1169,24 +1169,24 @@ glabel L800A0428 /* 0A10FC 800A04FC 24A7003F */ addiu $a3, $a1, 0x3f /* 0A1100 800A0500 AE020000 */ sw $v0, ($s0) .L800A0504: -/* 0A1104 800A0504 3C050200 */ lui $a1, %hi(D_02004A34) # $a1, 0x200 -/* 0A1108 800A0508 24A54A34 */ addiu $a1, %lo(D_02004A34) # addiu $a1, $a1, 0x4a34 +/* 0A1104 800A0504 3C050200 */ lui $a1, %hi(gMenuTextureData) # $a1, 0x200 +/* 0A1108 800A0508 24A54A34 */ addiu $a1, %lo(gMenuTextureData) # addiu $a1, $a1, 0x4a34 /* 0A110C 800A050C 8E040000 */ lw $a0, ($s0) /* 0A1110 800A0510 8E26000C */ lw $a2, 0xc($s1) -/* 0A1114 800A0514 0C026E9D */ jal func_8009BA74 +/* 0A1114 800A0514 0C026E9D */ jal render_menu_textures /* 0A1118 800A0518 8E270010 */ lw $a3, 0x10($s1) /* 0A111C 800A051C AE020000 */ sw $v0, ($s0) /* 0A1120 800A0520 0C024C36 */ jal set_text_color /* 0A1124 800A0524 24040003 */ li $a0, 3 /* 0A1128 800A0528 3C01800F */ lui $at, %hi(D_800F1AFC) # $at, 0x800f /* 0A112C 800A052C C4201AFC */ lwc1 $f0, %lo(D_800F1AFC)($at) -/* 0A1130 800A0530 3C06800E */ lui $a2, %hi(D_800E77B4) # $a2, 0x800e -/* 0A1134 800A0534 24C677B4 */ addiu $a2, %lo(D_800E77B4) # addiu $a2, $a2, 0x77b4 +/* 0A1130 800A0530 3C06800E */ lui $a2, %hi(gTextMenuData) # $a2, 0x800e +/* 0A1134 800A0534 24C677B4 */ addiu $a2, %lo(gTextMenuData) # addiu $a2, $a2, 0x77b4 /* 0A1138 800A0538 24040125 */ li $a0, 293 /* 0A113C 800A053C 2405001C */ li $a1, 28 /* 0A1140 800A0540 00003825 */ move $a3, $zero /* 0A1144 800A0544 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A1148 800A0548 0C024DAE */ jal func_800936B8 +/* 0A1148 800A0548 0C024DAE */ jal print_text1_left /* 0A114C 800A054C E7A00014 */ swc1 $f0, 0x14($sp) /* 0A1150 800A0550 100000DD */ b .L800A08C8 /* 0A1154 800A0554 8FBF0034 */ lw $ra, 0x34($sp) @@ -1216,7 +1216,7 @@ glabel L800A0578 /* 0A11A8 800A05A8 8E27001C */ lw $a3, 0x1c($s1) /* 0A11AC 800A05AC 8CC67500 */ lw $a2, %lo(gCupNames)($a2) /* 0A11B0 800A05B0 E7A80014 */ swc1 $f8, 0x14($sp) -/* 0A11B4 800A05B4 0C024DAE */ jal func_800936B8 +/* 0A11B4 800A05B4 0C024DAE */ jal print_text1_left /* 0A11B8 800A05B8 E7AA0010 */ swc1 $f10, 0x10($sp) /* 0A11BC 800A05BC 100000C2 */ b .L800A08C8 /* 0A11C0 800A05C0 8FBF0034 */ lw $ra, 0x34($sp) @@ -1236,7 +1236,7 @@ glabel L800A05C4 /* 0A11F4 800A05F4 8E27001C */ lw $a3, 0x1c($s1) /* 0A11F8 800A05F8 8CC67524 */ lw $a2, %lo(gCourseNames)($a2) /* 0A11FC 800A05FC E7B20014 */ swc1 $f18, 0x14($sp) -/* 0A1200 800A0600 0C024CC9 */ jal func_80093324 +/* 0A1200 800A0600 0C024CC9 */ jal print_text_mode_1 /* 0A1204 800A0604 E7B00010 */ swc1 $f16, 0x10($sp) /* 0A1208 800A0608 100000AF */ b .L800A08C8 /* 0A120C 800A060C 8FBF0034 */ lw $ra, 0x34($sp) @@ -1299,7 +1299,7 @@ glabel L800A0694 /* 0A12D0 800A06D0 8E040000 */ lw $a0, ($s0) /* 0A12D4 800A06D4 00402825 */ move $a1, $v0 /* 0A12D8 800A06D8 8E26000C */ lw $a2, 0xc($s1) -/* 0A12DC 800A06DC 0C026E9D */ jal func_8009BA74 +/* 0A12DC 800A06DC 0C026E9D */ jal render_menu_textures /* 0A12E0 800A06E0 8E270010 */ lw $a3, 0x10($s1) /* 0A12E4 800A06E4 AE020000 */ sw $v0, ($s0) /* 0A12E8 800A06E8 8E2E001C */ lw $t6, 0x1c($s1) @@ -1311,12 +1311,12 @@ glabel L800A0694 /* 0A1300 800A0700 AFAE0010 */ sw $t6, 0x10($sp) /* 0A1304 800A0704 02202025 */ move $a0, $s1 /* 0A1308 800A0708 8FA500A8 */ lw $a1, 0xa8($sp) -/* 0A130C 800A070C 0C028474 */ jal func_800A11D0 +/* 0A130C 800A070C 0C028474 */ jal render_cursor_player /* 0A1310 800A0710 240600FF */ li $a2, 255 /* 0A1314 800A0714 1000006C */ b .L800A08C8 /* 0A1318 800A0718 8FBF0034 */ lw $ra, 0x34($sp) glabel L800A071C -/* 0A131C 800A071C 0C028F21 */ jal func_800A3C84 +/* 0A131C 800A071C 0C028F21 */ jal menu_item_end_time_trial_render /* 0A1320 800A0720 02202025 */ move $a0, $s1 /* 0A1324 800A0724 10000068 */ b .L800A08C8 /* 0A1328 800A0728 8FBF0034 */ lw $ra, 0x34($sp) @@ -1351,7 +1351,7 @@ glabel L800A077C /* 0A1384 800A0784 10000050 */ b .L800A08C8 /* 0A1388 800A0788 8FBF0034 */ lw $ra, 0x34($sp) glabel L800A078C -/* 0A138C 800A078C 0C0286F8 */ jal func_800A1BE0 +/* 0A138C 800A078C 0C0286F8 */ jal menu_item_course_data_render /* 0A1390 800A0790 02202025 */ move $a0, $s1 /* 0A1394 800A0794 1000004C */ b .L800A08C8 /* 0A1398 800A0798 8FBF0034 */ lw $ra, 0x34($sp) @@ -1375,7 +1375,7 @@ glabel L800A07CC /* 0A13D0 800A07D0 24A54638 */ addiu $a1, %lo(D_02004638) # addiu $a1, $a1, 0x4638 /* 0A13D4 800A07D4 8E040000 */ lw $a0, ($s0) /* 0A13D8 800A07D8 8E26000C */ lw $a2, 0xc($s1) -/* 0A13DC 800A07DC 0C026E9D */ jal func_8009BA74 +/* 0A13DC 800A07DC 0C026E9D */ jal render_menu_textures /* 0A13E0 800A07E0 8E270010 */ lw $a3, 0x10($s1) /* 0A13E4 800A07E4 10000037 */ b .L800A08C4 /* 0A13E8 800A07E8 AE020000 */ sw $v0, ($s0) @@ -1426,7 +1426,7 @@ glabel L800A084C /* 0A1480 800A0880 8E040000 */ lw $a0, ($s0) /* 0A1484 800A0884 00402825 */ move $a1, $v0 /* 0A1488 800A0888 8E26000C */ lw $a2, 0xc($s1) -/* 0A148C 800A088C 0C026E9D */ jal func_8009BA74 +/* 0A148C 800A088C 0C026E9D */ jal render_menu_textures /* 0A1490 800A0890 8E270010 */ lw $a3, 0x10($s1) /* 0A1494 800A0894 AE020000 */ sw $v0, ($s0) /* 0A1498 800A0898 8E29001C */ lw $t1, 0x1c($s1) @@ -1439,7 +1439,7 @@ glabel L800A084C /* 0A14B4 800A08B4 10000004 */ b .L800A08C8 /* 0A14B8 800A08B8 8FBF0034 */ lw $ra, 0x34($sp) glabel L800A08BC -/* 0A14BC 800A08BC 0C029DE4 */ jal func_800A7790 +/* 0A14BC 800A08BC 0C029DE4 */ jal menu_item_credit_render /* 0A14C0 800A08C0 02202025 */ move $a0, $s1 .L800A08C4: glabel L800A08C4 diff --git a/asm/non_matchings/code_80091750/func_800A474C.s b/asm/non_matchings/code_80091750/render_player_time.s similarity index 97% rename from asm/non_matchings/code_80091750/func_800A474C.s rename to asm/non_matchings/code_80091750/render_player_time.s index d01240183c..19bb3c1e2a 100644 --- a/asm/non_matchings/code_80091750/func_800A474C.s +++ b/asm/non_matchings/code_80091750/render_player_time.s @@ -15,7 +15,7 @@ glabel D_800F1DC8 .section .text -glabel func_800A474C +glabel render_player_time /* 0A534C 800A474C 27BDFFB0 */ addiu $sp, $sp, -0x50 /* 0A5350 800A4750 3C0E800E */ lui $t6, %hi(gGamestate) # $t6, 0x800e /* 0A5354 800A4754 8DCEC50C */ lw $t6, %lo(gGamestate)($t6) @@ -86,7 +86,7 @@ glabel func_800A474C /* 0A5438 800A4838 8FAB0030 */ lw $t3, 0x30($sp) /* 0A543C 800A483C 55600024 */ bnel $t3, $zero, .L800A48D0 /* 0A5440 800A4840 24020003 */ li $v0, 3 -/* 0A5444 800A4844 0C02ABBD */ jal find_8018D9E0_entry_dupe +/* 0A5444 800A4844 0C02ABBD */ jal find_menu_items_type_dupe /* 0A5448 800A4848 240400BB */ li $a0, 187 /* 0A544C 800A484C 8FAC0050 */ lw $t4, 0x50($sp) /* 0A5450 800A4850 29810005 */ slti $at, $t4, 5 @@ -152,7 +152,7 @@ glabel func_800A474C /* 0A552C 800A492C 00003825 */ move $a3, $zero /* 0A5530 800A4930 E7B40010 */ swc1 $f20, 0x10($sp) /* 0A5534 800A4934 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5538 800A4938 0C024CC9 */ jal func_80093324 +/* 0A5538 800A4938 0C024CC9 */ jal print_text_mode_1 /* 0A553C 800A493C 24840032 */ addiu $a0, $a0, 0x32 /* 0A5540 800A4940 8FA4002C */ lw $a0, 0x2c($sp) /* 0A5544 800A4944 0C029E51 */ jal get_time_record_seconds @@ -172,7 +172,7 @@ glabel func_800A474C /* 0A557C 800A497C 00003825 */ move $a3, $zero /* 0A5580 800A4980 E7B40010 */ swc1 $f20, 0x10($sp) /* 0A5584 800A4984 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5588 800A4988 0C024CC9 */ jal func_80093324 +/* 0A5588 800A4988 0C024CC9 */ jal print_text_mode_1 /* 0A558C 800A498C 24840046 */ addiu $a0, $a0, 0x46 /* 0A5590 800A4990 8FA4002C */ lw $a0, 0x2c($sp) /* 0A5594 800A4994 0C029E69 */ jal get_time_record_centiseconds @@ -206,7 +206,7 @@ glabel func_800A474C /* 0A55FC 800A49FC 8FA50058 */ lw $a1, 0x58($sp) /* 0A5600 800A4A00 00003825 */ move $a3, $zero /* 0A5604 800A4A04 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5608 800A4A08 0C024DBB */ jal draw_text +/* 0A5608 800A4A08 0C024DBB */ jal print_text1_center_mode_1 /* 0A560C 800A4A0C E7B40014 */ swc1 $f20, 0x14($sp) /* 0A5610 800A4A10 8FBF0024 */ lw $ra, 0x24($sp) /* 0A5614 800A4A14 D7B40018 */ ldc1 $f20, 0x18($sp) diff --git a/asm/non_matchings/menus/main_menu_act.s b/asm/non_matchings/menus/main_menu_act.s index 35ded8da71..5c5880dafd 100644 --- a/asm/non_matchings/menus/main_menu_act.s +++ b/asm/non_matchings/menus/main_menu_act.s @@ -463,7 +463,7 @@ glabel L800B2F70 # case 5, 8 /* 0B3C70 800B3070 00000000 */ nop /* 0B3C74 800B3074 AFA00024 */ sw $zero, 0x24($sp) /* 0B3C78 800B3078 AFA50028 */ sw $a1, 0x28($sp) -/* 0B3C7C 800B307C 0C02D557 */ jal func_800B555C +/* 0B3C7C 800B307C 0C02D557 */ jal has_terminate_150cc /* 0B3C80 800B3080 AFA6001C */ sw $a2, 0x1c($sp) /* 0B3C84 800B3084 8FA30024 */ lw $v1, 0x24($sp) /* 0B3C88 800B3088 8FA50028 */ lw $a1, 0x28($sp) diff --git a/asm/non_matchings/render_objects/func_8004C6FC.s b/asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s similarity index 98% rename from asm/non_matchings/render_objects/func_8004C6FC.s rename to asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s index e26f8868ef..fc866e13b6 100644 --- a/asm/non_matchings/render_objects/func_8004C6FC.s +++ b/asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s @@ -1,4 +1,4 @@ -glabel func_8004C6FC +glabel render_texture_tile_rgba32_block /* 04D2FC 8004C6FC 27BDFFB8 */ addiu $sp, $sp, -0x48 /* 04D300 8004C700 AFB10024 */ sw $s1, 0x24($sp) /* 04D304 8004C704 8FB10058 */ lw $s1, 0x58($sp) @@ -81,7 +81,7 @@ glabel func_8004C6FC /* 04D42C 8004C82C 03C02025 */ move $a0, $fp /* 04D430 8004C830 02802825 */ move $a1, $s4 /* 04D434 8004C834 02403025 */ move $a2, $s2 -/* 04D438 8004C838 0C012E54 */ jal func_8004B950 +/* 04D438 8004C838 0C012E54 */ jal render_texture_rectangle_from_base /* 04D43C 8004C83C 02003825 */ move $a3, $s0 /* 04D440 8004C840 02D11023 */ subu $v0, $s6, $s1 /* 04D444 8004C844 04410008 */ bgez $v0, .L8004C868 diff --git a/asm/non_matchings/save/func_800B68F4.s b/asm/non_matchings/save/func_800B68F4.s index f4fb102716..55079f337d 100644 --- a/asm/non_matchings/save/func_800B68F4.s +++ b/asm/non_matchings/save/func_800B68F4.s @@ -1,6 +1,6 @@ glabel func_800B68F4 -/* 0B74F4 800B68F4 3C028019 */ lui $v0, %hi(D_8018D9C0) # $v0, 0x8019 -/* 0B74F8 800B68F8 8C42D9C0 */ lw $v0, %lo(D_8018D9C0)($v0) +/* 0B74F4 800B68F4 3C028019 */ lui $v0, %hi(gSomeDLBuffer) # $v0, 0x8019 +/* 0B74F8 800B68F8 8C42D9C0 */ lw $v0, %lo(gSomeDLBuffer)($v0) /* 0B74FC 800B68FC 000471C0 */ sll $t6, $a0, 7 /* 0B7500 800B6900 24870001 */ addiu $a3, $a0, 1 /* 0B7504 800B6904 01C21821 */ addu $v1, $t6, $v0 diff --git a/baserom.us.eeprom b/baserom.us.eeprom new file mode 100644 index 0000000000..cf0fbc0e23 Binary files /dev/null and b/baserom.us.eeprom differ diff --git a/baserom.us.pak b/baserom.us.pak new file mode 100644 index 0000000000..2cfd31c55e Binary files /dev/null and b/baserom.us.pak differ diff --git a/include/defines.h b/include/defines.h index 84e0c325f6..ec8bb4f438 100644 --- a/include/defines.h +++ b/include/defines.h @@ -177,7 +177,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 @@ -219,12 +219,14 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR }; * flashing between 2 colors, but also cause individual characters * to be cutoff on their right side */ -#define TEXT_BLUE 0 -#define TEXT_GREEN 1 -#define TEXT_RED 2 -#define TEXT_YELLOW 3 -#define TEXT_BLUE_GREEN_RED_CYCLE_1 4 -#define TEXT_BLUE_GREEN_RED_CYCLE_2 5 +enum COLOR_ID { + TEXT_BLUE, + TEXT_GREEN, + TEXT_RED, + TEXT_YELLOW, + TEXT_BLUE_GREEN_RED_CYCLE_1, + TEXT_BLUE_GREEN_RED_CYCLE_2 +}; /** * @brief Sound mode options diff --git a/print_rodata.S b/print_rodata.S new file mode 100644 index 0000000000..18e07a51cd --- /dev/null +++ b/print_rodata.S @@ -0,0 +1,14 @@ +.section .rodata + +glabel print_rodata +.word 0x0 + +.section .text + +glabel fake_function + nop + nop + nop + nop + nop + nop \ No newline at end of file diff --git a/src/code_80057C60.h b/src/code_80057C60.h index 826c91d025..3de68fb849 100644 --- a/src/code_80057C60.h +++ b/src/code_80057C60.h @@ -521,7 +521,7 @@ extern s32 D_8018D1D4; // extern s32 D_8018D1D8; -> objects.h extern s32 D_8018D1DC; -extern u8* D_8018D1E0; +extern u8* gGameLogoAddress; extern f32 D_8018D1E8; extern s32 D_8018D1EC; // extern s32 D_8018D1F0; -> objects.h diff --git a/src/code_80057C60_var.c b/src/code_80057C60_var.c index 494ce899fc..c5e0aaaab3 100644 --- a/src/code_80057C60_var.c +++ b/src/code_80057C60_var.c @@ -77,7 +77,7 @@ s32 D_8018D1D0; s32 D_8018D1D4; s32 D_8018D1D8; s32 D_8018D1DC; -u8* D_8018D1E0; +u8* gGameLogoAddress; UNUSED s32 D_8018D1E4; f32 D_8018D1E8; s32 D_8018D1EC; diff --git a/src/code_8006E9C0.c b/src/code_8006E9C0.c index 15bee53c69..1960de63b4 100644 --- a/src/code_8006E9C0.c +++ b/src/code_8006E9C0.c @@ -111,7 +111,7 @@ void clear_object_list() { objectListSize = -1; } -u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) { +u8* dma_copy_base_misc_textures(u8* devAddr, u8* baseAddress, u32 size, u32 offset) { u8** tempAddress; u8* address; address = baseAddress + offset; @@ -126,8 +126,8 @@ u8* func_8006ED94(u8* devAddr, u8* baseAddress, u32 size, u32 offset) { return baseAddress; } -void func_8006EE44(void) { - D_8018D1E0 = func_8006ED94((u8*) &gTextureLogoMarioKart64, (u8*) D_8018D9B0, 0x79E1, 0x20000); +void load_game_logo(void) { + gGameLogoAddress = dma_copy_base_misc_textures((u8*) &gTextureLogoMarioKart64, (u8*) gMenuTextureBuffer, 0x79E1, 0x20000); } // Some kind of initalization for the Item Window part of the HUD @@ -161,10 +161,10 @@ void func_8006EF60(void) { s16 huh; u8* wut; - wut = D_8018D9B4 + 0xFFFF0000; + wut = gMenuCompressedBuffer + 0xFFFF0000; // clang-format off // God forgive me for my sins... - huh = 0x14; if (0) {} for (i = 0; i < huh; i++) { D_8018D248[i] = func_8006ED94(gCourseOutlineTextures[i], wut, D_800E5520[i], D_800E5520[i]); wut += D_800E5520[i]; } + huh = 0x14; if (0) {} for (i = 0; i < huh; i++) { D_8018D248[i] = dma_copy_base_misc_textures(gCourseOutlineTextures[i], wut, D_800E5520[i], D_800E5520[i]); wut += D_800E5520[i]; } // clang-format on } diff --git a/src/code_8006E9C0.h b/src/code_8006E9C0.h index 61f8ab4f91..70fd90fb81 100644 --- a/src/code_8006E9C0.h +++ b/src/code_8006E9C0.h @@ -8,8 +8,8 @@ void init_hud(void); void reset_object_variable(void); void func_8006EB10(void); void clear_object_list(void); -u8* func_8006ED94(u8*, u8*, u32, u32); -void func_8006EE44(void); +u8* dma_copy_base_misc_textures(u8*, u8*, u32, u32); +void load_game_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 f50cbb0864..c73107c222 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -37,11 +37,13 @@ // Unfortunately that's not a small effort due to weird import structure in this project #include "main.h" -u16* D_8018D9B0; -u8* D_8018D9B4; -u8* D_8018D9B8; -u8* D_8018D9BC; -void* D_8018D9C0; +void guMtxCatL(Mtx* m, Mtx* n, Mtx* res); + +u16* gMenuTextureBuffer; +u8* gMenuCompressedBuffer; +u8* sTKMK00_LowResBuffer; +u8* sGPPointsCopy; +void* gSomeDLBuffer; /** * List of bytes indexed by character ID * Indicates number of Grand Prix points that character @@ -51,15 +53,15 @@ s8 gGPPointsByCharacterId[8]; s8 gCharacterIdByGPOverallRank[8]; s8 D_8018D9D8; s8 D_8018D9D9; -struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE]; +MenuItem gMenuItems[MENU_ITEMS_MAX]; struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE]; struct_8018E060_entry D_8018E060[D_8018E060_SIZE]; UNUSED u8 code_80091750_bss_padding0[8]; struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE]; -s32 gD_8018E118TotalSize; -struct_8018E118_entry D_8018E118[D_8018E118_SIZE]; -s32 gNumD_8018E118Entries; -Gfx* D_8018E75C; +s32 sMenuTextureBufferIndex; +TextureMap sMenuTextureMap[TEXTURE_MAP_MAX]; +s32 sMenuTextureEntries; +Gfx* sGfxPtr; s32 gNumD_8018E768Entries; struct_8018E768_entry D_8018E768[D_8018E768_SIZE]; s32 gCycleFlashMenu; @@ -92,7 +94,7 @@ ALIGNED8 SaveData gSaveData; u8 D_8018ED90; u8 D_8018ED91; -s32 s8018ED94; +s32 sIntroModelTimer; Unk_D_800E70A0 D_800E70A0[] = { { 0x3d, 0x11, 0x00, 0x00 }, { 0x15, 0x3e, 0x00, 0x00 }, { 0x5c, 0x3e, 0x00, 0x00 }, @@ -343,7 +345,7 @@ s8 gCupSelectionByCourseId[] = { #include "assets/course_metadata/gCupSelectionByCourseId.inc.c" }; -char* D_800E7678[] = { +char* gCupText[] = { "none", "bronze", "silver", @@ -386,20 +388,20 @@ char* gDebugSoundModeNames[] = { char* gSoundModeNames[NUM_SOUND_MODES] = { "STEREO", "HEADPHONE", "", "MONO" }; -char* D_800E7720[] = { +char* gWinLoseText[] = { "WINNER!", "LOSER!", }; -char* D_800E7728[] = { +char* gBestTimeText[] = { "BEST RECORDS", "BEST LAP", }; // Might need a const? -char* D_800E7730 = "LAP TIME"; +char* gLapTimeText = "LAP TIME"; -char* D_800E7734[] = { +char* gPrefixTimeText[] = { "LAP 1", "LAP 2", "LAP 3", @@ -412,7 +414,7 @@ char* D_800E7744[] = { "1 s", "2 n", "3 r", "4 t", "5 t", " ", }; -char* gTextPauseButton[] = { +char* gMenuText[] = { "CONTINUE GAME", "RETRY", "COURSE CHANGE", "DRIVER CHANGE", "QUIT", "REPLAY", "SAVE GHOST", }; @@ -422,18 +424,18 @@ char* D_800E7778[] = { }; // This is plain data, it should not end up in rodata -char D_800E7780[] = "NOW-MEET THE COURSE GHOST!!!"; +char gTextMenuAnnounceGhost[] = "NOW-MEET THE COURSE GHOST!!!"; -char* D_800E77A0[] = { "CONNECT A CONTROLLER TO SOCKET 1,", "THEN POWER ON AGAIN" }; +char* gTextNoController[] = { "CONNECT A CONTROLLER TO SOCKET 1,", "THEN POWER ON AGAIN" }; -char* D_800E77A8[] = { +char* gTextBattleIntroduction[] = { "BATTLE GAME", "POP OPPOSING PLAYER'S BALLOONS", "WHEN ALL 3 ARE GONE,THEY ARE OUT!", }; // This is plain data, it should not end up in rodata -char D_800E77B4[] = "a BUTTON*SEE DATA B BUTTON*EXIT"; +char gTextMenuData[] = "a BUTTON*SEE DATA B BUTTON*EXIT"; // This is plain data, it should not end up in rodata char D_800E77D8[] = "distance"; @@ -442,7 +444,7 @@ char* sCourseLengths[] = { #include "assets/course_metadata/sCourseLengths.inc.c" }; -char* D_800E7834[] = { +char* gTextMenuOption[] = { "return to menu", "erase records for this course", "erase ghost from this course", @@ -453,8 +455,8 @@ char* D_800E7840[] = { "erase", }; -// Why oh why is this array flat? It should be D_800E7848[][3] -char* D_800E7848[] = { +// Why oh why is this array flat? It should be gEraseBestGhostText[][3] +char* gEraseBestGhostText[] = { "THE BEST RECORDS AND BEST", "LAP FOR THIS COURSE WILL BE", "ERASED. IS THIS OK?", "GHOST DATA FOR THIS", "COURSE WILL BE ERASED.", "IS THIS OK?", @@ -465,7 +467,7 @@ char* D_800E7860[] = { "GHOST DATA", }; -char* D_800E7868[] = { +char* gTextOptionMenu[] = { "RETURN TO GAME SELECT", "SOUND MODE", "COPY N64 CONTROLLER PAK", @@ -693,7 +695,7 @@ char* D_800E7A9C[] = { "WHAT A PITY!", }; -char* D_800E7AA4[] = { +char* gPlaceText[] = { "YOU PLACED", " st", " nd", " rd", " th", " th", " th", " th", " th", }; @@ -721,7 +723,7 @@ RGBA16 D_800E7AE8[] = { { 0xff, 0xff, 0xff, 0xff }, }; -MkTexture* D_800E7AF8[] = { +MenuTexture* D_800E7AF8[] = { D_02000000, D_02000028, D_02000050, D_02000078, D_020000A0, D_020000C8, D_020000F0, D_02000118, D_02000140, D_02000168, D_02000190, D_020001B8, D_020001E0, D_02000208, D_02000230, D_02000258, D_02000280, D_020002A8, D_020002D0, D_020002F8, D_02000320, D_02000348, D_02000370, D_02000398, D_020003C0, D_020003E8, D_02000410, @@ -739,7 +741,7 @@ MkTexture* D_800E7AF8[] = { D_020013B0, D_020013D8, D_02001400, D_02001428, D_02001450, D_02001478, D_020014A0, }; -MkTexture* D_800E7D0C[] = { +MenuTexture* D_800E7D0C[] = { D_020016BC, D_020016E4, D_0200170C, D_02001734, D_0200175C, D_02001784, D_020017AC, D_020017D4, D_020017FC, D_02001824, }; @@ -748,25 +750,59 @@ MkAnimation* D_800E7D34[] = { D_0200198C, D_0200199C, D_020019AC, D_020019BC, D_020019CC, D_020019DC, }; -MkTexture* D_800E7D4C[] = { - D_02004598, - D_020045C0, +MenuTexture* gMenuTexturesBackground[] = { + gMenuTextureBackgroundBlueSky, + gMenuTextureBackgroundSunset, }; -MkTexture* D_800E7D54[] = { +MenuTexture* D_800E7D54[] = { D_02001A8C, D_02001A64, D_02001AB4, D_02001A14, D_02001B04, D_020019EC, D_02001ADC, D_02001A3C, }; -MkTexture* D_800E7D74[] = { - D_02001B2C, D_02001B54, D_02001B7C, D_02001BA4, D_02001BCC, D_02001BF4, D_02001C1C, - D_02001C44, D_02001C6C, D_02001C94, D_02001CBC, D_02001CE4, D_02001D0C, D_02001D34, - D_02001D5C, D_02001D84, D_02001DAC, D_02001DD4, D_02001DFC, D_02001E24, -}; - -MkTexture* D_800E7DC4[] = { - D_02004EA8, D_02004ED0, D_02004EF8, D_02004F20, D_02004F48, D_02004F70, D_02004F98, - D_02004FC0, D_02004FE8, D_02005010, D_02005038, D_02005060, D_02005088, D_020050B0, - D_020050D8, D_02005100, D_02005128, D_02005150, D_02005178, D_020051A0, +MenuTexture* D_800E7D74[] = { + gMenuTexturePreviewMarioRaceway, + D_02001B54, + D_02001B7C, + D_02001BA4, + D_02001BCC, + D_02001BF4, + D_02001C1C, + D_02001C44, + D_02001C6C, + D_02001C94, + D_02001CBC, + D_02001CE4, + D_02001D0C, + D_02001D34, + D_02001D5C, + D_02001D84, + D_02001DAC, + D_02001DD4, + D_02001DFC, + D_02001E24, +}; + +MenuTexture* D_800E7DC4[] = { + gMenuTextureTitleMarioRaceway, + gMenuTextureTitleChocoMountain, + D_02004EF8, + D_02004F20, + D_02004F48, + D_02004F70, + D_02004F98, + D_02004FC0, + D_02004FE8, + D_02005010, + D_02005038, + D_02005060, + D_02005088, + D_020050B0, + D_020050D8, + D_02005100, + D_02005128, + D_02005150, + D_02005178, + D_020051A0, }; // Unused? @@ -786,7 +822,7 @@ MkAnimation* D_800E7E34[] = { D_02001F44, D_02001F54, D_02001F64, D_02001F74, D_02001F84, D_02001F94, }; -MkTexture* gGlyphTextureLUT[] = { +MenuTexture* gGlyphTextureLUT[] = { D_0200211C, D_02002144, D_0200216C, D_02002194, D_020021BC, D_020021E4, D_0200220C, D_02002234, D_0200225C, D_02002284, D_020022AC, D_020022D4, D_020022FC, D_02002324, D_0200234C, D_02002374, D_0200239C, D_020023C4, D_020023EC, D_02002414, D_0200243C, D_02002464, D_0200248C, D_020024B4, D_020024DC, D_02002504, D_0200252C, @@ -800,7 +836,7 @@ MkTexture* gGlyphTextureLUT[] = { D_020031AC, }; -MkTexture* D_800E7FF0[] = { +MenuTexture* D_800E7FF0[] = { D_02003274, D_02002C34, D_020031D4, D_0200329C, D_02002C5C, D_020031FC, D_020032C4, D_02002C84, D_02003224, D_020032EC, D_02002CAC, D_0200324C, D_02003314, D_02002CD4, D_02002CFC, D_02002D24, D_02002D4C, D_02002D74, D_0200333C, D_02002D9C, D_02003364, D_02002DC4, D_0200338C, D_02002DEC, D_02002E14, D_02002E3C, D_02002E64, @@ -808,77 +844,93 @@ MkTexture* D_800E7FF0[] = { D_0200347C, D_020034A4, D_020034CC, D_020034F4, D_0200351C, D_02003544, D_0200356C, D_02003BD4, }; -MkTexture* D_800E80A0[] = { +MenuTexture* D_800E80A0[] = { D_02003594, D_02003BFC, D_020035BC, D_02003C24, D_020035E4, D_02003C4C, D_0200360C, D_02003C74, D_02003634, D_02003C9C, D_0200365C, D_02003CC4, D_02003684, D_02003CEC, D_020036AC, D_02003D14, D_020036D4, D_02003D3C, D_020036FC, D_02003D64, D_02003724, D_02003D8C, D_02004034, D_0200374C, D_02003DB4, D_02003774, D_02003DDC, D_0200379C, D_02003E04, }; -MkTexture* D_800E8114[] = { +MenuTexture* D_800E8114[] = { D_020037C4, D_020037EC, D_02003814, D_0200383C, D_02003864, D_0200388C, D_02003E2C, D_02003EF4, D_020038B4, D_02003E54, D_02003F1C, D_020038DC, D_02003E7C, D_02003F44, D_02003904, D_02003EA4, D_02003F6C, D_0200392C, D_02003ECC, D_02003F94, D_02003954, D_0200397C, D_020039A4, D_020039CC, }; -MkTexture* D_800E8174[] = { +MenuTexture* D_800E8174[] = { D_020039F4, D_02003FBC, }; -MkTexture* D_800E817C[] = { +MenuTexture* D_800E817C[] = { D_02003A1C, D_02003FE4, D_02003A44, D_0200400C, D_02003A6C, D_02003A94, D_02003ABC, D_02003AE4, D_02003B0C, D_02003B34, D_02003B5C, D_02003B84, D_02003BAC, D_0200405C, D_02004084, D_020040AC, D_020040D4, D_020040FC, D_020043CC, D_02004444, D_0200437C, D_020043F4, D_02004124, D_0200414C, D_02004174, D_0200419C, }; -MkTexture* D_800E81E4[] = { +MenuTexture* D_800E81E4[] = { D_020041C4, D_020041EC, D_02004214, D_0200423C, D_02004264, D_0200428C, D_020042B4, D_020042DC, D_02004354, D_020043A4, D_0200441C, D_0200446C, D_02004494, D_020044BC, D_02004304, D_0200432C, D_020044E4, D_0200450C, }; -MkTexture* D_800E822C[] = { +MenuTexture* D_800E822C[] = { D_02004534, D_0200455C, }; -// In a perfect world this would be `MkTexture *D_800E8234[][2]` -MkTexture* D_800E8234[] = { - D_02004688, D_020047DC, D_020046D8, D_02004804, D_0200473C, D_0200482C, +// In a perfect world this would be `MenuTexture *D_800E8234[][2]` +MenuTexture* D_800E8234[] = { + gMenuTextureOnePlayerColone, D_020047DC, gMenuTextureTwoPlayerColone, D_02004804, + gMenuTextureThreePlayerColone, D_0200482C, gMenuTextureFourPlayerColone, D_02004854, }; -MkTexture* D_800E824C[] = { - D_0200478C, - D_02004854, +MenuTexture* D_800E8254[] = { + gMenuTextureGameSelect, + gMenuTextureOnePlayerColone, + gMenuTextureTwoPlayerColone, + gMenuTextureThreePlayerColone, + gMenuTextureFourPlayerColone, + D_0200487C, + D_020048A4, + D_020048CC, }; -MkTexture* D_800E8254[] = { - D_02004660, D_02004688, D_020046D8, D_0200473C, D_0200478C, D_0200487C, D_020048A4, D_020048CC, +MenuTexture* D_800E8274[] = { + gMenuTexture50cc, gMenuTexture100cc, gMenuTexture150cc, gMenuTextureExtra, + D_020049BC, gMenuTextureWithoutItem, D_020049E4, gMenuTextureData, }; -MkTexture* D_800E8274[] = { - D_020048F4, D_0200491C, D_02004944, D_0200496C, D_020049BC, D_02004994, D_020049E4, D_02004A34, +MenuTexture* D_800E8294[] = { + gMenuTexture50cc, gMenuTexture100cc, gMenuTexture150cc, gMenuTextureExtra, + D_020049BC, gMenuTextureWithoutItem, D_020049E4, gMenuTextureData, }; -MkTexture* D_800E8294[] = { - D_020048F4, D_0200491C, D_02004944, D_0200496C, D_020049BC, D_02004994, D_020049E4, D_02004A34, +MenuTexture* gMenuTexturesBorderPlayer[] = { + gMenuTextureBorderP1, + gMenuTextureBorderP2, + gMenuTextureBorderP3, + gMenuTextureBorderP4, }; -MkTexture* D_800E82B4[] = { - D_02004A5C, - D_02004A98, - D_02004AD4, - D_02004B10, +MenuTexture* gMenuTexturesTrackSelection[] = { + gMenuTextureMenuSelect, gMenuTextureMushroomCup, gMenuTextureFlowerCup, + gMenuTextureStarCup, gMenuTextureSpecialCup, gMenuTexturePreviewMarioRacewaySmall, + gMenuTextureTitleMushroomCup, gMenuTextureTitleFlowerCup, gMenuTextureTitleStarCup, + gMenuTextureTitleSpecialCup, gMenuTextureTitleBattleTrack, D_02004E80, }; -MkTexture* D_800E82C4[] = { - D_02004B9C, D_02004BC4, D_02004BEC, D_02004C14, D_02004C3C, D_02004C64, - D_02004C8C, D_02004CF0, D_02004D54, D_02004DB8, D_02004E1C, D_02004E80, -}; - -MkTexture* D_800E82F4[] = { - D_02004BC4, D_02004BEC, D_02004C14, D_02004C3C, D_02004C64, D_02004C8C, - D_02004CF0, D_02004D54, D_02004DB8, D_02004E1C, D_02004E80, +MenuTexture* D_800E82F4[] = { + gMenuTextureMushroomCup, + gMenuTextureFlowerCup, + gMenuTextureStarCup, + gMenuTextureSpecialCup, + gMenuTexturePreviewMarioRacewaySmall, + gMenuTextureTitleMushroomCup, + gMenuTextureTitleFlowerCup, + gMenuTextureTitleStarCup, + gMenuTextureTitleSpecialCup, + gMenuTextureTitleBattleTrack, + D_02004E80, }; MkAnimation* D_800E8320[] = { @@ -955,9 +1007,11 @@ Gfx* D_800E850C[] = { s8 D_800E852C = 1; -f32 D_800E8530 = 0.0f; +// Speed of the "motion" effect intro logo model +f32 sIntroModelMotionSpeed = 0.0f; -f32 D_800E8534 = 3.0f; +// Speed of the intro logo model +f32 sIntroModelSpeed = 3.0f; Unk_D_800E70A0 D_800E8538[] = { { 0x69, 0x9b, 0x00, 0x00 } }; @@ -1167,10 +1221,10 @@ void func_80091B78(void) { } gNextFreeMemoryAddress = gFreeMemoryResetAnchor; // Hypothetically, this should be a ptr... But only hypothetically. - D_8018D9B0 = get_next_available_memory_addr(0x000900B0); - D_8018D9B4 = (u8*) get_next_available_memory_addr(0x0000CE00); - D_8018D9B8 = (u8*) get_next_available_memory_addr(0x00012C00); - D_8018D9C0 = (struct_8018EE10_entry*) get_next_available_memory_addr(0x00001000); + gMenuTextureBuffer = get_next_available_memory_addr(0x000900B0); + gMenuCompressedBuffer = (u8*) get_next_available_memory_addr(0x0000CE00); + sTKMK00_LowResBuffer = (u8*) get_next_available_memory_addr(SCREEN_WIDTH * SCREEN_HEIGHT); + gSomeDLBuffer = (struct_8018EE10_entry*) get_next_available_memory_addr(0x00001000); func_800AF9B0(); unref_8018EE0C = 0; @@ -1187,7 +1241,7 @@ void func_80091B78(void) { D_800DC5EC->screenWidth = SCREEN_WIDTH; D_800DC5EC->screenHeight = SCREEN_HEIGHT; gFadeModeSelection = FADE_MODE_MAIN; - func_80094C60(); + load_menus(); for (i = 0; i < 4; i++) { func_800C97C4((u8) i); @@ -1265,10 +1319,10 @@ void func_80091FA4(void) { s32 i; //! @todo These sizes need to be sizeof() for shiftability if possible - D_8018D9B4 = (u8*) get_next_available_memory_addr(0x00002800); - D_8018D9B0 = (u16*) get_next_available_memory_addr(0x000124F8); - D_8018D9B8 = (u8*) get_next_available_memory_addr(0x00001000); - D_8018D9BC = get_next_available_memory_addr(4); + gMenuCompressedBuffer = (u8*) get_next_available_memory_addr(0x00002800); + gMenuTextureBuffer = (u16*) get_next_available_memory_addr(0x000124F8); + sTKMK00_LowResBuffer = (u8*) get_next_available_memory_addr(0x00001000); + sGPPointsCopy = get_next_available_memory_addr(4); for (i = 0; i < 5; i++) { D_8018E7AC[i] = 0; @@ -1282,19 +1336,19 @@ void func_80091FA4(void) { func_8009A344(); func_8009E620(); func_80092258(); - add_8018D9E0_entry(0x00000096, 0x00000064, 0x00000024, 1); - add_8018D9E0_entry(0x00000097, 0x00000064, 0x000000DD, 1); - add_8018D9E0_entry(0x00000098, 0, 0, 0); - add_8018D9E0_entry(0x000000C7, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_096, 0x00000064, 0x00000024, MENU_ITEM_UI_PRIO_1); + load_menu_item_ui(MENU_ITEM_TYPE_097, 0x00000064, 0x000000DD, MENU_ITEM_UI_PRIO_1); + load_menu_item_ui(MENU_ITEM_TYPE_098, 0, 0, MENU_ITEM_UI_PRIO_0); + load_menu_item_ui(MENU_ITEM_TYPE_0C7, 0, 0, MENU_ITEM_UI_PRIO_0); if (gModeSelection == TIME_TRIALS) { - add_8018D9E0_entry(0x000000BE, 0, 0, 0); - add_8018D9E0_entry(0x0000010E, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0BE, 0, 0, MENU_ITEM_UI_PRIO_0); + load_menu_item_ui(MENU_ITEM_TYPE_10E, 0, 0, MENU_ITEM_UI_PRIO_0); } if ((D_8015F890 != 0) && (gModeSelection == TIME_TRIALS)) { - add_8018D9E0_entry(0x000000BD, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0BD, 0, 0, MENU_ITEM_UI_PRIO_0); } if (!(gControllerBits & 1) && (gDemoUseController != 0)) { - add_8018D9E0_entry(4, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_UI_NO_CONTROLLER, 0, 0, MENU_ITEM_UI_PRIO_2); } func_800B5F30(); } @@ -1357,7 +1411,7 @@ void func_80092290(s32 arg0, s32* arg1, s32* arg2) { s32 temp_t7; s32 temp_t8_2; s32 temp_t9; - s32 temp_t0; + UNUSED s32 temp_t0; s32 a, b, c, d; Vtx* vtx; @@ -1405,148 +1459,148 @@ void func_80092500(void) { switch (gModeSelection) { case GRAND_PRIX: - add_8018D9E0_entry(0xAA, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0AA, 0, 0, MENU_ITEM_UI_PRIO_0); break; case TIME_TRIALS: - add_8018D9E0_entry(0xB9, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0B9, 0, 0, MENU_ITEM_UI_PRIO_0); break; } } void func_80092564(void) { - add_8018D9E0_entry(0xAC, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0AC, 0, 0, MENU_ITEM_UI_PRIO_0); func_8005D18C(); func_8001968C(); } void func_800925A0(void) { - add_8018D9E0_entry(0xAF, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0AF, 0, 0, MENU_ITEM_UI_PRIO_0); } void func_800925CC(void) { - struct_8018D9E0_entry* temp = find_8018D9E0_entry_dupe(0xAF); - if (temp->cursor == 2) { - temp->cursor = 3; + MenuItem* temp = find_menu_items_type_dupe(MENU_ITEM_TYPE_0AF); + if (temp->state == 2) { + temp->state = 3; } } void func_80092604(void) { - add_8018D9E0_entry(0xB0, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0B0, 0, 0, MENU_ITEM_UI_PRIO_0); } void func_80092630(void) { - add_8018D9E0_entry(0xBC, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0BC, 0, 0, MENU_ITEM_UI_PRIO_0); } void func_8009265C(void) { - add_8018D9E0_entry(0x12B, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_12B, 0, 0, MENU_ITEM_UI_PRIO_2); } void func_80092688(void) { switch (D_800DC5E4) { case 0: - add_8018D9E0_entry(0x1CE, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1CE, 0, 0, MENU_ITEM_UI_PRIO_2); return; default: - add_8018D9E0_entry(0x190, 0, 0, 2); - add_8018D9E0_entry(0x191, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_190, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_191, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 2: - add_8018D9E0_entry(0x192, 0, 0, 2); - add_8018D9E0_entry(0x193, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_192, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_193, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 3: - add_8018D9E0_entry(0x194, 0, 0, 2); - add_8018D9E0_entry(0x195, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_194, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_195, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 4: - add_8018D9E0_entry(0x196, 0, 0, 2); - add_8018D9E0_entry(0x197, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_196, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_197, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 5: - add_8018D9E0_entry(0x198, 0, 0, 2); - add_8018D9E0_entry(0x199, 0, 0, 2); - add_8018D9E0_entry(0x19A, 0, 0, 2); - add_8018D9E0_entry(0x19B, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_198, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_199, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_19A, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_19B, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 6: - add_8018D9E0_entry(0x198, 0, 0, 2); - add_8018D9E0_entry(0x19C, 0, 0, 2); - add_8018D9E0_entry(0x19D, 0, 0, 2); - add_8018D9E0_entry(0x19E, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_198, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_19C, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_19D, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_19E, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 7: - add_8018D9E0_entry(0x19F, 0, 0, 2); - add_8018D9E0_entry(0x1A0, 0, 0, 2); - add_8018D9E0_entry(0x1A1, 0, 0, 2); - add_8018D9E0_entry(0x1A2, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_19F, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A0, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A1, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A2, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 8: - add_8018D9E0_entry(0x1A3, 0, 0, 2); - add_8018D9E0_entry(0x1A4, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1A3, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A4, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 9: - add_8018D9E0_entry(0x1A5, 0, 0, 2); - add_8018D9E0_entry(0x1A6, 0, 0, 2); - add_8018D9E0_entry(0x1A7, 0, 0, 2); - add_8018D9E0_entry(0x1A8, 0, 0, 2); - add_8018D9E0_entry(0x1A9, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1A5, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A6, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A7, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A8, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A9, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 10: - add_8018D9E0_entry(0x1A5, 0, 0, 2); - add_8018D9E0_entry(0x1A6, 0, 0, 2); - add_8018D9E0_entry(0x1AA, 0, 0, 2); - add_8018D9E0_entry(0x1AB, 0, 0, 2); - add_8018D9E0_entry(0x1AC, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1A5, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1A6, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1AA, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1AB, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1AC, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 11: - add_8018D9E0_entry(0x1AD, 0, 0, 2); - add_8018D9E0_entry(0x1AE, 0, 0, 2); - add_8018D9E0_entry(0x1AF, 0, 0, 2); - add_8018D9E0_entry(0x1B0, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1AD, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1AE, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1AF, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B0, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 12: - add_8018D9E0_entry(0x1B1, 0, 0, 2); - add_8018D9E0_entry(0x1B2, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1B1, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B2, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 13: - add_8018D9E0_entry(0x1B3, 0, 0, 2); - add_8018D9E0_entry(0x1B4, 0, 0, 2); - add_8018D9E0_entry(0x1B5, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1B3, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B4, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B5, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 14: - add_8018D9E0_entry(0x1B6, 0, 0, 2); - add_8018D9E0_entry(0x1B7, 0, 0, 2); - add_8018D9E0_entry(0x1B8, 0, 0, 2); - add_8018D9E0_entry(0x1B9, 0, 0, 2); - add_8018D9E0_entry(0x1BA, 0, 0, 2); - add_8018D9E0_entry(0x1BB, 0, 0, 2); - add_8018D9E0_entry(0x1BC, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1B6, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B7, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B8, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1B9, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1BA, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1BB, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1BC, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 15: - add_8018D9E0_entry(0x1BD, 0, 0, 2); - add_8018D9E0_entry(0x1BE, 0, 0, 2); - add_8018D9E0_entry(0x1BF, 0, 0, 2); - add_8018D9E0_entry(0x1C0, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1BD, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1BE, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1BF, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C0, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 16: - add_8018D9E0_entry(0x1C1, 0, 0, 2); - add_8018D9E0_entry(0x1C2, 0, 0, 2); - add_8018D9E0_entry(0x1C3, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1C1, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C2, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C3, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 17: - add_8018D9E0_entry(0x1C4, 0, 0, 2); - add_8018D9E0_entry(0x1C5, 0, 0, 2); - add_8018D9E0_entry(0x1C6, 0, 0, 2); - add_8018D9E0_entry(0x1C7, 0, 0, 2); - add_8018D9E0_entry(0x1C8, 0, 0, 2); - add_8018D9E0_entry(0x1C9, 0, 0, 2); - add_8018D9E0_entry(0x1CA, 0, 0, 2); - add_8018D9E0_entry(0x1CB, 0, 0, 2); - add_8018D9E0_entry(0x1CC, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1C4, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C5, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C6, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C7, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C8, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1C9, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1CA, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1CB, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_1CC, 0, 0, MENU_ITEM_UI_PRIO_2); return; case 18: - add_8018D9E0_entry(0x1CD, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_TYPE_1CD, 0, 0, MENU_ITEM_UI_PRIO_2); return; } } @@ -1559,76 +1613,76 @@ void func_80092C80(void) { // Some kind of lookup function, seems to return an index to be used // to get a character's width in pixels s32 char_to_glyph_index(char* character) { - s32 var_v1; + s32 index; s8 temp_v0; temp_v0 = *character; - var_v1 = 1; + index = 1; if ((temp_v0 >= 'a') && (temp_v0 <= 'z')) { - var_v1 = temp_v0 - 0x61; + index = temp_v0 - 0x61; } else if ((temp_v0 >= 'A') && (temp_v0 <= 'Z')) { - var_v1 = temp_v0 - 0x41; + index = temp_v0 - 0x41; } else if ((temp_v0 >= '0') && (temp_v0 <= '9')) { - var_v1 = temp_v0 - 0x10; + index = temp_v0 - 0x10; } else if (temp_v0 == ' ') { - var_v1 = -1; + index = -1; } else if (temp_v0 < 0) { // Handling EUC-JUP characters switch (temp_v0) { /* irregular */ case -92: // 0xA4 - var_v1 = func_80092E1C(character + 1); + index = func_80092E1C(character + 1); break; case -91: // 0xA5 - var_v1 = func_80092DF8(character + 1); + index = func_80092DF8(character + 1); break; case -95: // 0xA1 case -93: // 0xA3 case -85: // 0xAB - var_v1 = func_80092EE4(character); + index = func_80092EE4(character); break; } } else { switch (temp_v0) { case '!': - var_v1 = 0x0000001A; + index = 0x0000001A; break; case '-': - var_v1 = 0x0000001B; + index = 0x0000001B; break; case '?': - var_v1 = 0x0000001C; + index = 0x0000001C; break; case '\'': - var_v1 = 0x0000001D; + index = 0x0000001D; break; case '$': - var_v1 = 0x0000001E; + index = 0x0000001E; break; case '.': - var_v1 = 0x0000001F; + index = 0x0000001F; break; case '\"': - var_v1 = 0x0000002A; + index = 0x0000002A; break; case '*': - var_v1 = 0x0000002B; + index = 0x0000002B; break; case '+': - var_v1 = 0x0000002C; + index = 0x0000002C; break; // Displayed as "cc" case '(': - var_v1 = 0x0000002D; + index = 0x0000002D; break; case ',': - var_v1 = 0x0000002E; + index = 0x0000002E; break; default: - var_v1 = -2; + index = -2; break; } } - return var_v1; + return index; } s32 func_80092DF8(char* arg) { @@ -1796,7 +1850,7 @@ void set_text_color(s32 arg0) { UNUSED void func_800930E4(s32 arg0, s32 arg1, char* arg2) { set_text_color(TEXT_BLUE); - func_80093324(arg0, arg1, arg2, 0, 1.0, 1.0); + print_text_mode_1(arg0, arg1, arg2, 0, 1.0, 1.0); } // "tracking" is a uniform spacing between all characters in a given word @@ -1809,10 +1863,10 @@ void print_text0(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 do { glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { - func_80099184((MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex])); + load_menu_img((MenuTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex])); gDisplayListHead = print_letter(gDisplayListHead, - (MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]), + (MenuTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]), column + (stringWidth * scaleX), row, mode, scaleX, scaleY); stringWidth += gGlyphDisplayWidth[glyphIndex] + tracking; } else if ((glyphIndex != -2) && (glyphIndex == -1)) { @@ -1831,11 +1885,11 @@ void print_text0(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 gSPDisplayList(gDisplayListHead++, D_020077D8); } -void func_80093324(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { +void print_text_mode_1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { print_text0(column, row, text, tracking, scaleX, scaleY, 1); } -void func_80093358(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { +void print_text_mode_2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { print_text0(column, row, text, tracking, scaleX, scaleY, 2); } @@ -1863,15 +1917,15 @@ void print_text1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 } switch (arg6) { - case 1: + case LEFT_TEXT: // ??? do { } while (0); - case 3: + case RIGHT_TEXT: column -= stringWidth; break; - case 2: - case 4: + case CENTER_TEXT_MODE_1: + case CENTER_TEXT_MODE_2: column -= stringWidth / 2; break; default: @@ -1888,7 +1942,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); @@ -1907,24 +1961,24 @@ void print_text1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 gSPDisplayList(gDisplayListHead++, D_020077D8); } -void func_800936B8(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { - print_text1(column, row, text, tracking, scaleX, scaleY, 1); +void print_text1_left(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, LEFT_TEXT); } -void draw_text(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { - print_text1(column, row, text, tracking, scaleX, scaleY, 2); +void print_text1_center_mode_1(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, CENTER_TEXT_MODE_1); } -void func_80093720(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { - print_text1(column, row, text, tracking, scaleX, scaleY, 3); +void print_text1_right(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, RIGHT_TEXT); } -void func_80093754(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { - print_text1(column, row, text, tracking, scaleX, scaleY, 4); +void print_text1_center_mode_2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY) { + print_text1(column, row, text, tracking, scaleX, scaleY, CENTER_TEXT_MODE_2); } void print_text2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 scaleY, s32 arg6) { - MkTexture* glyphTexture; + MenuTexture* glyphTexture; s32 characterWidth; s32 glyphIndex; @@ -1933,8 +1987,8 @@ void print_text2(s32 column, s32 row, char* text, s32 tracking, f32 scaleX, f32 do { glyphIndex = char_to_glyph_index(text); if (glyphIndex >= 0) { - glyphTexture = (MkTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]); - func_80099184(glyphTexture); + glyphTexture = (MenuTexture*) segmented_to_virtual_dupe((const void*) gGlyphTextureLUT[glyphIndex]); + load_menu_img(glyphTexture); gDisplayListHead = print_letter(gDisplayListHead, glyphTexture, column - (gGlyphDisplayWidth[glyphIndex] / 2), row, arg6, scaleX, scaleY); @@ -2055,7 +2109,7 @@ void func_80093C98(s32 arg0) { G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); gSPDisplayList(gDisplayListHead++, D_02007F18); gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); - func_800A8250(); + handle_menus_special(); if (arg0 == 0) { func_800A54EC(); func_8009CA6C(4); @@ -2075,10 +2129,10 @@ void func_80093E40(void) { void func_80093E60(void) { s32 i; - D_8018D9B4 = get_next_available_memory_addr(0x00002800); - D_8018D9B0 = (u16*) get_next_available_memory_addr(0x000124F8); - D_8018D9B8 = get_next_available_memory_addr(0x00001000); - D_8018D9BC = get_next_available_memory_addr(4U); + gMenuCompressedBuffer = get_next_available_memory_addr(0x00002800); + gMenuTextureBuffer = (u16*) get_next_available_memory_addr(0x000124F8); + sTKMK00_LowResBuffer = get_next_available_memory_addr(0x00001000); + sGPPointsCopy = get_next_available_memory_addr(4U); for (i = 0; i < 5; i++) { D_8018E7AC[i] = 0; @@ -2107,7 +2161,7 @@ void func_80093F10(void) { func_8009C918(); func_80099A70(); func_80099E54(); - func_800A8230(); + handle_menus_default(); func_80099AEC(); func_80099EC4(); func_8009CA2C(); @@ -2127,7 +2181,7 @@ void func_800940EC(s32 arg0) { func_80092148(); func_80099A70(); func_80099E54(); - func_800A8230(); + handle_menus_default(); func_80099AEC(); func_80099EC4(); func_8009CA6C(arg0); @@ -2153,14 +2207,14 @@ void func_800942D0(void) { gDPSetEnvColor(gDisplayListHead++, 0x00, 0x00, 0x00, 0x00); gSPDisplayList(gDisplayListHead++, D_02007F60); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - if (D_800E8530 > 0) { - var_f26 = D_800E8534; + if (sIntroModelMotionSpeed > 0) { + var_f26 = sIntroModelSpeed; if (var_f26 > 10.0f) { var_f26 = 10.0f; } for (var_s2 = 0, thing = 0xC0; var_s2 < 0xC; var_s2++, thing -= 0x10) { guRotate(test, 0.0f, 1.0f, 0.0f, 0.0f); - guRotate(test + 1, (var_s2 + 1) * D_800E8530 * var_f26, 0.0f, 1.0f, 0.0f); + guRotate(test + 1, (var_s2 + 1) * sIntroModelMotionSpeed * var_f26, 0.0f, 1.0f, 0.0f); guScale(test + 2, 1.0f, 1.0f, 2.0f); gSPMatrix(gDisplayListHead++, test++, G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); gSPMatrix(gDisplayListHead++, test++, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); @@ -2186,7 +2240,7 @@ void func_80094660(struct GfxPool* arg0, UNUSED s32 arg1) { gDPSetTextureFilter(gDisplayListHead++, G_TF_BILERP); } -void func_800947B4(struct GfxPool* arg0, UNUSED s32 arg1) { +void render_checkered_flag(struct GfxPool* arg0, UNUSED s32 arg1) { u16 perspNorm; move_segment_table_to_dmem(); guPerspective(&arg0->mtxPersp[0], &perspNorm, 45.0f, 1.3333334f, 100.0f, 12800.0f, 1.0f); @@ -2217,7 +2271,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(); + load_menus(); func_80092290(4, D_8018E850, D_8018E858); func_80092290(5, &D_8018E850[1], &D_8018E858[1]); func_80099A70(); @@ -2233,9 +2287,9 @@ 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(); + handle_menus_default(); func_80099AEC(); break; } @@ -2245,7 +2299,7 @@ void func_80094A64(struct GfxPool* pool) { gSPDisplayList(gDisplayListHead++, D_020076B0); } -void func_80094C60(void) { +void load_menus(void) { if (gFadeModeSelection != FADE_MODE_NONE) { func_80099110(); func_8009A344(); @@ -2257,133 +2311,133 @@ void func_80094C60(void) { load_menu_states(gMenuSelection); switch (gMenuSelection) { case OPTIONS_MENU: - add_8018D9E0_entry(0x00000023, 0, 0, 2); - add_8018D9E0_entry(0x000000F1, 0, 0, 4); - add_8018D9E0_entry(0x000000F0, 0, 0, 2); + load_menu_item_ui(MAIN_MENU_BACKGROUND, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_0F1, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(MENU_ITEM_TYPE_0F0, 0, 0, MENU_ITEM_UI_PRIO_2); break; case DATA_MENU: - add_8018D9E0_entry(0x00000023, 0, 0, 2); - add_8018D9E0_entry(0x0000008C, 0, 0, 6); - add_8018D9E0_entry(0x0000007C, 0, 0, 6); - add_8018D9E0_entry(0x0000007D, 0, 0, 6); - add_8018D9E0_entry(0x0000007E, 0, 0, 6); - add_8018D9E0_entry(0x0000007F, 0, 0, 6); - add_8018D9E0_entry(0x00000080, 0, 0, 6); - add_8018D9E0_entry(0x00000081, 0, 0, 6); - add_8018D9E0_entry(0x00000082, 0, 0, 6); - add_8018D9E0_entry(0x00000083, 0, 0, 6); - add_8018D9E0_entry(0x00000084, 0, 0, 6); - add_8018D9E0_entry(0x00000085, 0, 0, 6); - add_8018D9E0_entry(0x00000086, 0, 0, 6); - add_8018D9E0_entry(0x00000087, 0, 0, 6); - add_8018D9E0_entry(0x00000088, 0, 0, 6); - add_8018D9E0_entry(0x00000089, 0, 0, 6); - add_8018D9E0_entry(0x0000008A, 0, 0, 6); - add_8018D9E0_entry(0x0000008B, 0, 0, 6); - add_8018D9E0_entry(0x0000008D, 0, 0, 8); + load_menu_item_ui(MAIN_MENU_BACKGROUND, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_TYPE_08C, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_07C, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_07D, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_07E, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_07F, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_080, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_081, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_082, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_083, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_084, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_085, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_086, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_087, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_088, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_089, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_08A, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_08B, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_08D, 0, 0, MENU_ITEM_UI_PRIO_8); break; case COURSE_DATA_MENU: - add_8018D9E0_entry(0x000000E6, 0, 0, 8); - add_8018D9E0_entry(0x000000E7, 0, 0, 8); - add_8018D9E0_entry(0x000000E8, 0, 0, 8); - add_8018D9E0_entry(0x000000E9, 0, 0, 8); - add_8018D9E0_entry(0x000000EA, 0, 0, 8); + load_menu_item_ui(MENU_ITEM_TYPE_0E6, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_0E7, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_0E8, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_0E9, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_0EA, 0, 0, MENU_ITEM_UI_PRIO_8); break; case LOGO_INTRO_MENU: - add_8018D9E0_entry(0x000000FA, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_UI_LOGO_INTRO, 0, 0, MENU_ITEM_UI_PRIO_0); break; case CONTROLLER_PAK_MENU: - add_8018D9E0_entry(0x000000DA, 0, 0, 0); - add_8018D9E0_entry(0x000000D2, 0, 0, 4); - add_8018D9E0_entry(0x000000D4, 0, 0, 6); - add_8018D9E0_entry(0x000000D3, 0, 0, 8); - add_8018D9E0_entry(0x000000D5, 0, 0, 0x0A); - add_8018D9E0_entry(0x000000D6, 0, 0, 0x0A); - add_8018D9E0_entry(0x000000D7, 0, 0, 0x0A); - add_8018D9E0_entry(0x000000D8, 0, 0, 0x0A); - add_8018D9E0_entry(0x000000D9, 0, 0, 0x0A); + load_menu_item_ui(MENU_ITEM_TYPE_0DA, 0, 0, MENU_ITEM_UI_PRIO_0); + load_menu_item_ui(MENU_ITEM_TYPE_0D2, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(MENU_ITEM_TYPE_0D4, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_0D3, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_0D5, 0, 0, MENU_ITEM_UI_PRIO_A); + load_menu_item_ui(MENU_ITEM_TYPE_0D6, 0, 0, MENU_ITEM_UI_PRIO_A); + load_menu_item_ui(MENU_ITEM_TYPE_0D7, 0, 0, MENU_ITEM_UI_PRIO_A); + load_menu_item_ui(MENU_ITEM_TYPE_0D8, 0, 0, MENU_ITEM_UI_PRIO_A); + load_menu_item_ui(MENU_ITEM_TYPE_0D9, 0, 0, MENU_ITEM_UI_PRIO_A); break; case START_MENU: - add_8018D9E0_entry(2, 0, 0, 4); - add_8018D9E0_entry(1, 0, 0, 0); - add_8018D9E0_entry(0x000000FB, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_UI_LOGO_AND_COPYRIGHT, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(MENU_ITEM_UI_START_BACKGROUND, 0, 0, MENU_ITEM_UI_PRIO_0); + load_menu_item_ui(START_MENU_FLAG, 0, 0, MENU_ITEM_UI_PRIO_0); if (gControllerBits & 1) { - add_8018D9E0_entry(3, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_UI_PUSH_START_BUTTON, 0, 0, MENU_ITEM_UI_PRIO_2); } else { - add_8018D9E0_entry(4, 0, 0, 2); + load_menu_item_ui(MENU_ITEM_UI_NO_CONTROLLER, 0, 0, MENU_ITEM_UI_PRIO_2); } - add_8018D9E0_entry(5, 0, 0, 6); + load_menu_item_ui(MENU_ITEM_UI_START_RECORD_TIME, 0, 0, MENU_ITEM_UI_PRIO_6); gDemoMode = 0; gDemoUseController = 0; break; case MAIN_MENU: - add_8018D9E0_entry(0x00000023, 0, 0, 2); - add_8018D9E0_entry(0x0000000A, 0x0000015E, 0x00000011, 6); - add_8018D9E0_entry(0x0000000E, 0x0000015E, 0x0000003E, 6); - add_8018D9E0_entry(0x0000000D, 0x0000015E, 0x0000003E, 6); - add_8018D9E0_entry(0x0000000C, 0x0000015E, 0x0000003E, 6); - add_8018D9E0_entry(0x0000000B, 0x0000015E, 0x0000003E, 6); - add_8018D9E0_entry(0x0000000F, 0x0000015E, 0x000000C8, 6); - add_8018D9E0_entry(0x00000011, 0x0000015E, 0x000000C8, 6); - add_8018D9E0_entry(0x00000010, 0x0000015E, 0x000000C8, 6); - if (func_800B555C() != 0) { - add_8018D9E0_entry(0x00000015, 0, 0, 6); - } - add_8018D9E0_entry(0x00000014, 0, 0, 6); - add_8018D9E0_entry(0x00000013, 0, 0, 6); - add_8018D9E0_entry(0x00000012, 0, 0, 6); - add_8018D9E0_entry(0x00000019, 0, 0, 6); - add_8018D9E0_entry(0x00000018, 0, 0, 6); - add_8018D9E0_entry(0x0000001B, 0, 0, 0x0C); - break; - case PLAYER_SELECT_MENU: - add_8018D9E0_entry(0x00000024, 0, 0, 2); - add_8018D9E0_entry(0x0000002A, 0, 0, 6); - add_8018D9E0_entry(0x00000033, 0, 0, 6); - add_8018D9E0_entry(0x0000002B, 0, 0, 8); - add_8018D9E0_entry(0x0000002C, 0, 0, 8); - add_8018D9E0_entry(0x0000002D, 0, 0, 6); - add_8018D9E0_entry(0x0000002E, 0, 0, 6); - add_8018D9E0_entry(0x0000002F, 0, 0, 6); - add_8018D9E0_entry(0x00000030, 0, 0, 6); - add_8018D9E0_entry(0x00000031, 0, 0, 6); - add_8018D9E0_entry(0x00000032, 0, 0, 8); - add_8018D9E0_entry(0x00000034, 0, 0, 0x0C); - add_8018D9E0_entry(0x00000035, 0, 0, 0x0C); - add_8018D9E0_entry(0x00000036, 0, 0, 0x0C); - add_8018D9E0_entry(0x00000037, 0, 0, 0x0C); + load_menu_item_ui(MAIN_MENU_BACKGROUND, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(MENU_ITEM_UI_GAME_SELECT, 0x0000015E, 0x00000011, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_UI_4P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_UI_3P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_UI_2P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_UI_1P_GAME, 0x0000015E, 0x0000003E, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_UI_OK, 0x0000015E, 0x000000C8, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MAIN_MENU_DATA_GFX, 0x0000015E, 0x000000C8, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MAIN_MENU_OPTION_GFX, 0x0000015E, 0x000000C8, MENU_ITEM_UI_PRIO_6); + if (has_terminate_150cc() != 0) { + load_menu_item_ui(MENU_ITEM_TYPE_015, 0, 0, MENU_ITEM_UI_PRIO_6); + } + load_menu_item_ui(MAIN_MENU_150CC, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MAIN_MENU_100CC, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MAIN_MENU_50CC, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MAIN_MENU_TIME_TRIALS_DATA, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MAIN_MENU_TIME_TRIALS_BEGIN, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_01B, 0, 0, MENU_ITEM_UI_PRIO_C); + break; + case CHARACTER_SELECT_MENU: + load_menu_item_ui(CHARACTER_SELECT_BACKGROUND, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_OK, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_MARIO, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(CHARACTER_SELECT_MENU_LUIGI, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(CHARACTER_SELECT_MENU_TOAD, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_PEACH, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_YOSHI, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_DK, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_WARIO, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(CHARACTER_SELECT_MENU_BOWSER, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(CHARACTER_SELECT_MENU_1P_CURSOR, 0, 0, MENU_ITEM_UI_PRIO_C); + load_menu_item_ui(CHARACTER_SELECT_MENU_2P_CURSOR, 0, 0, MENU_ITEM_UI_PRIO_C); + load_menu_item_ui(CHARACTER_SELECT_MENU_3P_CURSOR, 0, 0, MENU_ITEM_UI_PRIO_C); + load_menu_item_ui(CHARACTER_SELECT_MENU_4P_CURSOR, 0, 0, MENU_ITEM_UI_PRIO_C); break; case COURSE_SELECT_MENU: - add_8018D9E0_entry(0x00000025, 0, 0, 2); - add_8018D9E0_entry(0x00000052, 0, 0, 6); + load_menu_item_ui(COURSE_SELECT_BACKGROUND, 0, 0, MENU_ITEM_UI_PRIO_2); + load_menu_item_ui(COURSE_SELECT_MAP_SELECT, 0, 0, MENU_ITEM_UI_PRIO_6); if (gModeSelection != BATTLE) { - add_8018D9E0_entry(0x00000053, 0, 0, 4); - add_8018D9E0_entry(0x00000054, 0, 0, 4); - add_8018D9E0_entry(0x00000055, 0, 0, 4); - add_8018D9E0_entry(0x00000056, 0, 0, 4); - add_8018D9E0_entry(0x00000058, 0, 0, 6); - add_8018D9E0_entry(0x00000059, 0, 0, 6); - add_8018D9E0_entry(0x0000005A, 0, 0, 6); - add_8018D9E0_entry(0x0000005B, 0, 0, 6); + load_menu_item_ui(COURSE_SELECT_MUSHROOM_CUP, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(COURSE_SELECT_FLOWER_CUP, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(COURSE_SELECT_STAR_CUP, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(COURSE_SELECT_SPECIAL_CUP, 0, 0, MENU_ITEM_UI_PRIO_4); + load_menu_item_ui(MENU_ITEM_TYPE_058, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(COURSE_SELECT_COURSE_NAMES, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_05A, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_05B, 0, 0, MENU_ITEM_UI_PRIO_6); } else { - add_8018D9E0_entry(0x0000005C, 0, 0, 6); - add_8018D9E0_entry(0x0000006E, 0, 0, 6); - } - add_8018D9E0_entry(0x00000064, 0, 0, 6); - add_8018D9E0_entry(0x0000005F, 0, 0, 6); - add_8018D9E0_entry(0x00000060, 0, 0, 6); - add_8018D9E0_entry(0x00000061, 0, 0, 6); - add_8018D9E0_entry(0x00000062, 0, 0, 6); - add_8018D9E0_entry(0x0000005D, 0, 0, 6); - add_8018D9E0_entry(0x0000005E, 0, 0, 8); + load_menu_item_ui(COURSE_SELECT_BATTLE_NAMES, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_06E, 0, 0, MENU_ITEM_UI_PRIO_6); + } + load_menu_item_ui(MENU_ITEM_TYPE_064, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_05F, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_060, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_061, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_062, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(COURSE_SELECT_OK, 0, 0, MENU_ITEM_UI_PRIO_6); + load_menu_item_ui(MENU_ITEM_TYPE_05E, 0, 0, MENU_ITEM_UI_PRIO_8); if (gModeSelection == TIME_TRIALS) { - add_8018D9E0_entry(0x00000065, 0, 0, 8); - add_8018D9E0_entry(0x00000066, 0, 0, 8); - add_8018D9E0_entry(0x00000069, 0, 0, 8); + load_menu_item_ui(MENU_ITEM_TYPE_065, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_066, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_069, 0, 0, MENU_ITEM_UI_PRIO_8); } if (gModeSelection == GRAND_PRIX) { - add_8018D9E0_entry(0x00000068, 0, 0, 8); - add_8018D9E0_entry(0x00000067, 0, 0, 5); + load_menu_item_ui(MENU_ITEM_TYPE_068, 0, 0, MENU_ITEM_UI_PRIO_8); + load_menu_item_ui(MENU_ITEM_TYPE_067, 0, 0, MENU_ITEM_UI_PRIO_5); } break; case 0: @@ -2407,7 +2461,7 @@ void func_80095574(void) { s32 var_v0; if ((unref_8018EE0C < 3) || (D_8018E7AC[4] != 0)) { - func_800A8230(); + handle_menus_default(); } if (gDebugMenuSelection > DEBUG_MENU_DISABLED) { // If not disabled load_debug_font(); @@ -2623,7 +2677,7 @@ Gfx* func_80095BD0(Gfx* displayListHead, u8* arg1, f32 arg2, f32 arg3, u32 arg4, rmonPrintf("MAX effectcount(760) over!!!!(kawano)\n"); return displayListHead; func_80095BD0_label2: - func_80095AE0(sp28, arg2, arg3, arg6, arg7); + func_80095AE0((void*) sp28, arg2, arg3, arg6, arg7); gSPMatrix(displayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gMatrixEffectCount += 1; @@ -2660,13 +2714,13 @@ Gfx* func_80095E10(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 sp64 = 0; s32 var_v0_2; - while (var_t0 < argB) { + while ((u32) var_t0 < argB) { var_t0 *= 2; } temp_lo = 0x400 / var_t0; - while ((temp_lo / 2) > argC) { + while ((u32) (temp_lo / 2) > argC) { temp_lo /= 2; } @@ -2703,9 +2757,9 @@ Gfx* func_80095E10(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, return displayListHead; } sp7C = arg8; - for (var_s3 = arg5; var_s3 < arg7; var_s3 += temp_lo) { + for (var_s3 = arg5; var_s3 < (u32) arg7; var_s3 += temp_lo) { - if (arg7 < temp_lo + var_s3) { + if ((u32) arg7 < temp_lo + var_s3) { var_s4 = arg7 - var_s3; if (!var_s4) { break; @@ -2714,9 +2768,9 @@ Gfx* func_80095E10(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, var_s4 = temp_lo; } - for (var_a1_2 = arg4; var_a1_2 < arg6; var_a1_2 += var_t0) { + for (var_a1_2 = arg4; var_a1_2 < (u32) arg6; var_a1_2 += var_t0) { - if (arg6 < var_t0 + var_a1_2) { + if ((u32) arg6 < var_t0 + var_a1_2) { var_s2 = arg6 - var_a1_2; if (!var_s2) { break; @@ -2754,13 +2808,13 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4, s32 sp64 = 0; s32 var_v0_2; - while (var_t0 < argD) { + while ((u32) var_t0 < argD) { var_t0 *= 2; } temp_lo = 0x400 / var_t0; - while ((temp_lo / 2) > argE) { + while ((u32) (temp_lo / 2) > argE) { temp_lo /= 2; } @@ -2800,9 +2854,9 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4, arg3 /= arg5; sp7C = argA; - for (var_s3 = arg7; var_s3 < arg9; var_s3 += temp_lo) { + for (var_s3 = arg7; var_s3 < (u32) arg9; var_s3 += temp_lo) { - if (arg9 < temp_lo + var_s3) { + if ((u32) arg9 < temp_lo + var_s3) { var_s4 = arg9 - var_s3; if (!var_s4) { break; @@ -2811,9 +2865,9 @@ Gfx* func_800963F0(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, f32 arg4, var_s4 = temp_lo; } b = var_s4 * arg5; - for (var_a1_2 = arg6; var_a1_2 < arg8; var_a1_2 += var_t0) { + for (var_a1_2 = arg6; var_a1_2 < (u32) arg8; var_a1_2 += var_t0) { - if (arg8 < var_t0 + var_a1_2) { + if ((u32) arg8 < (var_t0 + var_a1_2)) { var_s2 = arg8 - var_a1_2; if (!var_s2) { break; @@ -2863,13 +2917,13 @@ Gfx* func_80096CD8(Gfx* displayListHead, s32 arg1, s32 arg2, u32 width, u32 arg4 s32 maskt = 0; s32 rand; - while (var_ra < width) { + while (var_ra < (s32) width) { var_ra *= 2; } spCC = 0x400 / var_ra; - while ((spCC / 2) > arg4) { + while ((spCC / 2) > (s32) arg4) { spCC /= 2; } @@ -2946,7 +3000,7 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_80096CD8.s") #ifdef NON_MATCHING Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8, - s32 arg9, u16* argA, u32 argB, u32 argC, s32 argD) { + s32 arg9, UNUSED u16* argA, u32 argB, u32 argC, UNUSED s32 argD) { u32 var_a1_2 = arg4; u32 var_s3 = arg5; s32 sp7C; @@ -2965,13 +3019,13 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, gDPSetCombineLERP(displayListHead++, TEXEL1, TEXEL0, PRIMITIVE_ALPHA, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED); - while (var_t0 < argB) { + while (var_t0 < (s32) argB) { var_t0 *= 2; } temp_lo = 0x400 / var_t0; - while ((temp_lo / 2) > argC) { + while ((temp_lo / 2) > (s32) argC) { temp_lo /= 2; } @@ -3008,9 +3062,9 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, return displayListHead; } sp7C = arg8; - for (var_s3 = arg5; var_s3 < arg7; var_s3 += temp_lo) { + for (var_s3 = arg5; var_s3 < (u32) arg7; var_s3 += temp_lo) { - if (arg7 < temp_lo + var_s3) { + if (arg7 < (s32) (temp_lo + var_s3)) { var_s4 = arg7 - var_s3; if (!var_s4) { break; @@ -3019,9 +3073,9 @@ Gfx* func_80097274(Gfx* displayListHead, s8 arg1, s32 arg2, s32 arg3, s32 arg4, var_s4 = temp_lo; } - for (var_a1_2 = arg4; var_a1_2 < arg6; var_a1_2 += var_t0) { + for (var_a1_2 = arg4; var_a1_2 < (u32) arg6; var_a1_2 += var_t0) { - if (arg6 < var_t0 + var_a1_2) { + if (arg6 < (s32) (var_t0 + var_a1_2)) { var_s2 = arg6 - var_a1_2; if (!var_s2) { break; @@ -3099,8 +3153,8 @@ Gfx* func_80097AE4(Gfx* displayListHead, s8 fmt, s32 arg2, s32 arg3, u8* arg4, s return displayListHead; } -Gfx* func_80097E58(Gfx* displayListHead, s8 fmt, u32 arg2, u32 arg3, u32 arg4, u32 arg5, s32 arg6, s32 arg7, - u8* someTexture, u32 arg9, u32 argA, s32 width) { +Gfx* func_80097E58(Gfx* displayListHead, s8 fmt, UNUSED u32 arg2, u32 arg3, UNUSED u32 arg4, u32 arg5, s32 arg6, + s32 arg7, u8* someTexture, u32 arg9, UNUSED u32 argA, s32 width) { u32 ult; u32 temp; s32 arg6Copy; @@ -3157,9 +3211,9 @@ Gfx* func_80098558(Gfx* displayListHead, u32 arg1, u32 arg2, u32 arg3, u32 arg4, arg5Copy = arg5; for (var_v0 = arg2; var_v0 < arg4; var_v0 += 0x20) { for (var_a3 = arg1; var_a3 < arg3; var_a3 += 0x20) { - gDPLoadTextureTile(displayListHead++, D_8018D9B0, G_IM_FMT_RGBA, G_IM_SIZ_16b, arg8, 0, var_a3, var_v0, - var_a3 + 0x20, var_v0 + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, - 5, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureTile(displayListHead++, gMenuTextureBuffer, G_IM_FMT_RGBA, G_IM_SIZ_16b, arg8, 0, var_a3, + var_v0, var_a3 + 0x20, var_v0 + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); gSPTextureRectangle(displayListHead++, arg5 << 2, arg6 << 2, (arg5 + 0x20) << 2, (arg6 + 0x20) << 2, 0, 0, 0, 1024, 1024); arg5 += 0x20; @@ -3191,8 +3245,8 @@ Gfx* func_800987D0(Gfx* displayListHead, u32 arg1, u32 arg2, u32 width, u32 heig columnCopy = column; for (var_v0_2 = arg2; (u32) var_v0_2 < height; var_v0_2 += 0x20) { for (var_a2 = arg1; (u32) var_a2 < width; var_a2 += 0x20) { - gDPLoadTextureTile(displayListHead++, D_8018D9B0, G_IM_FMT_RGBA, G_IM_SIZ_16b, textureWidth, 0, var_a2, - var_v0_2, var_a2 + 0x20, var_v0_2 + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP, + gDPLoadTextureTile(displayListHead++, gMenuTextureBuffer, G_IM_FMT_RGBA, G_IM_SIZ_16b, textureWidth, 0, + var_a2, var_v0_2, var_a2 + 0x20, var_v0_2 + 0x20, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD); temp_f6 = (temp_f18 * ((temp_f0 * (column - 0xA0)) + (temp_f24 * (row - 0x78)))) + 160.0f; temp_f4_2 = (temp_f18 * ((-temp_f24 * (column - 0xA0)) + (temp_f0 * (row - 0x78)))) + 120.0f; @@ -3285,29 +3339,29 @@ Gfx* func_80098FC8(Gfx* displayListHead, s32 ulx, s32 uly, s32 lrx, s32 lry) { return draw_box_fill(displayListHead, ulx, uly, lrx, lry, 0, 0, 0, 0xFF); } -void dma_copy_base_729a30(u64* arg0, size_t nbytes, void* vaddr) { - OSIoMesg sp30; - OSMesg sp2C; +void dma_copy_base_mio0(u64* data, size_t nbytes, void* vaddr) { + OSIoMesg mb; + OSMesg msg; osInvalDCache(vaddr, nbytes); - osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(arg0)], + osPiStartDma(&mb, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(data)], vaddr, nbytes, &gDmaMesgQueue); - osRecvMesg(&gDmaMesgQueue, &sp2C, OS_MESG_BLOCK); + osRecvMesg(&gDmaMesgQueue, &msg, OS_MESG_BLOCK); } -void dma_copy_base_7fa3c0(u64* arg0, size_t nbytes, void* vaddr) { - OSIoMesg sp30; - OSMesg sp2C; +void dma_copy_base_tkmk00(u64* data, size_t nbytes, void* vaddr) { + OSIoMesg mb; + OSMesg msg; osInvalDCache(vaddr, nbytes); - osPiStartDma(&sp30, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0bSegmentRomStart[SEGMENT_OFFSET(arg0)], + osPiStartDma(&mb, OS_MESG_PRI_NORMAL, OS_READ, (uintptr_t) &_textures_0bSegmentRomStart[SEGMENT_OFFSET(data)], vaddr, nbytes, &gDmaMesgQueue); - osRecvMesg(&gDmaMesgQueue, &sp2C, OS_MESG_BLOCK); + osRecvMesg(&gDmaMesgQueue, &msg, OS_MESG_BLOCK); } void func_80099110(void) { - gD_8018E118TotalSize = 0; - gNumD_8018E118Entries = 0; + sMenuTextureBufferIndex = 0; + sMenuTextureEntries = 0; } /** @@ -3330,238 +3384,197 @@ void* segmented_to_virtual_dupe_2(const void* addr) { return (void*) ((gSegmentTable[segment] + offset) + 0x80000000); } -#ifdef NON_MATCHING -// https://decomp.me/scratch/NAZ12 -// Register allocation nonsense -void func_80099184(MkTexture* arg0) { - u16 var_a1_2; - s32 var_v0; - s32 var_a1; - UNUSED s32 temp_s3; - MkTexture* var_s1; - UNUSED struct_8018E118_entry* thing; +void load_menu_img(MenuTexture* addr) { + u16 size; + s32 i; + s32 imgLoaded; + MenuTexture* texAddr; + TextureMap* texMap = &sMenuTextureMap[0]; - var_s1 = segmented_to_virtual_dupe(arg0); - while (var_s1->textureData != NULL) { - var_a1 = 0; - for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) { - // wtf is going on here? - if (D_8018E118[var_v0 ^ 0].textureData == (*var_s1).textureData) { - var_a1 = 1; + texAddr = segmented_to_virtual_dupe(addr); + while (texAddr->textureData != NULL) { + imgLoaded = false; + for (i = 0; i < sMenuTextureEntries; i++) { + if (texAddr->textureData == (texMap + i)->textureData) { + imgLoaded = true; break; } } - if (var_a1 == 0) { - if (var_s1->type == 3) { - if (var_s1->size != 0) { - var_a1_2 = var_s1->size; + + if (imgLoaded == false) { + if (texAddr->type == 3) { + if (texAddr->size != 0) { + size = texAddr->size; } else { - var_a1_2 = 0x1000; + size = 0x1000; } - if (var_a1_2 % 8) { - var_a1_2 = ((var_a1_2 / 8) * 8) + 8; + if (size % 8) { + size = ((size / 8) * 8) + 8; } - dma_copy_base_729a30(var_s1->textureData, var_a1_2, D_8018D9B4); - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gD_8018E118TotalSize]); + dma_copy_base_mio0(texAddr->textureData, size, gMenuCompressedBuffer); + mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]); } else { - dma_copy_base_729a30(var_s1->textureData, var_s1->height * var_s1->width * 2, - &D_8018D9B0[gD_8018E118TotalSize]); + dma_copy_base_mio0(texAddr->textureData, (texAddr->height * texAddr->width) * 2, + &gMenuTextureBuffer[sMenuTextureBufferIndex]); } - - 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); - gNumD_8018E118Entries += 1; - gD_8018E118TotalSize = ((gD_8018E118TotalSize / 8) * 8) + 8; + texMap[sMenuTextureEntries].textureData = texAddr->textureData; + texMap[sMenuTextureEntries].offset = sMenuTextureBufferIndex; + sMenuTextureBufferIndex += texAddr->height * texAddr->width; + sMenuTextureBufferIndex = ((sMenuTextureBufferIndex / 8) * 8) + 8; + sMenuTextureEntries += 1; } - var_s1++; + texAddr++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099184.s") -#endif -#ifdef NON_MATCHING -// https://decomp.me/scratch/O2tkD -// Register allocation nonsense -void func_80099394(MkTexture* arg0) { - UNUSED u16 var_a1_2; - s32 var_v0; - s32 var_a1; - UNUSED s32 temp_s3; - MkTexture* var_s1; - struct_8018E118_entry* thing; +void func_80099394(MenuTexture* addr) { + s32 i; + s32 imgLoaded; + MenuTexture* texAddr; + TextureMap* texMap = &sMenuTextureMap[0]; - var_s1 = segmented_to_virtual_dupe(arg0); - while (var_s1->textureData != NULL) { - var_a1 = 0; - for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) { - // wtf is going on here? - if (D_8018E118[var_v0 ^ 0].textureData == (*var_s1).textureData) { - var_a1 = 1; + texAddr = segmented_to_virtual_dupe(addr); + while (texAddr->textureData != NULL) { + imgLoaded = false; + for (i = 0; i < sMenuTextureEntries; i++) { + if (texAddr->textureData == (texMap + i)->textureData) { + imgLoaded = true; break; } } - if (var_a1 == 0) { - if (var_s1->type == 5) { - dma_copy_base_729a30(var_s1->textureData, (u32) ((s32) (var_s1->height * var_s1->width) / 2), - &D_8018D9B0[gD_8018E118TotalSize]); - } - - 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; - gNumD_8018E118Entries += 1; + if (imgLoaded == false) { + if (texAddr->type == 5) { + dma_copy_base_mio0(texAddr->textureData, (u32) (((s32) (texAddr->height * texAddr->width)) / 2), + &gMenuTextureBuffer[sMenuTextureBufferIndex]); + } + texMap[sMenuTextureEntries].textureData = texAddr->textureData; + texMap[sMenuTextureEntries].offset = sMenuTextureBufferIndex; + sMenuTextureBufferIndex += texAddr->height * texAddr->width; + sMenuTextureBufferIndex = ((sMenuTextureBufferIndex / 8) * 8) + 8; + sMenuTextureEntries += 1; } - var_s1++; + texAddr++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099394.s") -#endif -#ifdef NON_MATCHING -// Register allocation nonsense -// https://decomp.me/scratch/Wv2MX -void func_8009952C(MkTexture* arg0) { - UNUSED u16 var_a1_2; - s32 var_v0; - s32 var_a1; - UNUSED s32 temp_s3; - MkTexture* var_s1; - struct_8018E118_entry* thing; +void func_8009952C(MenuTexture* addr) { + s32 i; + s32 imgLoaded; + MenuTexture* texAddr; + TextureMap* texMap = &sMenuTextureMap[0]; - var_s1 = segmented_to_virtual_dupe(arg0); - while (var_s1->textureData != NULL) { - var_a1 = 0; - for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) { - // wtf is going on here? - if (D_8018E118[var_v0 ^ 0].textureData == (*var_s1).textureData) { - var_a1 = 1; + texAddr = segmented_to_virtual_dupe(addr); + while (texAddr->textureData != NULL) { + imgLoaded = false; + for (i = 0; i < sMenuTextureEntries; i++) { + if (texAddr->textureData == (texMap + i)->textureData) { + imgLoaded = true; break; } } - if (var_a1 == 0) { - dma_copy_base_729a30(var_s1->textureData, 0x00008000U, D_8018D9B4); - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gD_8018E118TotalSize]); - 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; - gNumD_8018E118Entries += 1; + if (imgLoaded == false) { + dma_copy_base_mio0(texAddr->textureData, 0x00008000U, gMenuCompressedBuffer); + mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]); + texMap[sMenuTextureEntries].textureData = texAddr->textureData; + texMap[sMenuTextureEntries].offset = sMenuTextureBufferIndex; + sMenuTextureBufferIndex += texAddr->height * texAddr->width; + sMenuTextureBufferIndex = ((sMenuTextureBufferIndex / 8) * 8) + 8; + sMenuTextureEntries += 1; } - var_s1++; + texAddr++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009952C.s") -#endif -void func_8009969C(MkTexture* arg0) { - func_800996BC(arg0, 1); +void load_menu_img_mio0_always(MenuTexture* addr) { + load_menu_img_comp_type(addr, LOAD_MENU_IMG_MIO0_FORCE); } -#ifdef NON_MATCHING -// Register allocation nonsense -// https://decomp.me/scratch/hwAAp -void func_800996BC(MkTexture* arg0, s32 arg1) { - u16 var_a1_2; - s32 var_v0; - s32 var_a1; - u8 var_v0_2; - MkTexture* var_s1; - struct_8018E118_entry* thing; +void load_menu_img_comp_type(MenuTexture* addr, s32 compType) { + u16 size; + s32 i; + s32 imgLoaded; + u8 clearBit; + MenuTexture* texAddr; + TextureMap* texMap = &sMenuTextureMap[0]; - var_s1 = segmented_to_virtual_dupe(arg0); - while (var_s1->textureData != NULL) { - var_a1 = 0; - for (var_v0 = 0; var_v0 < gNumD_8018E118Entries; var_v0++) { - // wtf is going on here? - if (D_8018E118[var_v0 ^ 0].textureData == (*var_s1).textureData) { - var_a1 = 1; + texAddr = segmented_to_virtual_dupe(addr); + while (texAddr->textureData != NULL) { + imgLoaded = false; + for (i = 0; i < sMenuTextureEntries; i++) { + if (texAddr->textureData == (texMap + i)->textureData) { + imgLoaded = true; break; } } - if ((var_a1 == 0) || (arg1 > 0)) { - if (var_s1->size != 0) { - var_a1_2 = var_s1->size; + + if ((imgLoaded == false) || (compType > LOAD_MENU_IMG_FORCE)) { + if (texAddr->size != 0) { + size = texAddr->size; } else { - var_a1_2 = 0x1000; + size = 0x1000; } - if ((var_a1_2 % 8)) { - var_a1_2 = (((var_a1_2 / 8) * 8) + 8); + if (size % 8) { + size = ((size / 8) * 8) + 8; } - switch (arg1) { /* irregular */ - case -1: - case 1: - dma_copy_base_729a30(var_s1->textureData, var_a1_2, D_8018D9B4); + switch (compType) { + case LOAD_MENU_IMG_MIO0_ONCE: + case LOAD_MENU_IMG_MIO0_FORCE: + dma_copy_base_mio0(texAddr->textureData, size, gMenuCompressedBuffer); break; - case 0: - case 2: - dma_copy_base_7fa3c0(var_s1->textureData, var_a1_2, D_8018D9B4); + case LOAD_MENU_IMG_TKMK00_ONCE: + case LOAD_MENU_IMG_TKMK00_FORCE: + dma_copy_base_tkmk00(texAddr->textureData, size, gMenuCompressedBuffer); break; } - switch (arg1) { /* switch 1; irregular */ - case -1: /* switch 1 */ - case 1: /* switch 1 */ - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[gD_8018E118TotalSize]); + + switch (compType) { + case LOAD_MENU_IMG_MIO0_ONCE: + case LOAD_MENU_IMG_MIO0_FORCE: + mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex]); break; - case 0: /* switch 1 */ - case 2: /* switch 1 */ - if (var_s1->type == 1) { - var_v0_2 = 0x000000BE; + case LOAD_MENU_IMG_TKMK00_ONCE: + case LOAD_MENU_IMG_TKMK00_FORCE: + if (texAddr->type == 1) { + clearBit = 0xBE; } else { - var_v0_2 = 1; + clearBit = 1; } if (1) {} - tkmk00decode(D_8018D9B4, D_8018D9B8, (u8*) &D_8018D9B0[gD_8018E118TotalSize], var_v0_2); + tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer, + (u8*) &gMenuTextureBuffer[sMenuTextureBufferIndex], clearBit); 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; - gNumD_8018E118Entries += 1; + + texMap[sMenuTextureEntries].textureData = texAddr->textureData; + texMap[sMenuTextureEntries].offset = sMenuTextureBufferIndex; + sMenuTextureBufferIndex += texAddr->height * texAddr->width; + sMenuTextureBufferIndex = ((sMenuTextureBufferIndex / 8) * 8) + 8; + sMenuTextureEntries += 1; } - var_s1++; + texAddr++; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800996BC.s") -#endif -void func_80099958(MkTexture* arg0, s32 arg1, s32 arg2) { - u16 var_a1; - UNUSED u8* thing; - MkTexture* temp_v0; +void func_80099958(MenuTexture* addr, s32 arg1, s32 arg2) { + u16 size; + MenuTexture* texAddr; - temp_v0 = segmented_to_virtual_dupe(arg0); - while (temp_v0->textureData != NULL) { - if (temp_v0->size != 0) { - var_a1 = temp_v0->size; + texAddr = segmented_to_virtual_dupe(addr); + while (texAddr->textureData != NULL) { + if (texAddr->size != 0) { + size = texAddr->size; } else { - var_a1 = 0x1400; + size = 0x1400; } - if (var_a1 % 8) { + if (size % 8) { // Round up to the next multiple of eight - var_a1 = ((var_a1 / 8) * 8) + 8; + size = ((size / 8) * 8) + 8; } - dma_copy_base_729a30(temp_v0->textureData, var_a1, D_8018D9B4); - mio0decode(D_8018D9B4, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array); - temp_v0++; + dma_copy_base_mio0(texAddr->textureData, size, gMenuCompressedBuffer); + mio0decode(gMenuCompressedBuffer, D_802BFB80.arraySize4[arg2][arg1 / 2][(arg1 % 2) + 2].pixel_index_array); + texAddr++; } } @@ -3572,7 +3585,7 @@ void func_80099A70(void) { for (i = 0; i < D_8018E060_SIZE; i++) {} } -void func_80099A94(MkTexture* arg0, s32 arg1) { +void func_80099A94(MenuTexture* arg0, s32 arg1) { struct_8018E060_entry* var_v1; var_v1 = &D_8018E060[0]; @@ -3580,98 +3593,98 @@ void func_80099A94(MkTexture* arg0, s32 arg1) { var_v1++; } var_v1->texture = segmented_to_virtual_dupe(arg0); - var_v1->unk_4 = arg1; + var_v1->texNum = arg1; } #ifdef NON_MATCHING // https://decomp.me/scratch/rxEoi // Something's up with the handling of `_textures_0aSegmentRomStart`, I don't know how to fix it void func_80099AEC(void) { - s8 var_s4; - s32 var_s0; + s8 texEnd; + s32 size; UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; - s32 huh; - OSIoMesg sp68; - OSMesg sp64; + s32 texSize; + OSIoMesg mb; + OSMesg msg; UNUSED u8* test; - s32 sp60; - MkTexture* temp_s2; + s32 bufSize; + MenuTexture* texAddr; struct_8018E060_entry* var_s1; - if (gGamestate == 4) { - sp60 = 0x00000500; + if (gGamestate == RACING) { + bufSize = 0x00000500; } else { - sp60 = 0x00001000; + bufSize = 0x00001000; } - var_s4 = 0; + texEnd = 0; var_s1 = D_8018E060; - temp_s2 = var_s1->texture; + texAddr = var_s1->texture; - if (temp_s2 == NULL) + if (texAddr == NULL) return; - huh = temp_s2->size; - if (huh != 0) { - var_s0 = huh; + texSize = texAddr->size; + if (texSize != 0) { + size = texSize; } else { - var_s0 = 0x1400; + size = 0x1400; } - if (var_s0 % 8) { - var_s0 = ((var_s0 / 8) * 8) + 8; + if (size % 8) { + size = ((size / 8) * 8) + 8; } - osInvalDCache(D_8018D9B4, var_s0); - osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - D_8018D9B4, var_s0, &gDmaMesgQueue); - osRecvMesg(&gDmaMesgQueue, &sp64, 1); + osInvalDCache(gMenuCompressedBuffer, size); + osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)], + gMenuCompressedBuffer, size, &gDmaMesgQueue); + osRecvMesg(&gDmaMesgQueue, &msg, 1); while (1) { if ((var_s1 + 1)->texture == NULL) { - var_s4 += 1; + texEnd += 1; } else { - temp_s2 = (var_s1 + 1)->texture; - huh = (var_s1 + 1)->texture->size; - if (huh != 0) { - var_s0 = huh; + texAddr = (var_s1 + 1)->texture; + texSize = (var_s1 + 1)->texture->size; + if (texSize != 0) { + size = texSize; } else { - var_s0 = 0x1400; + size = 0x1400; } - if (var_s0 % 8) { - var_s0 = ((var_s0 / 8) * 8) + 8; + if (size % 8) { + size = ((size / 8) * 8) + 8; } - osInvalDCache(D_8018D9B4 + sp60 * 4, var_s0); - osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - D_8018D9B4 + sp60 * 4, var_s0, &gDmaMesgQueue); + osInvalDCache(gMenuCompressedBuffer + bufSize * 4, size); + osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)], + gMenuCompressedBuffer + bufSize * 4, size, &gDmaMesgQueue); } - mio0decode(D_8018D9B4, (u8*) &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]); + mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureMap[var_s1->texNum].offset]); var_s1->texture = NULL; var_s1++; - if (var_s4 != 0) + if (texEnd != 0) break; - osRecvMesg(&gDmaMesgQueue, &sp64, 1); + osRecvMesg(&gDmaMesgQueue, &msg, 1); if ((var_s1 + 1)->texture == NULL) { - var_s4 += 1; + texEnd += 1; } else { - temp_s2 = (var_s1 + 1)->texture; - huh = (var_s1 + 1)->texture->size; - if (huh != 0) { - var_s0 = huh; + texAddr = (var_s1 + 1)->texture; + texSize = (var_s1 + 1)->texture->size; + if (texSize != 0) { + size = texSize; } else { - var_s0 = 0x1400; + size = 0x1400; } - if (var_s0 % 8) { - var_s0 = ((var_s0 / 8) * 8) + 8; + if (size % 8) { + size = ((size / 8) * 8) + 8; } - osInvalDCache(D_8018D9B4, var_s0); - osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - D_8018D9B4, var_s0, &gDmaMesgQueue); + osInvalDCache(gMenuCompressedBuffer, size); + osPiStartDma(&mb, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(texAddr->textureData)], + gMenuCompressedBuffer, size, &gDmaMesgQueue); } - mio0decode(D_8018D9B4 + sp60 * 4, (u8*) &D_8018D9B0[D_8018E118[var_s1->unk_4].offset]); + mio0decode(gMenuCompressedBuffer + bufSize * 4, (u8*) &gMenuTextureBuffer[sMenuTextureMap[var_s1->texNum].offset]); var_s1->texture = NULL; var_s1++; - if (var_s4 != 0) + if (texEnd != 0) break; - osRecvMesg(&gDmaMesgQueue, &sp64, 1); + osRecvMesg(&gDmaMesgQueue, &msg, 1); } } #else @@ -3682,7 +3695,7 @@ void func_80099E54(void) { D_8018E0E8[0].mk64Texture = NULL; } -void func_80099E60(MkTexture* arg0, s32 arg1, s32 arg2) { +void func_80099E60(MenuTexture* arg0, s32 arg1, s32 arg2) { struct_8018E0E8_entry* var_v1; var_v1 = D_8018E0E8; @@ -3707,7 +3720,7 @@ void func_80099EC4(void) { OSMesg sp64; s32 huh; u8* test; - MkTexture* temp_s2; + MenuTexture* temp_s2; struct_8018E0E8_entry* var_s1; var_s4 = 0; @@ -3726,12 +3739,12 @@ void func_80099EC4(void) { if (var_s0 % 8) { var_s0 = ((var_s0 / 8) * 8) + 8; } - osInvalDCache(D_8018D9B4, var_s0); + osInvalDCache(gMenuCompressedBuffer, var_s0); test = &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)]; - osPiStartDma(&sp68, 0, 0, (uintptr_t) test, D_8018D9B4, var_s0, &gDmaMesgQueue); + osPiStartDma(&sp68, 0, 0, (uintptr_t) test, gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); if ((var_s0 && var_s0) && var_s0) {} - // osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], D_8018D9B4, var_s0, - // &gDmaMesgQueue); + // osPiStartDma(&sp68, 0, 0, &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], + // gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); osRecvMesg(&gDmaMesgQueue, &sp64, 1); while (1) { if ((var_s1 + 1)->mk64Texture == NULL) { @@ -3747,11 +3760,11 @@ void func_80099EC4(void) { if (var_s0 % 8) { var_s0 = ((var_s0 / 8) * 8) + 8; } - osInvalDCache(D_8018D9B4 + 0x1400, var_s0); + osInvalDCache(gMenuCompressedBuffer + 0x1400, var_s0); osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - D_8018D9B4 + 0x1400, var_s0, &gDmaMesgQueue); + gMenuCompressedBuffer + 0x1400, var_s0, &gDmaMesgQueue); } - mio0decode(D_8018D9B4, + mio0decode(gMenuCompressedBuffer, D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); var_s1->mk64Texture = NULL; var_s1++; @@ -3771,11 +3784,11 @@ void func_80099EC4(void) { if (var_s0 % 8) { var_s0 = ((var_s0 / 8) * 8) + 8; } - osInvalDCache(D_8018D9B4, var_s0); + osInvalDCache(gMenuCompressedBuffer, var_s0); osPiStartDma(&sp68, 0, 0, (uintptr_t) &_textures_0aSegmentRomStart[SEGMENT_OFFSET(temp_s2->textureData)], - D_8018D9B4, var_s0, &gDmaMesgQueue); + gMenuCompressedBuffer, var_s0, &gDmaMesgQueue); } - mio0decode(D_8018D9B4 + 0x1400, + mio0decode(gMenuCompressedBuffer + 0x1400, D_802BFB80.arraySize4[var_s1->unk6][var_s1->unk4 / 2][(var_s1->unk4 % 2) + 2].pixel_index_array); var_s1->mk64Texture = NULL; var_s1++; @@ -3788,25 +3801,25 @@ void func_80099EC4(void) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_80099EC4.s") #endif -void func_8009A238(MkTexture* arg0, s32 arg1) { +void func_8009A238(MenuTexture* arg0, s32 arg1) { s32 var_a3; s32 temp_v1; u64* sp24; - UNUSED struct_8018E118_entry* temp_v0; + UNUSED TextureMap* temp_v0; - temp_v1 = D_8018E118[arg1].offset; + temp_v1 = sMenuTextureMap[arg1].offset; sp24 = arg0->textureData; var_a3 = arg0->size; if (var_a3 % 8) { var_a3 = ((var_a3 / 8) * 8) + 8; } - dma_copy_base_7fa3c0(sp24, var_a3, D_8018D9B4); - tkmk00decode(D_8018D9B4, D_8018D9B8, (u8*) &D_8018D9B0[temp_v1], 1); - D_8018E118[arg1].textureData = sp24; + dma_copy_base_tkmk00(sp24, var_a3, gMenuCompressedBuffer); + tkmk00decode(gMenuCompressedBuffer, sTKMK00_LowResBuffer, (u8*) &gMenuTextureBuffer[temp_v1], 1); + sMenuTextureMap[arg1].textureData = sp24; } void func_8009A2F0(struct_8018E0E8_entry* arg0) { - MkTexture* var_a0; + MenuTexture* var_a0; struct_8018E0E8_entry* temp_v0; temp_v0 = segmented_to_virtual_dupe_2(arg0); @@ -3815,7 +3828,7 @@ void func_8009A2F0(struct_8018E0E8_entry* arg0) { if (var_a0 == NULL) { break; } - func_800996BC(var_a0, 0); + load_menu_img_comp_type(var_a0, LOAD_MENU_IMG_TKMK00_ONCE); if (1) {} temp_v0++; var_a0 = temp_v0->mk64Texture; @@ -3829,7 +3842,7 @@ void func_8009A344(void) { } } -s32 func_8009A374(MkAnimation* anim) { +s32 animate_character_select_menu(MkAnimation* anim) { s32 i; struct_8018DEE0_entry* entry; @@ -3850,15 +3863,15 @@ s32 func_8009A374(MkAnimation* anim) { entry->sequenceIndex = -1; entry->frameCountDown = 0; entry->visible = 0x80000000; - entry->D_8018E118_index = gNumD_8018E118Entries; + entry->D_8018E118_index = sMenuTextureEntries; if (anim[0].mk64Texture) { - func_8009969C(anim[0].mk64Texture); + load_menu_img_mio0_always(anim[0].mk64Texture); } if (anim[1].mk64Texture) { - func_8009969C(anim[1].mk64Texture); + load_menu_img_mio0_always(anim[1].mk64Texture); } else { - func_8009969C(anim[0].mk64Texture); + load_menu_img_mio0_always(anim[0].mk64Texture); } entry->unk14 = 0; @@ -3886,7 +3899,7 @@ s32 func_8009A478(MkAnimation* anim, s32 arg1) { entry->sequenceIndex = -1; entry->frameCountDown = 0; entry->visible = 0x80000000; - entry->D_8018E118_index = gNumD_8018E118Entries; + entry->D_8018E118_index = sMenuTextureEntries; if (anim[0].mk64Texture) { func_80099958(anim[0].mk64Texture, arg1, 0); } @@ -3901,7 +3914,7 @@ s32 func_8009A478(MkAnimation* anim, s32 arg1) { void func_8009A594(s32 arg0, s32 arg1, MkAnimation* arg2) { MkAnimation* temp_v0; - MkTexture* temp_a0; + MenuTexture* temp_a0; temp_v0 = segmented_to_virtual_dupe_2(arg2); D_8018DEE0[arg0].textureSequence = temp_v0; @@ -3921,7 +3934,7 @@ void func_8009A594(s32 arg0, s32 arg1, MkAnimation* arg2) { void func_8009A640(s32 arg0, s32 arg1, s32 arg2, MkAnimation* arg3) { MkAnimation* temp_v0; - MkTexture* temp_a0; + MenuTexture* temp_a0; temp_v0 = segmented_to_virtual_dupe_2(arg3); D_8018DEE0[arg0].textureSequence = temp_v0; @@ -3959,11 +3972,11 @@ void func_8009A7EC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { } } -MkTexture* func_8009A878(struct_8018DEE0_entry* arg0) { +MenuTexture* func_8009A878(struct_8018DEE0_entry* arg0) { MkAnimation* temp_v1; MkAnimation* var_v0; MkAnimation* test; - MkTexture* temp_a0; + MenuTexture* temp_a0; temp_v1 = arg0->textureSequence; if (arg0->sequenceIndex < 0) { @@ -3992,11 +4005,11 @@ MkTexture* func_8009A878(struct_8018DEE0_entry* arg0) { return arg0->textureSequence[arg0->sequenceIndex].mk64Texture; } -MkTexture* func_8009A944(struct_8018DEE0_entry* arg0, s32 arg1) { +MenuTexture* func_8009A944(struct_8018DEE0_entry* arg0, s32 arg1) { MkAnimation* temp_v1; MkAnimation* var_v0; MkAnimation* test; - MkTexture* temp_a0; + MenuTexture* temp_a0; temp_v1 = arg0->textureSequence; if (arg0->sequenceIndex < 0) { @@ -4033,8 +4046,8 @@ void func_8009A9FC(s32 arg0, s32 arg1, u32 arg2, s32 arg3) { u16* color0; u16* color1; - color0 = &D_8018D9B0[D_8018E118[arg0].offset]; - color1 = &D_8018D9B0[D_8018E118[arg1].offset]; + color0 = &gMenuTextureBuffer[sMenuTextureMap[arg0].offset]; + color1 = &gMenuTextureBuffer[sMenuTextureMap[arg1].offset]; for (var_t1 = 0; (u32) var_t1 < arg2; var_t1++) { temp_a0 = *color0++; red = (temp_a0 & 0xF800) >> 0xB; @@ -4062,7 +4075,7 @@ void func_8009AB7C(s32 arg0) { s32 var_v1; u16* color; - color = &D_8018D9B0[D_8018E118[arg0].offset]; + color = &gMenuTextureBuffer[sMenuTextureMap[arg0].offset]; for (var_v1 = 0; var_v1 < 0x4B000; var_v1++) { red = ((*color & 0xF800) >> 0xB) * 0x4D; green = ((*color & 0x7C0) >> 6) * 0x96; @@ -4091,8 +4104,8 @@ void func_8009AD78(s32 arg0, s32 arg1) { UNUSED u16 temp_a0; u16* color; - color = &D_8018D9B0[D_8018E118[arg0].offset]; - size = D_8018E118[arg0 + 1].offset - D_8018E118[arg0].offset; + color = &gMenuTextureBuffer[sMenuTextureMap[arg0].offset]; + size = sMenuTextureMap[arg0 + 1].offset - sMenuTextureMap[arg0].offset; for (var_v1 = 0; var_v1 != size; var_v1++) { red = ((*color & 0xF800) >> 0xB) * 0x4D; green = ((*color & 0x7C0) >> 6) * 0x96; @@ -4105,7 +4118,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; @@ -4119,8 +4132,8 @@ void func_8009B0A4(s32 arg0, u32 arg1) { for (var_s0 = 0; var_s0 < 0x20; var_s0++) { sp48[var_s0] = func_800917B0(var_s0 * 0.03125, (arg1 * 1.5 * 0.00390625) + 0.25); } - color = &D_8018D9B0[D_8018E118[arg0].offset]; - size = D_8018E118[arg0 + 1].offset - D_8018E118[arg0].offset; + color = &gMenuTextureBuffer[sMenuTextureMap[arg0].offset]; + size = sMenuTextureMap[arg0 + 1].offset - sMenuTextureMap[arg0].offset; for (var_s0 = 0; var_s0 < (u32) size; var_s0++) { red = ((*color & 0xF800) >> 0xB) * 0x55; green = ((*color & 0x7C0) >> 6) * 0x4B; @@ -4136,7 +4149,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; @@ -4148,7 +4161,7 @@ void func_8009B538(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { s32 var_v1; u16* color; - color = &D_8018D9B0[D_8018E118[arg0].offset]; + color = &gMenuTextureBuffer[sMenuTextureMap[arg0].offset]; for (var_v1 = 0; var_v1 != arg1; var_v1++) { red = ((*color & 0xF800) >> 0xB) * 0x4D; green = ((*color & 0x7C0) >> 6) * 0x96; @@ -4170,35 +4183,35 @@ u16* func_8009B8C4(u64* arg0) { s32 someIndex; found = 0; - for (someIndex = 0; someIndex < gNumD_8018E118Entries; someIndex++) { - if (arg0 == D_8018E118[someIndex].textureData) { + for (someIndex = 0; someIndex < sMenuTextureEntries; someIndex++) { + if (arg0 == sMenuTextureMap[someIndex].textureData) { found = 1; - offset = D_8018E118[someIndex].offset; + offset = sMenuTextureMap[someIndex].offset; break; } } if (found != 0) { - return &D_8018D9B0[offset]; + return &gMenuTextureBuffer[offset]; } return NULL; } -// D_8018D9C0 is a little weird. In code_800AF9B0 its treated as a +// gSomeDLBuffer is a little weird. In code_800AF9B0 its treated as a // struct_8018EE10_entry pointer. But here its being treated as a // Gfx pointer. It seems to be multi use. void func_8009B938(void) { - D_8018E75C = (Gfx*) D_8018D9C0; + sGfxPtr = (Gfx*) gSomeDLBuffer; gNumD_8018E768Entries = 0; } -void func_8009B954(MkTexture* arg0) { +void func_8009B954(MenuTexture* arg0) { D_8018E768[gNumD_8018E768Entries].textures = segmented_to_virtual_dupe(arg0); - D_8018E768[gNumD_8018E768Entries].displayList = D_8018E75C; + D_8018E768[gNumD_8018E768Entries].displayList = sGfxPtr; } void func_8009B998(void) { - gSPEndDisplayList(D_8018E75C++); + gSPEndDisplayList(sGfxPtr++); gNumD_8018E768Entries += 1; } @@ -4207,7 +4220,7 @@ void func_8009B998(void) { // Based on the target assembly, in the event that it never finds // the desired entry, it'll treat the return value of segmented_to_virtual_dupe // as the return of this function. Which seems like a bug to me -Gfx* func_8009B9D0(Gfx* displayListHead, MkTexture* textures) { +Gfx* func_8009B9D0(Gfx* displayListHead, MenuTexture* textures) { Gfx* displayList; UNUSED s32 pad; bool found; @@ -4227,8 +4240,8 @@ Gfx* func_8009B9D0(Gfx* displayListHead, MkTexture* textures) { } } -Gfx* func_8009BA74(Gfx* arg0, MkTexture* arg1, s32 column, s32 row) { - MkTexture* temp_v0; +Gfx* render_menu_textures(Gfx* arg0, MenuTexture* arg1, s32 column, s32 row) { + MenuTexture* temp_v0; u8* temp_v0_3; s8 var_s4; @@ -4272,8 +4285,8 @@ Gfx* func_8009BA74(Gfx* arg0, MkTexture* arg1, s32 column, s32 row) { return arg0; } -Gfx* func_8009BC9C(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { - MkTexture* var_s0; +Gfx* func_8009BC9C(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { + MenuTexture* var_s0; u8* temp_v0_3; var_s0 = segmented_to_virtual_dupe(arg1); @@ -4302,8 +4315,8 @@ Gfx* func_8009BC9C(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32 break; case 4: /* switch 1 */ arg0 = func_80097274(arg0, 0, 0x00000400, 0x00000400, 0, 0, var_s0->width, var_s0->height, - var_s0->dX + arg2, var_s0->dY + arg3, temp_v0_3, var_s0->width, var_s0->height, - arg5); + var_s0->dX + arg2, var_s0->dY + arg3, (u16*) temp_v0_3, var_s0->width, + var_s0->height, arg5); break; } } @@ -4312,12 +4325,12 @@ Gfx* func_8009BC9C(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4, s32 return arg0; } -Gfx* print_letter(Gfx* arg0, MkTexture* glyphTexture, f32 arg2, f32 arg3, s32 mode, f32 scaleX, f32 scaleY) { +Gfx* print_letter(Gfx* arg0, MenuTexture* glyphTexture, f32 arg2, f32 arg3, s32 mode, f32 scaleX, f32 scaleY) { s32 var_v0; u8* temp_v0_2; f32 thing0; f32 thing1; - MkTexture* var_s0; + MenuTexture* var_s0; var_s0 = segmented_to_virtual_dupe(glyphTexture); while (var_s0->textureData != NULL) { @@ -4364,10 +4377,10 @@ Gfx* print_letter(Gfx* arg0, MkTexture* glyphTexture, f32 arg2, f32 arg3, s32 mo return arg0; } -Gfx* func_8009C204(Gfx* arg0, MkTexture* arg1, s32 arg2, s32 arg3, s32 arg4) { +Gfx* func_8009C204(Gfx* arg0, MenuTexture* arg1, s32 arg2, s32 arg3, s32 arg4) { s32 var_s2; u8* temp_t0; - MkTexture* var_s1; + MenuTexture* var_s1; var_s1 = segmented_to_virtual_dupe(arg1); while (var_s1->textureData != NULL) { @@ -4409,7 +4422,7 @@ Gfx* func_8009C434(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s s32 var_t0; s32 var_t1; Gfx* temp; - MkTexture* var_s0; + MenuTexture* var_s0; var_s0 = segmented_to_virtual_dupe(arg1->textureSequence[arg1->sequenceIndex].mk64Texture); temp = D_02007728; @@ -4431,9 +4444,9 @@ Gfx* func_8009C434(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s break; } if (arg1->unk14 != 0) { - var_t0 = D_8018E118[arg1->D_8018E118_index + 1].offset; + var_t0 = sMenuTextureMap[arg1->D_8018E118_index + 1].offset; } else { - var_t0 = D_8018E118[arg1->D_8018E118_index].offset; + var_t0 = sMenuTextureMap[arg1->D_8018E118_index].offset; if (1) {} if (1) {} if (1) {} @@ -4441,18 +4454,18 @@ Gfx* func_8009C434(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s if (arg4 >= 0) { arg0 = func_80097E58(arg0, var_t1, 0, 0U, var_s0->width, var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3, - (u8*) &D_8018D9B0[var_t0], var_s0->width, var_s0->height, (u32) arg4); + (u8*) &gMenuTextureBuffer[var_t0], var_s0->width, var_s0->height, (u32) arg4); } else { switch (arg4) { case -1: arg0 = func_80095E10(arg0, var_t1, 0x00000400, 0x00000400, 0, 0, var_s0->width, var_s0->height, - var_s0->dX + arg2, var_s0->dY + arg3, (u8*) &D_8018D9B0[var_t0], var_s0->width, - var_s0->height); + var_s0->dX + arg2, var_s0->dY + arg3, (u8*) &gMenuTextureBuffer[var_t0], + var_s0->width, var_s0->height); break; case -2: arg0 = func_800963F0(arg0, var_t1, 0x00000400, 0x00000400, 0.5f, 0.5f, 0, 0, var_s0->width, var_s0->height, var_s0->dX + arg2, var_s0->dY + arg3, - (u8*) &D_8018D9B0[var_t0], var_s0->width, var_s0->height); + (u8*) &gMenuTextureBuffer[var_t0], var_s0->width, var_s0->height); break; } } @@ -4465,7 +4478,7 @@ Gfx* func_8009C708(Gfx* arg0, struct_8018DEE0_entry* arg1, s32 arg2, s32 arg3, s s32 var_t0; UNUSED s32 thing; Gfx* temp; - MkTexture* var_s1; + MenuTexture* var_s1; var_s1 = segmented_to_virtual_dupe(arg1->textureSequence[arg1->sequenceIndex].mk64Texture); temp = D_02007728; @@ -4527,9 +4540,9 @@ void func_8009CA2C(void) { void func_8009CA6C(s32 arg0) { s32 var_a1; - if ((arg0 == 4) || ((find_8018D9E0_entry(0x000000AA) == NULL) && (find_8018D9E0_entry(0x000000AB) == NULL) && - (find_8018D9E0_entry(0x000000B9) == NULL) && (find_8018D9E0_entry(0x000000BA) == NULL) && - (find_8018D9E0_entry(0x000000AC) == NULL) && (find_8018D9E0_entry(0x000000B0) == NULL))) { + if ((arg0 == 4) || ((find_menu_items_type(0x000000AA) == NULL) && (find_menu_items_type(0x000000AB) == NULL) && + (find_menu_items_type(0x000000B9) == NULL) && (find_menu_items_type(0x000000BA) == NULL) && + (find_menu_items_type(0x000000AC) == NULL) && (find_menu_items_type(0x000000B0) == NULL))) { var_a1 = 0; gSPDisplayList(gDisplayListHead++, D_0D0076F8); if ((arg0 != 4) && (gIsGamePaused != 0)) { @@ -4624,7 +4637,7 @@ void func_8009CE64(s32 arg0) { s32 thing; s32 var_a1; UNUSED s32 stackPadding0; - struct_8018D9E0_entry* temp_v0; + MenuItem* temp_v0; var_a1 = 0; if (gGamestate == 5) { @@ -4653,10 +4666,10 @@ void func_8009CE64(s32 arg0) { D_8018E7AC[arg0] = 5; } else { var_a1 = 0; - temp_v0 = find_8018D9E0_entry(0x000000B0); + temp_v0 = find_menu_items_type(0x000000B0); if (temp_v0 != NULL) { - switch (temp_v0->cursor) { /* switch 8; irregular */ - case 10: /* switch 8 */ + switch (temp_v0->state) { /* switch 8; irregular */ + case 10: /* switch 8 */ func_802903B0(); break; case 11: /* switch 8 */ @@ -4672,10 +4685,10 @@ void func_8009CE64(s32 arg0) { } } else { var_a1 = 0; - temp_v0 = find_8018D9E0_entry(0x000000AC); + temp_v0 = find_menu_items_type(0x000000AC); if (temp_v0 != NULL) { - switch (temp_v0->cursor) { /* switch 7; irregular */ - case 11: /* switch 7 */ + switch (temp_v0->state) { /* switch 7; irregular */ + case 11: /* switch 7 */ func_802903B0(); D_8016556E = 1; break; @@ -4686,10 +4699,10 @@ void func_8009CE64(s32 arg0) { } } else { var_a1 = 0; - temp_v0 = find_8018D9E0_entry(0x000000C7); + temp_v0 = find_menu_items_type(0x000000C7); if (temp_v0 != NULL) { - switch (temp_v0->cursor) { /* switch 1 */ - case 12: /* switch 1 */ + switch (temp_v0->state) { /* switch 1 */ + case 12: /* switch 1 */ func_802903B0(); var_a1 = 1; break; @@ -4720,10 +4733,10 @@ void func_8009CE64(s32 arg0) { gIsGamePaused = 0; } } - temp_v0 = find_8018D9E0_entry(0x000000BD); + temp_v0 = find_menu_items_type(0x000000BD); if (temp_v0 != NULL) { - switch (temp_v0->cursor) { /* switch 2 */ - case 11: /* switch 2 */ + switch (temp_v0->state) { /* switch 2 */ + case 11: /* switch 2 */ D_8015F892 = 1; D_8015F890 = 0; func_802903B0(); @@ -4761,7 +4774,7 @@ void func_8009CE64(s32 arg0) { } else { D_8018E7AC[arg0] = 0; if (gDebugMenuSelection != DEBUG_MENU_OPTION_SELECTED) { - switch (gMenuFadeType) { /* switch 3 */ + switch (gMenuFadeType) { /* switch 3 */ case MENU_FADE_TYPE_MAIN: /* switch 3 */ if (gMenuSelection == LOGO_INTRO_MENU) { gMenuSelection = START_MENU; @@ -4877,12 +4890,12 @@ void func_8009CE64(s32 arg0) { } unref_8018EE0C = 0; } else { - switch (gDebugGotoScene) { /* switch 5; irregular */ + switch (gDebugGotoScene) { /* switch 5; irregular */ case DEBUG_GOTO_ENDING: /* switch 5 */ gGamestateNext = (s32) 5; break; case DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT: /* switch 5 */ - case DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA: /* switch 5 */ + case DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA: /* switch 5 */ gGamestateNext = 9; gCreditsCourseId = 8; break; @@ -4925,7 +4938,7 @@ void func_8009CE64(s32 arg0) { gCupSelection = gCupSelectionByCourseId[gCurrentCourseId]; D_800DC540 = gCupSelection; gCourseIndexInCup = gPerCupIndexByCourseId[gCurrentCourseId]; - switch (gDebugGotoScene) { /* switch 6; irregular */ + switch (gDebugGotoScene) { /* switch 6; irregular */ case DEBUG_GOTO_ENDING: /* switch 6 */ break; case DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT: /* switch 6 */ @@ -5070,7 +5083,7 @@ void func_8009DB8C(void) { if ((u32) var_v1 >= D_8018E7B8[4]) { if ((u32) var_v1 == D_8018E7B8[4]) { for (var_s0 = 0; var_s0 < 0x4B0; var_s0++) { - D_8018D9B8[var_s0] = 1; + sTKMK00_LowResBuffer[var_s0] = 1; } } else { func_8009CE64(4); @@ -5079,9 +5092,9 @@ void func_8009DB8C(void) { var_s0 = 0; var_s3 = 0; while (var_s3 < (0x4B0U / D_8018E7B8[4])) { - if ((D_8018D9B8[var_s0] == 0) && (random_int((0x4B0U - D_8018E7D0[4]) / D_8018E7B8[4]) == 0)) { + if ((sTKMK00_LowResBuffer[var_s0] == 0) && (random_int((0x4B0U - D_8018E7D0[4]) / D_8018E7B8[4]) == 0)) { var_s3 += 1; - D_8018D9B8[var_s0] = 1; + sTKMK00_LowResBuffer[var_s0] = 1; } var_s0 += 1; if (var_s0 >= 0x4B0) { @@ -5094,7 +5107,7 @@ void func_8009DB8C(void) { gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0xFF); gDPSetCombineMode(gDisplayListHead++, G_CC_PRIMITIVE, G_CC_PRIMITIVE); for (var_s0 = 0; var_s0 < 0x4B0; var_s0++) { - if (D_8018D9B8[var_s0] != 0) { + if (sTKMK00_LowResBuffer[var_s0] != 0) { temp_t4 = (var_s0 % 40) * 8; temp_t5 = (var_s0 / 40) * 8; gDPFillRectangle(gDisplayListHead++, temp_t4, temp_t5, temp_t4 + 8, temp_t5 + 8); @@ -5199,7 +5212,7 @@ void func_8009E0F0(s32 arg0) { } D_8018E7E0 = 0; for (var_v0 = 0; var_v0 < 0x4B0; var_v0++) { - D_8018D9B8[var_v0] = 0; + sTKMK00_LowResBuffer[var_v0] = 0; } } } @@ -5306,16 +5319,16 @@ void func_8009E5FC(s32 arg0) { void func_8009E620(void) { s32 index; - for (index = 0; index < D_8018D9E0_SIZE; index++) { - D_8018D9E0[index].type = 0; + for (index = 0; index < MENU_ITEMS_MAX; index++) { + gMenuItems[index].type = 0; } } #ifdef NON_MATCHING // https://decomp.me/scratch/1BHpa // Stack differences, can't figure out how to fix them -void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { - struct_8018D9E0_entry* var_ra; +void load_menu_item_ui(s32 type, s32 column, s32 row, s8 priority) { + MenuItem* var_ra; s32 stackPadding0; UNUSED s32 stackPadding1; UNUSED s32 stackPadding2; @@ -5323,36 +5336,36 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { s32 var_v0; s32 var_v1_3; s32 temp_a1; - UNUSED MkTexture* mk64Texture; + UNUSED MenuTexture* mk64Texture; MkAnimation* var_a0; s32 one = 1; var_v0 = 0; - var_ra = D_8018D9E0; - while (1) { + var_ra = gMenuItems; + while (true) { if (var_ra->type == 0) { break; } var_v0++; - if (var_v0 > 0x20) { - while (1) {} + if (var_v0 > MENU_ITEMS_MAX) { + while (true) {} } var_ra++; } var_ra->type = type; - var_ra->cursor = 0; - var_ra->unk8 = 0; + var_ra->state = 0; + var_ra->subState = 0; var_ra->column = column; var_ra->row = row; var_ra->priority = (u8) priority; var_ra->visible = one; - var_ra->unk1C = 0; - var_ra->unk20 = 0; + var_ra->param1 = 0; + var_ra->param2 = 0; switch (type) { - case 0xFA: - s8018ED94 = 0; - D_800E8530 = 0.0f; - D_800E8534 = 3.0f; + case MENU_ITEM_UI_LOGO_INTRO: + sIntroModelTimer = 0; + sIntroModelMotionSpeed = 0.0f; + sIntroModelSpeed = 3.0f; gIntroModelZEye = 2500; gIntroModelRotX = 0; gIntroModelRotY = -270.0f; @@ -5361,10 +5374,10 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { gIntroModelPosY = 0; gIntroModelPosZ = 0; gIntroModelScale = 3; - var_ra->unk1C = -1; - var_ra->unk20 = one; + var_ra->param1 = -1; + var_ra->param2 = one; break; - case 0xFB: + case START_MENU_FLAG: gIntroModelZEye = 1800; gIntroModelRotX = -51.0f; gIntroModelRotY = -12.0f; @@ -5373,179 +5386,181 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { gIntroModelPosY = 750.0f; gIntroModelPosZ = 0; gIntroModelScale = 1.0f; - var_ra->unk1C = -1; - var_ra->unk20 = one; + var_ra->param1 = -1; + var_ra->param2 = one; break; - case 0xD2: - func_800996BC(D_020014C8, 0); + case MENU_ITEM_TYPE_0D2: + load_menu_img_comp_type(D_020014C8, LOAD_MENU_IMG_TKMK00_ONCE); func_8009B954(D_020014C8); - D_8018E75C = func_8009BA74(D_8018E75C, D_020014C8, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_020014C8, var_ra->column, var_ra->row); func_8009B998(); break; - case 0xD3: - func_800996BC(D_02001540, 0); + case MENU_ITEM_TYPE_0D3: + load_menu_img_comp_type(D_02001540, LOAD_MENU_IMG_TKMK00_ONCE); func_8009B954(D_02001540); - D_8018E75C = func_8009BA74(D_8018E75C, D_02001540, var_ra->column, var_ra->row); + sGfxPtr = render_menu_textures(sGfxPtr, D_02001540, var_ra->column, var_ra->row); func_8009B998(); break; - case 0xD4: - func_800996BC(D_0200157C, 0); - func_80099184(D_02001874); + case MENU_ITEM_TYPE_0D4: + load_menu_img_comp_type(D_0200157C, LOAD_MENU_IMG_TKMK00_ONCE); + load_menu_img(D_02001874); var_ra->row = 0x00000069; for (var_v0 = 0; var_v0 < 133; var_v0++) { - 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); + case MENU_ITEM_TYPE_0D5: + load_menu_img(D_020015A4); func_8009B954(D_020015A4); - D_8018E75C = func_8009BA74(D_8018E75C, D_020015A4, var_ra->column, var_ra->row); - gDPLoadTextureBlock(D_8018E75C++, func_8009B8C4(gTexture7ED50C), G_IM_FMT_IA, G_IM_SIZ_16b, 256, 5, 0, + sGfxPtr = render_menu_textures(sGfxPtr, D_020015A4, var_ra->column, var_ra->row); + gDPLoadTextureBlock(sGfxPtr++, func_8009B8C4(gTexture7ED50C), G_IM_FMT_IA, G_IM_SIZ_16b, 256, 5, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPTextureRectangle(D_8018E75C++, 0x80, 0x2C0, 0x480, 0x2D4, G_TX_RENDERTILE, 0, 0x80, 0x0400, 0xFC00); + gSPTextureRectangle(sGfxPtr++, 0x80, 0x2C0, 0x480, 0x2D4, G_TX_RENDERTILE, 0, 0x80, 0x0400, 0xFC00); func_8009B998(); - 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); + sGfxPtr = render_menu_textures(sGfxPtr, 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); + sGfxPtr = render_menu_textures(sGfxPtr, 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); + sGfxPtr = render_menu_textures(sGfxPtr, 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])); + case MENU_ITEM_TYPE_0D6: + var_ra->D_8018DEE0_index = animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E7D34[0])); break; - case 0xD7: + case MENU_ITEM_TYPE_0D7: for (var_v0 = 0; var_v0 < 10; var_v0++) { - 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); + case MENU_ITEM_TYPE_0D8: + case MENU_ITEM_TYPE_0D9: + load_menu_img(D_0200184C); break; - case 0x1: - func_800996BC(D_800E7D4C[func_800B555C()], 0); + case MENU_ITEM_UI_START_BACKGROUND: + load_menu_img_comp_type(gMenuTexturesBackground[has_terminate_150cc()], LOAD_MENU_IMG_TKMK00_ONCE); break; - case 0x2: - func_8006EE44(); - gD_8018E118TotalSize += 0x10000; - func_80099184(D_020045E8); + case MENU_ITEM_UI_LOGO_AND_COPYRIGHT: + load_game_logo(); + sMenuTextureBufferIndex += 0x10000; + load_menu_img(gMenuTextureCopyright1996); break; - case 0x3: - func_80099184(D_02004610); + case MENU_ITEM_UI_PUSH_START_BUTTON: + load_menu_img(gMenuTexturePushStartButton); 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, - D_800E74E8[type - 0x23].blue); + case MAIN_MENU_BACKGROUND: + case CHARACTER_SELECT_BACKGROUND: + case COURSE_SELECT_BACKGROUND: + load_menu_img_comp_type(gMenuTexturesBackground[has_terminate_150cc()], LOAD_MENU_IMG_TKMK00_ONCE); + load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE); + convert_img_to_greyscale(0, 0x00000019); + adjust_img_colour(0, SCREEN_WIDTH * SCREEN_HEIGHT, D_800E74E8[type - 0x23].red, + D_800E74E8[type - 0x23].green, D_800E74E8[type - 0x23].blue); break; - case 0xF: - var_ra->unk1C = 0x00000020; + case MENU_ITEM_UI_OK: + var_ra->param1 = 0x00000020; /* fallthrough */ - case 0x0A: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: + case MENU_ITEM_UI_GAME_SELECT: + case MAIN_MENU_DATA_GFX: + case MAIN_MENU_OPTION_GFX: + case MAIN_MENU_50CC: + case MAIN_MENU_100CC: + case MAIN_MENU_150CC: case 0x15: case 0x16: case 0x17: - case 0x18: - case 0x19: - func_800996BC(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])); - break; - case 0x2A: - func_800996BC(D_02004B4C, 0); - break; - case 0x33: - func_800996BC(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])); - 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); - break; - case 0xA0: - case 0xA1: - var_ra->D_8018DEE0_index = func_8009A374(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 0x58: - case 0x59: - case 0x5A: - case 0x5B: - case 0x5C: - func_800996BC(segmented_to_virtual_dupe(D_800E82C4[type - 0x52]), 0); - break; - case 0x5F: - case 0x60: - case 0x61: - case 0x62: + case MAIN_MENU_TIME_TRIALS_BEGIN: + case MAIN_MENU_TIME_TRIALS_DATA: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8274[type - 0x12]), LOAD_MENU_IMG_TKMK00_ONCE); + break; + case MENU_ITEM_UI_1P_GAME: + case MENU_ITEM_UI_2P_GAME: + case MENU_ITEM_UI_3P_GAME: + case MENU_ITEM_UI_4P_GAME: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 0]), LOAD_MENU_IMG_TKMK00_ONCE); + load_menu_img(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 1])); + break; + case CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER: + load_menu_img_comp_type(D_02004B4C, LOAD_MENU_IMG_TKMK00_ONCE); + break; + case CHARACTER_SELECT_MENU_OK: + load_menu_img_comp_type(D_02004B74, LOAD_MENU_IMG_TKMK00_ONCE); + var_ra->param1 = 0x00000020; + break; + case CHARACTER_SELECT_MENU_1P_CURSOR: + case CHARACTER_SELECT_MENU_2P_CURSOR: + case CHARACTER_SELECT_MENU_3P_CURSOR: + case CHARACTER_SELECT_MENU_4P_CURSOR: + load_menu_img(segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[type - CHARACTER_SELECT_MENU_1P_CURSOR])); + break; + case CHARACTER_SELECT_MENU_MARIO: + case CHARACTER_SELECT_MENU_LUIGI: + case CHARACTER_SELECT_MENU_TOAD: + case CHARACTER_SELECT_MENU_PEACH: + case CHARACTER_SELECT_MENU_YOSHI: + case CHARACTER_SELECT_MENU_DK: + case CHARACTER_SELECT_MENU_WARIO: + case CHARACTER_SELECT_MENU_BOWSER: var_ra->D_8018DEE0_index = - 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_800E8320[type - 0x2B])); + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[type - 0x2B]), LOAD_MENU_IMG_TKMK00_ONCE); break; - case 0x5E: - var_ra->unk20 = random_int(4U) + 2; + case MENU_ITEM_TYPE_0A0: + case MENU_ITEM_TYPE_0A1: + var_ra->D_8018DEE0_index = + animate_character_select_menu(segmented_to_virtual_dupe_2(D_800E8320[type - 0xA0])); break; - case 0x65: - case 0x66: + case COURSE_SELECT_OK: + var_ra->param1 = 0x00000020; + /* fallthrough */ + case COURSE_SELECT_MAP_SELECT: + case COURSE_SELECT_MUSHROOM_CUP: + case COURSE_SELECT_FLOWER_CUP: + case COURSE_SELECT_STAR_CUP: + case COURSE_SELECT_SPECIAL_CUP: + case MENU_ITEM_TYPE_058: + case COURSE_SELECT_COURSE_NAMES: + case MENU_ITEM_TYPE_05A: + case MENU_ITEM_TYPE_05B: + case COURSE_SELECT_BATTLE_NAMES: + load_menu_img_comp_type(segmented_to_virtual_dupe(gMenuTexturesTrackSelection[type - 0x52]), LOAD_MENU_IMG_TKMK00_ONCE); + break; + case MENU_ITEM_TYPE_05F: + case MENU_ITEM_TYPE_060: + case MENU_ITEM_TYPE_061: + case MENU_ITEM_TYPE_062: + var_ra->D_8018DEE0_index = animate_character_select_menu( + segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[0][var_ra->type - 0x5F]])); + break; + case MENU_ITEM_TYPE_05E: + var_ra->param2 = random_int(4U) + 2; + break; + case MENU_ITEM_TYPE_065: + case MENU_ITEM_TYPE_066: var_ra->column = D_800E7248[type - 0x65].column; var_ra->row = D_800E7248[type - 0x65].row; break; - case 0x67: - var_ra->unk1C = (s32) 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])); + case MENU_ITEM_TYPE_067: + var_ra->param1 = (s32) gCupSelection; + var_ra->param2 = func_800B54C0(gCupSelection, gCCSelection); + var_ra->D_8018DEE0_index = animate_character_select_menu( + segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - var_ra->param2])); var_ra->column = D_800E7268[0].column; var_ra->row = D_800E7268[0].row; break; - case 0x68: - func_800996BC(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), 0); + case MENU_ITEM_TYPE_068: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E8294[gCCSelection]), LOAD_MENU_IMG_TKMK00_ONCE); var_ra->column = 0x00000037; var_ra->row = 0x000000C3; break; - case 0x69: - func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0); + case MENU_ITEM_TYPE_069: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE); if (controller_pak_1_status() == 0) { func_800B6708(); } else { @@ -5553,14 +5568,14 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { D_8018EE10[1].ghostDataSaved = 0; } break; - case 0x78: - case 0x79: - case 0x7A: - case 0x7B: - func_800996BC(segmented_to_virtual_dupe(D_800E82F4[type - 0x78]), 0); + case MENU_ITEM_TYPE_078: + case MENU_ITEM_TYPE_079: + case MENU_ITEM_TYPE_07A: + case MENU_ITEM_TYPE_07B: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E82F4[type - 0x78]), LOAD_MENU_IMG_TKMK00_ONCE); break; - case 0x8C: - func_800996BC(segmented_to_virtual_dupe(D_02004A34), 0); + case MENU_ITEM_TYPE_08C: + load_menu_img_comp_type(segmented_to_virtual_dupe(gMenuTextureData), LOAD_MENU_IMG_TKMK00_ONCE); if (controller_pak_1_status() == 0) { func_800B6708(); } else { @@ -5568,46 +5583,46 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { D_8018EE10[1].ghostDataSaved = 0; } break; - case 0x8D: - func_80099184(segmented_to_virtual_dupe(D_02001FA4)); - break; - case 0x7C: - case 0x7D: - case 0x7E: - case 0x7F: - case 0x80: - case 0x81: - case 0x82: - case 0x83: - case 0x84: - case 0x85: - case 0x86: - case 0x87: - case 0x88: - case 0x89: - case 0x8A: - case 0x8B: - temp_v0_6 = var_ra->type - 0x7C; - func_800996BC(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); - break; - case 0xB1: - case 0xB2: - case 0xB3: - case 0xB4: - temp_a1 = D_800EFD64[gCharacterSelections[type - 0xB1]]; + case MENU_ITEM_TYPE_08D: + load_menu_img(segmented_to_virtual_dupe(D_02001FA4)); + break; + case MENU_ITEM_TYPE_07C: + case MENU_ITEM_TYPE_07D: + case MENU_ITEM_TYPE_07E: + case MENU_ITEM_TYPE_07F: + case MENU_ITEM_TYPE_080: + case MENU_ITEM_TYPE_081: + case MENU_ITEM_TYPE_082: + case MENU_ITEM_TYPE_083: + case MENU_ITEM_TYPE_084: + case MENU_ITEM_TYPE_085: + case MENU_ITEM_TYPE_086: + case MENU_ITEM_TYPE_087: + case MENU_ITEM_TYPE_088: + case MENU_ITEM_TYPE_089: + case MENU_ITEM_TYPE_08A: + case MENU_ITEM_TYPE_08B: + temp_v0_6 = var_ra->type - MENU_ITEM_TYPE_07C; + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D74[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), LOAD_MENU_IMG_MIO0_ONCE); + temp_v0_6 = var_ra->type - MENU_ITEM_TYPE_07C; + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7DC4[gCupCourseOrder[temp_v0_6 / 4][temp_v0_6 % 4]]), LOAD_MENU_IMG_TKMK00_ONCE); + load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE); + break; + case MENU_ITEM_TYPE_0B1: + case MENU_ITEM_TYPE_0B2: + case MENU_ITEM_TYPE_0B3: + case MENU_ITEM_TYPE_0B4: + temp_a1 = D_800EFD64[gCharacterSelections[type - MENU_ITEM_TYPE_0B1]]; var_v1_3 = 0; - stackPadding0 = type - 0xB1; + stackPadding0 = type - MENU_ITEM_TYPE_0B1; switch (gModeSelection) { case 2: - if (gGPCurrentRaceRankByPlayerId[type - 0xB1] != 0) { + if (gGPCurrentRaceRankByPlayerId[type - MENU_ITEM_TYPE_0B1] != 0) { var_v1_3 = 1; } break; case 3: - if ((type - 0xB1) != gPlayerWinningIndex) { + if ((type - MENU_ITEM_TYPE_0B1) != gPlayerWinningIndex) { var_v1_3 = 1; } break; @@ -5620,26 +5635,26 @@ 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_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), LOAD_MENU_IMG_TKMK00_ONCE); + load_menu_img(segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[type - MENU_ITEM_TYPE_0B1])); break; - case 0xBB: - var_ra->unk1C = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]); - var_ra->unk20 = func_800B5218(); + case MENU_ITEM_TYPE_0BB: + var_ra->param1 = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]); + var_ra->param2 = func_800B5218(); if (D_80162DD4 != 1) { if (func_800051C4() >= 0x3C01) { D_80162DD4 = 1; } } - if ((var_ra->unk1C == 0) || (var_ra->unk20 != 0)) { + if ((var_ra->param1 == 0) || (var_ra->param2 != 0)) { func_800B559C((gCupSelection * 4) + gCourseIndexInCup); } break; - case 0xE6: - var_ra->D_8018DEE0_index = func_8009A374(segmented_to_virtual_dupe_2( + case MENU_ITEM_TYPE_0E6: + 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); + var_ra->param1 = gTimeTrialDataCourseIndex; + load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004A0C), LOAD_MENU_IMG_TKMK00_ONCE); func_8006EF60(); if (controller_pak_1_status() == 0) { func_800B6708(); @@ -5648,16 +5663,16 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { D_8018EE10[1].ghostDataSaved = 0; } break; - case 0xF0: - var_ra->cursor = (s32) gSoundMode; + case MENU_ITEM_TYPE_0F0: + var_ra->state = (s32) gSoundMode; break; - case 0xF1: - func_800996BC(segmented_to_virtual_dupe(D_02004638), 0); + case MENU_ITEM_TYPE_0F1: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_02004638), LOAD_MENU_IMG_TKMK00_ONCE); break; - case 0xBE: + case MENU_ITEM_TYPE_0BE: D_8018ED90 = 0; break; - case 0x130: + case MENU_ITEM_TYPE_130: temp_a1 = D_800EFD64[D_802874D8.unk1E]; if (D_802874D8.unk1D >= 3) { var_v0 = 1; @@ -5670,89 +5685,89 @@ 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); - break; - case 0x190: - case 0x191: - case 0x192: - case 0x193: - case 0x194: - case 0x195: - case 0x196: - case 0x197: - case 0x198: - case 0x199: - case 0x19A: - case 0x19B: - case 0x19C: - case 0x19D: - case 0x19E: - case 0x19F: - case 0x1A0: - case 0x1A1: - case 0x1A2: - case 0x1A3: - case 0x1A4: - case 0x1A5: - case 0x1A6: - case 0x1A7: - case 0x1A8: - case 0x1A9: - case 0x1AA: - case 0x1AB: - case 0x1AC: - case 0x1AD: - case 0x1AE: - case 0x1AF: - case 0x1B0: - case 0x1B1: - case 0x1B2: - case 0x1B3: - case 0x1B4: - case 0x1B5: - case 0x1B6: - case 0x1B7: - case 0x1B8: - case 0x1B9: - case 0x1BA: - case 0x1BB: - case 0x1BC: - case 0x1BD: - case 0x1BE: - case 0x1BF: - case 0x1C0: - case 0x1C1: - case 0x1C2: - case 0x1C3: - case 0x1C4: - case 0x1C5: - case 0x1C6: - case 0x1C7: - case 0x1C8: - case 0x1C9: - case 0x1CA: - case 0x1CB: - case 0x1CC: - case 0x1CD: - case 0x1CE: + load_menu_img_comp_type(segmented_to_virtual_dupe(D_800E7D54[temp_a1]), LOAD_MENU_IMG_TKMK00_ONCE); + break; + case MENU_ITEM_TYPE_190: + case MENU_ITEM_TYPE_191: + case MENU_ITEM_TYPE_192: + case MENU_ITEM_TYPE_193: + case MENU_ITEM_TYPE_194: + case MENU_ITEM_TYPE_195: + case MENU_ITEM_TYPE_196: + case MENU_ITEM_TYPE_197: + case MENU_ITEM_TYPE_198: + case MENU_ITEM_TYPE_199: + case MENU_ITEM_TYPE_19A: + case MENU_ITEM_TYPE_19B: + case MENU_ITEM_TYPE_19C: + case MENU_ITEM_TYPE_19D: + case MENU_ITEM_TYPE_19E: + case MENU_ITEM_TYPE_19F: + case MENU_ITEM_TYPE_1A0: + case MENU_ITEM_TYPE_1A1: + case MENU_ITEM_TYPE_1A2: + case MENU_ITEM_TYPE_1A3: + case MENU_ITEM_TYPE_1A4: + case MENU_ITEM_TYPE_1A5: + case MENU_ITEM_TYPE_1A6: + case MENU_ITEM_TYPE_1A7: + case MENU_ITEM_TYPE_1A8: + case MENU_ITEM_TYPE_1A9: + case MENU_ITEM_TYPE_1AA: + case MENU_ITEM_TYPE_1AB: + case MENU_ITEM_TYPE_1AC: + case MENU_ITEM_TYPE_1AD: + case MENU_ITEM_TYPE_1AE: + case MENU_ITEM_TYPE_1AF: + case MENU_ITEM_TYPE_1B0: + case MENU_ITEM_TYPE_1B1: + case MENU_ITEM_TYPE_1B2: + case MENU_ITEM_TYPE_1B3: + case MENU_ITEM_TYPE_1B4: + case MENU_ITEM_TYPE_1B5: + case MENU_ITEM_TYPE_1B6: + case MENU_ITEM_TYPE_1B7: + case MENU_ITEM_TYPE_1B8: + case MENU_ITEM_TYPE_1B9: + case MENU_ITEM_TYPE_1BA: + case MENU_ITEM_TYPE_1BB: + case MENU_ITEM_TYPE_1BC: + case MENU_ITEM_TYPE_1BD: + case MENU_ITEM_TYPE_1BE: + case MENU_ITEM_TYPE_1BF: + case MENU_ITEM_TYPE_1C0: + case MENU_ITEM_TYPE_1C1: + case MENU_ITEM_TYPE_1C2: + case MENU_ITEM_TYPE_1C3: + case MENU_ITEM_TYPE_1C4: + case MENU_ITEM_TYPE_1C5: + case MENU_ITEM_TYPE_1C6: + case MENU_ITEM_TYPE_1C7: + case MENU_ITEM_TYPE_1C8: + case MENU_ITEM_TYPE_1C9: + case MENU_ITEM_TYPE_1CA: + case MENU_ITEM_TYPE_1CB: + case MENU_ITEM_TYPE_1CC: + case MENU_ITEM_TYPE_1CD: + case MENU_ITEM_TYPE_1CE: default: break; } } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/add_8018D9E0_entry.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/load_menu_item_ui.s") #endif #ifdef NON_MATCHING // https://decomp.me/scratch/MatRp // Biggest diff left is in the case 0x12 though 0x19 handling. Not really sure what's going on there -// There's also a diff in the handling of D_800E77A0 in case 0x4. Not sure what's going on there either -void func_8009F5E0(struct_8018D9E0_entry* arg0) { +// There's also a diff in the handling of gTextNoController in case 0x4. Not sure what's going on there either +void render_menus(MenuItem* arg0) { s32 var_a1; s32 var_v1; UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; - MkTexture* sp9C; + MenuTexture* sp9C; UNUSED s32 stackPadding2; s32 temp_a0; s32 temp_t2; @@ -5767,32 +5782,32 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { f32 floatone = 1; UNUSED s32 stackPadding3; UNUSED s32 stackPadding4; - f32 var_f0; + f32 scaleX; - if ((s8) arg0->visible != 0) { + if ((s8) arg0->visible != false) { gDPPipeSync(gDisplayListHead++); - switch (arg0->type) { /* switch 6; irregular */ - case 0xFA: /* switch 6 */ - func_80094660(gGfxPool, arg0->unk1C); + switch (arg0->type) { /* switch 6; irregular */ + case MENU_ITEM_UI_LOGO_INTRO: /* switch 6 */ + func_80094660(gGfxPool, arg0->param1); break; - case 0xFB: /* switch 6 */ - func_800947B4(gGfxPool, arg0->unk1C); + case START_MENU_FLAG: /* switch 6 */ + render_checkered_flag(gGfxPool, arg0->param1); break; - case 0xD2: /* switch 6 */ + case MENU_ITEM_TYPE_0D2: /* switch 6 */ gDisplayListHead = func_8009B9D0(gDisplayListHead, D_020014C8); break; - case 0xD3: /* switch 6 */ + case MENU_ITEM_TYPE_0D3: /* switch 6 */ gDisplayListHead = func_8009B9D0(gDisplayListHead, D_02001540); break; - case 0xD4: /* switch 6 */ + case MENU_ITEM_TYPE_0D4: /* switch 6 */ func_800A09E0(arg0); func_800A0AD0(arg0); func_800A0B80(arg0); break; - case 0xD5: /* switch 6 */ - // Sets the text color of the text on the Controller Pak menu - // Also sets the color of the shading at the top and bottom of the menu - // Does not set color of the text in the table itself + case MENU_ITEM_TYPE_0D5: /* switch 6 */ + // Sets the text color of the text on the Controller Pak menu + // Also sets the color of the shading at the top and bottom of the menu + // Does not set color of the text in the table itself gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0xFF); gDisplayListHead = func_8009B9D0(gDisplayListHead, D_020015A4); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x32, 0x00, 0x00, 0xFF); @@ -5802,55 +5817,55 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x32, 0x32, 0x00, 0xFF); gDisplayListHead = func_8009B9D0(gDisplayListHead, D_02001658); break; - case 0xD6: /* switch 6 */ + case MENU_ITEM_TYPE_0D6: /* switch 6 */ func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, -1); break; - case 0xD7: /* switch 6 */ + case MENU_ITEM_TYPE_0D7: /* switch 6 */ func_800A0DFC(); break; - case 0xD8: /* switch 6 */ - case 0xD9: /* switch 6 */ + case MENU_ITEM_TYPE_0D8: /* switch 6 */ + case MENU_ITEM_TYPE_0D9: /* switch 6 */ func_800A0EB8(arg0, arg0->type - 0xD8); break; - case 0x1: /* switch 6 */ - gDisplayListHead = - func_8009BA74(gDisplayListHead, D_800E7D4C[func_800B555C()], arg0->column, arg0->row); + case MENU_ITEM_UI_START_BACKGROUND: /* switch 6 */ + gDisplayListHead = render_menu_textures( + gDisplayListHead, gMenuTexturesBackground[has_terminate_150cc()], arg0->column, arg0->row); break; - case 0x2: /* switch 6 */ - func_8004C8D4((arg0->column + 0xA0), (arg0->row + 0x47)); - gDisplayListHead = func_8009BA74(gDisplayListHead, D_020045E8, arg0->column, arg0->row); + case MENU_ITEM_UI_LOGO_AND_COPYRIGHT: /* switch 6 */ + render_game_logo((arg0->column + 0xA0), (arg0->row + 0x47)); + gDisplayListHead = render_menu_textures(gDisplayListHead, gMenuTextureCopyright1996, arg0->column, arg0->row); break; - case 0x3: /* switch 6 */ + case MENU_ITEM_UI_PUSH_START_BUTTON: /* switch 6 */ if (((gGlobalTimer / 8) % 3) != 0) { - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004610, arg0->column, arg0->row); + gDisplayListHead = render_menu_textures(gDisplayListHead, gMenuTexturePushStartButton, arg0->column, arg0->row); } break; - case 0x5: /* switch 6 */ + case MENU_ITEM_UI_START_RECORD_TIME: /* 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); - set_text_color(1); - draw_text(0x0000009B, 0x0000008C, gCourseNamesDup[0], 0, 0.9f, 0.9f); + set_text_color(TEXT_GREEN); + print_text1_center_mode_1(0x0000009B, 0x0000008C, gCourseNamesDup[0], 0, 0.9f, 0.9f); temp_v1 = func_800B4EB4(0, 7) & 0xFFFFF; if (temp_v1 < 0x1EAA) { set_text_color((s32) gGlobalTimer % 2); } else if (temp_v1 < 0x2329) { set_text_color((s32) gGlobalTimer % 3); } else { - set_text_color(3); + set_text_color(TEXT_YELLOW); } get_time_record_minutes(temp_v1, sp80); func_800939C8(0x00000077, 0x000000A0, sp80, 0, 1.0f, 1.0f); - func_80093324(0x0000008B, 0x000000A0, "'", 0, 1.0f, 1.0f); + print_text_mode_1(0x0000008B, 0x000000A0, "'", 0, 1.0f, 1.0f); get_time_record_seconds(temp_v1, sp80); func_800939C8(0x00000094, 0x000000A0, sp80, 0, 1.0f, 1.0f); - func_80093324(0x000000A7, 0x000000A0, "\"", 0, 1.0f, 1.0f); + print_text_mode_1(0x000000A7, 0x000000A0, "\"", 0, 1.0f, 1.0f); get_time_record_centiseconds(temp_v1, sp80); func_800939C8(0x000000B4, 0x000000A0, sp80, 0, 1.0f, 1.0f); break; - case 0x4: /* switch 6 */ - var_t0 = get_string_width(D_800E77A0[0]); - temp_v1 = get_string_width(D_800E77A0[1]); + case MENU_ITEM_UI_NO_CONTROLLER: /* switch 6 */ + var_t0 = get_string_width(gTextNoController[0]); + temp_v1 = get_string_width(gTextNoController[1]); if (var_t0 < temp_v1) { var_t0 = temp_v1; } @@ -5858,38 +5873,39 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { temp_t5 = (s32) (((why * 2) + 0.5) * 16.0) / 2; gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - temp_t2, 0xB6 - temp_t5, temp_t2 + 0xA0, temp_t5 + 0xB6, 0, 0, 0, 0x00000096); - set_text_color(4); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); for (temp_t9 = 0; temp_t9 < 2; temp_t9++) { - draw_text(0xA0 * one - floatone * why, (s32) (0xB4 * one + ((f32) (temp_t9 * 0x12) * why)), - D_800E77A0[temp_t9], 0, why, why); + print_text1_center_mode_1(0xA0 * one - floatone * why, + (s32) (0xB4 * one + ((f32) (temp_t9 * 0x12) * why)), gTextNoController[temp_t9], + 0, why, why); } break; - case 0x23: /* switch 6 */ - case 0x24: /* switch 6 */ - case 0x25: /* switch 6 */ - gDisplayListHead = - func_8009BC9C(gDisplayListHead, D_800E7D4C[func_800B555C()], arg0->column, arg0->row, 3, 0); + case MAIN_MENU_BACKGROUND: /* switch 6 */ + case CHARACTER_SELECT_BACKGROUND: /* switch 6 */ + case COURSE_SELECT_BACKGROUND: /* switch 6 */ + gDisplayListHead = func_8009BC9C(gDisplayListHead, gMenuTexturesBackground[has_terminate_150cc()], + arg0->column, arg0->row, 3, 0); break; - case 0xA: /* switch 6 */ - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004660, arg0->column, arg0->row); + case MENU_ITEM_UI_GAME_SELECT: /* switch 6 */ + gDisplayListHead = render_menu_textures(gDisplayListHead, gMenuTextureGameSelect, arg0->column, arg0->row); break; - case 0xB: /* switch 6 */ - case 0xC: /* switch 6 */ - case 0xD: /* switch 6 */ - case 0xE: /* switch 6 */ + case MENU_ITEM_UI_1P_GAME: /* switch 6 */ + case MENU_ITEM_UI_2P_GAME: /* switch 6 */ + case MENU_ITEM_UI_3P_GAME: /* switch 6 */ + case MENU_ITEM_UI_4P_GAME: /* switch 6 */ var_a1 = arg0->type - 0xB; func_800A8270(var_a1, arg0); func_800A0FA4(arg0, var_a1); break; - case 0xF: /* switch 6 */ + case MENU_ITEM_UI_OK: /* switch 6 */ func_800A8564(arg0); - gDisplayListHead = func_8009BC9C(gDisplayListHead, D_0200487C, arg0->column, arg0->row, 2, arg0->unk1C); + gDisplayListHead = func_8009BC9C(gDisplayListHead, D_0200487C, arg0->column, arg0->row, 2, arg0->param1); break; - case 0x10: /* switch 6 */ - case 0x11: /* switch 6 */ + case MAIN_MENU_OPTION_GFX: /* switch 6 */ + case MAIN_MENU_DATA_GFX: /* switch 6 */ var_a1 = arg0->type - 0xF; - if (arg0->unk1C < 0x20) { - temp_t9 = (arg0->unk1C * 0x3A) / 64; + if (arg0->param1 < 0x20) { + temp_t9 = (arg0->param1 * 0x3A) / 64; if (var_a1 == gMainMenuSelection) { gDisplayListHead = draw_flash_select_case_fast(gDisplayListHead, arg0->column + temp_t9, arg0->row, @@ -5902,45 +5918,45 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { } var_v1 = arg0->type - 0xA; gDisplayListHead = - func_8009BC9C(gDisplayListHead, D_800E8254[var_v1], arg0->column, arg0->row, 2, arg0->unk1C); - break; - case 0x12: /* switch 6 */ - case 0x13: /* switch 6 */ - case 0x14: /* switch 6 */ - case 0x15: /* switch 6 */ - case 0x16: /* switch 6 */ - case 0x17: /* switch 6 */ - case 0x18: /* switch 6 */ - case 0x19: /* switch 6 */ + func_8009BC9C(gDisplayListHead, D_800E8254[var_v1], arg0->column, arg0->row, 2, arg0->param1); + break; + case MAIN_MENU_50CC: /* switch 6 */ + case MAIN_MENU_100CC: /* switch 6 */ + case MAIN_MENU_150CC: /* switch 6 */ + case MENU_ITEM_TYPE_015: /* switch 6 */ + case MENU_ITEM_TYPE_016: /* switch 6 */ + case MENU_ITEM_TYPE_017: /* switch 6 */ + case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 6 */ + case MAIN_MENU_TIME_TRIALS_DATA: /* switch 6 */ var_v1 = gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; var_a1 = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - switch (arg0->type) { /* switch 5 */ - case 0x12: /* switch 5 */ - case 0x13: /* switch 5 */ - case 0x14: /* switch 5 */ - case 0x15: /* switch 5 */ + switch (arg0->type) { /* switch 5 */ + case MAIN_MENU_50CC: /* switch 5 */ + case MAIN_MENU_100CC: /* switch 5 */ + case MAIN_MENU_150CC: /* switch 5 */ + case MENU_ITEM_TYPE_015: /* switch 5 */ if ((var_a1 != 0) && (var_a1 != 2)) { var_v1 = -1; } var_a1 = 18; - sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]); + sp9C = segmented_to_virtual_dupe(D_800E8234[arg0->type - MAIN_MENU_50CC]); break; - case 0x16: /* switch 5 */ - case 0x17: /* switch 5 */ + case MENU_ITEM_TYPE_016: /* switch 5 */ + case MENU_ITEM_TYPE_017: /* switch 5 */ if (var_a1 != 2) { var_v1 = -1; } else { var_a1 = 22; - sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]); + sp9C = segmented_to_virtual_dupe(D_800E8234[arg0->type - MAIN_MENU_50CC]); } break; - case 0x18: /* switch 5 */ - case 0x19: /* 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 { var_a1 = 24; - sp9C = segmented_to_virtual_dupe(D_800E824C[arg0->type]); + sp9C = segmented_to_virtual_dupe(D_800E8234[arg0->type - MAIN_MENU_50CC]); } break; } @@ -5959,20 +5975,20 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F, arg0->row + 0x11, 1, 1, 1, 0x000000FF); } - gDisplayListHead = func_8009BA74(gDisplayListHead, sp9C, arg0->column, arg0->row); + gDisplayListHead = render_menu_textures(gDisplayListHead, sp9C, arg0->column, arg0->row); } break; - case 0x1B: /* switch 6 */ + case MENU_ITEM_TYPE_01B: /* switch 6 */ func_800A10CC(arg0); break; - case 0x2A: /* switch 6 */ - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004B4C, arg0->column, arg0->row); + case CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER: /* switch 6 */ + gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004B4C, arg0->column, arg0->row); break; - case 0x34: /* switch 6 */ - case 0x35: /* switch 6 */ - case 0x36: /* switch 6 */ - case 0x37: /* switch 6 */ - temp_a0 = arg0->type - 0x34; + case CHARACTER_SELECT_MENU_1P_CURSOR: /* switch 6 */ + case CHARACTER_SELECT_MENU_2P_CURSOR: /* switch 6 */ + case CHARACTER_SELECT_MENU_3P_CURSOR: /* switch 6 */ + case CHARACTER_SELECT_MENU_4P_CURSOR: /* switch 6 */ + temp_a0 = arg0->type - CHARACTER_SELECT_MENU_1P_CURSOR; if (gCharacterGridSelections[temp_a0]) { if (gCharacterGridIsSelected[temp_a0] == 0) { temp_t2 = 0x000000FF; @@ -5985,97 +6001,100 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { } temp_t2 += 0xBF; } - func_800A11D0(arg0, temp_a0, temp_t2); + render_cursor_player(arg0, temp_a0, temp_t2); } break; - case 0x33: /* switch 6 */ + case CHARACTER_SELECT_MENU_OK: /* switch 6 */ func_800A8564(arg0); - gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004B74, arg0->column, arg0->row, 2, arg0->unk1C); - break; - case 0x2B: /* switch 6 */ - case 0x2C: /* switch 6 */ - case 0x2D: /* switch 6 */ - case 0x2E: /* switch 6 */ - case 0x2F: /* switch 6 */ - case 0x30: /* switch 6 */ - case 0x31: /* switch 6 */ - case 0x32: /* switch 6 */ + gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004B74, arg0->column, arg0->row, 2, arg0->param1); + break; + case CHARACTER_SELECT_MENU_MARIO: /* switch 6 */ + case CHARACTER_SELECT_MENU_LUIGI: /* switch 6 */ + case CHARACTER_SELECT_MENU_TOAD: /* switch 6 */ + case CHARACTER_SELECT_MENU_PEACH: /* switch 6 */ + case CHARACTER_SELECT_MENU_YOSHI: /* switch 6 */ + case CHARACTER_SELECT_MENU_DK: /* switch 6 */ + case CHARACTER_SELECT_MENU_WARIO: /* switch 6 */ + case CHARACTER_SELECT_MENU_BOWSER: /* switch 6 */ func_800A12BC(arg0, segmented_to_virtual_dupe(D_800E7D54[arg0->type - 0x2B])); /* fallthrough */ - case 0xA0: /* switch 6 */ - case 0xA1: /* switch 6 */ - func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, arg0->unk1C); - break; - case 0x58: /* switch 6 */ - case 0x59: /* switch 6 */ - case 0x5A: /* switch 6 */ - case 0x5B: /* switch 6 */ - case 0x5C: /* switch 6 */ + case MENU_ITEM_TYPE_0A0: /* switch 6 */ + case MENU_ITEM_TYPE_0A1: /* switch 6 */ + func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, arg0->param1); + break; + case MENU_ITEM_TYPE_058: /* switch 6 */ + case COURSE_SELECT_COURSE_NAMES: /* switch 6 */ + case MENU_ITEM_TYPE_05A: /* switch 6 */ + case MENU_ITEM_TYPE_05B: /* switch 6 */ + case COURSE_SELECT_BATTLE_NAMES: /* switch 6 */ func_800A8A98(arg0); - gDisplayListHead = - func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg0->type - 0x52]), - arg0->column, arg0->row); + gDisplayListHead = render_menu_textures( + gDisplayListHead, + segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg0->type - COURSE_SELECT_MAP_SELECT]), + arg0->column, arg0->row); func_800A8CA4(arg0); break; - case 0x52: /* switch 6 */ - gDisplayListHead = - func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg0->type - 0x52]), - arg0->column, arg0->row); + case COURSE_SELECT_MAP_SELECT: /* switch 6 */ + gDisplayListHead = render_menu_textures( + gDisplayListHead, + segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg0->type - COURSE_SELECT_MAP_SELECT]), + arg0->column, arg0->row); break; - case 0x5F: /* switch 6 */ - case 0x60: /* switch 6 */ - case 0x61: /* switch 6 */ - case 0x62: /* switch 6 */ + case MENU_ITEM_TYPE_05F: /* switch 6 */ + case MENU_ITEM_TYPE_060: /* switch 6 */ + case MENU_ITEM_TYPE_061: /* switch 6 */ + case MENU_ITEM_TYPE_062: /* switch 6 */ func_800A1500(arg0); break; - case 0x53: /* switch 6 */ - case 0x54: /* switch 6 */ - case 0x55: /* switch 6 */ - case 0x56: /* switch 6 */ + case COURSE_SELECT_MUSHROOM_CUP: /* switch 6 */ + case COURSE_SELECT_FLOWER_CUP: /* switch 6 */ + case COURSE_SELECT_STAR_CUP: /* switch 6 */ + case COURSE_SELECT_SPECIAL_CUP: /* switch 6 */ var_a1 = arg0->type - 0x53; func_800A890C(var_a1, arg0); func_800A143C(arg0, var_a1); break; - case 0x5D: /* switch 6 */ + case COURSE_SELECT_OK: /* switch 6 */ func_800A8564(arg0); - gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004E80, arg0->column, arg0->row, 2, arg0->unk1C); + gDisplayListHead = func_8009BC9C(gDisplayListHead, D_02004E80, arg0->column, arg0->row, 2, arg0->param1); break; - case 0x65: /* switch 6 */ - case 0x66: /* switch 6 */ - if (arg0->type == 0x00000065) { - var_f0 = 0.6f; + case MENU_ITEM_TYPE_065: /* switch 6 */ + case MENU_ITEM_TYPE_066: /* switch 6 */ + if (arg0->type == MENU_ITEM_TYPE_065) { + scaleX = 0.6f; } else { - var_f0 = 0.8f; + scaleX = 0.8f; } func_800A86E8(arg0); - set_text_color(3); - func_80093324(arg0->column + 8, arg0->row + 0x10, D_800E7728[arg0->type - 0x65], 0, var_f0, 0.8f); + set_text_color(TEXT_YELLOW); + print_text_mode_1(arg0->column + 8, arg0->row + 0x10, gBestTimeText[arg0->type - 0x65], 0, scaleX, + 0.8f); func_800A874C(arg0); break; - case 0x6E: /* switch 6 */ - func_800A8E14(arg0); + case MENU_ITEM_TYPE_06E: /* switch 6 */ + render_battle_introduction(arg0); break; - case 0x67: /* switch 6 */ + case MENU_ITEM_TYPE_067: /* switch 6 */ func_800A8EC0(arg0); break; - case 0x68: /* switch 6 */ + case MENU_ITEM_TYPE_068: /* switch 6 */ gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F, arg0->row + 0x11, 1, 1, 1, 0x000000FF); - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8294[gCCSelection]), - arg0->column, arg0->row); + gDisplayListHead = render_menu_textures( + gDisplayListHead, segmented_to_virtual_dupe(D_800E8294[gCCSelection]), arg0->column, arg0->row); break; - case 0x69: /* switch 6 */ + case MENU_ITEM_TYPE_069: /* switch 6 */ func_800A8F48(arg0); break; - case 0x78: /* switch 6 */ - case 0x79: /* switch 6 */ - case 0x7A: /* switch 6 */ - case 0x7B: /* switch 6 */ + case MENU_ITEM_TYPE_078: /* switch 6 */ + case MENU_ITEM_TYPE_079: /* switch 6 */ + case MENU_ITEM_TYPE_07A: /* switch 6 */ + case MENU_ITEM_TYPE_07B: /* switch 6 */ var_a1 = arg0->type - 0x78; func_800A90D4(var_a1, arg0); func_800A143C(arg0, var_a1); break; - case 0x8C: /* switch 6 */ + case MENU_ITEM_TYPE_08C: /* switch 6 */ if ((gMainMenuSelection >= MAIN_MENU_MODE_SUB_SELECT) && (var_a1 == (arg0->type - var_v1))) { if (gMainMenuSelection > MAIN_MENU_MODE_SUB_SELECT) { gDisplayListHead = @@ -6089,208 +6108,211 @@ void func_8009F5E0(struct_8018D9E0_entry* arg0) { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x3F, arg0->row + 0x11, 1, 1, 1, 0x000000FF); } - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A34, arg0->column, arg0->row); - set_text_color(3); - func_800936B8(0x00000125, 0x0000001C, D_800E77B4, 0, 0.55f, 0.55f); + gDisplayListHead = render_menu_textures(gDisplayListHead, gMenuTextureData, arg0->column, arg0->row); + set_text_color(TEXT_YELLOW); + print_text1_left(0x00000125, 0x0000001C, gTextMenuData, 0, 0.55f, 0.55f); break; - case 0x8D: /* switch 6 */ + case MENU_ITEM_TYPE_08D: /* switch 6 */ func_800A1780(arg0); break; - case 0x7C: /* switch 6 */ - case 0x7D: /* switch 6 */ - case 0x7E: /* switch 6 */ - case 0x7F: /* switch 6 */ - case 0x80: /* switch 6 */ - case 0x81: /* switch 6 */ - case 0x82: /* switch 6 */ - case 0x83: /* switch 6 */ - case 0x84: /* switch 6 */ - case 0x85: /* switch 6 */ - case 0x86: /* switch 6 */ - case 0x87: /* switch 6 */ - case 0x88: /* switch 6 */ - case 0x89: /* switch 6 */ - case 0x8A: /* switch 6 */ - case 0x8B: /* switch 6 */ + case MENU_ITEM_TYPE_07C: /* switch 6 */ + case MENU_ITEM_TYPE_07D: /* switch 6 */ + case MENU_ITEM_TYPE_07E: /* switch 6 */ + case MENU_ITEM_TYPE_07F: /* switch 6 */ + case MENU_ITEM_TYPE_080: /* switch 6 */ + case MENU_ITEM_TYPE_081: /* switch 6 */ + case MENU_ITEM_TYPE_082: /* switch 6 */ + case MENU_ITEM_TYPE_083: /* switch 6 */ + case MENU_ITEM_TYPE_084: /* switch 6 */ + case MENU_ITEM_TYPE_085: /* switch 6 */ + case MENU_ITEM_TYPE_086: /* switch 6 */ + case MENU_ITEM_TYPE_087: /* switch 6 */ + case MENU_ITEM_TYPE_088: /* switch 6 */ + case MENU_ITEM_TYPE_089: /* switch 6 */ + case MENU_ITEM_TYPE_08A: /* switch 6 */ + case MENU_ITEM_TYPE_08B: /* switch 6 */ func_800A15EC(arg0); break; - case 0x96: /* switch 6 */ - set_text_color(4); - func_800936B8(arg0->column, arg0->row, gCupNames[D_800DC540], arg0->unk1C, arg0->unk24, 1.0f); + case MENU_ITEM_TYPE_096: /* switch 6 */ + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); + print_text1_left(arg0->column, arg0->row, gCupNames[D_800DC540], arg0->param1, arg0->paramf, 1.0f); break; - case 0x97: /* switch 6 */ - set_text_color(5); - func_80093324(arg0->column, arg0->row, gCourseNames[gCurrentCourseId], arg0->unk1C, arg0->unk24, 1.0f); + case MENU_ITEM_TYPE_097: /* switch 6 */ + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); + print_text_mode_1(arg0->column, arg0->row, gCourseNames[gCurrentCourseId], arg0->param1, arg0->paramf, + 1.0f); break; - case 0x98: /* switch 6 */ + case MENU_ITEM_TYPE_098: /* switch 6 */ func_800A2D1C(arg0); break; - case 0x5E: /* switch 6 */ + case MENU_ITEM_TYPE_05E: /* switch 6 */ gDisplayListHead = func_80096CD8(gDisplayListHead, 0x00000019, 0x00000072, 0x0000007CU, 0x0000004AU); break; - case 0xAA: /* switch 6 */ + case MENU_ITEM_TYPE_0AA: /* switch 6 */ func_800A2EB8(arg0); break; - case 0xAB: /* switch 6 */ + case MENU_ITEM_TYPE_0AB: /* switch 6 */ func_800A34A8(arg0); break; - case 0xAC: /* switch 6 */ + case MENU_ITEM_TYPE_0AC: /* switch 6 */ func_800A6154(arg0); break; - case 0xAF: /* switch 6 */ + case MENU_ITEM_TYPE_0AF: /* switch 6 */ func_800A6034(arg0); break; - case 0xB0: /* switch 6 */ + case MENU_ITEM_TYPE_0B0: /* switch 6 */ func_800A638C(arg0); break; - case 0xB1: /* switch 6 */ - case 0xB2: /* switch 6 */ - case 0xB3: /* switch 6 */ - case 0xB4: /* switch 6 */ - if (arg0->cursor != 0) { - var_v1 = arg0->type - 0xB1; - gDisplayListHead = - func_8009BA74(gDisplayListHead, - segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[gCharacterSelections[var_v1]]]), - arg0->column, arg0->row); - func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, var_v1, arg0->unk1C); - func_800A11D0(arg0, var_v1, 0x000000FF); + case MENU_ITEM_TYPE_0B1: /* switch 6 */ + case MENU_ITEM_TYPE_0B2: /* switch 6 */ + case MENU_ITEM_TYPE_0B3: /* switch 6 */ + case MENU_ITEM_TYPE_0B4: /* switch 6 */ + if (arg0->state != 0) { + var_v1 = arg0->type - MENU_ITEM_TYPE_0B1; + gDisplayListHead = render_menu_textures( + gDisplayListHead, + segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[gCharacterSelections[var_v1]]]), arg0->column, + arg0->row); + func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, var_v1, arg0->param1); + render_cursor_player(arg0, var_v1, 0x000000FF); } break; - case 0xB9: /* switch 6 */ - func_800A3C84(arg0); + case MENU_ITEM_TYPE_0B9: /* switch 6 */ + menu_item_end_time_trial_render(arg0); break; - case 0xBA: /* switch 6 */ + case MENU_ITEM_TYPE_0BA: /* switch 6 */ func_800A3E60(arg0); break; - case 0xBC: /* switch 6 */ + case MENU_ITEM_TYPE_0BC: /* switch 6 */ func_800A4A24(arg0); break; - case 0xC7: /* switch 6 */ + case MENU_ITEM_TYPE_0C7: /* switch 6 */ render_pause_menu(arg0); break; - case 0xBD: /* switch 6 */ + case MENU_ITEM_TYPE_0BD: /* switch 6 */ func_800A5738(arg0); break; - case 0xE6: /* switch 6 */ + case MENU_ITEM_TYPE_0E6: /* switch 6 */ func_800A1924(arg0); break; - case 0xE7: /* switch 6 */ + case MENU_ITEM_TYPE_0E7: /* switch 6 */ func_800A1A20(arg0); break; - case 0xE8: /* switch 6 */ - func_800A1BE0(arg0); + case MENU_ITEM_TYPE_0E8: /* switch 6 */ + menu_item_course_data_render(arg0); break; - case 0xE9: /* switch 6 */ + case MENU_ITEM_TYPE_0E9: /* switch 6 */ func_800A1DE0(arg0); break; - case 0xEA: /* switch 6 */ + case MENU_ITEM_TYPE_0EA: /* switch 6 */ func_800A1F30(arg0); break; - case 0xF0: /* switch 6 */ + case MENU_ITEM_TYPE_0F0: /* switch 6 */ func_800A1FB0(arg0); break; - case 0xF1: /* switch 6 */ - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004638, arg0->column, arg0->row); + case MENU_ITEM_TYPE_0F1: /* switch 6 */ + gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004638, arg0->column, arg0->row); break; - case 0x10E: /* switch 6 */ + case MENU_ITEM_TYPE_10E: /* switch 6 */ func_800A70E8(arg0); break; - case 0x12B: /* switch 6 */ + case MENU_ITEM_TYPE_12B: /* switch 6 */ func_800A7258(arg0); break; - case 0x12C: /* switch 6 */ + case MENU_ITEM_TYPE_12C: /* switch 6 */ func_800A72FC(arg0); break; - case 0x12D: /* switch 6 */ + case MENU_ITEM_TYPE_12D: /* switch 6 */ func_800A7448(arg0); break; - case 0x12E: /* switch 6 */ + case MENU_ITEM_TYPE_12E: /* switch 6 */ func_800A75A0(arg0); break; - case 0x12F: /* switch 6 */ + case MENU_ITEM_TYPE_12F: /* switch 6 */ func_800A761C(arg0); break; - case 0x130: /* switch 6 */ - if (arg0->cursor != 0) { - gDisplayListHead = func_8009BA74( + case MENU_ITEM_TYPE_130: /* switch 6 */ + if (arg0->state != 0) { + gDisplayListHead = render_menu_textures( gDisplayListHead, segmented_to_virtual_dupe(D_800E7D54[D_800EFD64[D_802874D8.unk1E]]), arg0->column, arg0->row); - func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, 0, arg0->unk1C); - } - break; - case 0x190: /* switch 6 */ - case 0x191: /* switch 6 */ - case 0x192: /* switch 6 */ - case 0x193: /* switch 6 */ - case 0x194: /* switch 6 */ - case 0x195: /* switch 6 */ - case 0x196: /* switch 6 */ - case 0x197: /* switch 6 */ - case 0x198: /* switch 6 */ - case 0x199: /* switch 6 */ - case 0x19A: /* switch 6 */ - case 0x19B: /* switch 6 */ - case 0x19C: /* switch 6 */ - case 0x19D: /* switch 6 */ - case 0x19E: /* switch 6 */ - case 0x19F: /* switch 6 */ - case 0x1A0: /* switch 6 */ - case 0x1A1: /* switch 6 */ - case 0x1A2: /* switch 6 */ - case 0x1A3: /* switch 6 */ - case 0x1A4: /* switch 6 */ - case 0x1A5: /* switch 6 */ - case 0x1A6: /* switch 6 */ - case 0x1A7: /* switch 6 */ - case 0x1A8: /* switch 6 */ - case 0x1A9: /* switch 6 */ - case 0x1AA: /* switch 6 */ - case 0x1AB: /* switch 6 */ - case 0x1AC: /* switch 6 */ - case 0x1AD: /* switch 6 */ - case 0x1AE: /* switch 6 */ - case 0x1AF: /* switch 6 */ - case 0x1B0: /* switch 6 */ - case 0x1B1: /* switch 6 */ - case 0x1B2: /* switch 6 */ - case 0x1B3: /* switch 6 */ - case 0x1B4: /* switch 6 */ - case 0x1B5: /* switch 6 */ - case 0x1B6: /* switch 6 */ - case 0x1B7: /* switch 6 */ - case 0x1B8: /* switch 6 */ - case 0x1B9: /* switch 6 */ - case 0x1BA: /* switch 6 */ - case 0x1BB: /* switch 6 */ - case 0x1BC: /* switch 6 */ - case 0x1BD: /* switch 6 */ - case 0x1BE: /* switch 6 */ - case 0x1BF: /* switch 6 */ - case 0x1C0: /* switch 6 */ - case 0x1C1: /* switch 6 */ - case 0x1C2: /* switch 6 */ - case 0x1C3: /* switch 6 */ - case 0x1C4: /* switch 6 */ - case 0x1C5: /* switch 6 */ - case 0x1C6: /* switch 6 */ - case 0x1C7: /* switch 6 */ - case 0x1C8: /* switch 6 */ - case 0x1C9: /* switch 6 */ - case 0x1CA: /* switch 6 */ - case 0x1CB: /* switch 6 */ - case 0x1CC: /* switch 6 */ - case 0x1CD: /* switch 6 */ - case 0x1CE: /* switch 6 */ - func_800A7790(arg0); + func_8009A7EC(arg0->D_8018DEE0_index, arg0->column, arg0->row, 0, arg0->param1); + } + break; + case MENU_ITEM_TYPE_190: /* switch 6 */ + case MENU_ITEM_TYPE_191: /* switch 6 */ + case MENU_ITEM_TYPE_192: /* switch 6 */ + case MENU_ITEM_TYPE_193: /* switch 6 */ + case MENU_ITEM_TYPE_194: /* switch 6 */ + case MENU_ITEM_TYPE_195: /* switch 6 */ + case MENU_ITEM_TYPE_196: /* switch 6 */ + case MENU_ITEM_TYPE_197: /* switch 6 */ + case MENU_ITEM_TYPE_198: /* switch 6 */ + case MENU_ITEM_TYPE_199: /* switch 6 */ + case MENU_ITEM_TYPE_19A: /* switch 6 */ + case MENU_ITEM_TYPE_19B: /* switch 6 */ + case MENU_ITEM_TYPE_19C: /* switch 6 */ + case MENU_ITEM_TYPE_19D: /* switch 6 */ + case MENU_ITEM_TYPE_19E: /* switch 6 */ + case MENU_ITEM_TYPE_19F: /* switch 6 */ + case MENU_ITEM_TYPE_1A0: /* switch 6 */ + case MENU_ITEM_TYPE_1A1: /* switch 6 */ + case MENU_ITEM_TYPE_1A2: /* switch 6 */ + case MENU_ITEM_TYPE_1A3: /* switch 6 */ + case MENU_ITEM_TYPE_1A4: /* switch 6 */ + case MENU_ITEM_TYPE_1A5: /* switch 6 */ + case MENU_ITEM_TYPE_1A6: /* switch 6 */ + case MENU_ITEM_TYPE_1A7: /* switch 6 */ + case MENU_ITEM_TYPE_1A8: /* switch 6 */ + case MENU_ITEM_TYPE_1A9: /* switch 6 */ + case MENU_ITEM_TYPE_1AA: /* switch 6 */ + case MENU_ITEM_TYPE_1AB: /* switch 6 */ + case MENU_ITEM_TYPE_1AC: /* switch 6 */ + case MENU_ITEM_TYPE_1AD: /* switch 6 */ + case MENU_ITEM_TYPE_1AE: /* switch 6 */ + case MENU_ITEM_TYPE_1AF: /* switch 6 */ + case MENU_ITEM_TYPE_1B0: /* switch 6 */ + case MENU_ITEM_TYPE_1B1: /* switch 6 */ + case MENU_ITEM_TYPE_1B2: /* switch 6 */ + case MENU_ITEM_TYPE_1B3: /* switch 6 */ + case MENU_ITEM_TYPE_1B4: /* switch 6 */ + case MENU_ITEM_TYPE_1B5: /* switch 6 */ + case MENU_ITEM_TYPE_1B6: /* switch 6 */ + case MENU_ITEM_TYPE_1B7: /* switch 6 */ + case MENU_ITEM_TYPE_1B8: /* switch 6 */ + case MENU_ITEM_TYPE_1B9: /* switch 6 */ + case MENU_ITEM_TYPE_1BA: /* switch 6 */ + case MENU_ITEM_TYPE_1BB: /* switch 6 */ + case MENU_ITEM_TYPE_1BC: /* switch 6 */ + case MENU_ITEM_TYPE_1BD: /* switch 6 */ + case MENU_ITEM_TYPE_1BE: /* switch 6 */ + case MENU_ITEM_TYPE_1BF: /* switch 6 */ + case MENU_ITEM_TYPE_1C0: /* switch 6 */ + case MENU_ITEM_TYPE_1C1: /* switch 6 */ + case MENU_ITEM_TYPE_1C2: /* switch 6 */ + case MENU_ITEM_TYPE_1C3: /* switch 6 */ + case MENU_ITEM_TYPE_1C4: /* switch 6 */ + case MENU_ITEM_TYPE_1C5: /* switch 6 */ + case MENU_ITEM_TYPE_1C6: /* switch 6 */ + case MENU_ITEM_TYPE_1C7: /* switch 6 */ + case MENU_ITEM_TYPE_1C8: /* switch 6 */ + case MENU_ITEM_TYPE_1C9: /* switch 6 */ + case MENU_ITEM_TYPE_1CA: /* switch 6 */ + case MENU_ITEM_TYPE_1CB: /* switch 6 */ + case MENU_ITEM_TYPE_1CC: /* switch 6 */ + case MENU_ITEM_TYPE_1CD: /* switch 6 */ + case MENU_ITEM_TYPE_1CE: /* switch 6 */ + menu_item_credit_render(arg0); break; } } } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009F5E0.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/render_menus.s") #endif +// GLOBAL_ASM("print_rodata.S") + void func_800A08D8(u8 arg0, s32 column, s32 row) { if (arg0 >= 0x10) { arg0 -= 0x10; @@ -6299,7 +6321,7 @@ void func_800A08D8(u8 arg0, s32 column, s32 row) { arg0 = 0x2B; } gDisplayListHead = - func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E7AF8[arg0]), column, row); + render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E7AF8[arg0]), column, row); } } } @@ -6321,36 +6343,31 @@ s32 func_800A095C(char* someString, s32 len, s32 column, s32 row) { return nonTerminatorCount; } -#ifdef NON_MATCHING -// Non-matching due to the constants 9 and 0xA being saved to the wrong registers -// Same functionality, but doesn't match byte for byte :/ -void func_800A09E0(struct_8018D9E0_entry* arg0) { - s32 table_row, x = 0x20, y; +void func_800A09E0(MenuItem* arg0) { + s32 table_row; + gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH - 1, 194); for (table_row = 0; table_row < 9; table_row++) { - if ((gControllerPakScrollDirection != CONTROLLER_PAK_SCROLL_DIR_NONE) || ((table_row != 0) && (table_row != 8))) { - y = (table_row * 0xA) + arg0->row; - gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200157C, x, y); + if (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE && (table_row == 0 || table_row == 8)) { + continue; } + gDisplayListHead = render_menu_textures(gDisplayListHead, D_0200157C, 0x20, (table_row * 0xA) + arg0->row); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A09E0.s") -#endif -void func_800A0AD0(UNUSED struct_8018D9E0_entry* arg0) { - struct_8018D9E0_entry* temp_t1; - // Find struct_8018D9E0_entry with a type/id of 0xDA - temp_t1 = find_8018D9E0_entry_dupe(0xDA); +void func_800A0AD0(UNUSED MenuItem* arg0) { + MenuItem* temp_t1; + // Find MenuItem with a type/id of 0xDA + temp_t1 = find_menu_items_type_dupe(MENU_ITEM_TYPE_0DA); if ((gControllerPakMenuSelection != CONTROLLER_PAK_MENU_SELECT_RECORD) && (gControllerPakMenuSelection != CONTROLLER_PAK_MENU_END)) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t1->unk20, 0x00, 0xFF); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t1->param2, 0x00, 0xFF); gDisplayListHead = - func_8009BA74(gDisplayListHead, D_02001874, 0x24, (gControllerPakSelectedTableRow * 0xA) + 0x7C); + render_menu_textures(gDisplayListHead, D_02001874, 0x24, (gControllerPakSelectedTableRow * 0xA) + 0x7C); } } -void func_800A0B80(struct_8018D9E0_entry* arg0) { +void func_800A0B80(MenuItem* arg0) { UNUSED s32 temp_a2; s32 temp_s1; s32 temp_s2; @@ -6406,18 +6423,18 @@ void func_800A0DFC(void) { temp_t6 = var_s0 % 10; var_s0 /= 10; gDisplayListHead = - func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D0C[temp_t6]), var_s1, 0x000000B8); + render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D0C[temp_t6]), var_s1, 0x000000B8); var_s1 -= 9; } while (var_s0 != 0); } -void func_800A0EB8(UNUSED struct_8018D9E0_entry* arg0, s32 arg1) { +void func_800A0EB8(UNUSED MenuItem* arg0, s32 arg1) { s32 var_t1; s32 thing; Unk_D_800E70A0* temp_v0; - struct_8018D9E0_entry* temp_t3; + MenuItem* temp_t3; - temp_t3 = find_8018D9E0_entry_dupe(0x000000DA); + temp_t3 = find_menu_items_type_dupe(MENU_ITEM_TYPE_0DA); if (arg1 == 0) { if (gControllerPakMenuSelection == CONTROLLER_PAK_MENU_END) { var_t1 = 1; @@ -6433,46 +6450,46 @@ void func_800A0EB8(UNUSED struct_8018D9E0_entry* arg0, s32 arg1) { } } temp_v0 = &D_800E7278[var_t1]; - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t3->unk20, 0x00, 0xFF); - gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200184C, (s32) temp_v0->column, (s32) temp_v0->row); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0xFF, temp_t3->param2, 0x00, 0xFF); + gDisplayListHead = render_menu_textures(gDisplayListHead, D_0200184C, (s32) temp_v0->column, (s32) temp_v0->row); } -void func_800A0FA4(struct_8018D9E0_entry* arg0, s32 arg1) { - switch (arg0->cursor) { +void func_800A0FA4(MenuItem* arg0, s32 arg1) { + switch (arg0->state) { case 0: case 2: case 3: - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]), - arg0->column, arg0->row); - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]), - arg0->column, arg0->row); + gDisplayListHead = render_menu_textures( + gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]), arg0->column, arg0->row); + gDisplayListHead = render_menu_textures( + gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]), arg0->column, arg0->row); break; case 1: case 4: gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]), - arg0->column, arg0->row, 2, arg0->unk1C); + arg0->column, arg0->row, 2, arg0->param1); gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]), - arg0->column, arg0->row, 2, arg0->unk1C); + arg0->column, arg0->row, 2, arg0->param1); break; } } -void func_800A10CC(struct_8018D9E0_entry* arg0) { +void func_800A10CC(MenuItem* arg0) { s32 var_s1; s32 index; - switch (arg0->cursor) { + switch (arg0->state) { case 2: case 3: case 4: case 5: gDisplayListHead = draw_box_fill(gDisplayListHead, 0x0000001E, 0x00000032, 0x00000122, 0x0000006E, 0, 0, 0, 0x000000FF); - index = arg0->cursor - 2; - set_text_color(3); + index = arg0->state - 2; + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 4; var_s1++) { // In a perfect world this would be `D_800E7940[index][var_s1]` - func_80093324(0x00000023, 0x41 + (0xD * var_s1), D_800E7940[(index * 4) + var_s1], 0, 0.65f, 0.65f); + print_text_mode_1(0x00000023, 0x41 + (0xD * var_s1), D_800E7940[(index * 4) + var_s1], 0, 0.65f, 0.65f); } break; default: @@ -6480,34 +6497,34 @@ void func_800A10CC(struct_8018D9E0_entry* arg0) { } } -void func_800A11D0(struct_8018D9E0_entry* arg0, s32 arg1, s32 arg2) { +void render_cursor_player(MenuItem* arg0, s32 arg1, s32 arg2) { RGBA16* temp_v1; temp_v1 = &D_800E74A8[arg1]; gDPSetPrimColor(gDisplayListHead++, 0, 0, temp_v1->red, temp_v1->green, temp_v1->blue, temp_v1->alpha); gDPSetEnvColor(gDisplayListHead++, arg2, arg2, arg2, 0x00); - gDisplayListHead = - func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82B4[arg1]), arg0->column, arg0->row); + gDisplayListHead = render_menu_textures( + gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesBorderPlayer[arg1]), arg0->column, arg0->row); } -void func_800A12BC(struct_8018D9E0_entry* arg0, MkTexture* arg1) { - switch (arg0->cursor) { +void func_800A12BC(MenuItem* arg0, MenuTexture* arg1) { + switch (arg0->state) { case 0: case 2: case 4: - gDisplayListHead = func_8009BA74(gDisplayListHead, arg1, arg0->column, arg0->row); + gDisplayListHead = render_menu_textures(gDisplayListHead, arg1, arg0->column, arg0->row); break; case 1: case 3: - gDisplayListHead = func_8009BC9C(gDisplayListHead, arg1, arg0->column, arg0->row, 2, arg0->unk1C); + gDisplayListHead = func_8009BC9C(gDisplayListHead, arg1, arg0->column, arg0->row, 2, arg0->param1); break; } } -void func_800A1350(struct_8018D9E0_entry* arg0) { +void func_800A1350(MenuItem* arg0) { s32 thing; if (func_800AAFCC(arg0->type - 0x2B) < 0) { - switch (arg0->cursor) { + switch (arg0->state) { case 0: case 2: case 4: @@ -6516,7 +6533,7 @@ void func_800A1350(struct_8018D9E0_entry* arg0) { break; case 1: case 3: - thing = arg0->unk1C; + thing = arg0->param1; gDisplayListHead = draw_box(gDisplayListHead, arg0->column + thing, arg0->row, (arg0->column - thing) + 0x40, arg0->row + 0x4C, 0, 0, 0, 0x00000064); break; @@ -6524,35 +6541,37 @@ void func_800A1350(struct_8018D9E0_entry* arg0) { } } -void func_800A143C(struct_8018D9E0_entry* arg0, s32 arg1) { - switch (arg0->cursor) { +void func_800A143C(MenuItem* arg0, s32 arg1) { + switch (arg0->state) { case 0: case 2: case 3: - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg1 + 1]), - arg0->column, arg0->row); + gDisplayListHead = + render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg1 + 1]), + arg0->column, arg0->row); break; case 1: case 4: - gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E82C4[arg1 + 1]), - arg0->column, arg0->row, 2, arg0->unk1C); + gDisplayListHead = + func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(gMenuTexturesTrackSelection[arg1 + 1]), + arg0->column, arg0->row, 2, arg0->param1); break; } } -void func_800A1500(struct_8018D9E0_entry* arg0) { - struct_8018D9E0_entry* temp_v0; +void func_800A1500(MenuItem* arg0) { + MenuItem* temp_v0; Unk_D_800E70A0* temp_v0_2; s32 var_a1; var_a1 = 0; - temp_v0 = find_8018D9E0_entry_dupe(0x00000064); - switch (temp_v0->cursor) { /* irregular */ + temp_v0 = find_menu_items_type_dupe(MENU_ITEM_TYPE_064); + switch (temp_v0->state) { /* irregular */ case 0: case 1: break; case 2: - if (((temp_v0->unk1C % 4) + 0x5F) != arg0->type) { + if (((temp_v0->param1 % 4) + 0x5F) != arg0->type) { var_a1 = 1; } break; @@ -6571,7 +6590,7 @@ void func_800A1500(struct_8018D9E0_entry* arg0) { } } -void func_800A15EC(struct_8018D9E0_entry* arg0) { +void func_800A15EC(MenuItem* arg0) { s16 courseId = gCupCourseOrder[(arg0->type - 0x7C) / 4][(arg0->type - 0x7C) % 4]; gDisplayListHead = func_8009C204(gDisplayListHead, segmented_to_virtual_dupe(D_800E7D74[courseId]), arg0->column, arg0->row, 2); @@ -6588,7 +6607,7 @@ void func_800A15EC(struct_8018D9E0_entry* arg0) { } } -void func_800A1780(struct_8018D9E0_entry* arg0) { +void func_800A1780(MenuItem* arg0) { RGBA16* temp_a1; RGBA16* temp_v1; s32 temp_a2; @@ -6597,22 +6616,23 @@ void func_800A1780(struct_8018D9E0_entry* arg0) { u32 blue; u32 alpha; - temp_v1 = &D_800E74D0[arg0->unk20]; - temp_a1 = &D_800E74D0[(arg0->unk20 + 1) % 3]; - temp_a2 = 256 - arg0->unk1C; - red = ((temp_v1->red * temp_a2) + (temp_a1->red * arg0->unk1C)) / 256; - green = ((temp_v1->green * temp_a2) + (temp_a1->green * arg0->unk1C)) / 256; - blue = ((temp_v1->blue * temp_a2) + (temp_a1->blue * arg0->unk1C)) / 256; - alpha = ((temp_v1->alpha * temp_a2) + (temp_a1->alpha * arg0->unk1C)) / 256; + temp_v1 = &D_800E74D0[arg0->param2]; + temp_a1 = &D_800E74D0[(arg0->param2 + 1) % 3]; + temp_a2 = 256 - arg0->param1; + red = ((temp_v1->red * temp_a2) + (temp_a1->red * arg0->param1)) / 256; + green = ((temp_v1->green * temp_a2) + (temp_a1->green * arg0->param1)) / 256; + blue = ((temp_v1->blue * temp_a2) + (temp_a1->blue * arg0->param1)) / 256; + alpha = ((temp_v1->alpha * temp_a2) + (temp_a1->alpha * arg0->param1)) / 256; gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_02001FA4), arg0->column, arg0->row); + gDisplayListHead = + render_menu_textures(gDisplayListHead, segmented_to_virtual_dupe(D_02001FA4), arg0->column, arg0->row); } -void func_800A1924(struct_8018D9E0_entry* arg0) { +void func_800A1924(MenuItem* arg0) { func_8009A76C(arg0->D_8018DEE0_index, 0x17, 0x84, -1); if (func_800B639C(gTimeTrialDataCourseIndex) >= TIME_TRIAL_DATA_LUIGI_RACEWAY) { gDisplayListHead = draw_flash_select_case_slow(gDisplayListHead, 0x57, 0x84, 0x96, 0x95); - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A0C, 0x57, 0x84); + gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004A0C, 0x57, 0x84); } func_8004EF9C(gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]); do { @@ -6620,7 +6640,7 @@ void func_800A1924(struct_8018D9E0_entry* arg0) { } while (0); } -void func_800A1A20(struct_8018D9E0_entry* arg0) { +void func_800A1A20(MenuItem* arg0) { s16 courseId; s32 recordType; s32 rowOffset; @@ -6628,30 +6648,30 @@ void func_800A1A20(struct_8018D9E0_entry* arg0) { courseId = gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]; arg0->column = 0x14; set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); - draw_text(0x69, arg0->row + 0x19, gCourseNamesDup[courseId], 0, 0.75f, 0.75f); + print_text1_center_mode_1(0x69, arg0->row + 0x19, gCourseNamesDup[courseId], 0, 0.75f, 0.75f); set_text_color(TEXT_RED); - func_80093324(0x2D, arg0->row + 0x28, (char*) &D_800E77D8, 0, 0.75f, 0.75f); - func_800936B8(0xA5, arg0->row + 0x28, sCourseLengths[courseId], 1, 0.75f, 0.75f); + print_text_mode_1(0x2D, arg0->row + 0x28, (char*) &D_800E77D8, 0, 0.75f, 0.75f); + print_text1_left(0xA5, arg0->row + 0x28, sCourseLengths[courseId], 1, 0.75f, 0.75f); set_text_color(TEXT_YELLOW); - func_80093324(0xA0, arg0->row + 0x86, D_800E7728[0], 0, 0.75f, 0.75f); + print_text_mode_1(0xA0, arg0->row + 0x86, gBestTimeText[0], 0, 0.75f, 0.75f); // Print the 3 Lap Time Trial records for (recordType = TIME_TRIAL_3LAP_RECORD_1, rowOffset = 0; recordType < TIME_TRIAL_1LAP_RECORD; recordType++, rowOffset += 0xD) { set_text_color(TEXT_RED); - func_800A474C(recordType, 0x96, arg0->row + rowOffset + 0x92); + render_player_time(recordType, 0x96, arg0->row + rowOffset + 0x92); } set_text_color(TEXT_YELLOW); - func_80093324(0xA0, arg0->row + 0xD5, D_800E7728[1], 0, 0.75f, 0.75f); - func_800A474C(TIME_TRIAL_1LAP_RECORD, 0x96, arg0->row + 0xE1); + print_text_mode_1(0xA0, arg0->row + 0xD5, gBestTimeText[1], 0, 0.75f, 0.75f); + render_player_time(TIME_TRIAL_1LAP_RECORD, 0x96, arg0->row + 0xE1); } -void func_800A1BE0(struct_8018D9E0_entry* arg0) { +void menu_item_course_data_render(MenuItem* arg0) { UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; UNUSED s32 stackPadding2; UNUSED char* wut; Unk_D_800E70A0 sp78; - s32 var_s0; + s32 i; s32 var_s1; s32 var_s2; UNUSED s32 thing; @@ -6659,14 +6679,14 @@ void func_800A1BE0(struct_8018D9E0_entry* arg0) { temp_s6 = &gSaveData.allCourseTimeTrialRecords.cupRecords[gTimeTrialDataCourseIndex / 4] .courseRecords[gTimeTrialDataCourseIndex % 4]; - for (var_s0 = 0; var_s0 < ARRAY_COUNT(D_800E7834); var_s0++) { - wut = D_800E7834[var_s0]; + for (i = 0; i < ARRAY_COUNT(gTextMenuOption); i++) { + wut = gTextMenuOption[i]; var_s1 = 0; - if (var_s0 == gCourseRecordsMenuSelection) { - var_s2 = 5; + if (i == gCourseRecordsMenuSelection) { + var_s2 = TEXT_BLUE_GREEN_RED_CYCLE_2; } else { - var_s2 = 1; - switch (var_s0) { /* irregular */ + var_s2 = TEXT_GREEN; + switch (i) { /* irregular */ case COURSE_RECORDS_MENU_ERASE_RECORDS: if (temp_s6->unknownBytes[0] == 0) { var_s1 = 1; @@ -6680,12 +6700,12 @@ void func_800A1BE0(struct_8018D9E0_entry* arg0) { } } if (var_s1 != 0) { - set_text_color(0); + set_text_color(TEXT_BLUE); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96); - func_80093358(0x00000025, 0x3F + (0xD * var_s0), D_800E7834[var_s0], 0, 0.6f, 0.6f); + print_text_mode_2(0x00000025, 0x3F + (0xD * i), gTextMenuOption[i], 0, 0.6f, 0.6f); } else { set_text_color(var_s2); - func_80093324(0x00000025, 0x3F + (0xD * var_s0), D_800E7834[var_s0], 0, 0.6f, 0.6f); + print_text_mode_1(0x00000025, 0x3F + (0xD * i), gTextMenuOption[i], 0, 0.6f, 0.6f); } } sp78.column = 0x001F; @@ -6693,7 +6713,7 @@ void func_800A1BE0(struct_8018D9E0_entry* arg0) { func_800A66A8(arg0, (Unk_D_800E70A0*) &sp78); } -void func_800A1DE0(struct_8018D9E0_entry* arg0) { +void func_800A1DE0(MenuItem* arg0) { UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; UNUSED s32 stackPadding2; @@ -6704,13 +6724,13 @@ void func_800A1DE0(struct_8018D9E0_entry* arg0) { s32 var_s1; UNUSED char* wut; - set_text_color(1); + set_text_color(TEXT_GREEN); for (var_s1 = 0; var_s1 < 3; var_s1++) { // Removing `wut` introduces counter intuitive changes to how this loop is handled - // Also, in a perfect world this would be `D_800E7848[gCourseRecordsMenuSelection - 1][var_s1]` - wut = D_800E7848[(gCourseRecordsMenuSelection - 1) * 3 + var_s1]; - func_80093324(0x0000001B, 0x3C + (0xD * var_s1), D_800E7848[(gCourseRecordsMenuSelection - 1) * 3 + var_s1], 0, - 0.65f, 0.65f); + // Also, in a perfect world this would be `gEraseBestGhostText[gCourseRecordsMenuSelection - 1][var_s1]` + wut = gEraseBestGhostText[(gCourseRecordsMenuSelection - 1) * 3 + var_s1]; + print_text_mode_1(0x0000001B, 0x3C + (0xD * var_s1), + gEraseBestGhostText[(gCourseRecordsMenuSelection - 1) * 3 + var_s1], 0, 0.65f, 0.65f); } for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7840); var_s1++) { @@ -6721,7 +6741,7 @@ void func_800A1DE0(struct_8018D9E0_entry* arg0) { var_a0 = 1; } set_text_color(var_a0); - func_80093324(0x00000043, 0x6E + (0xD * var_s1), D_800E7840[var_s1], 0, 0.65f, 0.65f); + print_text_mode_1(0x00000043, 0x6E + (0xD * var_s1), D_800E7840[var_s1], 0, 0.65f, 0.65f); } sp58.column = 0x003B; @@ -6729,19 +6749,19 @@ void func_800A1DE0(struct_8018D9E0_entry* arg0) { func_800A66A8(arg0, &sp58); } -void func_800A1F30(UNUSED struct_8018D9E0_entry* unused) { +void func_800A1F30(UNUSED MenuItem* unused) { s32 row; s32 text; set_text_color(TEXT_RED); for (row = 0x49, text = 0; row < 0x69; row += 0x10, text++) { - func_80093324(0x2A, row, D_800E7860[text], 0, 0.75f, 0.75f); + print_text_mode_1(0x2A, row, D_800E7860[text], 0, 0.75f, 0.75f); } } #ifdef NON_MATCHING // Register allocation stuff, minor stack diffs -void func_800A1FB0(struct_8018D9E0_entry* arg0) { +void func_800A1FB0(MenuItem* arg0) { Unk_D_800E70A0 spE0; UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; @@ -6764,31 +6784,32 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { struct_8018EE10_entry* var_v1; gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x00000140, 0x000000F0, 0, 0, 0, 0x00000064); - switch (gSubMenuSelection) { /* switch 1 */ + switch (gSubMenuSelection) { /* switch 1 */ case SUB_MENU_OPTION_RETURN_GAME_SELECT: /* switch 1 */ case SUB_MENU_OPTION_SOUND_MODE: /* switch 1 */ case SUB_MENU_OPTION_COPY_CONTROLLER_PAK: /* switch 1 */ case SUB_MENU_OPTION_ERASE_ALL_DATA: /* switch 1 */ - for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7868); stackPadding0++) { + for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(gTextOptionMenu); stackPadding0++) { set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_OPTION_MIN, stackPadding0, 3); - func_80093324(0x00000032, 0x55 + (0x23 * stackPadding0), D_800E7868[stackPadding0], 0, 0.9f, 1.0f); + print_text_mode_1(0x00000032, 0x55 + (0x23 * stackPadding0), gTextOptionMenu[stackPadding0], 0, 0.9f, + 1.0f); if (stackPadding0 == (gSubMenuSelection - SUB_MENU_OPTION_MIN)) { spE0.column = 0x0032; spE0.row = 0x55 + (0x23 * stackPadding0); } } - set_text_color(1); - draw_text(0x000000E6, 0x55 + 0x23, gSoundModeNames[gSoundMode], 0, 1.0f, 1.0f); + set_text_color(TEXT_GREEN); + print_text1_center_mode_1(0x000000E6, 0x55 + 0x23, gSoundModeNames[gSoundMode], 0, 1.0f, 1.0f); break; - case SUB_MENU_ERASE_QUIT: /* switch 1 */ + case SUB_MENU_ERASE_QUIT: /* switch 1 */ case SUB_MENU_ERASE_ERASE: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7878); stackPadding0++) { - func_80093324(0x00000028, 0x55 + (0x14 * stackPadding0), D_800E7878[stackPadding0], 0, 1.0f, 1.0f); + print_text_mode_1(0x00000028, 0x55 + (0x14 * stackPadding0), D_800E7878[stackPadding0], 0, 1.0f, 1.0f); } for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7840); stackPadding0++) { set_text_color_rainbow_if_selected(gSubMenuSelection - SUB_MENU_ERASE_MIN, stackPadding0, 1); - func_80093324(0x00000084, 0x96 + (0x19 * stackPadding0), D_800E7840[stackPadding0], 0, 1.0f, 1.0f); + print_text_mode_1(0x00000084, 0x96 + (0x19 * stackPadding0), D_800E7840[stackPadding0], 0, 1.0f, 1.0f); if (stackPadding0 == (gSubMenuSelection - SUB_MENU_ERASE_MIN)) { spE0.column = 0x0084; spE0.row = 0x96 + (0x19 * stackPadding0); @@ -6796,53 +6817,53 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { } break; case SUB_MENU_SAVE_DATA_ERASED: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7884); stackPadding0++) { - func_80093324(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E7884[stackPadding0], 0, 1.0f, 1.0f); + print_text_mode_1(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E7884[stackPadding0], 0, 1.0f, 1.0f); } break; case SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P: /* switch 1 */ - set_text_color(2); + case SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA: /* switch 1 */ + case SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P: /* switch 1 */ + case SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P: /* switch 1 */ + set_text_color(TEXT_RED); var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_ERROR_2P_MIN; for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E78D0) / 4; stackPadding0++) { // 12 / 4 = 3 - func_80093324(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E78D0[(var_s1 * 3) + stackPadding0], 0, - 0.9f, 0.9f); + print_text_mode_1(0x00000032, 0x55 + (0x14 * stackPadding0), D_800E78D0[(var_s1 * 3) + stackPadding0], + 0, 0.9f, 0.9f); } break; - case SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P: /* switch 1 */ + case SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P: /* switch 1 */ + case SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P: /* switch 1 */ case SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P: /* switch 1 */ - set_text_color(2); + case SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P: /* switch 1 */ + set_text_color(TEXT_RED); var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_ERROR_1P_MIN; for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7890) / 4; stackPadding0++) { // 16 / 4 = 4 - func_80093324(0x00000023, 0x55 + (0x14 * stackPadding0), D_800E7890[(var_s1 * 4) + stackPadding0], 0, - 0.8f, 0.8f); + print_text_mode_1(0x00000023, 0x55 + (0x14 * stackPadding0), D_800E7890[(var_s1 * 4) + stackPadding0], + 0, 0.8f, 0.8f); } break; case SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P: /* switch 1 */ case SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P: /* switch 1 */ - set_text_color(2); + set_text_color(TEXT_RED); var_s1 = gSubMenuSelection - SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN; for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7900) / 2; stackPadding0++) { // 6 / 2 = 3 - func_80093324(0x00000041, 0x55 + (0x14 * stackPadding0), D_800E7900[(var_s1 * 3) + stackPadding0], 0, - 0.9f, 0.9f); + print_text_mode_1(0x00000041, 0x55 + (0x14 * stackPadding0), D_800E7900[(var_s1 * 3) + stackPadding0], + 0, 0.9f, 0.9f); } break; case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT: /* switch 1 */ case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (stackPadding0 = 0; stackPadding0 < ARRAY_COUNT(D_800E7A48); stackPadding0++) { - func_80093324(0x00000050, 0x55 + (0x14 * stackPadding0), D_800E7A48[stackPadding0], 0, 1.0f, 1.0f); + print_text_mode_1(0x00000050, 0x55 + (0x14 * stackPadding0), D_800E7A48[stackPadding0], 0, 1.0f, 1.0f); } break; case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: /* switch 1 */ case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: /* switch 1 */ - case SUB_MENU_COPY_PAK_TO_GHOST1_2P: /* switch 1 */ - case SUB_MENU_COPY_PAK_TO_GHOST2_2P: /* switch 1 */ + case SUB_MENU_COPY_PAK_TO_GHOST1_2P: /* switch 1 */ + case SUB_MENU_COPY_PAK_TO_GHOST2_2P: /* switch 1 */ switch (gSubMenuSelection) { case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: @@ -6859,10 +6880,10 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { break; } set_text_color(var_s4 + 1); - draw_text(0x000000A0, 0x00000055, D_800E7920[var_s4], 0, 0.6f, 0.6f); + print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7920[var_s4], 0, 0.6f, 0.6f); for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) { - set_text_color(3); - draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); + set_text_color(TEXT_YELLOW); + print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); for (var_s2 = 0; var_s2 < 2; var_s2++) { if (var_s1 != var_s4) { text_rainbow_effect(gSubMenuSelection - var_s5, var_s2, TEXT_GREEN); @@ -6870,22 +6891,22 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { spE0.column = 0x20 + (0x89 * var_s1); spE0.row = 0x96 + (0x1E * var_s2); } - } else if ((var_s4 != 0) && (var_s2 == arg0->unk20)) { + } else if ((var_s4 != 0) && (var_s2 == arg0->param2)) { set_text_color((s32) gGlobalTimer % 3); } else { - set_text_color(1); + set_text_color(TEXT_GREEN); } convert_number_to_ascii(var_s2 + 1, &spB8[0]); - func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spB8[1], 0, 0.6f, 0.6f); + print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spB8[1], 0, 0.6f, 0.6f); if (var_s1 == 0) { var_v1 = &D_8018EE10[var_s2]; } else { - var_v1 = &((struct_8018EE10_entry*) D_8018D9C0)[var_s2]; + var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2]; } if (var_v1->ghostDataSaved == 0) { - func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); + print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); } else { - func_80093324( + print_text_mode_1( 0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); @@ -6895,36 +6916,36 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { break; case SUB_MENU_COPY_PAK_PROMPT_QUIT: /* switch 1 */ case SUB_MENU_COPY_PAK_PROMPT_COPY: /* switch 1 */ - set_text_color(2); + set_text_color(TEXT_RED); for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7928); var_s1++) { - draw_text(0x000000A0, 0x4D + (0x14 * var_s1), D_800E7928[var_s1], 0, 0.8f, 0.8f); + print_text1_center_mode_1(0x000000A0, 0x4D + (0x14 * var_s1), D_800E7928[var_s1], 0, 0.8f, 0.8f); } for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) { - set_text_color(3); - draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); + set_text_color(TEXT_YELLOW); + print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); for (var_s2 = 0; var_s2 != 2; var_s2++) { if (var_s1 == 0) { - if (var_s2 == arg0->unk1C) { + if (var_s2 == arg0->param1) { set_text_color((s32) gGlobalTimer % 3); } else { - set_text_color(1); + set_text_color(TEXT_GREEN); } - } else if (var_s2 == arg0->unk20) { + } else if (var_s2 == arg0->param2) { set_text_color((s32) gGlobalTimer % 3); } else { - set_text_color(1); + set_text_color(TEXT_GREEN); } convert_number_to_ascii(var_s2 + 1, &spA8[0]); - func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spA8[1], 0, 0.6f, 0.6f); + print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spA8[1], 0, 0.6f, 0.6f); if (var_s1 == 0) { var_v1 = &D_8018EE10[var_s2]; } else { - var_v1 = &((struct_8018EE10_entry*) D_8018D9C0)[var_s2]; + var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2]; } if (var_v1->ghostDataSaved == 0) { - func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); + print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); } else { - func_80093324( + print_text_mode_1( 0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); @@ -6938,45 +6959,45 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { spE0.row = 0x00D2; } text_rainbow_effect((gSubMenuSelection - SUB_MENU_COPY_PAK_PROMPT_MIN), var_s2, TEXT_YELLOW); - func_80093324(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f); + print_text_mode_1(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f); } break; - case SUB_MENU_COPY_PAK_START: /* switch 1 */ - case SUB_MENU_COPY_PAK_COPYING: /* switch 1 */ + case SUB_MENU_COPY_PAK_START: /* switch 1 */ + case SUB_MENU_COPY_PAK_COPYING: /* switch 1 */ case SUB_MENU_COPY_PAK_COMPLETED: /* switch 1 */ var_s5 = (gSubMenuSelection - SUB_MENU_COPY_PAK_ACTION_MIN) / 2; - set_text_color(2); - draw_text(0x000000A0, 0x00000055, D_800E7938[var_s5], 0, 1.0f, 1.0f); + set_text_color(TEXT_RED); + print_text1_center_mode_1(0x000000A0, 0x00000055, D_800E7938[var_s5], 0, 1.0f, 1.0f); for (var_s1 = 0; var_s1 < ARRAY_COUNT(D_800E7918); var_s1++) { - set_text_color(3); - draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); + set_text_color(TEXT_YELLOW); + print_text1_center_mode_1(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); for (var_s2 = 0; var_s2 < 2; var_s2++) { if (var_s1 == 0) { - if (var_s2 == arg0->unk1C) { + if (var_s2 == arg0->param1) { if (var_s5 == 0) { - set_text_color(2); + set_text_color(TEXT_RED); } else { set_text_color(gGlobalTimer % 3); } } else { - set_text_color(1); + set_text_color(TEXT_GREEN); } - } else if (var_s2 == arg0->unk20) { - set_text_color(2); + } else if (var_s2 == arg0->param2) { + set_text_color(TEXT_RED); } else { - set_text_color(1); + set_text_color(TEXT_GREEN); } convert_number_to_ascii(var_s2 + 1, &sp98[0]); - func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &sp98[1], 0, 0.6f, 0.6f); + print_text_mode_1(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &sp98[1], 0, 0.6f, 0.6f); if (var_s1 == 0) { var_v1 = &D_8018EE10[var_s2]; } else { - var_v1 = &((struct_8018EE10_entry*) D_8018D9C0)[var_s2]; + var_v1 = &((struct_8018EE10_entry*) gSomeDLBuffer)[var_s2]; } if (var_v1->ghostDataSaved == 0) { - func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); + print_text_mode_1(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); } else { - func_80093324( + print_text_mode_1( 0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); @@ -6985,13 +7006,13 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { } break; } - switch (gSubMenuSelection) { /* switch 2 */ - case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: /* switch 2 */ - case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: /* switch 2 */ - case SUB_MENU_COPY_PAK_TO_GHOST1_2P: /* switch 2 */ - case SUB_MENU_COPY_PAK_TO_GHOST2_2P: /* switch 2 */ - case SUB_MENU_COPY_PAK_PROMPT_QUIT: /* switch 2 */ - case SUB_MENU_COPY_PAK_PROMPT_COPY: /* switch 2 */ + switch (gSubMenuSelection) { /* switch 2 */ + case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: /* switch 2 */ + case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: /* switch 2 */ + case SUB_MENU_COPY_PAK_TO_GHOST1_2P: /* switch 2 */ + case SUB_MENU_COPY_PAK_TO_GHOST2_2P: /* switch 2 */ + case SUB_MENU_COPY_PAK_PROMPT_QUIT: /* switch 2 */ + case SUB_MENU_COPY_PAK_PROMPT_COPY: /* switch 2 */ spE0.column -= 5; spE0.row -= 6; break; @@ -7006,18 +7027,18 @@ void func_800A1FB0(struct_8018D9E0_entry* arg0) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1FB0.s") #endif -void func_800A2D1C(struct_8018D9E0_entry* arg0) { +void func_800A2D1C(MenuItem* arg0) { switch (D_80164A28) { case 1: gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x13F, 0x28); gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xC7, 0x13F, 0xEF); - arg0->unk1C = 0x28; + arg0->param1 = 0x28; break; case 2: - arg0->unk1C -= 2; - if (arg0->unk1C > 0) { - gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x13F, arg0->unk1C); - gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->unk1C, 0x13F, 0xEF); + arg0->param1 -= 2; + if (arg0->param1 > 0) { + gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x13F, arg0->param1); + gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->param1, 0x13F, 0xEF); } else { arg0->type = 0; } @@ -7026,10 +7047,10 @@ void func_800A2D1C(struct_8018D9E0_entry* arg0) { if ((gModeSelection != GRAND_PRIX) || (gPlayerCountSelection1 != 1) || (gDemoUseController != 0)) { arg0->type = 0; } else { - arg0->unk1C -= 2; - if (arg0->unk1C > 0) { - gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x13F, arg0->unk1C); - gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->unk1C, 0x13F, 0xEF); + arg0->param1 -= 2; + if (arg0->param1 > 0) { + gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x13F, arg0->param1); + gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->param1, 0x13F, 0xEF); } else { arg0->type = 0; } @@ -7038,7 +7059,7 @@ void func_800A2D1C(struct_8018D9E0_entry* arg0) { } } -void func_800A2EB8(struct_8018D9E0_entry* arg0) { +void func_800A2EB8(MenuItem* arg0) { s8 sp70[8]; UNUSED s32 stackPadding0; char sp68[3]; @@ -7050,11 +7071,11 @@ void func_800A2EB8(struct_8018D9E0_entry* arg0) { sp70[var_s2] = gPlayers[gGPCurrentRacePlayerIdByRank[var_s2]].characterId; } set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); - func_80093324(arg0->column + 0x1E, arg0->row + 0x19, "results", 0, 1.0f, 1.0f); + print_text_mode_1(arg0->column + 0x1E, arg0->row + 0x19, "results", 0, 1.0f, 1.0f); set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); - func_80093324(arg0->column + 0x2C, arg0->row + 0x28, "round", 0, 0.7f, 0.7f); + print_text_mode_1(arg0->column + 0x2C, arg0->row + 0x28, "round", 0, 0.7f, 0.7f); convert_number_to_ascii(gCourseIndexInCup + 1, sp68); - func_80093324(arg0->column + 0x57, arg0->row + 0x28, &sp68[1], 0, 0.7f, 0.7f); + print_text_mode_1(arg0->column + 0x57, arg0->row + 0x28, &sp68[1], 0, 0.7f, 0.7f); for (var_s2 = 0; var_s2 < 4; var_s2++) { if (gGPCurrentRacePlayerIdByRank[var_s2] < gPlayerCount) { var_a0 = (s32) gGlobalTimer % 3; @@ -7075,10 +7096,12 @@ void func_800A2EB8(struct_8018D9E0_entry* arg0) { } set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); temp_s0 = (s32) (((f32) (get_string_width(gCupNames[gCupSelection]) + 8) * 0.6f) / 2); - draw_text((-(s32) (((f32) (get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xF5, - arg0->row + 0xE1, gCupNames[D_800DC540], 0, 0.6f, 0.6f); - draw_text((temp_s0 - arg0->column) + 0xF5, arg0->row + 0xE1, - D_800E76CC[gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]], 0, 0.6f, 0.6f); + print_text1_center_mode_1( + (-(s32) (((f32) (get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xF5, + arg0->row + 0xE1, gCupNames[D_800DC540], 0, 0.6f, 0.6f); + print_text1_center_mode_1( + (temp_s0 - arg0->column) + 0xF5, arg0->row + 0xE1, + D_800E76CC[gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]], 0, 0.6f, 0.6f); } void func_800A32B4(s32 arg0, s32 arg1, s32 characterId, s32 rank) { @@ -7095,18 +7118,18 @@ void func_800A32B4(s32 arg0, s32 arg1, s32 characterId, s32 rank) { sp3C[2] = '.'; sp3C[3] = '\0'; func_800939C8(arg0 - 1, arg1, &sp3C[1], -4, 0.7f, 0.7f); - func_80093324(arg0 + 0xA, arg1, D_800E76A8[characterId], 0, 0.65f, 0.7f); + print_text_mode_1(arg0 + 0xA, arg1, D_800E76A8[characterId], 0, 0.65f, 0.7f); convert_number_to_ascii((s32) (sp50 / 60.0f), sp3C); func_800939C8(arg0 + 0x42, arg1, sp3C, 0, 0.7f, 0.7f); convert_number_to_ascii((s32) sp50 % 60, sp3C); - func_80093324(arg0 + 0x4E, arg1, "'", 0, 0.7f, 0.7f); + print_text_mode_1(arg0 + 0x4E, arg1, "'", 0, 0.7f, 0.7f); func_800939C8(arg0 + 0x56, arg1, sp3C, 0, 0.7f, 0.7f); convert_number_to_ascii((s32) ((f64) sp50 * 100.0) % 100, sp3C); - func_80093324(arg0 + 0x62, arg1, "\"", 0, 0.7f, 0.7f); + print_text_mode_1(arg0 + 0x62, arg1, "\"", 0, 0.7f, 0.7f); func_800939C8(arg0 + 0x6A, arg1, sp3C, 0, 0.7f, 0.7f); } -void func_800A34A8(struct_8018D9E0_entry* arg0) { +void func_800A34A8(MenuItem* arg0) { s8 sp80[8]; UNUSED s32 stackPadding0; char sp78[3]; @@ -7119,34 +7142,34 @@ void func_800A34A8(struct_8018D9E0_entry* arg0) { s32 rank; s32 test; - if (arg0->cursor != 0) { - if (arg0->cursor < 9) { - for (rank = 0; rank < 8; rank++) { + if (arg0->state != 0) { + if (arg0->state < 9) { + for (rank = 0; rank < NUM_PLAYERS; rank++) { sp80[rank] = gPlayers[gGPCurrentRacePlayerIdByRank[rank]].characterId; } } else { func_800A3A10(sp80); func_800A3A10(gCharacterIdByGPOverallRank); } - set_text_color(4); - func_80093324(arg0->column + 0x19, 0x19 - arg0->row, "driver's points", 0, 0.8f, 0.8f); - set_text_color(5); - func_80093324(arg0->column + 0x36, 0x28 - arg0->row, "round", 0, 0.7f, 0.7f); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); + print_text_mode_1(arg0->column + 0x19, 0x19 - arg0->row, "driver's points", 0, 0.8f, 0.8f); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); + print_text_mode_1(arg0->column + 0x36, 0x28 - arg0->row, "round", 0, 0.7f, 0.7f); convert_number_to_ascii(gCourseIndexInCup + 1, sp78); - func_80093324(arg0->column + 0x61, (0x28 & 0xFFFFFFFF) - arg0->row, &sp78[1], 0, 0.7f, 0.7f); + print_text_mode_1(arg0->column + 0x61, (0x28 & 0xFFFFFFFF) - arg0->row, &sp78[1], 0, 0.7f, 0.7f); for (rank = 0; rank < 4; rank++) { - test = arg0->cursor; + test = arg0->state; if ((test != 8) && (test != 9)) { var_v0 = 0; } else { - if ((rank * 5) < arg0->unk1C) { + if ((rank * 5) < arg0->param1) { var_v0 = 1; } else { var_v0 = 0; } } if (var_v0 == 0) { - if (arg0->cursor < 9) { + if (arg0->state < 9) { var_v0 = gGPCurrentRacePlayerIdByRank[rank]; var_v1 = 0; } else { @@ -7164,18 +7187,18 @@ void func_800A34A8(struct_8018D9E0_entry* arg0) { } } for (rank = 4; rank < NUM_PLAYERS; rank++) { - test = arg0->cursor; + test = arg0->state; if ((test != 8) && (test != 9)) { var_v0 = 0; } else { - if ((rank * 5) < arg0->unk1C) { + if ((rank * 5) < arg0->param1) { var_v0 = 1; } else { var_v0 = 0; } } if (var_v0 == 0) { - if (arg0->cursor < 9) { + if (arg0->state < 9) { var_v0 = gGPCurrentRacePlayerIdByRank[rank]; } else { var_v0 = D_80164478[sp80[rank]]; @@ -7189,12 +7212,14 @@ void func_800A34A8(struct_8018D9E0_entry* arg0) { func_800A3ADC(arg0, 0xBE - arg0->column, arg0->row + (rank * 0x10) + 0x5A, sp80[rank], rank, sp80); } } - set_text_color(5); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); temp_s0_3 = ((get_string_width(gCupNames[gCupSelection]) + 8) * 0.6f) / 2; - draw_text((-(s32) (((get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xE6, - arg0->row + 0xE1, gCupNames[D_800DC540], 0, 0.6f, 0.6f); - draw_text((temp_s0_3 - arg0->column) + 0xE6, arg0->row + 0xE1, - D_800E76CC[gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]], 0, 0.6f, 0.6f); + print_text1_center_mode_1( + (-(s32) (((get_string_width(D_800E76CC[gCCSelection]) + 8) * 0.6f) / 2) - arg0->column) + 0xE6, + arg0->row + 0xE1, gCupNames[D_800DC540], 0, 0.6f, 0.6f); + print_text1_center_mode_1( + (temp_s0_3 - arg0->column) + 0xE6, arg0->row + 0xE1, + D_800E76CC[gGameModeSubMenuColumn[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]], 0, 0.6f, 0.6f); } } @@ -7230,13 +7255,13 @@ void func_800A3A10(s8* arg0) { } } -void func_800A3ADC(struct_8018D9E0_entry* arg0, s32 arg1, s32 arg2, s32 characterId, s32 arg4, s8* arg5) { +void func_800A3ADC(MenuItem* arg0, s32 arg1, s32 arg2, s32 characterId, s32 arg4, s8* arg5) { UNUSED s32 stackPadding0; s32 wut; char sp34[4]; s32 phi_v1; - if (arg0->cursor < 9) { + if (arg0->state < 9) { convert_number_to_ascii(arg4 + 1, sp34); } else { for (phi_v1 = arg4; phi_v1 > 0; phi_v1--) { @@ -7250,40 +7275,49 @@ void func_800A3ADC(struct_8018D9E0_entry* arg0, s32 arg1, s32 arg2, s32 characte sp34[2] = '.'; sp34[3] = '\0'; func_800939C8(arg1, arg2, &sp34[1], -4, 0.7f, 0.7f); - func_80093324(arg1 + 0xA, arg2, D_800E76A8[characterId], 0, 0.7f, 0.7f); + print_text_mode_1(arg1 + 0xA, arg2, D_800E76A8[characterId], 0, 0.7f, 0.7f); convert_number_to_ascii(gGPPointsByCharacterId[characterId], sp34); func_800939C8(arg1 + 0x47, arg2, sp34, 0, 0.7f, 0.7f); - if ((arg4 < 4) && (arg0->cursor < 9)) { - convert_number_to_ascii(D_8018D9BC[arg4], sp34); + if ((arg4 < ARRAY_COUNT(gGPPointRewards)) && (arg0->state < 9)) { + convert_number_to_ascii(sGPPointsCopy[arg4], sp34); sp34[0] = '+'; - func_80093324(arg1 + 0x5A, arg2, sp34, 0, 0.7f, 0.7f); + print_text_mode_1(arg1 + 0x5A, arg2, sp34, 0, 0.7f, 0.7f); } } -void func_800A3C84(struct_8018D9E0_entry* arg0) { +void menu_item_end_time_trial_render(MenuItem* arg0) { s32 recordType; s32 rowOffset; + // name of the course set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); - draw_text(arg0->column + 0x43, arg0->row + 0x19, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], - 0, 0.6f, 0.6f); + print_text1_center_mode_1(arg0->column + 0x43, arg0->row + 0x19, + gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 0.6f, 0.6f); + + // lap time text set_text_color(TEXT_YELLOW); - draw_text(arg0->column + 0x46, arg0->row + 0x28, D_800E7730, 0, 0.75f, 0.75f); + print_text1_center_mode_1(arg0->column + 0x46, arg0->row + 0x28, gLapTimeText, 0, 0.75f, 0.75f); + + // lap time for (recordType = 0, rowOffset = 0; recordType < TIME_TRIAL_3LAP_RECORD_5; recordType += 1, rowOffset += 0xF) { - func_800A4550(recordType, arg0->column + 0x17, arg0->row + rowOffset + 0x37); + render_lap_time(recordType, arg0->column + 0x17, arg0->row + rowOffset + 0x37); } + + // best record text set_text_color(TEXT_YELLOW); - func_80093324(0xB4 - arg0->column, arg0->row + 0x86, D_800E7728[0], 0, 0.75f, 0.75f); + print_text_mode_1(0xB4 - arg0->column, arg0->row + 0x86, gBestTimeText[0], 0, 0.75f, 0.75f); + + // best record for (recordType = 0, rowOffset = 0; recordType < TIME_TRIAL_1LAP_RECORD; recordType += 1, rowOffset += 0xD) { set_text_color(TEXT_RED); - func_800A474C(recordType, 0xAA - arg0->column, arg0->row + rowOffset + 0x92); + render_player_time(recordType, 0xAA - arg0->column, arg0->row + rowOffset + 0x92); } set_text_color(TEXT_YELLOW); - func_80093324(0xB4 - arg0->column, arg0->row + 0xD5, D_800E7728[1], 0, 0.75f, 0.75f); - func_800A474C(TIME_TRIAL_1LAP_RECORD, 0xAA - arg0->column, arg0->row + 0xE1); + print_text_mode_1(0xB4 - arg0->column, arg0->row + 0xD5, gBestTimeText[1], 0, 0.75f, 0.75f); + render_player_time(TIME_TRIAL_1LAP_RECORD, 0xAA - arg0->column, arg0->row + 0xE1); } -void func_800A3E60(struct_8018D9E0_entry* arg0) { +void func_800A3E60(MenuItem* arg0) { UNUSED s32 stackPadding0; Unk_D_800E70A0 sp84; UNUSED s32 stackPadding1; @@ -7296,7 +7330,7 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) { Unk_D_800E70A0* var_v0_5; char sp60[3]; - var_v0 = arg0->cursor; + var_v0 = arg0->state; if (var_v0 == 0) { return; } @@ -7304,26 +7338,26 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) { return; } - set_text_color(4); - draw_text(arg0->column + 0x55, 0x19 - arg0->row, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], - 0, 0.6f, 0.6f); - set_text_color(3); - draw_text(arg0->column + 0x55, 0x28 - arg0->row, D_800E7730, 0, 0.75f, 0.75f); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); + print_text1_center_mode_1(arg0->column + 0x55, 0x19 - arg0->row, + gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 0.6f, 0.6f); + set_text_color(TEXT_YELLOW); + print_text1_center_mode_1(arg0->column + 0x55, 0x28 - arg0->row, gLapTimeText, 0, 0.75f, 0.75f); for (var_s1 = 0; var_s1 < 4; var_s1++) { - func_800A4550(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37); - } - switch (arg0->cursor) { /* switch 1 */ - case 1: /* switch 1 */ - case 5: /* switch 1 */ - case 6: /* switch 1 */ - case 7: /* switch 1 */ - case 8: /* switch 1 */ - case 9: /* switch 1 */ - case 10: /* switch 1 */ - case 30: /* switch 1 */ + render_lap_time(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37); + } + switch (arg0->state) { /* switch 1 */ + case 1: /* switch 1 */ + case 5: /* switch 1 */ + case 6: /* switch 1 */ + case 7: /* switch 1 */ + case 8: /* switch 1 */ + case 9: /* switch 1 */ + case 10: /* switch 1 */ + case 30: /* switch 1 */ for (var_s1 = 0; var_s1 < 6; var_s1++) { var_v1 = 0; - text_rainbow_effect(arg0->cursor - 5, var_s1, 1); + text_rainbow_effect(arg0->state - 5, var_s1, 1); switch (var_s1) { /* switch 3; irregular */ case 4: /* switch 3 */ if (D_80162DF8 == 1) { @@ -7337,13 +7371,13 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) { break; } if (var_v1 != 0) { - set_text_color(0); + set_text_color(TEXT_BLUE); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96); - func_80093358(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1], - 0, 0.75f, 0.75f); + print_text_mode_2(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gMenuText[var_s1 + 1], 0, + 0.75f, 0.75f); } else { - func_80093324(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gTextPauseButton[var_s1 + 1], - 0, 0.75f, 0.75f); + print_text_mode_1(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, gMenuText[var_s1 + 1], 0, + 0.75f, 0.75f); } } break; @@ -7353,82 +7387,82 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) { case 14: /* switch 1 */ case 15: /* switch 1 */ case 16: /* switch 1 */ - set_text_color(3); - var_v1 = arg0->cursor - 11; + set_text_color(TEXT_YELLOW); + var_v1 = arg0->state - 11; for (var_s1 = 0; var_s1 < 7; var_s1++) { - func_80093324(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f); + print_text_mode_1(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f); } break; case 17: /* switch 1 */ case 18: /* switch 1 */ - set_text_color(1); + set_text_color(TEXT_GREEN); for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_80093324(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f); + print_text_mode_1(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - text_rainbow_effect(arg0->cursor - 0x11, var_s1, 1); + text_rainbow_effect(arg0->state - 0x11, var_s1, 1); convert_number_to_ascii(var_s1 + 1, sp60); - func_80093324(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f); + print_text_mode_1(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f); if (D_8018EE10[var_s1].ghostDataSaved == 0) { - func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f); + print_text_mode_1(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f); } else { - func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), - gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4] - [D_8018EE10[var_s1].courseIndex % 4]], - 0, 0.45f, 0.45f); + print_text_mode_1(0xBB - arg0->column, 0xAA + (0x1E * var_s1), + gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4] + [D_8018EE10[var_s1].courseIndex % 4]], + 0, 0.45f, 0.45f); } } break; case 19: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A48[var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A48[var_s1], 0, 0.8f, 0.8f); } break; case 20: /* switch 1 */ case 21: /* switch 1 */ if (var_s1 && var_s1) {} - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f); + print_text_mode_1(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - text_rainbow_effect(arg0->cursor - 0x14, var_s1, 1); - func_80093324(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->state - 0x14, var_s1, 1); + print_text_mode_1(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f); } break; case 25: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x000000A3, (0xD * var_s1) + 0x93, D_800E7A74[var_s1], 0, 0.67f, 0.67f); + print_text_mode_1(0x000000A3, (0xD * var_s1) + 0x93, D_800E7A74[var_s1], 0, 0.67f, 0.67f); } break; case 26: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_80093324(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A80[var_s1], 0, 0.75f, 0.75f); + print_text_mode_1(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A80[var_s1], 0, 0.75f, 0.75f); } break; } - switch (arg0->cursor) { /* switch 2 */ - case 5: /* switch 2 */ - case 6: /* switch 2 */ - case 7: /* switch 2 */ - case 8: /* switch 2 */ - case 9: /* switch 2 */ - case 10: /* switch 2 */ - var_v0_5 = &D_800E7390[arg0->cursor - 5]; + switch (arg0->state) { /* switch 2 */ + case 5: /* switch 2 */ + case 6: /* switch 2 */ + case 7: /* switch 2 */ + case 8: /* switch 2 */ + case 9: /* switch 2 */ + case 10: /* switch 2 */ + var_v0_5 = &D_800E7390[arg0->state - 5]; break; case 17: /* switch 2 */ case 18: /* switch 2 */ - var_v0_5 = &D_800E73C0[arg0->cursor - 17]; + var_v0_5 = &D_800E73C0[arg0->state - 17]; break; case 20: /* switch 2 */ case 21: /* switch 2 */ - var_v0_5 = &D_800E73D0[arg0->cursor - 20]; + var_v0_5 = &D_800E73D0[arg0->state - 20]; break; case 30: /* switch 2 */ - var_v0_5 = &D_800E7390[arg0->unk1C - 5]; + var_v0_5 = &D_800E7390[arg0->param1 - 5]; break; default: return; @@ -7438,44 +7472,44 @@ void func_800A3E60(struct_8018D9E0_entry* arg0) { func_800A66A8(arg0, &sp84); } -void func_800A4550(s32 lapNumber, s32 column, s32 row) { +void render_lap_time(s32 lapNumber, s32 column, s32 row) { UNUSED s32 stackPadding0; - s32 sp40; + s32 time; UNUSED s32 stackPadding1; s32 textColor; char sp34[3]; - struct_8018D9E0_entry* temp_v0_2; + MenuItem* temp_v0_2; if (lapNumber < 3) { - sp40 = playerHUD[PLAYER_ONE].lapDurations[lapNumber]; - set_text_color(2); + time = playerHUD[PLAYER_ONE].lapDurations[lapNumber]; + set_text_color(TEXT_RED); } else { - sp40 = playerHUD[PLAYER_ONE].someTimer; - set_text_color(1); + time = playerHUD[PLAYER_ONE].someTimer; + set_text_color(TEXT_GREEN); } - func_800936B8(column + 0x21, row, D_800E7734[lapNumber], 0, 0.7f, 0.7f); - temp_v0_2 = find_8018D9E0_entry_dupe(0x000000BB); + print_text1_left(column + 0x21, row, gPrefixTimeText[lapNumber], 0, 0.7f, 0.7f); + temp_v0_2 = find_menu_items_type_dupe(MENU_ITEM_TYPE_0BB); if (lapNumber < 3) { - if (temp_v0_2->unk20 & (1 << lapNumber)) { + if (temp_v0_2->param2 & (1 << lapNumber)) { // best lap textColor = (s32) gGlobalTimer % 3; } else { textColor = TEXT_YELLOW; } } else { - if (temp_v0_2->unk1C >= 0) { + if (temp_v0_2->param1 >= 0) { textColor = (s32) gGlobalTimer % 3; } else { textColor = TEXT_YELLOW; } } set_text_color(textColor); - get_time_record_minutes(sp40, sp34); + get_time_record_minutes(time, sp34); func_800939C8(column + 0x2C, row, sp34, 0, 0.7f, 0.7f); - func_80093324(column + 0x37, row, "'", 0, 0.7f, 0.7f); - get_time_record_seconds(sp40, sp34); + print_text_mode_1(column + 0x37, row, "'", 0, 0.7f, 0.7f); + get_time_record_seconds(time, sp34); func_800939C8(column + 0x40, row, sp34, 0, 0.7f, 0.7f); - func_80093324(column + 0x4B, row, "\"", 0, 0.7f, 0.7f); - get_time_record_centiseconds(sp40, sp34); + print_text_mode_1(column + 0x4B, row, "\"", 0, 0.7f, 0.7f); + get_time_record_centiseconds(time, sp34); func_800939C8(column + 0x55, row, sp34, 0, 0.7f, 0.7f); } @@ -7485,14 +7519,14 @@ void func_800A4550(s32 lapNumber, s32 column, s32 row) { // The permuter found a decent improvement with making `textColor` a `volatile` variable but that // seems wrong for several reasons -void func_800A474C(s32 recordType, s32 column, s32 row) { +void render_player_time(s32 recordType, s32 column, s32 row) { UNUSED s32 stackPadding0; u32 timeRecord; s32 textColor; s32 temp_t0; s32 characterId; char sp38[3]; - struct_8018D9E0_entry* temp_v0; + MenuItem* temp_v0; s32 sp30; if (gGamestate == 4) { sp30 = 0; @@ -7515,9 +7549,9 @@ void func_800A474C(s32 recordType, s32 column, s32 row) { } func_800939C8(column + 0x14, row, D_800E7744[recordType], 2, 0.65f, 0.65f); if (sp30 == 0) { - temp_v0 = find_8018D9E0_entry_dupe(0x000000BB); + temp_v0 = find_menu_items_type_dupe(MENU_ITEM_TYPE_0BB); if (recordType < 5) { - if (recordType == temp_v0->unk1C) { + if (recordType == temp_v0->param1) { textColor = gGlobalTimer % 3; } else { textColor = TEXT_YELLOW; @@ -7525,7 +7559,7 @@ void func_800A474C(s32 recordType, s32 column, s32 row) { } else { // huh? textColor = TEXT_YELLOW; - if (temp_v0->unk20 != 0) { + if (temp_v0->param2 != 0) { textColor = gGlobalTimer; textColor %= 3; } else { @@ -7538,11 +7572,11 @@ void func_800A474C(s32 recordType, s32 column, s32 row) { temp_t0 = timeRecord & 0xFFFFF; get_time_record_minutes(temp_t0, sp38); func_800939C8(column + 0x27, row, sp38, 0, 0.65f, 0.65f); - func_80093324(column + 0x32, row, "'", 0, 0.65f, 0.65f); + print_text_mode_1(column + 0x32, row, "'", 0, 0.65f, 0.65f); if (!textColor) {} get_time_record_seconds(temp_t0, sp38); func_800939C8(column + 0x3B, row, sp38, 0, 0.65f, 0.65f); - func_80093324(column + 0x46, row, "\"", 0, 0.65f, 0.65f); + print_text_mode_1(column + 0x46, row, "\"", 0, 0.65f, 0.65f); get_time_record_centiseconds(temp_t0, sp38); func_800939C8(column + 0x50, row, sp38, 0, 0.65f, 0.65f); if (temp_t0 < 0x927C0) { @@ -7550,13 +7584,13 @@ void func_800A474C(s32 recordType, s32 column, s32 row) { } else { characterId = 8; } - draw_text(column + 0x78, row, D_800E76A8[characterId], 0, 0.65f, 0.65f); + print_text1_center_mode_1(column + 0x78, row, D_800E76A8[characterId], 0, 0.65f, 0.65f); } #else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A474C.s") +GLOBAL_ASM("asm/non_matchings/code_80091750/render_player_time.s") #endif -void func_800A4A24(struct_8018D9E0_entry* arg0) { +void func_800A4A24(MenuItem* arg0) { UNUSED s32 stackPadding0; s32 temp_t0; s32 temp_t1; @@ -7566,14 +7600,14 @@ void func_800A4A24(struct_8018D9E0_entry* arg0) { temp_t0 = 0x140 - arg0->column; temp_t1 = arg0->row; - temp_t2 = (s32) ((get_string_width(D_800E7780) + 8) * someMultiplier) / 2; + temp_t2 = (s32) ((get_string_width(gTextMenuAnnounceGhost) + 8) * someMultiplier) / 2; gDisplayListHead = draw_box(gDisplayListHead, temp_t0 - temp_t2, (temp_t1 - thing) + 4, temp_t2 + temp_t0, temp_t1 + 4, 0, 0, 0, 0x00000064); set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); - draw_text(arg0->column - 3, arg0->row, D_800E7780, 0, 0.85f, 0.85f); + print_text1_center_mode_1(arg0->column - 3, arg0->row, gTextMenuAnnounceGhost, 0, 0.85f, 0.85f); } -void render_pause_menu(struct_8018D9E0_entry* arg0) { +void render_pause_menu(MenuItem* arg0) { if (gIsGamePaused != 0) { switch (gModeSelection) { case TIME_TRIALS: @@ -7592,7 +7626,7 @@ void render_pause_menu(struct_8018D9E0_entry* arg0) { } } -void render_pause_menu_time_trials(struct_8018D9E0_entry* arg0) { +void render_pause_menu_time_trials(MenuItem* arg0) { UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; UNUSED s32 stackPadding2; @@ -7603,39 +7637,39 @@ void render_pause_menu_time_trials(struct_8018D9E0_entry* arg0) { gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x0000008C); set_text_color(TEXT_YELLOW); - draw_text(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 1.0f, - 1.0f); + print_text1_center_mode_1(0x000000A0, 0x00000050, + gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 1.0f, 1.0f); set_text_color(TEXT_RED); - draw_text(0x0000009D, 0x00000060, D_800E7728[0], 0, 0.8f, 0.8f); + print_text1_center_mode_1(0x0000009D, 0x00000060, gBestTimeText[0], 0, 0.8f, 0.8f); temp_a0 = func_800B4E24(TIME_TRIAL_3LAP_RECORD_1); temp_a0 &= 0xFFFFF; get_time_record_minutes(temp_a0, sp68); func_800939C8(0x0000007F, 0x0000006D, sp68, 0, 0.8f, 0.8f); - func_80093324(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f); + print_text_mode_1(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f); get_time_record_seconds(temp_a0, sp68); func_800939C8(0x00000098, 0x0000006D, sp68, 0, 0.8f, 0.8f); - func_80093324(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f); + print_text_mode_1(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f); get_time_record_centiseconds(temp_a0, sp68); func_800939C8(0x000000B3, 0x0000006D, sp68, 0, 0.8f, 0.8f); - draw_text(0x0000009D, 0x0000007C, D_800E7728[1], 0, 0.8f, 0.8f); + print_text1_center_mode_1(0x0000009D, 0x0000007C, gBestTimeText[1], 0, 0.8f, 0.8f); temp_a0 = func_800B4F2C(); temp_a0 &= 0xFFFFF; get_time_record_minutes(temp_a0, sp68); func_800939C8(0x0000007F, 0x00000089, sp68, 0, 0.8f, 0.8f); - func_80093324(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f); + print_text_mode_1(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f); get_time_record_seconds(temp_a0, sp68); func_800939C8(0x00000098, 0x00000089, sp68, 0, 0.8f, 0.8f); - func_80093324(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f); + print_text_mode_1(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f); get_time_record_centiseconds(temp_a0, sp68); func_800939C8(0x000000B3, 0x00000089, sp68, 0, 0.8f, 0.8f); for (var_s0 = 0; var_s0 < 5; var_s0++) { - text_rainbow_effect(arg0->cursor - 11, var_s0, TEXT_GREEN); - func_80093324(D_800E8538[zero].column, D_800E8538[zero].row + (13 * var_s0), gTextPauseButton[var_s0], 0, 0.75f, - 0.75f); + text_rainbow_effect(arg0->state - 11, var_s0, TEXT_GREEN); + print_text_mode_1(D_800E8538[zero].column, D_800E8538[zero].row + (13 * var_s0), gMenuText[var_s0], 0, 0.75f, + 0.75f); } } -void render_pause_menu_versus(struct_8018D9E0_entry* arg0) { +void render_pause_menu_versus(MenuItem* arg0) { s16 temp_t0; s16 temp_v1; s32 temp_t3; @@ -7659,12 +7693,12 @@ void render_pause_menu_versus(struct_8018D9E0_entry* arg0) { } else { var_s1 = var_s0; } - text_rainbow_effect(arg0->cursor - 0x15, var_s0, TEXT_YELLOW); - func_80093324(temp_s3->column - 2, temp_s3->row + (13 * var_s0), gTextPauseButton[var_s1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->state - 0x15, var_s0, TEXT_YELLOW); + print_text_mode_1(temp_s3->column - 2, temp_s3->row + (13 * var_s0), gMenuText[var_s1], 0, 0.75f, 0.75f); } } -void render_pause_grand_prix(struct_8018D9E0_entry* arg0) { +void render_pause_grand_prix(MenuItem* arg0) { s32 temp_t0; s32 temp_v1; s32 temp_s0; @@ -7687,19 +7721,19 @@ void render_pause_grand_prix(struct_8018D9E0_entry* arg0) { temp_s0 = ((get_string_width(gCupNames[gCupSelection]) * one) + 10.0f) / 2; temp_s1 = ((get_string_width(D_800E76CC[gCCSelection]) * one) + 10.0f) / 2; set_text_color(TEXT_YELLOW); - draw_text(160 - temp_s1, temp_s3->row - 50, gCupNames[gCupSelection], 0, 1.0f, 1.0f); + print_text1_center_mode_1(160 - temp_s1, temp_s3->row - 50, gCupNames[gCupSelection], 0, 1.0f, 1.0f); set_text_color(TEXT_YELLOW); - draw_text(160 + temp_s0, temp_s3->row - 50, D_800E76CC[gCCSelection], 0, 1.0f, 1.0f); + print_text1_center_mode_1(160 + temp_s0, temp_s3->row - 50, D_800E76CC[gCCSelection], 0, 1.0f, 1.0f); set_text_color(TEXT_YELLOW); - draw_text(160, temp_s3->row - 30, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 1.0f, - 1.0f); + print_text1_center_mode_1(160, temp_s3->row - 30, + gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 1.0f, 1.0f); for (var_s0 = 0; var_s0 < 2; var_s0++) { - text_rainbow_effect(arg0->cursor - 31, var_s0, TEXT_YELLOW); - func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), gTextPauseButton[var_s0 * 4], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->state - 31, var_s0, TEXT_YELLOW); + print_text_mode_1(temp_s3->column, temp_s3->row + (var_s0 * 13), gMenuText[var_s0 * 4], 0, 0.75f, 0.75f); } } -void render_pause_battle(struct_8018D9E0_entry* arg0) { +void render_pause_battle(MenuItem* arg0) { struct UnkStruct_800DC5EC* temp_v0; s16 temp_t0; s16 temp_v1; @@ -7723,15 +7757,15 @@ void render_pause_battle(struct_8018D9E0_entry* arg0) { } else { var_s1 = var_a1; } - text_rainbow_effect(arg0->cursor - 0x29, var_a1, TEXT_YELLOW); - func_80093324(temp_s3->column - 2, temp_s3->row + 13 * var_a1, gTextPauseButton[var_s1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->state - 0x29, var_a1, TEXT_YELLOW); + print_text_mode_1(temp_s3->column - 2, temp_s3->row + 13 * var_a1, gMenuText[var_s1], 0, 0.75f, 0.75f); } } void func_800A54EC(void) { Unk_D_800E70A0 sp50; Unk_D_800E70A0* var_v1; - struct_8018D9E0_entry* sp48; + MenuItem* sp48; s32 whyTheSequel; s32 why; UNUSED Unk_D_800E70A0* huh; @@ -7741,7 +7775,7 @@ void func_800A54EC(void) { } why = gModeSelection; - sp48 = find_8018D9E0_entry(0x000000C7); + sp48 = find_menu_items_type(0x000000C7); if (why) {} // ????? gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880)); guOrtho(&gGfxPool->mtxEffect[gMatrixEffectCount], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); @@ -7765,11 +7799,11 @@ void func_800A54EC(void) { } whyTheSequel = D_800F0B50[why]; sp50.column = var_v1->column - 8; - sp50.row = (var_v1->row + ((sp48->cursor - whyTheSequel) * 0xD)) - 8; + sp50.row = (var_v1->row + ((sp48->state - whyTheSequel) * 0xD)) - 8; func_800A66A8(sp48, &sp50); } -void func_800A5738(struct_8018D9E0_entry* arg0) { +void func_800A5738(MenuItem* arg0) { Unk_D_800E70A0 sp98; UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; @@ -7787,62 +7821,62 @@ void func_800A5738(struct_8018D9E0_entry* arg0) { Unk_D_800E70A0* var_v0_9; char sp5C[3]; - if (arg0->cursor == 0) { - if ((arg0->unk1C >= 0x1E) && ((gGlobalTimer / 16) % 2)) { - why = get_string_width(gTextPauseButton[5]) * 0.8f; + if (arg0->state == 0) { + if ((arg0->param1 >= 0x1E) && ((gGlobalTimer / 16) % 2)) { + why = get_string_width(gMenuText[REPLAY]) * 0.8f; gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (why) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096); - set_text_color(1); - func_80093324(0x000000BF, 0x00000030, gTextPauseButton[5], 0, 0.8f, 0.8f); + set_text_color(TEXT_GREEN); + print_text_mode_1(0x000000BF, 0x00000030, gMenuText[REPLAY], 0, 0.8f, 0.8f); } } else { - if (arg0->cursor == 1) { - var_s1 = arg0->unk1C; - var_s2 = (s32) (arg0->unk1C * 0xFF) / 140; + if (arg0->state == 1) { + var_s1 = arg0->param1; + var_s2 = (s32) (arg0->param1 * 0xFF) / 140; } else { var_s1 = 0x0000008C; var_s2 = 0x000000FF; } gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, var_s1); gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_s2); - set_text_color(3); - func_80093754(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, - 1.0f, 1.0f); - switch (arg0->cursor) { /* switch 1 */ - case 1: /* switch 1 */ - case 11: /* switch 1 */ - case 12: /* switch 1 */ - case 13: /* switch 1 */ - case 14: /* switch 1 */ - case 15: /* switch 1 */ - case 16: /* switch 1 */ - set_text_color(2); - func_80093754(0x0000009D, 0x00000060, D_800E7728[0], 0, 0.8f, 0.8f); + set_text_color(TEXT_YELLOW); + print_text1_center_mode_2(0x000000A0, 0x00000050, + gCourseNamesDup[gCupCourseOrder[gCupSelection][gCourseIndexInCup]], 0, 1.0f, 1.0f); + switch (arg0->state) { /* switch 1 */ + case 1: /* switch 1 */ + case 11: /* switch 1 */ + case 12: /* switch 1 */ + case 13: /* switch 1 */ + case 14: /* switch 1 */ + case 15: /* switch 1 */ + case 16: /* switch 1 */ + set_text_color(TEXT_RED); + print_text1_center_mode_2(0x0000009D, 0x00000060, gBestTimeText[0], 0, 0.8f, 0.8f); temp_a0 = func_800B4E24(0); temp_a0 &= 0xFFFFF; get_time_record_minutes(temp_a0, sp84); text_draw(0x0000007F, 0x0000006D, sp84, 0, 0.8f, 0.8f); - func_80093358(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f); + print_text_mode_2(0x0000008E, 0x0000006D, "'", 0, 0.8f, 0.8f); get_time_record_seconds(temp_a0, sp84); text_draw(0x00000098, 0x0000006D, sp84, 0, 0.8f, 0.8f); - func_80093358(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f); + print_text_mode_2(0x000000A7, 0x0000006D, "\"", 0, 0.8f, 0.8f); get_time_record_centiseconds(temp_a0, sp84); text_draw(0x000000B3, 0x0000006D, sp84, 0, 0.8f, 0.8f); - func_80093754(0x0000009D, 0x0000007C, D_800E7728[1], 0, 0.8f, 0.8f); + print_text1_center_mode_2(0x0000009D, 0x0000007C, gBestTimeText[1], 0, 0.8f, 0.8f); temp_a0 = func_800B4F2C(); temp_a0 &= 0xFFFFF; get_time_record_minutes(temp_a0, sp84); text_draw(0x0000007F, 0x00000089, sp84, 0, 0.8f, 0.8f); - func_80093358(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f); + print_text_mode_2(0x0000008E, 0x00000089, "'", 0, 0.8f, 0.8f); get_time_record_seconds(temp_a0, sp84); text_draw(0x00000098, 0x00000089, sp84, 0, 0.8f, 0.8f); - func_80093358(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f); + print_text_mode_2(0x000000A7, 0x00000089, "\"", 0, 0.8f, 0.8f); get_time_record_centiseconds(temp_a0, sp84); text_draw(0x000000B3, 0x00000089, sp84, 0, 0.8f, 0.8f); for (var_s1 = 0; var_s1 < 6; var_s1++) { - text_rainbow_effect(arg0->cursor - 0xB, var_s1, TEXT_GREEN); - func_80093358(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1), - gTextPauseButton[var_s1 + 1], 0, 0.75f, 0.75f); + text_rainbow_effect(arg0->state - 0xB, var_s1, TEXT_GREEN); + print_text_mode_2(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1), + gMenuText[var_s1 + 1], 0, 0.75f, 0.75f); } break; case 21: /* switch 1 */ @@ -7851,79 +7885,80 @@ void func_800A5738(struct_8018D9E0_entry* arg0) { case 24: /* switch 1 */ case 25: /* switch 1 */ case 26: /* switch 1 */ - set_text_color(3); - temp_v0 = arg0->cursor - 0x15; + set_text_color(TEXT_YELLOW); + temp_v0 = arg0->state - 0x15; for (var_s1 = 0; var_s1 < 7; var_s1++) { - func_80093324(0x0000004D, 0x6E + (0xD * var_s1), D_800E798C[(temp_v0 * 7) + var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x0000004D, 0x6E + (0xD * var_s1), D_800E798C[(temp_v0 * 7) + var_s1], 0, 0.8f, + 0.8f); } break; case 30: /* switch 1 */ case 31: /* switch 1 */ - set_text_color(1); + set_text_color(TEXT_GREEN); for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_80093324(0x0000005A, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A3C[var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x0000005A, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A3C[var_s1], 0, 0.8f, 0.8f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - text_rainbow_effect(arg0->cursor - 0x1E, var_s1, TEXT_GREEN); + text_rainbow_effect(arg0->state - 0x1E, var_s1, TEXT_GREEN); convert_number_to_ascii(var_s1 + 1, sp5C); - func_80093324(0x5A - arg0->column, (0x96 + (0x14 * var_s1)), &sp5C[1], 0, 0.75f, 0.75f); + print_text_mode_1(0x5A - arg0->column, (0x96 + (0x14 * var_s1)), &sp5C[1], 0, 0.75f, 0.75f); if (D_8018EE10[var_s1].ghostDataSaved == 0) { - func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E7A44, 0, 0.75f, 0.75f); + print_text_mode_1(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E7A44, 0, 0.75f, 0.75f); } else { - func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), - gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4] - [D_8018EE10[var_s1].courseIndex % 4]], - 0, 0.75f, 0.75f); + print_text_mode_1(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), + gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4] + [D_8018EE10[var_s1].courseIndex % 4]], + 0, 0.75f, 0.75f); } } break; case 32: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x00000064, (0xD * var_s1) + 0x6E, D_800E7A48[var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x00000064, (0xD * var_s1) + 0x6E, D_800E7A48[var_s1], 0, 0.8f, 0.8f); } break; case 35: /* switch 1 */ case 36: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f); } for (var_s1 = 0; var_s1 < 2; var_s1++) { - text_rainbow_effect(arg0->cursor - 0x23, var_s1, TEXT_GREEN); - func_80093324(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f); + text_rainbow_effect(arg0->state - 0x23, var_s1, TEXT_GREEN); + print_text_mode_1(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f); } break; case 40: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x00000055, (0xD * var_s1) + 0x6E, D_800E7A74[var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x00000055, (0xD * var_s1) + 0x6E, D_800E7A74[var_s1], 0, 0.8f, 0.8f); } break; case 41: /* switch 1 */ - set_text_color(3); + set_text_color(TEXT_YELLOW); for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_80093324(0x0000005D, (0xD * var_s1) + 0x6E, D_800E7A80[var_s1], 0, 0.8f, 0.8f); + print_text_mode_1(0x0000005D, (0xD * var_s1) + 0x6E, D_800E7A80[var_s1], 0, 0.8f, 0.8f); } break; } - switch (arg0->cursor) { /* switch 2 */ - case 11: /* switch 2 */ - case 12: /* switch 2 */ - case 13: /* switch 2 */ - case 14: /* switch 2 */ - case 15: /* switch 2 */ - case 16: /* switch 2 */ - var_v0_9 = &D_800E73E0[arg0->cursor - 11]; + switch (arg0->state) { /* switch 2 */ + case 11: /* switch 2 */ + case 12: /* switch 2 */ + case 13: /* switch 2 */ + case 14: /* switch 2 */ + case 15: /* switch 2 */ + case 16: /* switch 2 */ + var_v0_9 = &D_800E73E0[arg0->state - 11]; break; case 30: /* switch 2 */ case 31: /* switch 2 */ - var_v0_9 = &D_800E7410[arg0->cursor - 30]; + var_v0_9 = &D_800E7410[arg0->state - 30]; break; case 35: /* switch 2 */ case 36: /* switch 2 */ if (0) {} // wtf? - var_v0_9 = &D_800E7420[arg0->cursor - 35]; + var_v0_9 = &D_800E7420[arg0->state - 35]; break; default: return; @@ -7934,21 +7969,21 @@ void func_800A5738(struct_8018D9E0_entry* arg0) { } } -void func_800A6034(struct_8018D9E0_entry* arg0) { +void func_800A6034(MenuItem* arg0) { char* text; if (D_801657E8 != true) { - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, arg0->unk1C); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, arg0->param1); text = gCupNames[D_800DC540]; set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); - func_80093754(arg0->column + 0x41, arg0->row + 0xA0, text, 0, 0.85f, 1.0f); + print_text1_center_mode_2(arg0->column + 0x41, arg0->row + 0xA0, text, 0, 0.85f, 1.0f); text = gCourseNames[gCurrentCourseId]; set_text_color((s32) gCurrentCourseId % 4); - func_80093754(arg0->column + 0x41, arg0->row + 0xC3, text, 0, 0.65f, 0.85f); + print_text1_center_mode_2(arg0->column + 0x41, arg0->row + 0xC3, text, 0, 0.65f, 0.85f); } } -void func_800A6154(struct_8018D9E0_entry* arg0) { +void func_800A6154(MenuItem* arg0) { UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; UNUSED s32 stackPadding2; @@ -7957,49 +7992,49 @@ void func_800A6154(struct_8018D9E0_entry* arg0) { s32 var_s0; s32 var_s1; - if (arg0->cursor == 0) { - gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->unk1C); - set_text_color(3); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->unk1C * 0xFF) / 100); + if (arg0->state == 0) { + gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->param1); + set_text_color(TEXT_YELLOW); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->param1 * 0xFF) / 100); for (var_s1 = 0, var_s0 = 0x96; var_s0 < 0xBE; var_s1++, var_s0 += 0x14) { - func_80093358(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); + print_text_mode_2(0x0000008C, var_s0, gMenuText[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); } } else { gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x00000064); for (var_s1 = 0, var_s0 = 0x96; var_s1 < 2; var_s1++, var_s0 += 0x14) { - text_rainbow_effect(arg0->cursor - 0xB, var_s1, TEXT_YELLOW); - func_80093324(0x0000008C, var_s0, gTextPauseButton[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); + text_rainbow_effect(arg0->state - 0xB, var_s1, TEXT_YELLOW); + print_text_mode_1(0x0000008C, var_s0, gMenuText[(var_s1 * 3) + 1], 0, 1.0f, 1.0f); } } - if (arg0->cursor >= 0xB) { + if (arg0->state >= 0xB) { sp6C.column = 0x0084; - sp6C.row = (arg0->cursor * 0x14) - 0x4E; + sp6C.row = (arg0->state * 0x14) - 0x4E; func_800A66A8(arg0, &sp6C); } - if (arg0->unk20 > 0) { - gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x0000013F, arg0->unk20); - gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->unk20, 0x0000013F, 0x000000EF); + if (arg0->param2 > 0) { + gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0, 0x0000013F, arg0->param2); + gDisplayListHead = func_80098FC8(gDisplayListHead, 0, 0xEF - arg0->param2, 0x0000013F, 0x000000EF); } } -void func_800A638C(struct_8018D9E0_entry* arg0) { +void func_800A638C(MenuItem* arg0) { UNUSED s32 temp_a0; s32 var_a1; UNUSED s32 var_s0; s32 var_s1; UNUSED s8** var_s2; - if (arg0->cursor == 0) { - gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->unk1C); - set_text_color(5); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->unk1C * 0xFF) / 100); - func_80093754(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f); + if (arg0->state == 0) { + gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, arg0->param1); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, (arg0->param1 * 0xFF) / 100); + print_text1_center_mode_2(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f); } else { gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x00000064); - set_text_color(5); - draw_text(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f); + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); + print_text1_center_mode_1(0x000000A0, arg0->row + 0x1E, D_800E7778[gModeSelection / 3], 0, 1.0f, 1.0f); } - switch (arg0->cursor) { /* irregular */ + switch (arg0->state) { /* irregular */ default: var_a1 = 0x000000FF; break; @@ -8008,7 +8043,7 @@ void func_800A638C(struct_8018D9E0_entry* arg0) { var_a1 = 0; break; case 2: - var_a1 = arg0->unk1C; + var_a1 = arg0->param1; break; } gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_a1); @@ -8025,30 +8060,30 @@ void func_800A638C(struct_8018D9E0_entry* arg0) { default: break; } - if (arg0->cursor >= 10) { + if (arg0->state >= 10) { for (var_s1 = 0; var_s1 < 4; var_s1++) { - text_rainbow_effect(arg0->cursor - 0xA, var_s1, TEXT_GREEN); - func_80093324(0x00000069, 0xAE + (0xF * var_s1), gTextPauseButton[var_s1 + 1], 0, 0.8f, 0.8f); + text_rainbow_effect(arg0->state - 0xA, var_s1, TEXT_GREEN); + print_text_mode_1(0x00000069, 0xAE + (0xF * var_s1), gMenuText[var_s1 + 1], 0, 0.8f, 0.8f); } - func_800A66A8(arg0, &D_800E7360[arg0->cursor - 10]); + func_800A66A8(arg0, &D_800E7360[arg0->state - 10]); } } -void func_800A66A8(struct_8018D9E0_entry* arg0, Unk_D_800E70A0* arg1) { +void func_800A66A8(MenuItem* arg0, Unk_D_800E70A0* arg1) { Mtx* mtx; f32 tmp; static float x2, y2, z2; static float x1, y1, z1; mtx = &gGfxPool->mtxEffect[gMatrixEffectCount]; - if (arg0->unk24 > 1.5) { - arg0->unk24 *= 0.95; + if (arg0->paramf > 1.5) { + arg0->paramf *= 0.95; } else { - arg0->unk24 = 1.5; + arg0->paramf = 1.5; } - tmp = arg0->unk24; - x1 = (tmp * 3) * arg0->unk8; + tmp = arg0->paramf; + x1 = (tmp * 3) * arg0->subState; y1 = tmp * 4; z1 = tmp * 2; x2 += x1; @@ -8056,7 +8091,7 @@ void func_800A66A8(struct_8018D9E0_entry* arg0, Unk_D_800E70A0* arg1) { z2 += z1; // clang-format off - if (x2); if (y2); if (z2); + if (x2) {}; if (y2) {}; if (z2) {}; // clang-format on guScale(mtx, 1.2f, 1.2f, 1.2f); @@ -8077,7 +8112,7 @@ void func_800A66A8(struct_8018D9E0_entry* arg0, Unk_D_800E70A0* arg1) { gSPDisplayList(gDisplayListHead++, D_0D003090); } -void func_800A69C8(UNUSED struct_8018D9E0_entry* arg0) { +void func_800A69C8(UNUSED MenuItem* arg0) { Unk_D_800E70A0* thing; UNUSED s32 stackPadding1; s32 var_s0; @@ -8103,7 +8138,7 @@ void func_800A69C8(UNUSED struct_8018D9E0_entry* arg0) { var_s4 = &gNmiUnknown4[var_s0]; break; } - temp_s3 = D_800E7720[var_v1]; + temp_s3 = gWinLoseText[var_v1]; if (var_v1 != 0) { set_text_color(TEXT_BLUE); } else { @@ -8111,14 +8146,14 @@ void func_800A69C8(UNUSED struct_8018D9E0_entry* arg0) { } func_800A79F4(var_s4[0], sp74); text_draw(thing->column + 0x10, thing->row + 0x75, sp74, 0, 1.0f, 1.0f); - func_80093754(D_800E7380[var_s0].column, D_800E7380[var_s0].row, temp_s3, 0, 0.65f, 1.0f); + print_text1_center_mode_2(D_800E7380[var_s0].column, D_800E7380[var_s0].row, temp_s3, 0, 0.65f, 1.0f); } set_text_color(TEXT_BLUE); // Not a hyphen, that is an EUC-JP character text_draw(0x0000009E, D_800E7300[0].row + 0x6D, "ー", 0, 1.0f, 1.0f); } -void func_800A6BEC(UNUSED struct_8018D9E0_entry* arg0) { +void func_800A6BEC(UNUSED MenuItem* arg0) { s32 var_s0; for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) { @@ -8133,7 +8168,7 @@ void func_800A6BEC(UNUSED struct_8018D9E0_entry* arg0) { } } -void func_800A6CC0(UNUSED struct_8018D9E0_entry* arg0) { +void func_800A6CC0(UNUSED MenuItem* arg0) { s32 var_s0; for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) { @@ -8162,7 +8197,7 @@ void func_800A6D94(s32 arg0, s32 arg1, u8* arg2) { } thing = arg2[arg1]; if (var_v0 != 0) { - set_text_color(0); + set_text_color(TEXT_BLUE); } else { set_text_color(gGlobalTimer % 3); } @@ -8212,14 +8247,14 @@ void func_800A6E94(s32 arg0, s32 arg1, u8* arg2) { text_draw(temp_s0->column + 0x2D, temp_s0->row + 0x78, sp40, 0, 0.8f, 0.8f); } -void func_800A70E8(struct_8018D9E0_entry* arg0) { +void func_800A70E8(MenuItem* arg0) { s32 var_s0; s32 temp_f6; s32 alpha; s32 loopIndex; s32 stringIndex; - if (arg0->cursor == 1) { + if (arg0->state == 1) { var_s0 = get_string_width(D_800E7A34[0]) * 0.45f; temp_f6 = get_string_width(D_800E7A34[1]) * 0.45f; if (var_s0 < temp_f6) { @@ -8227,23 +8262,23 @@ void func_800A70E8(struct_8018D9E0_entry* arg0) { } gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000022, var_s0 + 0xC6, 0x00000039, 0, 0, 0, 0x00000096); - alpha = 0x180 - ((arg0->unk1C % 32) * 8); + alpha = 0x180 - ((arg0->param1 % 32) * 8); if (alpha >= 0x100) { alpha = 0xFF; } gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, alpha); set_text_color(TEXT_RED); for (loopIndex = 0x2C, stringIndex = 0; loopIndex < 0x40; loopIndex += 0xA, stringIndex++) { - func_80093358(0x000000C0, loopIndex, D_800E7A34[stringIndex], 0, 0.45f, 0.45f); + print_text_mode_2(0x000000C0, loopIndex, D_800E7A34[stringIndex], 0, 0.45f, 0.45f); } } } // Shading layer of the grand prix podium result screen -void func_800A7258(struct_8018D9E0_entry* arg0) { - if (arg0->cursor == 0) { +void func_800A7258(MenuItem* arg0) { + if (arg0->state == 0) { // If shading layer is fading in - gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, arg0->unk1C); + gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, arg0->param1); } else { // All other stages of the podium scene gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x13F, 0xEF, 0, 0, 0, 0x64); @@ -8251,36 +8286,36 @@ void func_800A7258(struct_8018D9E0_entry* arg0) { } // Podium scene, top line -void func_800A72FC(struct_8018D9E0_entry* arg0) { +void func_800A72FC(MenuItem* arg0) { UNUSED s32 pad; s32 cupNameLength = (((f32) get_string_width(gCupNames[gCupSelection]) * 1) + 10) / 2; s32 ccNameLength = (((f32) get_string_width(D_800E76CC[gCCSelection]) * 1) + 10) / 2; set_text_color(TEXT_YELLOW); - draw_text(arg0->column - ccNameLength, arg0->row, gCupNames[gCupSelection], 0, 1, 1); + print_text1_center_mode_1(arg0->column - ccNameLength, arg0->row, gCupNames[gCupSelection], 0, 1, 1); set_text_color(TEXT_YELLOW); - draw_text(arg0->column + cupNameLength, arg0->row, D_800E76DC[gCCSelection], 0, 1, 1); + print_text1_center_mode_1(arg0->column + cupNameLength, arg0->row, D_800E76DC[gCCSelection], 0, 1, 1); } -void func_800A7448(struct_8018D9E0_entry* arg0) { +void func_800A7448(MenuItem* arg0) { UNUSED s32 pad; s32 sp40; s32 sp3C; s32 thing = D_802874D8.unk1D; if (thing >= 3) { set_text_color(TEXT_YELLOW); - draw_text(arg0->column, arg0->row, D_800E7A98, 0, 0.75f, 0.75f); + print_text1_center_mode_1(arg0->column, arg0->row, D_800E7A98, 0, 0.75f, 0.75f); } else { sp40 = (s32) (((f32) (get_string_width(D_800E7A88[0]) + 5) * 0.75f) / 2); sp3C = (s32) (((f32) (get_string_width(D_800E7A88[thing + 1]) + 5) * 0.75f) / 2); set_text_color(TEXT_YELLOW); - draw_text(arg0->column - sp3C, arg0->row, D_800E7A88[0], 0, 0.75f, 0.75f); + print_text1_center_mode_1(arg0->column - sp3C, arg0->row, D_800E7A88[0], 0, 0.75f, 0.75f); set_text_color(TEXT_YELLOW); - draw_text(arg0->column + sp40, arg0->row, D_800E7A88[thing + 1], 0, 0.75f, 0.75f); + print_text1_center_mode_1(arg0->column + sp40, arg0->row, D_800E7A88[thing + 1], 0, 0.75f, 0.75f); } } -void func_800A75A0(struct_8018D9E0_entry* arg0) { +void func_800A75A0(MenuItem* arg0) { UNUSED s32 pad; s32 topThree; @@ -8291,10 +8326,10 @@ void func_800A75A0(struct_8018D9E0_entry* arg0) { } set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1); - draw_text(arg0->column, arg0->row, D_800E7A9C[topThree], 0, 1.3f, 1.3f); + print_text1_center_mode_1(arg0->column, arg0->row, D_800E7A9C[topThree], 0, 1.3f, 1.3f); } -void func_800A761C(struct_8018D9E0_entry* arg0) { +void func_800A761C(MenuItem* arg0) { UNUSED s32 stackPadding0; s32 sp48; s32 sp44; @@ -8304,32 +8339,32 @@ void func_800A761C(struct_8018D9E0_entry* arg0) { temp_a0 = D_802874D8.unk1D + 1; func_800A79F4(temp_a0, sp3C); - sp48 = ((get_string_width(D_800E7AA4[0]) + 5) * 1.2f) / 2; - sp44 = ((get_string_width(D_800E7AA4[temp_a0]) + 5) * 1.2f) / 2; - set_text_color(5); - draw_text(arg0->column - sp44, arg0->row, D_800E7AA4[0], 0, 1.2f, 1.2f); + sp48 = ((get_string_width(gPlaceText[0]) + 5) * 1.2f) / 2; + sp44 = ((get_string_width(gPlaceText[temp_a0]) + 5) * 1.2f) / 2; + set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2); + print_text1_center_mode_1(arg0->column - sp44, arg0->row, gPlaceText[0], 0, 1.2f, 1.2f); set_text_color((s32) gGlobalTimer % 3); - draw_text(arg0->column + sp48, arg0->row, D_800E7AA4[temp_a0], 0, 1.2f, 1.2f); + print_text1_center_mode_1(arg0->column + sp48, arg0->row, gPlaceText[temp_a0], 0, 1.2f, 1.2f); convert_number_to_ascii(temp_a0, sp3C); func_800939C8((arg0->column + sp48) - 0x18, arg0->row, &sp3C[1], 0, 2.0f, 2.0f); } -void func_800A7790(struct_8018D9E0_entry* arg0) { +void menu_item_credit_render(MenuItem* arg0) { f32 someScaling; s32 creditIndex; s8 slideDirection; UNUSED s32 pad; creditIndex = arg0->type - 0x190; - set_text_color(D_802850C0[creditIndex].textColor); - slideDirection = D_802850C0[creditIndex].slideDirection; + set_text_color(gTextCreaditRenderInformation[creditIndex].textColor); + slideDirection = gTextCreaditRenderInformation[creditIndex].slideDirection; if ((slideDirection == SLIDE_RIGHT) || (slideDirection != SLIDE_LEFT)) { - someScaling = D_802850C0[creditIndex].textScaling; - func_800936B8(arg0->column, arg0->row, D_802854B0[creditIndex], arg0->unk1C * someScaling, - arg0->unk24 * someScaling, someScaling); + someScaling = gTextCreaditRenderInformation[creditIndex].textScaling; + print_text1_left(arg0->column, arg0->row, gTextCredit[creditIndex], arg0->param1 * someScaling, + arg0->paramf * someScaling, someScaling); } else { - someScaling = D_802850C0[creditIndex].textScaling; - func_80093324(arg0->column, arg0->row, D_802854B0[creditIndex], arg0->unk1C * someScaling, - arg0->unk24 * someScaling, someScaling); + someScaling = gTextCreaditRenderInformation[creditIndex].textScaling; + print_text_mode_1(arg0->column, arg0->row, gTextCredit[creditIndex], arg0->param1 * someScaling, + arg0->paramf * someScaling, someScaling); } } @@ -8397,427 +8432,426 @@ void func_800A79F4(s32 arg0, char* arg1) { arg1[4] = '\0'; } -void func_800A7A4C(s32 arg0) { - s32 var_s0; - s32 var_v1; - s32 var_v1_2; +void handle_menus_with_pri_arg(s32 priSpecial) { + s32 j; + s32 isRendered; + s32 i; s32 type; - struct_8018D9E0_entry* var_s1; - s32 one = 1; + MenuItem* entry; - for (var_v1_2 = 0; var_v1_2 < D_8018D9E0_SIZE; var_v1_2++) { - var_v1 = 0; - var_s1 = &D_8018D9E0[var_v1_2]; - type = var_s1->type; - if ((type == 4) || (type == 5) || (type == 0x000000C7)) { - if (arg0 != 0) { - var_v1 = 1; + for (i = 0; i < MENU_ITEMS_MAX; i++) { + isRendered = false; + entry = &gMenuItems[i]; + type = entry->type; + if ((type == MENU_ITEM_UI_NO_CONTROLLER) || (type == MENU_ITEM_UI_START_RECORD_TIME) || (type == MENU_ITEM_TYPE_0C7)) { + if (priSpecial != 0) { + isRendered = true; } - } else if (arg0 == 0) { - var_v1 = 1; + } else if (priSpecial == 0) { + isRendered = true; } - if (var_v1 == 0) { + if (isRendered == false) { continue; } - switch (type) { /* switch 8; irregular */ - case 0xFA: /* switch 8 */ - if (s8018ED94 < 0x50) { - D_800E8534 = 3.0f; - } else if (s8018ED94 < 0x5A) { - if (D_800E8530 < 1.0) { - D_800E8530 += 0.1; + switch (type) { /* switch 8; irregular */ + case MENU_ITEM_UI_LOGO_INTRO: /* switch 8 */ + if (sIntroModelTimer < 0x50) { + sIntroModelSpeed = 3.0f; + } else if (sIntroModelTimer < 0x5A) { + if (sIntroModelMotionSpeed < 1.0) { + sIntroModelMotionSpeed += 0.1; } - D_800E8534 += 0.1; - } else if (s8018ED94 < 0xA0) { - D_800E8534 += 0.1; - } else if (s8018ED94 < 0x190) { - D_800E8534 += 0.3; - } - gIntroModelRotY -= D_800E8534; - s8018ED94 += 1; + sIntroModelSpeed += 0.1; + } else if (sIntroModelTimer < 0xA0) { + sIntroModelSpeed += 0.1; + } else if (sIntroModelTimer < 0x190) { + sIntroModelSpeed += 0.3; + } + gIntroModelRotY -= sIntroModelSpeed; + sIntroModelTimer += 1; if (gIntroModelRotY < -360.0f) { gIntroModelRotY += 360.0f; } - var_s1->unk1C++; - if (var_s1->unk1C == 0x000000B4) { + entry->param1++; + if (entry->param1 == 0x000000B4) { func_8009E000(0x00000028); func_800CA388(0x64U); gMenuFadeType = MENU_FADE_TYPE_MAIN; } - if ((var_s1->unk20 != 0) && (var_s1->unk1C >= 3)) { - var_s1->unk20 = 0; + if ((entry->param2 != 0) && (entry->param1 >= 3)) { + entry->param2 = 0; play_sound2(SOUND_INTRO_LOGO); } break; - case 0xDA: /* switch 8 */ - func_800A954C(var_s1); + case MENU_ITEM_TYPE_0DA: /* switch 8 */ + func_800A954C(entry); break; - case 0xD6: /* switch 8 */ - func_800A9710(var_s1); + case MENU_ITEM_TYPE_0D6: /* switch 8 */ + func_800A9710(entry); break; - case 0xD4: /* switch 8 */ - func_800A97BC(var_s1); + case MENU_ITEM_TYPE_0D4: /* switch 8 */ + func_800A97BC(entry); break; - case 0x5: /* switch 8 */ - switch (var_s1->cursor) { /* switch 9; irregular */ - case 0: /* switch 9 */ + case MENU_ITEM_UI_START_RECORD_TIME: /* switch 8 */ + switch (entry->state) { /* switch 9; irregular */ + case 0: /* switch 9 */ if (gControllerFive->button & R_TRIG) { - var_s1->cursor = (s32) 1U; + entry->state = (s32) 1U; play_sound2(SOUND_ACTION_PING); } else { - var_s1->visible = 0; + entry->visible = 0; } break; case 1: /* switch 9 */ default: /* switch 9 */ - var_s1->visible = one; + entry->visible = 1; break; } break; - case 0xA: /* switch 8 */ - func_800AA280(var_s1); + case MENU_ITEM_UI_GAME_SELECT: /* switch 8 */ + func_800AA280(entry); break; - case 0x10: /* switch 8 */ - case 0x11: /* switch 8 */ - switch (gMainMenuSelection) { /* switch 5 */ + case MAIN_MENU_OPTION_GFX: /* switch 8 */ + case MAIN_MENU_DATA_GFX: /* switch 8 */ + switch (gMainMenuSelection) { /* switch 5 */ case MAIN_MENU_OPTION: /* switch 5 */ - case MAIN_MENU_DATA: /* switch 5 */ - case MAIN_MENU_PLAYER_SELECT: /* switch 5 */ - func_800A9B9C(var_s1); + case MAIN_MENU_DATA: /* switch 5 */ + case MAIN_MENU_PLAYER_SELECT: /* switch 5 */ + func_800A9B9C(entry); break; - case MAIN_MENU_MODE_SELECT: /* switch 5 */ - case MAIN_MENU_MODE_SUB_SELECT: /* switch 5 */ - case MAIN_MENU_OK_SELECT: /* switch 5 */ - case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 5 */ - case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 5 */ - func_800A9C40(var_s1); + case MAIN_MENU_MODE_SELECT: /* switch 5 */ + case MAIN_MENU_MODE_SUB_SELECT: /* switch 5 */ + case MAIN_MENU_OK_SELECT: /* switch 5 */ + case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 5 */ + case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 5 */ + func_800A9C40(entry); break; } break; - case 0xF: /* switch 8 */ - func_800AA280(var_s1); - func_800A9A98(var_s1); + case MENU_ITEM_UI_OK: /* switch 8 */ + func_800AA280(entry); + update_ok_menu_item(entry); break; - case 0xB: /* switch 8 */ - case 0xC: /* switch 8 */ - case 0xD: /* switch 8 */ - case 0xE: /* switch 8 */ - switch (gMainMenuSelection) { /* switch 6 */ + case MENU_ITEM_UI_1P_GAME: /* switch 8 */ + case MENU_ITEM_UI_2P_GAME: /* switch 8 */ + case MENU_ITEM_UI_3P_GAME: /* switch 8 */ + case MENU_ITEM_UI_4P_GAME: /* switch 8 */ + switch (gMainMenuSelection) { /* switch 6 */ case MAIN_MENU_OPTION: /* switch 6 */ - case MAIN_MENU_DATA: /* switch 6 */ - case MAIN_MENU_PLAYER_SELECT: /* switch 6 */ - func_800A9B9C(var_s1); + case MAIN_MENU_DATA: /* switch 6 */ + case MAIN_MENU_PLAYER_SELECT: /* switch 6 */ + func_800A9B9C(entry); break; - case MAIN_MENU_MODE_SELECT: /* switch 6 */ - case MAIN_MENU_MODE_SUB_SELECT: /* switch 6 */ - case MAIN_MENU_OK_SELECT: /* switch 6 */ - case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 6 */ - case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 6 */ - func_800A9C40(var_s1); + case MAIN_MENU_MODE_SELECT: /* switch 6 */ + case MAIN_MENU_MODE_SUB_SELECT: /* switch 6 */ + case MAIN_MENU_OK_SELECT: /* switch 6 */ + case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 6 */ + case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 6 */ + func_800A9C40(entry); break; } - func_800A9D5C(var_s1); - break; - case 0x12: /* switch 8 */ - case 0x13: /* switch 8 */ - case 0x14: /* switch 8 */ - case 0x15: /* switch 8 */ - case 0x16: /* switch 8 */ - case 0x17: /* switch 8 */ - case 0x18: /* switch 8 */ - case 0x19: /* switch 8 */ - func_800A9E58(var_s1); - break; - case 0x1B: /* switch 8 */ - func_800AA2EC(var_s1); - break; - case 0x34: /* switch 8 */ - case 0x35: /* switch 8 */ - case 0x36: /* switch 8 */ - case 0x37: /* switch 8 */ - func_800AADD4(var_s1); - break; - case 0x2B: /* switch 8 */ - case 0x2C: /* switch 8 */ - case 0x2D: /* switch 8 */ - case 0x2E: /* switch 8 */ - case 0x2F: /* switch 8 */ - case 0x30: /* switch 8 */ - case 0x31: /* switch 8 */ - case 0x32: /* switch 8 */ - func_800AAC18(var_s1); - switch (var_s1->type) { /* switch 7 */ - case 43: /* switch 7 */ - case 44: /* switch 7 */ - case 45: /* switch 7 */ - case 46: /* switch 7 */ - case 47: /* switch 7 */ - case 48: /* switch 7 */ - case 49: /* switch 7 */ - case 50: /* switch 7 */ - func_800AA69C(var_s1); + func_800A9D5C(entry); + break; + case MAIN_MENU_50CC: /* switch 8 */ + case MAIN_MENU_100CC: /* switch 8 */ + case MAIN_MENU_150CC: /* switch 8 */ + case MENU_ITEM_TYPE_015: /* switch 8 */ + case MENU_ITEM_TYPE_016: /* switch 8 */ + case MENU_ITEM_TYPE_017: /* switch 8 */ + case MAIN_MENU_TIME_TRIALS_BEGIN: /* switch 8 */ + case MAIN_MENU_TIME_TRIALS_DATA: /* switch 8 */ + func_800A9E58(entry); + break; + case MENU_ITEM_TYPE_01B: /* switch 8 */ + func_800AA2EC(entry); + break; + case CHARACTER_SELECT_MENU_1P_CURSOR: /* switch 8 */ + case CHARACTER_SELECT_MENU_2P_CURSOR: /* switch 8 */ + case CHARACTER_SELECT_MENU_3P_CURSOR: /* switch 8 */ + case CHARACTER_SELECT_MENU_4P_CURSOR: /* switch 8 */ + update_cursor(entry); + break; + case CHARACTER_SELECT_MENU_MARIO: /* switch 8 */ + case CHARACTER_SELECT_MENU_LUIGI: /* switch 8 */ + case CHARACTER_SELECT_MENU_TOAD: /* switch 8 */ + case CHARACTER_SELECT_MENU_PEACH: /* switch 8 */ + case CHARACTER_SELECT_MENU_YOSHI: /* switch 8 */ + case CHARACTER_SELECT_MENU_DK: /* switch 8 */ + case CHARACTER_SELECT_MENU_WARIO: /* switch 8 */ + case CHARACTER_SELECT_MENU_BOWSER: /* switch 8 */ + func_800AAC18(entry); + switch (entry->type) { /* switch 7 */ + case CHARACTER_SELECT_MENU_MARIO: /* switch 7 */ + case CHARACTER_SELECT_MENU_LUIGI: /* switch 7 */ + case CHARACTER_SELECT_MENU_TOAD: /* switch 7 */ + case CHARACTER_SELECT_MENU_PEACH: /* switch 7 */ + case CHARACTER_SELECT_MENU_YOSHI: /* switch 7 */ + case CHARACTER_SELECT_MENU_DK: /* switch 7 */ + case CHARACTER_SELECT_MENU_WARIO: /* switch 7 */ + case CHARACTER_SELECT_MENU_BOWSER: /* switch 7 */ + func_800AA69C(entry); break; } switch (gPlayerSelectMenuSelection) { /* switch 10; irregular */ - case PLAYER_SELECT_MENU_MAIN: /* switch 10 */ - func_800AAB90(var_s1); + case PLAYER_SELECT_MENU_MAIN: /* switch 10 */ + func_800AAB90(entry); break; - case PLAYER_SELECT_MENU_OK: /* switch 10 */ + case PLAYER_SELECT_MENU_OK: /* switch 10 */ case PLAYER_SELECT_MENU_OK_GO_BACK: /* switch 10 */ - func_800AAA9C(var_s1); + func_800AAA9C(entry); break; } - func_800AAE18(var_s1); + func_800AAE18(entry); break; - case 0x33: /* switch 8 */ - case 0x5D: /* switch 8 */ - func_800A9A98(var_s1); + case CHARACTER_SELECT_MENU_OK: /* switch 8 */ + case COURSE_SELECT_OK: /* switch 8 */ + update_ok_menu_item(entry); break; - case 0x53: /* switch 8 */ - case 0x54: /* switch 8 */ - case 0x55: /* switch 8 */ - case 0x56: /* switch 8 */ - func_800AB164(var_s1); - switch (gSubMenuSelection) { /* switch 11; irregular */ + case COURSE_SELECT_MUSHROOM_CUP: /* switch 8 */ + case COURSE_SELECT_FLOWER_CUP: /* switch 8 */ + case COURSE_SELECT_STAR_CUP: /* switch 8 */ + case COURSE_SELECT_SPECIAL_CUP: /* switch 8 */ + func_800AB164(entry); + switch (gSubMenuSelection) { /* switch 11; irregular */ case SUB_MENU_MAP_SELECT_CUP: /* switch 11 */ - func_800AB020(var_s1); + func_800AB020(entry); break; case SUB_MENU_MAP_SELECT_COURSE: /* switch 11 */ - case SUB_MENU_MAP_SELECT_OK: /* switch 11 */ - func_800AB098(var_s1); + case SUB_MENU_MAP_SELECT_OK: /* switch 11 */ + func_800AB098(entry); break; } break; - case 0x58: /* switch 8 */ - case 0x59: /* switch 8 */ - case 0x5A: /* switch 8 */ - case 0x5B: /* switch 8 */ - func_800AB260(var_s1); + case MENU_ITEM_TYPE_058: /* switch 8 */ + case COURSE_SELECT_COURSE_NAMES: /* switch 8 */ + case MENU_ITEM_TYPE_05A: /* switch 8 */ + case MENU_ITEM_TYPE_05B: /* switch 8 */ + func_800AB260(entry); break; - case 0x64: /* switch 8 */ - func_800AB314(var_s1); + case MENU_ITEM_TYPE_064: /* switch 8 */ + func_800AB314(entry); break; - case 0x5F: /* switch 8 */ - case 0x60: /* switch 8 */ - case 0x61: /* switch 8 */ - case 0x62: /* switch 8 */ - func_800AB290(var_s1); + case MENU_ITEM_TYPE_05F: /* switch 8 */ + case MENU_ITEM_TYPE_060: /* switch 8 */ + case MENU_ITEM_TYPE_061: /* switch 8 */ + case MENU_ITEM_TYPE_062: /* switch 8 */ + func_800AB290(entry); break; - case 0x65: /* switch 8 */ - case 0x66: /* switch 8 */ - func_800AB904(var_s1); + case MENU_ITEM_TYPE_065: /* switch 8 */ + case MENU_ITEM_TYPE_066: /* switch 8 */ + func_800AB904(entry); break; - case 0x67: /* switch 8 */ - func_800AB9B0(var_s1); + case MENU_ITEM_TYPE_067: /* switch 8 */ + func_800AB9B0(entry); break; - case 0x78: /* switch 8 */ - case 0x79: /* switch 8 */ - case 0x7A: /* switch 8 */ - case 0x7B: /* switch 8 */ - case 0x8C: /* switch 8 */ - func_800ABAE8(var_s1); + case MENU_ITEM_TYPE_078: /* switch 8 */ + case MENU_ITEM_TYPE_079: /* switch 8 */ + case MENU_ITEM_TYPE_07A: /* switch 8 */ + case MENU_ITEM_TYPE_07B: /* switch 8 */ + case MENU_ITEM_TYPE_08C: /* switch 8 */ + func_800ABAE8(entry); break; - case 0x8D: /* switch 8 */ - func_800ABB24(var_s1); - break; - case 0x7C: /* switch 8 */ - case 0x7D: /* switch 8 */ - case 0x7E: /* switch 8 */ - case 0x7F: /* switch 8 */ - case 0x80: /* switch 8 */ - case 0x81: /* switch 8 */ - case 0x82: /* switch 8 */ - case 0x83: /* switch 8 */ - case 0x84: /* switch 8 */ - case 0x85: /* switch 8 */ - case 0x86: /* switch 8 */ - case 0x87: /* switch 8 */ - case 0x88: /* switch 8 */ - case 0x89: /* switch 8 */ - case 0x8A: /* switch 8 */ - case 0x8B: /* switch 8 */ - func_800ABBCC(var_s1); - break; - case 0x96: /* switch 8 */ - func_800ABC38(var_s1); - break; - case 0x97: /* switch 8 */ - func_800ABEAC(var_s1); - break; - case 0x5E: /* switch 8 */ - func_800AC300(var_s1); - break; - case 0xAA: /* switch 8 */ - func_800AC324(var_s1); - break; - case 0xAB: /* switch 8 */ - func_800AC458(var_s1); - break; - case 0xAC: /* switch 8 */ - func_800ACA14(var_s1); - break; - case 0xAF: /* switch 8 */ - func_800AC978(var_s1); - break; - case 0xB0: /* switch 8 */ - func_800ACC50(var_s1); - break; - case 0xB1: /* switch 8 */ - case 0xB2: /* switch 8 */ - case 0xB3: /* switch 8 */ - case 0xB4: /* switch 8 */ - func_800ACF40(var_s1); - break; - case 0xB9: /* switch 8 */ - func_800AD1A4(var_s1); - break; - case 0xBA: /* switch 8 */ - func_800AD2E8(var_s1); - break; - case 0xBC: /* switch 8 */ - func_800AEC54(var_s1); - break; - case 0xC7: /* switch 8 */ - func_800ADF48(var_s1); - break; - case 0xBD: /* switch 8 */ - func_800AE218(var_s1); - break; - case 0xE6: /* switch 8 */ - func_800AEDBC(var_s1); - break; - case 0xE8: /* switch 8 */ - func_800AEE90(var_s1); - break; - case 0xE9: /* switch 8 */ - func_800AEEBC(var_s1); - break; - case 0xEA: /* switch 8 */ - func_800AEEE8(var_s1); - break; - case 0xBE: /* switch 8 */ - func_800AEF14(var_s1); - break; - case 0x10E: /* switch 8 */ - func_800AEF74(var_s1); - break; - case 0x12B: /* switch 8 */ - func_800AF004(var_s1); - break; - case 0x12C: /* switch 8 */ - case 0x12D: /* switch 8 */ - case 0x12E: /* switch 8 */ - case 0x12F: /* switch 8 */ - func_800AF1AC(var_s1); - break; - case 0x130: /* switch 8 */ - func_800AF270(var_s1); - break; - case 0x190: /* switch 8 */ - case 0x191: /* switch 8 */ - case 0x192: /* switch 8 */ - case 0x193: /* switch 8 */ - case 0x194: /* switch 8 */ - case 0x195: /* switch 8 */ - case 0x196: /* switch 8 */ - case 0x197: /* switch 8 */ - case 0x198: /* switch 8 */ - case 0x199: /* switch 8 */ - case 0x19A: /* switch 8 */ - case 0x19B: /* switch 8 */ - case 0x19C: /* switch 8 */ - case 0x19D: /* switch 8 */ - case 0x19E: /* switch 8 */ - case 0x19F: /* switch 8 */ - case 0x1A0: /* switch 8 */ - case 0x1A1: /* switch 8 */ - case 0x1A2: /* switch 8 */ - case 0x1A3: /* switch 8 */ - case 0x1A4: /* switch 8 */ - case 0x1A5: /* switch 8 */ - case 0x1A6: /* switch 8 */ - case 0x1A7: /* switch 8 */ - case 0x1A8: /* switch 8 */ - case 0x1A9: /* switch 8 */ - case 0x1AA: /* switch 8 */ - case 0x1AB: /* switch 8 */ - case 0x1AC: /* switch 8 */ - case 0x1AD: /* switch 8 */ - case 0x1AE: /* switch 8 */ - case 0x1AF: /* switch 8 */ - case 0x1B0: /* switch 8 */ - case 0x1B1: /* switch 8 */ - case 0x1B2: /* switch 8 */ - case 0x1B3: /* switch 8 */ - case 0x1B4: /* switch 8 */ - case 0x1B5: /* switch 8 */ - case 0x1B6: /* switch 8 */ - case 0x1B7: /* switch 8 */ - case 0x1B8: /* switch 8 */ - case 0x1B9: /* switch 8 */ - case 0x1BA: /* switch 8 */ - case 0x1BB: /* switch 8 */ - case 0x1BC: /* switch 8 */ - case 0x1BD: /* switch 8 */ - case 0x1BE: /* switch 8 */ - case 0x1BF: /* switch 8 */ - case 0x1C0: /* switch 8 */ - case 0x1C1: /* switch 8 */ - case 0x1C2: /* switch 8 */ - case 0x1C3: /* switch 8 */ - case 0x1C4: /* switch 8 */ - case 0x1C5: /* switch 8 */ - case 0x1C6: /* switch 8 */ - case 0x1C7: /* switch 8 */ - case 0x1C8: /* switch 8 */ - case 0x1C9: /* switch 8 */ - case 0x1CA: /* switch 8 */ - case 0x1CB: /* switch 8 */ - case 0x1CC: /* switch 8 */ - case 0x1CD: /* switch 8 */ - case 0x1CE: /* switch 8 */ - func_800AF480(var_s1); - break; - case 0: - case 1: - case 2: - case 3: - case 4: + case MENU_ITEM_TYPE_08D: /* switch 8 */ + func_800ABB24(entry); break; - } - } - - for (var_s0 = 0; var_s0 < 0x10; var_s0++) { - for (var_v1_2 = 0; var_v1_2 < D_8018D9E0_SIZE; var_v1_2++) { - var_v1 = 0; - var_s1 = &D_8018D9E0[var_v1_2]; - if (var_s1 && var_s1) {} // ? - type = var_s1->type; - if ((type == 4) || (type == 5) || (type == 0x000000C7)) { - if (arg0 != 0) { - var_v1 = 1; - } - } else if (arg0 == 0) { - var_v1 = 1; - } - if ((var_v1 != 0) && (var_s0 == (s8) var_s1->priority)) { - func_8009F5E0(var_s1); - } - } - } -} - -void func_800A8230(void) { - func_800A7A4C(0); -} - -void func_800A8250(void) { - func_800A7A4C(1); -} - -void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) { + case MENU_ITEM_TYPE_07C: /* switch 8 */ + case MENU_ITEM_TYPE_07D: /* switch 8 */ + case MENU_ITEM_TYPE_07E: /* switch 8 */ + case MENU_ITEM_TYPE_07F: /* switch 8 */ + case MENU_ITEM_TYPE_080: /* switch 8 */ + case MENU_ITEM_TYPE_081: /* switch 8 */ + case MENU_ITEM_TYPE_082: /* switch 8 */ + case MENU_ITEM_TYPE_083: /* switch 8 */ + case MENU_ITEM_TYPE_084: /* switch 8 */ + case MENU_ITEM_TYPE_085: /* switch 8 */ + case MENU_ITEM_TYPE_086: /* switch 8 */ + case MENU_ITEM_TYPE_087: /* switch 8 */ + case MENU_ITEM_TYPE_088: /* switch 8 */ + case MENU_ITEM_TYPE_089: /* switch 8 */ + case MENU_ITEM_TYPE_08A: /* switch 8 */ + case MENU_ITEM_TYPE_08B: /* switch 8 */ + func_800ABBCC(entry); + break; + case MENU_ITEM_TYPE_096: /* switch 8 */ + func_800ABC38(entry); + break; + case MENU_ITEM_TYPE_097: /* switch 8 */ + func_800ABEAC(entry); + break; + case MENU_ITEM_TYPE_05E: /* switch 8 */ + func_800AC300(entry); + break; + case MENU_ITEM_TYPE_0AA: /* switch 8 */ + func_800AC324(entry); + break; + case MENU_ITEM_TYPE_0AB: /* switch 8 */ + func_800AC458(entry); + break; + case MENU_ITEM_TYPE_0AC: /* switch 8 */ + func_800ACA14(entry); + break; + case MENU_ITEM_TYPE_0AF: /* switch 8 */ + func_800AC978(entry); + break; + case MENU_ITEM_TYPE_0B0: /* switch 8 */ + func_800ACC50(entry); + break; + case MENU_ITEM_TYPE_0B1: /* switch 8 */ + case MENU_ITEM_TYPE_0B2: /* switch 8 */ + case MENU_ITEM_TYPE_0B3: /* switch 8 */ + case MENU_ITEM_TYPE_0B4: /* switch 8 */ + func_800ACF40(entry); + break; + case MENU_ITEM_TYPE_0B9: /* switch 8 */ + func_800AD1A4(entry); + break; + case MENU_ITEM_TYPE_0BA: /* switch 8 */ + func_800AD2E8(entry); + break; + case MENU_ITEM_TYPE_0BC: /* switch 8 */ + func_800AEC54(entry); + break; + case MENU_ITEM_TYPE_0C7: /* switch 8 */ + func_800ADF48(entry); + break; + case MENU_ITEM_TYPE_0BD: /* switch 8 */ + func_800AE218(entry); + break; + case MENU_ITEM_TYPE_0E6: /* switch 8 */ + func_800AEDBC(entry); + break; + case MENU_ITEM_TYPE_0E8: /* switch 8 */ + func_800AEE90(entry); + break; + case MENU_ITEM_TYPE_0E9: /* switch 8 */ + func_800AEEBC(entry); + break; + case MENU_ITEM_TYPE_0EA: /* switch 8 */ + func_800AEEE8(entry); + break; + case MENU_ITEM_TYPE_0BE: /* switch 8 */ + func_800AEF14(entry); + break; + case MENU_ITEM_TYPE_10E: /* switch 8 */ + func_800AEF74(entry); + break; + case MENU_ITEM_TYPE_12B: /* switch 8 */ + func_800AF004(entry); + break; + case MENU_ITEM_TYPE_12C: /* switch 8 */ + case MENU_ITEM_TYPE_12D: /* switch 8 */ + case MENU_ITEM_TYPE_12E: /* switch 8 */ + case MENU_ITEM_TYPE_12F: /* switch 8 */ + func_800AF1AC(entry); + break; + case MENU_ITEM_TYPE_130: /* switch 8 */ + func_800AF270(entry); + break; + case MENU_ITEM_TYPE_190: /* switch 8 */ + case MENU_ITEM_TYPE_191: /* switch 8 */ + case MENU_ITEM_TYPE_192: /* switch 8 */ + case MENU_ITEM_TYPE_193: /* switch 8 */ + case MENU_ITEM_TYPE_194: /* switch 8 */ + case MENU_ITEM_TYPE_195: /* switch 8 */ + case MENU_ITEM_TYPE_196: /* switch 8 */ + case MENU_ITEM_TYPE_197: /* switch 8 */ + case MENU_ITEM_TYPE_198: /* switch 8 */ + case MENU_ITEM_TYPE_199: /* switch 8 */ + case MENU_ITEM_TYPE_19A: /* switch 8 */ + case MENU_ITEM_TYPE_19B: /* switch 8 */ + case MENU_ITEM_TYPE_19C: /* switch 8 */ + case MENU_ITEM_TYPE_19D: /* switch 8 */ + case MENU_ITEM_TYPE_19E: /* switch 8 */ + case MENU_ITEM_TYPE_19F: /* switch 8 */ + case MENU_ITEM_TYPE_1A0: /* switch 8 */ + case MENU_ITEM_TYPE_1A1: /* switch 8 */ + case MENU_ITEM_TYPE_1A2: /* switch 8 */ + case MENU_ITEM_TYPE_1A3: /* switch 8 */ + case MENU_ITEM_TYPE_1A4: /* switch 8 */ + case MENU_ITEM_TYPE_1A5: /* switch 8 */ + case MENU_ITEM_TYPE_1A6: /* switch 8 */ + case MENU_ITEM_TYPE_1A7: /* switch 8 */ + case MENU_ITEM_TYPE_1A8: /* switch 8 */ + case MENU_ITEM_TYPE_1A9: /* switch 8 */ + case MENU_ITEM_TYPE_1AA: /* switch 8 */ + case MENU_ITEM_TYPE_1AB: /* switch 8 */ + case MENU_ITEM_TYPE_1AC: /* switch 8 */ + case MENU_ITEM_TYPE_1AD: /* switch 8 */ + case MENU_ITEM_TYPE_1AE: /* switch 8 */ + case MENU_ITEM_TYPE_1AF: /* switch 8 */ + case MENU_ITEM_TYPE_1B0: /* switch 8 */ + case MENU_ITEM_TYPE_1B1: /* switch 8 */ + case MENU_ITEM_TYPE_1B2: /* switch 8 */ + case MENU_ITEM_TYPE_1B3: /* switch 8 */ + case MENU_ITEM_TYPE_1B4: /* switch 8 */ + case MENU_ITEM_TYPE_1B5: /* switch 8 */ + case MENU_ITEM_TYPE_1B6: /* switch 8 */ + case MENU_ITEM_TYPE_1B7: /* switch 8 */ + case MENU_ITEM_TYPE_1B8: /* switch 8 */ + case MENU_ITEM_TYPE_1B9: /* switch 8 */ + case MENU_ITEM_TYPE_1BA: /* switch 8 */ + case MENU_ITEM_TYPE_1BB: /* switch 8 */ + case MENU_ITEM_TYPE_1BC: /* switch 8 */ + case MENU_ITEM_TYPE_1BD: /* switch 8 */ + case MENU_ITEM_TYPE_1BE: /* switch 8 */ + case MENU_ITEM_TYPE_1BF: /* switch 8 */ + case MENU_ITEM_TYPE_1C0: /* switch 8 */ + case MENU_ITEM_TYPE_1C1: /* switch 8 */ + case MENU_ITEM_TYPE_1C2: /* switch 8 */ + case MENU_ITEM_TYPE_1C3: /* switch 8 */ + case MENU_ITEM_TYPE_1C4: /* switch 8 */ + case MENU_ITEM_TYPE_1C5: /* switch 8 */ + case MENU_ITEM_TYPE_1C6: /* switch 8 */ + case MENU_ITEM_TYPE_1C7: /* switch 8 */ + case MENU_ITEM_TYPE_1C8: /* switch 8 */ + case MENU_ITEM_TYPE_1C9: /* switch 8 */ + case MENU_ITEM_TYPE_1CA: /* switch 8 */ + case MENU_ITEM_TYPE_1CB: /* switch 8 */ + case MENU_ITEM_TYPE_1CC: /* switch 8 */ + case MENU_ITEM_TYPE_1CD: /* switch 8 */ + case MENU_ITEM_TYPE_1CE: /* switch 8 */ + func_800AF480(entry); + break; + case MENU_ITEM_UI_NONE: + case MENU_ITEM_UI_START_BACKGROUND: + case MENU_ITEM_UI_LOGO_AND_COPYRIGHT: + case MENU_ITEM_UI_PUSH_START_BUTTON: + case MENU_ITEM_UI_NO_CONTROLLER: + break; + } + } + + for (j = 0; j < MENU_ITEM_UI_PRIO_MAX; j++) { + for (i = 0; i < MENU_ITEMS_MAX; i++) { + isRendered = false; + entry = &gMenuItems[i]; + if (entry && entry) {} // ? + type = entry->type; + if ((type == MENU_ITEM_UI_NO_CONTROLLER) || (type == MENU_ITEM_UI_START_RECORD_TIME) || (type == MENU_ITEM_TYPE_0C7)) { + if (priSpecial != 0) { + isRendered = true; + } + } else if (priSpecial == 0) { + isRendered = true; + } + if ((isRendered != 0) && (j == (s8) entry->priority)) { + render_menus(entry); + } + } + } +} + +void handle_menus_default(void) { + handle_menus_with_pri_arg(0); +} + +void handle_menus_special(void) { + handle_menus_with_pri_arg(1); +} + +void func_800A8270(s32 arg0, MenuItem* arg1) { s32 temp_t1; s32 temp_t6; s32 var_s0; @@ -8825,8 +8859,8 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) { s32 var_s3; s32 var_s4; - if (arg1->unk1C < 0x20) { - temp_t6 = (arg1->unk1C << 6) / 64; + if (arg1->param1 < 0x20) { + temp_t6 = (arg1->param1 << 6) / 64; temp_t1 = arg1->column; var_s0 = arg1->row; var_s3 = temp_t1 + temp_t6; @@ -8846,7 +8880,8 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) { gDisplayListHead = func_80098FC8(gDisplayListHead, var_s3, var_s0, var_s4, var_s0 + 0x35); } for (var_s0 += 0x41, var_s2 = 0; var_s2 <= gPlayerModeSelection[arg0]; var_s2++, var_s0 += 0x12) { - if ((var_s2 == gGameModeMenuColumn[arg0]) && ((arg0 + 1) == gPlayerCount) && (gMainMenuSelection > MAIN_MENU_PLAYER_SELECT)) { + if ((var_s2 == gGameModeMenuColumn[arg0]) && ((arg0 + 1) == gPlayerCount) && + (gMainMenuSelection > MAIN_MENU_PLAYER_SELECT)) { if (gMainMenuSelection == MAIN_MENU_MODE_SELECT) { gDisplayListHead = draw_flash_select_case_slow(gDisplayListHead, var_s3, var_s0, var_s4, var_s0 + 0x11); @@ -8862,10 +8897,10 @@ void func_800A8270(s32 arg0, struct_8018D9E0_entry* arg1) { } } -void func_800A8564(struct_8018D9E0_entry* arg0) { +void func_800A8564(MenuItem* arg0) { s32 sp34; s32 var_a1; - MkTexture* var_a0; + MenuTexture* var_a0; s32 temp_a2; s32 temp_t0; @@ -8873,14 +8908,13 @@ void func_800A8564(struct_8018D9E0_entry* arg0) { switch (arg0->type) { /* irregular */ case 0xF: var_a0 = D_0200487C; - if ((gMainMenuSelection == MAIN_MENU_OK_SELECT) || - (gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK)) { + if ((gMainMenuSelection == MAIN_MENU_OK_SELECT) || (gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK)) { var_a1 = 1; } break; case 0x33: var_a0 = D_02004B74; - if ((gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK) || + if ((gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK) || (gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK_GO_BACK)) { var_a1 = 1; } @@ -8894,8 +8928,8 @@ void func_800A8564(struct_8018D9E0_entry* arg0) { default: return; } - if (arg0->unk1C < 0x20) { - sp34 = (arg0->unk1C << 5) / 64; + if (arg0->param1 < 0x20) { + sp34 = (arg0->param1 << 5) / 64; var_a0 = segmented_to_virtual_dupe(var_a0); temp_t0 = arg0->column + var_a0->dX; temp_a2 = arg0->row + var_a0->dY; @@ -8909,43 +8943,43 @@ void func_800A8564(struct_8018D9E0_entry* arg0) { } } -void func_800A86E8(struct_8018D9E0_entry* arg0) { +void func_800A86E8(MenuItem* arg0) { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x64, arg0->row + 0x27, 1, 1, 1, 0xFF); } // Credit for the use of ternary operators goes to LLONSIT -void func_800A874C(struct_8018D9E0_entry* arg0) { +void func_800A874C(MenuItem* arg0) { UNUSED s32 stackPadding0; - char sp58[3]; + char buffer[3]; UNUSED s32 stackPadding1; UNUSED s32 stackPadding2; s32 temp_s1; UNUSED u32 var_v0; u32 var_s2; - set_text_color(1); - var_s2 = arg0->type == 0x00000065 ? func_800B4E24(0) : func_800B4F2C(); + set_text_color(TEXT_GREEN); + var_s2 = arg0->type == MENU_ITEM_TYPE_065 ? func_800B4E24(0) : func_800B4F2C(); temp_s1 = var_s2 & 0xFFFFF; - get_time_record_minutes((temp_s1 ^ 0), sp58); - text_draw(arg0->column + 5, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f); - func_80093324(arg0->column + 0xE, arg0->row + 0x21, "'", 0, 0.6f, 0.65f); - get_time_record_seconds(temp_s1, sp58); - text_draw(arg0->column + 0x16, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f); - func_80093324(arg0->column + 0x20, arg0->row + 0x21, "\"", 0, 0.6f, 0.65f); - get_time_record_centiseconds(temp_s1, sp58); - text_draw(arg0->column + 0x29, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f); + get_time_record_minutes((temp_s1 ^ 0), buffer); + text_draw(arg0->column + 5, arg0->row + 0x21, buffer, 0, 0.6f, 0.65f); + print_text_mode_1(arg0->column + 0xE, arg0->row + 0x21, "'", 0, 0.6f, 0.65f); + get_time_record_seconds(temp_s1, buffer); + text_draw(arg0->column + 0x16, arg0->row + 0x21, buffer, 0, 0.6f, 0.65f); + print_text_mode_1(arg0->column + 0x20, arg0->row + 0x21, "\"", 0, 0.6f, 0.65f); + get_time_record_centiseconds(temp_s1, buffer); + text_draw(arg0->column + 0x29, arg0->row + 0x21, buffer, 0, 0.6f, 0.65f); var_s2 = (u32) temp_s1 < 0x927C0U ? var_s2 >> 0x14 : 8; - func_800936B8(arg0->column + 0x60, arg0->row + 0x21, D_800E76A8[var_s2], 0, 0.6f, 0.65f); + print_text1_left(arg0->column + 0x60, arg0->row + 0x21, D_800E76A8[var_s2], 0, 0.6f, 0.65f); } -void func_800A890C(s32 arg0, struct_8018D9E0_entry* arg1) { +void func_800A890C(s32 arg0, MenuItem* arg1) { s32 temp_a2; s32 temp_t1; s32 temp_t7; - if (arg1->unk1C < 32) { + if (arg1->param1 < 32) { if (1) {} - temp_t7 = (arg1->unk1C * 65) / 64; + temp_t7 = (arg1->param1 * 65) / 64; temp_t1 = arg1->column; temp_a2 = arg1->row; gDPPipeSync(gDisplayListHead++); @@ -8966,7 +9000,7 @@ void func_800A890C(s32 arg0, struct_8018D9E0_entry* arg1) { } } -void func_800A8A98(struct_8018D9E0_entry* arg0) { +void func_800A8A98(MenuItem* arg0) { s32 temp_s2; s32 temp_s3; s32 someIndex; @@ -8977,8 +9011,10 @@ void func_800A8A98(struct_8018D9E0_entry* arg0) { gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2); gDPSetCombineMode(gDisplayListHead++, G_CC_DECALRGBA, G_CC_DECALRGBA); for (someIndex = 0; someIndex < NUM_COURSES_PER_CUP; someIndex++) { - if ((someIndex == gCourseIndexInCup) && (gSubMenuSelection > SUB_MENU_MAP_SELECT_CUP) && (gModeSelection != GRAND_PRIX)) { - if ((gSubMenuSelection == SUB_MENU_MAP_SELECT_COURSE) || (gSubMenuSelection == SUB_MENU_MAP_SELECT_BATTLE_COURSE)) { + if ((someIndex == gCourseIndexInCup) && (gSubMenuSelection > SUB_MENU_MAP_SELECT_CUP) && + (gModeSelection != GRAND_PRIX)) { + if ((gSubMenuSelection == SUB_MENU_MAP_SELECT_COURSE) || + (gSubMenuSelection == SUB_MENU_MAP_SELECT_BATTLE_COURSE)) { gDisplayListHead = draw_flash_select_case_slow( gDisplayListHead, D_800E7208[someIndex][0].column + temp_s2, D_800E7208[someIndex][0].row + temp_s3, D_800E7208[someIndex][1].column + temp_s2, D_800E7208[someIndex][1].row + temp_s3); @@ -8996,13 +9032,13 @@ void func_800A8A98(struct_8018D9E0_entry* arg0) { } } -void func_800A8CA4(struct_8018D9E0_entry* arg0) { +void func_800A8CA4(MenuItem* arg0) { s32 temp_s2; s32 temp_s3; s32 var_s0; - struct_8018D9E0_entry* temp_v0; + MenuItem* temp_v0; - temp_v0 = find_8018D9E0_entry_dupe(0x00000064); + temp_v0 = find_menu_items_type_dupe(MENU_ITEM_TYPE_064); temp_s2 = arg0->column; temp_s3 = arg0->row; gDPPipeSync(gDisplayListHead++); @@ -9012,7 +9048,7 @@ void func_800A8CA4(struct_8018D9E0_entry* arg0) { if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { for (var_s0 = 0; var_s0 < 4; var_s0++) { // Wut? - if ((var_s0 != (temp_v0->unk1C % 4)) != 0) { + if ((var_s0 != (temp_v0->param1 % 4)) != 0) { gDisplayListHead = draw_box(gDisplayListHead, D_800E7208[var_s0][0].column + temp_s2, D_800E7208[var_s0][0].row + temp_s3, D_800E7208[var_s0][1].column + temp_s2, @@ -9023,22 +9059,22 @@ void func_800A8CA4(struct_8018D9E0_entry* arg0) { } } -void func_800A8E14(UNUSED struct_8018D9E0_entry* arg0) { +void render_battle_introduction(UNUSED MenuItem* arg0) { set_text_color(TEXT_YELLOW); - draw_text(0x98, 0x44, D_800E77A8[0], 0, 1.0f, 1.0f); - func_80093324(0x17, 0x58, D_800E77A8[1], 0, 0.7f, 0.8f); - func_80093324(0x17, 0x6A, D_800E77A8[2], 0, 0.7f, 0.8f); + print_text1_center_mode_1(0x98, 0x44, gTextBattleIntroduction[0], 0, 1.0f, 1.0f); + print_text_mode_1(0x17, 0x58, gTextBattleIntroduction[1], 0, 0.7f, 0.8f); + print_text_mode_1(0x17, 0x6A, gTextBattleIntroduction[2], 0, 0.7f, 0.8f); } -void func_800A8EC0(struct_8018D9E0_entry* arg0) { - if (arg0->unk20 != 0) { +void func_800A8EC0(MenuItem* arg0) { + if (arg0->param2 != 0) { func_8009A76C(arg0->D_8018DEE0_index, arg0->column, arg0->row, -1); set_text_color(TEXT_YELLOW); - func_80093324(arg0->column + 0x20, arg0->row + 0x28, D_800E7678[arg0->unk20], 0, 0.7f, 0.7f); + print_text_mode_1(arg0->column + 0x20, arg0->row + 0x28, gCupText[arg0->param2], 0, 0.7f, 0.7f); } } -void func_800A8F48(UNUSED struct_8018D9E0_entry* arg0) { +void func_800A8F48(UNUSED MenuItem* arg0) { UNUSED Gfx* temp_v0_2; Unk_D_800E70A0* temp_v0; s16 temp_s0; @@ -9065,20 +9101,20 @@ void func_800A8F48(UNUSED struct_8018D9E0_entry* arg0) { default: if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) >= 0) { gDisplayListHead = func_80098FC8(gDisplayListHead, 0x00000057, 0x00000070, 0x00000096, 0x00000081); - gDisplayListHead = func_8009BA74(gDisplayListHead, D_02004A0C, 0x00000057, 0x00000070); + gDisplayListHead = render_menu_textures(gDisplayListHead, D_02004A0C, 0x00000057, 0x00000070); } break; } } -void func_800A90D4(UNUSED s32 arg0, struct_8018D9E0_entry* arg1) { +void func_800A90D4(UNUSED s32 arg0, MenuItem* arg1) { s32 temp_a2; s32 temp_t1; s32 temp_t7; - if (arg1->unk1C < 0x20) { + if (arg1->param1 < 0x20) { if (1) {} - temp_t7 = (arg1->unk1C * 0x41) / 0x40; + temp_t7 = (arg1->param1 * 0x41) / 0x40; temp_t1 = arg1->column; temp_a2 = arg1->row; gDPPipeSync(gDisplayListHead++); @@ -9089,12 +9125,12 @@ void func_800A90D4(UNUSED s32 arg0, struct_8018D9E0_entry* arg1) { } } -void func_800A91D8(struct_8018D9E0_entry* arg0, s32 columnTarget, s32 rowTarget) { +void func_800A91D8(MenuItem* arg0, s32 columnTarget, s32 rowTarget) { func_800A9208(arg0, columnTarget); func_800A9278(arg0, rowTarget); } -void func_800A9208(struct_8018D9E0_entry* arg0, s32 columnTarget) { +void func_800A9208(MenuItem* arg0, s32 columnTarget) { s32 step = columnTarget - arg0->column; if (step != 0) { @@ -9113,7 +9149,7 @@ void func_800A9208(struct_8018D9E0_entry* arg0, s32 columnTarget) { arg0->column += step; } -void func_800A9278(struct_8018D9E0_entry* arg0, s32 rowTarget) { +void func_800A9278(MenuItem* arg0, s32 rowTarget) { s32 step = rowTarget - arg0->row; if (step != 0) { @@ -9132,7 +9168,7 @@ void func_800A9278(struct_8018D9E0_entry* arg0, s32 rowTarget) { arg0->row += step; } -void func_800A92E8(struct_8018D9E0_entry* arg0, s32 columnTarget) { +void func_800A92E8(MenuItem* arg0, s32 columnTarget) { s32 step = columnTarget - arg0->column; if (step != 0) { @@ -9165,7 +9201,7 @@ void func_800A92E8(struct_8018D9E0_entry* arg0, s32 columnTarget) { } // Appears to be a copy of func_800A9278 -UNUSED void func_800A939C(struct_8018D9E0_entry* arg0, s32 rowTarget) { +UNUSED void func_800A939C(MenuItem* arg0, s32 rowTarget) { s32 step = rowTarget - arg0->row; if (step != 0) { @@ -9184,7 +9220,7 @@ UNUSED void func_800A939C(struct_8018D9E0_entry* arg0, s32 rowTarget) { arg0->row += step; } -void func_800A940C(struct_8018D9E0_entry* arg0, s32 columnTarget) { +void func_800A940C(MenuItem* arg0, s32 columnTarget) { s32 step = columnTarget - arg0->column; if (step != 0) { @@ -9215,7 +9251,7 @@ void func_800A940C(struct_8018D9E0_entry* arg0, s32 columnTarget) { } } -void func_800A94C8(struct_8018D9E0_entry* arg0, s32 columnTarget, s32 arg2) { +void func_800A94C8(MenuItem* arg0, s32 columnTarget, s32 arg2) { s32 step; if (columnTarget == arg0->column) { @@ -9239,24 +9275,24 @@ void func_800A94C8(struct_8018D9E0_entry* arg0, s32 columnTarget, s32 arg2) { } } -void func_800A954C(struct_8018D9E0_entry* arg0) { +void func_800A954C(MenuItem* arg0) { // Cycle lasts 26 (0x1A) frames - if (arg0->cursor == 0) { + if (arg0->state == 0) { // Move highlight from yellow to red - arg0->unk20 = (s32) (u32) ((((f32) (0xC - arg0->unk1C) * 127.0f) / 12.0f) + 128.0f); + arg0->param2 = (s32) (u32) ((((f32) (0xC - arg0->param1) * 127.0f) / 12.0f) + 128.0f); } else { // Move highlight from red to yellow - arg0->unk20 = (s32) (u32) ((((f64) (f32) arg0->unk1C * 127.0) / 12.0) + 128.0); + arg0->param2 = (s32) (u32) ((((f64) (f32) arg0->param1 * 127.0) / 12.0) + 128.0); } - arg0->unk1C++; - if (arg0->unk1C >= 0xC) { + arg0->param1++; + if (arg0->param1 >= 0xC) { // Every 13 (0xC) frames reverse direction - arg0->unk1C = 0; - arg0->cursor ^= 1; + arg0->param1 = 0; + arg0->state ^= 1; } } -void func_800A9710(struct_8018D9E0_entry* arg0) { +void func_800A9710(MenuItem* arg0) { s32 phi_v0; switch (gControllerPakMenuSelection) { @@ -9281,13 +9317,13 @@ void func_800A9710(struct_8018D9E0_entry* arg0) { phi_v0 = 0; break; } - if (phi_v0 != arg0->cursor) { - arg0->cursor = phi_v0; + if (phi_v0 != arg0->state) { + arg0->state = phi_v0; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7D34[phi_v0])); } } -void func_800A97BC(struct_8018D9E0_entry* arg0) { +void func_800A97BC(MenuItem* arg0) { s32 i; switch (gControllerPakScrollDirection) { @@ -9300,7 +9336,8 @@ void func_800A97BC(struct_8018D9E0_entry* arg0) { if (i < 7) { gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i + 1]; } else { - if ((gControllerPakVisibleTableRows[i - 1] == 0x10) || (gControllerPakVisibleTableRows[i - 1] == 0)) { + if ((gControllerPakVisibleTableRows[i - 1] == 0x10) || + (gControllerPakVisibleTableRows[i - 1] == 0)) { gControllerPakVisibleTableRows[i] = 0; } else { gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i - 1] + 1; @@ -9320,7 +9357,8 @@ void func_800A97BC(struct_8018D9E0_entry* arg0) { if (i > 1) { gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i - 1]; } else { - if ((gControllerPakVisibleTableRows[i + 1] == 1) || (gControllerPakVisibleTableRows[i + 1] == 0)) { + if ((gControllerPakVisibleTableRows[i + 1] == 1) || + (gControllerPakVisibleTableRows[i + 1] == 0)) { gControllerPakVisibleTableRows[i] = 0; } else { gControllerPakVisibleTableRows[i] = gControllerPakVisibleTableRows[i + 1] - 1; @@ -9336,22 +9374,16 @@ void func_800A97BC(struct_8018D9E0_entry* arg0) { } } // todo: <-- fix these brackets -// Don't know if this belongs here or inside func_800A9A98 +// Don't know if this belongs here or inside update_ok_menu_item // as a `static const`. But this matches so we'll leave // it here for now. -const s8 D_800F0CA0[] = { - 0x03, 0x03, 0x03, 0x02, 0x00, 0x02, 0x02, 0x01 -}; +const s8 D_800F0CA0[] = { 0x03, 0x03, 0x03, 0x02, 0x00, 0x02, 0x02, 0x01 }; -const s8 D_800F0CA8[] = { - 0x03, 0x02, 0x00 -}; +const s8 D_800F0CA8[] = { 0x03, 0x02, 0x00 }; -const s8 D_800F0CAC[] = { - 0x03, 0x03, 0x02 -}; +const s8 D_800F0CAC[] = { 0x03, 0x03, 0x02 }; -void func_800A9A98(struct_8018D9E0_entry* arg0) { +void update_ok_menu_item(MenuItem* arg0) { s32 sp4; s32 var_v0; @@ -9359,64 +9391,64 @@ void func_800A9A98(struct_8018D9E0_entry* arg0) { default: var_v0 = sp4; // wut? break; - case 0xF: + case MENU_ITEM_UI_OK: var_v0 = D_800F0CA0[gMainMenuSelection - 1]; break; - case 0x5D: + case COURSE_SELECT_OK: var_v0 = D_800F0CAC[gSubMenuSelection - 1]; break; - case 0x33: + case CHARACTER_SELECT_MENU_OK: var_v0 = D_800F0CA8[gPlayerSelectMenuSelection - 1]; break; } switch (var_v0) { /* switch 1; irregular */ case 0: /* switch 1 */ - arg0->unk1C = 0; + arg0->param1 = 0; break; case 1: /* switch 1 */ - arg0->unk1C = 0x00000020; + arg0->param1 = 0x00000020; break; case 2: /* switch 1 */ - if (arg0->unk1C > 0) { - arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2; - if (arg0->unk1C < 0) { - arg0->unk1C = 0; + if (arg0->param1 > 0) { + arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2; + if (arg0->param1 < 0) { + arg0->param1 = 0; } } break; case 3: /* switch 1 */ - if (arg0->unk1C < 0x20) { - arg0->unk1C += 2; - if (arg0->unk1C >= 0x20) { - arg0->unk1C = 0x00000020; + if (arg0->param1 < 0x20) { + arg0->param1 += 2; + if (arg0->param1 >= 0x20) { + arg0->param1 = 0x00000020; } } break; } } -void func_800A9B9C(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800A9B9C(MenuItem* arg0) { + switch (arg0->state) { case 0: func_800AA280(arg0); break; case 1: func_800AA280(arg0); - arg0->cursor = 4; + arg0->state = 4; /* fallthrough */ case 4: - if (arg0->unk1C > 0) { - arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2; - if (arg0->unk1C < 0) { - arg0->unk1C = 0; + if (arg0->param1 > 0) { + arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2; + if (arg0->param1 < 0) { + arg0->param1 = 0; } } else { - arg0->unk1C = 0; - arg0->cursor = 0; + arg0->param1 = 0; + arg0->state = 0; } break; case 2: - arg0->cursor = 3; + arg0->state = 3; break; case 3: default: @@ -9424,40 +9456,40 @@ void func_800A9B9C(struct_8018D9E0_entry* arg0) { } } -void func_800A9C40(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800A9C40(MenuItem* arg0) { + switch (arg0->state) { case 0: func_800AA280(arg0); if ((gPlayerCount + 0xA) == arg0->type) { - arg0->cursor = 2; + arg0->state = 2; } else { - arg0->cursor = 1; + arg0->state = 1; } break; case 4: if ((gPlayerCount + 0xA) == arg0->type) { - arg0->cursor = 2; - arg0->unk1C = 0; + arg0->state = 2; + arg0->param1 = 0; break; } - arg0->cursor = 1; + arg0->state = 1; case 1: func_800AA280(arg0); if ((gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK) || (gMainMenuSelection == MAIN_MENU_MODE_SUB_SELECT_GO_BACK)) { - arg0->unk1C = 0x00000020; + arg0->param1 = 0x00000020; } else { - if (arg0->unk1C < 0x20) { - arg0->unk1C += 2; - if (arg0->unk1C >= 0x20) { - arg0->unk1C = 0x00000020; + if (arg0->param1 < 0x20) { + arg0->param1 += 2; + if (arg0->param1 >= 0x20) { + arg0->param1 = 0x00000020; } } } break; case 3: if ((gPlayerCount + 0xA) == arg0->type) { - arg0->cursor = 2; + arg0->state = 2; } break; case 2: @@ -9466,7 +9498,7 @@ void func_800A9C40(struct_8018D9E0_entry* arg0) { } } -void func_800A9D5C(struct_8018D9E0_entry* arg0) { +void func_800A9D5C(MenuItem* arg0) { Unk_D_800E70A0* temp_v0; if ((gPlayerCount + 0xA) == arg0->type) { @@ -9475,7 +9507,7 @@ void func_800A9D5C(struct_8018D9E0_entry* arg0) { arg0->priority = 6; } - switch (arg0->cursor) { + switch (arg0->state) { case 2: if ((gMainMenuSelection == MAIN_MENU_OK_SELECT_GO_BACK) || (gMainMenuSelection == MAIN_MENU_MODE_SUB_SELECT_GO_BACK)) { @@ -9489,7 +9521,7 @@ void func_800A9D5C(struct_8018D9E0_entry* arg0) { temp_v0 = &D_800E70A0[arg0->type - 0xA]; func_800A91D8(arg0, temp_v0->column, temp_v0->row); if ((arg0->column == temp_v0->column) && (arg0->row == temp_v0->row)) { - arg0->cursor = 0; + arg0->state = 0; } /* fallthrough */ case 0: @@ -9500,8 +9532,8 @@ void func_800A9D5C(struct_8018D9E0_entry* arg0) { } } -void func_800A9E58(struct_8018D9E0_entry* arg0) { - struct_8018D9E0_entry* temp_v0; +void func_800A9E58(MenuItem* arg0) { + MenuItem* temp_v0; Unk_D_800E70A0* temp_v1_2; s32 sp24; s32 sp20; @@ -9532,32 +9564,32 @@ void func_800A9E58(struct_8018D9E0_entry* arg0) { } temp_a1 = gGameModePlayerSelection[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]; - switch (arg0->cursor) { /* switch 5; irregular */ - case 0: /* switch 5 */ + switch (arg0->state) { /* switch 5; irregular */ + case 0: /* switch 5 */ if ((temp_a1 != sp20) && (temp_a1 != sp1C)) { arg0->visible = 0; } else { - arg0->unk20 = gGameModeMenuColumn[gPlayerCount - 1]; - switch (gMainMenuSelection) { /* switch 2 */ - case MAIN_MENU_MODE_SELECT: /* switch 2 */ + arg0->param2 = gGameModeMenuColumn[gPlayerCount - 1]; + switch (gMainMenuSelection) { /* switch 2 */ + case MAIN_MENU_MODE_SELECT: /* switch 2 */ case MAIN_MENU_MODE_SUB_SELECT: /* switch 2 */ - case MAIN_MENU_OK_SELECT: /* switch 2 */ + case MAIN_MENU_OK_SELECT: /* switch 2 */ arg0->visible = 1; - temp_v0 = func_800AAE68(); + temp_v0 = get_menu_item_player_count(); arg0->column = temp_v0->column; arg0->row = (gGameModeMenuColumn[gPlayerCount - 1] * 0x12) + temp_v0->row + 0x41; - arg0->unk1C = 0; - arg0->cursor = 1; + arg0->param1 = 0; + arg0->state = 1; break; case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 2 */ case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 2 */ - temp_v0 = func_800AAE68(); + temp_v0 = get_menu_item_player_count(); temp_v1_2 = &D_800E70E8[arg0->type - sp24]; arg0->column = temp_v0->column + temp_v1_2->column; arg0->row = (gGameModeMenuColumn[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row; - arg0->unk1C = arg0->row - temp_v0->row; + arg0->param1 = arg0->row - temp_v0->row; arg0->visible = 1; - arg0->cursor = 2; + arg0->state = 2; break; default: /* switch 2 */ arg0->visible = 0; @@ -9565,70 +9597,70 @@ void func_800A9E58(struct_8018D9E0_entry* arg0) { } } break; - case 1: /* switch 5 */ - switch (gMainMenuSelection) { /* switch 3 */ - case MAIN_MENU_MODE_SELECT: /* switch 3 */ - case MAIN_MENU_MODE_SUB_SELECT: /* switch 3 */ - case MAIN_MENU_OK_SELECT: /* switch 3 */ - case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 3 */ - case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 3 */ + case 1: /* switch 5 */ + switch (gMainMenuSelection) { /* switch 3 */ + case MAIN_MENU_MODE_SELECT: /* switch 3 */ + case MAIN_MENU_MODE_SUB_SELECT: /* switch 3 */ + case MAIN_MENU_OK_SELECT: /* switch 3 */ + case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 3 */ + case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 3 */ if ((temp_a1 != sp20) && (temp_a1 != sp1C)) { arg0->visible = 0; - arg0->cursor = 0; + arg0->state = 0; } else { - if (arg0->unk20 != gGameModeMenuColumn[gPlayerCount - 1]) { - arg0->cursor = 0; + if (arg0->param2 != gGameModeMenuColumn[gPlayerCount - 1]) { + arg0->state = 0; } - temp_v0 = func_800AAE68(); - arg0->column = temp_v0->column + arg0->unk1C; + temp_v0 = get_menu_item_player_count(); + arg0->column = temp_v0->column + arg0->param1; temp_v1_2 = &D_800E70E8[arg0->type - sp24]; func_800A92E8(arg0, temp_v0->column + temp_v1_2->column); - arg0->unk1C = arg0->column - temp_v0->column; - if (arg0->unk1C == temp_v1_2->column) { - arg0->cursor = 2; - arg0->unk1C = arg0->row - temp_v0->row; + arg0->param1 = arg0->column - temp_v0->column; + if (arg0->param1 == temp_v1_2->column) { + arg0->state = 2; + arg0->param1 = arg0->row - temp_v0->row; } } break; default: /* switch 3 */ arg0->visible = 0; - arg0->cursor = 0; + arg0->state = 0; break; } break; - case 2: /* switch 5 */ - switch (gMainMenuSelection) { /* switch 4 */ - case MAIN_MENU_MODE_SELECT: /* switch 4 */ - case MAIN_MENU_MODE_SUB_SELECT: /* switch 4 */ - case MAIN_MENU_OK_SELECT: /* switch 4 */ - case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 4 */ - case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 4 */ + case 2: /* switch 5 */ + switch (gMainMenuSelection) { /* switch 4 */ + case MAIN_MENU_MODE_SELECT: /* switch 4 */ + case MAIN_MENU_MODE_SUB_SELECT: /* switch 4 */ + case MAIN_MENU_OK_SELECT: /* switch 4 */ + case MAIN_MENU_OK_SELECT_GO_BACK: /* switch 4 */ + case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: /* switch 4 */ if ((temp_a1 != sp20) && (temp_a1 != sp1C)) { arg0->visible = 0; - arg0->cursor = 0; + arg0->state = 0; } else { - if (arg0->unk20 != gGameModeMenuColumn[gPlayerCount - 1]) { - arg0->cursor = 0; + if (arg0->param2 != gGameModeMenuColumn[gPlayerCount - 1]) { + arg0->state = 0; } - temp_v0 = func_800AAE68(); + temp_v0 = get_menu_item_player_count(); temp_v1_2 = &D_800E70E8[arg0->type - sp24]; arg0->column = temp_v0->column + temp_v1_2->column; - arg0->row = temp_v0->row + arg0->unk1C; + arg0->row = temp_v0->row + arg0->param1; func_800A91D8(arg0, arg0->column, (gGameModeMenuColumn[gPlayerCount - 1] * 0x12) + temp_v0->row + temp_v1_2->row); - arg0->unk1C = arg0->row - temp_v0->row; + arg0->param1 = arg0->row - temp_v0->row; } break; default: /* switch 4 */ arg0->visible = 0; - arg0->cursor = 0; + arg0->state = 0; break; } break; } } -void func_800AA280(struct_8018D9E0_entry* arg0) { +void func_800AA280(MenuItem* arg0) { Unk_D_800E70A0* temp_v0; temp_v0 = &D_800E70A0[arg0->type - 0xA]; @@ -9641,7 +9673,7 @@ void func_800AA280(struct_8018D9E0_entry* arg0) { } } -void func_800AA2EC(struct_8018D9E0_entry* arg0) { +void func_800AA2EC(MenuItem* arg0) { s32 temp_v0; s32 var_t1; @@ -9651,13 +9683,13 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) { case MAIN_MENU_DATA: case MAIN_MENU_PLAYER_SELECT: case MAIN_MENU_MODE_SELECT: - arg0->cursor = 0; + arg0->state = 0; break; case MAIN_MENU_MODE_SUB_SELECT: case MAIN_MENU_OK_SELECT: case MAIN_MENU_OK_SELECT_GO_BACK: case MAIN_MENU_MODE_SUB_SELECT_GO_BACK: - if (arg0->cursor != 0) { + if (arg0->state != 0) { break; } if (gPlayerCount != 1) { @@ -9674,7 +9706,7 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) { case 5: /* switch 1 */ break; case 0: /* switch 1 */ - arg0->cursor = 1; + arg0->state = 1; var_t1 = 1; break; case 2: /* switch 1 */ @@ -9688,7 +9720,7 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) { if (var_t1 == 0) { if (gControllerPak1State == 0) { if (check_for_controller_pak(0) == 0) { - arg0->cursor = 2; + arg0->state = 2; break; } temp_v0 = osPfsInit(&gSIEventMesgQueue, &gControllerPak1FileHandle, 0); @@ -9696,14 +9728,14 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) { switch (temp_v0) { case PFS_ERR_NOPACK: case PFS_ERR_DEVICE: - arg0->cursor = 2; + arg0->state = 2; break; case PFS_ERR_ID_FATAL: - arg0->cursor = 3; + arg0->state = 3; break; case PFS_ERR_CONTRFAIL: default: - arg0->cursor = 3; + arg0->state = 3; break; } return; @@ -9712,29 +9744,29 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) { } if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) == 0) { - arg0->cursor = 1; + arg0->state = 1; break; } if (osPfsNumFiles(&gControllerPak1FileHandle, &gControllerPak1NumFilesUsed, &gControllerPak1MaxWriteableFiles) != 0) { - arg0->cursor = 3; + arg0->state = 3; break; } if (osPfsFreeBlocks(&gControllerPak1FileHandle, &gControllerPak1NumPagesFree) != 0) { - arg0->cursor = 3; + arg0->state = 3; break; } gControllerPak1NumPagesFree = (s32) gControllerPak1NumPagesFree >> 8; } if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) { - arg0->cursor = 5; + arg0->state = 5; break; } if (gControllerPak1NumPagesFree >= 0x79) { - arg0->cursor = 1; + arg0->state = 1; break; } - arg0->cursor = 5; + arg0->state = 5; } break; default: @@ -9742,27 +9774,27 @@ void func_800AA2EC(struct_8018D9E0_entry* arg0) { } } -void func_800AA5C8(struct_8018D9E0_entry* arg0, s8 arg1) { +void func_800AA5C8(MenuItem* arg0, s8 arg1) { s32 temp_v1; temp_v1 = arg0->type - 0x2B; - switch (arg0->unk8) { /* irregular */ + switch (arg0->subState) { /* irregular */ case 0: if (func_800AAFCC((s32) arg1) >= 0) { - arg0->unk8 = 2; + arg0->subState = 2; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8340[temp_v1])); } break; case 2: if (func_800AAFCC((s32) arg1) < 0) { - arg0->unk8 = 0; + arg0->subState = 0; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8320[temp_v1])); } break; } } -void func_800AA69C(struct_8018D9E0_entry* arg0) { +void func_800AA69C(MenuItem* arg0) { s32 temp_v0; s32 var_a0; s32 var_v0; @@ -9776,20 +9808,20 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) { } else { var_a0 = 0; } - switch (arg0->unk8) { + switch (arg0->subState) { case 0: if ((gCharacterGridIsSelected[temp_v0] != 0) && (var_a0 != 0)) { - arg0->unk8 = 1; + arg0->subState = 1; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a0])); } else { temp_v0 = random_int(0x00C8U); if (temp_v0 >= 0xC6) { - arg0->unk8 = 4; + arg0->subState = 4; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(gCharacterSingleBlinkAnimation[temp_a0])); } else if (temp_v0 >= 0xC5) { - arg0->unk8 = 5; + arg0->subState = 5; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(gCharacterDoubleBlinkAnimation[temp_a0])); } @@ -9797,10 +9829,10 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) { break; case 1: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_a0]) { - arg0->unk8 = 2; + arg0->subState = 2; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E83A0[temp_a0])); } else if ((gCharacterGridIsSelected[temp_v0] == 0) && (var_a0 != 0)) { - arg0->unk8 = 3; + arg0->subState = 3; func_8009A594(arg0->D_8018DEE0_index, D_800E8460[temp_a0] - D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex, segmented_to_virtual_dupe_2(gCharacterDeselectAnimation[temp_a0])); @@ -9808,17 +9840,17 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) { break; case 2: if ((gCharacterGridIsSelected[temp_v0] == 0) && (var_a0 != 0)) { - arg0->unk8 = 3; + arg0->subState = 3; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(gCharacterDeselectAnimation[temp_a0])); } break; case 3: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8460[temp_a0]) { - arg0->unk8 = 0; + arg0->subState = 0; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8360[temp_a0])); } else if ((gCharacterGridIsSelected[temp_v0] != 0) && (var_a0 != 0)) { - arg0->unk8 = 1; + arg0->subState = 1; func_8009A594(arg0->D_8018DEE0_index, D_800E8460[temp_a0] - D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a0])); @@ -9827,17 +9859,17 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) { case 4: case 5: if ((gCharacterGridIsSelected[temp_v0] != 0) && (var_a0 != 0)) { - arg0->unk8 = 1; + arg0->subState = 1; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a0])); } else { - if (arg0->unk8 == 4) { + if (arg0->subState == 4) { var_v0 = D_800E8480[temp_a0]; } else { var_v0 = D_800E84A0[temp_a0]; } if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= var_v0) { - arg0->unk8 = 0; + arg0->subState = 0; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8360[temp_a0])); } } @@ -9847,35 +9879,35 @@ void func_800AA69C(struct_8018D9E0_entry* arg0) { } } -void func_800AAA9C(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AAA9C(MenuItem* arg0) { + switch (arg0->state) { case 3: - arg0->cursor = 1; + arg0->state = 1; /* fallthrough */ case 1: if (gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK_GO_BACK) { - arg0->unk1C = 0x00000020; + arg0->param1 = 0x00000020; } else { - if (arg0->unk1C < 0x20) { - arg0->unk1C += (arg0->unk1C / 12) + 2; - if (arg0->unk1C >= 0x20) { - arg0->unk1C = 0x00000020; + if (arg0->param1 < 0x20) { + arg0->param1 += (arg0->param1 / 12) + 2; + if (arg0->param1 >= 0x20) { + arg0->param1 = 0x00000020; } } } /* fallthrough */ case 0: if (func_800AAFCC(arg0->type - 0x2B) >= 0) { - arg0->cursor = 2; - arg0->unk1C = 0; + arg0->state = 2; + arg0->param1 = 0; } else { - arg0->cursor = 1; + arg0->state = 1; } break; case 4: if (func_800AAFCC(arg0->type - 0x2B) >= 0) { - arg0->cursor = 2; - arg0->unk1C = 0; + arg0->state = 2; + arg0->param1 = 0; } break; case 2: @@ -9884,25 +9916,25 @@ void func_800AAA9C(struct_8018D9E0_entry* arg0) { } } -void func_800AAB90(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AAB90(MenuItem* arg0) { + switch (arg0->state) { case 1: - if (arg0->unk1C > 0) { - arg0->cursor = 3; + if (arg0->param1 > 0) { + arg0->state = 3; } break; case 2: - arg0->cursor = 4; + arg0->state = 4; break; case 3: - if (arg0->unk1C > 0) { - arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2; - if (arg0->unk1C < 0) { - arg0->unk1C = 0; + if (arg0->param1 > 0) { + arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2; + if (arg0->param1 < 0) { + arg0->param1 = 0; } } else { - arg0->unk1C = 0; - arg0->cursor = 0; + arg0->param1 = 0; + arg0->state = 0; } break; case 0: @@ -9912,7 +9944,7 @@ void func_800AAB90(struct_8018D9E0_entry* arg0) { } } -void func_800AAC18(struct_8018D9E0_entry* arg0) { +void func_800AAC18(MenuItem* arg0) { UNUSED s32 stackPadding0; UNUSED s32 stackPadding1; s32 temp_a1; @@ -9921,7 +9953,7 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) { Unk_D_800E70A0* var_t0; temp_a1 = arg0->type - 0x2B; - switch (arg0->cursor) { + switch (arg0->state) { case 0: if (gPlayerSelectMenuSelection == PLAYER_SELECT_MENU_OK_GO_BACK) { temp_v0 = func_800AAFCC(temp_a1); @@ -9929,8 +9961,8 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) { var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0]; arg0->column = (s32) var_t0->column; arg0->row = (s32) var_t0->row; - arg0->cursor = 2; - arg0->unk8 = 2; + arg0->state = 2; + arg0->subState = 2; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E8340[temp_a1])); } break; @@ -9943,7 +9975,7 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) { break; case 2: case 4: - if (arg0->cursor == 2) { + if (arg0->state == 2) { temp_v0 = func_800AAFCC(temp_a1); if (temp_v0 >= 0) { var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0]; @@ -9951,11 +9983,11 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) { } else { var_t0 = &D_800E7108[0][temp_a1]; if ((var_t0->column == arg0->column) && (var_t0->row == arg0->row)) { - arg0->cursor = 0; + arg0->state = 0; return; } } - if ((arg0->cursor != 2) || (arg0->unk8 != 1)) { + if ((arg0->state != 2) || (arg0->subState != 1)) { func_800A91D8(arg0, (s32) var_t0->column, (s32) var_t0->row); } break; @@ -9964,20 +9996,20 @@ void func_800AAC18(struct_8018D9E0_entry* arg0) { } } -void func_800AADD4(struct_8018D9E0_entry* arg0) { +void update_cursor(MenuItem* arg0) { s32 playerId; s8 characterSelectionIndex; - playerId = arg0->type - 0x34; + playerId = arg0->type - CHARACTER_SELECT_MENU_1P_CURSOR; characterSelectionIndex = gCharacterGridSelections[playerId]; arg0->priority = 0xE - (playerId * 2); - func_800AAF94(arg0, characterSelectionIndex - 1); + move_menu_item_at_character_portrait(arg0, characterSelectionIndex - 1); } -void func_800AAE18(struct_8018D9E0_entry* arg0) { +void func_800AAE18(MenuItem* arg0) { s32 temp_v0; - temp_v0 = func_800AAFCC(arg0->type - 0x2B); + temp_v0 = func_800AAFCC(arg0->type - CHARACTER_SELECT_MENU_MARIO); if (temp_v0 >= 0) { arg0->priority = 0xE - (temp_v0 * 2); } else { @@ -9986,16 +10018,16 @@ void func_800AAE18(struct_8018D9E0_entry* arg0) { } /** - * Similar to find_8018D9E0_entry_dupe, there is potential for a - * hard lock in the function if no appropriate D_8018D9E0 entry + * Similar to find_menu_items_type_dupe, there is potential for a + * hard lock in the function if no appropriate gMenuItems entry * is found. **/ -struct_8018D9E0_entry* func_800AAE68(void) { - struct_8018D9E0_entry* entry = D_8018D9E0; - s32 thing = gPlayerCount - 1; +MenuItem* get_menu_item_player_count(void) { + MenuItem* entry = gMenuItems; + s32 nbPlayer = gPlayerCount - 1; - for (; !(entry > &D_8018D9E0[D_8018D9E0_SIZE]); entry++) { - if ((thing + 0xB) == entry->type) { + for (; !(entry > &gMenuItems[MENU_ITEMS_MAX]); entry++) { + if ((nbPlayer + MENU_ITEM_UI_1P_GAME) == entry->type) { goto escape; } } @@ -10009,15 +10041,15 @@ struct_8018D9E0_entry* func_800AAE68(void) { } /** - * Similar to find_8018D9E0_entry_dupe, there is potential for a - * hard lock in the function if no appropriate D_8018D9E0 entry + * Similar to find_menu_items_type_dupe, there is potential for a + * hard lock in the function if no appropriate gMenuItems entry * is found. **/ -struct_8018D9E0_entry* func_800AAEB4(s32 arg0) { - struct_8018D9E0_entry* entry = D_8018D9E0; +MenuItem* get_menu_item_character(s32 character_id) { + MenuItem* entry = gMenuItems; - for (; !(entry > &D_8018D9E0[D_8018D9E0_SIZE]); entry++) { - if ((arg0 + 0x2B) == entry->type) { + for (; !(entry > &gMenuItems[MENU_ITEMS_MAX]); entry++) { + if ((character_id + CHARACTER_SELECT_MENU_MARIO) == entry->type) { goto escape; } } @@ -10040,10 +10072,10 @@ struct_8018D9E0_entry* func_800AAEB4(s32 arg0) { * probably as much a matter of luck as it is good * reasoning on the original author(s) part. **/ -struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32 arg0) { - struct_8018D9E0_entry* entry = D_8018D9E0; - for (; !(entry > (&D_8018D9E0[D_8018D9E0_SIZE])); entry++) { - if (entry->type == arg0) { +MenuItem* find_menu_items_type_dupe(s32 type) { + MenuItem* entry = gMenuItems; + for (; !(entry > (&gMenuItems[MENU_ITEMS_MAX])); entry++) { + if (entry->type == type) { goto escape; } } @@ -10056,10 +10088,10 @@ struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32 arg0) { return entry; } -struct_8018D9E0_entry* find_8018D9E0_entry(s32 arg0) { - struct_8018D9E0_entry* entry = D_8018D9E0; - for (; !(entry > (&D_8018D9E0[D_8018D9E0_SIZE])); entry++) { - if (entry->type == arg0) { +MenuItem* find_menu_items_type(s32 type) { + MenuItem* entry = gMenuItems; + for (; !(entry > (&gMenuItems[MENU_ITEMS_MAX])); entry++) { + if (entry->type == type) { goto escape; } } @@ -10069,56 +10101,56 @@ struct_8018D9E0_entry* find_8018D9E0_entry(s32 arg0) { return entry; } -s32 func_800AAF70(s32 arg0) { - struct_8018D9E0_entry* temp; - temp = func_800AAEB4(arg0); - return temp->cursor; +UNUSED s32 get_state_menu_item_character(s32 arg0) { + MenuItem* temp; + temp = get_menu_item_character(arg0); + return temp->state; } -void func_800AAF94(struct_8018D9E0_entry* arg0, s32 arg1) { - struct_8018D9E0_entry* temp_v0; +void move_menu_item_at_character_portrait(MenuItem* arg0, s32 character_id) { + MenuItem* temp_v0; - temp_v0 = func_800AAEB4(arg1); + temp_v0 = get_menu_item_character(character_id); arg0->column = temp_v0->column; arg0->row = temp_v0->row; } -s32 func_800AAFCC(s32 arg0) { +s32 func_800AAFCC(s32 character_id) { s32 someIndex = 0; - s32 ret = 0; + bool ret = false; for (; someIndex < ARRAY_COUNT(gCharacterGridSelections); someIndex++) { - if ((arg0 + 1) == gCharacterGridSelections[someIndex]) { - ret = 1; + if ((character_id + 1) == gCharacterGridSelections[someIndex]) { + ret = true; break; } } - if (ret != 0) { + if (ret != false) { return someIndex; } return -1; } -void func_800AB020(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AB020(MenuItem* arg0) { + switch (arg0->state) { case 1: - arg0->cursor = 4; + arg0->state = 4; /* fallthrough */ case 4: - if (arg0->unk1C > 0) { - arg0->unk1C = (arg0->unk1C - (arg0->unk1C / 12)) - 2; - if (arg0->unk1C < 0) { - arg0->unk1C = 0; + if (arg0->param1 > 0) { + arg0->param1 = (arg0->param1 - (arg0->param1 / 12)) - 2; + if (arg0->param1 < 0) { + arg0->param1 = 0; } } else { - arg0->unk1C = 0; - arg0->cursor = 0; + arg0->param1 = 0; + arg0->state = 0; } break; case 2: - arg0->cursor = 3; + arg0->state = 3; break; case 0: case 3: @@ -10127,35 +10159,35 @@ void func_800AB020(struct_8018D9E0_entry* arg0) { } } -void func_800AB098(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AB098(MenuItem* arg0) { + switch (arg0->state) { case 0: if ((gCupSelection + 0x53) == arg0->type) { - arg0->cursor = 2; + arg0->state = 2; } else { - arg0->cursor = 1; + arg0->state = 1; } break; case 4: if ((gCupSelection + 0x53) == arg0->type) { - arg0->cursor = 2; - arg0->unk1C = 0; + arg0->state = 2; + arg0->param1 = 0; break; } else { - arg0->cursor = 1; + arg0->state = 1; } // Purposeful fallthrough case 1: - if (arg0->unk1C < 32) { - arg0->unk1C += 2; - if (arg0->unk1C >= 32) { - arg0->unk1C = 32; + if (arg0->param1 < 32) { + arg0->param1 += 2; + if (arg0->param1 >= 32) { + arg0->param1 = 32; } } break; case 3: if ((gCupSelection + 0x53) == arg0->type) { - arg0->cursor = 2; + arg0->state = 2; } break; case 2: @@ -10164,7 +10196,7 @@ void func_800AB098(struct_8018D9E0_entry* arg0) { } } -void func_800AB164(struct_8018D9E0_entry* arg0) { +void func_800AB164(MenuItem* arg0) { Unk_D_800E70A0* thing = &D_800E7148[arg0->type - 0x53]; if ((gCupSelection + 0x53) == arg0->type) { @@ -10173,7 +10205,7 @@ void func_800AB164(struct_8018D9E0_entry* arg0) { arg0->priority = 4; } - switch (arg0->cursor) { + switch (arg0->state) { case 0: thing = &D_800E7148[arg0->type - 0x53]; arg0->column = thing->column; @@ -10186,7 +10218,7 @@ void func_800AB164(struct_8018D9E0_entry* arg0) { thing = &D_800E7148[arg0->type - 0x53]; func_800A91D8(arg0, thing->column, thing->row); if ((arg0->column == thing->column) && (arg0->row == thing->row)) { - arg0->cursor = 0; + arg0->state = 0; } break; case 1: @@ -10196,7 +10228,7 @@ void func_800AB164(struct_8018D9E0_entry* arg0) { } } -void func_800AB260(struct_8018D9E0_entry* arg0) { +void func_800AB260(MenuItem* arg0) { s32 temp = (arg0->type - 0x58); if (temp == gCupSelection) { arg0->visible = 1; @@ -10205,9 +10237,9 @@ void func_800AB260(struct_8018D9E0_entry* arg0) { } } -void func_800AB290(struct_8018D9E0_entry* arg0) { - if (arg0->unk1C != gCupSelection) { - arg0->unk1C = gCupSelection; +void func_800AB290(MenuItem* arg0) { + if (arg0->param1 != gCupSelection) { + arg0->param1 = gCupSelection; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[gCupSelection][arg0->type - 0x5F]])); } @@ -10216,33 +10248,33 @@ void func_800AB290(struct_8018D9E0_entry* arg0) { #ifdef NON_MATCHING // Decent work has been done, but not quite right // https://decomp.me/scratch/YLbkC -void func_800AB314(struct_8018D9E0_entry* arg0) { +void func_800AB314(MenuItem* arg0) { s32 var_a1; s32 one = 1; s32 four = 4; - struct_8018D9E0_entry* sp24[4]; + MenuItem* sp24[4]; s32 var_v0; for (var_a1 = 0; var_a1 < 4; var_a1++) { - sp24[var_a1] = find_8018D9E0_entry_dupe(var_a1 + 0x5F); + sp24[var_a1] = find_menu_items_type_dupe(var_a1 + 0x5F); } switch (gModeSelection) { default: if (gSubMenuSelection != SUB_MENU_MAP_SELECT_CUP) { - arg0->cursor = 0; - arg0->unk20 = 0; + arg0->state = 0; + arg0->param2 = 0; for (var_a1 = 0; var_a1 < 4; var_a1++) { if (gCourseIndexInCup == var_a1) { sp24[var_a1]->visible = one; - if (arg0->unk1C != var_a1) { - arg0->unk1C = var_a1; + if (arg0->param1 != var_a1) { + arg0->param1 = var_a1; } } else { sp24[var_a1]->visible = 0; } } } else { - arg0->cursor = 3; + arg0->state = 3; for (var_a1 = 0; var_a1 < 4; var_a1++) { sp24[var_a1]->visible = one; sp24[var_a1]->priority = 6; @@ -10250,68 +10282,68 @@ void func_800AB314(struct_8018D9E0_entry* arg0) { } break; case 0: - switch (arg0->cursor) { /* irregular */ + switch (arg0->state) { /* irregular */ case 0: - if ((arg0->unk1C / 4) == gCupSelection) { - arg0->unk20++; - if (arg0->unk20 >= 0x33) { - arg0->cursor = one; - arg0->unk20 = 0; + if ((arg0->param1 / 4) == gCupSelection) { + arg0->param2++; + if (arg0->param2 >= 0x33) { + arg0->state = one; + arg0->param2 = 0; var_v0 = gCupSelection * 4; - arg0->unk1C = var_v0 + 1; + arg0->param1 = var_v0 + 1; } } else { - arg0->unk20 = 0; - arg0->unk1C = gCupSelection * 4; + arg0->param2 = 0; + arg0->param1 = gCupSelection * 4; } if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { - arg0->cursor = 2; - arg0->unk20 = 0; + arg0->state = 2; + arg0->param2 = 0; } break; case 1: - if ((arg0->unk1C / 4) != gCupSelection) { - arg0->cursor = 0; - arg0->unk20 = 0; - arg0->unk1C = 0; + if ((arg0->param1 / 4) != gCupSelection) { + arg0->state = 0; + arg0->param2 = 0; + arg0->param1 = 0; } else { - arg0->unk20++; - if (arg0->unk20 >= 0x1F) { - arg0->unk20 = 0; - arg0->unk1C = (gCupSelection * 4) + (((arg0->unk1C % 4) + one) % 4); + arg0->param2++; + if (arg0->param2 >= 0x1F) { + arg0->param2 = 0; + arg0->param1 = (gCupSelection * 4) + (((arg0->param1 % 4) + one) % 4); } else { if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { - arg0->cursor = 2; - arg0->unk20 = 0; + arg0->state = 2; + arg0->param2 = 0; } } } break; case 2: - arg0->unk20++; - if (arg0->unk20 >= 0x1A) { - arg0->cursor = 3; - arg0->unk20 = 0; + arg0->param2++; + if (arg0->param2 >= 0x1A) { + arg0->state = 3; + arg0->param2 = 0; } if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { - arg0->cursor = 0; - arg0->unk20 = 0; - arg0->unk1C = 0; + arg0->state = 0; + arg0->param2 = 0; + arg0->param1 = 0; } break; case 3: if (gSubMenuSelection != SUB_MENU_MAP_SELECT_OK) { - arg0->cursor = 0; - arg0->unk20 = 0; - arg0->unk1C = 0; + arg0->state = 0; + arg0->param2 = 0; + arg0->param1 = 0; } break; } - switch (arg0->cursor) { + switch (arg0->state) { case 0: case 1: for (var_a1 = 0; var_a1 < 4; var_a1++) { - if ((arg0->unk1C % 4) == var_a1) { + if ((arg0->param1 % 4) == var_a1) { sp24[var_a1]->visible = one; } else { sp24[var_a1]->visible = 0; @@ -10321,9 +10353,9 @@ void func_800AB314(struct_8018D9E0_entry* arg0) { break; case 2: for (var_a1 = 0; var_a1 < 4; var_a1++) { - if (var_a1 == (arg0->unk1C % 4)) { + if (var_a1 == (arg0->param1 % 4)) { sp24[var_a1]->priority = 6; - } else if (arg0->unk20 < (var_a1 * 5)) { + } else if (arg0->param2 < (var_a1 * 5)) { sp24[var_a1]->priority = four; } else { sp24[var_a1]->priority = 8; @@ -10347,7 +10379,7 @@ void func_800AB314(struct_8018D9E0_entry* arg0) { GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AB314.s") #endif -void func_800AB904(struct_8018D9E0_entry* arg0) { +void func_800AB904(MenuItem* arg0) { Unk_D_800E70A0* temp_a1; switch (gSubMenuSelection) { /* irregular */ @@ -10367,35 +10399,35 @@ void func_800AB904(struct_8018D9E0_entry* arg0) { } } -void func_800AB9B0(struct_8018D9E0_entry* arg0) { +void func_800AB9B0(MenuItem* arg0) { Unk_D_800E70A0* temp_v1; - if (arg0->unk1C != gCupSelection) { - arg0->unk1C = gCupSelection; - arg0->unk20 = func_800B54C0((s32) gCupSelection, gCCSelection); + if (arg0->param1 != gCupSelection) { + arg0->param1 = gCupSelection; + arg0->param2 = func_800B54C0((s32) gCupSelection, gCCSelection); func_8009A594(arg0->D_8018DEE0_index, 0, - segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - arg0->unk20])); + segmented_to_virtual_dupe_2(D_800E7E20[((gCCSelection / 2) * 4) - arg0->param2])); arg0->column = (s32) D_800E7268->column; arg0->row = D_800E7268->row; } - temp_v1 = &D_800E7268[arg0->cursor]; - switch (arg0->cursor) { /* irregular */ + temp_v1 = &D_800E7268[arg0->state]; + switch (arg0->state) { /* irregular */ case 0: func_800A91D8(arg0, (s32) temp_v1->column, (s32) temp_v1->row); if (gSubMenuSelection == SUB_MENU_MAP_SELECT_OK) { - arg0->cursor = 1; + arg0->state = 1; } break; case 1: func_800A91D8(arg0, (s32) temp_v1->column, (s32) temp_v1->row); if (gSubMenuSelection == SUB_MENU_MAP_SELECT_CUP) { - arg0->cursor = 0; + arg0->state = 0; } break; } } -void func_800ABAE8(struct_8018D9E0_entry* arg0) { +void func_800ABAE8(MenuItem* arg0) { s32 index; if (arg0->type == 0x8C) { @@ -10407,21 +10439,21 @@ void func_800ABAE8(struct_8018D9E0_entry* arg0) { arg0->row = D_800E7430[index].row; } -void func_800ABB24(struct_8018D9E0_entry* arg0) { +void func_800ABB24(MenuItem* arg0) { Unk_D_800E70A0* temp_v1; s32 thing = gTimeTrialDataCourseIndex; temp_v1 = &D_800E7430[thing / 4]; arg0->column = temp_v1->column - 2; arg0->row = temp_v1->row + ((thing % 4) * 0x32) + 0x13; - arg0->unk1C += 0x10; - if (arg0->unk1C >= 0x100) { - arg0->unk1C -= 0x100; - arg0->unk20 = (s32) (arg0->unk20 + 1) % 3; + arg0->param1 += 0x10; + if (arg0->param1 >= 0x100) { + arg0->param1 -= 0x100; + arg0->param2 = (s32) (arg0->param2 + 1) % 3; } } -void func_800ABBCC(struct_8018D9E0_entry* arg0) { +void func_800ABBCC(MenuItem* arg0) { s32 temp_v0; Unk_D_800E70A0* temp_v1; @@ -10431,7 +10463,7 @@ void func_800ABBCC(struct_8018D9E0_entry* arg0) { arg0->row = temp_v1->row + ((temp_v0 % 4) * 0x32) + 0x14; } -void func_800ABC38(struct_8018D9E0_entry* arg0) { +void func_800ABC38(MenuItem* arg0) { // Huh? s32 one = 1; func_800ABCF4(arg0); @@ -10460,41 +10492,41 @@ void func_800ABC38(struct_8018D9E0_entry* arg0) { } } -void func_800ABCF4(struct_8018D9E0_entry* arg0) { +void func_800ABCF4(MenuItem* arg0) { f64 temp_f0; - switch (arg0->cursor) { /* irregular */ + switch (arg0->state) { /* irregular */ case 0: arg0->column = 0; - arg0->cursor = 1; - arg0->unk20 = (get_string_width(gCupNames[D_800DC540]) / 2) + 0xA0; + arg0->state = 1; + arg0->param2 = (get_string_width(gCupNames[D_800DC540]) / 2) + 0xA0; /* fallthrough */ case 1: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4; - if (arg0->unk1C >= 9) { - arg0->unk1C = 8; - } - arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.05) + 1.0); - if (arg0->column >= (arg0->unk20 - 0x14)) { - arg0->cursor = 2; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (s32) (arg0->param2 - arg0->column) / 4; + if (arg0->param1 >= 9) { + arg0->param1 = 8; + } + arg0->paramf = (f32) (((f64) arg0->param1 * 0.05) + 1.0); + if (arg0->column >= (arg0->param2 - 0x14)) { + arg0->state = 2; arg0->D_8018DEE0_index = 0; } break; case 2: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (s32) (arg0->param2 - arg0->column) / 4; arg0->D_8018DEE0_index++; temp_f0 = (f64) (arg0->D_8018DEE0_index - 0xA); - arg0->unk24 = (f32) ((temp_f0 * 0.0085 * temp_f0) + 0.4); - if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1.0)) { - arg0->unk24 = 1.0f; + arg0->paramf = (f32) ((temp_f0 * 0.0085 * temp_f0) + 0.4); + if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1.0)) { + arg0->paramf = 1.0f; } break; } } -void func_800ABEAC(struct_8018D9E0_entry* arg0) { +void func_800ABEAC(MenuItem* arg0) { s32 why = 1; func_800ABF68(arg0); switch (D_80164A28) { @@ -10522,110 +10554,110 @@ void func_800ABEAC(struct_8018D9E0_entry* arg0) { } } -void func_800ABF68(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800ABF68(MenuItem* arg0) { + switch (arg0->state) { case 0: arg0->column = 0x140; - arg0->cursor = 1; - arg0->unk20 = 0xA0 - (get_string_width(gCourseNames[gCurrentCourseId]) / 2); + arg0->state = 1; + arg0->param2 = 0xA0 - (get_string_width(gCourseNames[gCurrentCourseId]) / 2); /* fallthrough */ case 1: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (arg0->column - arg0->unk20) / 4; - if (arg0->unk1C >= 9) { - arg0->unk1C = 8; - } - arg0->unk24 = (arg0->unk1C * 0.05) + 1.0; - if ((arg0->unk20 + 0x14) >= arg0->column) { - arg0->cursor = 2; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (arg0->column - arg0->param2) / 4; + if (arg0->param1 >= 9) { + arg0->param1 = 8; + } + arg0->paramf = (arg0->param1 * 0.05) + 1.0; + if ((arg0->param2 + 0x14) >= arg0->column) { + arg0->state = 2; arg0->D_8018DEE0_index = 0; } break; case 2: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (arg0->column - arg0->unk20) / 4; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (arg0->column - arg0->param2) / 4; arg0->D_8018DEE0_index++; - arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; - if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1.0)) { - arg0->unk24 = 1.0f; + arg0->paramf = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; + if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1.0)) { + arg0->paramf = 1.0f; } break; } } -void func_800AC128(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AC128(MenuItem* arg0) { + switch (arg0->state) { case 0: arg0->column = 0x00000140; - arg0->cursor = 1; + arg0->state = 1; /* fallthrough */ case 1: func_800A940C(arg0, 0x00000064); - arg0->unk1C = (s32) (arg0->column - 0x64) / 6; - if (arg0->unk1C >= 9) { - arg0->unk1C = 8; + arg0->param1 = (s32) (arg0->column - 0x64) / 6; + if (arg0->param1 >= 9) { + arg0->param1 = 8; } - arg0->unk24 = (f32) (((f64) arg0->unk1C * 0.07) + 0.6); + arg0->paramf = (f32) (((f64) arg0->param1 * 0.07) + 0.6); if (arg0->column == 0x00000064) { - arg0->cursor = 2; + arg0->state = 2; arg0->D_8018DEE0_index = 0; } break; case 2: arg0->D_8018DEE0_index++; - arg0->unk1C = 0; - arg0->unk24 = (f32) (1.5 - ((arg0->D_8018DEE0_index - 0xF) * 0.004 * (arg0->D_8018DEE0_index - 0xF))); - if ((arg0->D_8018DEE0_index >= 0x10) && ((f64) arg0->unk24 < 0.8)) { - arg0->cursor = 3; + arg0->param1 = 0; + arg0->paramf = (f32) (1.5 - ((arg0->D_8018DEE0_index - 0xF) * 0.004 * (arg0->D_8018DEE0_index - 0xF))); + if ((arg0->D_8018DEE0_index >= 0x10) && ((f64) arg0->paramf < 0.8)) { + arg0->state = 3; arg0->D_8018DEE0_index = 0; } break; case 3: arg0->D_8018DEE0_index++; - arg0->unk1C = 0; - arg0->unk24 = (f32) (1.25 - ((arg0->D_8018DEE0_index - 0xF) * 0.002 * (arg0->D_8018DEE0_index - 0xF))); - if ((arg0->D_8018DEE0_index >= 0xD) && ((f64) arg0->unk24 < 1.0)) { - arg0->unk24 = 1.0f; + arg0->param1 = 0; + arg0->paramf = (f32) (1.25 - ((arg0->D_8018DEE0_index - 0xF) * 0.002 * (arg0->D_8018DEE0_index - 0xF))); + if ((arg0->D_8018DEE0_index >= 0xD) && ((f64) arg0->paramf < 1.0)) { + arg0->paramf = 1.0f; } break; } } -void func_800AC300(struct_8018D9E0_entry* arg0) { - if (arg0->unk20 < ++arg0->unk1C) { +void func_800AC300(MenuItem* arg0) { + if (arg0->param2 < ++arg0->param1) { arg0->type = 0; } } -void func_800AC324(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AC324(MenuItem* arg0) { + switch (arg0->state) { case 0: arg0->column = 0x14A; - arg0->cursor = 1; + arg0->state = 1; func_800921B4(); break; case 1: func_800A9208(arg0, 0xA0); if (arg0->column == 0xA0) { - arg0->cursor = 2; - arg0->unk20 = 0; + arg0->state = 2; + arg0->param2 = 0; } break; case 2: - arg0->unk20++; - if (((D_8018D9D8 != 0) || (arg0->unk20 >= 0x5B)) && (D_800DDB24 != 0)) { - arg0->cursor = 3; - arg0->unk1C = arg0->column; - add_8018D9E0_entry(0xAB, 0, 0, 0); + arg0->param2++; + if (((D_8018D9D8 != 0) || (arg0->param2 >= 0x5B)) && (D_800DDB24 != 0)) { + arg0->state = 3; + arg0->param1 = arg0->column; + load_menu_item_ui(MENU_ITEM_TYPE_0AB, 0, 0, MENU_ITEM_UI_PRIO_0); } break; case 3: - arg0->column = arg0->unk1C; - if (arg0->unk1C < 0x14A) { + arg0->column = arg0->param1; + if (arg0->param1 < 0x14A) { if (D_8018D9D8 != 0) { - arg0->unk1C += 0x20; + arg0->param1 += 0x20; } else { - arg0->unk1C += 0x10; + arg0->param1 += 0x10; } } else { arg0->type = 0; @@ -10634,49 +10666,45 @@ void func_800AC324(struct_8018D9E0_entry* arg0) { } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/NzdUC -// A really stupid register allocation issue -void func_800AC458(struct_8018D9E0_entry* arg0) { +void func_800AC458(MenuItem* arg0) { s32 var_a1; s32 var_t1; + s32 temp; - switch (arg0->cursor) { + switch (arg0->state) { case 0: arg0->column = -0x000000A0; - arg0->cursor = 1; - for (var_a1 = 0; var_a1 < 4; var_a1++) { - D_8018D9BC[var_a1] = gGPPointRewards[var_a1]; + arg0->state = 1; + for (var_a1 = 0; var_a1 < ARRAY_COUNT(gGPPointRewards); var_a1++) { + sGPPointsCopy[var_a1] = gGPPointRewards[var_a1]; } - arg0->unk20 = arg0->column; + arg0->param2 = arg0->column; break; case 1: - arg0->column = arg0->unk20; - if (D_8018D9D8 != 0) { - var_a1 = 0x20; - } else { - var_a1 = 0x10; - } - if ((arg0->unk20 + var_a1) < 0) { - arg0->unk20 += var_a1; - D_800DC5EC->screenStartX += var_a1; - D_800DC5F0->screenStartX -= var_a1; + arg0->column = arg0->param2; + + temp = (D_8018D9D8 != 0) ? 0x20 : 0x10; + + if ((arg0->param2 + temp) < 0) { + arg0->param2 += temp; + D_800DC5EC->screenStartX += temp; + D_800DC5F0->screenStartX -= temp; } else { - arg0->unk20 = 0; + arg0->param2 = 0; arg0->column = 0; - arg0->cursor = 2; - arg0->unk1C = 0; + arg0->state = 2; + arg0->param1 = 0; D_800DC5EC->screenStartX = 0x00F0; D_800DC5F0->screenStartX = 0x0050; } break; case 2: arg0->column = 0; - arg0->unk1C++; - if (((D_8018D9D8 != 0) || (arg0->unk1C >= 0x1F)) && (D_800DDB24 != 0)) { - arg0->cursor = 3; - arg0->unk1C = 0; - arg0->unk20 = 0; + arg0->param1++; + if (((D_8018D9D8 != 0) || (arg0->param1 >= 0x1F)) && (D_800DDB24 != 0)) { + arg0->state = 3; + arg0->param1 = 0; + arg0->param2 = 0; } break; case 3: @@ -10684,57 +10712,57 @@ void func_800AC458(struct_8018D9E0_entry* arg0) { case 5: case 6: var_t1 = 0; - var_a1 = arg0->cursor - 3; - arg0->unk1C++; - if (((arg0->unk1C % 3) == 0) || (D_8018D9D8 != 0)) { - if (D_8018D9BC[var_a1] > 0) { - D_8018D9BC[var_a1]--; + var_a1 = arg0->state - 3; + arg0->param1++; + if (((arg0->param1 % 3) == 0) || (D_8018D9D8 != 0)) { + if (sGPPointsCopy[var_a1] > 0) { + sGPPointsCopy[var_a1]--; gGPPointsByCharacterId[gPlayers[gGPCurrentRacePlayerIdByRank[var_a1]].characterId] += 1; play_sound2(SOUND_ACTION_COUNT_SCORE); var_t1 = 0; - if ((D_8018D9BC[var_a1] == 0) && (arg0->unk20 == 0)) { - arg0->unk20 = 1; - arg0->unk1C = 0; + if ((sGPPointsCopy[var_a1] == 0) && (arg0->param2 == 0)) { + arg0->param2 = 1; + arg0->param1 = 0; } } } - if ((arg0->unk20 != 0) && ((arg0->unk1C > 0xA) || ((D_8018D9D8 != 0) && (arg0->unk1C >= 4)))) { + if ((arg0->param2 != 0) && ((arg0->param1 > 0xA) || ((D_8018D9D8 != 0) && (arg0->param1 >= 4)))) { var_t1 = 1; } if (var_t1 != 0) { - arg0->unk20 = 0; - arg0->unk1C = 0; - if (arg0->cursor < 6) { - arg0->cursor++; + arg0->param2 = 0; + arg0->param1 = 0; + if (arg0->state < 6) { + arg0->state++; } else { - arg0->cursor = 7; + arg0->state = 7; } } break; case 7: - arg0->unk1C++; - if ((((D_8018D9D8 != 0) && (arg0->unk1C >= 0xB)) || (arg0->unk1C >= 0x3D)) && (D_800DDB24 != 0)) { - arg0->cursor = 8; - arg0->unk1C = 0; + arg0->param1++; + if ((((D_8018D9D8 != 0) && (arg0->param1 >= 0xB)) || (arg0->param1 >= 0x3D)) && (D_800DDB24 != 0)) { + arg0->state = 8; + arg0->param1 = 0; } break; case 8: - arg0->unk1C++; + arg0->param1++; if (D_8018D9D8 != 0) { - arg0->unk1C += 5; + arg0->param1 += 5; } - if (arg0->unk1C >= 0x29) { - arg0->cursor = 9; + if (arg0->param1 >= 0x29) { + arg0->state = 9; } break; case 9: - arg0->unk1C--; + arg0->param1--; if (D_8018D9D8 != 0) { - arg0->unk1C -= 5; + arg0->param1 -= 5; } - if (arg0->unk1C <= 0) { - arg0->cursor = 0x0000000A; - arg0->unk1C = 0; + if (arg0->param1 <= 0) { + arg0->state = 0x0000000A; + arg0->param1 = 0; if (gCourseIndexInCup == 3) { for (var_a1 = 0; var_a1 < 8; var_a1++) { if (D_80164478[gCharacterIdByGPOverallRank[var_a1]] < gPlayerCount) { @@ -10746,30 +10774,30 @@ void func_800AC458(struct_8018D9E0_entry* arg0) { } break; case 10: - arg0->unk1C++; - if (arg0->unk1C > 0) { - arg0->cursor = 0x0000000B; - arg0->unk1C = 0; + arg0->param1++; + if (arg0->param1 > 0) { + arg0->state = 0x0000000B; + arg0->param1 = 0; func_800921B4(); } break; case 11: if ((D_8018D9D8 != 0) && (D_800DDB24 != 0)) { - arg0->cursor = 0x0000000C; - arg0->unk20 = arg0->row; + arg0->state = 0x0000000C; + arg0->param2 = arg0->row; play_sound2(SOUND_ACTION_NEXT_COURSE); } break; case 12: - arg0->row = arg0->unk20; - if (arg0->unk20 < 0xF0) { - arg0->unk20 += 0x10; + arg0->row = arg0->param2; + if (arg0->param2 < 0xF0) { + arg0->param2 += 0x10; D_800DC5EC->screenStartY += 0x10; D_800DC5F0->screenStartY -= 0x10; } else { - arg0->unk20 = 0; - arg0->cursor = 0x0000000D; - arg0->unk1C = 0; + arg0->param2 = 0; + arg0->state = 0x0000000D; + arg0->param1 = 0; D_800DC5EC->screenStartY = 0x012C; D_800DC5F0->screenStartY = -0x003C; D_8015F894 = 4; @@ -10781,42 +10809,39 @@ void func_800AC458(struct_8018D9E0_entry* arg0) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AC458.s") -#endif -void func_800AC978(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { /* irregular */ +void func_800AC978(MenuItem* arg0) { + switch (arg0->state) { /* irregular */ case 0: arg0->column = 0x14A; - arg0->cursor = 1; - arg0->unk1C = 0xFF; + arg0->state = 1; + arg0->param1 = 0xFF; break; case 1: func_800A9208(arg0, 0xA0); if (arg0->column == 0xA0) { - arg0->cursor = 2; + arg0->state = 2; } break; case 2: break; case 3: - if (arg0->unk1C != 0) { - arg0->unk1C -= 0x33; + if (arg0->param1 != 0) { + arg0->param1 -= 0x33; } break; } } -void func_800ACA14(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { /* irregular */ +void func_800ACA14(MenuItem* arg0) { + switch (arg0->state) { /* irregular */ case 0: - if (arg0->unk20 >= 0xB) { - arg0->unk1C += 3; + if (arg0->param2 >= 0xB) { + arg0->param1 += 3; } - if (arg0->unk1C >= 0x65) { - arg0->cursor = 0x0000000B; - arg0->unk1C = 0; + if (arg0->param1 >= 0x65) { + arg0->state = 0x0000000B; + arg0->param1 = 0; } break; case 11: @@ -10826,70 +10851,70 @@ void func_800ACA14(struct_8018D9E0_entry* arg0) { } if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) { - if (arg0->cursor >= 0xC) { - arg0->cursor--; + if (arg0->state >= 0xC) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) { - if (arg0->cursor < 0xC) { - arg0->cursor++; + if (arg0->state < 0xC) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } if (gControllerFive->buttonPressed & 0x9000) { func_8009DFE0(0x0000001E); func_800CA330(0x19U); play_sound2(SOUND_ACTION_CONTINUE_UNKNOWN); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } break; default: break; } - if (arg0->unk20 < 0x28) { - arg0->unk20++; + if (arg0->param2 < 0x28) { + arg0->param2++; } } -void func_800ACC50(struct_8018D9E0_entry* arg0) { - s32 var_s0; +void func_800ACC50(MenuItem* arg0) { + s32 i; - switch (arg0->cursor) { + switch (arg0->state) { case 0: - arg0->unk1C += 3; - if (arg0->unk1C >= 0x65) { - arg0->cursor = 1; - arg0->unk1C = 0; - for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) { - add_8018D9E0_entry(var_s0 + 0xB1, 0, 0, (s8) (5 - var_s0)); + arg0->param1 += 3; + if (arg0->param1 >= 0x65) { + arg0->state = 1; + arg0->param1 = 0; + for (i = 0; i < gPlayerCount; i++) { + load_menu_item_ui(i + MENU_ITEM_TYPE_0B1, 0, 0, (s8) (MENU_ITEM_UI_PRIO_5 - i)); } } break; case 1: - if (find_8018D9E0_entry_dupe(0x000000B1)->cursor >= 2) { - arg0->cursor = 2; + if (find_menu_items_type_dupe(0x000000B1)->state >= 2) { + arg0->state = 2; } break; case 2: - arg0->unk1C += 0x20; - if (arg0->unk1C >= 0x100) { + arg0->param1 += 0x20; + if (arg0->param1 >= 0x100) { if (gModeSelection == VERSUS) { - arg0->cursor = (s32) gVersusResultCursorSelection; + arg0->state = (s32) gVersusResultCursorSelection; } else { - arg0->cursor = (s32) gBattleResultCursorSelection; + arg0->state = (s32) gBattleResultCursorSelection; } - arg0->unk1C = 0; + arg0->param1 = 0; } break; case 10: @@ -10898,35 +10923,35 @@ void func_800ACC50(struct_8018D9E0_entry* arg0) { case 13: if (is_screen_being_faded() == 0) { if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x800) { - if (arg0->cursor >= 0xB) { - arg0->cursor--; + if (arg0->state >= 0xB) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((gControllerFive->buttonPressed | gControllerFive->stickPressed) & 0x400) { - if (arg0->cursor < 0xD) { - arg0->cursor++; + if (arg0->state < 0xD) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } if (gControllerFive->buttonPressed & 0x9000) { func_8009DFE0(0x0000001E); play_sound2(SOUND_MENU_OK_CLICKED); if (gModeSelection == VERSUS) { - gVersusResultCursorSelection = (s8) arg0->cursor; + gVersusResultCursorSelection = (s8) arg0->state; } else { - gBattleResultCursorSelection = (s8) arg0->cursor; + gBattleResultCursorSelection = (s8) arg0->state; } - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } } @@ -10936,7 +10961,7 @@ void func_800ACC50(struct_8018D9E0_entry* arg0) { } } -void func_800ACF40(struct_8018D9E0_entry* arg0) { +void func_800ACF40(MenuItem* arg0) { Unk_D_800E70A0* temp_v0_2; s32 temp_a2; s32 temp_a1; @@ -10945,19 +10970,19 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) { temp_a2 = arg0->type - 0xB1; temp_a1 = D_800EFD64[gCharacterSelections[arg0->type - 0xB1]]; - switch (arg0->cursor) { + switch (arg0->state) { case 0: arg0->column = D_800E72F8.column; arg0->row = D_800E72F8.row; - arg0->cursor = 1; + arg0->state = 1; break; case 1: temp_v0_2 = &D_800E7300[((gPlayerCount - 2) * 4) + temp_a2]; func_800A9208(arg0, temp_v0_2->column); func_800A9278(arg0, temp_v0_2->row); if (arg0->column == temp_v0_2->column) { - arg0->cursor = 2; - arg0->unk20 = 0; + arg0->state = 2; + arg0->param2 = 0; } break; case 2: @@ -10975,12 +11000,12 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) { break; } if (var_v1 == 0) { - arg0->unk20++; - if (arg0->unk20 >= 0x1F) { - if (find_8018D9E0_entry_dupe(0x000000B0)->cursor >= 2) { + arg0->param2++; + if (arg0->param2 >= 0x1F) { + if (find_menu_items_type_dupe(0x000000B0)->state >= 2) { func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a1])); - arg0->cursor = 3; + arg0->state = 3; func_800CA24C(temp_a2); func_800C90F4(temp_a2, (gCharacterSelections[temp_a2] * 0x10) + 0x29008007); } @@ -10990,7 +11015,7 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) { case 3: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_a1]) { func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2, segmented_to_virtual_dupe_2(D_800E83A0[temp_a1])); - arg0->cursor = 4; + arg0->state = 4; } break; case 4: @@ -10999,42 +11024,42 @@ void func_800ACF40(struct_8018D9E0_entry* arg0) { } } -void func_800AD1A4(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AD1A4(MenuItem* arg0) { + switch (arg0->state) { case 0: arg0->column = 0x0000014A; - arg0->cursor = 1; + arg0->state = 1; func_800921B4(); - add_8018D9E0_entry(0x000000BB, 0, 0, 0); + load_menu_item_ui(MENU_ITEM_TYPE_0BB, 0, 0, MENU_ITEM_UI_PRIO_0); break; case 1: func_800A9208(arg0, 0x000000A0); if (arg0->column == 0x000000A0) { - arg0->cursor = 2; - arg0->unk20 = 0; + arg0->state = 2; + arg0->param2 = 0; } break; case 2: - arg0->unk20++; - if (arg0->unk20 >= 0x15) { - arg0->cursor = 3; + arg0->param2++; + if (arg0->param2 >= 0x15) { + arg0->state = 3; } break; case 3: if (D_8018D9D8 != 0) { func_800921B4(); - arg0->cursor = 4; - arg0->unk1C = arg0->column; - add_8018D9E0_entry(0x000000BA, 0, 0, 0); + arg0->state = 4; + arg0->param1 = arg0->column; + load_menu_item_ui(MENU_ITEM_TYPE_0BA, 0, 0, MENU_ITEM_UI_PRIO_0); } break; case 4: - arg0->column = arg0->unk1C; - if (arg0->unk1C < 0x14A) { + arg0->column = arg0->param1; + if (arg0->param1 < 0x14A) { if (D_8018D9D8 != 0) { - arg0->unk1C += 0x20; + arg0->param1 += 0x20; } else { - arg0->unk1C += 0x10; + arg0->param1 += 0x10; } } else { arg0->type = 0; @@ -11045,39 +11070,39 @@ void func_800AD1A4(struct_8018D9E0_entry* arg0) { } } -void func_800AD2E8(struct_8018D9E0_entry* arg0) { +void func_800AD2E8(MenuItem* arg0) { struct_8018EE10_entry* thing; s32 var_v1; s32 var_a1; s32 index; - switch (arg0->cursor) { /* switch 3; irregular */ - case 0: /* switch 3 */ + switch (arg0->state) { /* switch 3; irregular */ + case 0: /* switch 3 */ arg0->column = -0x000000A0; - arg0->cursor = 1; - for (index = 0; index < 4; index++) { - D_8018D9BC[index] = gGPPointRewards[index]; + arg0->state = 1; + for (index = 0; index < ARRAY_COUNT(gGPPointRewards); index++) { + sGPPointsCopy[index] = gGPPointRewards[index]; } - arg0->unk20 = arg0->column; + arg0->param2 = arg0->column; break; ; case 1: /* switch 3 */ - arg0->column = arg0->unk20; + arg0->column = arg0->param2; if (D_8018D9D8 != 0) { var_a1 = 0x20; } else { var_a1 = 0x10; } - if ((arg0->unk20 + var_a1) < 0) { - arg0->unk20 += var_a1; + if ((arg0->param2 + var_a1) < 0) { + arg0->param2 += var_a1; D_800DC5EC->screenStartX += var_a1; D_800DC5F0->screenStartX -= var_a1; } else { - arg0->unk20 = 0; + arg0->param2 = 0; arg0->column = 0; - arg0->cursor = gTimeTrialsResultCursorSelection; - if ((arg0->cursor == 9) && (D_80162DF8 == 1)) { - arg0->cursor--; + arg0->state = gTimeTrialsResultCursorSelection; + if ((arg0->state == 9) && (D_80162DF8 == 1)) { + arg0->state--; } D_800DC5EC->screenStartX = 0x00F0; D_800DC5F0->screenStartX = 0x0050; @@ -11091,40 +11116,40 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { case 10: /* switch 3 */ if (is_screen_being_faded() == 0) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->cursor >= 6) { - arg0->cursor--; - if ((D_80162DF8 == 1) && (arg0->cursor == 9)) { - arg0->cursor--; + if (arg0->state >= 6) { + arg0->state--; + if ((D_80162DF8 == 1) && (arg0->state == 9)) { + arg0->state--; } play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->cursor < 0xA) { - arg0->cursor++; - if ((D_80162DF8 == 1) && (arg0->cursor == 9)) { - arg0->cursor++; + if (arg0->state < 0xA) { + arg0->state++; + if ((D_80162DF8 == 1) && (arg0->state == 9)) { + arg0->state++; } - if ((arg0->cursor == 0x0000000A) && (D_80162DD4 != 0)) { - arg0->cursor -= 2; + if ((arg0->state == 0x0000000A) && (D_80162DD4 != 0)) { + arg0->state -= 2; } else { play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } } if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->cursor == 0x0000000A) { + if (arg0->state == 0x0000000A) { var_v1 = 0; - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } if (gControllerPak1State != 0) { var_v1 = 0; @@ -11134,7 +11159,7 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { break; case 0: /* switch 4 */ func_800B6708(); - arg0->cursor = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x11; + arg0->state = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x11; var_v1 = 1; play_sound2(SOUND_MENU_SELECT); break; @@ -11150,26 +11175,26 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { if (gControllerPak1State == 0) { switch (func_800B5F30()) { /* switch 2 */ case -1: /* switch 2 */ - arg0->cursor = 0x0000000B; + arg0->state = 0x0000000B; var_v1 = 1; break; case -3: /* switch 2 */ case -2: /* switch 2 */ - arg0->cursor = 0x0000000C; + arg0->state = 0x0000000C; var_v1 = 1; break; case 1: /* switch 2 */ case 11: /* switch 2 */ - arg0->cursor = 0x0000000B; + arg0->state = 0x0000000B; var_v1 = 1; break; case 10: /* switch 2 */ - arg0->cursor = 0x0000000C; + arg0->state = 0x0000000C; var_v1 = 1; break; default: /* switch 2 */ var_v1 = 1; - arg0->cursor = 0x0000000C; + arg0->state = 0x0000000C; break; case 0: break; @@ -11181,33 +11206,33 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) == 0) { func_800B6708(); - arg0->cursor = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x11; + arg0->state = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x11; play_sound2(SOUND_MENU_SELECT); return; } } if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) { - arg0->cursor = 0x0000000E; + arg0->state = 0x0000000E; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } if (gControllerPak1NumPagesFree >= 0x79) { - arg0->cursor = 0x00000013; - arg0->unk1C = 0; + arg0->state = 0x00000013; + arg0->param1 = 0; play_sound2(SOUND_MENU_SELECT); return; } - arg0->cursor = 0x0000000E; + arg0->state = 0x0000000E; play_sound2(SOUND_MENU_FILE_NOT_FOUND); } } else { - arg0->unk1C = arg0->cursor; - gTimeTrialsResultCursorSelection = arg0->cursor; - arg0->cursor = 0x0000001E; - arg0->unk20 = arg0->row; + arg0->param1 = arg0->state; + gTimeTrialsResultCursorSelection = arg0->state; + arg0->state = 0x0000001E; + arg0->param2 = arg0->row; play_sound2(SOUND_ACTION_NEXT_COURSE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } } @@ -11221,139 +11246,139 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { case 16: /* switch 1 */ case 26: /* switch 1 */ if (gControllerOne->buttonPressed & 0xD000) { - arg0->cursor = 0x0000000A; + arg0->state = 0x0000000A; play_sound2(SOUND_MENU_GO_BACK); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } break; case 17: /* switch 1 */ case 18: /* switch 1 */ - arg0->unk20 = arg0->cursor - 0x11; - if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) != arg0->unk20) { + arg0->param2 = arg0->state - 0x11; + if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) != arg0->param2) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->cursor >= 0x12) { - arg0->cursor--; + if (arg0->state >= 0x12) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->cursor < 0x12) { - arg0->cursor++; + if (arg0->state < 0x12) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->cursor = 0x0000000A; + arg0->state = 0x0000000A; play_sound2(SOUND_MENU_GO_BACK); return; } if (gControllerOne->buttonPressed & 0x9000) { - thing = &D_8018EE10[arg0->unk20]; + thing = &D_8018EE10[arg0->param2]; if (thing->ghostDataSaved == 0) { - arg0->cursor = 0x00000019; - arg0->unk1C = 0; - } else if (func_800B63F0(arg0->unk20) == 0) { - arg0->cursor = 0x00000010; + arg0->state = 0x00000019; + arg0->param1 = 0; + } else if (func_800B63F0(arg0->param2) == 0) { + arg0->state = 0x00000010; } else { - arg0->cursor = 0x00000014; + arg0->state = 0x00000014; } play_sound2(SOUND_MENU_SELECT); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } break; case 19: /* switch 1 */ - if ((arg0->unk1C == 1) && (func_800B6A68() != 0)) { - arg0->cursor = 0x0000000F; + if ((arg0->param1 == 1) && (func_800B6A68() != 0)) { + arg0->state = 0x0000000F; return; } else { - arg0->unk1C++; - if (arg0->unk1C >= 2) { - arg0->cursor = 0x00000011; + arg0->param1++; + if (arg0->param1 >= 2) { + arg0->state = 0x00000011; } } break; case 20: /* switch 1 */ case 21: /* switch 1 */ - if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->cursor >= 0x15)) { - arg0->cursor--; + if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && (arg0->state >= 0x15)) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->cursor < 0x15) { - arg0->cursor++; + if (arg0->state < 0x15) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->cursor = arg0->unk20 + 0x11; + arg0->state = arg0->param2 + 0x11; play_sound2(SOUND_MENU_GO_BACK); return; } if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->cursor == 0x00000015) { - arg0->cursor = 0x00000019; - arg0->unk1C = 0; + if (arg0->state == 0x00000015) { + arg0->state = 0x00000019; + arg0->param1 = 0; play_sound2(SOUND_MENU_SELECT); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } else { - arg0->cursor = arg0->unk20 + 0x11; + arg0->state = arg0->param2 + 0x11; play_sound2(SOUND_MENU_GO_BACK); return; } } break; case 25: /* switch 1 */ - if (arg0->unk1C == 1) { + if (arg0->param1 == 1) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) != 0) { - arg0->cursor = 0x0000001A; + arg0->state = 0x0000001A; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } - if (func_800B6178(arg0->unk20) != 0) { - arg0->cursor = 0x0000001A; + if (func_800B6178(arg0->param2) != 0) { + arg0->state = 0x0000001A; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } } - arg0->unk1C++; - if (arg0->unk1C >= 2) { - arg0->cursor = 0x0000000A; + arg0->param1++; + if (arg0->param1 >= 2) { + arg0->state = 0x0000000A; return; } break; case 30: /* switch 1 */ - arg0->row = arg0->unk20; - if (arg0->unk20 < 0xF0) { - arg0->unk20 += 0x10; + arg0->row = arg0->param2; + if (arg0->param2 < 0xF0) { + arg0->param2 += 0x10; D_800DC5EC->screenStartY += 0x10; D_800DC5F0->screenStartY -= 0x10; return; } - switch (arg0->unk1C) { /* switch 3 */ + switch (arg0->param1) { /* switch 3 */ case 5: /* switch 3 */ D_8015F890 = 0; D_8015F892 = 1; @@ -11374,8 +11399,8 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { func_802903B0(); break; } - arg0->unk20 = 0; - arg0->cursor = 0x0000001F; + arg0->param2 = 0; + arg0->state = 0x0000001F; D_800DC5EC->screenStartY = 0x012C; D_800DC5F0->screenStartY = -0x003C; D_8015F894 = 4; @@ -11391,14 +11416,14 @@ void func_800AD2E8(struct_8018D9E0_entry* arg0) { #else #define FUNC_800ADF48DEF 60 #endif -void func_800ADF48(struct_8018D9E0_entry* arg0) { +void func_800ADF48(MenuItem* arg0) { UNUSED s32 stackPadding; struct Controller* controller; if (gIsGamePaused != 0) { - switch (arg0->cursor) { + switch (arg0->state) { case 0: - arg0->cursor = D_800F0B50[gModeSelection]; + arg0->state = D_800F0B50[gModeSelection]; break; case 11: case 12: @@ -11418,35 +11443,35 @@ void func_800ADF48(struct_8018D9E0_entry* arg0) { if (is_screen_being_faded() == 0) { controller = &gControllers[gIsGamePaused - 1]; if ((controller->buttonPressed | controller->stickPressed) & 0x800) { - if (D_800F0B50[gModeSelection] < arg0->cursor) { - arg0->cursor--; + if (D_800F0B50[gModeSelection] < arg0->state) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((controller->buttonPressed | controller->stickPressed) & 0x400) { - if (arg0->cursor < D_800F0B54[gModeSelection]) { - arg0->cursor++; + if (arg0->state < D_800F0B54[gModeSelection]) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } if (controller->buttonPressed & B_BUTTON) { - if (arg0->cursor != D_800F0B50[gModeSelection]) { - arg0->cursor = D_800F0B50[gModeSelection]; + if (arg0->state != D_800F0B50[gModeSelection]) { + arg0->state = D_800F0B50[gModeSelection]; play_sound2(SOUND_MENU_GO_BACK); return; } } if (controller->buttonPressed & (START_BUTTON | A_BUTTON)) { - if (arg0->cursor == D_800F0B50[gModeSelection]) { - arg0->cursor = 0; + if (arg0->state == D_800F0B50[gModeSelection]) { + arg0->state = 0; gIsGamePaused = 0; func_8028DF38(); func_800C9F90(0U); @@ -11454,8 +11479,8 @@ void func_800ADF48(struct_8018D9E0_entry* arg0) { func_8009DFE0(30); play_sound2(SOUND_ACTION_CONTINUE_UNKNOWN); func_800CA330(FUNC_800ADF48DEF); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } } @@ -11465,36 +11490,36 @@ void func_800ADF48(struct_8018D9E0_entry* arg0) { break; } } else { - arg0->cursor = 0; + arg0->state = 0; } } -void func_800AE218(struct_8018D9E0_entry* arg0) { +void func_800AE218(MenuItem* arg0) { struct_8018EE10_entry* thing; s32 var_v1; - if (arg0->cursor != 0) { + if (arg0->state != 0) { D_800DC5B8 = 0; } - switch (arg0->cursor) { /* switch 1 */ - case 0: /* switch 1 */ - if (arg0->unk1C < 0x1E) { - arg0->unk1C++; + switch (arg0->state) { /* switch 1 */ + case 0: /* switch 1 */ + if (arg0->param1 < 0x1E) { + arg0->param1++; } if (gControllerOne->buttonPressed & 0x1000) { - arg0->cursor = 0x0000000F; + arg0->state = 0x0000000F; play_sound2(SOUND_ACTION_GO_BACK_2); } else if (playerHUD[PLAYER_ONE].raceCompleteBool != 0) { - arg0->cursor = 1; - arg0->unk1C = 0; + arg0->state = 1; + arg0->param1 = 0; } break; default: /* switch 1 */ break; case 1: /* switch 1 */ - arg0->unk1C += 3; - if (arg0->unk1C >= 0x8D) { - arg0->cursor = 0x0000000F; + arg0->param1 += 3; + if (arg0->param1 >= 0x8D) { + arg0->state = 0x0000000F; } break; case 11: /* switch 1 */ @@ -11505,30 +11530,30 @@ void func_800AE218(struct_8018D9E0_entry* arg0) { case 16: /* switch 1 */ if (is_screen_being_faded() == 0) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->cursor >= 0xC) { - arg0->cursor--; + if (arg0->state >= 0xC) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->cursor < 0x10) { - arg0->cursor++; + if (arg0->state < 0x10) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->cursor == 0x00000010) { + if (arg0->state == 0x00000010) { var_v1 = 0; - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } if (gControllerPak1State != 0) { var_v1 = 0; @@ -11538,7 +11563,7 @@ void func_800AE218(struct_8018D9E0_entry* arg0) { break; case PFS_NO_ERROR: /* switch 3 */ func_800B6708(); - arg0->cursor = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x1E; + arg0->state = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x1E; var_v1 = 1; break; case PFS_ERR_NEW_PACK: /* switch 3 */ @@ -11556,26 +11581,26 @@ void func_800AE218(struct_8018D9E0_entry* arg0) { if (gControllerPak1State == 0) { switch (func_800B5F30()) { /* switch 2 */ case PFS_INVALID_DATA: /* switch 2 */ - arg0->cursor = 0x00000015; + arg0->state = 0x00000015; var_v1 = 1; break; case PFS_FREE_BLOCKS_ERROR: /* switch 2 */ case PFS_NUM_FILES_ERROR: /* switch 2 */ - arg0->cursor = 0x00000016; + arg0->state = 0x00000016; var_v1 = 1; break; case PFS_ERR_NOPACK: /* switch 2 */ case PFS_ERR_DEVICE: /* switch 2 */ - arg0->cursor = 0x00000015; + arg0->state = 0x00000015; var_v1 = 1; break; case PFS_ERR_ID_FATAL: /* switch 2 */ - arg0->cursor = 0x00000016; + arg0->state = 0x00000016; var_v1 = 1; break; default: /* switch 2 */ var_v1 = 1; - arg0->cursor = 0x00000016; + arg0->state = 0x00000016; break; case 0: break; @@ -11587,20 +11612,20 @@ void func_800AE218(struct_8018D9E0_entry* arg0) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) == 0) { func_800B6708(); - arg0->cursor = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x1E; + arg0->state = func_800B6348((gCupSelection * 4) + gCourseIndexInCup) + 0x1E; play_sound2(SOUND_MENU_SELECT); return; } } if (gControllerPak1MaxWriteableFiles >= gControllerPak1NumFilesUsed) { - arg0->cursor = 0x00000018; + arg0->state = 0x00000018; play_sound2(SOUND_MENU_FILE_NOT_FOUND); } else if (gControllerPak1NumPagesFree >= 0x79) { - arg0->cursor = 0x00000020; - arg0->unk1C = 0; + arg0->state = 0x00000020; + arg0->param1 = 0; play_sound2(SOUND_MENU_SELECT); } else { - arg0->cursor = 0x00000018; + arg0->state = 0x00000018; play_sound2(SOUND_MENU_FILE_NOT_FOUND); } } else { @@ -11608,8 +11633,8 @@ void func_800AE218(struct_8018D9E0_entry* arg0) { play_sound2(SOUND_MENU_OK_CLICKED); func_800CA330(0x19U); func_800CA388(0x19U); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } } @@ -11623,160 +11648,160 @@ void func_800AE218(struct_8018D9E0_entry* arg0) { case 26: /* switch 1 */ case 41: /* switch 1 */ if (gControllerOne->buttonPressed & 0xD000) { - arg0->cursor = 0x00000010; + arg0->state = 0x00000010; play_sound2(SOUND_MENU_GO_BACK); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } break; case 30: /* switch 1 */ case 31: /* switch 1 */ - arg0->unk20 = (u32) arg0->cursor - 0x1E; - if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) != arg0->unk20) { + arg0->param2 = (u32) arg0->state - 0x1E; + if (func_800B639C((gCupSelection * 4) + gCourseIndexInCup) != arg0->param2) { if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) { - if (arg0->cursor >= 0x1F) { - arg0->cursor--; + if (arg0->state >= 0x1F) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->cursor < 0x1F) { - arg0->cursor++; + if (arg0->state < 0x1F) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->cursor = 0x00000010; + arg0->state = 0x00000010; play_sound2(SOUND_MENU_GO_BACK); } else if (gControllerOne->buttonPressed & 0x9000) { - thing = &D_8018EE10[arg0->unk20]; + thing = &D_8018EE10[arg0->param2]; if (thing->ghostDataSaved == 0) { - arg0->cursor = 0x00000028; - arg0->unk1C = 0; - } else if (func_800B63F0(arg0->unk20) == 0) { - arg0->cursor = 0x0000001A; + arg0->state = 0x00000028; + arg0->param1 = 0; + } else if (func_800B63F0(arg0->param2) == 0) { + arg0->state = 0x0000001A; } else { - arg0->cursor = 0x00000023; + arg0->state = 0x00000023; } play_sound2(SOUND_MENU_SELECT); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } break; case 32: /* switch 1 */ - if ((arg0->unk1C == 1) && (func_800B6A68() != 0)) { - arg0->cursor = 0x00000019; + if ((arg0->param1 == 1) && (func_800B6A68() != 0)) { + arg0->state = 0x00000019; } else { - arg0->unk1C++; - if (arg0->unk1C >= 2) { - arg0->cursor = 0x0000001E; + arg0->param1++; + if (arg0->param1 >= 2) { + arg0->state = 0x0000001E; } } break; case 35: /* switch 1 */ case 36: /* switch 1 */ if (((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x800) && - ((s32) (u32) arg0->cursor >= 0x24)) { - arg0->cursor--; + ((s32) (u32) arg0->state >= 0x24)) { + arg0->state--; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = -1; + arg0->subState = -1; } if ((gControllerOne->buttonPressed | gControllerOne->stickPressed) & 0x400) { - if (arg0->cursor < 0x24) { - arg0->cursor++; + if (arg0->state < 0x24) { + arg0->state++; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } - arg0->unk8 = 1; + arg0->subState = 1; } } if (gControllerOne->buttonPressed & 0x4000) { - arg0->cursor = arg0->unk20 + 0x1E; + arg0->state = arg0->param2 + 0x1E; play_sound2(SOUND_MENU_GO_BACK); } else if (gControllerOne->buttonPressed & 0x9000) { - if (arg0->cursor == 0x00000024) { - arg0->cursor = 0x00000028; - arg0->unk1C = 0; + if (arg0->state == 0x00000024) { + arg0->state = 0x00000028; + arg0->param1 = 0; play_sound2(SOUND_MENU_SELECT); - if (arg0->unk24 < 4.2) { - arg0->unk24 += 4.0; + if (arg0->paramf < 4.2) { + arg0->paramf += 4.0; } } else { - arg0->cursor = arg0->unk20 + 0x1E; + arg0->state = arg0->param2 + 0x1E; play_sound2(SOUND_MENU_GO_BACK); } } break; case 40: /* switch 1 */ - if (arg0->unk1C == 1) { + if (arg0->param1 == 1) { if (osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote) != 0) { - arg0->cursor = 0x00000029; + arg0->state = 0x00000029; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } - if (func_800B6178(arg0->unk20) != 0) { - arg0->cursor = 0x00000029; + if (func_800B6178(arg0->param2) != 0) { + arg0->state = 0x00000029; play_sound2(SOUND_MENU_FILE_NOT_FOUND); return; } } - arg0->unk1C++; - if (arg0->unk1C >= 2) { - arg0->cursor = 0x00000010; + arg0->param1++; + if (arg0->param1 >= 2) { + arg0->state = 0x00000010; } break; } } -void func_800AEC54(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { +void func_800AEC54(MenuItem* arg0) { + switch (arg0->state) { case 0: - arg0->column = (get_string_width(D_800E7780) / 2) + 0x140; + arg0->column = (get_string_width(gTextMenuAnnounceGhost) / 2) + 0x140; arg0->row = 0x000000DA; - arg0->cursor = 1; + arg0->state = 1; func_800C90F4(0U, (D_80162DE4 * 0x10) + 0x29008001); break; case 1: func_800A9208(arg0, 0x000000A0); if (arg0->column == 0x000000A0) { - arg0->cursor = 2; - arg0->unk1C = 0; + arg0->state = 2; + arg0->param1 = 0; } break; case 2: - arg0->unk1C++; - if (arg0->unk1C >= 0x3D) { - arg0->cursor = 3; - arg0->unk1C = 0; + arg0->param1++; + if (arg0->param1 >= 0x3D) { + arg0->state = 3; + arg0->param1 = 0; } break; case 4: - arg0->unk1C++; - if (arg0->unk1C >= 6) { + arg0->param1++; + if (arg0->param1 >= 6) { arg0->type = 0; break; } // Purposeful fallthrough case 3: func_800A94C8(arg0, 0x000000A0, -1); - if (((arg0->column + 0x14) == -(get_string_width(D_800E7780) / 2)) && (arg0->cursor == 3)) { - arg0->cursor = 4; + if (((arg0->column + 0x14) == -(get_string_width(gTextMenuAnnounceGhost) / 2)) && (arg0->state == 3)) { + arg0->state = 4; } break; default: @@ -11784,9 +11809,9 @@ void func_800AEC54(struct_8018D9E0_entry* arg0) { } } -void func_800AEDBC(struct_8018D9E0_entry* arg0) { - if (arg0->unk1C != gTimeTrialDataCourseIndex) { - arg0->unk1C = (s32) gTimeTrialDataCourseIndex; +void func_800AEDBC(MenuItem* arg0) { + if (arg0->param1 != gTimeTrialDataCourseIndex) { + arg0->param1 = (s32) gTimeTrialDataCourseIndex; func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2( D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]])); @@ -11799,7 +11824,7 @@ void func_800AEDBC(struct_8018D9E0_entry* arg0) { } } -void func_800AEE90(struct_8018D9E0_entry* arg0) { +void func_800AEE90(MenuItem* arg0) { if (gSubMenuSelection != SUB_MENU_DATA_OPTIONS) { arg0->visible = 0; } else { @@ -11807,7 +11832,7 @@ void func_800AEE90(struct_8018D9E0_entry* arg0) { } } -void func_800AEEBC(struct_8018D9E0_entry* arg0) { +void func_800AEEBC(MenuItem* arg0) { if (gSubMenuSelection != SUB_MENU_DATA_ERASE_CONFIRM) { arg0->visible = 0; } else { @@ -11815,7 +11840,7 @@ void func_800AEEBC(struct_8018D9E0_entry* arg0) { } } -void func_800AEEE8(struct_8018D9E0_entry* arg0) { +void func_800AEEE8(MenuItem* arg0) { if (gSubMenuSelection != SUB_MENU_DATA_CANT_ERASE) { arg0->visible = 0; } else { @@ -11823,7 +11848,7 @@ void func_800AEEE8(struct_8018D9E0_entry* arg0) { } } -void func_800AEF14(struct_8018D9E0_entry* arg0) { +void func_800AEF14(MenuItem* arg0) { if (playerHUD[PLAYER_ONE].raceCompleteBool != 0) { if ((u32) playerHUD[PLAYER_ONE].someTimer < (u32) (func_800B4E24(4) & 0xFFFFF)) { D_8018ED90 = 1; @@ -11832,58 +11857,58 @@ void func_800AEF14(struct_8018D9E0_entry* arg0) { } } -void func_800AEF74(struct_8018D9E0_entry* arg0) { - switch (arg0->cursor) { /* irregular */ +void func_800AEF74(MenuItem* arg0) { + switch (arg0->state) { /* irregular */ case 0: if (D_80162DF8 == 1) { - arg0->cursor = 1; - arg0->unk1C = 0; + arg0->state = 1; + arg0->param1 = 0; } else if (playerHUD[PLAYER_ONE].raceCompleteBool == (s8) 1) { - arg0->cursor = 2; + arg0->state = 2; } break; case 2: break; case 1: - arg0->unk1C += 1; + arg0->param1 += 1; if (playerHUD[PLAYER_ONE].raceCompleteBool == 1) { - arg0->cursor = 2; + arg0->state = 2; } break; } } -void func_800AF004(struct_8018D9E0_entry* arg0) { +void func_800AF004(MenuItem* arg0) { UNUSED s32 temp_t1; - switch (arg0->cursor) { + switch (arg0->state) { case 0: - arg0->unk1C += 3; - if (arg0->unk1C >= 0x65) { - arg0->unk1C = 0; - arg0->cursor = 1; + arg0->param1 += 3; + if (arg0->param1 >= 0x65) { + arg0->param1 = 0; + arg0->state = 1; gCupSelection %= 4; gCCSelection %= 4; - add_8018D9E0_entry(0x0000012C, 0, 0, 4); + load_menu_item_ui(MENU_ITEM_TYPE_12C, 0, 0, MENU_ITEM_UI_PRIO_4); } break; case 1: case 2: case 3: case 4: - arg0->unk1C += 1; - if (arg0->unk1C >= 9) { - arg0->unk1C = 0; - arg0->cursor++; - add_8018D9E0_entry(arg0->cursor + 0x12B, 0, 0, 4); + arg0->param1 += 1; + if (arg0->param1 >= 9) { + arg0->param1 = 0; + arg0->state++; + load_menu_item_ui(arg0->state + MENU_ITEM_TYPE_12B, 0, 0, MENU_ITEM_UI_PRIO_4); } break; case 5: - arg0->unk1C += 1; - if ((arg0->unk1C >= 0x65) && + arg0->param1 += 1; + if ((arg0->param1 >= 0x65) && ((gControllerFive->buttonPressed != 0) || (gControllerFive->stickPressed != 0))) { - arg0->cursor = 6; - arg0->unk1C = 0; + arg0->state = 6; + arg0->param1 = 0; if (D_802874D8.unk1D < 3) { play_sound2(SOUND_MENU_OK_CLICKED); } else { @@ -11895,7 +11920,7 @@ void func_800AF004(struct_8018D9E0_entry* arg0) { func_8009DFE0(0x0000001E); func_800CA330(0x19U); func_800CA388(0x19U); - arg0->cursor = 7; + arg0->state = 7; break; case 7: default: @@ -11903,22 +11928,22 @@ void func_800AF004(struct_8018D9E0_entry* arg0) { } } -void func_800AF1AC(struct_8018D9E0_entry* arg0) { +void func_800AF1AC(MenuItem* arg0) { Unk_D_800E70A0* temp_v0_2; s32 idx = arg0->type - 0x12C; - switch (arg0->cursor) { /* irregular */ + switch (arg0->state) { /* irregular */ case 0: temp_v0_2 = &D_800E7458[idx]; arg0->column = temp_v0_2->column; arg0->row = temp_v0_2->row; - arg0->cursor = 1; + arg0->state = 1; break; case 1: temp_v0_2 = &D_800E7480[idx]; func_800A91D8(arg0, temp_v0_2->column, temp_v0_2->row); if ((arg0->column == temp_v0_2->column) && (arg0->row == temp_v0_2->row)) { - arg0->cursor = 2; + arg0->state = 2; } break; case 2: @@ -11926,7 +11951,7 @@ void func_800AF1AC(struct_8018D9E0_entry* arg0) { } } -void func_800AF270(struct_8018D9E0_entry* arg0) { +void func_800AF270(MenuItem* arg0) { s32 temp_v1; s32 sp30; s32 temp_v0; @@ -11935,31 +11960,31 @@ void func_800AF270(struct_8018D9E0_entry* arg0) { temp_v1 = arg0->type - 0x12C; sp30 = D_802874D8.unk1E; temp_v0 = D_800EFD64[sp30]; - switch (arg0->cursor) { + switch (arg0->state) { case 0: thing = &D_800E7458[temp_v1]; arg0->column = thing->column; arg0->row = thing->row; - arg0->cursor = 1; + arg0->state = 1; break; case 1: thing = &D_800E7480[temp_v1]; func_800A91D8(arg0, thing->column, thing->row); if ((arg0->column == thing->column) && (arg0->row == thing->row)) { - arg0->cursor = 2; - arg0->unk20 = 0; + arg0->state = 2; + arg0->param2 = 0; } break; case 2: - arg0->unk20++; - if (arg0->unk20 >= 0x1F) { + arg0->param2++; + if (arg0->param2 >= 0x1F) { if (D_802874D8.unk1D >= 3) { - arg0->cursor = 4; + arg0->state = 4; func_800CA0B8(); func_800C90F4(0U, (sp30 * 0x10) + SOUND_ARG_LOAD(0x29, 0x00, 0x80, 0x03)); func_800CA0A0(); } else { - arg0->cursor = 3; + arg0->state = 3; func_8009A640(arg0->D_8018DEE0_index, 0, sp30, segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_v0])); func_800CA0B8(); @@ -11971,7 +11996,7 @@ void func_800AF270(struct_8018D9E0_entry* arg0) { case 3: if (D_8018DEE0[arg0->D_8018DEE0_index].sequenceIndex >= D_800E8440[temp_v0]) { func_8009A640(arg0->D_8018DEE0_index, 0, sp30, segmented_to_virtual_dupe_2(D_800E83A0[temp_v0])); - arg0->cursor = 4; + arg0->state = 4; } break; case 4: @@ -11979,59 +12004,60 @@ void func_800AF270(struct_8018D9E0_entry* arg0) { } } -void func_800AF480(struct_8018D9E0_entry* arg0) { +void func_800AF480(MenuItem* arg0) { s32 idx = arg0->type - 0x190; - if ((D_802850C0[idx].slideDirection == 0) || (D_802850C0[idx].slideDirection != 1)) { + if ((gTextCreaditRenderInformation[idx].slideDirection == 0) || + (gTextCreaditRenderInformation[idx].slideDirection != 1)) { func_800AF4DC(arg0); } else { func_800AF740(arg0); } } -void func_800AF4DC(struct_8018D9E0_entry* arg0) { +void func_800AF4DC(MenuItem* arg0) { UNUSED s32 pad; s32 temp_v0; - struct_802850C0_entry* temp_v1; + CreditRenderInformation* temp_v1; temp_v0 = arg0->type - 0x190; - temp_v1 = &D_802850C0[temp_v0]; + temp_v1 = &gTextCreaditRenderInformation[temp_v0]; arg0->row = temp_v1->row; - switch (arg0->cursor) { + switch (arg0->state) { case 0: arg0->column = temp_v1->startingColumn; - arg0->cursor = 1; - arg0->unk20 = temp_v1->columnExtra + (get_string_width(D_802854B0[temp_v0]) * temp_v1->textScaling / 2); + arg0->state = 1; + arg0->param2 = temp_v1->columnExtra + (get_string_width(gTextCredit[temp_v0]) * temp_v1->textScaling / 2); /* fallthrough */ case 1: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (s32) (arg0->unk20 - arg0->column) / 4; - if (arg0->unk1C >= 9) { - arg0->unk1C = 8; - } - arg0->unk24 = (arg0->unk1C * 0.05) + 1.0; - if (arg0->column >= (arg0->unk20 - 0x14)) { - arg0->cursor = 2; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (s32) (arg0->param2 - arg0->column) / 4; + if (arg0->param1 >= 9) { + arg0->param1 = 8; + } + arg0->paramf = (arg0->param1 * 0.05) + 1.0; + if (arg0->column >= (arg0->param2 - 0x14)) { + arg0->state = 2; arg0->D_8018DEE0_index = 0; } break; case 2: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (arg0->unk20 - arg0->column) / 4; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (arg0->param2 - arg0->column) / 4; arg0->D_8018DEE0_index += 1; - arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; - if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1)) { - arg0->unk24 = 1.0f; - arg0->cursor = 3; + arg0->paramf = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; + if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1)) { + arg0->paramf = 1.0f; + arg0->state = 3; } break; case 3: if ((u8) D_8018ED91 != 0) { - arg0->cursor = 4; + arg0->state = 4; } break; case 4: - func_800A94C8(arg0, arg0->unk20, 1); + func_800A94C8(arg0, arg0->param2, 1); if (arg0->row > 480.0) { arg0->type = 0; } @@ -12041,49 +12067,49 @@ void func_800AF4DC(struct_8018D9E0_entry* arg0) { } } -void func_800AF740(struct_8018D9E0_entry* arg0) { +void func_800AF740(MenuItem* arg0) { UNUSED s32 pad; s32 temp_v0; - struct_802850C0_entry* temp_v1; + CreditRenderInformation* temp_v1; temp_v0 = arg0->type - 0x190; - temp_v1 = &D_802850C0[temp_v0]; + temp_v1 = &gTextCreaditRenderInformation[temp_v0]; arg0->row = temp_v1->row; - switch (arg0->cursor) { + switch (arg0->state) { case 0: arg0->column = temp_v1->startingColumn; - arg0->cursor = 1; - arg0->unk20 = temp_v1->columnExtra - (get_string_width(D_802854B0[temp_v0]) * temp_v1->textScaling / 2); + arg0->state = 1; + arg0->param2 = temp_v1->columnExtra - (get_string_width(gTextCredit[temp_v0]) * temp_v1->textScaling / 2); /* fallthrough */ case 1: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (s32) (arg0->column - arg0->unk20) / 4; - if (arg0->unk1C >= 9) { - arg0->unk1C = 8; - } - arg0->unk24 = (arg0->unk1C * 0.05) + 1.0; - if ((arg0->unk20 + 0x14) >= arg0->column) { - arg0->cursor = 2; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (s32) (arg0->column - arg0->param2) / 4; + if (arg0->param1 >= 9) { + arg0->param1 = 8; + } + arg0->paramf = (arg0->param1 * 0.05) + 1.0; + if ((arg0->param2 + 0x14) >= arg0->column) { + arg0->state = 2; arg0->D_8018DEE0_index = 0; } break; case 2: - func_800A9208(arg0, arg0->unk20); - arg0->unk1C = (arg0->column - arg0->unk20) / 4; + func_800A9208(arg0, arg0->param2); + arg0->param1 = (arg0->column - arg0->param2) / 4; arg0->D_8018DEE0_index += 1; - arg0->unk24 = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; - if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->unk24 > 1)) { - arg0->unk24 = 1.0f; - arg0->cursor = 3; + arg0->paramf = ((arg0->D_8018DEE0_index - 0xA) * 0.0085 * (arg0->D_8018DEE0_index - 0xA)) + 0.4; + if ((arg0->D_8018DEE0_index >= 9) && ((f64) arg0->paramf > 1)) { + arg0->paramf = 1.0f; + arg0->state = 3; } break; case 3: if ((u8) D_8018ED91 != 0) { - arg0->cursor = 4; + arg0->state = 4; } break; case 4: - func_800A94C8(arg0, arg0->unk20, -1); + func_800A94C8(arg0, arg0->param2, -1); if (arg0->row > 480.0) { arg0->type = 0; } diff --git a/src/code_80091750.h b/src/code_80091750.h index c35039dbf2..677488e456 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -10,7 +10,7 @@ extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[]; /* File specific types */ /* -Known `types` for `struct_8018D9E0_entry` +Known `types` for `MenuItem` 0x53: "Mushroom Cup" box on the cup selection screen 0x54: "Flower Cup" box on the cup selection screen 0x55: "Star Cup" box on the cup selection screen @@ -22,39 +22,39 @@ it last longer See `func_80096CD8` for the actual drawing of the static */ typedef struct { - /* 0x00 */ s32 type; // id maybe? - /* 0x04 */ s32 cursor; // sound mode, maybe some other stuff - /* 0x08 */ s32 unk8; // This is used but I can't tell what for + /* 0x00 */ s32 type; // id maybe? + /* 0x04 */ s32 state; // sound mode, maybe some other stuff + /* 0x08 */ s32 subState; // This is used but I can't tell what for /* 0x0C */ s32 column; /* 0x10 */ s32 row; - /* 0x14 */ u8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values - // If equal, later entries in D_8018D9E0 are on top - /* 0x15 */ u8 visible; // active? If 1 its displayed, if 0 its not + /* 0x14 */ u8 priority; // priority/depth/z-level. Higher values are drawn on top of lower values + // If equal, later entries in gMenuItems are on top + /* 0x15 */ bool8 visible; // active? If 1 its displayed, if 0 its not // These seem to be generic space available for use by the struct, no 1 purpose for any given member - /* 0x16 */ s16 unk16; // Potentially unused + /* 0x16 */ s16 unused; // Unused /* 0x18 */ s32 D_8018DEE0_index; // Index in D_8018DEE0, an array of some other struct type - /* 0x1C */ s32 unk1C; // Multi use. Sometimes cup selection, sometimes course index. - /* 0x20 */ s32 unk20; // Multi use, hard to tell what for though. Sometimes a random number, sometimes GP points - /* 0x24 */ f32 unk24; // Multi use, x scaling for some things, rotation multiplier for the question box in some - // menus, probably some other things -} struct_8018D9E0_entry; // size = 0x28 + /* 0x1C */ s32 param1; // Multi use. Sometimes cup selection, sometimes course index. + /* 0x20 */ s32 param2; // Multi use, hard to tell what for though. Sometimes a random number, sometimes GP points + /* 0x24 */ f32 paramf; // Multi use, x scaling for some things, rotation multiplier for the question box in some + // menus, probably some other things +} MenuItem; // size = 0x28 typedef struct { /* 0x00 */ MkAnimation* textureSequence; /* 0x04 */ s32 sequenceIndex; // Index in textureSequence that the animation is currently on /* 0x08 */ s32 frameCountDown; // Frames left for the given animation part /* 0x0C */ u32 visible; // visbile if 0x80000000, otherwise invisbile AND paused - /* 0x10 */ s32 D_8018E118_index; // Don't know what D_8018E118 tracks + /* 0x10 */ s32 D_8018E118_index; // Don't know what sMenuTextureMap tracks /* 0x14 */ s32 unk14; // Flip flops between 0 and 1, use unknown } struct_8018DEE0_entry; // size = 0x18 typedef struct { - /* 0x0 */ MkTexture* texture; - /* 0x4 */ s32 unk_4; + /* 0x0 */ MenuTexture* texture; + /* 0x4 */ s32 texNum; } struct_8018E060_entry; // size = 0x8 typedef struct { - /* 0x0 */ MkTexture* mk64Texture; + /* 0x0 */ MenuTexture* mk64Texture; /* 0x4 */ s16 unk4; /* 0x6 */ s16 unk6; } struct_8018E0E8_entry; // size = 0x8 @@ -63,15 +63,15 @@ typedef struct { /* 0x00 */ u64* textureData; // This should be interpreted as a segmented address /** * Its hard to tell what exactly what this is meant to be, - * but it appears to be used as some sort of offset/index from the address stored in D_8018D9B0. + * but it appears to be used as some sort of offset/index from the address stored in gMenuTextureBuffer. * This value is (roughly) the sum of (width * height) of the - * textures in all the previous entries in D_8018E118 + * textures in all the previous entries in sMenuTextureMap */ /* 0x04 */ s32 offset; -} struct_8018E118_entry; // size = 0x08 +} TextureMap; // size = 0x08 typedef struct { - /* 0x00 */ MkTexture* textures; + /* 0x00 */ MenuTexture* textures; /* 0x04 */ Gfx* displayList; } struct_8018E768_entry; // size = 0x08 @@ -89,6 +89,244 @@ typedef struct { /* 0x06 */ s16 pad1; } Unk_D_800E70A0; // size = 0x08 +enum MENU_ITEMpriority { + MENU_ITEM_UI_PRIO_0, + MENU_ITEM_UI_PRIO_1, + MENU_ITEM_UI_PRIO_2, + MENU_ITEM_UI_PRIO_3, + MENU_ITEM_UI_PRIO_4, + MENU_ITEM_UI_PRIO_5, + MENU_ITEM_UI_PRIO_6, + MENU_ITEM_UI_PRIO_7, + MENU_ITEM_UI_PRIO_8, + MENU_ITEM_UI_PRIO_9, + MENU_ITEM_UI_PRIO_A, + MENU_ITEM_UI_PRIO_B, + MENU_ITEM_UI_PRIO_C, + MENU_ITEM_UI_PRIO_D, + MENU_ITEM_UI_PRIO_E, + MENU_ITEM_UI_PRIO_F, + MENU_ITEM_UI_PRIO_MAX // 0x10 +}; + +enum CenterText { LEFT_TEXT = 1, CENTER_TEXT_MODE_1, RIGHT_TEXT, CENTER_TEXT_MODE_2 }; + +enum MENU_ITEMtype { + MENU_ITEM_UI_NONE, + MENU_ITEM_UI_START_BACKGROUND, + MENU_ITEM_UI_LOGO_AND_COPYRIGHT, + MENU_ITEM_UI_PUSH_START_BUTTON, + MENU_ITEM_UI_NO_CONTROLLER, + MENU_ITEM_UI_START_RECORD_TIME, + MENU_ITEM_UI_GAME_SELECT = 0xA, + MENU_ITEM_UI_1P_GAME, + MENU_ITEM_UI_2P_GAME, + MENU_ITEM_UI_3P_GAME, + MENU_ITEM_UI_4P_GAME, + MENU_ITEM_UI_OK, + MAIN_MENU_OPTION_GFX, + MAIN_MENU_DATA_GFX, + MAIN_MENU_50CC, + MAIN_MENU_100CC, + MAIN_MENU_150CC, + MENU_ITEM_TYPE_015, + MENU_ITEM_TYPE_016, + MENU_ITEM_TYPE_017, + MAIN_MENU_TIME_TRIALS_BEGIN, + MAIN_MENU_TIME_TRIALS_DATA, + MENU_ITEM_TYPE_01B = 0x1B, + MAIN_MENU_BACKGROUND = 0x23, + CHARACTER_SELECT_BACKGROUND, + COURSE_SELECT_BACKGROUND, + CHARACTER_SELECT_MENU_PLAYER_SELECT_BANNER = 0x2A, + CHARACTER_SELECT_MENU_MARIO, + CHARACTER_SELECT_MENU_LUIGI, + CHARACTER_SELECT_MENU_TOAD, + CHARACTER_SELECT_MENU_PEACH, + CHARACTER_SELECT_MENU_YOSHI, + CHARACTER_SELECT_MENU_DK, + CHARACTER_SELECT_MENU_WARIO, + CHARACTER_SELECT_MENU_BOWSER, + CHARACTER_SELECT_MENU_OK, + CHARACTER_SELECT_MENU_1P_CURSOR, + CHARACTER_SELECT_MENU_2P_CURSOR, + CHARACTER_SELECT_MENU_3P_CURSOR, + CHARACTER_SELECT_MENU_4P_CURSOR, + MENU_ITEM_TYPE_043 = 0x43, + MENU_ITEM_TYPE_044, + MENU_ITEM_TYPE_045, + MENU_ITEM_TYPE_046, + MENU_ITEM_TYPE_047, + MENU_ITEM_TYPE_048, + MENU_ITEM_TYPE_049, + MENU_ITEM_TYPE_050 = 0x50, + COURSE_SELECT_MAP_SELECT = 0x52, + COURSE_SELECT_MUSHROOM_CUP, + COURSE_SELECT_FLOWER_CUP, + COURSE_SELECT_STAR_CUP, + COURSE_SELECT_SPECIAL_CUP, + MENU_ITEM_TYPE_058 = 0x58, + COURSE_SELECT_COURSE_NAMES, + MENU_ITEM_TYPE_05A, + MENU_ITEM_TYPE_05B, + COURSE_SELECT_BATTLE_NAMES, + COURSE_SELECT_OK, + MENU_ITEM_TYPE_05E, + MENU_ITEM_TYPE_05F, + MENU_ITEM_TYPE_060, + MENU_ITEM_TYPE_061, + MENU_ITEM_TYPE_062, + MENU_ITEM_TYPE_064 = 0x64, + MENU_ITEM_TYPE_065, + MENU_ITEM_TYPE_066, + MENU_ITEM_TYPE_067, + MENU_ITEM_TYPE_068, + MENU_ITEM_TYPE_069, + MENU_ITEM_TYPE_06E = 0x6E, + MENU_ITEM_TYPE_078 = 0x78, + MENU_ITEM_TYPE_079, + MENU_ITEM_TYPE_07A, + MENU_ITEM_TYPE_07B, + MENU_ITEM_TYPE_07C, + MENU_ITEM_TYPE_07D, + MENU_ITEM_TYPE_07E, + MENU_ITEM_TYPE_07F, + MENU_ITEM_TYPE_080, + MENU_ITEM_TYPE_081, + MENU_ITEM_TYPE_082, + MENU_ITEM_TYPE_083, + MENU_ITEM_TYPE_084, + MENU_ITEM_TYPE_085, + MENU_ITEM_TYPE_086, + MENU_ITEM_TYPE_087, + MENU_ITEM_TYPE_088, + MENU_ITEM_TYPE_089, + MENU_ITEM_TYPE_08A, + MENU_ITEM_TYPE_08B, + MENU_ITEM_TYPE_08C, + MENU_ITEM_TYPE_08D, + MENU_ITEM_TYPE_096 = 0x96, + MENU_ITEM_TYPE_097, + MENU_ITEM_TYPE_098, + MENU_ITEM_TYPE_0A0 = 0xA0, + MENU_ITEM_TYPE_0A1, + MENU_ITEM_TYPE_0AA = 0xAA, + MENU_ITEM_TYPE_0AB, + MENU_ITEM_TYPE_0AC, + MENU_ITEM_TYPE_0AF = 0XAF, + MENU_ITEM_TYPE_0B0, + MENU_ITEM_TYPE_0B1, + MENU_ITEM_TYPE_0B2, + MENU_ITEM_TYPE_0B3, + MENU_ITEM_TYPE_0B4, + MENU_ITEM_TYPE_0B9 = 0xB9, + MENU_ITEM_TYPE_0BA, + MENU_ITEM_TYPE_0BB, + MENU_ITEM_TYPE_0BC, + MENU_ITEM_TYPE_0BD, + MENU_ITEM_TYPE_0BE, + MENU_ITEM_TYPE_0C7 = 0xC7, + MENU_ITEM_TYPE_0D2 = 0xD2, + MENU_ITEM_TYPE_0D3, + MENU_ITEM_TYPE_0D4, + MENU_ITEM_TYPE_0D5, + MENU_ITEM_TYPE_0D6, + MENU_ITEM_TYPE_0D7, + MENU_ITEM_TYPE_0D8, + MENU_ITEM_TYPE_0D9, + MENU_ITEM_TYPE_0DA, + MENU_ITEM_TYPE_0E6 = 0xE6, + MENU_ITEM_TYPE_0E7, + MENU_ITEM_TYPE_0E8, + MENU_ITEM_TYPE_0E9, + MENU_ITEM_TYPE_0EA, + MENU_ITEM_TYPE_0F0 = 0xF0, + MENU_ITEM_TYPE_0F1, + MENU_ITEM_UI_LOGO_INTRO = 0xFA, + START_MENU_FLAG, + MENU_ITEM_TYPE_10E = 0x10E, + MENU_ITEM_TYPE_12B = 0X12B, + MENU_ITEM_TYPE_12C, + MENU_ITEM_TYPE_12D, + MENU_ITEM_TYPE_12E, + MENU_ITEM_TYPE_12F, + MENU_ITEM_TYPE_130, + MENU_ITEM_TYPE_190 = 0x190, + MENU_ITEM_TYPE_191, + MENU_ITEM_TYPE_192, + MENU_ITEM_TYPE_193, + MENU_ITEM_TYPE_194, + MENU_ITEM_TYPE_195, + MENU_ITEM_TYPE_196, + MENU_ITEM_TYPE_197, + MENU_ITEM_TYPE_198, + MENU_ITEM_TYPE_199, + MENU_ITEM_TYPE_19A, + MENU_ITEM_TYPE_19B, + MENU_ITEM_TYPE_19C, + MENU_ITEM_TYPE_19D, + MENU_ITEM_TYPE_19E, + MENU_ITEM_TYPE_19F, + MENU_ITEM_TYPE_1A0, + MENU_ITEM_TYPE_1A1, + MENU_ITEM_TYPE_1A2, + MENU_ITEM_TYPE_1A3, + MENU_ITEM_TYPE_1A4, + MENU_ITEM_TYPE_1A5, + MENU_ITEM_TYPE_1A6, + MENU_ITEM_TYPE_1A7, + MENU_ITEM_TYPE_1A8, + MENU_ITEM_TYPE_1A9, + MENU_ITEM_TYPE_1AA, + MENU_ITEM_TYPE_1AB, + MENU_ITEM_TYPE_1AC, + MENU_ITEM_TYPE_1AD, + MENU_ITEM_TYPE_1AE, + MENU_ITEM_TYPE_1AF, + MENU_ITEM_TYPE_1B0, + MENU_ITEM_TYPE_1B1, + MENU_ITEM_TYPE_1B2, + MENU_ITEM_TYPE_1B3, + MENU_ITEM_TYPE_1B4, + MENU_ITEM_TYPE_1B5, + MENU_ITEM_TYPE_1B6, + MENU_ITEM_TYPE_1B7, + MENU_ITEM_TYPE_1B8, + MENU_ITEM_TYPE_1B9, + MENU_ITEM_TYPE_1BA, + MENU_ITEM_TYPE_1BB, + MENU_ITEM_TYPE_1BC, + MENU_ITEM_TYPE_1BD, + MENU_ITEM_TYPE_1BE, + MENU_ITEM_TYPE_1BF, + MENU_ITEM_TYPE_1C0, + MENU_ITEM_TYPE_1C1, + MENU_ITEM_TYPE_1C2, + MENU_ITEM_TYPE_1C3, + MENU_ITEM_TYPE_1C4, + MENU_ITEM_TYPE_1C5, + MENU_ITEM_TYPE_1C6, + MENU_ITEM_TYPE_1C7, + MENU_ITEM_TYPE_1C8, + MENU_ITEM_TYPE_1C9, + MENU_ITEM_TYPE_1CA, + MENU_ITEM_TYPE_1CB, + MENU_ITEM_TYPE_1CC, + MENU_ITEM_TYPE_1CD, + MENU_ITEM_TYPE_1CE +}; + +enum LoadImgCompType { + LOAD_MENU_IMG_MIO0_ONCE = -1, + LOAD_MENU_IMG_TKMK00_ONCE, + // Force load image even if the data is loaded before + LOAD_MENU_IMG_FORCE = LOAD_MENU_IMG_TKMK00_ONCE, // 0 + LOAD_MENU_IMG_MIO0_FORCE, + LOAD_MENU_IMG_TKMK00_FORCE +}; + +enum TEXT_MENU_ID { CONTINUE_GAME, RETRY, COURSE_CHANGE, DRIVER_CHANGE, QUIT_TEXT_MENU, REPLAY, SAVE_GHOST }; + /* Function Prototypes */ f64 exponent_by_squaring(f64, s32); @@ -124,13 +362,13 @@ s32 get_string_width(char*); void set_text_color(s32); void func_800930E4(s32, s32, char*); void print_text0(s32, s32, char*, s32, f32, f32, s32); -void func_80093324(s32, s32, char*, s32, f32, f32); -void func_80093358(s32, s32, char*, s32, f32, f32); +void print_text_mode_1(s32, s32, char*, s32, f32, f32); +void print_text_mode_2(s32, s32, char*, s32, f32, f32); void print_text1(s32, s32, char*, s32, f32, f32, s32); -void func_800936B8(s32, s32, char*, s32, f32, f32); -void draw_text(s32, s32, char*, s32, f32, f32); -void func_80093720(s32, s32, char*, s32, f32, f32); -void func_80093754(s32, s32, char*, s32, f32, f32); +void print_text1_left(s32, s32, char*, s32, f32, f32); +void print_text1_center_mode_1(s32, s32, char*, s32, f32, f32); +void print_text1_right(s32, s32, char*, s32, f32, f32); +void print_text1_center_mode_2(s32, s32, char*, s32, f32, f32); void print_text2(s32, s32, char*, s32, f32, f32, s32); void func_800939C8(s32, s32, char*, s32, f32, f32); void text_draw(s32, s32, char*, s32, f32, f32); @@ -148,9 +386,9 @@ void func_80093F10(void); void func_800940EC(s32); void func_800942D0(void); void func_80094660(struct GfxPool*, s32); -void func_800947B4(struct GfxPool*, s32); +void render_checkered_flag(struct GfxPool*, s32); void func_80094A64(struct GfxPool*); -void func_80094C60(void); +void load_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); @@ -174,44 +412,44 @@ 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(MenuTexture*); 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 func_80099958(MkTexture*, s32, s32); +void load_menu_img_mio0_always(MenuTexture*); +void load_menu_img_comp_type(MenuTexture*, s32); +void func_80099958(MenuTexture*, s32, s32); void func_80099E54(void); -void func_80099E60(MkTexture*, s32, s32); +void func_80099E60(MenuTexture*, s32, s32); void func_80099EC4(void); void func_80099A70(void); -void func_80099A94(MkTexture*, s32); +void func_80099A94(MenuTexture*, s32); void func_80099AEC(void); -void func_8009A238(MkTexture*, s32); +void func_8009A238(MenuTexture*, 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*); void func_8009A6D4(void); void func_8009A76C(s32, s32, s32, s32); void func_8009A7EC(s32, s32, s32, s32, s32); -MkTexture* func_8009A878(struct_8018DEE0_entry*); -MkTexture* func_8009A944(struct_8018DEE0_entry*, s32); +MenuTexture* func_8009A878(struct_8018DEE0_entry*); +MenuTexture* func_8009A944(struct_8018DEE0_entry*, s32); void func_8009A9FC(s32, s32, u32, s32); void func_8009AB7C(s32); void func_8009AD78(s32, s32); -void 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*); +void func_8009B954(MenuTexture*); void func_8009B998(void); -Gfx* func_8009B9D0(Gfx*, MkTexture*); -Gfx* func_8009BA74(Gfx*, MkTexture*, s32, s32); -Gfx* func_8009BC9C(Gfx*, MkTexture*, s32, s32, s32, s32); -Gfx* print_letter(Gfx*, MkTexture*, f32, f32, s32, f32, f32); -Gfx* func_8009C204(Gfx*, MkTexture*, s32, s32, s32); +Gfx* func_8009B9D0(Gfx*, MenuTexture*); +Gfx* render_menu_textures(Gfx*, MenuTexture*, s32, s32); +Gfx* func_8009BC9C(Gfx*, MenuTexture*, s32, s32, s32, s32); +Gfx* print_letter(Gfx*, MenuTexture*, f32, f32, s32, f32, f32); +Gfx* func_8009C204(Gfx*, MenuTexture*, s32, s32, s32); Gfx* func_8009C434(Gfx*, struct_8018DEE0_entry*, s32, s32, s32); Gfx* func_8009C708(Gfx*, struct_8018DEE0_entry*, s32, s32, s32, s32); void func_8009C918(void); @@ -248,155 +486,155 @@ 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 func_8009F5E0(struct_8018D9E0_entry*); +void load_menu_item_ui(s32, s32, s32, s8); +void render_menus(MenuItem*); void func_800A08D8(u8, s32, s32); s32 func_800A095C(char*, s32, s32, s32); -void func_800A09E0(struct_8018D9E0_entry*); -void func_800A0AD0(struct_8018D9E0_entry*); -void func_800A0B80(struct_8018D9E0_entry*); +void func_800A09E0(MenuItem*); +void func_800A0AD0(MenuItem*); +void func_800A0B80(MenuItem*); void func_800A0DFC(void); -void func_800A0EB8(struct_8018D9E0_entry*, s32); -void func_800A0FA4(struct_8018D9E0_entry*, s32); -void func_800A10CC(struct_8018D9E0_entry*); -void func_800A11D0(struct_8018D9E0_entry*, s32, s32); -void func_800A12BC(struct_8018D9E0_entry*, MkTexture*); -void func_800A1350(struct_8018D9E0_entry*); -void func_800A143C(struct_8018D9E0_entry*, s32); -void func_800A1500(struct_8018D9E0_entry*); -void func_800A15EC(struct_8018D9E0_entry*); -void func_800A1780(struct_8018D9E0_entry*); -void func_800A1924(struct_8018D9E0_entry*); -void func_800A1A20(struct_8018D9E0_entry*); -void func_800A1BE0(struct_8018D9E0_entry*); -void func_800A1DE0(struct_8018D9E0_entry*); -void func_800A1F30(struct_8018D9E0_entry*); -void func_800A1FB0(struct_8018D9E0_entry*); -void func_800A2D1C(struct_8018D9E0_entry*); -void func_800A2EB8(struct_8018D9E0_entry*); +void func_800A0EB8(MenuItem*, s32); +void func_800A0FA4(MenuItem*, s32); +void func_800A10CC(MenuItem*); +void render_cursor_player(MenuItem*, s32, s32); +void func_800A12BC(MenuItem*, MenuTexture*); +void func_800A1350(MenuItem*); +void func_800A143C(MenuItem*, s32); +void func_800A1500(MenuItem*); +void func_800A15EC(MenuItem*); +void func_800A1780(MenuItem*); +void func_800A1924(MenuItem*); +void func_800A1A20(MenuItem*); +void menu_item_course_data_render(MenuItem*); +void func_800A1DE0(MenuItem*); +void func_800A1F30(MenuItem*); +void func_800A1FB0(MenuItem*); +void func_800A2D1C(MenuItem*); +void func_800A2EB8(MenuItem*); void func_800A32B4(s32, s32, s32, s32); -void func_800A34A8(struct_8018D9E0_entry*); +void func_800A34A8(MenuItem*); void func_800A3A10(s8*); -void func_800A3ADC(struct_8018D9E0_entry*, s32, s32, s32, s32, s8*); -void func_800A3C84(struct_8018D9E0_entry*); -void func_800A3E60(struct_8018D9E0_entry*); -void func_800A4550(s32, s32, s32); -void func_800A474C(s32, s32, s32); -void func_800A4A24(struct_8018D9E0_entry*); -void render_pause_menu(struct_8018D9E0_entry*); -void render_pause_menu_time_trials(struct_8018D9E0_entry*); -void render_pause_menu_versus(struct_8018D9E0_entry*); -void render_pause_grand_prix(struct_8018D9E0_entry*); -void render_pause_battle(struct_8018D9E0_entry*); +void func_800A3ADC(MenuItem*, s32, s32, s32, s32, s8*); +void menu_item_end_time_trial_render(MenuItem*); +void func_800A3E60(MenuItem*); +void render_lap_time(s32, s32, s32); +void render_player_time(s32, s32, s32); +void func_800A4A24(MenuItem*); +void render_pause_menu(MenuItem*); +void render_pause_menu_time_trials(MenuItem*); +void render_pause_menu_versus(MenuItem*); +void render_pause_grand_prix(MenuItem*); +void render_pause_battle(MenuItem*); void func_800A54EC(void); -void func_800A5738(struct_8018D9E0_entry*); -void func_800A6034(struct_8018D9E0_entry*); -void func_800A6154(struct_8018D9E0_entry*); -void func_800A638C(struct_8018D9E0_entry*); -void func_800A66A8(struct_8018D9E0_entry*, Unk_D_800E70A0*); -void func_800A69C8(struct_8018D9E0_entry*); -void func_800A6BEC(struct_8018D9E0_entry*); -void func_800A6CC0(struct_8018D9E0_entry*); +void func_800A5738(MenuItem*); +void func_800A6034(MenuItem*); +void func_800A6154(MenuItem*); +void func_800A638C(MenuItem*); +void func_800A66A8(MenuItem*, Unk_D_800E70A0*); +void func_800A69C8(MenuItem*); +void func_800A6BEC(MenuItem*); +void func_800A6CC0(MenuItem*); void func_800A6D94(s32, s32, u8*); void func_800A6E94(s32, s32, u8*); -void func_800A70E8(struct_8018D9E0_entry*); -void func_800A7258(struct_8018D9E0_entry*); -void func_800A72FC(struct_8018D9E0_entry*); -void func_800A7448(struct_8018D9E0_entry*); -void func_800A75A0(struct_8018D9E0_entry*); -void func_800A761C(struct_8018D9E0_entry*); -void func_800A7790(struct_8018D9E0_entry*); +void func_800A70E8(MenuItem*); +void func_800A7258(MenuItem*); +void func_800A72FC(MenuItem*); +void func_800A7448(MenuItem*); +void func_800A75A0(MenuItem*); +void func_800A761C(MenuItem*); +void menu_item_credit_render(MenuItem*); void convert_number_to_ascii(s32, char*); void write_dashes(char*); void get_time_record_minutes(s32, char*); void get_time_record_seconds(s32, char*); void get_time_record_centiseconds(s32, char*); void func_800A79F4(s32, char*); -void func_800A7A4C(s32); -void func_800A8230(void); -void func_800A8250(void); -void func_800A8270(s32, struct_8018D9E0_entry*); -void func_800A8564(struct_8018D9E0_entry*); -void func_800A86E8(struct_8018D9E0_entry*); -void func_800A874C(struct_8018D9E0_entry*); -void func_800A890C(s32, struct_8018D9E0_entry*); -void func_800A8A98(struct_8018D9E0_entry*); -void func_800A8CA4(struct_8018D9E0_entry*); -void func_800A8E14(struct_8018D9E0_entry*); -void func_800A8EC0(struct_8018D9E0_entry*); -void func_800A8F48(struct_8018D9E0_entry*); -void func_800A90D4(s32, struct_8018D9E0_entry*); -void func_800A91D8(struct_8018D9E0_entry*, s32, s32); -void func_800A9208(struct_8018D9E0_entry*, s32); -void func_800A9278(struct_8018D9E0_entry*, s32); -void func_800A92E8(struct_8018D9E0_entry*, s32); -void func_800A939C(struct_8018D9E0_entry*, s32); -void func_800A940C(struct_8018D9E0_entry*, s32); -void func_800A94C8(struct_8018D9E0_entry*, s32, s32); -void func_800A954C(struct_8018D9E0_entry*); -void func_800A9710(struct_8018D9E0_entry*); -void func_800A97BC(struct_8018D9E0_entry*); -void func_800A9A98(struct_8018D9E0_entry*); -void func_800A9B9C(struct_8018D9E0_entry*); -void func_800A9C40(struct_8018D9E0_entry*); -void func_800A9D5C(struct_8018D9E0_entry*); -void func_800A9E58(struct_8018D9E0_entry*); -void func_800AA280(struct_8018D9E0_entry*); -void func_800AA2EC(struct_8018D9E0_entry*); -void func_800AA5C8(struct_8018D9E0_entry*, s8); -void func_800AA69C(struct_8018D9E0_entry*); -void func_800AAA9C(struct_8018D9E0_entry*); -void func_800AAB90(struct_8018D9E0_entry*); -void func_800AAC18(struct_8018D9E0_entry*); -void func_800AADD4(struct_8018D9E0_entry*); -void func_800AAE18(struct_8018D9E0_entry*); -struct_8018D9E0_entry* func_800AAE68(void); -struct_8018D9E0_entry* func_800AAEB4(s32); -struct_8018D9E0_entry* find_8018D9E0_entry_dupe(s32); -struct_8018D9E0_entry* find_8018D9E0_entry(s32); -s32 func_800AAF70(s32); -void func_800AAF94(struct_8018D9E0_entry*, s32); +void handle_menus_with_pri_arg(s32); +void handle_menus_default(void); +void handle_menus_special(void); +void func_800A8270(s32, MenuItem*); +void func_800A8564(MenuItem*); +void func_800A86E8(MenuItem*); +void func_800A874C(MenuItem*); +void func_800A890C(s32, MenuItem*); +void func_800A8A98(MenuItem*); +void func_800A8CA4(MenuItem*); +void render_battle_introduction(MenuItem*); +void func_800A8EC0(MenuItem*); +void func_800A8F48(MenuItem*); +void func_800A90D4(s32, MenuItem*); +void func_800A91D8(MenuItem*, s32, s32); +void func_800A9208(MenuItem*, s32); +void func_800A9278(MenuItem*, s32); +void func_800A92E8(MenuItem*, s32); +void func_800A939C(MenuItem*, s32); +void func_800A940C(MenuItem*, s32); +void func_800A94C8(MenuItem*, s32, s32); +void func_800A954C(MenuItem*); +void func_800A9710(MenuItem*); +void func_800A97BC(MenuItem*); +void update_ok_menu_item(MenuItem*); +void func_800A9B9C(MenuItem*); +void func_800A9C40(MenuItem*); +void func_800A9D5C(MenuItem*); +void func_800A9E58(MenuItem*); +void func_800AA280(MenuItem*); +void func_800AA2EC(MenuItem*); +void func_800AA5C8(MenuItem*, s8); +void func_800AA69C(MenuItem*); +void func_800AAA9C(MenuItem*); +void func_800AAB90(MenuItem*); +void func_800AAC18(MenuItem*); +void update_cursor(MenuItem*); +void func_800AAE18(MenuItem*); +MenuItem* get_menu_item_player_count(void); +MenuItem* get_menu_item_character(s32); +MenuItem* find_menu_items_type_dupe(s32); +MenuItem* find_menu_items_type(s32); +s32 get_state_menu_item_character(s32); +void move_menu_item_at_character_portrait(MenuItem*, s32); s32 func_800AAFCC(s32); -void func_800AB020(struct_8018D9E0_entry*); -void func_800AB098(struct_8018D9E0_entry*); -void func_800AB164(struct_8018D9E0_entry*); -void func_800AB260(struct_8018D9E0_entry*); -void func_800AB290(struct_8018D9E0_entry*); -void func_800AB314(struct_8018D9E0_entry*); -void func_800AB904(struct_8018D9E0_entry*); -void func_800AB9B0(struct_8018D9E0_entry*); -void func_800ABAE8(struct_8018D9E0_entry*); -void func_800ABB24(struct_8018D9E0_entry*); -void func_800ABBCC(struct_8018D9E0_entry*); -void func_800ABC38(struct_8018D9E0_entry*); -void func_800ABCF4(struct_8018D9E0_entry*); -void func_800ABEAC(struct_8018D9E0_entry*); -void func_800ABF68(struct_8018D9E0_entry*); -void func_800AC128(struct_8018D9E0_entry*); -void func_800AC300(struct_8018D9E0_entry*); -void func_800AC324(struct_8018D9E0_entry*); -void func_800AC458(struct_8018D9E0_entry*); -void func_800AC978(struct_8018D9E0_entry*); -void func_800ACA14(struct_8018D9E0_entry*); -void func_800ACC50(struct_8018D9E0_entry*); -void func_800ACF40(struct_8018D9E0_entry*); -void func_800AD1A4(struct_8018D9E0_entry*); -void func_800AD2E8(struct_8018D9E0_entry*); -void func_800ADF48(struct_8018D9E0_entry*); -void func_800AE218(struct_8018D9E0_entry*); -void func_800AEC54(struct_8018D9E0_entry*); -void func_800AEDBC(struct_8018D9E0_entry*); -void func_800AEE90(struct_8018D9E0_entry*); -void func_800AEEBC(struct_8018D9E0_entry*); -void func_800AEEE8(struct_8018D9E0_entry*); -void func_800AEF14(struct_8018D9E0_entry*); -void func_800AEF74(struct_8018D9E0_entry*); -void func_800AF004(struct_8018D9E0_entry*); -void func_800AF1AC(struct_8018D9E0_entry*); -void func_800AF270(struct_8018D9E0_entry*); -void func_800AF480(struct_8018D9E0_entry*); -void func_800AF4DC(struct_8018D9E0_entry*); -void func_800AF740(struct_8018D9E0_entry*); +void func_800AB020(MenuItem*); +void func_800AB098(MenuItem*); +void func_800AB164(MenuItem*); +void func_800AB260(MenuItem*); +void func_800AB290(MenuItem*); +void func_800AB314(MenuItem*); +void func_800AB904(MenuItem*); +void func_800AB9B0(MenuItem*); +void func_800ABAE8(MenuItem*); +void func_800ABB24(MenuItem*); +void func_800ABBCC(MenuItem*); +void func_800ABC38(MenuItem*); +void func_800ABCF4(MenuItem*); +void func_800ABEAC(MenuItem*); +void func_800ABF68(MenuItem*); +void func_800AC128(MenuItem*); +void func_800AC300(MenuItem*); +void func_800AC324(MenuItem*); +void func_800AC458(MenuItem*); +void func_800AC978(MenuItem*); +void func_800ACA14(MenuItem*); +void func_800ACC50(MenuItem*); +void func_800ACF40(MenuItem*); +void func_800AD1A4(MenuItem*); +void func_800AD2E8(MenuItem*); +void func_800ADF48(MenuItem*); +void func_800AE218(MenuItem*); +void func_800AEC54(MenuItem*); +void func_800AEDBC(MenuItem*); +void func_800AEE90(MenuItem*); +void func_800AEEBC(MenuItem*); +void func_800AEEE8(MenuItem*); +void func_800AEF14(MenuItem*); +void func_800AEF74(MenuItem*); +void func_800AF004(MenuItem*); +void func_800AF1AC(MenuItem*); +void func_800AF270(MenuItem*); +void func_800AF480(MenuItem*); +void func_800AF4DC(MenuItem*); +void func_800AF740(MenuItem*); // This really, really shouldn't be in this header file, but I don't know where else to put it void rmonPrintf(const char*, ...); @@ -404,11 +642,11 @@ void tkmk00decode(u8*, u8*, u8*, s32); /* File specific defines */ -#define D_8018D9E0_SIZE 0x20 +#define MENU_ITEMS_MAX 0x20 #define D_8018DEE0_SIZE 0x10 #define D_8018E060_SIZE 0x10 #define D_8018E0E8_SIZE 0x05 -#define D_8018E118_SIZE 0xC8 +#define TEXTURE_MAP_MAX 0xC8 #define D_8018E768_SIZE 0x08 #define D_8018E7E8_SIZE 0x05 #define D_8018E810_SIZE 0x05 @@ -418,23 +656,23 @@ void tkmk00decode(u8*, u8*, u8*, s32); extern s32 D_800DDB24; extern s16 D_80164478[]; -extern u16* D_8018D9B0; -extern u8* D_8018D9B4; -extern u8* D_8018D9B8; -extern u8* D_8018D9BC; -extern void* D_8018D9C0; +extern u16* gMenuTextureBuffer; +extern u8* gMenuCompressedBuffer; +extern u8* sTKMK00_LowResBuffer; +extern u8* sGPPointsCopy; +extern void* gSomeDLBuffer; extern s8 gGPPointsByCharacterId[8]; extern s8 gCharacterIdByGPOverallRank[]; extern s8 D_8018D9D8; extern s8 D_8018D9D9; -extern struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE]; +extern MenuItem gMenuItems[MENU_ITEMS_MAX]; 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 struct_8018E118_entry D_8018E118[D_8018E118_SIZE]; -extern s32 gNumD_8018E118Entries; -extern Gfx* D_8018E75C; +extern s32 sMenuTextureBufferIndex; +extern TextureMap sMenuTextureMap[TEXTURE_MAP_MAX]; +extern s32 sMenuTextureEntries; +extern Gfx* sGfxPtr; extern s32 gNumD_8018E768Entries; extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE]; extern s32 gCycleFlashMenu; @@ -494,7 +732,7 @@ extern char* gDebugCourseNames[]; extern const s8 gPerCupIndexByCourseId[]; // D_800EFD50 extern const s8 D_800EFD64[]; extern s8 gCupSelectionByCourseId[]; -extern char* D_800E7678[]; +extern char* gCupText[]; extern char* gDebugCharacterNames[]; extern char* D_800E76A8[]; extern char* D_800E76CC[]; @@ -502,24 +740,24 @@ extern char* D_800E76DC[]; extern char* gDebugScreenModeNames[]; extern char* gDebugSoundModeNames[]; extern char* gSoundModeNames[]; // D_800E7710 -extern char* D_800E7720[]; -extern char* D_800E7728[]; -extern char* D_800E7730; -extern char* D_800E7734[]; +extern char* gWinLoseText[]; +extern char* gBestTimeText[]; +extern char* gLapTimeText; +extern char* gPrefixTimeText[]; extern char* D_800E7744[]; -extern char* gTextPauseButton[]; +extern char* gMenuText[]; extern char* D_800E7778[]; -extern char D_800E7780[]; +extern char gTextMenuAnnounceGhost[]; extern char* D_800E77A0[]; -extern char* D_800E77A8[]; -extern char D_800E77B4[]; +extern char* gTextBattleIntroduction[]; +extern char gTextMenuData[]; extern char D_800E77D8[]; extern char* sCourseLengths[]; -extern char* D_800E7834[]; +extern char* gTextMenuOption[]; extern char* D_800E7840[]; -extern char* D_800E7848[]; +extern char* gEraseBestGhostText[]; extern char* D_800E7860[]; -extern char* D_800E7868[]; +extern char* gTextOptionMenu[]; extern char* D_800E7878[]; extern char* D_800E7884[]; extern char* D_800E7890[]; @@ -545,7 +783,7 @@ extern char* D_800E7A80[]; extern char* D_800E7A88[]; extern char* D_800E7A98; extern char* D_800E7A9C[]; -extern char* D_800E7AA4[]; +extern char* gPlaceText[]; extern const s8 gGPPointRewards[]; extern const s8 D_800F0B1C[]; extern const s8 D_800F0B28[]; @@ -553,32 +791,31 @@ extern const s8 D_800F0B50[]; extern const s8 D_800F0B54[]; extern RGBA16 D_800E7AC8[]; extern RGBA16 D_800E7AE8[]; -extern MkTexture* D_800E7AF8[]; -extern MkTexture* D_800E7D0C[]; +extern MenuTexture* D_800E7AF8[]; +extern MenuTexture* D_800E7D0C[]; extern MkAnimation* D_800E7D34[]; -extern MkTexture* D_800E7D4C[]; -extern MkTexture* D_800E7D54[]; -extern MkTexture* D_800E7D74[]; -extern MkTexture* D_800E7DC4[]; +extern MenuTexture* gMenuTexturesBackground[]; +extern MenuTexture* D_800E7D54[]; +extern MenuTexture* D_800E7D74[]; +extern MenuTexture* D_800E7DC4[]; extern MkAnimation* D_800E7E14[]; extern MkAnimation* D_800E7E20[]; extern MkAnimation* D_800E7E34[]; -extern MkTexture* gGlyphTextureLUT[]; -extern MkTexture* D_800E7FF0[]; -extern MkTexture* D_800E80A0[]; -extern MkTexture* D_800E8114[]; -extern MkTexture* D_800E8174[]; -extern MkTexture* D_800E817C[]; -extern MkTexture* D_800E81E4[]; -extern MkTexture* D_800E822C[]; -extern MkTexture* D_800E8234[]; -extern MkTexture* D_800E824C[]; -extern MkTexture* D_800E8254[]; -extern MkTexture* D_800E8274[]; -extern MkTexture* D_800E8294[]; -extern MkTexture* D_800E82B4[]; -extern MkTexture* D_800E82C4[]; -extern MkTexture* D_800E82F4[]; +extern MenuTexture* gGlyphTextureLUT[]; +extern MenuTexture* D_800E7FF0[]; +extern MenuTexture* D_800E80A0[]; +extern MenuTexture* D_800E8114[]; +extern MenuTexture* D_800E8174[]; +extern MenuTexture* D_800E817C[]; +extern MenuTexture* D_800E81E4[]; +extern MenuTexture* D_800E822C[]; +extern MenuTexture* D_800E8234[]; +extern MenuTexture* D_800E8254[]; +extern MenuTexture* D_800E8274[]; +extern MenuTexture* D_800E8294[]; +extern MenuTexture* gMenuTexturesBorderPlayer[]; +extern MenuTexture* gMenuTexturesTrackSelection[]; +extern MenuTexture* D_800E82F4[]; extern MkAnimation* D_800E8320[]; extern MkAnimation* D_800E8340[]; extern MkAnimation* D_800E8360[]; @@ -597,8 +834,8 @@ extern Gfx* D_800E84CC[]; extern Gfx* D_800E84EC[]; extern Gfx* D_800E850C[]; extern s8 D_800E852C; -extern f32 D_800E8530; -extern f32 D_800E8534; +extern f32 sIntroModelMotionSpeed; +extern f32 sIntroModelSpeed; extern Unk_D_800E70A0 D_800E8538[]; extern Unk_D_800E70A0 D_800E8540[]; extern Unk_D_800E70A0 D_800E85C0[]; diff --git a/src/data/textures.c b/src/data/textures.c index bf39798ddd..b87b182fe5 100644 --- a/src/data/textures.c +++ b/src/data/textures.c @@ -7,1241 +7,1241 @@ #include "textures.h" /** - * @brief MkTexture of a tiny font texture of number 0 + * @brief MenuTexture of a tiny font texture of number 0 * */ -MkTexture D_02000000[2] = { +MenuTexture D_02000000[2] = { { 3, 0, gTextureTinyFont0, 8, 8, 0, 0, 0x75, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 1 + * @brief MenuTexture of a tiny font texture of number 1 * */ -MkTexture D_02000028[2] = { +MenuTexture D_02000028[2] = { { 3, 0, gTextureTinyFont1, 8, 8, 0, 0, 0x49, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 2 + * @brief MenuTexture of a tiny font texture of number 2 * */ -MkTexture D_02000050[2] = { +MenuTexture D_02000050[2] = { { 3, 0, gTextureTinyFont2, 8, 8, 0, 0, 0x73, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 3 + * @brief MenuTexture of a tiny font texture of number 3 * */ -MkTexture D_02000078[2] = { +MenuTexture D_02000078[2] = { { 3, 0, gTextureTinyFont3, 8, 8, 0, 0, 0x70, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 4 + * @brief MenuTexture of a tiny font texture of number 4 * */ -MkTexture D_020000A0[2] = { +MenuTexture D_020000A0[2] = { { 3, 0, gTextureTinyFont4, 8, 8, 0, 0, 0x5a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 5 + * @brief MenuTexture of a tiny font texture of number 5 * */ -MkTexture D_020000C8[2] = { +MenuTexture D_020000C8[2] = { { 3, 0, gTextureTinyFont5, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 6 + * @brief MenuTexture of a tiny font texture of number 6 * */ -MkTexture D_020000F0[2] = { +MenuTexture D_020000F0[2] = { { 3, 0, gTextureTinyFont6, 8, 8, 0, 0, 0x74, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 7 + * @brief MenuTexture of a tiny font texture of number 7 * */ -MkTexture D_02000118[2] = { +MenuTexture D_02000118[2] = { { 3, 0, gTextureTinyFont7, 8, 8, 0, 0, 0x5e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 8 + * @brief MenuTexture of a tiny font texture of number 8 * */ -MkTexture D_02000140[2] = { +MenuTexture D_02000140[2] = { { 3, 0, gTextureTinyFont8, 8, 8, 0, 0, 0x77, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of number 9 + * @brief MenuTexture of a tiny font texture of number 9 * */ -MkTexture D_02000168[2] = { +MenuTexture D_02000168[2] = { { 3, 0, gTextureTinyFont9, 8, 8, 0, 0, 0x74, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter A + * @brief MenuTexture of a tiny font texture of letter A * */ -MkTexture D_02000190[2] = { +MenuTexture D_02000190[2] = { { 3, 0, gTextureTinyFontA, 8, 8, 0, 0, 0x6b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter B + * @brief MenuTexture of a tiny font texture of letter B * */ -MkTexture D_020001B8[2] = { +MenuTexture D_020001B8[2] = { { 3, 0, gTextureTinyFontB, 8, 8, 0, 0, 0x7d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter C + * @brief MenuTexture of a tiny font texture of letter C * */ -MkTexture D_020001E0[2] = { +MenuTexture D_020001E0[2] = { { 3, 0, gTextureTinyFontC, 8, 8, 0, 0, 0x75, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter D + * @brief MenuTexture of a tiny font texture of letter D * */ -MkTexture D_02000208[2] = { +MenuTexture D_02000208[2] = { { 3, 0, gTextureTinyFontD, 8, 8, 0, 0, 0x71, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter E + * @brief MenuTexture of a tiny font texture of letter E * */ -MkTexture D_02000230[2] = { +MenuTexture D_02000230[2] = { { 3, 0, gTextureTinyFontE, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter F + * @brief MenuTexture of a tiny font texture of letter F * */ -MkTexture D_02000258[2] = { +MenuTexture D_02000258[2] = { { 3, 0, gTextureTinyFontF, 8, 8, 0, 0, 0x63, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter G + * @brief MenuTexture of a tiny font texture of letter G * */ -MkTexture D_02000280[2] = { +MenuTexture D_02000280[2] = { { 3, 0, gTextureTinyFontG, 8, 8, 0, 0, 0x73, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter H + * @brief MenuTexture of a tiny font texture of letter H * */ -MkTexture D_020002A8[2] = { +MenuTexture D_020002A8[2] = { { 3, 0, gTextureTinyFontH, 8, 8, 0, 0, 0x78, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter I + * @brief MenuTexture of a tiny font texture of letter I * */ -MkTexture D_020002D0[2] = { +MenuTexture D_020002D0[2] = { { 3, 0, gTextureTinyFontI, 8, 8, 0, 0, 0x48, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter J + * @brief MenuTexture of a tiny font texture of letter J * */ -MkTexture D_020002F8[2] = { +MenuTexture D_020002F8[2] = { { 3, 0, gTextureTinyFontJ, 8, 8, 0, 0, 0x52, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter K + * @brief MenuTexture of a tiny font texture of letter K * */ -MkTexture D_02000320[2] = { +MenuTexture D_02000320[2] = { { 3, 0, gTextureTinyFontK, 8, 8, 0, 0, 0x6f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter L + * @brief MenuTexture of a tiny font texture of letter L * */ -MkTexture D_02000348[2] = { +MenuTexture D_02000348[2] = { { 3, 0, gTextureTinyFontL, 8, 8, 0, 0, 0x4b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter M + * @brief MenuTexture of a tiny font texture of letter M * */ -MkTexture D_02000370[2] = { +MenuTexture D_02000370[2] = { { 3, 0, gTextureTinyFontM, 8, 8, 0, 0, 0x7c, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter N + * @brief MenuTexture of a tiny font texture of letter N * */ -MkTexture D_02000398[2] = { +MenuTexture D_02000398[2] = { { 3, 0, gTextureTinyFontN, 8, 8, 0, 0, 0x7b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter O + * @brief MenuTexture of a tiny font texture of letter O * */ -MkTexture D_020003C0[2] = { +MenuTexture D_020003C0[2] = { { 3, 0, gTextureTinyFontO, 8, 8, 0, 0, 0x76, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter P + * @brief MenuTexture of a tiny font texture of letter P * */ -MkTexture D_020003E8[2] = { +MenuTexture D_020003E8[2] = { { 3, 0, gTextureTinyFontP, 8, 8, 0, 0, 0x6a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter Q + * @brief MenuTexture of a tiny font texture of letter Q * */ -MkTexture D_02000410[2] = { +MenuTexture D_02000410[2] = { { 3, 0, gTextureTinyFontQ, 8, 8, 0, 0, 0x77, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter R + * @brief MenuTexture of a tiny font texture of letter R * */ -MkTexture D_02000438[2] = { +MenuTexture D_02000438[2] = { { 3, 0, gTextureTinyFontR, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter S + * @brief MenuTexture of a tiny font texture of letter S * */ -MkTexture D_02000460[2] = { +MenuTexture D_02000460[2] = { { 3, 0, gTextureTinyFontS, 8, 8, 0, 0, 0x70, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter T + * @brief MenuTexture of a tiny font texture of letter T * */ -MkTexture D_02000488[2] = { +MenuTexture D_02000488[2] = { { 3, 0, gTextureTinyFontT, 8, 8, 0, 0, 0x54, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter U + * @brief MenuTexture of a tiny font texture of letter U * */ -MkTexture D_020004B0[2] = { +MenuTexture D_020004B0[2] = { { 3, 0, gTextureTinyFontU, 8, 8, 0, 0, 0x62, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter V + * @brief MenuTexture of a tiny font texture of letter V * */ -MkTexture D_020004D8[2] = { +MenuTexture D_020004D8[2] = { { 3, 0, gTextureTinyFontV, 8, 8, 0, 0, 0x5e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter W + * @brief MenuTexture of a tiny font texture of letter W * */ -MkTexture D_02000500[2] = { +MenuTexture D_02000500[2] = { { 3, 0, gTextureTinyFontW, 8, 8, 0, 0, 0x7c, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter X + * @brief MenuTexture of a tiny font texture of letter X * */ -MkTexture D_02000528[2] = { +MenuTexture D_02000528[2] = { { 3, 0, gTextureTinyFontX, 8, 8, 0, 0, 0x6b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter Y + * @brief MenuTexture of a tiny font texture of letter Y * */ -MkTexture D_02000550[2] = { +MenuTexture D_02000550[2] = { { 3, 0, gTextureTinyFontY, 8, 8, 0, 0, 0x51, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of letter Z + * @brief MenuTexture of a tiny font texture of letter Z * */ -MkTexture D_02000578[2] = { +MenuTexture D_02000578[2] = { { 3, 0, gTextureTinyFontZ, 8, 8, 0, 0, 0x68, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '!' + * @brief MenuTexture of a tiny font texture of '!' * */ -MkTexture D_020005A0[2] = { +MenuTexture D_020005A0[2] = { { 3, 0, gTextureTinyFontExclamationMark, 8, 8, 0, 0, 0x46, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '"' + * @brief MenuTexture of a tiny font texture of '"' * */ -MkTexture D_020005C8[2] = { +MenuTexture D_020005C8[2] = { { 3, 0, gTextureTinyFontDoubleQuote, 8, 8, 0, 0, 0x37, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '#' + * @brief MenuTexture of a tiny font texture of '#' * */ -MkTexture D_020005F0[2] = { +MenuTexture D_020005F0[2] = { { 3, 0, gTextureTinyFontHash, 8, 8, 0, 0, 0x70, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of "'" + * @brief MenuTexture of a tiny font texture of "'" * */ -MkTexture D_02000618[2] = { +MenuTexture D_02000618[2] = { { 3, 0, gTextureTinyFontSingleQuote, 8, 8, 0, 0, 0x2f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '*' + * @brief MenuTexture of a tiny font texture of '*' * */ -MkTexture D_02000640[2] = { +MenuTexture D_02000640[2] = { { 3, 0, gTextureTinyFontAsterisk, 8, 8, 0, 0, 0x6a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '+' + * @brief MenuTexture of a tiny font texture of '+' * */ -MkTexture D_02000668[2] = { +MenuTexture D_02000668[2] = { { 3, 0, gTextureTinyFontPlus, 8, 8, 0, 0, 0x51, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000690[2] = { +MenuTexture D_02000690[2] = { { 3, 0, gTexture7EEB18, 8, 8, 0, 0, 0x30, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '-' + * @brief MenuTexture of a tiny font texture of '-' * */ -MkTexture D_020006B8[2] = { +MenuTexture D_020006B8[2] = { { 3, 0, gTextureTinyFontMinus, 8, 8, 0, 0, 0x35, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of ',' + * @brief MenuTexture of a tiny font texture of ',' * */ -MkTexture D_020006E0[2] = { +MenuTexture D_020006E0[2] = { { 3, 0, gTextureTinyFontComma, 8, 8, 0, 0, 0x31, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '/' + * @brief MenuTexture of a tiny font texture of '/' * */ -MkTexture D_02000708[2] = { +MenuTexture D_02000708[2] = { { 3, 0, gTextureTinyFontForwardSlash, 8, 8, 0, 0, 0x4f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of ';' + * @brief MenuTexture of a tiny font texture of ';' * */ -MkTexture D_02000730[2] = { +MenuTexture D_02000730[2] = { { 3, 0, gTextureTinyFontColon, 8, 8, 0, 0, 0x38, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000758[2] = { +MenuTexture D_02000758[2] = { { 3, 0, gTexture7EEC34, 8, 8, 0, 0, 0x51, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a tiny font texture of '?' + * @brief MenuTexture of a tiny font texture of '?' * */ -MkTexture D_02000780[2] = { +MenuTexture D_02000780[2] = { { 3, 0, gTextureTinyFontQuestion, 8, 8, 0, 0, 0x60, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020007A8[2] = { +MenuTexture D_020007A8[2] = { { 3, 0, gTexture7EECE4, 8, 8, 0, 0, 0x8f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020007D0[2] = { +MenuTexture D_020007D0[2] = { { 3, 0, gTexture7EED74, 8, 8, 0, 0, 0x3d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020007F8[2] = { +MenuTexture D_020007F8[2] = { { 3, 0, gTexture7EEDB0, 8, 8, 0, 0, 0x37, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000820[2] = { +MenuTexture D_02000820[2] = { { 3, 0, gTexture7EEDE8, 8, 8, 0, 0, 0x39, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000848[2] = { +MenuTexture D_02000848[2] = { { 3, 0, gTexture7EEE20, 8, 8, 0, 0, 0x5b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000870[2] = { +MenuTexture D_02000870[2] = { { 3, 0, gTexture7EEE7C, 8, 8, 0, 0, 0x55, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000898[2] = { +MenuTexture D_02000898[2] = { { 3, 0, gTexture7EEED0, 8, 8, 0, 0, 0x6a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020008C0[2] = { +MenuTexture D_020008C0[2] = { { 3, 0, gTexture7EEF3C, 8, 8, 0, 0, 0x55, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020008E8[2] = { +MenuTexture D_020008E8[2] = { { 3, 0, gTexture7EEF90, 8, 8, 0, 0, 0x62, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000910[2] = { +MenuTexture D_02000910[2] = { { 3, 0, gTexture7EEFF4, 8, 8, 0, 0, 0x64, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000938[2] = { +MenuTexture D_02000938[2] = { { 3, 0, gTexture7EF058, 8, 8, 0, 0, 0x5b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000960[2] = { +MenuTexture D_02000960[2] = { { 3, 0, gTexture7EF0B4, 8, 8, 0, 0, 0x5d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000988[2] = { +MenuTexture D_02000988[2] = { { 3, 0, gTexture7EF110, 8, 8, 0, 0, 0x6d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020009B0[2] = { +MenuTexture D_020009B0[2] = { { 3, 0, gTexture7EF17C, 8, 8, 0, 0, 0x73, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020009D8[2] = { +MenuTexture D_020009D8[2] = { { 3, 0, gTexture7EF1F0, 8, 8, 0, 0, 0x5e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000A00[2] = { +MenuTexture D_02000A00[2] = { { 3, 0, gTexture7EF250, 8, 8, 0, 0, 0x69, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000A28[2] = { +MenuTexture D_02000A28[2] = { { 3, 0, gTexture7EF2B8, 8, 8, 0, 0, 0x5b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000A50[2] = { +MenuTexture D_02000A50[2] = { { 3, 0, gTexture7EF314, 8, 8, 0, 0, 0x73, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000A78[2] = { +MenuTexture D_02000A78[2] = { { 3, 0, gTexture7EF388, 8, 8, 0, 0, 0x6f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000AA0[2] = { +MenuTexture D_02000AA0[2] = { { 3, 0, gTexture7EF3F8, 8, 8, 0, 0, 0x79, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000AC8[2] = { +MenuTexture D_02000AC8[2] = { { 3, 0, gTexture7EF470, 8, 8, 0, 0, 0x74, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000AF0[2] = { +MenuTexture D_02000AF0[2] = { { 3, 0, gTexture7EF4E4, 8, 8, 0, 0, 0x70, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000B18[2] = { +MenuTexture D_02000B18[2] = { { 3, 0, gTexture7EF554, 8, 8, 0, 0, 0x6c, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000B40[2] = { +MenuTexture D_02000B40[2] = { { 3, 0, gTexture7EF5C0, 8, 8, 0, 0, 0x61, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000B68[2] = { +MenuTexture D_02000B68[2] = { { 3, 0, gTexture7EF620, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000B90[2] = { +MenuTexture D_02000B90[2] = { { 3, 0, gTexture7EF694, 8, 8, 0, 0, 0x74, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000BB8[2] = { +MenuTexture D_02000BB8[2] = { { 3, 0, gTexture7EF708, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000BE0[2] = { +MenuTexture D_02000BE0[2] = { { 3, 0, gTexture7EF77C, 8, 8, 0, 0, 0x6b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000C08[2] = { +MenuTexture D_02000C08[2] = { { 3, 0, gTexture7EF7E8, 8, 8, 0, 0, 0x75, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000C30[2] = { +MenuTexture D_02000C30[2] = { { 3, 0, gTexture7EF85C, 8, 8, 0, 0, 0x6b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000C58[2] = { +MenuTexture D_02000C58[2] = { { 3, 0, gTexture7EF8C8, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000C80[2] = { +MenuTexture D_02000C80[2] = { { 3, 0, gTexture7EF93C, 8, 8, 0, 0, 0x76, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000CA8[2] = { +MenuTexture D_02000CA8[2] = { { 3, 0, gTexture7EF9B4, 8, 8, 0, 0, 0x78, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000CD0[2] = { +MenuTexture D_02000CD0[2] = { { 3, 0, gTexture7EFA2C, 8, 8, 0, 0, 0x7b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000CF8[2] = { +MenuTexture D_02000CF8[2] = { { 3, 0, gTexture7EFAA8, 8, 8, 0, 0, 0x57, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000D20[2] = { +MenuTexture D_02000D20[2] = { { 3, 0, gTexture7EFB00, 8, 8, 0, 0, 0x63, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000D48[2] = { +MenuTexture D_02000D48[2] = { { 3, 0, gTexture7EFB64, 8, 8, 0, 0, 0x57, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000D70[2] = { +MenuTexture D_02000D70[2] = { { 3, 0, gTexture7EFBBC, 8, 8, 0, 0, 0x75, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000D98[2] = { +MenuTexture D_02000D98[2] = { { 3, 0, gTexture7EFC30, 8, 8, 0, 0, 0x7b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000DC0[2] = { +MenuTexture D_02000DC0[2] = { { 3, 0, gTexture7EFCAC, 8, 8, 0, 0, 0x53, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000DE8[2] = { +MenuTexture D_02000DE8[2] = { { 3, 0, gTexture7EFD00, 8, 8, 0, 0, 0x60, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000E10[2] = { +MenuTexture D_02000E10[2] = { { 3, 0, gTexture7EFD60, 8, 8, 0, 0, 0x75, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000E38[2] = { +MenuTexture D_02000E38[2] = { { 3, 0, gTexture7EFDD4, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000E60[2] = { +MenuTexture D_02000E60[2] = { { 3, 0, gTexture7EFE48, 8, 8, 0, 0, 0x57, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000E88[2] = { +MenuTexture D_02000E88[2] = { { 3, 0, gTexture7EFEA0, 8, 8, 0, 0, 0x8d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000EB0[2] = { +MenuTexture D_02000EB0[2] = { { 3, 0, gTexture7EFF2C, 8, 8, 0, 0, 0x63, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000ED8[2] = { +MenuTexture D_02000ED8[2] = { { 3, 0, gTexture7EFF90, 8, 8, 0, 0, 0x70, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000F00[2] = { +MenuTexture D_02000F00[2] = { { 3, 0, gTexture7F0000, 8, 8, 0, 0, 0x6d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000F28[2] = { +MenuTexture D_02000F28[2] = { { 3, 0, gTexture7F006C, 8, 8, 0, 0, 0x6a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000F50[2] = { +MenuTexture D_02000F50[2] = { { 3, 0, gTexture7F00D8, 8, 8, 0, 0, 0x80, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000F78[2] = { +MenuTexture D_02000F78[2] = { { 3, 0, gTexture7F0158, 8, 8, 0, 0, 0x78, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000FA0[2] = { +MenuTexture D_02000FA0[2] = { { 3, 0, gTexture7F01D0, 8, 8, 0, 0, 0x6a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000FC8[2] = { +MenuTexture D_02000FC8[2] = { { 3, 0, gTexture7F023C, 8, 8, 0, 0, 0x78, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02000FF0[2] = { +MenuTexture D_02000FF0[2] = { { 3, 0, gTexture7F02B4, 8, 8, 0, 0, 0x79, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001018[2] = { +MenuTexture D_02001018[2] = { { 3, 0, gTexture7F032C, 8, 8, 0, 0, 0x63, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001040[2] = { +MenuTexture D_02001040[2] = { { 3, 0, gTexture7F0390, 8, 8, 0, 0, 0x72, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001068[2] = { +MenuTexture D_02001068[2] = { { 3, 0, gTexture7F0404, 8, 8, 0, 0, 0x6d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001090[2] = { +MenuTexture D_02001090[2] = { { 3, 0, gTexture7F0470, 8, 8, 0, 0, 0x7d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020010B8[2] = { +MenuTexture D_020010B8[2] = { { 3, 0, gTexture7F04EC, 8, 8, 0, 0, 0x6e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020010E0[2] = { +MenuTexture D_020010E0[2] = { { 3, 0, gTexture7F055C, 8, 8, 0, 0, 0x93, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001108[2] = { +MenuTexture D_02001108[2] = { { 3, 0, gTexture7F05F0, 8, 8, 0, 0, 0x7f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001130[2] = { +MenuTexture D_02001130[2] = { { 3, 0, gTexture7F0670, 8, 8, 0, 0, 0x7b, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001158[2] = { +MenuTexture D_02001158[2] = { { 3, 0, gTexture7F06EC, 8, 8, 0, 0, 0x7a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001180[2] = { +MenuTexture D_02001180[2] = { { 3, 0, gTexture7F0768, 8, 8, 0, 0, 0x78, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020011A8[2] = { +MenuTexture D_020011A8[2] = { { 3, 0, gTexture7F07E0, 8, 8, 0, 0, 0x77, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020011D0[2] = { +MenuTexture D_020011D0[2] = { { 3, 0, gTexture7F0858, 8, 8, 0, 0, 0x7f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020011F8[2] = { +MenuTexture D_020011F8[2] = { { 3, 0, gTexture7F08D8, 8, 8, 0, 0, 0x71, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001220[2] = { +MenuTexture D_02001220[2] = { { 3, 0, gTexture7F0948, 8, 8, 0, 0, 0x87, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001248[2] = { +MenuTexture D_02001248[2] = { { 3, 0, gTexture7F09D0, 8, 8, 0, 0, 0x6d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001270[2] = { +MenuTexture D_02001270[2] = { { 3, 0, gTexture7F0A3C, 8, 8, 0, 0, 0x7e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001298[2] = { +MenuTexture D_02001298[2] = { { 3, 0, gTexture7F0ABC, 8, 8, 0, 0, 0x77, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020012C0[2] = { +MenuTexture D_020012C0[2] = { { 3, 0, gTexture7F0B34, 8, 8, 0, 0, 0x7d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020012E8[2] = { +MenuTexture D_020012E8[2] = { { 3, 0, gTexture7F0BB0, 8, 8, 0, 0, 0x75, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001310[2] = { +MenuTexture D_02001310[2] = { { 3, 0, gTexture7F0C24, 8, 8, 0, 0, 0x71, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001338[2] = { +MenuTexture D_02001338[2] = { { 3, 0, gTexture7F0C94, 8, 8, 0, 0, 0x77, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001360[2] = { +MenuTexture D_02001360[2] = { { 3, 0, gTexture7F0D0C, 8, 8, 0, 0, 0x7f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001388[2] = { +MenuTexture D_02001388[2] = { { 3, 0, gTexture7F0D8C, 8, 8, 0, 0, 0x61, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020013B0[2] = { +MenuTexture D_020013B0[2] = { { 3, 0, gTexture7F0DEC, 8, 8, 0, 0, 0x6e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020013D8[2] = { +MenuTexture D_020013D8[2] = { { 3, 0, gTexture7F0E5C, 8, 8, 0, 0, 0x87, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001400[2] = { +MenuTexture D_02001400[2] = { { 3, 0, gTexture7F0EE4, 8, 8, 0, 0, 0x78, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001428[2] = { +MenuTexture D_02001428[2] = { { 3, 0, gTexture7F0F5C, 8, 8, 0, 0, 0x7d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001450[2] = { +MenuTexture D_02001450[2] = { { 3, 0, gTexture7F0FD8, 8, 8, 0, 0, 0x60, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001478[2] = { +MenuTexture D_02001478[2] = { { 3, 0, gTexture7F1038, 8, 8, 0, 0, 0x65, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020014A0[2] = { +MenuTexture D_020014A0[2] = { { 3, 0, gTexture7F109C, 8, 8, 0, 0, 0x87, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of bar ? + * @brief MenuTexture of bar ? * */ -MkTexture D_020014C8[6] = { +MenuTexture D_020014C8[6] = { { 0, 0, gTextureGoldBar, 256, 40, 32, 25, 0xd4c, 0 }, { 0, 0, gTexturePinkBar, 90, 16, 65, 70, 0x468, 0 }, { 0, 0, gTexturePinkBar, 90, 16, 164, 70, 0x468, 0 }, { 0, 0, gTexturePinkBar, 90, 16, 65, 200, 0x468, 0 }, { 0, 0, gTexturePinkBar, 90, 16, 164, 200, 0x468, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of gold ? + * @brief MenuTexture of gold ? * */ -MkTexture D_02001540[3] = { +MenuTexture D_02001540[3] = { { 0, 0, gTextureGreenGoldStripe, 256, 29, 32, 91, 0xbec, 0 }, { 0, 0, gTextureGoldStripe, 256, 15, 32, 180, 0x6f8, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; -MkTexture D_0200157C[2] = { +MenuTexture D_0200157C[2] = { { 0, 0, gTextureWhiteStripe, 256, 10, 0, 0, 0xe4, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020015A4[2] = { +MenuTexture D_020015A4[2] = { { 3, 0, gTexture7ED50C, 256, 5, 32, 120, 0x196, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of select record ? + * @brief MenuTexture of select record ? * */ -MkTexture D_020015CC[5] = { +MenuTexture D_020015CC[5] = { { 3, 0, gTextureSelectRecord, 68, 10, 75, 74, 0x378, 0 }, { 3, 0, gTextureTextEnd, 20, 10, 200, 74, 0x12f, 0 }, { 3, 0, gTextureTextErase, 28, 10, 96, 204, 0x19e, 0 }, @@ -1250,19 +1250,19 @@ MkTexture D_020015CC[5] = { }; /** - * @brief MkTexture of select record ? + * @brief MenuTexture of select record ? * */ -MkTexture D_02001630[2] = { +MenuTexture D_02001630[2] = { { 3, 0, gTextureTableOfContents, 88, 10, 116, 94, 0x42d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of select record ? + * @brief MenuTexture of select record ? * */ -MkTexture D_02001658[5] = { +MenuTexture D_02001658[5] = { { 3, 0, gTextureTextHash, 8, 10, 48, 108, 0x07e, 0 }, { 3, 0, gTextureTextGameData, 56, 10, 132, 108, 0x2c4, 0 }, { 3, 0, gTextureTextPages, 32, 10, 252, 108, 0x1c1, 0 }, @@ -1271,163 +1271,163 @@ MkTexture D_02001658[5] = { }; /** - * @brief MkTexture of a small font texture of number 0 + * @brief MenuTexture of a small font texture of number 0 * */ -MkTexture D_020016BC[2] = { +MenuTexture D_020016BC[2] = { { 3, 0, gTextureSmallFont0, 8, 9, 0, 0, 0x8e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 1 + * @brief MenuTexture of a small font texture of number 1 * */ -MkTexture D_020016E4[2] = { +MenuTexture D_020016E4[2] = { { 3, 0, gTextureSmallFont1, 8, 9, 0, 0, 0x59, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 2 + * @brief MenuTexture of a small font texture of number 2 * */ -MkTexture D_0200170C[2] = { +MenuTexture D_0200170C[2] = { { 3, 0, gTextureSmallFont2, 8, 9, 0, 0, 0x97, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 3 + * @brief MenuTexture of a small font texture of number 3 * */ -MkTexture D_02001734[2] = { +MenuTexture D_02001734[2] = { { 3, 0, gTextureSmallFont3, 8, 9, 0, 0, 0x95, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 4 + * @brief MenuTexture of a small font texture of number 4 * */ -MkTexture D_0200175C[2] = { +MenuTexture D_0200175C[2] = { { 3, 0, gTextureSmallFont4, 8, 9, 0, 0, 0x87, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 5 + * @brief MenuTexture of a small font texture of number 5 * */ -MkTexture D_02001784[2] = { +MenuTexture D_02001784[2] = { { 3, 0, gTextureSmallFont5, 8, 9, 0, 0, 0x99, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 6 + * @brief MenuTexture of a small font texture of number 6 * */ -MkTexture D_020017AC[2] = { +MenuTexture D_020017AC[2] = { { 3, 0, gTextureSmallFont6, 8, 9, 0, 0, 0x9a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 7 + * @brief MenuTexture of a small font texture of number 7 * */ -MkTexture D_020017D4[2] = { +MenuTexture D_020017D4[2] = { { 3, 0, gTextureSmallFont7, 8, 9, 0, 0, 0x70, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 8 + * @brief MenuTexture of a small font texture of number 8 * */ -MkTexture D_020017FC[2] = { +MenuTexture D_020017FC[2] = { { 3, 0, gTextureSmallFont8, 8, 9, 0, 0, 0x90, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a small font texture of number 9 + * @brief MenuTexture of a small font texture of number 9 * */ -MkTexture D_02001824[2] = { +MenuTexture D_02001824[2] = { { 3, 0, gTextureSmallFont9, 8, 9, 0, 0, 0x9f, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200184C[2] = { +MenuTexture D_0200184C[2] = { { 3, 0, gTexture7ED058, 96, 22, 0, 0, 0x238, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001874[2] = { +MenuTexture D_02001874[2] = { { 3, 0, gTexture7ED290, 248, 10, 0, 0, 0x27d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of a n64 controller pak Data Select + * @brief MenuTexture of a n64 controller pak Data Select * */ -MkTexture D_0200189C[2] = { +MenuTexture D_0200189C[2] = { { 3, 0, gTextureN64ControllerPakDataSelect, 180, 32, 70, 29, 0x1128, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of text Erase Data Record Confirmation + * @brief MenuTexture of text Erase Data Record Confirmation * */ -MkTexture D_020018C4[2] = { +MenuTexture D_020018C4[2] = { { 3, 0, gTextureEraseDataRecordConfirmation, 180, 32, 70, 29, 0xff4, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of text Record Not Erased + * @brief MenuTexture of text Record Not Erased * */ -MkTexture D_020018EC[2] = { +MenuTexture D_020018EC[2] = { { 3, 0, gTextureRecordNotErased, 180, 32, 70, 29, 0x8d1, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of text Please Insert N64 Controller Pak + * @brief MenuTexture of text Please Insert N64 Controller Pak * */ -MkTexture D_02001914[2] = { +MenuTexture D_02001914[2] = { { 3, 0, gTexturePlaceN64ControllerPakIntoController1, 180, 32, 70, 29, 0xc4a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of text Please Reinsert Original N64 Controller Pak + * @brief MenuTexture of text Please Reinsert Original N64 Controller Pak * */ -MkTexture D_0200193C[2] = { +MenuTexture D_0200193C[2] = { { 3, 0, gTexturePleaseReinsertOriginalN64ControllerPak, 180, 32, 70, 29, 0xcd6, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of text Erasing Selected Record + * @brief MenuTexture of text Erasing Selected Record * */ -MkTexture D_02001964[2] = { +MenuTexture D_02001964[2] = { { 3, 0, gTextureErasingSelectedRecord, 180, 32, 70, 29, 0xc02, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1487,253 +1487,253 @@ MkAnimation D_020019DC[2] = { }; /** - * @brief MkTexture of Name DK + * @brief MenuTexture of Name DK * */ -MkTexture D_020019EC[2] = { +MenuTexture D_020019EC[2] = { { 0, 0, gTextureNameDK, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Toad + * @brief MenuTexture of Name Toad * */ -MkTexture D_02001A14[2] = { +MenuTexture D_02001A14[2] = { { 0, 0, gTextureNameToad, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Bowser + * @brief MenuTexture of Name Bowser * */ -MkTexture D_02001A3C[2] = { +MenuTexture D_02001A3C[2] = { { 0, 0, gTextureNameBowser, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Luigi + * @brief MenuTexture of Name Luigi * */ -MkTexture D_02001A64[2] = { +MenuTexture D_02001A64[2] = { { 0, 0, gTextureNameLuigi, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Mario + * @brief MenuTexture of Name Mario * */ -MkTexture D_02001A8C[2] = { +MenuTexture D_02001A8C[2] = { { 0, 0, gTextureNameMario, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Peach + * @brief MenuTexture of Name Peach * */ -MkTexture D_02001AB4[2] = { +MenuTexture D_02001AB4[2] = { { 0, 0, gTextureNamePeach, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Wario + * @brief MenuTexture of Name Wario * */ -MkTexture D_02001ADC[2] = { +MenuTexture D_02001ADC[2] = { { 0, 0, gTextureNameWario, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Name Yoshi + * @brief MenuTexture of Name Yoshi * */ -MkTexture D_02001B04[2] = { +MenuTexture D_02001B04[2] = { { 0, 0, gTextureNameYoshi, 64, 12, 0, 64, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Mario Raceway + * @brief MenuTexture of Course Preview Mario Raceway * */ -MkTexture D_02001B2C[2] = { +MenuTexture gMenuTexturePreviewMarioRaceway[2] = { { 0, 0, gTextureCoursePreviewMarioRaceway, 128, 78, 0, 0, 0x3157, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Choco Mountain + * @brief MenuTexture of Course Preview Choco Mountain * */ -MkTexture D_02001B54[2] = { +MenuTexture D_02001B54[2] = { { 0, 0, gTextureCoursePreviewChocoMountain, 128, 78, 0, 0, 0x2a24, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Bowser Castle + * @brief MenuTexture of Course Preview Bowser Castle * */ -MkTexture D_02001B7C[2] = { +MenuTexture D_02001B7C[2] = { { 0, 0, gTextureCoursePreviewBowsersCastle, 128, 78, 0, 0, 0x30de, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Banshee Boardwalk + * @brief MenuTexture of Course Preview Banshee Boardwalk * */ -MkTexture D_02001BA4[2] = { +MenuTexture D_02001BA4[2] = { { 0, 0, gTextureCoursePreviewBansheeBoardwalk, 128, 78, 0, 0, 0x26ad, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Yoshi Valley + * @brief MenuTexture of Course Preview Yoshi Valley * */ -MkTexture D_02001BCC[2] = { +MenuTexture D_02001BCC[2] = { { 0, 0, gTextureCoursePreviewYoshiValley, 128, 78, 0, 0, 0x3a41, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Frappe Snowland + * @brief MenuTexture of Course Preview Frappe Snowland * */ -MkTexture D_02001BF4[2] = { +MenuTexture D_02001BF4[2] = { { 0, 0, gTextureCoursePreviewFrappeSnowland, 128, 78, 0, 0, 0x2409, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Koopa Troopa Beach + * @brief MenuTexture of Course Preview Koopa Troopa Beach * */ -MkTexture D_02001C1C[2] = { +MenuTexture D_02001C1C[2] = { { 0, 0, gTextureCoursePreviewKoopaTroopaBeach, 128, 78, 0, 0, 0x2323, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Royal Raceway + * @brief MenuTexture of Course Preview Royal Raceway * */ -MkTexture D_02001C44[2] = { +MenuTexture D_02001C44[2] = { { 0, 0, gTextureCoursePreviewRoyalRaceway, 128, 78, 0, 0, 0x2821, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Luigi Raceway + * @brief MenuTexture of Course Preview Luigi Raceway * */ -MkTexture D_02001C6C[2] = { +MenuTexture D_02001C6C[2] = { { 0, 0, gTextureCoursePreviewLuigiRaceway, 128, 78, 0, 0, 0x2d74, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Moo Moo Farm + * @brief MenuTexture of Course Preview Moo Moo Farm * */ -MkTexture D_02001C94[2] = { +MenuTexture D_02001C94[2] = { { 0, 0, gTextureCoursePreviewMooMooFarm, 128, 78, 0, 0, 0x25c7, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Toads Turnpike + * @brief MenuTexture of Course Preview Toads Turnpike * */ -MkTexture D_02001CBC[2] = { +MenuTexture D_02001CBC[2] = { { 0, 0, gTextureCoursePreviewToadsTurnpike, 128, 78, 0, 0, 0x299a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Kalimari Desert + * @brief MenuTexture of Course Preview Kalimari Desert * */ -MkTexture D_02001CE4[2] = { +MenuTexture D_02001CE4[2] = { { 0, 0, gTextureCoursePreviewKalimariDesert, 128, 78, 0, 0, 0x280a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Sherbet Land + * @brief MenuTexture of Course Preview Sherbet Land * */ -MkTexture D_02001D0C[2] = { +MenuTexture D_02001D0C[2] = { { 0, 0, gTextureCoursePreviewSherbetLand, 128, 78, 0, 0, 0x300e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Rainbow Road + * @brief MenuTexture of Course Preview Rainbow Road * */ -MkTexture D_02001D34[2] = { +MenuTexture D_02001D34[2] = { { 0, 0, gTextureCoursePreviewRainbowRoad, 128, 78, 0, 0, 0x2824, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Wario Stadium + * @brief MenuTexture of Course Preview Wario Stadium * */ -MkTexture D_02001D5C[2] = { +MenuTexture D_02001D5C[2] = { { 0, 0, gTextureCoursePreviewWarioStadium, 128, 78, 0, 0, 0x32d3, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Block Fort + * @brief MenuTexture of Course Preview Block Fort * */ -MkTexture D_02001D84[2] = { +MenuTexture D_02001D84[2] = { { 0, 0, gTextureCoursePreviewBlockFort, 128, 78, 0, 0, 0x2528, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Skyscraper + * @brief MenuTexture of Course Preview Skyscraper * */ -MkTexture D_02001DAC[2] = { +MenuTexture D_02001DAC[2] = { { 0, 0, gTextureCoursePreviewSkyscraper, 128, 78, 0, 0, 0x26f0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Double Deck + * @brief MenuTexture of Course Preview Double Deck * */ -MkTexture D_02001DD4[2] = { +MenuTexture D_02001DD4[2] = { { 0, 0, gTextureCoursePreviewDoubleDeck, 128, 78, 0, 0, 0x28f7, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview DKs Jungle Parkway + * @brief MenuTexture of Course Preview DKs Jungle Parkway * */ -MkTexture D_02001DFC[2] = { +MenuTexture D_02001DFC[2] = { { 0, 0, gTextureCoursePreviewDksJungleParkway, 128, 78, 0, 0, 0x3ee4, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of Course Preview Big Donut + * @brief MenuTexture of Course Preview Big Donut * */ -MkTexture D_02001E24[2] = { +MenuTexture D_02001E24[2] = { { 0, 0, gTextureCoursePreviewBigDonut, 128, 78, 0, 0, 0x2f5c, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -1743,8 +1743,8 @@ MkTexture D_02001E24[2] = { * */ MkAnimation D_02001E4C[3] = { - { D_02001B2C, 0x0000003c }, - { D_02001B2C, 0x0000003c }, + { gMenuTexturePreviewMarioRaceway, 0x0000003c }, + { gMenuTexturePreviewMarioRaceway, 0x0000003c }, { NULL, 0x00000000 }, }; @@ -1753,7 +1753,7 @@ MkAnimation D_02001E4C[3] = { * */ MkAnimation D_02001E64[2] = { - { D_02001B2C, 0x0000003c }, + { gMenuTexturePreviewMarioRaceway, 0x0000003c }, { NULL, 0x00000000 }, }; @@ -1925,64 +1925,64 @@ MkAnimation D_02001F94[2] = { }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02001FA4[2] = { +MenuTexture D_02001FA4[2] = { { 3, 0, gTexture7ED6A4, 68, 51, 0, 0, 0x38e, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of trophy gold + * @brief MenuTexture of trophy gold * */ -MkTexture D_02001FCC[2] = { +MenuTexture D_02001FCC[2] = { { 1, 0, gTextureTrophyGold, 45, 45, 0, 0, 0x633, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of trophy silver + * @brief MenuTexture of trophy silver * */ -MkTexture D_02001FF4[2] = { +MenuTexture D_02001FF4[2] = { { 1, 0, gTextureTrophySilver, 45, 45, 0, 0, 0x629, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of trophy bronze + * @brief MenuTexture of trophy bronze * */ -MkTexture D_0200201C[2] = { +MenuTexture D_0200201C[2] = { { 1, 0, gTextureTrophyBronze, 45, 45, 0, 0, 0x5ec, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of cup gold + * @brief MenuTexture of cup gold * */ -MkTexture D_02002044[2] = { +MenuTexture D_02002044[2] = { { 1, 0, gTextureCupGold, 45, 45, 0, 0, 0x98a, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of cup silver + * @brief MenuTexture of cup silver * */ -MkTexture D_0200206C[2] = { +MenuTexture D_0200206C[2] = { { 1, 0, gTextureCupSilver, 45, 45, 0, 0, 0x985, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture of cup bronze + * @brief MenuTexture of cup bronze * */ -MkTexture D_02002094[2] = { +MenuTexture D_02002094[2] = { { 1, 0, gTextureCupBronze, 45, 45, 0, 0, 0x8a2, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; @@ -2042,2169 +2042,2169 @@ MkAnimation D_0200210C[2] = { }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200211C[2] = { +MenuTexture D_0200211C[2] = { { 5, 0, gTexture7F2094, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002144[2] = { +MenuTexture D_02002144[2] = { { 5, 0, gTexture7F2164, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200216C[2] = { +MenuTexture D_0200216C[2] = { { 5, 0, gTexture7F2234, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002194[2] = { +MenuTexture D_02002194[2] = { { 5, 0, gTexture7F2304, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020021BC[2] = { +MenuTexture D_020021BC[2] = { { 5, 0, gTexture7F23D4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020021E4[2] = { +MenuTexture D_020021E4[2] = { { 5, 0, gTexture7F24A4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200220C[2] = { +MenuTexture D_0200220C[2] = { { 5, 0, gTexture7F2574, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002234[2] = { +MenuTexture D_02002234[2] = { { 5, 0, gTexture7F2644, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200225C[2] = { +MenuTexture D_0200225C[2] = { { 5, 0, gTexture7F2714, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002284[2] = { +MenuTexture D_02002284[2] = { { 5, 0, gTexture7F27E4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020022AC[2] = { +MenuTexture D_020022AC[2] = { { 5, 0, gTexture7F28B4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020022D4[2] = { +MenuTexture D_020022D4[2] = { { 5, 0, gTexture7F2984, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020022FC[2] = { +MenuTexture D_020022FC[2] = { { 5, 0, gTexture7F2A54, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002324[2] = { +MenuTexture D_02002324[2] = { { 5, 0, gTexture7F2B24, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200234C[2] = { +MenuTexture D_0200234C[2] = { { 5, 0, gTexture7F2BF4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002374[2] = { +MenuTexture D_02002374[2] = { { 5, 0, gTexture7F2CC4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200239C[2] = { +MenuTexture D_0200239C[2] = { { 5, 0, gTexture7F2D94, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020023C4[2] = { +MenuTexture D_020023C4[2] = { { 5, 0, gTexture7F2E64, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020023EC[2] = { +MenuTexture D_020023EC[2] = { { 5, 0, gTexture7F2F34, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002414[2] = { +MenuTexture D_02002414[2] = { { 5, 0, gTexture7F3004, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200243C[2] = { +MenuTexture D_0200243C[2] = { { 5, 0, gTexture7F30D4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002464[2] = { +MenuTexture D_02002464[2] = { { 5, 0, gTexture7F31A4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200248C[2] = { +MenuTexture D_0200248C[2] = { { 5, 0, gTexture7F3274, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020024B4[2] = { +MenuTexture D_020024B4[2] = { { 5, 0, gTexture7F3344, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020024DC[2] = { +MenuTexture D_020024DC[2] = { { 5, 0, gTexture7F3414, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002504[2] = { +MenuTexture D_02002504[2] = { { 5, 0, gTexture7F34E4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200252C[2] = { +MenuTexture D_0200252C[2] = { { 5, 0, gTexture7F1394, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002554[2] = { +MenuTexture D_02002554[2] = { { 5, 0, gTexture7F1464, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200257C[2] = { +MenuTexture D_0200257C[2] = { { 5, 0, gTexture7F16D4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020025A4[2] = { +MenuTexture D_020025A4[2] = { { 5, 0, gTexture7F17A4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020025CC[2] = { +MenuTexture D_020025CC[2] = { { 5, 0, gTexture7F12C4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020025F4[2] = { +MenuTexture D_020025F4[2] = { { 5, 0, gTexture7F1604, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200261C[2] = { +MenuTexture D_0200261C[2] = { { 5, 0, gTexture7F1534, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002644[2] = { +MenuTexture D_02002644[2] = { { 5, 0, gTexture7F1124, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200266C[2] = { +MenuTexture D_0200266C[2] = { { 5, 0, gTexture7F11F4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002694[2] = { +MenuTexture D_02002694[2] = { { 5, 0, gTexture7F1874, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020026BC[2] = { +MenuTexture D_020026BC[2] = { { 5, 0, gTexture7F1944, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020026E4[2] = { +MenuTexture D_020026E4[2] = { { 5, 0, gTexture7F1A14, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200270C[2] = { +MenuTexture D_0200270C[2] = { { 5, 0, gTexture7F1AE4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002734[2] = { +MenuTexture D_02002734[2] = { { 5, 0, gTexture7F1BB4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200275C[2] = { +MenuTexture D_0200275C[2] = { { 5, 0, gTexture7F1C84, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002784[2] = { +MenuTexture D_02002784[2] = { { 5, 0, gTexture7F1D54, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020027AC[2] = { +MenuTexture D_020027AC[2] = { { 5, 0, gTexture7F1E24, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020027D4[2] = { +MenuTexture D_020027D4[2] = { { 5, 0, gTexture7F1EF4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020027FC[2] = { +MenuTexture D_020027FC[2] = { { 5, 0, gTexture7F1FC4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002824[2] = { +MenuTexture D_02002824[2] = { { 5, 0, gTexture7F35B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200284C[2] = { +MenuTexture D_0200284C[2] = { { 5, 0, gTexture7F3634, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002874[2] = { +MenuTexture D_02002874[2] = { { 5, 0, gTexture7F36B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200289C[2] = { +MenuTexture D_0200289C[2] = { { 5, 0, gTexture7F3734, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020028C4[2] = { +MenuTexture D_020028C4[2] = { { 5, 0, gTexture7F37B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020028EC[2] = { +MenuTexture D_020028EC[2] = { { 5, 0, gTexture7F3AB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002914[2] = { +MenuTexture D_02002914[2] = { { 5, 0, gTexture7F3B34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200293C[2] = { +MenuTexture D_0200293C[2] = { { 5, 0, gTexture7F3BB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002964[2] = { +MenuTexture D_02002964[2] = { { 5, 0, gTexture7F3C34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200298C[2] = { +MenuTexture D_0200298C[2] = { { 5, 0, gTexture7F3CB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020029B4[2] = { +MenuTexture D_020029B4[2] = { { 5, 0, gTexture7F3D34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020029DC[2] = { +MenuTexture D_020029DC[2] = { { 5, 0, gTexture7F3DB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002A04[2] = { +MenuTexture D_02002A04[2] = { { 5, 0, gTexture7F3E34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002A2C[2] = { +MenuTexture D_02002A2C[2] = { { 5, 0, gTexture7F3EB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002A54[2] = { +MenuTexture D_02002A54[2] = { { 5, 0, gTexture7F3F34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002A7C[2] = { +MenuTexture D_02002A7C[2] = { { 5, 0, gTexture7F3FB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002AA4[2] = { +MenuTexture D_02002AA4[2] = { { 5, 0, gTexture7F4034, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002ACC[2] = { +MenuTexture D_02002ACC[2] = { { 5, 0, gTexture7F40B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002AF4[2] = { +MenuTexture D_02002AF4[2] = { { 5, 0, gTexture7F41B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002B1C[2] = { +MenuTexture D_02002B1C[2] = { { 5, 0, gTexture7F4234, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002B44[2] = { +MenuTexture D_02002B44[2] = { { 5, 0, gTexture7F42B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002B6C[2] = { +MenuTexture D_02002B6C[2] = { { 5, 0, gTexture7F4334, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002B94[2] = { +MenuTexture D_02002B94[2] = { { 5, 0, gTexture7F43B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002BBC[2] = { +MenuTexture D_02002BBC[2] = { { 5, 0, gTexture7F4434, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002BE4[2] = { +MenuTexture D_02002BE4[2] = { { 5, 0, gTexture7F44B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002C0C[2] = { +MenuTexture D_02002C0C[2] = { { 5, 0, gTexture7F4534, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002C34[2] = { +MenuTexture D_02002C34[2] = { { 5, 0, gTexture7F45B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002C5C[2] = { +MenuTexture D_02002C5C[2] = { { 5, 0, gTexture7F4634, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002C84[2] = { +MenuTexture D_02002C84[2] = { { 5, 0, gTexture7F46B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002CAC[2] = { +MenuTexture D_02002CAC[2] = { { 5, 0, gTexture7F4734, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002CD4[2] = { +MenuTexture D_02002CD4[2] = { { 5, 0, gTexture7F47B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002CFC[2] = { +MenuTexture D_02002CFC[2] = { { 5, 0, gTexture7F4834, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002D24[2] = { +MenuTexture D_02002D24[2] = { { 5, 0, gTexture7F48B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002D4C[2] = { +MenuTexture D_02002D4C[2] = { { 5, 0, gTexture7F4934, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002D74[2] = { +MenuTexture D_02002D74[2] = { { 5, 0, gTexture7F49B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002D9C[2] = { +MenuTexture D_02002D9C[2] = { { 5, 0, gTexture7F4A34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002DC4[2] = { +MenuTexture D_02002DC4[2] = { { 5, 0, gTexture7F4AB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002DEC[2] = { +MenuTexture D_02002DEC[2] = { { 5, 0, gTexture7F4B34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002E14[2] = { +MenuTexture D_02002E14[2] = { { 5, 0, gTexture7F4D34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002E3C[2] = { +MenuTexture D_02002E3C[2] = { { 5, 0, gTexture7F4DB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002E64[2] = { +MenuTexture D_02002E64[2] = { { 5, 0, gTexture7F4E34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002E8C[2] = { +MenuTexture D_02002E8C[2] = { { 5, 0, gTexture7F4EB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002EB4[2] = { +MenuTexture D_02002EB4[2] = { { 5, 0, gTexture7F4F34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002EDC[2] = { +MenuTexture D_02002EDC[2] = { { 5, 0, gTexture7F4FB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002F04[2] = { +MenuTexture D_02002F04[2] = { { 5, 0, gTexture7F5034, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002F2C[2] = { +MenuTexture D_02002F2C[2] = { { 5, 0, gTexture7F50B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002F54[2] = { +MenuTexture D_02002F54[2] = { { 5, 0, gTexture7F5134, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002F7C[2] = { +MenuTexture D_02002F7C[2] = { { 5, 0, gTexture7F51B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002FA4[2] = { +MenuTexture D_02002FA4[2] = { { 5, 0, gTexture7F5234, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002FCC[2] = { +MenuTexture D_02002FCC[2] = { { 5, 0, gTexture7F52B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02002FF4[2] = { +MenuTexture D_02002FF4[2] = { { 5, 0, gTexture7F5334, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200301C[2] = { +MenuTexture D_0200301C[2] = { { 5, 0, gTexture7F53B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003044[2] = { +MenuTexture D_02003044[2] = { { 5, 0, gTexture7F5434, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200306C[2] = { +MenuTexture D_0200306C[2] = { { 5, 0, gTexture7F54B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003094[2] = { +MenuTexture D_02003094[2] = { { 5, 0, gTexture7F5534, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020030BC[2] = { +MenuTexture D_020030BC[2] = { { 5, 0, gTexture7F55B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020030E4[2] = { +MenuTexture D_020030E4[2] = { { 5, 0, gTexture7F5634, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200310C[2] = { +MenuTexture D_0200310C[2] = { { 5, 0, gTexture7F56B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003134[2] = { +MenuTexture D_02003134[2] = { { 5, 0, gTexture7F5734, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200315C[2] = { +MenuTexture D_0200315C[2] = { { 5, 0, gTexture7F57B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003184[2] = { +MenuTexture D_02003184[2] = { { 5, 0, gTexture7F5834, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020031AC[2] = { +MenuTexture D_020031AC[2] = { { 5, 0, gTexture7F58B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020031D4[2] = { +MenuTexture D_020031D4[2] = { { 5, 0, gTexture7F5934, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020031FC[2] = { +MenuTexture D_020031FC[2] = { { 5, 0, gTexture7F59B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003224[2] = { +MenuTexture D_02003224[2] = { { 5, 0, gTexture7F5A34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200324C[2] = { +MenuTexture D_0200324C[2] = { { 5, 0, gTexture7F5AB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003274[2] = { +MenuTexture D_02003274[2] = { { 5, 0, gTexture7F5B34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200329C[2] = { +MenuTexture D_0200329C[2] = { { 5, 0, gTexture7F5BB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020032C4[2] = { +MenuTexture D_020032C4[2] = { { 5, 0, gTexture7F5C34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020032EC[2] = { +MenuTexture D_020032EC[2] = { { 5, 0, gTexture7F5CB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003314[2] = { +MenuTexture D_02003314[2] = { { 5, 0, gTexture7F5D34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200333C[2] = { +MenuTexture D_0200333C[2] = { { 5, 0, gTexture7F4BB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003364[2] = { +MenuTexture D_02003364[2] = { { 5, 0, gTexture7F4C34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200338C[2] = { +MenuTexture D_0200338C[2] = { { 5, 0, gTexture7F4CB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020033B4[2] = { +MenuTexture D_020033B4[2] = { { 5, 0, gTexture7F4134, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020033DC[2] = { +MenuTexture D_020033DC[2] = { { 5, 0, gTexture7F3834, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003404[2] = { +MenuTexture D_02003404[2] = { { 5, 0, gTexture7F38B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200342C[2] = { +MenuTexture D_0200342C[2] = { { 5, 0, gTexture7F3934, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003454[2] = { +MenuTexture D_02003454[2] = { { 5, 0, gTexture7F39B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200347C[2] = { +MenuTexture D_0200347C[2] = { { 5, 0, gTexture7F3A34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020034A4[2] = { +MenuTexture D_020034A4[2] = { { 5, 0, gTexture7F5DB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020034CC[2] = { +MenuTexture D_020034CC[2] = { { 5, 0, gTexture7F5E34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020034F4[2] = { +MenuTexture D_020034F4[2] = { { 5, 0, gTexture7F5EB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200351C[2] = { +MenuTexture D_0200351C[2] = { { 5, 0, gTexture7F5F34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003544[2] = { +MenuTexture D_02003544[2] = { { 5, 0, gTexture7F5FB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200356C[2] = { +MenuTexture D_0200356C[2] = { { 5, 0, gTexture7F62B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003594[2] = { +MenuTexture D_02003594[2] = { { 5, 0, gTexture7F6334, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020035BC[2] = { +MenuTexture D_020035BC[2] = { { 5, 0, gTexture7F63B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020035E4[2] = { +MenuTexture D_020035E4[2] = { { 5, 0, gTexture7F6434, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200360C[2] = { +MenuTexture D_0200360C[2] = { { 5, 0, gTexture7F64B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003634[2] = { +MenuTexture D_02003634[2] = { { 5, 0, gTexture7F6534, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200365C[2] = { +MenuTexture D_0200365C[2] = { { 5, 0, gTexture7F65B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003684[2] = { +MenuTexture D_02003684[2] = { { 5, 0, gTexture7F6634, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020036AC[2] = { +MenuTexture D_020036AC[2] = { { 5, 0, gTexture7F66B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020036D4[2] = { +MenuTexture D_020036D4[2] = { { 5, 0, gTexture7F6734, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020036FC[2] = { +MenuTexture D_020036FC[2] = { { 5, 0, gTexture7F67B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003724[2] = { +MenuTexture D_02003724[2] = { { 5, 0, gTexture7F6834, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200374C[2] = { +MenuTexture D_0200374C[2] = { { 5, 0, gTexture7F68B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003774[2] = { +MenuTexture D_02003774[2] = { { 5, 0, gTexture7F69B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200379C[2] = { +MenuTexture D_0200379C[2] = { { 5, 0, gTexture7F6A34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020037C4[2] = { +MenuTexture D_020037C4[2] = { { 5, 0, gTexture7F6AB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020037EC[2] = { +MenuTexture D_020037EC[2] = { { 5, 0, gTexture7F6B34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003814[2] = { +MenuTexture D_02003814[2] = { { 5, 0, gTexture7F6BB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200383C[2] = { +MenuTexture D_0200383C[2] = { { 5, 0, gTexture7F6C34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003864[2] = { +MenuTexture D_02003864[2] = { { 5, 0, gTexture7F6CB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200388C[2] = { +MenuTexture D_0200388C[2] = { { 5, 0, gTexture7F6D34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020038B4[2] = { +MenuTexture D_020038B4[2] = { { 5, 0, gTexture7F6DB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020038DC[2] = { +MenuTexture D_020038DC[2] = { { 5, 0, gTexture7F6E34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003904[2] = { +MenuTexture D_02003904[2] = { { 5, 0, gTexture7F6EB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200392C[2] = { +MenuTexture D_0200392C[2] = { { 5, 0, gTexture7F6F34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003954[2] = { +MenuTexture D_02003954[2] = { { 5, 0, gTexture7F6FB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200397C[2] = { +MenuTexture D_0200397C[2] = { { 5, 0, gTexture7F7034, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020039A4[2] = { +MenuTexture D_020039A4[2] = { { 5, 0, gTexture7F70B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020039CC[2] = { +MenuTexture D_020039CC[2] = { { 5, 0, gTexture7F7134, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020039F4[2] = { +MenuTexture D_020039F4[2] = { { 5, 0, gTexture7F71B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003A1C[2] = { +MenuTexture D_02003A1C[2] = { { 5, 0, gTexture7F7234, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003A44[2] = { +MenuTexture D_02003A44[2] = { { 5, 0, gTexture7F72B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003A6C[2] = { +MenuTexture D_02003A6C[2] = { { 5, 0, gTexture7F7334, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003A94[2] = { +MenuTexture D_02003A94[2] = { { 5, 0, gTexture7F7534, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003ABC[2] = { +MenuTexture D_02003ABC[2] = { { 5, 0, gTexture7F75B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003AE4[2] = { +MenuTexture D_02003AE4[2] = { { 5, 0, gTexture7F7634, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003B0C[2] = { +MenuTexture D_02003B0C[2] = { { 5, 0, gTexture7F76B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003B34[2] = { +MenuTexture D_02003B34[2] = { { 5, 0, gTexture7F7734, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003B5C[2] = { +MenuTexture D_02003B5C[2] = { { 5, 0, gTexture7F77B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003B84[2] = { +MenuTexture D_02003B84[2] = { { 5, 0, gTexture7F7834, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003BAC[2] = { +MenuTexture D_02003BAC[2] = { { 5, 0, gTexture7F78B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003BD4[2] = { +MenuTexture D_02003BD4[2] = { { 5, 0, gTexture7F7934, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003BFC[2] = { +MenuTexture D_02003BFC[2] = { { 5, 0, gTexture7F79B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003C24[2] = { +MenuTexture D_02003C24[2] = { { 5, 0, gTexture7F7A34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003C4C[2] = { +MenuTexture D_02003C4C[2] = { { 5, 0, gTexture7F7AB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003C74[2] = { +MenuTexture D_02003C74[2] = { { 5, 0, gTexture7F7B34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003C9C[2] = { +MenuTexture D_02003C9C[2] = { { 5, 0, gTexture7F7BB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003CC4[2] = { +MenuTexture D_02003CC4[2] = { { 5, 0, gTexture7F7C34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003CEC[2] = { +MenuTexture D_02003CEC[2] = { { 5, 0, gTexture7F7CB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003D14[2] = { +MenuTexture D_02003D14[2] = { { 5, 0, gTexture7F7D34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003D3C[2] = { +MenuTexture D_02003D3C[2] = { { 5, 0, gTexture7F7DB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003D64[2] = { +MenuTexture D_02003D64[2] = { { 5, 0, gTexture7F7E34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003D8C[2] = { +MenuTexture D_02003D8C[2] = { { 5, 0, gTexture7F7EB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003DB4[2] = { +MenuTexture D_02003DB4[2] = { { 5, 0, gTexture7F7F34, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003DDC[2] = { +MenuTexture D_02003DDC[2] = { { 5, 0, gTexture7F7FB4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003E04[2] = { +MenuTexture D_02003E04[2] = { { 5, 0, gTexture7F8034, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003E2C[2] = { +MenuTexture D_02003E2C[2] = { { 5, 0, gTexture7F80B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003E54[2] = { +MenuTexture D_02003E54[2] = { { 5, 0, gTexture7F8134, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003E7C[2] = { +MenuTexture D_02003E7C[2] = { { 5, 0, gTexture7F81B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003EA4[2] = { +MenuTexture D_02003EA4[2] = { { 5, 0, gTexture7F8234, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003ECC[2] = { +MenuTexture D_02003ECC[2] = { { 5, 0, gTexture7F82B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003EF4[2] = { +MenuTexture D_02003EF4[2] = { { 5, 0, gTexture7F8334, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003F1C[2] = { +MenuTexture D_02003F1C[2] = { { 5, 0, gTexture7F83B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003F44[2] = { +MenuTexture D_02003F44[2] = { { 5, 0, gTexture7F8434, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003F6C[2] = { +MenuTexture D_02003F6C[2] = { { 5, 0, gTexture7F84B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003F94[2] = { +MenuTexture D_02003F94[2] = { { 5, 0, gTexture7F8534, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003FBC[2] = { +MenuTexture D_02003FBC[2] = { { 5, 0, gTexture7F73B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02003FE4[2] = { +MenuTexture D_02003FE4[2] = { { 5, 0, gTexture7F7434, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200400C[2] = { +MenuTexture D_0200400C[2] = { { 5, 0, gTexture7F74B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004034[2] = { +MenuTexture D_02004034[2] = { { 5, 0, gTexture7F6934, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200405C[2] = { +MenuTexture D_0200405C[2] = { { 5, 0, gTexture7F6034, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004084[2] = { +MenuTexture D_02004084[2] = { { 5, 0, gTexture7F60B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020040AC[2] = { +MenuTexture D_020040AC[2] = { { 5, 0, gTexture7F6134, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020040D4[2] = { +MenuTexture D_020040D4[2] = { { 5, 0, gTexture7F61B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020040FC[2] = { +MenuTexture D_020040FC[2] = { { 5, 0, gTexture7F6234, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004124[2] = { +MenuTexture D_02004124[2] = { { 5, 0, gTexture7F9BF4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200414C[2] = { +MenuTexture D_0200414C[2] = { { 5, 0, gTexture7F8734, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004174[2] = { +MenuTexture D_02004174[2] = { { 5, 0, gTexture7F8914, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200419C[2] = { +MenuTexture D_0200419C[2] = { { 5, 0, gTexture7F8AF4, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020041C4[2] = { +MenuTexture D_020041C4[2] = { { 5, 0, gTexture7F8CD4, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020041EC[2] = { +MenuTexture D_020041EC[2] = { { 5, 0, gTexture7F8EB4, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004214[2] = { +MenuTexture D_02004214[2] = { { 5, 0, gTexture7F9094, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200423C[2] = { +MenuTexture D_0200423C[2] = { { 5, 0, gTexture7F9274, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004264[2] = { +MenuTexture D_02004264[2] = { { 5, 0, gTexture7F9454, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200428C[2] = { +MenuTexture D_0200428C[2] = { { 5, 0, gTexture7F9634, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020042B4[2] = { +MenuTexture D_020042B4[2] = { { 5, 0, gTexture7F9814, 30, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020042DC[2] = { +MenuTexture D_020042DC[2] = { { 5, 0, gTexture7F85B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004304[2] = { +MenuTexture D_02004304[2] = { { 5, 0, gTexture7F8634, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200432C[2] = { +MenuTexture D_0200432C[2] = { { 5, 0, gTexture7F86B4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004354[2] = { +MenuTexture D_02004354[2] = { { 5, 0, gTexture7F99F4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200437C[2] = { +MenuTexture D_0200437C[2] = { { 5, 0, gTexture7F9A74, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020043A4[2] = { +MenuTexture D_020043A4[2] = { { 5, 0, gTexture7F9CF4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020043CC[2] = { +MenuTexture D_020043CC[2] = { { 5, 0, gTexture7F9DC4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020043F4[2] = { +MenuTexture D_020043F4[2] = { { 5, 0, gTexture7F9E44, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200441C[2] = { +MenuTexture D_0200441C[2] = { { 5, 0, gTexture7F9EC4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004444[2] = { +MenuTexture D_02004444[2] = { { 5, 0, gTexture7FA044, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200446C[2] = { +MenuTexture D_0200446C[2] = { { 5, 0, gTexture7FA0C4, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004494[2] = { +MenuTexture D_02004494[2] = { { 5, 0, gTexture7FA194, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020044BC[2] = { +MenuTexture D_020044BC[2] = { { 5, 0, gTexture7FA264, 26, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020044E4[2] = { +MenuTexture D_020044E4[2] = { { 5, 0, gTexture7F9AF4, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200450C[2] = { +MenuTexture D_0200450C[2] = { { 5, 0, gTexture7F9B74, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004534[2] = { +MenuTexture D_02004534[2] = { { 5, 0, gTexture7FA334, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200455C[2] = { +MenuTexture D_0200455C[2] = { { 5, 0, gTexture7F9C74, 16, 16, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown empty MkTexture + * @brief unknown empty MenuTexture * */ -MkTexture D_02004584[1] = { +MenuTexture D_02004584[1] = { { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for the blue sky background + * @brief MenuTexture for the blue sky background * */ -MkTexture D_02004598[2] = { +MenuTexture gMenuTextureBackgroundBlueSky[2] = { { 0, 0, gTextureBackgroundBlueSky, 320, 240, 0, 0, 0xcd60, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for the sunset background + * @brief MenuTexture for the sunset background * */ -MkTexture D_020045C0[2] = { +MenuTexture gMenuTextureBackgroundSunset[2] = { { 0, 0, gTextureBackgroundSunset, 320, 240, 0, 0, 0x93c4, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for copyright + * @brief MenuTexture for copyright * */ -MkTexture D_020045E8[2] = { +MenuTexture gMenuTextureCopyright1996[2] = { { 1, 0, gTextureCopyright1996, 124, 17, 98, 199, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for press start + * @brief MenuTexture for press start * */ -MkTexture D_02004610[2] = { +MenuTexture gMenuTexturePushStartButton[2] = { { 1, 0, gTexturePushStartButton, 159, 16, 81, 179, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for the options menu + * @brief MenuTexture for the options menu * */ -MkTexture D_02004638[2] = { +MenuTexture D_02004638[2] = { { 0, 0, gTextureOption, 130, 32, 95, 16, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for the game select menu + * @brief MenuTexture for the game select menu * */ -MkTexture D_02004660[2] = { +MenuTexture gMenuTextureGameSelect[2] = { { 0, 0, gTextureGameSelect, 200, 32, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for the first colone one player + * @brief MenuTexture for the first colone one player * */ -MkTexture D_02004688[4] = { +MenuTexture gMenuTextureOnePlayerColone[4] = { { 1, 0, gTextureMenu1PGame, 64, 54, 0, 0, 0x0, 0 }, { 1, 0, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0, 0 }, { 1, 0, gTextureMenuModeTimeTrials, 64, 18, 0, 83, 0x0, 0 }, @@ -4212,10 +4212,10 @@ MkTexture D_02004688[4] = { }; /** - * @brief MkTexture for the first colone two player + * @brief MenuTexture for the first colone two player * */ -MkTexture D_020046D8[5] = { +MenuTexture gMenuTextureTwoPlayerColone[5] = { { 1, 0, gTextureMenu2PGame, 64, 54, 0, 0, 0x0, 0 }, { 1, 0, gTextureMenuModeMarioGP, 64, 18, 0, 65, 0x0, 0 }, { 1, 0, gTextureMenuModeVS, 64, 18, 0, 83, 0x0, 0 }, @@ -4224,10 +4224,10 @@ MkTexture D_020046D8[5] = { }; /** - * @brief MkTexture for the first colone three player + * @brief MenuTexture for the first colone three player * */ -MkTexture D_0200473C[4] = { +MenuTexture gMenuTextureThreePlayerColone[4] = { { 1, 0, gTextureMenu3PGame, 64, 54, 0, 0, 0x0, 0 }, { 1, 0, gTextureMenuModeVS, 64, 18, 0, 65, 0x0, 0 }, { 1, 0, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0, 0 }, @@ -4235,10 +4235,10 @@ MkTexture D_0200473C[4] = { }; /** - * @brief MkTexture for the first colone four player + * @brief MenuTexture for the first colone four player * */ -MkTexture D_0200478C[4] = { +MenuTexture gMenuTextureFourPlayerColone[4] = { { 1, 0, gTextureMenu4PGame, 64, 54, 0, 0, 0x0, 0 }, { 1, 0, gTextureMenuModeVS, 64, 18, 0, 65, 0x0, 0 }, { 1, 0, gTextureMenuModeBattle, 64, 18, 0, 83, 0x0, 0 }, @@ -4246,266 +4246,266 @@ MkTexture D_0200478C[4] = { }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_020047DC[2] = { +MenuTexture D_020047DC[2] = { { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004804[2] = { +MenuTexture D_02004804[2] = { { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200482C[2] = { +MenuTexture D_0200482C[2] = { { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_02004854[2] = { +MenuTexture D_02004854[2] = { { 1, 0, gTextureSmallGreenTriangle, 12, 7, 27, 56, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief unknown MkTexture + * @brief unknown MenuTexture * */ -MkTexture D_0200487C[2] = { +MenuTexture D_0200487C[2] = { { 1, 0, gTextureMenuOK, 31, 19, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for Menu L Option + * @brief MenuTexture for Menu L Option * */ -MkTexture D_020048A4[2] = { +MenuTexture D_020048A4[2] = { { 1, 0, gTextureMenuLOption, 58, 19, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for Menu R Option + * @brief MenuTexture for Menu R Option * */ -MkTexture D_020048CC[2] = { +MenuTexture D_020048CC[2] = { { 1, 0, gTextureMenuRData, 58, 19, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for Menu 50cc + * @brief MenuTexture for Menu 50cc * */ -MkTexture D_020048F4[2] = { +MenuTexture gMenuTexture50cc[2] = { { 1, 0, gTextureMenu50cc, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for Menu 100cc + * @brief MenuTexture for Menu 100cc * */ -MkTexture D_0200491C[2] = { +MenuTexture gMenuTexture100cc[2] = { { 1, 0, gTextureMenu100cc, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for Menu 150cc + * @brief MenuTexture for Menu 150cc * */ -MkTexture D_02004944[2] = { +MenuTexture gMenuTexture150cc[2] = { { 1, 0, gTextureMenu150cc, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture for Menu Extra + * @brief MenuTexture for Menu Extra * */ -MkTexture D_0200496C[2] = { +MenuTexture gMenuTextureExtra[2] = { { 1, 0, gTextureMenuExtra, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Without Item + * @brief MenuTextures for Menu Without Item * */ -MkTexture D_02004994[2] = { +MenuTexture gMenuTextureWithoutItem[2] = { { 1, 0, gTextureMenuWithoutItem, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu With Item + * @brief MenuTextures for Menu With Item * */ -MkTexture D_020049BC[2] = { +MenuTexture D_020049BC[2] = { { 1, 0, gTextureMenuWithItem, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Begin + * @brief MenuTextures for Menu Begin * */ -MkTexture D_020049E4[2] = { +MenuTexture D_020049E4[2] = { { 1, 0, gTextureMenuBegin, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Ghost + * @brief MenuTextures for Menu Ghost * */ -MkTexture D_02004A0C[2] = { +MenuTexture D_02004A0C[2] = { { 1, 0, gTextureMenuGhost, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Data + * @brief MenuTextures for Menu Data * */ -MkTexture D_02004A34[2] = { +MenuTexture gMenuTextureData[2] = { { 1, 0, gTextureMenuData, 64, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures P1 Border ? + * @brief MenuTextures P1 Border ? * */ -MkTexture D_02004A5C[3] = { +MenuTexture gMenuTextureBorderP1[3] = { { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 }, { 4, 0, gTextureP1BorderBlue, 64, 64, 0, 0, 0x0000, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures P2 Border ? + * @brief MenuTextures P2 Border ? * */ -MkTexture D_02004A98[3] = { +MenuTexture gMenuTextureBorderP2[3] = { { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 }, { 4, 0, gTextureP2BorderRed, 64, 64, 0, 0, 0x0000, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures P3 Border ? + * @brief MenuTextures P3 Border ? * */ -MkTexture D_02004AD4[3] = { +MenuTexture gMenuTextureBorderP3[3] = { { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 }, { 4, 0, gTextureP3BorderOrange, 64, 64, 0, 0, 0x0000, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures P4 Border ? + * @brief MenuTextures P4 Border ? * */ -MkTexture D_02004B10[3] = { +MenuTexture gMenuTextureBorderP4[3] = { { 3, 0, gTexture7E56E4, 64, 64, 0, 0, 0x116c, 0 }, { 4, 0, gTextureP4BorderGreen, 64, 64, 0, 0, 0x0000, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Player Select + * @brief MenuTextures for Menu Player Select * */ -MkTexture D_02004B4C[2] = { +MenuTexture D_02004B4C[2] = { { 0, 0, gTexturePlayerSelect, 220, 32, 51, 16, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu OK + * @brief MenuTextures for Menu OK * */ -MkTexture D_02004B74[2] = { +MenuTexture D_02004B74[2] = { { 1, 0, gTextureMenuOK, 31, 19, 264, 202, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Select + * @brief MenuTextures for Menu Select * */ -MkTexture D_02004B9C[2] = { +MenuTexture gMenuTextureMenuSelect[2] = { { 0, 0, gTextureMapSelect, 190, 32, 65, 18, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Mushroom Cup + * @brief MenuTextures for Menu Mushroom Cup * */ -MkTexture D_02004BC4[2] = { +MenuTexture gMenuTextureMushroomCup[2] = { { 1, 0, gTextureMenuMushroomCup, 65, 40, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Flower Cup + * @brief MenuTextures for Menu Flower Cup * */ -MkTexture D_02004BEC[2] = { +MenuTexture gMenuTextureFlowerCup[2] = { { 1, 0, gTextureMenuFlowerCup, 65, 40, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Star Cup + * @brief MenuTextures for Menu Star Cup * */ -MkTexture D_02004C14[2] = { +MenuTexture gMenuTextureStarCup[2] = { { 1, 0, gTextureMenuStarCup, 65, 40, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Menu Special Cup + * @brief MenuTextures for Menu Special Cup * */ -MkTexture D_02004C3C[2] = { +MenuTexture gMenuTextureSpecialCup[2] = { { 1, 0, gTextureMenuSpecialCup, 65, 40, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for the course preview mario raceway + * @brief MenuTextures for the course preview mario raceway * */ -MkTexture D_02004C64[2] = { +MenuTexture gMenuTexturePreviewMarioRacewaySmall[2] = { { 0, 0, gTextureCoursePreviewMarioRaceway, 128, 78, 23, 112, 0x1e3d, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTexture title for mushroom cup + * @brief MenuTexture title for mushroom cup * */ -MkTexture D_02004C8C[5] = { +MenuTexture gMenuTextureTitleMushroomCup[5] = { { 1, 0, gTextureTitleLuigiRaceway, 140, 18, 157, 112, 0x0, 0 }, { 1, 0, gTextureTitleMooMooFarm, 140, 18, 157, 136, 0x0, 0 }, { 1, 0, gTextureTitleKoopaTroopaBeach, 140, 18, 157, 160, 0x0, 0 }, @@ -4514,10 +4514,10 @@ MkTexture D_02004C8C[5] = { }; /** - * @brief MkTexture title for flower cup + * @brief MenuTexture title for flower cup * */ -MkTexture D_02004CF0[5] = { +MenuTexture gMenuTextureTitleFlowerCup[5] = { { 1, 0, gTextureTitleToadsTurnpike, 140, 18, 157, 112, 0x0, 0 }, { 1, 0, gTextureTitleFrappeSnowland, 140, 18, 157, 136, 0x0, 0 }, { 1, 0, gTextureTitleChocoMountain, 140, 18, 157, 160, 0x0, 0 }, @@ -4526,10 +4526,10 @@ MkTexture D_02004CF0[5] = { }; /** - * @brief MkTexture title for star cup + * @brief MenuTexture title for star cup * */ -MkTexture D_02004D54[5] = { +MenuTexture gMenuTextureTitleStarCup[5] = { { 1, 0, gTextureTitleWarioStadium, 140, 18, 157, 112, 0x0, 0 }, { 1, 0, gTextureTitleSherbetLand, 140, 18, 157, 136, 0x0, 0 }, { 1, 0, gTextureTitleRoyalRaceway, 140, 18, 157, 160, 0x0, 0 }, @@ -4538,10 +4538,10 @@ MkTexture D_02004D54[5] = { }; /** - * @brief MkTexture title for special cup + * @brief MenuTexture title for special cup * */ -MkTexture D_02004DB8[5] = { +MenuTexture gMenuTextureTitleSpecialCup[5] = { { 1, 0, gTextureTitleDKsJungleParkway, 140, 18, 157, 112, 0x0, 0 }, { 1, 0, gTextureTitleYoshiValley, 140, 18, 157, 136, 0x0, 0 }, { 1, 0, gTextureTitleBansheeBoardwalk, 140, 18, 157, 160, 0x0, 0 }, @@ -4550,10 +4550,10 @@ MkTexture D_02004DB8[5] = { }; /** - * @brief MkTextures title for battle mode + * @brief MenuTextures title for battle mode * */ -MkTexture D_02004E1C[5] = { +MenuTexture gMenuTextureTitleBattleTrack[5] = { { 1, 0, gTextureTitleBigDonut, 140, 18, 157, 112, 0x0, 0 }, { 1, 0, gTextureTitleBlockFort, 140, 18, 157, 136, 0x0, 0 }, { 1, 0, gTextureTitleDoubleDeck, 140, 18, 157, 160, 0x0, 0 }, @@ -4562,1415 +4562,1415 @@ MkTexture D_02004E1C[5] = { }; /** - * @brief MkTextures Menu OK + * @brief MenuTextures Menu OK * */ -MkTexture D_02004E80[2] = { +MenuTexture D_02004E80[2] = { { 1, 0, gTextureMenuOK, 31, 19, 265, 208, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Mario Raceway + * @brief MenuTextures title Mario Raceway * */ -MkTexture D_02004EA8[2] = { +MenuTexture gMenuTextureTitleMarioRaceway[2] = { { 1, 0, gTextureTitleMarioRaceway, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Choco Mountain + * @brief MenuTextures title Choco Mountain * */ -MkTexture D_02004ED0[2] = { +MenuTexture gMenuTextureTitleChocoMountain[2] = { { 1, 0, gTextureTitleChocoMountain, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Bowser's Castle + * @brief MenuTextures title Bowser's Castle * */ -MkTexture D_02004EF8[2] = { +MenuTexture D_02004EF8[2] = { { 1, 0, gTextureTitleBowsersCastle, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Banshee Boardwalk + * @brief MenuTextures title Banshee Boardwalk * */ -MkTexture D_02004F20[2] = { +MenuTexture D_02004F20[2] = { { 1, 0, gTextureTitleBansheeBoardwalk, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Yoshi Valley + * @brief MenuTextures title Yoshi Valley * */ -MkTexture D_02004F48[2] = { +MenuTexture D_02004F48[2] = { { 1, 0, gTextureTitleYoshiValley, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Frappe Snowland + * @brief MenuTextures title Frappe Snowland * */ -MkTexture D_02004F70[2] = { +MenuTexture D_02004F70[2] = { { 1, 0, gTextureTitleFrappeSnowland, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Koopa Troopa Beach + * @brief MenuTextures title Koopa Troopa Beach * */ -MkTexture D_02004F98[2] = { +MenuTexture D_02004F98[2] = { { 1, 0, gTextureTitleKoopaTroopaBeach, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Royal Raceway + * @brief MenuTextures title Royal Raceway * */ -MkTexture D_02004FC0[2] = { +MenuTexture D_02004FC0[2] = { { 1, 0, gTextureTitleRoyalRaceway, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Luigi Raceway + * @brief MenuTextures title Luigi Raceway * */ -MkTexture D_02004FE8[2] = { +MenuTexture D_02004FE8[2] = { { 1, 0, gTextureTitleLuigiRaceway, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Moo Moo Farm + * @brief MenuTextures title Moo Moo Farm * */ -MkTexture D_02005010[2] = { +MenuTexture D_02005010[2] = { { 1, 0, gTextureTitleMooMooFarm, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Toad's Turnpike + * @brief MenuTextures title Toad's Turnpike * */ -MkTexture D_02005038[2] = { +MenuTexture D_02005038[2] = { { 1, 0, gTextureTitleToadsTurnpike, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Kalimari Desert + * @brief MenuTextures title Kalimari Desert * */ -MkTexture D_02005060[2] = { +MenuTexture D_02005060[2] = { { 1, 0, gTextureTitleKalimariDesert, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Sherbet Land + * @brief MenuTextures title Sherbet Land * */ -MkTexture D_02005088[2] = { +MenuTexture D_02005088[2] = { { 1, 0, gTextureTitleSherbetLand, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Rainbow Road + * @brief MenuTextures title Rainbow Road * */ -MkTexture D_020050B0[2] = { +MenuTexture D_020050B0[2] = { { 1, 0, gTextureTitleRainbowRoad, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Wario Stadium + * @brief MenuTextures title Wario Stadium * */ -MkTexture D_020050D8[2] = { +MenuTexture D_020050D8[2] = { { 1, 0, gTextureTitleWarioStadium, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Block Fort + * @brief MenuTextures title Block Fort * */ -MkTexture D_02005100[2] = { +MenuTexture D_02005100[2] = { { 1, 0, gTextureTitleBlockFort, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Skyscraper + * @brief MenuTextures title Skyscraper * */ -MkTexture D_02005128[2] = { +MenuTexture D_02005128[2] = { { 1, 0, gTextureTitleSkyscraper, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Double Deck + * @brief MenuTextures title Double Deck * */ -MkTexture D_02005150[2] = { +MenuTexture D_02005150[2] = { { 1, 0, gTextureTitleDoubleDeck, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title DK's Jungle Parkway + * @brief MenuTextures title DK's Jungle Parkway * */ -MkTexture D_02005178[2] = { +MenuTexture D_02005178[2] = { { 1, 0, gTextureTitleDKsJungleParkway, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures title Big Donut + * @brief MenuTextures title Big Donut * */ -MkTexture D_020051A0[2] = { +MenuTexture D_020051A0[2] = { { 1, 0, gTextureTitleBigDonut, 140, 18, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 00 + * @brief MenuTextures for Mario Face 00 * */ -MkTexture D_020051C8[2] = { +MenuTexture D_020051C8[2] = { { 0, 0, gTextureMarioFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 01 + * @brief MenuTextures for Mario Face 01 * */ -MkTexture D_020051F0[2] = { +MenuTexture D_020051F0[2] = { { 0, 0, gTextureMarioFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 02 + * @brief MenuTextures for Mario Face 02 * */ -MkTexture D_02005218[2] = { +MenuTexture D_02005218[2] = { { 0, 0, gTextureMarioFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 03 + * @brief MenuTextures for Mario Face 03 * */ -MkTexture D_02005240[2] = { +MenuTexture D_02005240[2] = { { 0, 0, gTextureMarioFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 04 + * @brief MenuTextures for Mario Face 04 * */ -MkTexture D_02005268[2] = { +MenuTexture D_02005268[2] = { { 0, 0, gTextureMarioFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 05 + * @brief MenuTextures for Mario Face 05 * */ -MkTexture D_02005290[2] = { +MenuTexture D_02005290[2] = { { 0, 0, gTextureMarioFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 06 + * @brief MenuTextures for Mario Face 06 * */ -MkTexture D_020052B8[2] = { +MenuTexture D_020052B8[2] = { { 0, 0, gTextureMarioFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 07 + * @brief MenuTextures for Mario Face 07 * */ -MkTexture D_020052E0[2] = { +MenuTexture D_020052E0[2] = { { 0, 0, gTextureMarioFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 08 + * @brief MenuTextures for Mario Face 08 * */ -MkTexture D_02005308[2] = { +MenuTexture D_02005308[2] = { { 0, 0, gTextureMarioFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 09 + * @brief MenuTextures for Mario Face 09 * */ -MkTexture D_02005330[2] = { +MenuTexture D_02005330[2] = { { 0, 0, gTextureMarioFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 10 + * @brief MenuTextures for Mario Face 10 * */ -MkTexture D_02005358[2] = { +MenuTexture D_02005358[2] = { { 0, 0, gTextureMarioFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 11 + * @brief MenuTextures for Mario Face 11 * */ -MkTexture D_02005380[2] = { +MenuTexture D_02005380[2] = { { 0, 0, gTextureMarioFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 12 + * @brief MenuTextures for Mario Face 12 * */ -MkTexture D_020053A8[2] = { +MenuTexture D_020053A8[2] = { { 0, 0, gTextureMarioFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 13 + * @brief MenuTextures for Mario Face 13 * */ -MkTexture D_020053D0[2] = { +MenuTexture D_020053D0[2] = { { 0, 0, gTextureMarioFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 14 + * @brief MenuTextures for Mario Face 14 * */ -MkTexture D_020053F8[2] = { +MenuTexture D_020053F8[2] = { { 0, 0, gTextureMarioFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 15 + * @brief MenuTextures for Mario Face 15 * */ -MkTexture D_02005420[2] = { +MenuTexture D_02005420[2] = { { 0, 0, gTextureMarioFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Mario Face 16 + * @brief MenuTextures for Mario Face 16 * */ -MkTexture D_02005448[2] = { +MenuTexture D_02005448[2] = { { 0, 0, gTextureMarioFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 00 + * @brief MenuTextures for Luigi Face 00 * */ -MkTexture D_02005470[2] = { +MenuTexture D_02005470[2] = { { 0, 0, gTextureLuigiFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 01 + * @brief MenuTextures for Luigi Face 01 * */ -MkTexture D_02005498[2] = { +MenuTexture D_02005498[2] = { { 0, 0, gTextureLuigiFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 02 + * @brief MenuTextures for Luigi Face 02 * */ -MkTexture D_020054C0[2] = { +MenuTexture D_020054C0[2] = { { 0, 0, gTextureLuigiFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 03 + * @brief MenuTextures for Luigi Face 03 * */ -MkTexture D_020054E8[2] = { +MenuTexture D_020054E8[2] = { { 0, 0, gTextureLuigiFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 04 + * @brief MenuTextures for Luigi Face 04 * */ -MkTexture D_02005510[2] = { +MenuTexture D_02005510[2] = { { 0, 0, gTextureLuigiFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 05 + * @brief MenuTextures for Luigi Face 05 * */ -MkTexture D_02005538[2] = { +MenuTexture D_02005538[2] = { { 0, 0, gTextureLuigiFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 06 + * @brief MenuTextures for Luigi Face 06 * */ -MkTexture D_02005560[2] = { +MenuTexture D_02005560[2] = { { 0, 0, gTextureLuigiFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 07 + * @brief MenuTextures for Luigi Face 07 * */ -MkTexture D_02005588[2] = { +MenuTexture D_02005588[2] = { { 0, 0, gTextureLuigiFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 08 + * @brief MenuTextures for Luigi Face 08 * */ -MkTexture D_020055B0[2] = { +MenuTexture D_020055B0[2] = { { 0, 0, gTextureLuigiFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 09 + * @brief MenuTextures for Luigi Face 09 * */ -MkTexture D_020055D8[2] = { +MenuTexture D_020055D8[2] = { { 0, 0, gTextureLuigiFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 10 + * @brief MenuTextures for Luigi Face 10 * */ -MkTexture D_02005600[2] = { +MenuTexture D_02005600[2] = { { 0, 0, gTextureLuigiFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 11 + * @brief MenuTextures for Luigi Face 11 * */ -MkTexture D_02005628[2] = { +MenuTexture D_02005628[2] = { { 0, 0, gTextureLuigiFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 12 + * @brief MenuTextures for Luigi Face 12 * */ -MkTexture D_02005650[2] = { +MenuTexture D_02005650[2] = { { 0, 0, gTextureLuigiFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 13 + * @brief MenuTextures for Luigi Face 13 * */ -MkTexture D_02005678[2] = { +MenuTexture D_02005678[2] = { { 0, 0, gTextureLuigiFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 14 + * @brief MenuTextures for Luigi Face 14 * */ -MkTexture D_020056A0[2] = { +MenuTexture D_020056A0[2] = { { 0, 0, gTextureLuigiFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 15 + * @brief MenuTextures for Luigi Face 15 * */ -MkTexture D_020056C8[2] = { +MenuTexture D_020056C8[2] = { { 0, 0, gTextureLuigiFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Luigi Face 16 + * @brief MenuTextures for Luigi Face 16 * */ -MkTexture D_020056F0[2] = { +MenuTexture D_020056F0[2] = { { 0, 0, gTextureLuigiFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 00 + * @brief MenuTextures for Toad Face 00 * */ -MkTexture D_02005718[2] = { +MenuTexture D_02005718[2] = { { 0, 0, gTextureToadFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 01 + * @brief MenuTextures for Toad Face 01 * */ -MkTexture D_02005740[2] = { +MenuTexture D_02005740[2] = { { 0, 0, gTextureToadFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 02 + * @brief MenuTextures for Toad Face 02 * */ -MkTexture D_02005768[2] = { +MenuTexture D_02005768[2] = { { 0, 0, gTextureToadFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 03 + * @brief MenuTextures for Toad Face 03 * */ -MkTexture D_02005790[2] = { +MenuTexture D_02005790[2] = { { 0, 0, gTextureToadFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 04 + * @brief MenuTextures for Toad Face 04 * */ -MkTexture D_020057B8[2] = { +MenuTexture D_020057B8[2] = { { 0, 0, gTextureToadFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 05 + * @brief MenuTextures for Toad Face 05 * */ -MkTexture D_020057E0[2] = { +MenuTexture D_020057E0[2] = { { 0, 0, gTextureToadFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 06 + * @brief MenuTextures for Toad Face 06 * */ -MkTexture D_02005808[2] = { +MenuTexture D_02005808[2] = { { 0, 0, gTextureToadFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 07 + * @brief MenuTextures for Toad Face 07 * */ -MkTexture D_02005830[2] = { +MenuTexture D_02005830[2] = { { 0, 0, gTextureToadFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 08 + * @brief MenuTextures for Toad Face 08 * */ -MkTexture D_02005858[2] = { +MenuTexture D_02005858[2] = { { 0, 0, gTextureToadFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 09 + * @brief MenuTextures for Toad Face 09 * */ -MkTexture D_02005880[2] = { +MenuTexture D_02005880[2] = { { 0, 0, gTextureToadFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 10 + * @brief MenuTextures for Toad Face 10 * */ -MkTexture D_020058A8[2] = { +MenuTexture D_020058A8[2] = { { 0, 0, gTextureToadFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 11 + * @brief MenuTextures for Toad Face 11 * */ -MkTexture D_020058D0[2] = { +MenuTexture D_020058D0[2] = { { 0, 0, gTextureToadFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 12 + * @brief MenuTextures for Toad Face 12 * */ -MkTexture D_020058F8[2] = { +MenuTexture D_020058F8[2] = { { 0, 0, gTextureToadFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 13 + * @brief MenuTextures for Toad Face 13 * */ -MkTexture D_02005920[2] = { +MenuTexture D_02005920[2] = { { 0, 0, gTextureToadFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 14 + * @brief MenuTextures for Toad Face 14 * */ -MkTexture D_02005948[2] = { +MenuTexture D_02005948[2] = { { 0, 0, gTextureToadFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 15 + * @brief MenuTextures for Toad Face 15 * */ -MkTexture D_02005970[2] = { +MenuTexture D_02005970[2] = { { 0, 0, gTextureToadFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Toad Face 16 + * @brief MenuTextures for Toad Face 16 * */ -MkTexture D_02005998[2] = { +MenuTexture D_02005998[2] = { { 0, 0, gTextureToadFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 00 + * @brief MenuTextures for Peach Face 00 * */ -MkTexture D_020059C0[2] = { +MenuTexture D_020059C0[2] = { { 0, 0, gTexturePeachFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 01 + * @brief MenuTextures for Peach Face 01 * */ -MkTexture D_020059E8[2] = { +MenuTexture D_020059E8[2] = { { 0, 0, gTexturePeachFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 02 + * @brief MenuTextures for Peach Face 02 * */ -MkTexture D_02005A10[2] = { +MenuTexture D_02005A10[2] = { { 0, 0, gTexturePeachFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 03 + * @brief MenuTextures for Peach Face 03 * */ -MkTexture D_02005A38[2] = { +MenuTexture D_02005A38[2] = { { 0, 0, gTexturePeachFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 04 + * @brief MenuTextures for Peach Face 04 * */ -MkTexture D_02005A60[2] = { +MenuTexture D_02005A60[2] = { { 0, 0, gTexturePeachFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 05 + * @brief MenuTextures for Peach Face 05 * */ -MkTexture D_02005A88[2] = { +MenuTexture D_02005A88[2] = { { 0, 0, gTexturePeachFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 06 + * @brief MenuTextures for Peach Face 06 * */ -MkTexture D_02005AB0[2] = { +MenuTexture D_02005AB0[2] = { { 0, 0, gTexturePeachFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 07 + * @brief MenuTextures for Peach Face 07 * */ -MkTexture D_02005AD8[2] = { +MenuTexture D_02005AD8[2] = { { 0, 0, gTexturePeachFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 08 + * @brief MenuTextures for Peach Face 08 * */ -MkTexture D_02005B00[2] = { +MenuTexture D_02005B00[2] = { { 0, 0, gTexturePeachFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 09 + * @brief MenuTextures for Peach Face 09 * */ -MkTexture D_02005B28[2] = { +MenuTexture D_02005B28[2] = { { 0, 0, gTexturePeachFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 10 + * @brief MenuTextures for Peach Face 10 * */ -MkTexture D_02005B50[2] = { +MenuTexture D_02005B50[2] = { { 0, 0, gTexturePeachFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 11 + * @brief MenuTextures for Peach Face 11 * */ -MkTexture D_02005B78[2] = { +MenuTexture D_02005B78[2] = { { 0, 0, gTexturePeachFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 12 + * @brief MenuTextures for Peach Face 12 * */ -MkTexture D_02005BA0[2] = { +MenuTexture D_02005BA0[2] = { { 0, 0, gTexturePeachFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 13 + * @brief MenuTextures for Peach Face 13 * */ -MkTexture D_02005BC8[2] = { +MenuTexture D_02005BC8[2] = { { 0, 0, gTexturePeachFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 14 + * @brief MenuTextures for Peach Face 14 * */ -MkTexture D_02005BF0[2] = { +MenuTexture D_02005BF0[2] = { { 0, 0, gTexturePeachFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 15 + * @brief MenuTextures for Peach Face 15 * */ -MkTexture D_02005C18[2] = { +MenuTexture D_02005C18[2] = { { 0, 0, gTexturePeachFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Peach Face 16 + * @brief MenuTextures for Peach Face 16 * */ -MkTexture D_02005C40[2] = { +MenuTexture D_02005C40[2] = { { 0, 0, gTexturePeachFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 00 + * @brief MenuTextures for Yoshi Face 00 * */ -MkTexture D_02005C68[2] = { +MenuTexture D_02005C68[2] = { { 0, 0, gTextureYoshiFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 01 + * @brief MenuTextures for Yoshi Face 01 * */ -MkTexture D_02005C90[2] = { +MenuTexture D_02005C90[2] = { { 0, 0, gTextureYoshiFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 02 + * @brief MenuTextures for Yoshi Face 02 * */ -MkTexture D_02005CB8[2] = { +MenuTexture D_02005CB8[2] = { { 0, 0, gTextureYoshiFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 03 + * @brief MenuTextures for Yoshi Face 03 * */ -MkTexture D_02005CE0[2] = { +MenuTexture D_02005CE0[2] = { { 0, 0, gTextureYoshiFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 04 + * @brief MenuTextures for Yoshi Face 04 * */ -MkTexture D_02005D08[2] = { +MenuTexture D_02005D08[2] = { { 0, 0, gTextureYoshiFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 05 + * @brief MenuTextures for Yoshi Face 05 * */ -MkTexture D_02005D30[2] = { +MenuTexture D_02005D30[2] = { { 0, 0, gTextureYoshiFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 06 + * @brief MenuTextures for Yoshi Face 06 * */ -MkTexture D_02005D58[2] = { +MenuTexture D_02005D58[2] = { { 0, 0, gTextureYoshiFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 07 + * @brief MenuTextures for Yoshi Face 07 * */ -MkTexture D_02005D80[2] = { +MenuTexture D_02005D80[2] = { { 0, 0, gTextureYoshiFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 08 + * @brief MenuTextures for Yoshi Face 08 * */ -MkTexture D_02005DA8[2] = { +MenuTexture D_02005DA8[2] = { { 0, 0, gTextureYoshiFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 09 + * @brief MenuTextures for Yoshi Face 09 * */ -MkTexture D_02005DD0[2] = { +MenuTexture D_02005DD0[2] = { { 0, 0, gTextureYoshiFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 10 + * @brief MenuTextures for Yoshi Face 10 * */ -MkTexture D_02005DF8[2] = { +MenuTexture D_02005DF8[2] = { { 0, 0, gTextureYoshiFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 11 + * @brief MenuTextures for Yoshi Face 11 * */ -MkTexture D_02005E20[2] = { +MenuTexture D_02005E20[2] = { { 0, 0, gTextureYoshiFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 12 + * @brief MenuTextures for Yoshi Face 12 * */ -MkTexture D_02005E48[2] = { +MenuTexture D_02005E48[2] = { { 0, 0, gTextureYoshiFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 13 + * @brief MenuTextures for Yoshi Face 13 * */ -MkTexture D_02005E70[2] = { +MenuTexture D_02005E70[2] = { { 0, 0, gTextureYoshiFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 14 + * @brief MenuTextures for Yoshi Face 14 * */ -MkTexture D_02005E98[2] = { +MenuTexture D_02005E98[2] = { { 0, 0, gTextureYoshiFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 15 + * @brief MenuTextures for Yoshi Face 15 * */ -MkTexture D_02005EC0[2] = { +MenuTexture D_02005EC0[2] = { { 0, 0, gTextureYoshiFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Yoshi Face 16 + * @brief MenuTextures for Yoshi Face 16 * */ -MkTexture D_02005EE8[2] = { +MenuTexture D_02005EE8[2] = { { 0, 0, gTextureYoshiFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 00 + * @brief MenuTextures for DK Face 00 * */ -MkTexture D_02005F10[2] = { +MenuTexture D_02005F10[2] = { { 0, 0, gTextureDkFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 01 + * @brief MenuTextures for DK Face 01 * */ -MkTexture D_02005F38[2] = { +MenuTexture D_02005F38[2] = { { 0, 0, gTextureDkFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 02 + * @brief MenuTextures for DK Face 02 * */ -MkTexture D_02005F60[2] = { +MenuTexture D_02005F60[2] = { { 0, 0, gTextureDkFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 03 + * @brief MenuTextures for DK Face 03 * */ -MkTexture D_02005F88[2] = { +MenuTexture D_02005F88[2] = { { 0, 0, gTextureDkFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 04 + * @brief MenuTextures for DK Face 04 * */ -MkTexture D_02005FB0[2] = { +MenuTexture D_02005FB0[2] = { { 0, 0, gTextureDkFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 05 + * @brief MenuTextures for DK Face 05 * */ -MkTexture D_02005FD8[2] = { +MenuTexture D_02005FD8[2] = { { 0, 0, gTextureDkFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 06 + * @brief MenuTextures for DK Face 06 * */ -MkTexture D_02006000[2] = { +MenuTexture D_02006000[2] = { { 0, 0, gTextureDkFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 07 + * @brief MenuTextures for DK Face 07 * */ -MkTexture D_02006028[2] = { +MenuTexture D_02006028[2] = { { 0, 0, gTextureDkFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 08 + * @brief MenuTextures for DK Face 08 * */ -MkTexture D_02006050[2] = { +MenuTexture D_02006050[2] = { { 0, 0, gTextureDkFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 09 + * @brief MenuTextures for DK Face 09 * */ -MkTexture D_02006078[2] = { +MenuTexture D_02006078[2] = { { 0, 0, gTextureDkFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 10 + * @brief MenuTextures for DK Face 10 * */ -MkTexture D_020060A0[2] = { +MenuTexture D_020060A0[2] = { { 0, 0, gTextureDkFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 11 + * @brief MenuTextures for DK Face 11 * */ -MkTexture D_020060C8[2] = { +MenuTexture D_020060C8[2] = { { 0, 0, gTextureDkFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 12 + * @brief MenuTextures for DK Face 12 * */ -MkTexture D_020060F0[2] = { +MenuTexture D_020060F0[2] = { { 0, 0, gTextureDkFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 13 + * @brief MenuTextures for DK Face 13 * */ -MkTexture D_02006118[2] = { +MenuTexture D_02006118[2] = { { 0, 0, gTextureDkFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 14 + * @brief MenuTextures for DK Face 14 * */ -MkTexture D_02006140[2] = { +MenuTexture D_02006140[2] = { { 0, 0, gTextureDkFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 15 + * @brief MenuTextures for DK Face 15 * */ -MkTexture D_02006168[2] = { +MenuTexture D_02006168[2] = { { 0, 0, gTextureDkFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for DK Face 16 + * @brief MenuTextures for DK Face 16 * */ -MkTexture D_02006190[2] = { +MenuTexture D_02006190[2] = { { 0, 0, gTextureDkFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 00 + * @brief MenuTextures for Wario Face 00 * */ -MkTexture D_020061B8[2] = { +MenuTexture D_020061B8[2] = { { 0, 0, gTextureWarioFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 01 + * @brief MenuTextures for Wario Face 01 * */ -MkTexture D_020061E0[2] = { +MenuTexture D_020061E0[2] = { { 0, 0, gTextureWarioFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 02 + * @brief MenuTextures for Wario Face 02 * */ -MkTexture D_02006208[2] = { +MenuTexture D_02006208[2] = { { 0, 0, gTextureWarioFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 03 + * @brief MenuTextures for Wario Face 03 * */ -MkTexture D_02006230[2] = { +MenuTexture D_02006230[2] = { { 0, 0, gTextureWarioFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 04 + * @brief MenuTextures for Wario Face 04 * */ -MkTexture D_02006258[2] = { +MenuTexture D_02006258[2] = { { 0, 0, gTextureWarioFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 05 + * @brief MenuTextures for Wario Face 05 * */ -MkTexture D_02006280[2] = { +MenuTexture D_02006280[2] = { { 0, 0, gTextureWarioFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 06 + * @brief MenuTextures for Wario Face 06 * */ -MkTexture D_020062A8[2] = { +MenuTexture D_020062A8[2] = { { 0, 0, gTextureWarioFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 07 + * @brief MenuTextures for Wario Face 07 * */ -MkTexture D_020062D0[2] = { +MenuTexture D_020062D0[2] = { { 0, 0, gTextureWarioFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 08 + * @brief MenuTextures for Wario Face 08 * */ -MkTexture D_020062F8[2] = { +MenuTexture D_020062F8[2] = { { 0, 0, gTextureWarioFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 09 + * @brief MenuTextures for Wario Face 09 * */ -MkTexture D_02006320[2] = { +MenuTexture D_02006320[2] = { { 0, 0, gTextureWarioFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 10 + * @brief MenuTextures for Wario Face 10 * */ -MkTexture D_02006348[2] = { +MenuTexture D_02006348[2] = { { 0, 0, gTextureWarioFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 11 + * @brief MenuTextures for Wario Face 11 * */ -MkTexture D_02006370[2] = { +MenuTexture D_02006370[2] = { { 0, 0, gTextureWarioFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 12 + * @brief MenuTextures for Wario Face 12 * */ -MkTexture D_02006398[2] = { +MenuTexture D_02006398[2] = { { 0, 0, gTextureWarioFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 13 + * @brief MenuTextures for Wario Face 13 * */ -MkTexture D_020063C0[2] = { +MenuTexture D_020063C0[2] = { { 0, 0, gTextureWarioFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 14 + * @brief MenuTextures for Wario Face 14 * */ -MkTexture D_020063E8[2] = { +MenuTexture D_020063E8[2] = { { 0, 0, gTextureWarioFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 15 + * @brief MenuTextures for Wario Face 15 * */ -MkTexture D_02006410[2] = { +MenuTexture D_02006410[2] = { { 0, 0, gTextureWarioFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Wario Face 16 + * @brief MenuTextures for Wario Face 16 * */ -MkTexture D_02006438[2] = { +MenuTexture D_02006438[2] = { { 0, 0, gTextureWarioFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 00 + * @brief MenuTextures for Bowser Face 00 * */ -MkTexture D_02006460[2] = { +MenuTexture D_02006460[2] = { { 0, 0, gTextureBowserFace00, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 01 + * @brief MenuTextures for Bowser Face 01 * */ -MkTexture D_02006488[2] = { +MenuTexture D_02006488[2] = { { 0, 0, gTextureBowserFace01, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 02 + * @brief MenuTextures for Bowser Face 02 * */ -MkTexture D_020064B0[2] = { +MenuTexture D_020064B0[2] = { { 0, 0, gTextureBowserFace02, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 03 + * @brief MenuTextures for Bowser Face 03 * */ -MkTexture D_020064D8[2] = { +MenuTexture D_020064D8[2] = { { 0, 0, gTextureBowserFace03, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 04 + * @brief MenuTextures for Bowser Face 04 * */ -MkTexture D_02006500[2] = { +MenuTexture D_02006500[2] = { { 0, 0, gTextureBowserFace04, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 05 + * @brief MenuTextures for Bowser Face 05 * */ -MkTexture D_02006528[2] = { +MenuTexture D_02006528[2] = { { 0, 0, gTextureBowserFace05, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 06 + * @brief MenuTextures for Bowser Face 06 * */ -MkTexture D_02006550[2] = { +MenuTexture D_02006550[2] = { { 0, 0, gTextureBowserFace06, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 07 + * @brief MenuTextures for Bowser Face 07 * */ -MkTexture D_02006578[2] = { +MenuTexture D_02006578[2] = { { 0, 0, gTextureBowserFace07, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 08 + * @brief MenuTextures for Bowser Face 08 * */ -MkTexture D_020065A0[2] = { +MenuTexture D_020065A0[2] = { { 0, 0, gTextureBowserFace08, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 09 + * @brief MenuTextures for Bowser Face 09 * */ -MkTexture D_020065C8[2] = { +MenuTexture D_020065C8[2] = { { 0, 0, gTextureBowserFace09, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 10 + * @brief MenuTextures for Bowser Face 10 * */ -MkTexture D_020065F0[2] = { +MenuTexture D_020065F0[2] = { { 0, 0, gTextureBowserFace10, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 11 + * @brief MenuTextures for Bowser Face 11 * */ -MkTexture D_02006618[2] = { +MenuTexture D_02006618[2] = { { 0, 0, gTextureBowserFace11, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 12 + * @brief MenuTextures for Bowser Face 12 * */ -MkTexture D_02006640[2] = { +MenuTexture D_02006640[2] = { { 0, 0, gTextureBowserFace12, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 13 + * @brief MenuTextures for Bowser Face 13 * */ -MkTexture D_02006668[2] = { +MenuTexture D_02006668[2] = { { 0, 0, gTextureBowserFace13, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 14 + * @brief MenuTextures for Bowser Face 14 * */ -MkTexture D_02006690[2] = { +MenuTexture D_02006690[2] = { { 0, 0, gTextureBowserFace14, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 15 + * @brief MenuTextures for Bowser Face 15 * */ -MkTexture D_020066B8[2] = { +MenuTexture D_020066B8[2] = { { 0, 0, gTextureBowserFace15, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; /** - * @brief MkTextures for Bowser Face 16 + * @brief MenuTextures for Bowser Face 16 * */ -MkTexture D_020066E0[2] = { +MenuTexture D_020066E0[2] = { { 0, 0, gTextureBowserFace16, 64, 64, 0, 0, 0x0, 0 }, { 0, 0, NULL, 0, 0, 0, 0, 0, 0 }, }; diff --git a/src/ending/credits.c b/src/ending/credits.c index 892583a02c..5a153110d3 100644 --- a/src/ending/credits.c +++ b/src/ending/credits.c @@ -1,7 +1,7 @@ #include "credits.h" #include "defines.h" -struct_802850C0_entry D_802850C0[] = { +CreditRenderInformation gTextCreaditRenderInformation[] = { { 0.80f, -200, 38, 160, 30, SLIDE_RIGHT, TEXT_BLUE_GREEN_RED_CYCLE_1, 0 }, { 0.90f, 520, 200, 160, 200, SLIDE_LEFT, TEXT_BLUE, 0 }, { 0.80f, -200, 38, 160, 30, SLIDE_RIGHT, TEXT_BLUE_GREEN_RED_CYCLE_1, 0 }, @@ -67,7 +67,7 @@ struct_802850C0_entry D_802850C0[] = { { 0.90f, 520, 130, 160, 130, SLIDE_LEFT, TEXT_YELLOW, 0 }, }; -char* D_802854B0[] = { +char* gTextCredit[] = { // English Credits "executive producer", "hiroshi yamauchi", "producer", "shigeru miyamoto", "director", "hideki konno", "assistant director", "yasuyuki oyagi", "programmer", "masato kimura", "kenji yamamoto", "yasuhiro kawaguchi", diff --git a/src/ending/credits.h b/src/ending/credits.h index df059da3b6..802e836651 100644 --- a/src/ending/credits.h +++ b/src/ending/credits.h @@ -19,9 +19,9 @@ typedef struct { /* 0x0C */ s8 slideDirection; // 0 for slide right, 1 for slide left. May have other uses/effects /* 0x0D */ s8 textColor; /* 0x0E */ s16 padding; // Always seems to be 0, never read (that I can see) -} struct_802850C0_entry; // size = 0x10 +} CreditRenderInformation; // size = 0x10 -extern struct_802850C0_entry D_802850C0[]; // D_802850C0 -extern char* D_802854B0[]; +extern CreditRenderInformation gTextCreaditRenderInformation[]; // gTextCreaditRenderInformation +extern char* gTextCredit[]; #endif diff --git a/src/menus.c b/src/menus.c index 8faeeab7bb..03edf71300 100644 --- a/src/menus.c +++ b/src/menus.c @@ -40,9 +40,9 @@ f32 gIntroModelPosY; f32 gIntroModelPosZ; s32 gMenuFadeType; -s8 gCharacterGridSelections[4]; // Map from each player to current grid position (1-4 top, 5-8 bottom) +s8 gCharacterGridSelections[4]; // Map from each player to current grid position (1-4 top, 5-8 bottom) bool8 gCharacterGridIsSelected[4]; // Sets true if a character is selected for each player -s8 gSubMenuSelection; // Map Select states, Options and Ghost Data text selection +s8 gSubMenuSelection; // Map Select states, Options and Ghost Data text selection s8 gMainMenuSelection; s8 gPlayerSelectMenuSelection; s8 gDebugMenuSelection; @@ -50,11 +50,12 @@ s8 gControllerPakMenuSelection; s8 gScreenModeListIndex; // 0-4 index, selects a screen mode in sScreenModePlayerTable u8 gSoundMode; s8 gPlayerCount; -s8 gVersusResultCursorSelection; // 4 options indexed (10-13), gets set when selecting an option -s8 gTimeTrialsResultCursorSelection; // 5 options indexed (5-9), gets set when selecting an option (excluding Save Ghost) -s8 gBattleResultCursorSelection; // 4 options indexed (10-13), gets set when selecting an option +s8 gVersusResultCursorSelection; // 4 options indexed (10-13), gets set when selecting an option +s8 gTimeTrialsResultCursorSelection; // 5 options indexed (5-9), gets set when selecting an option (excluding Save + // Ghost) +s8 gBattleResultCursorSelection; // 4 options indexed (10-13), gets set when selecting an option s8 gTimeTrialDataCourseIndex; -s8 gCourseRecordsMenuSelection; // Used for selecting an option in course record data +s8 gCourseRecordsMenuSelection; // Used for selecting an option in course record data s8 gCourseRecordsSubMenuSelection; // Used for erase records and ghosts (Quit - Erase) s8 gDebugGotoScene; bool8 gGhostPlayerInit; @@ -99,13 +100,9 @@ u32 sVIGammaOffDitherOn = (OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON); /** RoData **/ // Sets the actual screen mode based on values set in sScreenModePlayerCount -const s8 sScreenModePlayerTable[] = { - SCREEN_MODE_1P, - SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL, - SCREEN_MODE_2P_SPLITSCREEN_VERTICAL, - SCREEN_MODE_3P_4P_SPLITSCREEN, - SCREEN_MODE_3P_4P_SPLITSCREEN -}; +const s8 sScreenModePlayerTable[] = { SCREEN_MODE_1P, SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL, + SCREEN_MODE_2P_SPLITSCREEN_VERTICAL, SCREEN_MODE_3P_4P_SPLITSCREEN, + SCREEN_MODE_3P_4P_SPLITSCREEN }; // Sets how many players can load on each screen mode set in sScreenModePlayerTable const s8 sScreenModePlayerCount[] = { 1, 2, 2, 3, 4 }; @@ -141,8 +138,7 @@ const s32 gGameModePlayerSelection[][3] = { // Map from character grid position id to character id // Note: changing order doesn't affect graphics, only the selection const s8 sCharacterGridOrder[] = { - MARIO, LUIGI, PEACH, TOAD, - YOSHI, DK, WARIO, BOWSER, + MARIO, LUIGI, PEACH, TOAD, YOSHI, DK, WARIO, BOWSER, }; const s16 gCupCourseOrder[5][4] = { @@ -186,7 +182,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; } @@ -227,7 +223,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: @@ -244,7 +240,7 @@ void update_menus(void) { */ void options_menu_act(struct Controller* controller, u16 controllerIdx) { u16 btnAndStick; // sp3E - struct_8018D9E0_entry* sp38; + MenuItem* sp38; s32 res; struct_8018EE10_entry* sp30; bool tempVar; // cursorWasMoved or communicateStoredAction @@ -257,8 +253,8 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { } if (!is_screen_being_faded()) { - sp38 = find_8018D9E0_entry_dupe(0xF0); - sp30 = (struct_8018EE10_entry*) D_8018D9C0; + sp38 = find_menu_items_type_dupe(0xF0); + sp30 = (struct_8018EE10_entry*) gSomeDLBuffer; switch (gSubMenuSelection) { case SUB_MENU_OPTION_RETURN_GAME_SELECT: case SUB_MENU_OPTION_SOUND_MODE: @@ -268,35 +264,35 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_OPTION_MAX)) { gSubMenuSelection += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = 1; + sp38->subState = 1; tempVar = true; } if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_OPTION_MIN)) { gSubMenuSelection -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } tempVar = true; - sp38->unk8 = -1; + sp38->subState = -1; } - if (tempVar && gSoundMode != sp38->cursor) { + if (tempVar && gSoundMode != sp38->state) { gSaveData.main.saveInfo.soundMode = gSoundMode; write_save_data_grand_prix_points_and_sound_mode(); update_save_data_backup(); - sp38->cursor = gSoundMode; + sp38->state = gSoundMode; } if (btnAndStick & B_BUTTON) { func_8009E280(); play_sound2(SOUND_MENU_GO_BACK); - if (gSoundMode != sp38->cursor) { + if (gSoundMode != sp38->state) { gSaveData.main.saveInfo.soundMode = gSoundMode; write_save_data_grand_prix_points_and_sound_mode(); update_save_data_backup(); - sp38->cursor = gSoundMode; + sp38->state = gSoundMode; } return; } @@ -336,7 +332,7 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { switch (tempVar) { case PFS_INVALID_DATA: gSubMenuSelection = SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT; - sp38->cursor = 0; + sp38->state = 0; play_sound2(SOUND_MENU_SELECT); break; case PFS_NO_ERROR: @@ -407,18 +403,18 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_ERASE_MAX)) { gSubMenuSelection += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = 1; + sp38->subState = 1; } if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_ERASE_MIN)) { gSubMenuSelection -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = -1; + sp38->subState = -1; } if (btnAndStick & B_BUTTON) { gSubMenuSelection = SUB_MENU_OPTION_ERASE_ALL_DATA; @@ -450,21 +446,23 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { } case SUB_MENU_COPY_PAK_FROM_GHOST1_1P: case SUB_MENU_COPY_PAK_FROM_GHOST2_1P: { - if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_COPY_PAK_FROM_GHOST_MAX) && (sp30[PLAYER_TWO].ghostDataSaved)) { + if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_COPY_PAK_FROM_GHOST_MAX) && + (sp30[PLAYER_TWO].ghostDataSaved)) { gSubMenuSelection += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = 1; + sp38->subState = 1; } - if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_COPY_PAK_FROM_GHOST_MIN) && sp30[PLAYER_ONE].ghostDataSaved) { + if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_COPY_PAK_FROM_GHOST_MIN) && + sp30[PLAYER_ONE].ghostDataSaved) { gSubMenuSelection -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = -1; + sp38->subState = -1; } if (btnAndStick & B_BUTTON) { gSubMenuSelection = SUB_MENU_OPTION_COPY_CONTROLLER_PAK; @@ -472,8 +470,9 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { return; } if (btnAndStick & A_BUTTON) { - sp38->unk20 = gSubMenuSelection - SUB_MENU_COPY_PAK_FROM_GHOST_MIN; - if (sp30[sp38->unk20].courseIndex == D_8018EE10[PLAYER_TWO].courseIndex && D_8018EE10[PLAYER_TWO].ghostDataSaved) { + sp38->param2 = gSubMenuSelection - SUB_MENU_COPY_PAK_FROM_GHOST_MIN; + if (sp30[sp38->param2].courseIndex == D_8018EE10[PLAYER_TWO].courseIndex && + D_8018EE10[PLAYER_TWO].ghostDataSaved) { gSubMenuSelection = SUB_MENU_COPY_PAK_TO_GHOST2_2P; } else { gSubMenuSelection = SUB_MENU_COPY_PAK_TO_GHOST1_2P; @@ -485,35 +484,36 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { case SUB_MENU_COPY_PAK_TO_GHOST1_2P: case SUB_MENU_COPY_PAK_TO_GHOST2_2P: { // bit of a fake match, but if it works it works? - if ((sp30[sp38->unk20].courseIndex != ((0, (D_8018EE10 + (gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN))->courseIndex))) || + if ((sp30[sp38->param2].courseIndex != + ((0, (D_8018EE10 + (gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN))->courseIndex))) || ((D_8018EE10 + (gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN))->ghostDataSaved == 0)) { if ((btnAndStick & D_JPAD) && (gSubMenuSelection < SUB_MENU_COPY_PAK_TO_GHOST_MAX)) { gSubMenuSelection += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = 1; + sp38->subState = 1; } if ((btnAndStick & U_JPAD) && (gSubMenuSelection > SUB_MENU_COPY_PAK_TO_GHOST_MIN)) { gSubMenuSelection -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = -1; + sp38->subState = -1; } } if (btnAndStick & B_BUTTON) { - gSubMenuSelection = sp38->unk20 + SUB_MENU_COPY_PAK_FROM_GHOST_MIN; + gSubMenuSelection = sp38->param2 + SUB_MENU_COPY_PAK_FROM_GHOST_MIN; play_sound2(SOUND_MENU_GO_BACK); } else if (btnAndStick & A_BUTTON) { - sp38->unk1C = gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN; - if (D_8018EE10[(sp38->unk1C)].ghostDataSaved) { + sp38->param1 = gSubMenuSelection - SUB_MENU_COPY_PAK_TO_GHOST_MIN; + if (D_8018EE10[(sp38->param1)].ghostDataSaved) { gSubMenuSelection = SUB_MENU_COPY_PAK_PROMPT_QUIT; } else { gSubMenuSelection = SUB_MENU_COPY_PAK_START; - sp38->cursor = 0; + sp38->state = 0; } play_sound2(SOUND_MENU_SELECT); } @@ -540,21 +540,21 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { if ((btnAndStick & R_JPAD) && gSubMenuSelection < SUB_MENU_COPY_PAK_PROMPT_MAX) { gSubMenuSelection += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = 1; + sp38->subState = 1; } if ((btnAndStick & L_JPAD) && gSubMenuSelection > SUB_MENU_COPY_PAK_PROMPT_MIN) { gSubMenuSelection -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp38->unk24 < 4.2) { - sp38->unk24 += 4.0; + if (sp38->paramf < 4.2) { + sp38->paramf += 4.0; } - sp38->unk8 = -1; + sp38->subState = -1; } if (btnAndStick & B_BUTTON) { - gSubMenuSelection = sp38->unk1C + SUB_MENU_COPY_PAK_TO_GHOST_MIN; + gSubMenuSelection = sp38->param1 + SUB_MENU_COPY_PAK_TO_GHOST_MIN; play_sound2(SOUND_MENU_GO_BACK); return; } @@ -565,7 +565,7 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { } else { gSubMenuSelection = SUB_MENU_COPY_PAK_START; play_sound2(SOUND_MENU_SELECT); - sp38->cursor = 0; + sp38->state = 0; } } // return? @@ -573,9 +573,9 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { } case SUB_MENU_COPY_PAK_START: { if (controllerIdx == PLAYER_ONE) { - sp38->cursor += 1; + sp38->state += 1; } - if (sp38->cursor >= 3) { + if (sp38->state >= 3) { gSubMenuSelection = SUB_MENU_COPY_PAK_COPYING; } break; @@ -583,7 +583,7 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { case SUB_MENU_COPY_PAK_COPYING: { res = controller_pak_2_status(); if (res == PFS_NO_ERROR) { - res = func_800B65F4(sp38->unk20, sp38->unk1C); + res = func_800B65F4(sp38->param2, sp38->param1); } if (res != 0) { gSubMenuSelection = SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P; @@ -593,7 +593,7 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { res = osPfsFindFile(&gControllerPak1FileHandle, gCompanyCode, gGameCode, (u8*) gGameName, (u8*) gExtCode, &gControllerPak1FileNote); if (res == PFS_NO_ERROR) { - res = func_800B6178(sp38->unk1C); + res = func_800B6178(sp38->param1); } if (res != 0) { gSubMenuSelection = SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P; @@ -601,15 +601,15 @@ void options_menu_act(struct Controller* controller, u16 controllerIdx) { return; } gSubMenuSelection = SUB_MENU_COPY_PAK_COMPLETED; - D_8018EE10[sp38->unk1C].courseIndex = (sp30 + sp38->unk20)->courseIndex; - func_800B6088(sp38->unk1C); + D_8018EE10[sp38->param1].courseIndex = (sp30 + sp38->param2)->courseIndex; + func_800B6088(sp38->param1); break; } case SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT: { if (controllerIdx == PLAYER_ONE) { - sp38->cursor += 1; + sp38->state += 1; } - if (sp38->cursor >= 3) { + if (sp38->state >= 3) { gSubMenuSelection = SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE; } break; @@ -699,7 +699,7 @@ void data_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) { */ void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerIdx) { u16 btnAndStick; // sp2E - struct_8018D9E0_entry* sp28; + MenuItem* sp28; CourseTimeTrialRecords* sp24; s32 res; @@ -722,10 +722,11 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerId play_sound2(SOUND_MENU_CURSOR_MOVE); } - sp28 = find_8018D9E0_entry_dupe(0xE8); + sp28 = find_menu_items_type_dupe(0xE8); sp24 = &gSaveData.allCourseTimeTrialRecords.cupRecords[gTimeTrialDataCourseIndex / 4] .courseRecords[gTimeTrialDataCourseIndex % 4]; - if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_GHOST && func_800B639C(gTimeTrialDataCourseIndex) < 0) { + if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_GHOST && + func_800B639C(gTimeTrialDataCourseIndex) < 0) { gCourseRecordsMenuSelection -= 1; } @@ -739,19 +740,21 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerId gCourseRecordsMenuSelection -= 1; } play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp28->unk24 < 4.2) { - sp28->unk24 += 4.0; + if (sp28->paramf < 4.2) { + sp28->paramf += 4.0; } - sp28->unk8 = -1; + sp28->subState = -1; } if ((btnAndStick & D_JPAD) && (gCourseRecordsMenuSelection < COURSE_RECORDS_MENU_MAX)) { gCourseRecordsMenuSelection += 1; - if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_RECORDS && sp24->unknownBytes[0] == 0) { + if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_RECORDS && + sp24->unknownBytes[0] == 0) { gCourseRecordsMenuSelection += 1; } - if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_GHOST && func_800B639C(gTimeTrialDataCourseIndex) < 0) { + if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_ERASE_GHOST && + func_800B639C(gTimeTrialDataCourseIndex) < 0) { if (sp24->unknownBytes[0] == 0) { gCourseRecordsMenuSelection = COURSE_RECORDS_MENU_RETURN_MENU; } else { @@ -759,10 +762,10 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerId } } else { play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp28->unk24 < 4.2) { - sp28->unk24 += 4.0; + if (sp28->paramf < 4.2) { + sp28->paramf += 4.0; } - sp28->unk8 = 1; + sp28->subState = 1; } } @@ -770,8 +773,8 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerId func_8009E208(); play_sound2(SOUND_MENU_GO_BACK); } else if (btnAndStick & A_BUTTON) { - if (sp28->unk24 < 4.2) { - sp28->unk24 += 4.0; + if (sp28->paramf < 4.2) { + sp28->paramf += 4.0; } if (gCourseRecordsMenuSelection == COURSE_RECORDS_MENU_RETURN_MENU) { func_8009E208(); @@ -785,23 +788,23 @@ void course_data_menu_act(struct Controller* controller, UNUSED u16 controllerId break; } case SUB_MENU_DATA_ERASE_CONFIRM: { - sp28 = find_8018D9E0_entry_dupe(0xE9); + sp28 = find_menu_items_type_dupe(0xE9); if ((btnAndStick & U_JPAD) && (gCourseRecordsSubMenuSelection > COURSE_RECORDS_SUB_MENU_MIN)) { gCourseRecordsSubMenuSelection -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp28->unk24 < 4.2) { - sp28->unk24 += 4.0; + if (sp28->paramf < 4.2) { + sp28->paramf += 4.0; } - sp28->unk8 = -1; + sp28->subState = -1; } if ((btnAndStick & D_JPAD) && (gCourseRecordsSubMenuSelection < COURSE_RECORDS_SUB_MENU_MAX)) { gCourseRecordsSubMenuSelection += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); - if (sp28->unk24 < 4.2) { - sp28->unk24 += 4.0; + if (sp28->paramf < 4.2) { + sp28->paramf += 4.0; } - sp28->unk8 = 1; + sp28->subState = 1; } if (btnAndStick & B_BUTTON) { @@ -934,7 +937,8 @@ void controller_pak_menu_act(struct Controller* controller, UNUSED u16 controlle return; } } - } else if (((btnAndStick & D_JPAD) != 0) && (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE)) { + } else if (((btnAndStick & D_JPAD) != 0) && + (gControllerPakScrollDirection == CONTROLLER_PAK_SCROLL_DIR_NONE)) { ++gControllerPakSelectedTableRow; if (gControllerPakSelectedTableRow >= CONTROLLER_PAK_MENU_TABLE_GAME_DATA) { gControllerPakSelectedTableRow = CONTROLLER_PAK_MENU_QUIT; @@ -1413,13 +1417,15 @@ void main_menu_act(struct Controller* controller, u16 controllerIdx) { // L800B3068 if (btnAndStick & D_JPAD) { cursorMoved = false; - if (func_800B555C()) { - if (subMode < sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + if (has_terminate_150cc()) { + if (subMode < + sGameModePlayerColumnExtra[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { cursorMoved = true; } } else { // L800B30D4 - if (subMode < sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { + if (subMode < + sGameModePlayerColumnDefault[gPlayerCount - 1][gGameModeMenuColumn[gPlayerCount - 1]]) { cursorMoved = true; } } @@ -1569,8 +1575,7 @@ void player_select_menu_act(struct Controller* controller, u16 controllerIdx) { // L800B36F4 selected = false; for (i = 0; i < ARRAY_COUNT(gCharacterGridSelections); i++) { - if ((gCharacterGridSelections[i] != 0) && - (gCharacterGridIsSelected[i] == 0)) { + if ((gCharacterGridSelections[i] != 0) && (gCharacterGridIsSelected[i] == 0)) { selected = true; break; } @@ -1793,7 +1798,8 @@ void course_select_menu_act(struct Controller* arg0, u16 controllerIdx) { } break; case SUB_MENU_MAP_SELECT_OK: - if ((controllerIdx == PLAYER_ONE) && ((++gMenuTimingCounter == 0x3C) || ((gMenuTimingCounter % 300) == 0))) { + if ((controllerIdx == PLAYER_ONE) && + ((++gMenuTimingCounter == 0x3C) || ((gMenuTimingCounter % 300) == 0))) { play_sound2(SOUND_MENU_OK); } @@ -1933,7 +1939,7 @@ void load_menu_states(s32 menuSelection) { break; } case 2: - case PLAYER_SELECT_MENU: { + case CHARACTER_SELECT_MENU: { switch (gMenuFadeType) { case MENU_FADE_TYPE_MAIN: { gPlayerSelectMenuSelection = PLAYER_SELECT_MENU_MAIN; @@ -2044,7 +2050,7 @@ bool is_screen_being_faded(void) { */ UNUSED void debug_print_ghost_kart_character_id(s32 arg0, s32 arg1) { struct_8018EE10_entry* pak1 = D_8018EE10; - struct_8018EE10_entry* pak2 = (struct_8018EE10_entry*) D_8018D9C0; + struct_8018EE10_entry* pak2 = (struct_8018EE10_entry*) gSomeDLBuffer; rmonPrintf("ghost_kart=%d,", D_80162DE0); rmonPrintf("pak1_ghost_kart=%d,", (pak1 + arg0)->characterId); diff --git a/src/racing/skybox_and_splitscreen.c b/src/racing/skybox_and_splitscreen.c index 25a45c4416..a39c638c41 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; diff --git a/src/render_objects.c b/src/render_objects.c index 4a8769fa17..1bbcc048b8 100644 --- a/src/render_objects.c +++ b/src/render_objects.c @@ -1525,7 +1525,7 @@ void func_8004B72C(s32 primRed, s32 primGreen, s32 primBlue, s32 envRed, s32 env PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); } -void func_8004B7DC(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 arg6) { +void render_texture_rectangle(s32 x, s32 y, s32 width, s32 height, s32 s, s32 w, s32 mode) { s32 xh = (((x + width) - 1) << 2); s32 yh = (((y + height) - 1) << 2); @@ -1535,18 +1535,20 @@ void func_8004B7DC(s32 x, s32 y, s32 width, s32 height, s32 arg4, s32 arg5, s32 s32 xh2 = (((x + width)) << 2); s32 yh2 = ((y + height) << 2); - if (arg6 == 0) { - //! @todo Update to F3DEX. Uses OLD definition for gspTextureRectangle. - gSPTextureRectangle(gDisplayListHead++, xl, yl, xh, yh, G_TX_RENDERTILE, arg4 << 5, (arg5 << 5), 4 << 10, + // If no cycle mode is set, render texture rectangle in copy mode + if (mode == 0) { + gSPTextureRectangle(gDisplayListHead++, xl, yl, xh, yh, G_TX_RENDERTILE, s << 5, (w << 5), 4 << 10, 1 << 10); return; } - gSPTextureRectangle(gDisplayListHead++, xl, yl, xh2, yh2, G_TX_RENDERTILE, arg4 << 5, (arg5 << 5), 1 << 10, + // Render texture rectangle in default cycle mode (1 cycle or 2 cycle) + gSPTextureRectangle(gDisplayListHead++, xl, yl, xh2, yh2, G_TX_RENDERTILE, s << 5, (w << 5), 1 << 10, 1 << 10); } -void func_8004B950(s32 x, s32 y, s32 width, s32 height, s32 arg4) { - func_8004B7DC(x, y, width, height, 0, 0, arg4); +void render_texture_rectangle_from_base(s32 x, s32 y, s32 width, s32 height, s32 mode) { + // (0, 0) means texture coordinates will be rendered from the top left corner + render_texture_rectangle(x, y, width, height, 0, 0, mode); } void func_8004B97C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { @@ -1569,7 +1571,7 @@ void func_8004B97C(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { var_v0 = -arg1; var_a1 = 0; } - func_8004B7DC(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4); + render_texture_rectangle(sp2C, var_a1, arg2 - var_v1, arg3 - var_v0, var_v1, var_v0, arg4); } } @@ -1593,7 +1595,7 @@ void func_8004BA08(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { phi_v0 = -arg1; phi_a1 = 0; } - func_8004B7DC(sp2C, phi_a1, arg2 - phi_v1, arg3 - phi_v0, phi_v1 + arg2, phi_v0, arg4); + render_texture_rectangle(sp2C, phi_a1, arg2 - phi_v1, arg3 - phi_v0, phi_v1 + arg2, phi_v0, arg4); } } @@ -1623,7 +1625,7 @@ void func_8004BA98(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s sp30 = 0; phi_a3 = arg3 + arg1; } - func_8004B7DC(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6); + render_texture_rectangle(sp34, sp30, sp2C, phi_a3, phi_v0, phi_v1, arg6); } } @@ -1678,7 +1680,7 @@ UNUSED void func_8004BD14(s32 x, s32 y, u32 width, u32 height, s32 alpha, u8* te gDPLoadMultiTile(gDisplayListHead++, texture2, 256, G_TX_RENDERTILE + 1, G_IM_FMT_RGBA, G_IM_SIZ_16b, width, height, 0, 0, width - 1, height - 1, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - func_8004B950(x, y, width, height, 2); + render_texture_rectangle_from_base(x, y, width, height, 2); gSPDisplayList(gDisplayListHead++, D_0D008120); } @@ -1766,54 +1768,54 @@ void func_8004C628(s32 arg0, s32 arg1, u32 arg2, u32 arg3, u8* texture) { #ifdef NON_MATCHING // https://decomp.me/scratch/TqXqn -// There's a weird fakematch concerning `athing`, don't know that to make of. Can't quite get it over the finish line +// There's a weird fakematch concerning `xPos`, don't know that to make of. Can't quite get it over the finish line // though -void func_8004C6FC(s16 arg0, s16 arg1, u8* texture, u32 width, u32 arg4) { - s32 temp_v0_3; - s32 var_s3; - s32 var_s4; - s32 athing; - s32 temp_t3; - u32 temp_t8; - s32 heigth; - s32 var_s6; +void render_texture_tile_rgba32_block(s16 x, s16 y, u8* texture, u32 width, u32 height) { + s32 texSizeLess; + s32 i; + s32 yPos; + s32 xPos; + s32 texBlockCount; + u32 texSize; + s32 heightDiv; + s32 realCount; u8* textureCopy; - athing = arg0 - (width / 2); - var_s4 = arg1 - (arg4 / 2); + xPos = x - (width / 2); + yPos = y - (height / 2); textureCopy = texture; gSPDisplayList(gDisplayListHead++, D_0D007EF8); gDPSetRenderMode(gDisplayListHead++, G_RM_XLU_SURF, G_RM_XLU_SURF2); - temp_t8 = width * arg4 * 4; - temp_t3 = temp_t8 / 4096; - if (temp_t8 % 4096) { - temp_t3++; - } - heigth = arg4 / temp_t3; - var_s6 = temp_t3; - for (var_s3 = 0; var_s3 < var_s6; var_s3++) { - load_texture_tile_rgba32_nomirror(textureCopy, width, heigth); - func_8004B950(athing, var_s4, width, heigth, 1); - temp_v0_3 = temp_t8 - (width * heigth * 4); - textureCopy += (width * heigth * 4); - if (temp_v0_3 < 0) { - heigth = temp_t8 / width; + texSize = width * height * 4; + texBlockCount = texSize / 4096; + if (texSize % 4096) { + texBlockCount++; + } + heightDiv = height / texBlockCount; + realCount = texBlockCount; + for (i = 0; i < realCount; i++) { + load_texture_tile_rgba32_nomirror(textureCopy, width, heightDiv); + render_texture_rectangle_from_base(xPos, yPos, width, heightDiv, 1); + texSizeLess = texSize - (width * heightDiv * 4); + textureCopy += (width * heightDiv * 4); + if (texSizeLess < 0) { + heightDiv = texSize / width; } else { - temp_t8 = temp_v0_3; + texSize = texSizeLess; } // Weird fakematch that is a HUGE improvement - athing += var_s4 * 0; - var_s4 += heigth; + xPos += yPos * 0; + yPos += heightDiv; } gSPDisplayList(gDisplayListHead++, D_0D007EB8); } #else -GLOBAL_ASM("asm/non_matchings/render_objects/func_8004C6FC.s") +GLOBAL_ASM("asm/non_matchings/render_objects/render_texture_tile_rgba32_block.s") #endif -void func_8004C8D4(s16 arg0, s16 arg1) { - func_8004C6FC(arg0, arg1, D_8018D1E0, 0x100, 0x80); +void render_game_logo(s16 x, s16 y) { + render_texture_tile_rgba32_block(x, y, gGameLogoAddress, 256, 128); } UNUSED void func_8004C91C(s32 arg0, s32 arg1, u8* texture, s32 arg3, s32 arg4, s32 arg5) { @@ -4687,7 +4689,7 @@ UNUSED void func_800573DC(void) { } void func_800573E4(s32 x, s32 y, s8 str) { - func_8004B7DC(x, y, 8, 8, (((str % 16) * 8) << 16) >> 16, (((unsigned short) (str / 16)) << 19) >> 16, 0); + render_texture_rectangle(x, y, 8, 8, (((str % 16) * 8) << 16) >> 16, (((unsigned short) (str / 16)) << 19) >> 16, 0); } void debug_wrap_text(s32* x, s32* y) { diff --git a/src/render_objects.h b/src/render_objects.h index ed0419a952..64143b193a 100644 --- a/src/render_objects.h +++ b/src/render_objects.h @@ -203,7 +203,7 @@ void func_8004B5A8(s32, s32, s32, s32); void func_8004B614(s32, s32, s32, s32, s32, s32, s32); void func_8004B6C4(s32, s32, s32); void func_8004B72C(s32, s32, s32, s32, s32, s32, s32); -void func_8004B950(s32, s32, s32, s32, s32); +void render_texture_rectangle_from_base(s32, s32, s32, s32, s32); void func_8004BB34(void); void func_8004BB3C(s32, s32, s32, s32, f32); void func_8004BD14(s32, s32, u32, u32, s32, u8*, u8*); @@ -218,7 +218,7 @@ void draw_hud_2d_texture(s32, s32, u32, u32, u8*); void func_8004C450(s32, s32, u32, u32, u8*); void func_8004C53C(s32, s32, u32, u32, u8*); void func_8004C628(s32, s32, u32, u32, u8*); -void func_8004C8D4(s16, s16); +void render_game_logo(s16, s16); void func_8004C91C(s32, s32, u8*, s32, s32, s32); void func_8004C9D8(s32, s32, s32, u8*, s32, s32, s32, s32); void func_8004CA58(s32, s32, f32, u8*, s32, s32); diff --git a/src/save.c b/src/save.c index 3564522e71..c4cf3b7b73 100644 --- a/src/save.c +++ b/src/save.c @@ -427,21 +427,21 @@ u8 func_800B5508(s32 cup, s32 ccGrandPrixPoints, s32 points_scored) { // Check if all 4 cups have gold cups scored // for a given CC mode -s32 func_800B5530(s32 cc_mode) { +bool has_terminate_cc_mode(s32 cc_mode) { if (gSaveData.main.saveInfo.grandPrixPoints[cc_mode] == 0xFF) { - return 1; + return true; } - return 0; + return false; } // Check if the 150CC mode has all 4 gold cups -s32 func_800B555C(void) { - return func_800B5530(CC_150); +s32 has_terminate_150cc(void) { + return has_terminate_cc_mode(CC_150); } // Check if the Extra mode has all 4 gold cups -s32 func_800B557C(void) { - return func_800B5530(CC_EXTRA); +s32 has_terminate_cc_extra(void) { + return has_terminate_cc_mode(CC_EXTRA); } void func_800B559C(s32 arg0) { @@ -913,7 +913,7 @@ s32 func_800B65F4(s32 arg0, s32 arg1) { writeStatus = osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, 0U, (arg0 * 0x3C00) + 0x100, 0x00003C00, (u8*) D_800DC714); if (writeStatus == 0) { - temp_s3 = &((struct_8018EE10_entry*) D_8018D9C0)[arg0]; + temp_s3 = &((struct_8018EE10_entry*) gSomeDLBuffer)[arg0]; for (i = 0; i < 0x3C; i++) { if (temp_s3->unk_07[i] != func_800B60E8(i)) { temp_s3->ghostDataSaved = 0; @@ -944,14 +944,14 @@ void func_800B6798(void) { s32 temp_s0; u8* tmp; - tmp = (u8*) D_8018D9C0; + tmp = (u8*) gSomeDLBuffer; osPfsReadWriteFile(&gControllerPak2FileHandle, gControllerPak2FileNote, PFS_READ, 0, 0x100 /* 2*sizeof(struct_8018EE10_entry) ? */, tmp); for (temp_s0 = 0; temp_s0 < 2; ++temp_s0) { - // if (D_8018D9C0[temp_s0]->checksum != func_800B68F4(temp_s0)) { - // D_8018D9C0[temp_s0]->ghostDataSaved = 0; + // if (gSomeDLBuffer[temp_s0]->checksum != func_800B68F4(temp_s0)) { + // gSomeDLBuffer[temp_s0]->ghostDataSaved = 0; // } if (((struct_8018EE10_entry*) (tmp + (temp_s0 << 7)))->checksum != func_800B68F4(temp_s0)) { ((struct_8018EE10_entry*) (tmp + (temp_s0 << 7)))->ghostDataSaved = 0; @@ -976,7 +976,7 @@ u8 func_800B68F4(s32 arg0) { s32 i; checksum = 0; for (i = 0; i < 0x43; i++) { - u8* addr = &((u8*) D_8018D9C0)[arg0]; + u8* addr = &((u8*) gSomeDLBuffer)[arg0]; checksum += addr[i] * multiplier + i; } return checksum; diff --git a/src/save.h b/src/save.h index a6d142128b..b49a416fc7 100644 --- a/src/save.h +++ b/src/save.h @@ -55,9 +55,9 @@ void func_800B5404(s32, s32); u8 func_800B54C0(s32, s32); u8 func_800B54EC(s32, s32); u8 func_800B5508(s32, s32, s32); -s32 func_800B5530(s32); -s32 func_800B555C(void); -s32 func_800B557C(void); +s32 has_terminate_cc_mode(s32); +s32 has_terminate_150cc(void); +s32 has_terminate_cc_extra(void); void func_800B559C(s32); s32 func_800B578C(s32); s32 func_800B5888(s32); diff --git a/src/textures.h b/src/textures.h index bc908ad5a6..99386f0890 100644 --- a/src/textures.h +++ b/src/textures.h @@ -17,209 +17,209 @@ typedef struct { /* 0x0E */ u16 dY; /* 0x10 */ u16 size; // This size is NOT equal to width*height. Its likely the size of the compressed texture /* 0x12 */ s16 unused2; -} MkTexture; // size = 0x14 +} MenuTexture; // size = 0x14 /** * @brief struct for an animation * */ typedef struct { - /* 0x00 */ MkTexture* mk64Texture; // This should be interpreted as a segmented address + /* 0x00 */ MenuTexture* mk64Texture; // This should be interpreted as a segmented address /* 0x04 */ s32 frame_length; } MkAnimation; // size = 0x8 -extern MkTexture D_02000000[2]; -extern MkTexture D_02000028[2]; -extern MkTexture D_02000050[2]; -extern MkTexture D_02000078[2]; -extern MkTexture D_020000A0[2]; -extern MkTexture D_020000C8[2]; -extern MkTexture D_020000F0[2]; -extern MkTexture D_02000118[2]; -extern MkTexture D_02000140[2]; -extern MkTexture D_02000168[2]; -extern MkTexture D_02000190[2]; -extern MkTexture D_020001B8[2]; -extern MkTexture D_020001E0[2]; -extern MkTexture D_02000208[2]; -extern MkTexture D_02000230[2]; -extern MkTexture D_02000258[2]; -extern MkTexture D_02000280[2]; -extern MkTexture D_020002A8[2]; -extern MkTexture D_020002D0[2]; -extern MkTexture D_020002F8[2]; -extern MkTexture D_02000320[2]; -extern MkTexture D_02000348[2]; -extern MkTexture D_02000370[2]; -extern MkTexture D_02000398[2]; -extern MkTexture D_020003C0[2]; -extern MkTexture D_020003E8[2]; -extern MkTexture D_02000410[2]; -extern MkTexture D_02000438[2]; -extern MkTexture D_02000460[2]; -extern MkTexture D_02000488[2]; -extern MkTexture D_020004B0[2]; -extern MkTexture D_020004D8[2]; -extern MkTexture D_02000500[2]; -extern MkTexture D_02000528[2]; -extern MkTexture D_02000550[2]; -extern MkTexture D_02000578[2]; -extern MkTexture D_020005A0[2]; -extern MkTexture D_020005C8[2]; -extern MkTexture D_020005F0[2]; -extern MkTexture D_02000618[2]; -extern MkTexture D_02000640[2]; -extern MkTexture D_02000668[2]; -extern MkTexture D_02000690[2]; -extern MkTexture D_020006B8[2]; -extern MkTexture D_020006E0[2]; -extern MkTexture D_02000708[2]; -extern MkTexture D_02000730[2]; -extern MkTexture D_02000758[2]; -extern MkTexture D_02000780[2]; -extern MkTexture D_020007A8[2]; -extern MkTexture D_020007D0[2]; -extern MkTexture D_020007F8[2]; -extern MkTexture D_02000820[2]; -extern MkTexture D_02000848[2]; -extern MkTexture D_02000870[2]; -extern MkTexture D_02000898[2]; -extern MkTexture D_020008C0[2]; -extern MkTexture D_020008E8[2]; -extern MkTexture D_02000910[2]; -extern MkTexture D_02000938[2]; -extern MkTexture D_02000960[2]; -extern MkTexture D_02000988[2]; -extern MkTexture D_020009B0[2]; -extern MkTexture D_020009D8[2]; -extern MkTexture D_02000A00[2]; -extern MkTexture D_02000A28[2]; -extern MkTexture D_02000A50[2]; -extern MkTexture D_02000A78[2]; -extern MkTexture D_02000AA0[2]; -extern MkTexture D_02000AC8[2]; -extern MkTexture D_02000AF0[2]; -extern MkTexture D_02000B18[2]; -extern MkTexture D_02000B40[2]; -extern MkTexture D_02000B68[2]; -extern MkTexture D_02000B90[2]; -extern MkTexture D_02000BB8[2]; -extern MkTexture D_02000BE0[2]; -extern MkTexture D_02000C08[2]; -extern MkTexture D_02000C30[2]; -extern MkTexture D_02000C58[2]; -extern MkTexture D_02000C80[2]; -extern MkTexture D_02000CA8[2]; -extern MkTexture D_02000CD0[2]; -extern MkTexture D_02000CF8[2]; -extern MkTexture D_02000D20[2]; -extern MkTexture D_02000D48[2]; -extern MkTexture D_02000D70[2]; -extern MkTexture D_02000D98[2]; -extern MkTexture D_02000DC0[2]; -extern MkTexture D_02000DE8[2]; -extern MkTexture D_02000E10[2]; -extern MkTexture D_02000E38[2]; -extern MkTexture D_02000E60[2]; -extern MkTexture D_02000E88[2]; -extern MkTexture D_02000EB0[2]; -extern MkTexture D_02000ED8[2]; -extern MkTexture D_02000F00[2]; -extern MkTexture D_02000F28[2]; -extern MkTexture D_02000F50[2]; -extern MkTexture D_02000F78[2]; -extern MkTexture D_02000FA0[2]; -extern MkTexture D_02000FC8[2]; -extern MkTexture D_02000FF0[2]; -extern MkTexture D_02001018[2]; -extern MkTexture D_02001040[2]; -extern MkTexture D_02001068[2]; -extern MkTexture D_02001090[2]; -extern MkTexture D_020010B8[2]; -extern MkTexture D_020010E0[2]; -extern MkTexture D_02001108[2]; -extern MkTexture D_02001130[2]; -extern MkTexture D_02001158[2]; -extern MkTexture D_02001180[2]; -extern MkTexture D_020011A8[2]; -extern MkTexture D_020011D0[2]; -extern MkTexture D_020011F8[2]; -extern MkTexture D_02001220[2]; -extern MkTexture D_02001248[2]; -extern MkTexture D_02001270[2]; -extern MkTexture D_02001298[2]; -extern MkTexture D_020012C0[2]; -extern MkTexture D_020012E8[2]; -extern MkTexture D_02001310[2]; -extern MkTexture D_02001338[2]; -extern MkTexture D_02001360[2]; -extern MkTexture D_02001388[2]; -extern MkTexture D_020013B0[2]; -extern MkTexture D_020013D8[2]; -extern MkTexture D_02001400[2]; -extern MkTexture D_02001428[2]; -extern MkTexture D_02001450[2]; -extern MkTexture D_02001478[2]; -extern MkTexture D_020014A0[2]; -extern MkTexture D_020014C8[6]; -extern MkTexture D_02001540[3]; -extern MkTexture D_0200157C[2]; -extern MkTexture D_020015A4[2]; -extern MkTexture D_020015CC[5]; -extern MkTexture D_02001630[2]; -extern MkTexture D_02001658[5]; -extern MkTexture D_020016BC[2]; -extern MkTexture D_020016E4[2]; -extern MkTexture D_0200170C[2]; -extern MkTexture D_02001734[2]; -extern MkTexture D_0200175C[2]; -extern MkTexture D_02001784[2]; -extern MkTexture D_020017AC[2]; -extern MkTexture D_020017D4[2]; -extern MkTexture D_020017FC[2]; -extern MkTexture D_02001824[2]; -extern MkTexture D_0200184C[2]; -extern MkTexture D_02001874[2]; -extern MkTexture D_0200189C[2]; -extern MkTexture D_020018C4[2]; -extern MkTexture D_020018EC[2]; -extern MkTexture D_02001914[2]; -extern MkTexture D_0200193C[2]; -extern MkTexture D_02001964[2]; +extern MenuTexture D_02000000[2]; +extern MenuTexture D_02000028[2]; +extern MenuTexture D_02000050[2]; +extern MenuTexture D_02000078[2]; +extern MenuTexture D_020000A0[2]; +extern MenuTexture D_020000C8[2]; +extern MenuTexture D_020000F0[2]; +extern MenuTexture D_02000118[2]; +extern MenuTexture D_02000140[2]; +extern MenuTexture D_02000168[2]; +extern MenuTexture D_02000190[2]; +extern MenuTexture D_020001B8[2]; +extern MenuTexture D_020001E0[2]; +extern MenuTexture D_02000208[2]; +extern MenuTexture D_02000230[2]; +extern MenuTexture D_02000258[2]; +extern MenuTexture D_02000280[2]; +extern MenuTexture D_020002A8[2]; +extern MenuTexture D_020002D0[2]; +extern MenuTexture D_020002F8[2]; +extern MenuTexture D_02000320[2]; +extern MenuTexture D_02000348[2]; +extern MenuTexture D_02000370[2]; +extern MenuTexture D_02000398[2]; +extern MenuTexture D_020003C0[2]; +extern MenuTexture D_020003E8[2]; +extern MenuTexture D_02000410[2]; +extern MenuTexture D_02000438[2]; +extern MenuTexture D_02000460[2]; +extern MenuTexture D_02000488[2]; +extern MenuTexture D_020004B0[2]; +extern MenuTexture D_020004D8[2]; +extern MenuTexture D_02000500[2]; +extern MenuTexture D_02000528[2]; +extern MenuTexture D_02000550[2]; +extern MenuTexture D_02000578[2]; +extern MenuTexture D_020005A0[2]; +extern MenuTexture D_020005C8[2]; +extern MenuTexture D_020005F0[2]; +extern MenuTexture D_02000618[2]; +extern MenuTexture D_02000640[2]; +extern MenuTexture D_02000668[2]; +extern MenuTexture D_02000690[2]; +extern MenuTexture D_020006B8[2]; +extern MenuTexture D_020006E0[2]; +extern MenuTexture D_02000708[2]; +extern MenuTexture D_02000730[2]; +extern MenuTexture D_02000758[2]; +extern MenuTexture D_02000780[2]; +extern MenuTexture D_020007A8[2]; +extern MenuTexture D_020007D0[2]; +extern MenuTexture D_020007F8[2]; +extern MenuTexture D_02000820[2]; +extern MenuTexture D_02000848[2]; +extern MenuTexture D_02000870[2]; +extern MenuTexture D_02000898[2]; +extern MenuTexture D_020008C0[2]; +extern MenuTexture D_020008E8[2]; +extern MenuTexture D_02000910[2]; +extern MenuTexture D_02000938[2]; +extern MenuTexture D_02000960[2]; +extern MenuTexture D_02000988[2]; +extern MenuTexture D_020009B0[2]; +extern MenuTexture D_020009D8[2]; +extern MenuTexture D_02000A00[2]; +extern MenuTexture D_02000A28[2]; +extern MenuTexture D_02000A50[2]; +extern MenuTexture D_02000A78[2]; +extern MenuTexture D_02000AA0[2]; +extern MenuTexture D_02000AC8[2]; +extern MenuTexture D_02000AF0[2]; +extern MenuTexture D_02000B18[2]; +extern MenuTexture D_02000B40[2]; +extern MenuTexture D_02000B68[2]; +extern MenuTexture D_02000B90[2]; +extern MenuTexture D_02000BB8[2]; +extern MenuTexture D_02000BE0[2]; +extern MenuTexture D_02000C08[2]; +extern MenuTexture D_02000C30[2]; +extern MenuTexture D_02000C58[2]; +extern MenuTexture D_02000C80[2]; +extern MenuTexture D_02000CA8[2]; +extern MenuTexture D_02000CD0[2]; +extern MenuTexture D_02000CF8[2]; +extern MenuTexture D_02000D20[2]; +extern MenuTexture D_02000D48[2]; +extern MenuTexture D_02000D70[2]; +extern MenuTexture D_02000D98[2]; +extern MenuTexture D_02000DC0[2]; +extern MenuTexture D_02000DE8[2]; +extern MenuTexture D_02000E10[2]; +extern MenuTexture D_02000E38[2]; +extern MenuTexture D_02000E60[2]; +extern MenuTexture D_02000E88[2]; +extern MenuTexture D_02000EB0[2]; +extern MenuTexture D_02000ED8[2]; +extern MenuTexture D_02000F00[2]; +extern MenuTexture D_02000F28[2]; +extern MenuTexture D_02000F50[2]; +extern MenuTexture D_02000F78[2]; +extern MenuTexture D_02000FA0[2]; +extern MenuTexture D_02000FC8[2]; +extern MenuTexture D_02000FF0[2]; +extern MenuTexture D_02001018[2]; +extern MenuTexture D_02001040[2]; +extern MenuTexture D_02001068[2]; +extern MenuTexture D_02001090[2]; +extern MenuTexture D_020010B8[2]; +extern MenuTexture D_020010E0[2]; +extern MenuTexture D_02001108[2]; +extern MenuTexture D_02001130[2]; +extern MenuTexture D_02001158[2]; +extern MenuTexture D_02001180[2]; +extern MenuTexture D_020011A8[2]; +extern MenuTexture D_020011D0[2]; +extern MenuTexture D_020011F8[2]; +extern MenuTexture D_02001220[2]; +extern MenuTexture D_02001248[2]; +extern MenuTexture D_02001270[2]; +extern MenuTexture D_02001298[2]; +extern MenuTexture D_020012C0[2]; +extern MenuTexture D_020012E8[2]; +extern MenuTexture D_02001310[2]; +extern MenuTexture D_02001338[2]; +extern MenuTexture D_02001360[2]; +extern MenuTexture D_02001388[2]; +extern MenuTexture D_020013B0[2]; +extern MenuTexture D_020013D8[2]; +extern MenuTexture D_02001400[2]; +extern MenuTexture D_02001428[2]; +extern MenuTexture D_02001450[2]; +extern MenuTexture D_02001478[2]; +extern MenuTexture D_020014A0[2]; +extern MenuTexture D_020014C8[6]; +extern MenuTexture D_02001540[3]; +extern MenuTexture D_0200157C[2]; +extern MenuTexture D_020015A4[2]; +extern MenuTexture D_020015CC[5]; +extern MenuTexture D_02001630[2]; +extern MenuTexture D_02001658[5]; +extern MenuTexture D_020016BC[2]; +extern MenuTexture D_020016E4[2]; +extern MenuTexture D_0200170C[2]; +extern MenuTexture D_02001734[2]; +extern MenuTexture D_0200175C[2]; +extern MenuTexture D_02001784[2]; +extern MenuTexture D_020017AC[2]; +extern MenuTexture D_020017D4[2]; +extern MenuTexture D_020017FC[2]; +extern MenuTexture D_02001824[2]; +extern MenuTexture D_0200184C[2]; +extern MenuTexture D_02001874[2]; +extern MenuTexture D_0200189C[2]; +extern MenuTexture D_020018C4[2]; +extern MenuTexture D_020018EC[2]; +extern MenuTexture D_02001914[2]; +extern MenuTexture D_0200193C[2]; +extern MenuTexture D_02001964[2]; extern MkAnimation D_0200198C[2]; extern MkAnimation D_0200199C[2]; extern MkAnimation D_020019AC[2]; extern MkAnimation D_020019BC[2]; extern MkAnimation D_020019CC[2]; extern MkAnimation D_020019DC[2]; -extern MkTexture D_020019EC[2]; -extern MkTexture D_02001A14[2]; -extern MkTexture D_02001A3C[2]; -extern MkTexture D_02001A64[2]; -extern MkTexture D_02001A8C[2]; -extern MkTexture D_02001AB4[2]; -extern MkTexture D_02001ADC[2]; -extern MkTexture D_02001B04[2]; -extern MkTexture D_02001B2C[2]; -extern MkTexture D_02001B54[2]; -extern MkTexture D_02001B7C[2]; -extern MkTexture D_02001BA4[2]; -extern MkTexture D_02001BCC[2]; -extern MkTexture D_02001BF4[2]; -extern MkTexture D_02001C1C[2]; -extern MkTexture D_02001C44[2]; -extern MkTexture D_02001C6C[2]; -extern MkTexture D_02001C94[2]; -extern MkTexture D_02001CBC[2]; -extern MkTexture D_02001CE4[2]; -extern MkTexture D_02001D0C[2]; -extern MkTexture D_02001D34[2]; -extern MkTexture D_02001D5C[2]; -extern MkTexture D_02001D84[2]; -extern MkTexture D_02001DAC[2]; -extern MkTexture D_02001DD4[2]; -extern MkTexture D_02001DFC[2]; -extern MkTexture D_02001E24[2]; +extern MenuTexture D_020019EC[2]; +extern MenuTexture D_02001A14[2]; +extern MenuTexture D_02001A3C[2]; +extern MenuTexture D_02001A64[2]; +extern MenuTexture D_02001A8C[2]; +extern MenuTexture D_02001AB4[2]; +extern MenuTexture D_02001ADC[2]; +extern MenuTexture D_02001B04[2]; +extern MenuTexture gMenuTexturePreviewMarioRaceway[2]; +extern MenuTexture D_02001B54[2]; +extern MenuTexture D_02001B7C[2]; +extern MenuTexture D_02001BA4[2]; +extern MenuTexture D_02001BCC[2]; +extern MenuTexture D_02001BF4[2]; +extern MenuTexture D_02001C1C[2]; +extern MenuTexture D_02001C44[2]; +extern MenuTexture D_02001C6C[2]; +extern MenuTexture D_02001C94[2]; +extern MenuTexture D_02001CBC[2]; +extern MenuTexture D_02001CE4[2]; +extern MenuTexture D_02001D0C[2]; +extern MenuTexture D_02001D34[2]; +extern MenuTexture D_02001D5C[2]; +extern MenuTexture D_02001D84[2]; +extern MenuTexture D_02001DAC[2]; +extern MenuTexture D_02001DD4[2]; +extern MenuTexture D_02001DFC[2]; +extern MenuTexture D_02001E24[2]; extern MkAnimation D_02001E4C[3]; extern MkAnimation D_02001E64[2]; extern MkAnimation D_02001E74[2]; @@ -241,453 +241,453 @@ extern MkAnimation D_02001F64[2]; extern MkAnimation D_02001F74[2]; extern MkAnimation D_02001F84[2]; extern MkAnimation D_02001F94[2]; -extern MkTexture D_02001FA4[2]; -extern MkTexture D_02001FCC[2]; -extern MkTexture D_02001FF4[2]; -extern MkTexture D_0200201C[2]; -extern MkTexture D_02002044[2]; -extern MkTexture D_0200206C[2]; -extern MkTexture D_02002094[2]; +extern MenuTexture D_02001FA4[2]; +extern MenuTexture D_02001FCC[2]; +extern MenuTexture D_02001FF4[2]; +extern MenuTexture D_0200201C[2]; +extern MenuTexture D_02002044[2]; +extern MenuTexture D_0200206C[2]; +extern MenuTexture D_02002094[2]; extern MkAnimation D_020020BC[2]; extern MkAnimation D_020020CC[2]; extern MkAnimation D_020020DC[2]; extern MkAnimation D_020020EC[2]; extern MkAnimation D_020020FC[2]; extern MkAnimation D_0200210C[2]; -extern MkTexture D_0200211C[2]; -extern MkTexture D_02002144[2]; -extern MkTexture D_0200216C[2]; -extern MkTexture D_02002194[2]; -extern MkTexture D_020021BC[2]; -extern MkTexture D_020021E4[2]; -extern MkTexture D_0200220C[2]; -extern MkTexture D_02002234[2]; -extern MkTexture D_0200225C[2]; -extern MkTexture D_02002284[2]; -extern MkTexture D_020022AC[2]; -extern MkTexture D_020022D4[2]; -extern MkTexture D_020022FC[2]; -extern MkTexture D_02002324[2]; -extern MkTexture D_0200234C[2]; -extern MkTexture D_02002374[2]; -extern MkTexture D_0200239C[2]; -extern MkTexture D_020023C4[2]; -extern MkTexture D_020023EC[2]; -extern MkTexture D_02002414[2]; -extern MkTexture D_0200243C[2]; -extern MkTexture D_02002464[2]; -extern MkTexture D_0200248C[2]; -extern MkTexture D_020024B4[2]; -extern MkTexture D_020024DC[2]; -extern MkTexture D_02002504[2]; -extern MkTexture D_0200252C[2]; -extern MkTexture D_02002554[2]; -extern MkTexture D_0200257C[2]; -extern MkTexture D_020025A4[2]; -extern MkTexture D_020025CC[2]; -extern MkTexture D_020025F4[2]; -extern MkTexture D_0200261C[2]; -extern MkTexture D_02002644[2]; -extern MkTexture D_0200266C[2]; -extern MkTexture D_02002694[2]; -extern MkTexture D_020026BC[2]; -extern MkTexture D_020026E4[2]; -extern MkTexture D_0200270C[2]; -extern MkTexture D_02002734[2]; -extern MkTexture D_0200275C[2]; -extern MkTexture D_02002784[2]; -extern MkTexture D_020027AC[2]; -extern MkTexture D_020027D4[2]; -extern MkTexture D_020027FC[2]; -extern MkTexture D_02002824[2]; -extern MkTexture D_0200284C[2]; -extern MkTexture D_02002874[2]; -extern MkTexture D_0200289C[2]; -extern MkTexture D_020028C4[2]; -extern MkTexture D_020028EC[2]; -extern MkTexture D_02002914[2]; -extern MkTexture D_0200293C[2]; -extern MkTexture D_02002964[2]; -extern MkTexture D_0200298C[2]; -extern MkTexture D_020029B4[2]; -extern MkTexture D_020029DC[2]; -extern MkTexture D_02002A04[2]; -extern MkTexture D_02002A2C[2]; -extern MkTexture D_02002A54[2]; -extern MkTexture D_02002A7C[2]; -extern MkTexture D_02002AA4[2]; -extern MkTexture D_02002ACC[2]; -extern MkTexture D_02002AF4[2]; -extern MkTexture D_02002B1C[2]; -extern MkTexture D_02002B44[2]; -extern MkTexture D_02002B6C[2]; -extern MkTexture D_02002B94[2]; -extern MkTexture D_02002BBC[2]; -extern MkTexture D_02002BE4[2]; -extern MkTexture D_02002C0C[2]; -extern MkTexture D_02002C34[2]; -extern MkTexture D_02002C5C[2]; -extern MkTexture D_02002C84[2]; -extern MkTexture D_02002CAC[2]; -extern MkTexture D_02002CD4[2]; -extern MkTexture D_02002CFC[2]; -extern MkTexture D_02002D24[2]; -extern MkTexture D_02002D4C[2]; -extern MkTexture D_02002D74[2]; -extern MkTexture D_02002D9C[2]; -extern MkTexture D_02002DC4[2]; -extern MkTexture D_02002DEC[2]; -extern MkTexture D_02002E14[2]; -extern MkTexture D_02002E3C[2]; -extern MkTexture D_02002E64[2]; -extern MkTexture D_02002E8C[2]; -extern MkTexture D_02002EB4[2]; -extern MkTexture D_02002EDC[2]; -extern MkTexture D_02002F04[2]; -extern MkTexture D_02002F2C[2]; -extern MkTexture D_02002F54[2]; -extern MkTexture D_02002F7C[2]; -extern MkTexture D_02002FA4[2]; -extern MkTexture D_02002FCC[2]; -extern MkTexture D_02002FF4[2]; -extern MkTexture D_0200301C[2]; -extern MkTexture D_02003044[2]; -extern MkTexture D_0200306C[2]; -extern MkTexture D_02003094[2]; -extern MkTexture D_020030BC[2]; -extern MkTexture D_020030E4[2]; -extern MkTexture D_0200310C[2]; -extern MkTexture D_02003134[2]; -extern MkTexture D_0200315C[2]; -extern MkTexture D_02003184[2]; -extern MkTexture D_020031AC[2]; -extern MkTexture D_020031D4[2]; -extern MkTexture D_020031FC[2]; -extern MkTexture D_02003224[2]; -extern MkTexture D_0200324C[2]; -extern MkTexture D_02003274[2]; -extern MkTexture D_0200329C[2]; -extern MkTexture D_020032C4[2]; -extern MkTexture D_020032EC[2]; -extern MkTexture D_02003314[2]; -extern MkTexture D_0200333C[2]; -extern MkTexture D_02003364[2]; -extern MkTexture D_0200338C[2]; -extern MkTexture D_020033B4[2]; -extern MkTexture D_020033DC[2]; -extern MkTexture D_02003404[2]; -extern MkTexture D_0200342C[2]; -extern MkTexture D_02003454[2]; -extern MkTexture D_0200347C[2]; -extern MkTexture D_020034A4[2]; -extern MkTexture D_020034CC[2]; -extern MkTexture D_020034F4[2]; -extern MkTexture D_0200351C[2]; -extern MkTexture D_02003544[2]; -extern MkTexture D_0200356C[2]; -extern MkTexture D_02003594[2]; -extern MkTexture D_020035BC[2]; -extern MkTexture D_020035E4[2]; -extern MkTexture D_0200360C[2]; -extern MkTexture D_02003634[2]; -extern MkTexture D_0200365C[2]; -extern MkTexture D_02003684[2]; -extern MkTexture D_020036AC[2]; -extern MkTexture D_020036D4[2]; -extern MkTexture D_020036FC[2]; -extern MkTexture D_02003724[2]; -extern MkTexture D_0200374C[2]; -extern MkTexture D_02003774[2]; -extern MkTexture D_0200379C[2]; -extern MkTexture D_020037C4[2]; -extern MkTexture D_020037EC[2]; -extern MkTexture D_02003814[2]; -extern MkTexture D_0200383C[2]; -extern MkTexture D_02003864[2]; -extern MkTexture D_0200388C[2]; -extern MkTexture D_020038B4[2]; -extern MkTexture D_020038DC[2]; -extern MkTexture D_02003904[2]; -extern MkTexture D_0200392C[2]; -extern MkTexture D_02003954[2]; -extern MkTexture D_0200397C[2]; -extern MkTexture D_020039A4[2]; -extern MkTexture D_020039CC[2]; -extern MkTexture D_020039F4[2]; -extern MkTexture D_02003A1C[2]; -extern MkTexture D_02003A44[2]; -extern MkTexture D_02003A6C[2]; -extern MkTexture D_02003A94[2]; -extern MkTexture D_02003ABC[2]; -extern MkTexture D_02003AE4[2]; -extern MkTexture D_02003B0C[2]; -extern MkTexture D_02003B34[2]; -extern MkTexture D_02003B5C[2]; -extern MkTexture D_02003B84[2]; -extern MkTexture D_02003BAC[2]; -extern MkTexture D_02003BD4[2]; -extern MkTexture D_02003BFC[2]; -extern MkTexture D_02003C24[2]; -extern MkTexture D_02003C4C[2]; -extern MkTexture D_02003C74[2]; -extern MkTexture D_02003C9C[2]; -extern MkTexture D_02003CC4[2]; -extern MkTexture D_02003CEC[2]; -extern MkTexture D_02003D14[2]; -extern MkTexture D_02003D3C[2]; -extern MkTexture D_02003D64[2]; -extern MkTexture D_02003D8C[2]; -extern MkTexture D_02003DB4[2]; -extern MkTexture D_02003DDC[2]; -extern MkTexture D_02003E04[2]; -extern MkTexture D_02003E2C[2]; -extern MkTexture D_02003E54[2]; -extern MkTexture D_02003E7C[2]; -extern MkTexture D_02003EA4[2]; -extern MkTexture D_02003ECC[2]; -extern MkTexture D_02003EF4[2]; -extern MkTexture D_02003F1C[2]; -extern MkTexture D_02003F44[2]; -extern MkTexture D_02003F6C[2]; -extern MkTexture D_02003F94[2]; -extern MkTexture D_02003FBC[2]; -extern MkTexture D_02003FE4[2]; -extern MkTexture D_0200400C[2]; -extern MkTexture D_02004034[2]; -extern MkTexture D_0200405C[2]; -extern MkTexture D_02004084[2]; -extern MkTexture D_020040AC[2]; -extern MkTexture D_020040D4[2]; -extern MkTexture D_020040FC[2]; -extern MkTexture D_02004124[2]; -extern MkTexture D_0200414C[2]; -extern MkTexture D_02004174[2]; -extern MkTexture D_0200419C[2]; -extern MkTexture D_020041C4[2]; -extern MkTexture D_020041EC[2]; -extern MkTexture D_02004214[2]; -extern MkTexture D_0200423C[2]; -extern MkTexture D_02004264[2]; -extern MkTexture D_0200428C[2]; -extern MkTexture D_020042B4[2]; -extern MkTexture D_020042DC[2]; -extern MkTexture D_02004304[2]; -extern MkTexture D_0200432C[2]; -extern MkTexture D_02004354[2]; -extern MkTexture D_0200437C[2]; -extern MkTexture D_020043A4[2]; -extern MkTexture D_020043CC[2]; -extern MkTexture D_020043F4[2]; -extern MkTexture D_0200441C[2]; -extern MkTexture D_02004444[2]; -extern MkTexture D_0200446C[2]; -extern MkTexture D_02004494[2]; -extern MkTexture D_020044BC[2]; -extern MkTexture D_020044E4[2]; -extern MkTexture D_0200450C[2]; -extern MkTexture D_02004534[2]; -extern MkTexture D_0200455C[2]; -extern MkTexture D_02004584[1]; -extern MkTexture D_02004598[2]; -extern MkTexture D_020045C0[2]; -extern MkTexture D_020045E8[2]; -extern MkTexture D_02004610[2]; -extern MkTexture D_02004638[2]; -extern MkTexture D_02004660[2]; -extern MkTexture D_02004688[4]; -extern MkTexture D_020046D8[5]; -extern MkTexture D_0200473C[4]; -extern MkTexture D_0200478C[4]; -extern MkTexture D_020047DC[2]; -extern MkTexture D_02004804[2]; -extern MkTexture D_0200482C[2]; -extern MkTexture D_02004854[2]; -extern MkTexture D_0200487C[2]; -extern MkTexture D_020048A4[2]; -extern MkTexture D_020048CC[2]; -extern MkTexture D_020048F4[2]; -extern MkTexture D_0200491C[2]; -extern MkTexture D_02004944[2]; -extern MkTexture D_0200496C[2]; -extern MkTexture D_02004994[2]; -extern MkTexture D_020049BC[2]; -extern MkTexture D_020049E4[2]; -extern MkTexture D_02004A0C[2]; -extern MkTexture D_02004A34[2]; -extern MkTexture D_02004A5C[3]; -extern MkTexture D_02004A98[3]; -extern MkTexture D_02004AD4[3]; -extern MkTexture D_02004B10[3]; -extern MkTexture D_02004B4C[2]; -extern MkTexture D_02004B74[2]; -extern MkTexture D_02004B9C[2]; -extern MkTexture D_02004BC4[2]; -extern MkTexture D_02004BEC[2]; -extern MkTexture D_02004C14[2]; -extern MkTexture D_02004C3C[2]; -extern MkTexture D_02004C64[2]; -extern MkTexture D_02004C8C[5]; -extern MkTexture D_02004CF0[5]; -extern MkTexture D_02004D54[5]; -extern MkTexture D_02004DB8[5]; -extern MkTexture D_02004E1C[5]; -extern MkTexture D_02004E80[2]; -extern MkTexture D_02004EA8[2]; -extern MkTexture D_02004ED0[2]; -extern MkTexture D_02004EF8[2]; -extern MkTexture D_02004F20[2]; -extern MkTexture D_02004F48[2]; -extern MkTexture D_02004F70[2]; -extern MkTexture D_02004F98[2]; -extern MkTexture D_02004FC0[2]; -extern MkTexture D_02004FE8[2]; -extern MkTexture D_02005010[2]; -extern MkTexture D_02005038[2]; -extern MkTexture D_02005060[2]; -extern MkTexture D_02005088[2]; -extern MkTexture D_020050B0[2]; -extern MkTexture D_020050D8[2]; -extern MkTexture D_02005100[2]; -extern MkTexture D_02005128[2]; -extern MkTexture D_02005150[2]; -extern MkTexture D_02005178[2]; -extern MkTexture D_020051A0[2]; -extern MkTexture D_020051C8[2]; -extern MkTexture D_020051F0[2]; -extern MkTexture D_02005218[2]; -extern MkTexture D_02005240[2]; -extern MkTexture D_02005268[2]; -extern MkTexture D_02005290[2]; -extern MkTexture D_020052B8[2]; -extern MkTexture D_020052E0[2]; -extern MkTexture D_02005308[2]; -extern MkTexture D_02005330[2]; -extern MkTexture D_02005358[2]; -extern MkTexture D_02005380[2]; -extern MkTexture D_020053A8[2]; -extern MkTexture D_020053D0[2]; -extern MkTexture D_020053F8[2]; -extern MkTexture D_02005420[2]; -extern MkTexture D_02005448[2]; -extern MkTexture D_02005470[2]; -extern MkTexture D_02005498[2]; -extern MkTexture D_020054C0[2]; -extern MkTexture D_020054E8[2]; -extern MkTexture D_02005510[2]; -extern MkTexture D_02005538[2]; -extern MkTexture D_02005560[2]; -extern MkTexture D_02005588[2]; -extern MkTexture D_020055B0[2]; -extern MkTexture D_020055D8[2]; -extern MkTexture D_02005600[2]; -extern MkTexture D_02005628[2]; -extern MkTexture D_02005650[2]; -extern MkTexture D_02005678[2]; -extern MkTexture D_020056A0[2]; -extern MkTexture D_020056C8[2]; -extern MkTexture D_020056F0[2]; -extern MkTexture D_02005718[2]; -extern MkTexture D_02005740[2]; -extern MkTexture D_02005768[2]; -extern MkTexture D_02005790[2]; -extern MkTexture D_020057B8[2]; -extern MkTexture D_020057E0[2]; -extern MkTexture D_02005808[2]; -extern MkTexture D_02005830[2]; -extern MkTexture D_02005858[2]; -extern MkTexture D_02005880[2]; -extern MkTexture D_020058A8[2]; -extern MkTexture D_020058D0[2]; -extern MkTexture D_020058F8[2]; -extern MkTexture D_02005920[2]; -extern MkTexture D_02005948[2]; -extern MkTexture D_02005970[2]; -extern MkTexture D_02005998[2]; -extern MkTexture D_020059C0[2]; -extern MkTexture D_020059E8[2]; -extern MkTexture D_02005A10[2]; -extern MkTexture D_02005A38[2]; -extern MkTexture D_02005A60[2]; -extern MkTexture D_02005A88[2]; -extern MkTexture D_02005AB0[2]; -extern MkTexture D_02005AD8[2]; -extern MkTexture D_02005B00[2]; -extern MkTexture D_02005B28[2]; -extern MkTexture D_02005B50[2]; -extern MkTexture D_02005B78[2]; -extern MkTexture D_02005BA0[2]; -extern MkTexture D_02005BC8[2]; -extern MkTexture D_02005BF0[2]; -extern MkTexture D_02005C18[2]; -extern MkTexture D_02005C40[2]; -extern MkTexture D_02005C68[2]; -extern MkTexture D_02005C90[2]; -extern MkTexture D_02005CB8[2]; -extern MkTexture D_02005CE0[2]; -extern MkTexture D_02005D08[2]; -extern MkTexture D_02005D30[2]; -extern MkTexture D_02005D58[2]; -extern MkTexture D_02005D80[2]; -extern MkTexture D_02005DA8[2]; -extern MkTexture D_02005DD0[2]; -extern MkTexture D_02005DF8[2]; -extern MkTexture D_02005E20[2]; -extern MkTexture D_02005E48[2]; -extern MkTexture D_02005E70[2]; -extern MkTexture D_02005E98[2]; -extern MkTexture D_02005EC0[2]; -extern MkTexture D_02005EE8[2]; -extern MkTexture D_02005F10[2]; -extern MkTexture D_02005F38[2]; -extern MkTexture D_02005F60[2]; -extern MkTexture D_02005F88[2]; -extern MkTexture D_02005FB0[2]; -extern MkTexture D_02005FD8[2]; -extern MkTexture D_02006000[2]; -extern MkTexture D_02006028[2]; -extern MkTexture D_02006050[2]; -extern MkTexture D_02006078[2]; -extern MkTexture D_020060A0[2]; -extern MkTexture D_020060C8[2]; -extern MkTexture D_020060F0[2]; -extern MkTexture D_02006118[2]; -extern MkTexture D_02006140[2]; -extern MkTexture D_02006168[2]; -extern MkTexture D_02006190[2]; -extern MkTexture D_020061B8[2]; -extern MkTexture D_020061E0[2]; -extern MkTexture D_02006208[2]; -extern MkTexture D_02006230[2]; -extern MkTexture D_02006258[2]; -extern MkTexture D_02006280[2]; -extern MkTexture D_020062A8[2]; -extern MkTexture D_020062D0[2]; -extern MkTexture D_020062F8[2]; -extern MkTexture D_02006320[2]; -extern MkTexture D_02006348[2]; -extern MkTexture D_02006370[2]; -extern MkTexture D_02006398[2]; -extern MkTexture D_020063C0[2]; -extern MkTexture D_020063E8[2]; -extern MkTexture D_02006410[2]; -extern MkTexture D_02006438[2]; -extern MkTexture D_02006460[2]; -extern MkTexture D_02006488[2]; -extern MkTexture D_020064B0[2]; -extern MkTexture D_020064D8[2]; -extern MkTexture D_02006500[2]; -extern MkTexture D_02006528[2]; -extern MkTexture D_02006550[2]; -extern MkTexture D_02006578[2]; -extern MkTexture D_020065A0[2]; -extern MkTexture D_020065C8[2]; -extern MkTexture D_020065F0[2]; -extern MkTexture D_02006618[2]; -extern MkTexture D_02006640[2]; -extern MkTexture D_02006668[2]; -extern MkTexture D_02006690[2]; -extern MkTexture D_020066B8[2]; -extern MkTexture D_020066E0[2]; +extern MenuTexture D_0200211C[2]; +extern MenuTexture D_02002144[2]; +extern MenuTexture D_0200216C[2]; +extern MenuTexture D_02002194[2]; +extern MenuTexture D_020021BC[2]; +extern MenuTexture D_020021E4[2]; +extern MenuTexture D_0200220C[2]; +extern MenuTexture D_02002234[2]; +extern MenuTexture D_0200225C[2]; +extern MenuTexture D_02002284[2]; +extern MenuTexture D_020022AC[2]; +extern MenuTexture D_020022D4[2]; +extern MenuTexture D_020022FC[2]; +extern MenuTexture D_02002324[2]; +extern MenuTexture D_0200234C[2]; +extern MenuTexture D_02002374[2]; +extern MenuTexture D_0200239C[2]; +extern MenuTexture D_020023C4[2]; +extern MenuTexture D_020023EC[2]; +extern MenuTexture D_02002414[2]; +extern MenuTexture D_0200243C[2]; +extern MenuTexture D_02002464[2]; +extern MenuTexture D_0200248C[2]; +extern MenuTexture D_020024B4[2]; +extern MenuTexture D_020024DC[2]; +extern MenuTexture D_02002504[2]; +extern MenuTexture D_0200252C[2]; +extern MenuTexture D_02002554[2]; +extern MenuTexture D_0200257C[2]; +extern MenuTexture D_020025A4[2]; +extern MenuTexture D_020025CC[2]; +extern MenuTexture D_020025F4[2]; +extern MenuTexture D_0200261C[2]; +extern MenuTexture D_02002644[2]; +extern MenuTexture D_0200266C[2]; +extern MenuTexture D_02002694[2]; +extern MenuTexture D_020026BC[2]; +extern MenuTexture D_020026E4[2]; +extern MenuTexture D_0200270C[2]; +extern MenuTexture D_02002734[2]; +extern MenuTexture D_0200275C[2]; +extern MenuTexture D_02002784[2]; +extern MenuTexture D_020027AC[2]; +extern MenuTexture D_020027D4[2]; +extern MenuTexture D_020027FC[2]; +extern MenuTexture D_02002824[2]; +extern MenuTexture D_0200284C[2]; +extern MenuTexture D_02002874[2]; +extern MenuTexture D_0200289C[2]; +extern MenuTexture D_020028C4[2]; +extern MenuTexture D_020028EC[2]; +extern MenuTexture D_02002914[2]; +extern MenuTexture D_0200293C[2]; +extern MenuTexture D_02002964[2]; +extern MenuTexture D_0200298C[2]; +extern MenuTexture D_020029B4[2]; +extern MenuTexture D_020029DC[2]; +extern MenuTexture D_02002A04[2]; +extern MenuTexture D_02002A2C[2]; +extern MenuTexture D_02002A54[2]; +extern MenuTexture D_02002A7C[2]; +extern MenuTexture D_02002AA4[2]; +extern MenuTexture D_02002ACC[2]; +extern MenuTexture D_02002AF4[2]; +extern MenuTexture D_02002B1C[2]; +extern MenuTexture D_02002B44[2]; +extern MenuTexture D_02002B6C[2]; +extern MenuTexture D_02002B94[2]; +extern MenuTexture D_02002BBC[2]; +extern MenuTexture D_02002BE4[2]; +extern MenuTexture D_02002C0C[2]; +extern MenuTexture D_02002C34[2]; +extern MenuTexture D_02002C5C[2]; +extern MenuTexture D_02002C84[2]; +extern MenuTexture D_02002CAC[2]; +extern MenuTexture D_02002CD4[2]; +extern MenuTexture D_02002CFC[2]; +extern MenuTexture D_02002D24[2]; +extern MenuTexture D_02002D4C[2]; +extern MenuTexture D_02002D74[2]; +extern MenuTexture D_02002D9C[2]; +extern MenuTexture D_02002DC4[2]; +extern MenuTexture D_02002DEC[2]; +extern MenuTexture D_02002E14[2]; +extern MenuTexture D_02002E3C[2]; +extern MenuTexture D_02002E64[2]; +extern MenuTexture D_02002E8C[2]; +extern MenuTexture D_02002EB4[2]; +extern MenuTexture D_02002EDC[2]; +extern MenuTexture D_02002F04[2]; +extern MenuTexture D_02002F2C[2]; +extern MenuTexture D_02002F54[2]; +extern MenuTexture D_02002F7C[2]; +extern MenuTexture D_02002FA4[2]; +extern MenuTexture D_02002FCC[2]; +extern MenuTexture D_02002FF4[2]; +extern MenuTexture D_0200301C[2]; +extern MenuTexture D_02003044[2]; +extern MenuTexture D_0200306C[2]; +extern MenuTexture D_02003094[2]; +extern MenuTexture D_020030BC[2]; +extern MenuTexture D_020030E4[2]; +extern MenuTexture D_0200310C[2]; +extern MenuTexture D_02003134[2]; +extern MenuTexture D_0200315C[2]; +extern MenuTexture D_02003184[2]; +extern MenuTexture D_020031AC[2]; +extern MenuTexture D_020031D4[2]; +extern MenuTexture D_020031FC[2]; +extern MenuTexture D_02003224[2]; +extern MenuTexture D_0200324C[2]; +extern MenuTexture D_02003274[2]; +extern MenuTexture D_0200329C[2]; +extern MenuTexture D_020032C4[2]; +extern MenuTexture D_020032EC[2]; +extern MenuTexture D_02003314[2]; +extern MenuTexture D_0200333C[2]; +extern MenuTexture D_02003364[2]; +extern MenuTexture D_0200338C[2]; +extern MenuTexture D_020033B4[2]; +extern MenuTexture D_020033DC[2]; +extern MenuTexture D_02003404[2]; +extern MenuTexture D_0200342C[2]; +extern MenuTexture D_02003454[2]; +extern MenuTexture D_0200347C[2]; +extern MenuTexture D_020034A4[2]; +extern MenuTexture D_020034CC[2]; +extern MenuTexture D_020034F4[2]; +extern MenuTexture D_0200351C[2]; +extern MenuTexture D_02003544[2]; +extern MenuTexture D_0200356C[2]; +extern MenuTexture D_02003594[2]; +extern MenuTexture D_020035BC[2]; +extern MenuTexture D_020035E4[2]; +extern MenuTexture D_0200360C[2]; +extern MenuTexture D_02003634[2]; +extern MenuTexture D_0200365C[2]; +extern MenuTexture D_02003684[2]; +extern MenuTexture D_020036AC[2]; +extern MenuTexture D_020036D4[2]; +extern MenuTexture D_020036FC[2]; +extern MenuTexture D_02003724[2]; +extern MenuTexture D_0200374C[2]; +extern MenuTexture D_02003774[2]; +extern MenuTexture D_0200379C[2]; +extern MenuTexture D_020037C4[2]; +extern MenuTexture D_020037EC[2]; +extern MenuTexture D_02003814[2]; +extern MenuTexture D_0200383C[2]; +extern MenuTexture D_02003864[2]; +extern MenuTexture D_0200388C[2]; +extern MenuTexture D_020038B4[2]; +extern MenuTexture D_020038DC[2]; +extern MenuTexture D_02003904[2]; +extern MenuTexture D_0200392C[2]; +extern MenuTexture D_02003954[2]; +extern MenuTexture D_0200397C[2]; +extern MenuTexture D_020039A4[2]; +extern MenuTexture D_020039CC[2]; +extern MenuTexture D_020039F4[2]; +extern MenuTexture D_02003A1C[2]; +extern MenuTexture D_02003A44[2]; +extern MenuTexture D_02003A6C[2]; +extern MenuTexture D_02003A94[2]; +extern MenuTexture D_02003ABC[2]; +extern MenuTexture D_02003AE4[2]; +extern MenuTexture D_02003B0C[2]; +extern MenuTexture D_02003B34[2]; +extern MenuTexture D_02003B5C[2]; +extern MenuTexture D_02003B84[2]; +extern MenuTexture D_02003BAC[2]; +extern MenuTexture D_02003BD4[2]; +extern MenuTexture D_02003BFC[2]; +extern MenuTexture D_02003C24[2]; +extern MenuTexture D_02003C4C[2]; +extern MenuTexture D_02003C74[2]; +extern MenuTexture D_02003C9C[2]; +extern MenuTexture D_02003CC4[2]; +extern MenuTexture D_02003CEC[2]; +extern MenuTexture D_02003D14[2]; +extern MenuTexture D_02003D3C[2]; +extern MenuTexture D_02003D64[2]; +extern MenuTexture D_02003D8C[2]; +extern MenuTexture D_02003DB4[2]; +extern MenuTexture D_02003DDC[2]; +extern MenuTexture D_02003E04[2]; +extern MenuTexture D_02003E2C[2]; +extern MenuTexture D_02003E54[2]; +extern MenuTexture D_02003E7C[2]; +extern MenuTexture D_02003EA4[2]; +extern MenuTexture D_02003ECC[2]; +extern MenuTexture D_02003EF4[2]; +extern MenuTexture D_02003F1C[2]; +extern MenuTexture D_02003F44[2]; +extern MenuTexture D_02003F6C[2]; +extern MenuTexture D_02003F94[2]; +extern MenuTexture D_02003FBC[2]; +extern MenuTexture D_02003FE4[2]; +extern MenuTexture D_0200400C[2]; +extern MenuTexture D_02004034[2]; +extern MenuTexture D_0200405C[2]; +extern MenuTexture D_02004084[2]; +extern MenuTexture D_020040AC[2]; +extern MenuTexture D_020040D4[2]; +extern MenuTexture D_020040FC[2]; +extern MenuTexture D_02004124[2]; +extern MenuTexture D_0200414C[2]; +extern MenuTexture D_02004174[2]; +extern MenuTexture D_0200419C[2]; +extern MenuTexture D_020041C4[2]; +extern MenuTexture D_020041EC[2]; +extern MenuTexture D_02004214[2]; +extern MenuTexture D_0200423C[2]; +extern MenuTexture D_02004264[2]; +extern MenuTexture D_0200428C[2]; +extern MenuTexture D_020042B4[2]; +extern MenuTexture D_020042DC[2]; +extern MenuTexture D_02004304[2]; +extern MenuTexture D_0200432C[2]; +extern MenuTexture D_02004354[2]; +extern MenuTexture D_0200437C[2]; +extern MenuTexture D_020043A4[2]; +extern MenuTexture D_020043CC[2]; +extern MenuTexture D_020043F4[2]; +extern MenuTexture D_0200441C[2]; +extern MenuTexture D_02004444[2]; +extern MenuTexture D_0200446C[2]; +extern MenuTexture D_02004494[2]; +extern MenuTexture D_020044BC[2]; +extern MenuTexture D_020044E4[2]; +extern MenuTexture D_0200450C[2]; +extern MenuTexture D_02004534[2]; +extern MenuTexture D_0200455C[2]; +extern MenuTexture D_02004584[1]; +extern MenuTexture gMenuTextureBackgroundBlueSky[2]; +extern MenuTexture gMenuTextureBackgroundSunset[2]; +extern MenuTexture gMenuTextureCopyright1996[2]; +extern MenuTexture gMenuTexturePushStartButton[2]; +extern MenuTexture D_02004638[2]; +extern MenuTexture gMenuTextureGameSelect[2]; +extern MenuTexture gMenuTextureOnePlayerColone[4]; +extern MenuTexture gMenuTextureTwoPlayerColone[5]; +extern MenuTexture gMenuTextureThreePlayerColone[4]; +extern MenuTexture gMenuTextureFourPlayerColone[4]; +extern MenuTexture D_020047DC[2]; +extern MenuTexture D_02004804[2]; +extern MenuTexture D_0200482C[2]; +extern MenuTexture D_02004854[2]; +extern MenuTexture D_0200487C[2]; +extern MenuTexture D_020048A4[2]; +extern MenuTexture D_020048CC[2]; +extern MenuTexture gMenuTexture50cc[2]; +extern MenuTexture gMenuTexture100cc[2]; +extern MenuTexture gMenuTexture150cc[2]; +extern MenuTexture gMenuTextureExtra[2]; +extern MenuTexture gMenuTextureWithoutItem[2]; +extern MenuTexture D_020049BC[2]; +extern MenuTexture D_020049E4[2]; +extern MenuTexture D_02004A0C[2]; +extern MenuTexture gMenuTextureData[2]; +extern MenuTexture gMenuTextureBorderP1[3]; +extern MenuTexture gMenuTextureBorderP2[3]; +extern MenuTexture gMenuTextureBorderP3[3]; +extern MenuTexture gMenuTextureBorderP4[3]; +extern MenuTexture D_02004B4C[2]; +extern MenuTexture D_02004B74[2]; +extern MenuTexture gMenuTextureMenuSelect[2]; +extern MenuTexture gMenuTextureMushroomCup[2]; +extern MenuTexture gMenuTextureFlowerCup[2]; +extern MenuTexture gMenuTextureStarCup[2]; +extern MenuTexture gMenuTextureSpecialCup[2]; +extern MenuTexture gMenuTexturePreviewMarioRacewaySmall[2]; +extern MenuTexture gMenuTextureTitleMushroomCup[5]; +extern MenuTexture gMenuTextureTitleFlowerCup[5]; +extern MenuTexture gMenuTextureTitleStarCup[5]; +extern MenuTexture gMenuTextureTitleSpecialCup[5]; +extern MenuTexture gMenuTextureTitleBattleTrack[5]; +extern MenuTexture D_02004E80[2]; +extern MenuTexture gMenuTextureTitleMarioRaceway[2]; +extern MenuTexture gMenuTextureTitleChocoMountain[2]; +extern MenuTexture D_02004EF8[2]; +extern MenuTexture D_02004F20[2]; +extern MenuTexture D_02004F48[2]; +extern MenuTexture D_02004F70[2]; +extern MenuTexture D_02004F98[2]; +extern MenuTexture D_02004FC0[2]; +extern MenuTexture D_02004FE8[2]; +extern MenuTexture D_02005010[2]; +extern MenuTexture D_02005038[2]; +extern MenuTexture D_02005060[2]; +extern MenuTexture D_02005088[2]; +extern MenuTexture D_020050B0[2]; +extern MenuTexture D_020050D8[2]; +extern MenuTexture D_02005100[2]; +extern MenuTexture D_02005128[2]; +extern MenuTexture D_02005150[2]; +extern MenuTexture D_02005178[2]; +extern MenuTexture D_020051A0[2]; +extern MenuTexture D_020051C8[2]; +extern MenuTexture D_020051F0[2]; +extern MenuTexture D_02005218[2]; +extern MenuTexture D_02005240[2]; +extern MenuTexture D_02005268[2]; +extern MenuTexture D_02005290[2]; +extern MenuTexture D_020052B8[2]; +extern MenuTexture D_020052E0[2]; +extern MenuTexture D_02005308[2]; +extern MenuTexture D_02005330[2]; +extern MenuTexture D_02005358[2]; +extern MenuTexture D_02005380[2]; +extern MenuTexture D_020053A8[2]; +extern MenuTexture D_020053D0[2]; +extern MenuTexture D_020053F8[2]; +extern MenuTexture D_02005420[2]; +extern MenuTexture D_02005448[2]; +extern MenuTexture D_02005470[2]; +extern MenuTexture D_02005498[2]; +extern MenuTexture D_020054C0[2]; +extern MenuTexture D_020054E8[2]; +extern MenuTexture D_02005510[2]; +extern MenuTexture D_02005538[2]; +extern MenuTexture D_02005560[2]; +extern MenuTexture D_02005588[2]; +extern MenuTexture D_020055B0[2]; +extern MenuTexture D_020055D8[2]; +extern MenuTexture D_02005600[2]; +extern MenuTexture D_02005628[2]; +extern MenuTexture D_02005650[2]; +extern MenuTexture D_02005678[2]; +extern MenuTexture D_020056A0[2]; +extern MenuTexture D_020056C8[2]; +extern MenuTexture D_020056F0[2]; +extern MenuTexture D_02005718[2]; +extern MenuTexture D_02005740[2]; +extern MenuTexture D_02005768[2]; +extern MenuTexture D_02005790[2]; +extern MenuTexture D_020057B8[2]; +extern MenuTexture D_020057E0[2]; +extern MenuTexture D_02005808[2]; +extern MenuTexture D_02005830[2]; +extern MenuTexture D_02005858[2]; +extern MenuTexture D_02005880[2]; +extern MenuTexture D_020058A8[2]; +extern MenuTexture D_020058D0[2]; +extern MenuTexture D_020058F8[2]; +extern MenuTexture D_02005920[2]; +extern MenuTexture D_02005948[2]; +extern MenuTexture D_02005970[2]; +extern MenuTexture D_02005998[2]; +extern MenuTexture D_020059C0[2]; +extern MenuTexture D_020059E8[2]; +extern MenuTexture D_02005A10[2]; +extern MenuTexture D_02005A38[2]; +extern MenuTexture D_02005A60[2]; +extern MenuTexture D_02005A88[2]; +extern MenuTexture D_02005AB0[2]; +extern MenuTexture D_02005AD8[2]; +extern MenuTexture D_02005B00[2]; +extern MenuTexture D_02005B28[2]; +extern MenuTexture D_02005B50[2]; +extern MenuTexture D_02005B78[2]; +extern MenuTexture D_02005BA0[2]; +extern MenuTexture D_02005BC8[2]; +extern MenuTexture D_02005BF0[2]; +extern MenuTexture D_02005C18[2]; +extern MenuTexture D_02005C40[2]; +extern MenuTexture D_02005C68[2]; +extern MenuTexture D_02005C90[2]; +extern MenuTexture D_02005CB8[2]; +extern MenuTexture D_02005CE0[2]; +extern MenuTexture D_02005D08[2]; +extern MenuTexture D_02005D30[2]; +extern MenuTexture D_02005D58[2]; +extern MenuTexture D_02005D80[2]; +extern MenuTexture D_02005DA8[2]; +extern MenuTexture D_02005DD0[2]; +extern MenuTexture D_02005DF8[2]; +extern MenuTexture D_02005E20[2]; +extern MenuTexture D_02005E48[2]; +extern MenuTexture D_02005E70[2]; +extern MenuTexture D_02005E98[2]; +extern MenuTexture D_02005EC0[2]; +extern MenuTexture D_02005EE8[2]; +extern MenuTexture D_02005F10[2]; +extern MenuTexture D_02005F38[2]; +extern MenuTexture D_02005F60[2]; +extern MenuTexture D_02005F88[2]; +extern MenuTexture D_02005FB0[2]; +extern MenuTexture D_02005FD8[2]; +extern MenuTexture D_02006000[2]; +extern MenuTexture D_02006028[2]; +extern MenuTexture D_02006050[2]; +extern MenuTexture D_02006078[2]; +extern MenuTexture D_020060A0[2]; +extern MenuTexture D_020060C8[2]; +extern MenuTexture D_020060F0[2]; +extern MenuTexture D_02006118[2]; +extern MenuTexture D_02006140[2]; +extern MenuTexture D_02006168[2]; +extern MenuTexture D_02006190[2]; +extern MenuTexture D_020061B8[2]; +extern MenuTexture D_020061E0[2]; +extern MenuTexture D_02006208[2]; +extern MenuTexture D_02006230[2]; +extern MenuTexture D_02006258[2]; +extern MenuTexture D_02006280[2]; +extern MenuTexture D_020062A8[2]; +extern MenuTexture D_020062D0[2]; +extern MenuTexture D_020062F8[2]; +extern MenuTexture D_02006320[2]; +extern MenuTexture D_02006348[2]; +extern MenuTexture D_02006370[2]; +extern MenuTexture D_02006398[2]; +extern MenuTexture D_020063C0[2]; +extern MenuTexture D_020063E8[2]; +extern MenuTexture D_02006410[2]; +extern MenuTexture D_02006438[2]; +extern MenuTexture D_02006460[2]; +extern MenuTexture D_02006488[2]; +extern MenuTexture D_020064B0[2]; +extern MenuTexture D_020064D8[2]; +extern MenuTexture D_02006500[2]; +extern MenuTexture D_02006528[2]; +extern MenuTexture D_02006550[2]; +extern MenuTexture D_02006578[2]; +extern MenuTexture D_020065A0[2]; +extern MenuTexture D_020065C8[2]; +extern MenuTexture D_020065F0[2]; +extern MenuTexture D_02006618[2]; +extern MenuTexture D_02006640[2]; +extern MenuTexture D_02006668[2]; +extern MenuTexture D_02006690[2]; +extern MenuTexture D_020066B8[2]; +extern MenuTexture D_020066E0[2]; extern MkAnimation D_02006708[2]; extern MkAnimation D_02006718[12]; extern MkAnimation D_02006778[2];