diff --git a/README.md b/README.md index cd612675..bbe7bfb6 100755 --- a/README.md +++ b/README.md @@ -113,31 +113,31 @@ s32 is_drumstick_unlocked(void) { } ``` -As of October 2nd, 2022, this is our current score: +As of October 3rd, 2022, this is our current score: ``` ======================================================== ADVENTURE ONE (ASM -> C Decompilation) - ------------------- 31.77% Complete -------------------- - # Decompiled functions: 1275 - # GLOBAL_ASM remaining: 558 + ------------------- 32.49% Complete -------------------- + # Decompiled functions: 1283 + # GLOBAL_ASM remaining: 550 # NON_MATCHING functions: 14 - # NON_EQUIVALENT WIP functions: 100 + # NON_EQUIVALENT WIP functions: 99 --------------------- Game Status ---------------------- - Balloons: 16/47, Keys: 2/4, Trophies: 1/5 + Balloons: 17/47, Keys: 2/4, Trophies: 1/5 T.T. Amulets: 1/4, Wizpig Amulets: 1/4 -------------------------------------------------------- - We are racing in Frosty Village. (Lap 3/3) + We are racing the walrus boss Bluey. ======================================================== ADVENTURE TWO (Cleanup & Documentation) - ------------------- 5.39% Complete -------------------- - # Documented functions: 195 - # Undocumented remaining: 1638 + ------------------- 5.48% Complete -------------------- + # Documented functions: 197 + # Undocumented remaining: 1636 --------------------- Game Status ---------------------- Balloons: 3/47, Keys: 0/4, Trophies: 0/5 T.T. Amulets: 0/4, Wizpig Amulets: 0/4 -------------------------------------------------------- We are collecting the fourth balloon on Timber's Island. - ======================================================== + ======================================================== ``` --- diff --git a/asm/non_matchings/menu/func_80081F4C.s b/asm/non_matchings/menu/func_80081F4C.s deleted file mode 100644 index f07d3a4d..00000000 --- a/asm/non_matchings/menu/func_80081F4C.s +++ /dev/null @@ -1,189 +0,0 @@ -glabel func_80081F4C -/* 082B4C 80081F4C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 082B50 80081F50 AFB20028 */ sw $s2, 0x28($sp) -/* 082B54 80081F54 3C12800E */ lui $s2, %hi(D_800DF794) # $s2, 0x800e -/* 082B58 80081F58 2652F794 */ addiu $s2, %lo(D_800DF794) # addiu $s2, $s2, -0x86c -/* 082B5C 80081F5C 8E470000 */ lw $a3, ($s2) -/* 082B60 80081F60 AFB60038 */ sw $s6, 0x38($sp) -/* 082B64 80081F64 E7B4001C */ swc1 $f20, 0x1c($sp) -/* 082B68 80081F68 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 082B6C 80081F6C 24160004 */ li $s6, 4 -/* 082B70 80081F70 AFB3002C */ sw $s3, 0x2c($sp) -/* 082B74 80081F74 AFB10024 */ sw $s1, 0x24($sp) -/* 082B78 80081F78 240E0001 */ li $t6, 1 -/* 082B7C 80081F7C 4481A000 */ mtc1 $at, $f20 -/* 082B80 80081F80 00809825 */ move $s3, $a0 -/* 082B84 80081F84 AFBF003C */ sw $ra, 0x3c($sp) -/* 082B88 80081F88 AFB50034 */ sw $s5, 0x34($sp) -/* 082B8C 80081F8C AFB40030 */ sw $s4, 0x30($sp) -/* 082B90 80081F90 AFB00020 */ sw $s0, 0x20($sp) -/* 082B94 80081F94 E7B50018 */ swc1 $f21, 0x18($sp) -/* 082B98 80081F98 AFAE0040 */ sw $t6, 0x40($sp) -/* 082B9C 80081F9C 12C70086 */ beq $s6, $a3, .L800821B8 -/* 082BA0 80081FA0 00008825 */ move $s1, $zero -/* 082BA4 80081FA4 3C0F8012 */ lui $t7, %hi(gIgnorePlayerInput) # $t7, 0x8012 -/* 082BA8 80081FA8 8DEF63C4 */ lw $t7, %lo(gIgnorePlayerInput)($t7) -/* 082BAC 80081FAC 3C18800E */ lui $t8, %hi(gNumberOfActivePlayers) # $t8, 0x800e -/* 082BB0 80081FB0 15E0000F */ bnez $t7, .L80081FF0 -/* 082BB4 80081FB4 00000000 */ nop -/* 082BB8 80081FB8 8F18F4BC */ lw $t8, %lo(gNumberOfActivePlayers)($t8) -/* 082BBC 80081FBC 00008025 */ move $s0, $zero -/* 082BC0 80081FC0 1B00000B */ blez $t8, .L80081FF0 -/* 082BC4 80081FC4 00000000 */ nop -.L80081FC8: -/* 082BC8 80081FC8 0C01A955 */ jal get_buttons_pressed_from_player -/* 082BCC 80081FCC 02002025 */ move $a0, $s0 -/* 082BD0 80081FD0 3C19800E */ lui $t9, %hi(gNumberOfActivePlayers) # $t9, 0x800e -/* 082BD4 80081FD4 8F39F4BC */ lw $t9, %lo(gNumberOfActivePlayers)($t9) -/* 082BD8 80081FD8 26100001 */ addiu $s0, $s0, 1 -/* 082BDC 80081FDC 0219082A */ slt $at, $s0, $t9 -/* 082BE0 80081FE0 1420FFF9 */ bnez $at, .L80081FC8 -/* 082BE4 80081FE4 02228825 */ or $s1, $s1, $v0 -/* 082BE8 80081FE8 8E470000 */ lw $a3, ($s2) -/* 082BEC 80081FEC 00000000 */ nop -.L80081FF0: -/* 082BF0 80081FF0 3C108012 */ lui $s0, %hi(D_80126854) # $s0, 0x8012 -/* 082BF4 80081FF4 26106854 */ addiu $s0, %lo(D_80126854) # addiu $s0, $s0, 0x6854 -/* 082BF8 80081FF8 8E080000 */ lw $t0, ($s0) -/* 082BFC 80081FFC 3C158012 */ lui $s5, %hi(D_80126860) # $s5, 0x8012 -/* 082C00 80082000 01134821 */ addu $t1, $t0, $s3 -/* 082C04 80082004 AE090000 */ sw $t1, ($s0) -/* 082C08 80082008 24130001 */ li $s3, 1 -/* 082C0C 8008200C 26B56860 */ addiu $s5, %lo(D_80126860) # addiu $s5, $s5, 0x6860 -/* 082C10 80082010 24140002 */ li $s4, 2 -.L80082014: -/* 082C14 80082014 10E00007 */ beqz $a3, .L80082034 -/* 082C18 80082018 00E01025 */ move $v0, $a3 -/* 082C1C 8008201C 1053001D */ beq $v0, $s3, .L80082094 -/* 082C20 80082020 3C038012 */ lui $v1, %hi(D_8012685C) # $v1, 0x8012 -/* 082C24 80082024 10540044 */ beq $v0, $s4, .L80082138 -/* 082C28 80082028 32399000 */ andi $t9, $s1, 0x9000 -/* 082C2C 8008202C 10000054 */ b .L80082180 -/* 082C30 80082030 44809000 */ mtc1 $zero, $f18 -.L80082034: -/* 082C34 80082034 322A9000 */ andi $t2, $s1, 0x9000 -/* 082C38 80082038 11400006 */ beqz $t2, .L80082054 -/* 082C3C 8008203C 3C038012 */ lui $v1, %hi(D_80126858) # $v1, 0x8012 -/* 082C40 80082040 AE000000 */ sw $zero, ($s0) -/* 082C44 80082044 AE530000 */ sw $s3, ($s2) -/* 082C48 80082048 00008825 */ move $s1, $zero -/* 082C4C 8008204C 1000004B */ b .L8008217C -/* 082C50 80082050 02603825 */ move $a3, $s3 -.L80082054: -/* 082C54 80082054 8E020000 */ lw $v0, ($s0) -/* 082C58 80082058 8C636858 */ lw $v1, %lo(D_80126858)($v1) -/* 082C5C 8008205C 00000000 */ nop -/* 082C60 80082060 0043082A */ slt $at, $v0, $v1 -/* 082C64 80082064 14200005 */ bnez $at, .L8008207C -/* 082C68 80082068 00435823 */ subu $t3, $v0, $v1 -/* 082C6C 8008206C AE0B0000 */ sw $t3, ($s0) -/* 082C70 80082070 AE530000 */ sw $s3, ($s2) -/* 082C74 80082074 10000041 */ b .L8008217C -/* 082C78 80082078 02603825 */ move $a3, $s3 -.L8008207C: -/* 082C7C 8008207C 44822000 */ mtc1 $v0, $f4 -/* 082C80 80082080 44834000 */ mtc1 $v1, $f8 -/* 082C84 80082084 468021A0 */ cvt.s.w $f6, $f4 -/* 082C88 80082088 468042A0 */ cvt.s.w $f10, $f8 -/* 082C8C 8008208C 1000003B */ b .L8008217C -/* 082C90 80082090 460A3503 */ div.s $f20, $f6, $f10 -.L80082094: -/* 082C94 80082094 8C63685C */ lw $v1, %lo(D_8012685C)($v1) -/* 082C98 80082098 32229000 */ andi $v0, $s1, 0x9000 -/* 082C9C 8008209C 04610002 */ bgez $v1, .L800820A8 -/* 082CA0 800820A0 00000000 */ nop -/* 082CA4 800820A4 AE000000 */ sw $zero, ($s0) -.L800820A8: -/* 082CA8 800820A8 1040000D */ beqz $v0, .L800820E0 -/* 082CAC 800820AC 00000000 */ nop -/* 082CB0 800820B0 8EAD0000 */ lw $t5, ($s5) -/* 082CB4 800820B4 AE000000 */ sw $zero, ($s0) -/* 082CB8 800820B8 000D082A */ slt $at, $zero, $t5 -/* 082CBC 800820BC AE540000 */ sw $s4, ($s2) -/* 082CC0 800820C0 10200004 */ beqz $at, .L800820D4 -/* 082CC4 800820C4 00008825 */ move $s1, $zero -/* 082CC8 800820C8 24040016 */ li $a0, 22 -/* 082CCC 800820CC 0C000741 */ jal play_sound_global -/* 082CD0 800820D0 00002825 */ move $a1, $zero -.L800820D4: -/* 082CD4 800820D4 8E470000 */ lw $a3, ($s2) -/* 082CD8 800820D8 10000029 */ b .L80082180 -/* 082CDC 800820DC 44809000 */ mtc1 $zero, $f18 -.L800820E0: -/* 082CE0 800820E0 8E020000 */ lw $v0, ($s0) -/* 082CE4 800820E4 00000000 */ nop -/* 082CE8 800820E8 0043082A */ slt $at, $v0, $v1 -/* 082CEC 800820EC 1420000C */ bnez $at, .L80082120 -/* 082CF0 800820F0 00437023 */ subu $t6, $v0, $v1 -/* 082CF4 800820F4 8EB80000 */ lw $t8, ($s5) -/* 082CF8 800820F8 AE0E0000 */ sw $t6, ($s0) -/* 082CFC 800820FC 01D8082A */ slt $at, $t6, $t8 -/* 082D00 80082100 10200004 */ beqz $at, .L80082114 -/* 082D04 80082104 AE540000 */ sw $s4, ($s2) -/* 082D08 80082108 24040016 */ li $a0, 22 -/* 082D0C 8008210C 0C000741 */ jal play_sound_global -/* 082D10 80082110 00002825 */ move $a1, $zero -.L80082114: -/* 082D14 80082114 8E470000 */ lw $a3, ($s2) -/* 082D18 80082118 10000019 */ b .L80082180 -/* 082D1C 8008211C 44809000 */ mtc1 $zero, $f18 -.L80082120: -/* 082D20 80082120 44828000 */ mtc1 $v0, $f16 -/* 082D24 80082124 44832000 */ mtc1 $v1, $f4 -/* 082D28 80082128 468084A0 */ cvt.s.w $f18, $f16 -/* 082D2C 8008212C 46802220 */ cvt.s.w $f8, $f4 -/* 082D30 80082130 10000012 */ b .L8008217C -/* 082D34 80082134 46089503 */ div.s $f20, $f18, $f8 -.L80082138: -/* 082D38 80082138 17200007 */ bnez $t9, .L80082158 -/* 082D3C 8008213C 00000000 */ nop -/* 082D40 80082140 8E020000 */ lw $v0, ($s0) -/* 082D44 80082144 8EA30000 */ lw $v1, ($s5) -/* 082D48 80082148 00000000 */ nop -/* 082D4C 8008214C 0043082A */ slt $at, $v0, $v1 -/* 082D50 80082150 14200004 */ bnez $at, .L80082164 -/* 082D54 80082154 00000000 */ nop -.L80082158: -/* 082D58 80082158 AE560000 */ sw $s6, ($s2) -/* 082D5C 8008215C 10000007 */ b .L8008217C -/* 082D60 80082160 02C03825 */ move $a3, $s6 -.L80082164: -/* 082D64 80082164 44823000 */ mtc1 $v0, $f6 -/* 082D68 80082168 44838000 */ mtc1 $v1, $f16 -/* 082D6C 8008216C 468032A0 */ cvt.s.w $f10, $f6 -/* 082D70 80082170 46808120 */ cvt.s.w $f4, $f16 -/* 082D74 80082174 00000000 */ nop -/* 082D78 80082178 46045503 */ div.s $f20, $f10, $f4 -.L8008217C: -/* 082D7C 8008217C 44809000 */ mtc1 $zero, $f18 -.L80082180: -/* 082D80 80082180 00000000 */ nop -/* 082D84 80082184 4612A03C */ c.lt.s $f20, $f18 -/* 082D88 80082188 00000000 */ nop -/* 082D8C 8008218C 45000003 */ bc1f .L8008219C -/* 082D90 80082190 00000000 */ nop -/* 082D94 80082194 16C7FF9F */ bne $s6, $a3, .L80082014 -/* 082D98 80082198 00000000 */ nop -.L8008219C: -/* 082D9C 8008219C 12C70006 */ beq $s6, $a3, .L800821B8 -/* 082DA0 800821A0 3C05800E */ lui $a1, %hi(D_800DF798) # $a1, 0x800e -/* 082DA4 800821A4 8CA5F798 */ lw $a1, %lo(D_800DF798)($a1) -/* 082DA8 800821A8 4406A000 */ mfc1 $a2, $f20 -/* 082DAC 800821AC 0C02087B */ jal draw_menu_elements -/* 082DB0 800821B0 00E02025 */ move $a0, $a3 -/* 082DB4 800821B4 AFA00040 */ sw $zero, 0x40($sp) -.L800821B8: -/* 082DB8 800821B8 8FBF003C */ lw $ra, 0x3c($sp) -/* 082DBC 800821BC 8FA20040 */ lw $v0, 0x40($sp) -/* 082DC0 800821C0 C7B50018 */ lwc1 $f21, 0x18($sp) -/* 082DC4 800821C4 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 082DC8 800821C8 8FB00020 */ lw $s0, 0x20($sp) -/* 082DCC 800821CC 8FB10024 */ lw $s1, 0x24($sp) -/* 082DD0 800821D0 8FB20028 */ lw $s2, 0x28($sp) -/* 082DD4 800821D4 8FB3002C */ lw $s3, 0x2c($sp) -/* 082DD8 800821D8 8FB40030 */ lw $s4, 0x30($sp) -/* 082DDC 800821DC 8FB50034 */ lw $s5, 0x34($sp) -/* 082DE0 800821E0 8FB60038 */ lw $s6, 0x38($sp) -/* 082DE4 800821E4 03E00008 */ jr $ra -/* 082DE8 800821E8 27BD0048 */ addiu $sp, $sp, 0x48 - diff --git a/asm/non_matchings/menu/func_8008C168.s b/asm/non_matchings/menu/func_8008C168.s deleted file mode 100644 index ec55cfb5..00000000 --- a/asm/non_matchings/menu/func_8008C168.s +++ /dev/null @@ -1,159 +0,0 @@ -glabel func_8008C168 -/* 08CD68 8008C168 3C058012 */ lui $a1, %hi(D_801263C0) # $a1, 0x8012 -/* 08CD6C 8008C16C 24A563C0 */ addiu $a1, %lo(D_801263C0) # addiu $a1, $a1, 0x63c0 -/* 08CD70 8008C170 80A20001 */ lb $v0, 1($a1) -/* 08CD74 8008C174 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08CD78 8008C178 AFBF001C */ sw $ra, 0x1c($sp) -/* 08CD7C 8008C17C AFB00018 */ sw $s0, 0x18($sp) -/* 08CD80 8008C180 18400037 */ blez $v0, .L8008C260 -/* 08CD84 8008C184 AFA40020 */ sw $a0, 0x20($sp) -/* 08CD88 8008C188 00447823 */ subu $t7, $v0, $a0 -/* 08CD8C 8008C18C A0AF0001 */ sb $t7, 1($a1) -/* 08CD90 8008C190 80B80001 */ lb $t8, 1($a1) -/* 08CD94 8008C194 3C108012 */ lui $s0, %hi(D_801263B8) # $s0, 0x8012 -/* 08CD98 8008C198 1F000031 */ bgtz $t8, .L8008C260 -/* 08CD9C 8008C19C 261063B8 */ addiu $s0, %lo(D_801263B8) # addiu $s0, $s0, 0x63b8 -/* 08CDA0 8008C1A0 82020000 */ lb $v0, ($s0) -/* 08CDA4 8008C1A4 3C04800E */ lui $a0, %hi(D_800DFDB4) # $a0, 0x800e -/* 08CDA8 8008C1A8 0440000E */ bltz $v0, .L8008C1E4 -/* 08CDAC 8008C1AC 0002C840 */ sll $t9, $v0, 1 -/* 08CDB0 8008C1B0 00992021 */ addu $a0, $a0, $t9 -/* 08CDB4 8008C1B4 9084FDB4 */ lbu $a0, %lo(D_800DFDB4)($a0) -/* 08CDB8 8008C1B8 0C000445 */ jal func_80001114 -/* 08CDBC 8008C1BC 00000000 */ nop -/* 08CDC0 8008C1C0 82080000 */ lb $t0, ($s0) -/* 08CDC4 8008C1C4 3C04800E */ lui $a0, %hi(D_800DFDB4+1) # $a0, 0x800e -/* 08CDC8 8008C1C8 00084840 */ sll $t1, $t0, 1 -/* 08CDCC 8008C1CC 00892021 */ addu $a0, $a0, $t1 -/* 08CDD0 8008C1D0 9084FDB5 */ lbu $a0, %lo(D_800DFDB4+1)($a0) -/* 08CDD4 8008C1D4 0C000445 */ jal func_80001114 -/* 08CDD8 8008C1D8 00000000 */ nop -/* 08CDDC 8008C1DC 3C058012 */ lui $a1, %hi(D_801263C0) # $a1, 0x8012 -/* 08CDE0 8008C1E0 24A563C0 */ addiu $a1, %lo(D_801263C0) # addiu $a1, $a1, 0x63c0 -.L8008C1E4: -/* 08CDE4 8008C1E4 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 -/* 08CDE8 8008C1E8 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 -/* 08CDEC 8008C1EC 80620000 */ lb $v0, ($v1) -/* 08CDF0 8008C1F0 3C04800E */ lui $a0, %hi(D_800DFDB4) # $a0, 0x800e -/* 08CDF4 8008C1F4 04400004 */ bltz $v0, .L8008C208 -/* 08CDF8 8008C1F8 A2020000 */ sb $v0, ($s0) -/* 08CDFC 8008C1FC 846A0002 */ lh $t2, 2($v1) -/* 08CE00 8008C200 00000000 */ nop -/* 08CE04 8008C204 A60A0002 */ sh $t2, 2($s0) -.L8008C208: -/* 08CE08 8008C208 80AB0000 */ lb $t3, ($a1) -/* 08CE0C 8008C20C 00000000 */ nop -/* 08CE10 8008C210 A06B0000 */ sb $t3, ($v1) -/* 08CE14 8008C214 80620000 */ lb $v0, ($v1) -/* 08CE18 8008C218 00000000 */ nop -/* 08CE1C 8008C21C 04400010 */ bltz $v0, .L8008C260 -/* 08CE20 8008C220 00026840 */ sll $t5, $v0, 1 -/* 08CE24 8008C224 84AC0002 */ lh $t4, 2($a1) -/* 08CE28 8008C228 008D2021 */ addu $a0, $a0, $t5 -/* 08CE2C 8008C22C A46C0002 */ sh $t4, 2($v1) -/* 08CE30 8008C230 9084FDB4 */ lbu $a0, %lo(D_800DFDB4)($a0) -/* 08CE34 8008C234 0C00045C */ jal func_80001170 -/* 08CE38 8008C238 00000000 */ nop -/* 08CE3C 8008C23C 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 -/* 08CE40 8008C240 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 -/* 08CE44 8008C244 806E0000 */ lb $t6, ($v1) -/* 08CE48 8008C248 3C04800E */ lui $a0, %hi(D_800DFDB4+1) # $a0, 0x800e -/* 08CE4C 8008C24C 000E7840 */ sll $t7, $t6, 1 -/* 08CE50 8008C250 008F2021 */ addu $a0, $a0, $t7 -/* 08CE54 8008C254 9084FDB5 */ lbu $a0, %lo(D_800DFDB4+1)($a0) -/* 08CE58 8008C258 0C00045C */ jal func_80001170 -/* 08CE5C 8008C25C 00000000 */ nop -.L8008C260: -/* 08CE60 8008C260 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 -/* 08CE64 8008C264 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 -/* 08CE68 8008C268 80620000 */ lb $v0, ($v1) -/* 08CE6C 8008C26C 3C108012 */ lui $s0, %hi(D_801263B8) # $s0, 0x8012 -/* 08CE70 8008C270 0440001F */ bltz $v0, .L8008C2F0 -/* 08CE74 8008C274 261063B8 */ addiu $s0, %lo(D_801263B8) # addiu $s0, $s0, 0x63b8 -/* 08CE78 8008C278 8FB90020 */ lw $t9, 0x20($sp) -/* 08CE7C 8008C27C 84780002 */ lh $t8, 2($v1) -/* 08CE80 8008C280 00194080 */ sll $t0, $t9, 2 -/* 08CE84 8008C284 03084821 */ addu $t1, $t8, $t0 -/* 08CE88 8008C288 A4690002 */ sh $t1, 2($v1) -/* 08CE8C 8008C28C 84660002 */ lh $a2, 2($v1) -/* 08CE90 8008C290 00025840 */ sll $t3, $v0, 1 -/* 08CE94 8008C294 28C10080 */ slti $at, $a2, 0x80 -/* 08CE98 8008C298 14200005 */ bnez $at, .L8008C2B0 -/* 08CE9C 8008C29C 3C04800E */ lui $a0, %hi(D_800DFDB4) # $a0, 0x800e -/* 08CEA0 8008C2A0 240A007F */ li $t2, 127 -/* 08CEA4 8008C2A4 A46A0002 */ sh $t2, 2($v1) -/* 08CEA8 8008C2A8 84660002 */ lh $a2, 2($v1) -/* 08CEAC 8008C2AC 00000000 */ nop -.L8008C2B0: -/* 08CEB0 8008C2B0 008B2021 */ addu $a0, $a0, $t3 -/* 08CEB4 8008C2B4 9084FDB4 */ lbu $a0, %lo(D_800DFDB4)($a0) -/* 08CEB8 8008C2B8 0C00049A */ jal func_80001268 -/* 08CEBC 8008C2BC 30C500FF */ andi $a1, $a2, 0xff -/* 08CEC0 8008C2C0 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 -/* 08CEC4 8008C2C4 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 -/* 08CEC8 8008C2C8 806C0000 */ lb $t4, ($v1) -/* 08CECC 8008C2CC 3C04800E */ lui $a0, %hi(D_800DFDB4+1) # $a0, 0x800e -/* 08CED0 8008C2D0 000C6840 */ sll $t5, $t4, 1 -/* 08CED4 8008C2D4 008D2021 */ addu $a0, $a0, $t5 -/* 08CED8 8008C2D8 9084FDB5 */ lbu $a0, %lo(D_800DFDB4+1)($a0) -/* 08CEDC 8008C2DC 90650003 */ lbu $a1, 3($v1) -/* 08CEE0 8008C2E0 0C00049A */ jal func_80001268 -/* 08CEE4 8008C2E4 00000000 */ nop -/* 08CEE8 8008C2E8 3C038012 */ lui $v1, %hi(D_801263B4) # $v1, 0x8012 -/* 08CEEC 8008C2EC 246363B4 */ addiu $v1, %lo(D_801263B4) # addiu $v1, $v1, 0x63b4 -.L8008C2F0: -/* 08CEF0 8008C2F0 82020000 */ lb $v0, ($s0) -/* 08CEF4 8008C2F4 8FAF0020 */ lw $t7, 0x20($sp) -/* 08CEF8 8008C2F8 0440002A */ bltz $v0, .L8008C3A4 -/* 08CEFC 8008C2FC 000FC880 */ sll $t9, $t7, 2 -/* 08CF00 8008C300 860E0002 */ lh $t6, 2($s0) -/* 08CF04 8008C304 80680000 */ lb $t0, ($v1) -/* 08CF08 8008C308 01D9C023 */ subu $t8, $t6, $t9 -/* 08CF0C 8008C30C 11020020 */ beq $t0, $v0, .L8008C390 -/* 08CF10 8008C310 A6180002 */ sh $t8, 2($s0) -/* 08CF14 8008C314 86030002 */ lh $v1, 2($s0) -/* 08CF18 8008C318 00026040 */ sll $t4, $v0, 1 -/* 08CF1C 8008C31C 04610010 */ bgez $v1, .L8008C360 -/* 08CF20 8008C320 3C04800E */ lui $a0, %hi(D_800DFDB4) # $a0, 0x800e -/* 08CF24 8008C324 00024840 */ sll $t1, $v0, 1 -/* 08CF28 8008C328 3C04800E */ lui $a0, %hi(D_800DFDB4) # $a0, 0x800e -/* 08CF2C 8008C32C 00892021 */ addu $a0, $a0, $t1 -/* 08CF30 8008C330 9084FDB4 */ lbu $a0, %lo(D_800DFDB4)($a0) -/* 08CF34 8008C334 0C000445 */ jal func_80001114 -/* 08CF38 8008C338 00000000 */ nop -/* 08CF3C 8008C33C 820A0000 */ lb $t2, ($s0) -/* 08CF40 8008C340 3C04800E */ lui $a0, %hi(D_800DFDB4+1) # $a0, 0x800e -/* 08CF44 8008C344 000A5840 */ sll $t3, $t2, 1 -/* 08CF48 8008C348 008B2021 */ addu $a0, $a0, $t3 -/* 08CF4C 8008C34C 9084FDB5 */ lbu $a0, %lo(D_800DFDB4+1)($a0) -/* 08CF50 8008C350 0C000445 */ jal func_80001114 -/* 08CF54 8008C354 00000000 */ nop -/* 08CF58 8008C358 1000000E */ b .L8008C394 -/* 08CF5C 8008C35C 860E0002 */ lh $t6, 2($s0) -.L8008C360: -/* 08CF60 8008C360 008C2021 */ addu $a0, $a0, $t4 -/* 08CF64 8008C364 9084FDB4 */ lbu $a0, %lo(D_800DFDB4)($a0) -/* 08CF68 8008C368 0C00049A */ jal func_80001268 -/* 08CF6C 8008C36C 306500FF */ andi $a1, $v1, 0xff -/* 08CF70 8008C370 820D0000 */ lb $t5, ($s0) -/* 08CF74 8008C374 3C04800E */ lui $a0, %hi(D_800DFDB4+1) # $a0, 0x800e -/* 08CF78 8008C378 000D7840 */ sll $t7, $t5, 1 -/* 08CF7C 8008C37C 008F2021 */ addu $a0, $a0, $t7 -/* 08CF80 8008C380 9084FDB5 */ lbu $a0, %lo(D_800DFDB4+1)($a0) -/* 08CF84 8008C384 92050003 */ lbu $a1, 3($s0) -/* 08CF88 8008C388 0C00049A */ jal func_80001268 -/* 08CF8C 8008C38C 00000000 */ nop -.L8008C390: -/* 08CF90 8008C390 860E0002 */ lh $t6, 2($s0) -.L8008C394: -/* 08CF94 8008C394 2419FFFF */ li $t9, -1 -/* 08CF98 8008C398 05C10003 */ bgez $t6, .L8008C3A8 -/* 08CF9C 8008C39C 8FBF001C */ lw $ra, 0x1c($sp) -/* 08CFA0 8008C3A0 A2190000 */ sb $t9, ($s0) -.L8008C3A4: -/* 08CFA4 8008C3A4 8FBF001C */ lw $ra, 0x1c($sp) -.L8008C3A8: -/* 08CFA8 8008C3A8 8FB00018 */ lw $s0, 0x18($sp) -/* 08CFAC 8008C3AC 03E00008 */ jr $ra -/* 08CFB0 8008C3B0 27BD0020 */ addiu $sp, $sp, 0x20 - diff --git a/asm/non_matchings/menu/func_8008C698.s b/asm/non_matchings/menu/func_8008C698.s deleted file mode 100644 index e4e6030a..00000000 --- a/asm/non_matchings/menu/func_8008C698.s +++ /dev/null @@ -1,82 +0,0 @@ -glabel func_8008C698 -/* 08D298 8008C698 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e -/* 08D29C 8008C69C 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0) -/* 08D2A0 8008C6A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08D2A4 8008C6A4 2841FFEB */ slti $at, $v0, -0x15 -/* 08D2A8 8008C6A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 08D2AC 8008C6AC 1420003F */ bnez $at, .L8008C7AC -/* 08D2B0 8008C6B0 AFA40028 */ sw $a0, 0x28($sp) -/* 08D2B4 8008C6B4 28410016 */ slti $at, $v0, 0x16 -/* 08D2B8 8008C6B8 1020003C */ beqz $at, .L8008C7AC -/* 08D2BC 8008C6BC 3C068012 */ lui $a2, %hi(D_801263BC) # $a2, 0x8012 -/* 08D2C0 8008C6C0 8CC663BC */ lw $a2, %lo(D_801263BC)($a2) -/* 08D2C4 8008C6C4 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 -/* 08D2C8 8008C6C8 000670C0 */ sll $t6, $a2, 3 -/* 08D2CC 8008C6CC 29C10100 */ slti $at, $t6, 0x100 -/* 08D2D0 8008C6D0 14200003 */ bnez $at, .L8008C6E0 -/* 08D2D4 8008C6D4 01C03025 */ move $a2, $t6 -/* 08D2D8 8008C6D8 240F01FF */ li $t7, 511 -/* 08D2DC 8008C6DC 01EE3023 */ subu $a2, $t7, $t6 -.L8008C6E0: -/* 08D2E0 8008C6E0 3C058012 */ lui $a1, %hi(sMenuCurrHudMat) # $a1, 0x8012 -/* 08D2E4 8008C6E4 24A563A8 */ addiu $a1, %lo(sMenuCurrHudMat) # addiu $a1, $a1, 0x63a8 -/* 08D2E8 8008C6E8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 -/* 08D2EC 8008C6EC 0C019FCB */ jal func_80067F2C -/* 08D2F0 8008C6F0 AFA6001C */ sw $a2, 0x1c($sp) -/* 08D2F4 8008C6F4 3C048012 */ lui $a0, %hi(D_801263E0) # $a0, 0x8012 -/* 08D2F8 8008C6F8 248463E0 */ addiu $a0, %lo(D_801263E0) # addiu $a0, $a0, 0x63e0 -/* 08D2FC 8008C6FC 8C980000 */ lw $t8, ($a0) -/* 08D300 8008C700 8FA6001C */ lw $a2, 0x1c($sp) -/* 08D304 8008C704 07000013 */ bltz $t8, .L8008C754 -/* 08D308 8008C708 00001025 */ move $v0, $zero -/* 08D30C 8008C70C 3C078012 */ lui $a3, %hi(D_80126460) # $a3, 0x8012 -/* 08D310 8008C710 3C05800E */ lui $a1, %hi(D_800DF460) # $a1, 0x800e -/* 08D314 8008C714 24A5F460 */ addiu $a1, %lo(D_800DF460) # addiu $a1, $a1, -0xba0 -/* 08D318 8008C718 24E76460 */ addiu $a3, %lo(D_80126460) # addiu $a3, $a3, 0x6460 -.L8008C71C: -/* 08D31C 8008C71C 8CB90000 */ lw $t9, ($a1) -/* 08D320 8008C720 00001825 */ move $v1, $zero -/* 08D324 8008C724 14590002 */ bne $v0, $t9, .L8008C730 -/* 08D328 8008C728 00404825 */ move $t1, $v0 -/* 08D32C 8008C72C 00C01825 */ move $v1, $a2 -.L8008C730: -/* 08D330 8008C730 8CE80000 */ lw $t0, ($a3) -/* 08D334 8008C734 00095180 */ sll $t2, $t1, 6 -/* 08D338 8008C738 010A5821 */ addu $t3, $t0, $t2 -/* 08D33C 8008C73C A163006F */ sb $v1, 0x6f($t3) -/* 08D340 8008C740 8C8C0000 */ lw $t4, ($a0) -/* 08D344 8008C744 24420001 */ addiu $v0, $v0, 1 -/* 08D348 8008C748 0182082A */ slt $at, $t4, $v0 -/* 08D34C 8008C74C 1020FFF3 */ beqz $at, .L8008C71C -/* 08D350 8008C750 00000000 */ nop -.L8008C754: -/* 08D354 8008C754 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 -/* 08D358 8008C758 8DAD0300 */ lw $t5, %lo(osTvType)($t5) -/* 08D35C 8008C75C 3C078012 */ lui $a3, %hi(D_80126460) # $a3, 0x8012 -/* 08D360 8008C760 15A00007 */ bnez $t5, .L8008C780 -/* 08D364 8008C764 24E76460 */ addiu $a3, %lo(D_80126460) # addiu $a3, $a3, 0x6460 -/* 08D368 8008C768 240E000C */ li $t6, 12 -/* 08D36C 8008C76C 3C01800E */ lui $at, %hi(D_800DF79C) # $at, 0x800e -/* 08D370 8008C770 AC2EF79C */ sw $t6, %lo(D_800DF79C)($at) -/* 08D374 8008C774 3C01800E */ lui $at, %hi(D_800DF7A0) # $at, 0x800e -/* 08D378 8008C778 10000005 */ b .L8008C790 -/* 08D37C 8008C77C AC20F7A0 */ sw $zero, %lo(D_800DF7A0)($at) -.L8008C780: -/* 08D380 8008C780 3C01800E */ lui $at, %hi(D_800DF79C) # $at, 0x800e -/* 08D384 8008C784 AC20F79C */ sw $zero, %lo(D_800DF79C)($at) -/* 08D388 8008C788 3C01800E */ lui $at, %hi(D_800DF7A0) # $at, 0x800e -/* 08D38C 8008C78C AC20F7A0 */ sw $zero, %lo(D_800DF7A0)($at) -.L8008C790: -/* 08D390 8008C790 8CE50000 */ lw $a1, ($a3) -/* 08D394 8008C794 24040001 */ li $a0, 1 -/* 08D398 8008C798 0C02087B */ jal draw_menu_elements -/* 08D39C 8008C79C 3C063F80 */ lui $a2, 0x3f80 -/* 08D3A0 8008C7A0 3C048012 */ lui $a0, %hi(sMenuCurrDisplayList) # $a0, 0x8012 -/* 08D3A4 8008C7A4 0C0202F2 */ jal func_80080BC8 -/* 08D3A8 8008C7A8 248463A0 */ addiu $a0, %lo(sMenuCurrDisplayList) # addiu $a0, $a0, 0x63a0 -.L8008C7AC: -/* 08D3AC 8008C7AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 08D3B0 8008C7B0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08D3B4 8008C7B4 03E00008 */ jr $ra -/* 08D3B8 8008C7B8 00000000 */ nop - diff --git a/asm/non_matchings/menu/func_8008D5F8.s b/asm/non_matchings/menu/func_8008D5F8.s deleted file mode 100644 index c31bc2c3..00000000 --- a/asm/non_matchings/menu/func_8008D5F8.s +++ /dev/null @@ -1,199 +0,0 @@ -glabel func_8008D5F8 -/* 08E1F8 8008D5F8 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08E1FC 8008D5FC AFBF0014 */ sw $ra, 0x14($sp) -/* 08E200 8008D600 AFA40028 */ sw $a0, 0x28($sp) -/* 08E204 8008D604 0C01A955 */ jal get_buttons_pressed_from_player -/* 08E208 8008D608 00002025 */ move $a0, $zero -/* 08E20C 8008D60C 3C0E800E */ lui $t6, %hi(gNumberOfActivePlayers) # $t6, 0x800e -/* 08E210 8008D610 8DCEF4BC */ lw $t6, %lo(gNumberOfActivePlayers)($t6) -/* 08E214 8008D614 3C068012 */ lui $a2, %hi(gControllersXAxisDirection) # $a2, 0x8012 -/* 08E218 8008D618 3C078012 */ lui $a3, %hi(gControllersYAxisDirection) # $a3, 0x8012 -/* 08E21C 8008D61C 24080002 */ li $t0, 2 -/* 08E220 8008D620 80C6645C */ lb $a2, %lo(gControllersXAxisDirection)($a2) -/* 08E224 8008D624 80E76464 */ lb $a3, %lo(gControllersYAxisDirection)($a3) -/* 08E228 8008D628 150E0011 */ bne $t0, $t6, .L8008D670 -/* 08E22C 8008D62C 00401825 */ move $v1, $v0 -/* 08E230 8008D630 24040001 */ li $a0, 1 -/* 08E234 8008D634 AFA20024 */ sw $v0, 0x24($sp) -/* 08E238 8008D638 AFA60020 */ sw $a2, 0x20($sp) -/* 08E23C 8008D63C 0C01A955 */ jal get_buttons_pressed_from_player -/* 08E240 8008D640 AFA7001C */ sw $a3, 0x1c($sp) -/* 08E244 8008D644 3C0F8012 */ lui $t7, %hi(gControllersXAxisDirection+1) # $t7, 0x8012 -/* 08E248 8008D648 3C188012 */ lui $t8, %hi(gControllersYAxisDirection+1) # $t8, 0x8012 -/* 08E24C 8008D64C 8FA30024 */ lw $v1, 0x24($sp) -/* 08E250 8008D650 8FA60020 */ lw $a2, 0x20($sp) -/* 08E254 8008D654 8FA7001C */ lw $a3, 0x1c($sp) -/* 08E258 8008D658 81EF645D */ lb $t7, %lo(gControllersXAxisDirection+1)($t7) -/* 08E25C 8008D65C 83186465 */ lb $t8, %lo(gControllersYAxisDirection+1)($t8) -/* 08E260 8008D660 24080002 */ li $t0, 2 -/* 08E264 8008D664 00621825 */ or $v1, $v1, $v0 -/* 08E268 8008D668 00CF3021 */ addu $a2, $a2, $t7 -/* 08E26C 8008D66C 00F83821 */ addu $a3, $a3, $t8 -.L8008D670: -/* 08E270 8008D670 30799000 */ andi $t9, $v1, 0x9000 -/* 08E274 8008D674 13200046 */ beqz $t9, .L8008D790 -/* 08E278 8008D678 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 -/* 08E27C 8008D67C 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 -/* 08E280 8008D680 8D220000 */ lw $v0, ($t1) -/* 08E284 8008D684 3C0B800E */ lui $t3, %hi(gSaveFileIndex) # $t3, 0x800e -/* 08E288 8008D688 10400008 */ beqz $v0, .L8008D6AC -/* 08E28C 8008D68C 256BF4CC */ addiu $t3, %lo(gSaveFileIndex) # addiu $t3, $t3, -0xb34 -/* 08E290 8008D690 240A0001 */ li $t2, 1 -/* 08E294 8008D694 104A0021 */ beq $v0, $t2, .L8008D71C -/* 08E298 8008D698 240400EF */ li $a0, 239 -/* 08E29C 8008D69C 1048002E */ beq $v0, $t0, .L8008D758 -/* 08E2A0 8008D6A0 240400EF */ li $a0, 239 -/* 08E2A4 8008D6A4 1000003F */ b .L8008D7A4 -/* 08E2A8 8008D6A8 00000000 */ nop -.L8008D6AC: -/* 08E2AC 8008D6AC 8D6C0000 */ lw $t4, ($t3) -/* 08E2B0 8008D6B0 3C0E8012 */ lui $t6, %hi(gSavefileInfo) # $t6, 0x8012 -/* 08E2B4 8008D6B4 000C6880 */ sll $t5, $t4, 2 -/* 08E2B8 8008D6B8 01AC6823 */ subu $t5, $t5, $t4 -/* 08E2BC 8008D6BC 000D6880 */ sll $t5, $t5, 2 -/* 08E2C0 8008D6C0 25CE64A0 */ addiu $t6, %lo(gSavefileInfo) # addiu $t6, $t6, 0x64a0 -/* 08E2C4 8008D6C4 01AE1021 */ addu $v0, $t5, $t6 -/* 08E2C8 8008D6C8 904F0001 */ lbu $t7, 1($v0) -/* 08E2CC 8008D6CC 3C18800E */ lui $t8, %hi(gIsInAdventureTwo) # $t8, 0x800e -/* 08E2D0 8008D6D0 11E0000E */ beqz $t7, .L8008D70C -/* 08E2D4 8008D6D4 240400EF */ li $a0, 239 -/* 08E2D8 8008D6D8 8F18F494 */ lw $t8, %lo(gIsInAdventureTwo)($t8) -/* 08E2DC 8008D6DC 90590000 */ lbu $t9, ($v0) -/* 08E2E0 8008D6E0 2404015C */ li $a0, 348 -/* 08E2E4 8008D6E4 13190008 */ beq $t8, $t9, .L8008D708 -/* 08E2E8 8008D6E8 00002825 */ move $a1, $zero -/* 08E2EC 8008D6EC AFA60020 */ sw $a2, 0x20($sp) -/* 08E2F0 8008D6F0 0C000741 */ jal play_sound_global -/* 08E2F4 8008D6F4 AFA7001C */ sw $a3, 0x1c($sp) -/* 08E2F8 8008D6F8 8FA60020 */ lw $a2, 0x20($sp) -/* 08E2FC 8008D6FC 8FA7001C */ lw $a3, 0x1c($sp) -/* 08E300 8008D700 10000028 */ b .L8008D7A4 -/* 08E304 8008D704 24080002 */ li $t0, 2 -.L8008D708: -/* 08E308 8008D708 240400EF */ li $a0, 239 -.L8008D70C: -/* 08E30C 8008D70C 0C000741 */ jal play_sound_global -/* 08E310 8008D710 00002825 */ move $a1, $zero -/* 08E314 8008D714 10000065 */ b .L8008D8AC -/* 08E318 8008D718 24020001 */ li $v0, 1 -.L8008D71C: -/* 08E31C 8008D71C 0C000741 */ jal play_sound_global -/* 08E320 8008D720 00002825 */ move $a1, $zero -/* 08E324 8008D724 3C0B800E */ lui $t3, %hi(gSaveFileIndex) # $t3, 0x800e -/* 08E328 8008D728 256BF4CC */ addiu $t3, %lo(gSaveFileIndex) # addiu $t3, $t3, -0xb34 -/* 08E32C 8008D72C 8D6C0000 */ lw $t4, ($t3) -/* 08E330 8008D730 3C018012 */ lui $at, %hi(D_8012648C) # $at, 0x8012 -/* 08E334 8008D734 AC2C648C */ sw $t4, %lo(D_8012648C)($at) -/* 08E338 8008D738 240A0001 */ li $t2, 1 -/* 08E33C 8008D73C 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 -/* 08E340 8008D740 AC2A6484 */ sw $t2, %lo(D_80126484)($at) -/* 08E344 8008D744 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 -/* 08E348 8008D748 AC206494 */ sw $zero, %lo(D_80126494)($at) -/* 08E34C 8008D74C 10000057 */ b .L8008D8AC -/* 08E350 8008D750 00001025 */ move $v0, $zero -/* 08E354 8008D754 240400EF */ li $a0, 239 -.L8008D758: -/* 08E358 8008D758 0C000741 */ jal play_sound_global -/* 08E35C 8008D75C 00002825 */ move $a1, $zero -/* 08E360 8008D760 3C0B800E */ lui $t3, %hi(gSaveFileIndex) # $t3, 0x800e -/* 08E364 8008D764 256BF4CC */ addiu $t3, %lo(gSaveFileIndex) # addiu $t3, $t3, -0xb34 -/* 08E368 8008D768 8D6D0000 */ lw $t5, ($t3) -/* 08E36C 8008D76C 3C018012 */ lui $at, %hi(D_8012648C) # $at, 0x8012 -/* 08E370 8008D770 AC2D648C */ sw $t5, %lo(D_8012648C)($at) -/* 08E374 8008D774 240A0001 */ li $t2, 1 -/* 08E378 8008D778 3C018012 */ lui $at, %hi(D_80126488) # $at, 0x8012 -/* 08E37C 8008D77C AC2A6488 */ sw $t2, %lo(D_80126488)($at) -/* 08E380 8008D780 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 -/* 08E384 8008D784 AC206494 */ sw $zero, %lo(D_80126494)($at) -/* 08E388 8008D788 10000048 */ b .L8008D8AC -/* 08E38C 8008D78C 00001025 */ move $v0, $zero -.L8008D790: -/* 08E390 8008D790 306E4000 */ andi $t6, $v1, 0x4000 -/* 08E394 8008D794 11C00003 */ beqz $t6, .L8008D7A4 -/* 08E398 8008D798 00000000 */ nop -/* 08E39C 8008D79C 10000043 */ b .L8008D8AC -/* 08E3A0 8008D7A0 2402FFFF */ li $v0, -1 -.L8008D7A4: -/* 08E3A4 8008D7A4 3C098012 */ lui $t1, %hi(D_801263E0) # $t1, 0x8012 -/* 08E3A8 8008D7A8 252963E0 */ addiu $t1, %lo(D_801263E0) # addiu $t1, $t1, 0x63e0 -/* 08E3AC 8008D7AC 3C0B800E */ lui $t3, %hi(gSaveFileIndex) # $t3, 0x800e -/* 08E3B0 8008D7B0 8D220000 */ lw $v0, ($t1) -/* 08E3B4 8008D7B4 256BF4CC */ addiu $t3, %lo(gSaveFileIndex) # addiu $t3, $t3, -0xb34 -/* 08E3B8 8008D7B8 8D630000 */ lw $v1, ($t3) -/* 08E3BC 8008D7BC 00027A00 */ sll $t7, $v0, 8 -/* 08E3C0 8008D7C0 240A0001 */ li $t2, 1 -/* 08E3C4 8008D7C4 14400016 */ bnez $v0, .L8008D820 -/* 08E3C8 8008D7C8 01E32025 */ or $a0, $t7, $v1 -/* 08E3CC 8008D7CC 04C10005 */ bgez $a2, .L8008D7E4 -/* 08E3D0 8008D7D0 00000000 */ nop -/* 08E3D4 8008D7D4 18600003 */ blez $v1, .L8008D7E4 -/* 08E3D8 8008D7D8 2478FFFF */ addiu $t8, $v1, -1 -/* 08E3DC 8008D7DC AD780000 */ sw $t8, ($t3) -/* 08E3E0 8008D7E0 03001825 */ move $v1, $t8 -.L8008D7E4: -/* 08E3E4 8008D7E4 18C00005 */ blez $a2, .L8008D7FC -/* 08E3E8 8008D7E8 28610002 */ slti $at, $v1, 2 -/* 08E3EC 8008D7EC 10200003 */ beqz $at, .L8008D7FC -/* 08E3F0 8008D7F0 24790001 */ addiu $t9, $v1, 1 -/* 08E3F4 8008D7F4 AD790000 */ sw $t9, ($t3) -/* 08E3F8 8008D7F8 03201825 */ move $v1, $t9 -.L8008D7FC: -/* 08E3FC 8008D7FC 04E10024 */ bgez $a3, .L8008D890 -/* 08E400 8008D800 28610002 */ slti $at, $v1, 2 -/* 08E404 8008D804 14200004 */ bnez $at, .L8008D818 -/* 08E408 8008D808 01401025 */ move $v0, $t2 -/* 08E40C 8008D80C AD280000 */ sw $t0, ($t1) -/* 08E410 8008D810 1000001F */ b .L8008D890 -/* 08E414 8008D814 01001025 */ move $v0, $t0 -.L8008D818: -/* 08E418 8008D818 1000001D */ b .L8008D890 -/* 08E41C 8008D81C AD2A0000 */ sw $t2, ($t1) -.L8008D820: -/* 08E420 8008D820 04C10005 */ bgez $a2, .L8008D838 -/* 08E424 8008D824 00000000 */ nop -/* 08E428 8008D828 15020003 */ bne $t0, $v0, .L8008D838 -/* 08E42C 8008D82C 00000000 */ nop -/* 08E430 8008D830 AD2A0000 */ sw $t2, ($t1) -/* 08E434 8008D834 01401025 */ move $v0, $t2 -.L8008D838: -/* 08E438 8008D838 18C00005 */ blez $a2, .L8008D850 -/* 08E43C 8008D83C 00000000 */ nop -/* 08E440 8008D840 15420003 */ bne $t2, $v0, .L8008D850 -/* 08E444 8008D844 00000000 */ nop -/* 08E448 8008D848 AD280000 */ sw $t0, ($t1) -/* 08E44C 8008D84C 01001025 */ move $v0, $t0 -.L8008D850: -/* 08E450 8008D850 18E00010 */ blez $a3, .L8008D894 -/* 08E454 8008D854 00026200 */ sll $t4, $v0, 8 -/* 08E458 8008D858 15420005 */ bne $t2, $v0, .L8008D870 -/* 08E45C 8008D85C 28610002 */ slti $at, $v1, 2 -/* 08E460 8008D860 14200003 */ bnez $at, .L8008D870 -/* 08E464 8008D864 00000000 */ nop -/* 08E468 8008D868 AD600000 */ sw $zero, ($t3) -/* 08E46C 8008D86C 00001825 */ move $v1, $zero -.L8008D870: -/* 08E470 8008D870 15020005 */ bne $t0, $v0, .L8008D888 -/* 08E474 8008D874 00000000 */ nop -/* 08E478 8008D878 1C600003 */ bgtz $v1, .L8008D888 -/* 08E47C 8008D87C 00000000 */ nop -/* 08E480 8008D880 AD680000 */ sw $t0, ($t3) -/* 08E484 8008D884 01001825 */ move $v1, $t0 -.L8008D888: -/* 08E488 8008D888 AD200000 */ sw $zero, ($t1) -/* 08E48C 8008D88C 00001025 */ move $v0, $zero -.L8008D890: -/* 08E490 8008D890 00026200 */ sll $t4, $v0, 8 -.L8008D894: -/* 08E494 8008D894 01836825 */ or $t5, $t4, $v1 -/* 08E498 8008D898 108D0003 */ beq $a0, $t5, .L8008D8A8 -/* 08E49C 8008D89C 00002825 */ move $a1, $zero -/* 08E4A0 8008D8A0 0C000741 */ jal play_sound_global -/* 08E4A4 8008D8A4 240400EB */ li $a0, 235 -.L8008D8A8: -/* 08E4A8 8008D8A8 00001025 */ move $v0, $zero -.L8008D8AC: -/* 08E4AC 8008D8AC 8FBF0014 */ lw $ra, 0x14($sp) -/* 08E4B0 8008D8B0 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08E4B4 8008D8B4 03E00008 */ jr $ra -/* 08E4B8 8008D8B8 00000000 */ nop - diff --git a/asm/non_matchings/menu/func_8008D8BC.s b/asm/non_matchings/menu/func_8008D8BC.s deleted file mode 100644 index 0aa5f2f6..00000000 --- a/asm/non_matchings/menu/func_8008D8BC.s +++ /dev/null @@ -1,261 +0,0 @@ -glabel func_8008D8BC -/* 08E4BC 8008D8BC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08E4C0 8008D8C0 AFBF0014 */ sw $ra, 0x14($sp) -/* 08E4C4 8008D8C4 0C01BAA4 */ jal get_settings -/* 08E4C8 8008D8C8 AFA40030 */ sw $a0, 0x30($sp) -/* 08E4CC 8008D8CC AFA2001C */ sw $v0, 0x1c($sp) -/* 08E4D0 8008D8D0 0C01A955 */ jal get_buttons_pressed_from_player -/* 08E4D4 8008D8D4 00002025 */ move $a0, $zero -/* 08E4D8 8008D8D8 3C0E800E */ lui $t6, %hi(gNumberOfActivePlayers) # $t6, 0x800e -/* 08E4DC 8008D8DC 8DCEF4BC */ lw $t6, %lo(gNumberOfActivePlayers)($t6) -/* 08E4E0 8008D8E0 3C058012 */ lui $a1, %hi(gControllersXAxisDirection) # $a1, 0x8012 -/* 08E4E4 8008D8E4 80A5645C */ lb $a1, %lo(gControllersXAxisDirection)($a1) -/* 08E4E8 8008D8E8 24010002 */ li $at, 2 -/* 08E4EC 8008D8EC 15C1000B */ bne $t6, $at, .L8008D91C -/* 08E4F0 8008D8F0 00401825 */ move $v1, $v0 -/* 08E4F4 8008D8F4 24040001 */ li $a0, 1 -/* 08E4F8 8008D8F8 AFA20028 */ sw $v0, 0x28($sp) -/* 08E4FC 8008D8FC 0C01A955 */ jal get_buttons_pressed_from_player -/* 08E500 8008D900 AFA50024 */ sw $a1, 0x24($sp) -/* 08E504 8008D904 3C0F8012 */ lui $t7, %hi(gControllersXAxisDirection+1) # $t7, 0x8012 -/* 08E508 8008D908 8FA30028 */ lw $v1, 0x28($sp) -/* 08E50C 8008D90C 8FA50024 */ lw $a1, 0x24($sp) -/* 08E510 8008D910 81EF645D */ lb $t7, %lo(gControllersXAxisDirection+1)($t7) -/* 08E514 8008D914 00621825 */ or $v1, $v1, $v0 -/* 08E518 8008D918 00AF2821 */ addu $a1, $a1, $t7 -.L8008D91C: -/* 08E51C 8008D91C 3C028012 */ lui $v0, %hi(D_80126494) # $v0, 0x8012 -/* 08E520 8008D920 8C426494 */ lw $v0, %lo(D_80126494)($v0) -/* 08E524 8008D924 30784000 */ andi $t8, $v1, 0x4000 -/* 08E528 8008D928 14400043 */ bnez $v0, .L8008DA38 -/* 08E52C 8008D92C 24010001 */ li $at, 1 -/* 08E530 8008D930 13000007 */ beqz $t8, .L8008D950 -/* 08E534 8008D934 30799000 */ andi $t9, $v1, 0x9000 -/* 08E538 8008D938 24040241 */ li $a0, 577 -/* 08E53C 8008D93C 0C000741 */ jal play_sound_global -/* 08E540 8008D940 00002825 */ move $a1, $zero -/* 08E544 8008D944 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 -/* 08E548 8008D948 100000C8 */ b .L8008DC6C -/* 08E54C 8008D94C AC206484 */ sw $zero, %lo(D_80126484)($at) -.L8008D950: -/* 08E550 8008D950 13200025 */ beqz $t9, .L8008D9E8 -/* 08E554 8008D954 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 -/* 08E558 8008D958 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 -/* 08E55C 8008D95C 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c -/* 08E560 8008D960 8C490000 */ lw $t1, ($v0) -/* 08E564 8008D964 2403000C */ li $v1, 12 -/* 08E568 8008D968 01230019 */ multu $t1, $v1 -/* 08E56C 8008D96C 3C088012 */ lui $t0, %hi(gSavefileInfo) # $t0, 0x8012 -/* 08E570 8008D970 250864A0 */ addiu $t0, %lo(gSavefileInfo) # addiu $t0, $t0, 0x64a0 -/* 08E574 8008D974 240400EF */ li $a0, 239 -/* 08E578 8008D978 00005012 */ mflo $t2 -/* 08E57C 8008D97C 010A5821 */ addu $t3, $t0, $t2 -/* 08E580 8008D980 916C0001 */ lbu $t4, 1($t3) -/* 08E584 8008D984 00000000 */ nop -/* 08E588 8008D988 11800012 */ beqz $t4, .L8008D9D4 -/* 08E58C 8008D98C 00000000 */ nop -/* 08E590 8008D990 0C000741 */ jal play_sound_global -/* 08E594 8008D994 00002825 */ move $a1, $zero -/* 08E598 8008D998 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 -/* 08E59C 8008D99C 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c -/* 08E5A0 8008D9A0 8C440000 */ lw $a0, ($v0) -/* 08E5A4 8008D9A4 0C01BADE */ jal func_8006EB78 -/* 08E5A8 8008D9A8 00000000 */ nop -/* 08E5AC 8008D9AC 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 -/* 08E5B0 8008D9B0 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c -/* 08E5B4 8008D9B4 8C4D0000 */ lw $t5, ($v0) -/* 08E5B8 8008D9B8 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 -/* 08E5BC 8008D9BC 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 -/* 08E5C0 8008D9C0 240E0001 */ li $t6, 1 -/* 08E5C4 8008D9C4 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 -/* 08E5C8 8008D9C8 ACCD0000 */ sw $t5, ($a2) -/* 08E5CC 8008D9CC 100000A7 */ b .L8008DC6C -/* 08E5D0 8008D9D0 AC2E6494 */ sw $t6, %lo(D_80126494)($at) -.L8008D9D4: -/* 08E5D4 8008D9D4 24040241 */ li $a0, 577 -/* 08E5D8 8008D9D8 0C000741 */ jal play_sound_global -/* 08E5DC 8008D9DC 00002825 */ move $a1, $zero -/* 08E5E0 8008D9E0 100000A3 */ b .L8008DC70 -/* 08E5E4 8008D9E4 8FBF0014 */ lw $ra, 0x14($sp) -.L8008D9E8: -/* 08E5E8 8008D9E8 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c -/* 08E5EC 8008D9EC 8C460000 */ lw $a2, ($v0) -/* 08E5F0 8008D9F0 04A10005 */ bgez $a1, .L8008DA08 -/* 08E5F4 8008D9F4 00C01825 */ move $v1, $a2 -/* 08E5F8 8008D9F8 18C00003 */ blez $a2, .L8008DA08 -/* 08E5FC 8008D9FC 24CFFFFF */ addiu $t7, $a2, -1 -/* 08E600 8008DA00 AC4F0000 */ sw $t7, ($v0) -/* 08E604 8008DA04 01E03025 */ move $a2, $t7 -.L8008DA08: -/* 08E608 8008DA08 18A00005 */ blez $a1, .L8008DA20 -/* 08E60C 8008DA0C 28C10002 */ slti $at, $a2, 2 -/* 08E610 8008DA10 10200003 */ beqz $at, .L8008DA20 -/* 08E614 8008DA14 24D80001 */ addiu $t8, $a2, 1 -/* 08E618 8008DA18 AC580000 */ sw $t8, ($v0) -/* 08E61C 8008DA1C 03003025 */ move $a2, $t8 -.L8008DA20: -/* 08E620 8008DA20 10660092 */ beq $v1, $a2, .L8008DC6C -/* 08E624 8008DA24 240400EB */ li $a0, 235 -/* 08E628 8008DA28 0C000741 */ jal play_sound_global -/* 08E62C 8008DA2C 00002825 */ move $a1, $zero -/* 08E630 8008DA30 1000008F */ b .L8008DC70 -/* 08E634 8008DA34 8FBF0014 */ lw $ra, 0x14($sp) -.L8008DA38: -/* 08E638 8008DA38 1441003F */ bne $v0, $at, .L8008DB38 -/* 08E63C 8008DA3C 30699000 */ andi $t1, $v1, 0x9000 -/* 08E640 8008DA40 30794000 */ andi $t9, $v1, 0x4000 -/* 08E644 8008DA44 1320000C */ beqz $t9, .L8008DA78 -/* 08E648 8008DA48 24040241 */ li $a0, 577 -/* 08E64C 8008DA4C 0C000741 */ jal play_sound_global -/* 08E650 8008DA50 00002825 */ move $a1, $zero -/* 08E654 8008DA54 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 -/* 08E658 8008DA58 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 -/* 08E65C 8008DA5C 8CC90000 */ lw $t1, ($a2) -/* 08E660 8008DA60 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 -/* 08E664 8008DA64 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c -/* 08E668 8008DA68 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 -/* 08E66C 8008DA6C AC490000 */ sw $t1, ($v0) -/* 08E670 8008DA70 1000007E */ b .L8008DC6C -/* 08E674 8008DA74 AC206494 */ sw $zero, %lo(D_80126494)($at) -.L8008DA78: -/* 08E678 8008DA78 306A9000 */ andi $t2, $v1, 0x9000 -/* 08E67C 8008DA7C 11400019 */ beqz $t2, .L8008DAE4 -/* 08E680 8008DA80 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 -/* 08E684 8008DA84 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 -/* 08E688 8008DA88 8CCB0000 */ lw $t3, ($a2) -/* 08E68C 8008DA8C 2403000C */ li $v1, 12 -/* 08E690 8008DA90 01630019 */ multu $t3, $v1 -/* 08E694 8008DA94 3C088012 */ lui $t0, %hi(gSavefileInfo) # $t0, 0x8012 -/* 08E698 8008DA98 250864A0 */ addiu $t0, %lo(gSavefileInfo) # addiu $t0, $t0, 0x64a0 -/* 08E69C 8008DA9C 00002825 */ move $a1, $zero -/* 08E6A0 8008DAA0 24040241 */ li $a0, 577 -/* 08E6A4 8008DAA4 00006012 */ mflo $t4 -/* 08E6A8 8008DAA8 010C6821 */ addu $t5, $t0, $t4 -/* 08E6AC 8008DAAC 91AE0001 */ lbu $t6, 1($t5) -/* 08E6B0 8008DAB0 00000000 */ nop -/* 08E6B4 8008DAB4 15C00007 */ bnez $t6, .L8008DAD4 -/* 08E6B8 8008DAB8 00000000 */ nop -/* 08E6BC 8008DABC 0C000741 */ jal play_sound_global -/* 08E6C0 8008DAC0 240400EF */ li $a0, 239 -/* 08E6C4 8008DAC4 240F0002 */ li $t7, 2 -/* 08E6C8 8008DAC8 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 -/* 08E6CC 8008DACC 10000067 */ b .L8008DC6C -/* 08E6D0 8008DAD0 AC2F6494 */ sw $t7, %lo(D_80126494)($at) -.L8008DAD4: -/* 08E6D4 8008DAD4 0C000741 */ jal play_sound_global -/* 08E6D8 8008DAD8 00002825 */ move $a1, $zero -/* 08E6DC 8008DADC 10000064 */ b .L8008DC70 -/* 08E6E0 8008DAE0 8FBF0014 */ lw $ra, 0x14($sp) -.L8008DAE4: -/* 08E6E4 8008DAE4 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 -/* 08E6E8 8008DAE8 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 -/* 08E6EC 8008DAEC 8CC70000 */ lw $a3, ($a2) -/* 08E6F0 8008DAF0 04A10005 */ bgez $a1, .L8008DB08 -/* 08E6F4 8008DAF4 00E01825 */ move $v1, $a3 -/* 08E6F8 8008DAF8 18E00003 */ blez $a3, .L8008DB08 -/* 08E6FC 8008DAFC 24F8FFFF */ addiu $t8, $a3, -1 -/* 08E700 8008DB00 ACD80000 */ sw $t8, ($a2) -/* 08E704 8008DB04 03003825 */ move $a3, $t8 -.L8008DB08: -/* 08E708 8008DB08 18A00005 */ blez $a1, .L8008DB20 -/* 08E70C 8008DB0C 28E10002 */ slti $at, $a3, 2 -/* 08E710 8008DB10 10200003 */ beqz $at, .L8008DB20 -/* 08E714 8008DB14 24F90001 */ addiu $t9, $a3, 1 -/* 08E718 8008DB18 ACD90000 */ sw $t9, ($a2) -/* 08E71C 8008DB1C 03203825 */ move $a3, $t9 -.L8008DB20: -/* 08E720 8008DB20 10670052 */ beq $v1, $a3, .L8008DC6C -/* 08E724 8008DB24 240400EB */ li $a0, 235 -/* 08E728 8008DB28 0C000741 */ jal play_sound_global -/* 08E72C 8008DB2C 00002825 */ move $a1, $zero -/* 08E730 8008DB30 1000004F */ b .L8008DC70 -/* 08E734 8008DB34 8FBF0014 */ lw $ra, 0x14($sp) -.L8008DB38: -/* 08E738 8008DB38 11200044 */ beqz $t1, .L8008DC4C -/* 08E73C 8008DB3C 240400EF */ li $a0, 239 -/* 08E740 8008DB40 0C000741 */ jal play_sound_global -/* 08E744 8008DB44 00002825 */ move $a1, $zero -/* 08E748 8008DB48 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 -/* 08E74C 8008DB4C 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 -/* 08E750 8008DB50 8CC40000 */ lw $a0, ($a2) -/* 08E754 8008DB54 0C01BB06 */ jal func_8006EC18 -/* 08E758 8008DB58 00000000 */ nop -/* 08E75C 8008DB5C 3C068012 */ lui $a2, %hi(D_80126490) # $a2, 0x8012 -/* 08E760 8008DB60 24C66490 */ addiu $a2, %lo(D_80126490) # addiu $a2, $a2, 0x6490 -/* 08E764 8008DB64 8CC70000 */ lw $a3, ($a2) -/* 08E768 8008DB68 2403000C */ li $v1, 12 -/* 08E76C 8008DB6C 00E30019 */ multu $a3, $v1 -/* 08E770 8008DB70 3C088012 */ lui $t0, %hi(gSavefileInfo) # $t0, 0x8012 -/* 08E774 8008DB74 250864A0 */ addiu $t0, %lo(gSavefileInfo) # addiu $t0, $t0, 0x64a0 -/* 08E778 8008DB78 8FA5001C */ lw $a1, 0x1c($sp) -/* 08E77C 8008DB7C 24040001 */ li $a0, 1 -/* 08E780 8008DB80 00074880 */ sll $t1, $a3, 2 -/* 08E784 8008DB84 01274823 */ subu $t1, $t1, $a3 -/* 08E788 8008DB88 00094880 */ sll $t1, $t1, 2 -/* 08E78C 8008DB8C 3C01800E */ lui $at, %hi(gSaveFileIndex) # $at, 0x800e -/* 08E790 8008DB90 00005012 */ mflo $t2 -/* 08E794 8008DB94 010A1021 */ addu $v0, $t0, $t2 -/* 08E798 8008DB98 A0400000 */ sb $zero, ($v0) -/* 08E79C 8008DB9C A0440001 */ sb $a0, 1($v0) -/* 08E7A0 8008DBA0 8CAB0000 */ lw $t3, ($a1) -/* 08E7A4 8008DBA4 00000000 */ nop -/* 08E7A8 8008DBA8 856C0000 */ lh $t4, ($t3) -/* 08E7AC 8008DBAC 00075880 */ sll $t3, $a3, 2 -/* 08E7B0 8008DBB0 A44C0002 */ sh $t4, 2($v0) -/* 08E7B4 8008DBB4 8CAD0010 */ lw $t5, 0x10($a1) -/* 08E7B8 8008DBB8 01675823 */ subu $t3, $t3, $a3 -/* 08E7BC 8008DBBC 31AE0004 */ andi $t6, $t5, 4 -/* 08E7C0 8008DBC0 11C00002 */ beqz $t6, .L8008DBCC -/* 08E7C4 8008DBC4 000B5880 */ sll $t3, $t3, 2 -/* 08E7C8 8008DBC8 A0440000 */ sb $a0, ($v0) -.L8008DBCC: -/* 08E7CC 8008DBCC 3C028012 */ lui $v0, %hi(D_8012648C) # $v0, 0x8012 -/* 08E7D0 8008DBD0 2442648C */ addiu $v0, %lo(D_8012648C) # addiu $v0, $v0, 0x648c -/* 08E7D4 8008DBD4 8C460000 */ lw $a2, ($v0) -/* 08E7D8 8008DBD8 00002825 */ move $a1, $zero -/* 08E7DC 8008DBDC 00C30019 */ multu $a2, $v1 -/* 08E7E0 8008DBE0 00065080 */ sll $t2, $a2, 2 -/* 08E7E4 8008DBE4 01465023 */ subu $t2, $t2, $a2 -/* 08E7E8 8008DBE8 000A5080 */ sll $t2, $t2, 2 -/* 08E7EC 8008DBEC 010A1021 */ addu $v0, $t0, $t2 -/* 08E7F0 8008DBF0 010B6021 */ addu $t4, $t0, $t3 -/* 08E7F4 8008DBF4 00007812 */ mflo $t7 -/* 08E7F8 8008DBF8 010FC021 */ addu $t8, $t0, $t7 -/* 08E7FC 8008DBFC 93190004 */ lbu $t9, 4($t8) -/* 08E800 8008DC00 00000000 */ nop -/* 08E804 8008DC04 1320000A */ beqz $t9, .L8008DC30 -/* 08E808 8008DC08 01856821 */ addu $t5, $t4, $a1 -/* 08E80C 8008DC0C 90440004 */ lbu $a0, 4($v0) -/* 08E810 8008DC10 01091821 */ addu $v1, $t0, $t1 -.L8008DC14: -/* 08E814 8008DC14 A0640004 */ sb $a0, 4($v1) -/* 08E818 8008DC18 90440005 */ lbu $a0, 5($v0) -/* 08E81C 8008DC1C 24A50001 */ addiu $a1, $a1, 1 -/* 08E820 8008DC20 24630001 */ addiu $v1, $v1, 1 -/* 08E824 8008DC24 1480FFFB */ bnez $a0, .L8008DC14 -/* 08E828 8008DC28 24420001 */ addiu $v0, $v0, 1 -/* 08E82C 8008DC2C 01856821 */ addu $t5, $t4, $a1 -.L8008DC30: -/* 08E830 8008DC30 A1A00004 */ sb $zero, 4($t5) -/* 08E834 8008DC34 AC27F4CC */ sw $a3, %lo(gSaveFileIndex)($at) -/* 08E838 8008DC38 3C018012 */ lui $at, %hi(D_801263E0) # $at, 0x8012 -/* 08E83C 8008DC3C AC2063E0 */ sw $zero, %lo(D_801263E0)($at) -/* 08E840 8008DC40 3C018012 */ lui $at, %hi(D_80126484) # $at, 0x8012 -/* 08E844 8008DC44 10000009 */ b .L8008DC6C -/* 08E848 8008DC48 AC206484 */ sw $zero, %lo(D_80126484)($at) -.L8008DC4C: -/* 08E84C 8008DC4C 306E4000 */ andi $t6, $v1, 0x4000 -/* 08E850 8008DC50 11C00006 */ beqz $t6, .L8008DC6C -/* 08E854 8008DC54 24040241 */ li $a0, 577 -/* 08E858 8008DC58 0C000741 */ jal play_sound_global -/* 08E85C 8008DC5C 00002825 */ move $a1, $zero -/* 08E860 8008DC60 240F0001 */ li $t7, 1 -/* 08E864 8008DC64 3C018012 */ lui $at, %hi(D_80126494) # $at, 0x8012 -/* 08E868 8008DC68 AC2F6494 */ sw $t7, %lo(D_80126494)($at) -.L8008DC6C: -/* 08E86C 8008DC6C 8FBF0014 */ lw $ra, 0x14($sp) -.L8008DC70: -/* 08E870 8008DC70 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08E874 8008DC74 03E00008 */ jr $ra -/* 08E878 8008DC78 00000000 */ nop - diff --git a/asm/non_matchings/menu/func_80095728.s b/asm/non_matchings/menu/func_80095728.s index bd007c79..7e3f6eb9 100644 --- a/asm/non_matchings/menu/func_80095728.s +++ b/asm/non_matchings/menu/func_80095728.s @@ -425,7 +425,7 @@ glabel L80095D30 /* 09694C 80095D4C AC3963E0 */ sw $t9, %lo(D_801263E0)($at) glabel L80095D50 /* 096950 80095D50 8FA40064 */ lw $a0, 0x64($sp) -/* 096954 80095D54 0C025F44 */ jal func_80097D10 +/* 096954 80095D54 0C025F44 */ jal menu_enter_filename_loop /* 096958 80095D58 00000000 */ nop /* 09695C 80095D5C 1040026D */ beqz $v0, .L80096714 /* 096960 80095D60 00000000 */ nop diff --git a/asm/non_matchings/menu/func_80097D10.s b/asm/non_matchings/menu/func_80097D10.s deleted file mode 100644 index c8f25d4d..00000000 --- a/asm/non_matchings/menu/func_80097D10.s +++ /dev/null @@ -1,352 +0,0 @@ -.late_rodata -glabel D_800E856C -.float 0.1 - -.text -glabel func_80097D10 -/* 098910 80097D10 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 098914 80097D14 AFBF001C */ sw $ra, 0x1c($sp) -/* 098918 80097D18 AFA40030 */ sw $a0, 0x30($sp) -/* 09891C 80097D1C E7B50010 */ swc1 $f21, 0x10($sp) -/* 098920 80097D20 E7B40014 */ swc1 $f20, 0x14($sp) -/* 098924 80097D24 0C01A955 */ jal get_buttons_pressed_from_player -/* 098928 80097D28 00002025 */ move $a0, $zero -/* 09892C 80097D2C 00002025 */ move $a0, $zero -/* 098930 80097D30 0C01A967 */ jal clamp_joystick_x_axis -/* 098934 80097D34 AFA20024 */ sw $v0, 0x24($sp) -/* 098938 80097D38 8FA80024 */ lw $t0, 0x24($sp) -/* 09893C 80097D3C 2841FFDE */ slti $at, $v0, -0x22 -/* 098940 80097D40 14200005 */ bnez $at, .L80097D58 -/* 098944 80097D44 00402025 */ move $a0, $v0 -/* 098948 80097D48 28410023 */ slti $at, $v0, 0x23 -/* 09894C 80097D4C 10200002 */ beqz $at, .L80097D58 -/* 098950 80097D50 00000000 */ nop -/* 098954 80097D54 00002025 */ move $a0, $zero -.L80097D58: -/* 098958 80097D58 0481001A */ bgez $a0, .L80097DC4 -/* 09895C 80097D5C 3C058012 */ lui $a1, %hi(D_80126C6C) # $a1, 0x8012 -/* 098960 80097D60 3C028012 */ lui $v0, %hi(D_80126C3C) # $v0, 0x8012 -/* 098964 80097D64 24426C3C */ addiu $v0, %lo(D_80126C3C) # addiu $v0, $v0, 0x6c3c -/* 098968 80097D68 8C4E0000 */ lw $t6, ($v0) -/* 09896C 80097D6C 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 -/* 098970 80097D70 05C00004 */ bltz $t6, .L80097D84 -/* 098974 80097D74 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 -/* 098978 80097D78 240FFFFF */ li $t7, -1 -/* 09897C 80097D7C AC600000 */ sw $zero, ($v1) -/* 098980 80097D80 AC4F0000 */ sw $t7, ($v0) -.L80097D84: -/* 098984 80097D84 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 -/* 098988 80097D88 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 -/* 09898C 80097D8C 8C780000 */ lw $t8, ($v1) -/* 098990 80097D90 8FB90030 */ lw $t9, 0x30($sp) -/* 098994 80097D94 8FAB0030 */ lw $t3, 0x30($sp) -/* 098998 80097D98 03195021 */ addu $t2, $t8, $t9 -/* 09899C 80097D9C AC6A0000 */ sw $t2, ($v1) -/* 0989A0 80097DA0 116A0028 */ beq $t3, $t2, .L80097E44 -/* 0989A4 80097DA4 01401025 */ move $v0, $t2 -/* 0989A8 80097DA8 2941001C */ slti $at, $t2, 0x1c -/* 0989AC 80097DAC 10200003 */ beqz $at, .L80097DBC -/* 0989B0 80097DB0 244CFFFA */ addiu $t4, $v0, -6 -/* 0989B4 80097DB4 10000023 */ b .L80097E44 -/* 0989B8 80097DB8 00002025 */ move $a0, $zero -.L80097DBC: -/* 0989BC 80097DBC 10000021 */ b .L80097E44 -/* 0989C0 80097DC0 AC6C0000 */ sw $t4, ($v1) -.L80097DC4: -/* 0989C4 80097DC4 1880001A */ blez $a0, .L80097E30 -/* 0989C8 80097DC8 3C028012 */ lui $v0, %hi(D_80126C3C) # $v0, 0x8012 -/* 0989CC 80097DCC 3C028012 */ lui $v0, %hi(D_80126C3C) # $v0, 0x8012 -/* 0989D0 80097DD0 24426C3C */ addiu $v0, %lo(D_80126C3C) # addiu $v0, $v0, 0x6c3c -/* 0989D4 80097DD4 8C4D0000 */ lw $t5, ($v0) -/* 0989D8 80097DD8 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 -/* 0989DC 80097DDC 1DA00004 */ bgtz $t5, .L80097DF0 -/* 0989E0 80097DE0 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 -/* 0989E4 80097DE4 240E0001 */ li $t6, 1 -/* 0989E8 80097DE8 AC600000 */ sw $zero, ($v1) -/* 0989EC 80097DEC AC4E0000 */ sw $t6, ($v0) -.L80097DF0: -/* 0989F0 80097DF0 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 -/* 0989F4 80097DF4 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 -/* 0989F8 80097DF8 8C6F0000 */ lw $t7, ($v1) -/* 0989FC 80097DFC 8FB80030 */ lw $t8, 0x30($sp) -/* 098A00 80097E00 8FAA0030 */ lw $t2, 0x30($sp) -/* 098A04 80097E04 01F8C821 */ addu $t9, $t7, $t8 -/* 098A08 80097E08 AC790000 */ sw $t9, ($v1) -/* 098A0C 80097E0C 1159000D */ beq $t2, $t9, .L80097E44 -/* 098A10 80097E10 03201025 */ move $v0, $t9 -/* 098A14 80097E14 2B21001C */ slti $at, $t9, 0x1c -/* 098A18 80097E18 10200003 */ beqz $at, .L80097E28 -/* 098A1C 80097E1C 244BFFFA */ addiu $t3, $v0, -6 -/* 098A20 80097E20 10000008 */ b .L80097E44 -/* 098A24 80097E24 00002025 */ move $a0, $zero -.L80097E28: -/* 098A28 80097E28 10000006 */ b .L80097E44 -/* 098A2C 80097E2C AC6B0000 */ sw $t3, ($v1) -.L80097E30: -/* 098A30 80097E30 3C038012 */ lui $v1, %hi(D_80126C34) # $v1, 0x8012 -/* 098A34 80097E34 24636C34 */ addiu $v1, %lo(D_80126C34) # addiu $v1, $v1, 0x6c34 -/* 098A38 80097E38 24426C3C */ addiu $v0, %lo(D_80126C3C) # addiu $v0, $v0, 0x6c3c -/* 098A3C 80097E3C AC600000 */ sw $zero, ($v1) -/* 098A40 80097E40 AC400000 */ sw $zero, ($v0) -.L80097E44: -/* 098A44 80097E44 8CA56C6C */ lw $a1, %lo(D_80126C6C)($a1) -/* 098A48 80097E48 8FAD0030 */ lw $t5, 0x30($sp) -/* 098A4C 80097E4C 8CAC0000 */ lw $t4, ($a1) -/* 098A50 80097E50 00001825 */ move $v1, $zero -/* 098A54 80097E54 448C2000 */ mtc1 $t4, $f4 -/* 098A58 80097E58 19A00040 */ blez $t5, .L80097F5C -/* 098A5C 80097E5C 46802520 */ cvt.s.w $f20, $f4 -/* 098A60 80097E60 3C018012 */ lui $at, %hi(D_80126C50) # $at, 0x8012 -/* 098A64 80097E64 C4206C50 */ lwc1 $f0, %lo(D_80126C50)($at) -/* 098A68 80097E68 3C0141F8 */ li $at, 0x41F80000 # 31.000000 -/* 098A6C 80097E6C 3C028012 */ lui $v0, %hi(D_80126C50) # $v0, 0x8012 -/* 098A70 80097E70 44811000 */ mtc1 $at, $f2 -/* 098A74 80097E74 44808000 */ mtc1 $zero, $f16 -/* 098A78 80097E78 24426C50 */ addiu $v0, %lo(D_80126C50) # addiu $v0, $v0, 0x6c50 -.L80097E7C: -/* 098A7C 80097E7C 4614003E */ c.le.s $f0, $f20 -/* 098A80 80097E80 3C01800F */ lui $at, %hi(D_800E856C) # $at, 0x800f -/* 098A84 80097E84 45000005 */ bc1f .L80097E9C -/* 098A88 80097E88 00000000 */ nop -/* 098A8C 80097E8C 46020180 */ add.s $f6, $f0, $f2 -/* 098A90 80097E90 4600A301 */ sub.s $f12, $f20, $f0 -/* 098A94 80097E94 10000004 */ b .L80097EA8 -/* 098A98 80097E98 4606A381 */ sub.s $f14, $f20, $f6 -.L80097E9C: -/* 098A9C 80097E9C 4602A200 */ add.s $f8, $f20, $f2 -/* 098AA0 80097EA0 46004301 */ sub.s $f12, $f8, $f0 -/* 098AA4 80097EA4 4600A381 */ sub.s $f14, $f20, $f0 -.L80097EA8: -/* 098AA8 80097EA8 460C6282 */ mul.s $f10, $f12, $f12 -/* 098AAC 80097EAC 00000000 */ nop -/* 098AB0 80097EB0 460E7102 */ mul.s $f4, $f14, $f14 -/* 098AB4 80097EB4 4604503C */ c.lt.s $f10, $f4 -/* 098AB8 80097EB8 00000000 */ nop -/* 098ABC 80097EBC 45000003 */ bc1f .L80097ECC -/* 098AC0 80097EC0 00000000 */ nop -/* 098AC4 80097EC4 10000002 */ b .L80097ED0 -/* 098AC8 80097EC8 46006486 */ mov.s $f18, $f12 -.L80097ECC: -/* 098ACC 80097ECC 46007486 */ mov.s $f18, $f14 -.L80097ED0: -/* 098AD0 80097ED0 C426856C */ lwc1 $f6, %lo(D_800E856C)($at) -/* 098AD4 80097ED4 00000000 */ nop -/* 098AD8 80097ED8 46069202 */ mul.s $f8, $f18, $f6 -/* 098ADC 80097EDC 46080280 */ add.s $f10, $f0, $f8 -/* 098AE0 80097EE0 E44A0000 */ swc1 $f10, ($v0) -/* 098AE4 80097EE4 C4400000 */ lwc1 $f0, ($v0) -/* 098AE8 80097EE8 00000000 */ nop -/* 098AEC 80097EEC 4600103E */ c.le.s $f2, $f0 -/* 098AF0 80097EF0 00000000 */ nop -/* 098AF4 80097EF4 45000009 */ bc1f .L80097F1C -/* 098AF8 80097EF8 00000000 */ nop -.L80097EFC: -/* 098AFC 80097EFC 46020101 */ sub.s $f4, $f0, $f2 -/* 098B00 80097F00 E4440000 */ swc1 $f4, ($v0) -/* 098B04 80097F04 C4400000 */ lwc1 $f0, ($v0) -/* 098B08 80097F08 00000000 */ nop -/* 098B0C 80097F0C 4600103E */ c.le.s $f2, $f0 -/* 098B10 80097F10 00000000 */ nop -/* 098B14 80097F14 4501FFF9 */ bc1t .L80097EFC -/* 098B18 80097F18 00000000 */ nop -.L80097F1C: -/* 098B1C 80097F1C 4610003C */ c.lt.s $f0, $f16 -/* 098B20 80097F20 00000000 */ nop -/* 098B24 80097F24 4500000A */ bc1f .L80097F50 -/* 098B28 80097F28 8FAE0030 */ lw $t6, 0x30($sp) -.L80097F2C: -/* 098B2C 80097F2C 46020180 */ add.s $f6, $f0, $f2 -/* 098B30 80097F30 E4460000 */ swc1 $f6, ($v0) -/* 098B34 80097F34 C4400000 */ lwc1 $f0, ($v0) -/* 098B38 80097F38 00000000 */ nop -/* 098B3C 80097F3C 4610003C */ c.lt.s $f0, $f16 -/* 098B40 80097F40 00000000 */ nop -/* 098B44 80097F44 4501FFF9 */ bc1t .L80097F2C -/* 098B48 80097F48 00000000 */ nop -/* 098B4C 80097F4C 8FAE0030 */ lw $t6, 0x30($sp) -.L80097F50: -/* 098B50 80097F50 24630001 */ addiu $v1, $v1, 1 -/* 098B54 80097F54 146EFFC9 */ bne $v1, $t6, .L80097E7C -/* 098B58 80097F58 00000000 */ nop -.L80097F5C: -/* 098B5C 80097F5C 3C03800E */ lui $v1, %hi(D_800E0FA0) # $v1, 0x800e -/* 098B60 80097F60 3C078012 */ lui $a3, %hi(D_80126C78) # $a3, 0x8012 -/* 098B64 80097F64 24E76C78 */ addiu $a3, %lo(D_80126C78) # addiu $a3, $a3, 0x6c78 -/* 098B68 80097F68 24630FA0 */ addiu $v1, %lo(D_800E0FA0) # addiu $v1, $v1, 0xfa0 -/* 098B6C 80097F6C 8C620000 */ lw $v0, ($v1) -/* 098B70 80097F70 8CE60000 */ lw $a2, ($a3) -/* 098B74 80097F74 310F9000 */ andi $t7, $t0, 0x9000 -/* 098B78 80097F78 0046082A */ slt $at, $v0, $a2 -/* 098B7C 80097F7C 1020007C */ beqz $at, .L80098170 -/* 098B80 80097F80 310C9000 */ andi $t4, $t0, 0x9000 -/* 098B84 80097F84 11E00054 */ beqz $t7, .L800980D8 -/* 098B88 80097F88 310F4000 */ andi $t7, $t0, 0x4000 -/* 098B8C 80097F8C 8CA90000 */ lw $t1, ($a1) -/* 098B90 80097F90 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 -/* 098B94 80097F94 2921001D */ slti $at, $t1, 0x1d -/* 098B98 80097F98 1020001D */ beqz $at, .L80098010 -/* 098B9C 80097F9C 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 -/* 098BA0 80097FA0 3C18800E */ lui $t8, %hi(gFileNameValidChars) # $t8, 0x800e -/* 098BA4 80097FA4 8D190000 */ lw $t9, ($t0) -/* 098BA8 80097FA8 0309C021 */ addu $t8, $t8, $t1 -/* 098BAC 80097FAC 93180F6C */ lbu $t8, %lo(gFileNameValidChars)($t8) -/* 098BB0 80097FB0 03225021 */ addu $t2, $t9, $v0 -/* 098BB4 80097FB4 A1580000 */ sb $t8, ($t2) -/* 098BB8 80097FB8 8C6B0000 */ lw $t3, ($v1) -/* 098BBC 80097FBC 8D0D0000 */ lw $t5, ($t0) -/* 098BC0 80097FC0 256C0001 */ addiu $t4, $t3, 1 -/* 098BC4 80097FC4 AC6C0000 */ sw $t4, ($v1) -/* 098BC8 80097FC8 01AC7821 */ addu $t7, $t5, $t4 -/* 098BCC 80097FCC A1E00000 */ sb $zero, ($t7) -/* 098BD0 80097FD0 240400EF */ li $a0, 239 -/* 098BD4 80097FD4 0C000741 */ jal play_sound_global -/* 098BD8 80097FD8 00002825 */ move $a1, $zero -/* 098BDC 80097FDC 3C03800E */ lui $v1, %hi(D_800E0FA0) # $v1, 0x800e -/* 098BE0 80097FE0 3C078012 */ lui $a3, %hi(D_80126C78) # $a3, 0x8012 -/* 098BE4 80097FE4 24E76C78 */ addiu $a3, %lo(D_80126C78) # addiu $a3, $a3, 0x6c78 -/* 098BE8 80097FE8 24630FA0 */ addiu $v1, %lo(D_800E0FA0) # addiu $v1, $v1, 0xfa0 -/* 098BEC 80097FEC 8C790000 */ lw $t9, ($v1) -/* 098BF0 80097FF0 8CF80000 */ lw $t8, ($a3) -/* 098BF4 80097FF4 240A001E */ li $t2, 30 -/* 098BF8 80097FF8 0338082A */ slt $at, $t9, $t8 -/* 098BFC 80097FFC 14200070 */ bnez $at, .L800981C0 -/* 098C00 80098000 3C0B8012 */ lui $t3, %hi(D_80126C6C) # $t3, 0x8012 -/* 098C04 80098004 8D6B6C6C */ lw $t3, %lo(D_80126C6C)($t3) -/* 098C08 80098008 1000006D */ b .L800981C0 -/* 098C0C 8009800C AD6A0000 */ sw $t2, ($t3) -.L80098010: -/* 098C10 80098010 2401001D */ li $at, 29 -/* 098C14 80098014 1521000E */ bne $t1, $at, .L80098050 -/* 098C18 80098018 240400EF */ li $a0, 239 -/* 098C1C 8009801C 18400008 */ blez $v0, .L80098040 -/* 098C20 80098020 24040241 */ li $a0, 577 -/* 098C24 80098024 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 -/* 098C28 80098028 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 -/* 098C2C 8009802C 8D0D0000 */ lw $t5, ($t0) -/* 098C30 80098030 244CFFFF */ addiu $t4, $v0, -1 -/* 098C34 80098034 AC6C0000 */ sw $t4, ($v1) -/* 098C38 80098038 01AC7821 */ addu $t7, $t5, $t4 -/* 098C3C 8009803C A1E00000 */ sb $zero, ($t7) -.L80098040: -/* 098C40 80098040 0C000741 */ jal play_sound_global -/* 098C44 80098044 00002825 */ move $a1, $zero -/* 098C48 80098048 1000005E */ b .L800981C4 -/* 098C4C 8009804C 8FA40030 */ lw $a0, 0x30($sp) -.L80098050: -/* 098C50 80098050 14400008 */ bnez $v0, .L80098074 -/* 098C54 80098054 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 -/* 098C58 80098058 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 -/* 098C5C 8009805C 8D190000 */ lw $t9, ($t0) -/* 098C60 80098060 00000000 */ nop -/* 098C64 80098064 93380000 */ lbu $t8, ($t9) -/* 098C68 80098068 00000000 */ nop -/* 098C6C 8009806C 17000010 */ bnez $t8, .L800980B0 -/* 098C70 80098070 00000000 */ nop -.L80098074: -/* 098C74 80098074 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 -/* 098C78 80098078 0046082A */ slt $at, $v0, $a2 -/* 098C7C 8009807C 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 -/* 098C80 80098080 1020000B */ beqz $at, .L800980B0 -/* 098C84 80098084 00401825 */ move $v1, $v0 -/* 098C88 80098088 24020020 */ li $v0, 32 -.L8009808C: -/* 098C8C 8009808C 8D0A0000 */ lw $t2, ($t0) -/* 098C90 80098090 00000000 */ nop -/* 098C94 80098094 01435821 */ addu $t3, $t2, $v1 -/* 098C98 80098098 A1620000 */ sb $v0, ($t3) -/* 098C9C 8009809C 8CE60000 */ lw $a2, ($a3) -/* 098CA0 800980A0 24630001 */ addiu $v1, $v1, 1 -/* 098CA4 800980A4 0066082A */ slt $at, $v1, $a2 -/* 098CA8 800980A8 1420FFF8 */ bnez $at, .L8009808C -/* 098CAC 800980AC 00000000 */ nop -.L800980B0: -/* 098CB0 800980B0 8D0C0000 */ lw $t4, ($t0) -/* 098CB4 800980B4 00002825 */ move $a1, $zero -/* 098CB8 800980B8 01866821 */ addu $t5, $t4, $a2 -/* 098CBC 800980BC 0C000741 */ jal play_sound_global -/* 098CC0 800980C0 A1A00000 */ sb $zero, ($t5) -/* 098CC4 800980C4 240E0001 */ li $t6, 1 -/* 098CC8 800980C8 3C018012 */ lui $at, %hi(gCheatInputString) # $at, 0x8012 -/* 098CCC 800980CC 1000003C */ b .L800981C0 -/* 098CD0 800980D0 AC2E6C48 */ sw $t6, %lo(gCheatInputString)($at) -/* 098CD4 800980D4 310F4000 */ andi $t7, $t0, 0x4000 -.L800980D8: -/* 098CD8 800980D8 11E0000E */ beqz $t7, .L80098114 -/* 098CDC 800980DC 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 -/* 098CE0 800980E0 18400004 */ blez $v0, .L800980F4 -/* 098CE4 800980E4 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 -/* 098CE8 800980E8 2459FFFF */ addiu $t9, $v0, -1 -/* 098CEC 800980EC AC790000 */ sw $t9, ($v1) -/* 098CF0 800980F0 03201025 */ move $v0, $t9 -.L800980F4: -/* 098CF4 800980F4 8D180000 */ lw $t8, ($t0) -/* 098CF8 800980F8 24040241 */ li $a0, 577 -/* 098CFC 800980FC 03025021 */ addu $t2, $t8, $v0 -/* 098D00 80098100 A1400000 */ sb $zero, ($t2) -/* 098D04 80098104 0C000741 */ jal play_sound_global -/* 098D08 80098108 00002825 */ move $a1, $zero -/* 098D0C 8009810C 1000002D */ b .L800981C4 -/* 098D10 80098110 8FA40030 */ lw $a0, 0x30($sp) -.L80098114: -/* 098D14 80098114 8CA90000 */ lw $t1, ($a1) -/* 098D18 80098118 04810002 */ bgez $a0, .L80098124 -/* 098D1C 8009811C 01201025 */ move $v0, $t1 -/* 098D20 80098120 2442FFFF */ addiu $v0, $v0, -1 -.L80098124: -/* 098D24 80098124 18800002 */ blez $a0, .L80098130 -/* 098D28 80098128 00002825 */ move $a1, $zero -/* 098D2C 8009812C 24420001 */ addiu $v0, $v0, 1 -.L80098130: -/* 098D30 80098130 04410002 */ bgez $v0, .L8009813C -/* 098D34 80098134 240400EB */ li $a0, 235 -/* 098D38 80098138 2402001E */ li $v0, 30 -.L8009813C: -/* 098D3C 8009813C 2841001F */ slti $at, $v0, 0x1f -/* 098D40 80098140 14200002 */ bnez $at, .L8009814C -/* 098D44 80098144 00000000 */ nop -/* 098D48 80098148 00001025 */ move $v0, $zero -.L8009814C: -/* 098D4C 8009814C 1049001C */ beq $v0, $t1, .L800981C0 -/* 098D50 80098150 00000000 */ nop -/* 098D54 80098154 0C000741 */ jal play_sound_global -/* 098D58 80098158 AFA2002C */ sw $v0, 0x2c($sp) -/* 098D5C 8009815C 3C0B8012 */ lui $t3, %hi(D_80126C6C) # $t3, 0x8012 -/* 098D60 80098160 8FA2002C */ lw $v0, 0x2c($sp) -/* 098D64 80098164 8D6B6C6C */ lw $t3, %lo(D_80126C6C)($t3) -/* 098D68 80098168 10000015 */ b .L800981C0 -/* 098D6C 8009816C AD620000 */ sw $v0, ($t3) -.L80098170: -/* 098D70 80098170 11800008 */ beqz $t4, .L80098194 -/* 098D74 80098174 310E4000 */ andi $t6, $t0, 0x4000 -/* 098D78 80098178 240400EF */ li $a0, 239 -/* 098D7C 8009817C 0C000741 */ jal play_sound_global -/* 098D80 80098180 00002825 */ move $a1, $zero -/* 098D84 80098184 240D0001 */ li $t5, 1 -/* 098D88 80098188 3C018012 */ lui $at, %hi(gCheatInputString) # $at, 0x8012 -/* 098D8C 8009818C 1000000C */ b .L800981C0 -/* 098D90 80098190 AC2D6C48 */ sw $t5, %lo(gCheatInputString)($at) -.L80098194: -/* 098D94 80098194 11C0000A */ beqz $t6, .L800981C0 -/* 098D98 80098198 3C088012 */ lui $t0, %hi(D_80126C74) # $t0, 0x8012 -/* 098D9C 8009819C 25086C74 */ addiu $t0, %lo(D_80126C74) # addiu $t0, $t0, 0x6c74 -/* 098DA0 800981A0 8D190000 */ lw $t9, ($t0) -/* 098DA4 800981A4 244FFFFF */ addiu $t7, $v0, -1 -/* 098DA8 800981A8 AC6F0000 */ sw $t7, ($v1) -/* 098DAC 800981AC 032F5021 */ addu $t2, $t9, $t7 -/* 098DB0 800981B0 A1400000 */ sb $zero, ($t2) -/* 098DB4 800981B4 24040241 */ li $a0, 577 -/* 098DB8 800981B8 0C000741 */ jal play_sound_global -/* 098DBC 800981BC 00002825 */ move $a1, $zero -.L800981C0: -/* 098DC0 800981C0 8FA40030 */ lw $a0, 0x30($sp) -.L800981C4: -/* 098DC4 800981C4 0C025E46 */ jal func_80097918 -/* 098DC8 800981C8 00000000 */ nop -/* 098DCC 800981CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 098DD0 800981D0 3C028012 */ lui $v0, %hi(gCheatInputString) # $v0, 0x8012 -/* 098DD4 800981D4 8C426C48 */ lw $v0, %lo(gCheatInputString)($v0) -/* 098DD8 800981D8 C7B50010 */ lwc1 $f21, 0x10($sp) -/* 098DDC 800981DC C7B40014 */ lwc1 $f20, 0x14($sp) -/* 098DE0 800981E0 03E00008 */ jr $ra -/* 098DE4 800981E4 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/menu/menu_file_select_loop.s b/asm/non_matchings/menu/menu_file_select_loop.s deleted file mode 100644 index be120412..00000000 --- a/asm/non_matchings/menu/menu_file_select_loop.s +++ /dev/null @@ -1,395 +0,0 @@ -glabel menu_file_select_loop -/* 08EA70 8008DE70 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 08EA74 8008DE74 AFBF0024 */ sw $ra, 0x24($sp) -/* 08EA78 8008DE78 0C01BAA4 */ jal get_settings -/* 08EA7C 8008DE7C AFA40048 */ sw $a0, 0x48($sp) -/* 08EA80 8008DE80 8FA40048 */ lw $a0, 0x48($sp) -/* 08EA84 8008DE84 0C02305A */ jal func_8008C168 -/* 08EA88 8008DE88 AFA20038 */ sw $v0, 0x38($sp) -/* 08EA8C 8008DE8C 3C028012 */ lui $v0, %hi(D_801263D8) # $v0, 0x8012 -/* 08EA90 8008DE90 8C4263D8 */ lw $v0, %lo(D_801263D8)($v0) -/* 08EA94 8008DE94 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 -/* 08EA98 8008DE98 10400037 */ beqz $v0, .L8008DF78 -/* 08EA9C 8008DE9C 244E0001 */ addiu $t6, $v0, 1 -/* 08EAA0 8008DEA0 AC2E63D8 */ sw $t6, %lo(D_801263D8)($at) -/* 08EAA4 8008DEA4 3C0F8012 */ lui $t7, %hi(D_801263D8) # $t7, 0x8012 -/* 08EAA8 8008DEA8 8DEF63D8 */ lw $t7, %lo(D_801263D8)($t7) -/* 08EAAC 8008DEAC 00004025 */ move $t0, $zero -/* 08EAB0 8008DEB0 29E10003 */ slti $at, $t7, 3 -/* 08EAB4 8008DEB4 14200030 */ bnez $at, .L8008DF78 -/* 08EAB8 8008DEB8 3C028012 */ lui $v0, %hi(gSavefileInfo) # $v0, 0x8012 -/* 08EABC 8008DEBC 3C078012 */ lui $a3, %hi(D_80126530) # $a3, 0x8012 -/* 08EAC0 8008DEC0 24E76530 */ addiu $a3, %lo(D_80126530) # addiu $a3, $a3, 0x6530 -/* 08EAC4 8008DEC4 244264A0 */ addiu $v0, %lo(gSavefileInfo) # addiu $v0, $v0, 0x64a0 -.L8008DEC8: -/* 08EAC8 8008DEC8 8CE30000 */ lw $v1, ($a3) -/* 08EACC 8008DECC A0400000 */ sb $zero, ($v0) -/* 08EAD0 8008DED0 9078004B */ lbu $t8, 0x4b($v1) -/* 08EAD4 8008DED4 240C004B */ li $t4, 75 -/* 08EAD8 8008DED8 1300000A */ beqz $t8, .L8008DF04 -/* 08EADC 8008DEDC 24190001 */ li $t9, 1 -/* 08EAE0 8008DEE0 24190044 */ li $t9, 68 -/* 08EAE4 8008DEE4 240D0052 */ li $t5, 82 -/* 08EAE8 8008DEE8 A0400001 */ sb $zero, 1($v0) -/* 08EAEC 8008DEEC A4400002 */ sh $zero, 2($v0) -/* 08EAF0 8008DEF0 A0590004 */ sb $t9, 4($v0) -/* 08EAF4 8008DEF4 A04C0005 */ sb $t4, 5($v0) -/* 08EAF8 8008DEF8 A04D0006 */ sb $t5, 6($v0) -/* 08EAFC 8008DEFC 10000016 */ b .L8008DF58 -/* 08EB00 8008DF00 A0400007 */ sb $zero, 7($v0) -.L8008DF04: -/* 08EB04 8008DF04 8C6E0010 */ lw $t6, 0x10($v1) -/* 08EB08 8008DF08 24450004 */ addiu $a1, $v0, 4 -/* 08EB0C 8008DF0C 31CF0004 */ andi $t7, $t6, 4 -/* 08EB10 8008DF10 11E00002 */ beqz $t7, .L8008DF1C -/* 08EB14 8008DF14 24180001 */ li $t8, 1 -/* 08EB18 8008DF18 A0580000 */ sb $t8, ($v0) -.L8008DF1C: -/* 08EB1C 8008DF1C A0590001 */ sb $t9, 1($v0) -/* 08EB20 8008DF20 8C6C0000 */ lw $t4, ($v1) -/* 08EB24 8008DF24 24060003 */ li $a2, 3 -/* 08EB28 8008DF28 858D0000 */ lh $t5, ($t4) -/* 08EB2C 8008DF2C 00000000 */ nop -/* 08EB30 8008DF30 A44D0002 */ sh $t5, 2($v0) -/* 08EB34 8008DF34 8C640050 */ lw $a0, 0x50($v1) -/* 08EB38 8008DF38 AFA80044 */ sw $t0, 0x44($sp) -/* 08EB3C 8008DF3C AFA7002C */ sw $a3, 0x2c($sp) -/* 08EB40 8008DF40 0C025DBE */ jal decompress_filename_string -/* 08EB44 8008DF44 AFA20030 */ sw $v0, 0x30($sp) -/* 08EB48 8008DF48 8FA20030 */ lw $v0, 0x30($sp) -/* 08EB4C 8008DF4C 8FA7002C */ lw $a3, 0x2c($sp) -/* 08EB50 8008DF50 8FA80044 */ lw $t0, 0x44($sp) -/* 08EB54 8008DF54 00000000 */ nop -.L8008DF58: -/* 08EB58 8008DF58 25080001 */ addiu $t0, $t0, 1 -/* 08EB5C 8008DF5C 24010003 */ li $at, 3 -/* 08EB60 8008DF60 2442000C */ addiu $v0, $v0, 0xc -/* 08EB64 8008DF64 1501FFD8 */ bne $t0, $at, .L8008DEC8 -/* 08EB68 8008DF68 24E70004 */ addiu $a3, $a3, 4 -/* 08EB6C 8008DF6C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 -/* 08EB70 8008DF70 AC2063D8 */ sw $zero, %lo(D_801263D8)($at) -/* 08EB74 8008DF74 AFA80044 */ sw $t0, 0x44($sp) -.L8008DF78: -/* 08EB78 8008DF78 3C038012 */ lui $v1, %hi(D_801263BC) # $v1, 0x8012 -/* 08EB7C 8008DF7C 246363BC */ addiu $v1, %lo(D_801263BC) # addiu $v1, $v1, 0x63bc -/* 08EB80 8008DF80 8FA50048 */ lw $a1, 0x48($sp) -/* 08EB84 8008DF84 8C6E0000 */ lw $t6, ($v1) -/* 08EB88 8008DF88 3C06800E */ lui $a2, %hi(gMenuDelay) # $a2, 0x800e -/* 08EB8C 8008DF8C 24C6F47C */ addiu $a2, %lo(gMenuDelay) # addiu $a2, $a2, -0xb84 -/* 08EB90 8008DF90 8CC20000 */ lw $v0, ($a2) -/* 08EB94 8008DF94 01C57821 */ addu $t7, $t6, $a1 -/* 08EB98 8008DF98 8FA80044 */ lw $t0, 0x44($sp) -/* 08EB9C 8008DF9C 31F8003F */ andi $t8, $t7, 0x3f -/* 08EBA0 8008DFA0 10400009 */ beqz $v0, .L8008DFC8 -/* 08EBA4 8008DFA4 AC780000 */ sw $t8, ($v1) -/* 08EBA8 8008DFA8 18400005 */ blez $v0, .L8008DFC0 -/* 08EBAC 8008DFAC 00456023 */ subu $t4, $v0, $a1 -/* 08EBB0 8008DFB0 0045C821 */ addu $t9, $v0, $a1 -/* 08EBB4 8008DFB4 ACD90000 */ sw $t9, ($a2) -/* 08EBB8 8008DFB8 10000003 */ b .L8008DFC8 -/* 08EBBC 8008DFBC 03201025 */ move $v0, $t9 -.L8008DFC0: -/* 08EBC0 8008DFC0 ACCC0000 */ sw $t4, ($a2) -/* 08EBC4 8008DFC4 01801025 */ move $v0, $t4 -.L8008DFC8: -/* 08EBC8 8008DFC8 2841FFEC */ slti $at, $v0, -0x14 -/* 08EBCC 8008DFCC 1420000A */ bnez $at, .L8008DFF8 -/* 08EBD0 8008DFD0 28410015 */ slti $at, $v0, 0x15 -/* 08EBD4 8008DFD4 10200008 */ beqz $at, .L8008DFF8 -/* 08EBD8 8008DFD8 00A02025 */ move $a0, $a1 -/* 08EBDC 8008DFDC 0C02335D */ jal render_file_select_menu -/* 08EBE0 8008DFE0 AFA80044 */ sw $t0, 0x44($sp) -/* 08EBE4 8008DFE4 3C02800E */ lui $v0, %hi(gMenuDelay) # $v0, 0x800e -/* 08EBE8 8008DFE8 8C42F47C */ lw $v0, %lo(gMenuDelay)($v0) -/* 08EBEC 8008DFEC 8FA80044 */ lw $t0, 0x44($sp) -/* 08EBF0 8008DFF0 8FA50048 */ lw $a1, 0x48($sp) -/* 08EBF4 8008DFF4 00000000 */ nop -.L8008DFF8: -/* 08EBF8 8008DFF8 144000A4 */ bnez $v0, .L8008E28C -/* 08EBFC 8008DFFC 3C0D8012 */ lui $t5, %hi(D_801263D8) # $t5, 0x8012 -/* 08EC00 8008E000 8DAD63D8 */ lw $t5, %lo(D_801263D8)($t5) -/* 08EC04 8008E004 3C0E8012 */ lui $t6, %hi(D_80126484) # $t6, 0x8012 -/* 08EC08 8008E008 15A000A0 */ bnez $t5, .L8008E28C -/* 08EC0C 8008E00C 00000000 */ nop -/* 08EC10 8008E010 8DCE6484 */ lw $t6, %lo(D_80126484)($t6) -/* 08EC14 8008E014 3C0F8012 */ lui $t7, %hi(D_80126488) # $t7, 0x8012 -/* 08EC18 8008E018 11C00005 */ beqz $t6, .L8008E030 -/* 08EC1C 8008E01C 00000000 */ nop -/* 08EC20 8008E020 0C02362F */ jal func_8008D8BC -/* 08EC24 8008E024 00A02025 */ move $a0, $a1 -/* 08EC28 8008E028 10000098 */ b .L8008E28C -/* 08EC2C 8008E02C 00000000 */ nop -.L8008E030: -/* 08EC30 8008E030 8DEF6488 */ lw $t7, %lo(D_80126488)($t7) -/* 08EC34 8008E034 3C188012 */ lui $t8, %hi(D_80126CC0) # $t8, 0x8012 -/* 08EC38 8008E038 11E00005 */ beqz $t7, .L8008E050 -/* 08EC3C 8008E03C 00000000 */ nop -/* 08EC40 8008E040 0C02371F */ jal func_8008DC7C -/* 08EC44 8008E044 00A02025 */ move $a0, $a1 -/* 08EC48 8008E048 10000090 */ b .L8008E28C -/* 08EC4C 8008E04C 00000000 */ nop -.L8008E050: -/* 08EC50 8008E050 8F186CC0 */ lw $t8, %lo(D_80126CC0)($t8) -/* 08EC54 8008E054 00002025 */ move $a0, $zero -/* 08EC58 8008E058 13000048 */ beqz $t8, .L8008E17C -/* 08EC5C 8008E05C 00000000 */ nop -/* 08EC60 8008E060 0C01A955 */ jal get_buttons_pressed_from_player -/* 08EC64 8008E064 AFA80044 */ sw $t0, 0x44($sp) -/* 08EC68 8008E068 8FA80044 */ lw $t0, 0x44($sp) -/* 08EC6C 8008E06C 30594000 */ andi $t9, $v0, 0x4000 -/* 08EC70 8008E070 13200016 */ beqz $t9, .L8008E0CC -/* 08EC74 8008E074 3C0C800E */ lui $t4, %hi(D_800E0FA0) # $t4, 0x800e -/* 08EC78 8008E078 8D8C0FA0 */ lw $t4, %lo(D_800E0FA0)($t4) -/* 08EC7C 8008E07C 00086880 */ sll $t5, $t0, 2 -/* 08EC80 8008E080 15800012 */ bnez $t4, .L8008E0CC -/* 08EC84 8008E084 01A86823 */ subu $t5, $t5, $t0 -/* 08EC88 8008E088 3C0E8012 */ lui $t6, %hi(gSavefileInfo) # $t6, 0x8012 -/* 08EC8C 8008E08C 25CE64A0 */ addiu $t6, %lo(gSavefileInfo) # addiu $t6, $t6, 0x64a0 -/* 08EC90 8008E090 000D6880 */ sll $t5, $t5, 2 -/* 08EC94 8008E094 01AE1021 */ addu $v0, $t5, $t6 -/* 08EC98 8008E098 0C02607A */ jal unload_big_font_4 -/* 08EC9C 8008E09C AFA20030 */ sw $v0, 0x30($sp) -/* 08ECA0 8008E0A0 8FA20030 */ lw $v0, 0x30($sp) -/* 08ECA4 8008E0A4 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 -/* 08ECA8 8008E0A8 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at) -/* 08ECAC 8008E0AC 240F0044 */ li $t7, 68 -/* 08ECB0 8008E0B0 2418004B */ li $t8, 75 -/* 08ECB4 8008E0B4 24190052 */ li $t9, 82 -/* 08ECB8 8008E0B8 A04F0004 */ sb $t7, 4($v0) -/* 08ECBC 8008E0BC A0580005 */ sb $t8, 5($v0) -/* 08ECC0 8008E0C0 A0590006 */ sb $t9, 6($v0) -/* 08ECC4 8008E0C4 10000071 */ b .L8008E28C -/* 08ECC8 8008E0C8 A0400007 */ sb $zero, 7($v0) -.L8008E0CC: -/* 08ECCC 8008E0CC 8FA40048 */ lw $a0, 0x48($sp) -/* 08ECD0 8008E0D0 0C025F44 */ jal func_80097D10 -/* 08ECD4 8008E0D4 00000000 */ nop -/* 08ECD8 8008E0D8 1040006C */ beqz $v0, .L8008E28C -/* 08ECDC 8008E0DC 00000000 */ nop -/* 08ECE0 8008E0E0 0C02607A */ jal unload_big_font_4 -/* 08ECE4 8008E0E4 00000000 */ nop -/* 08ECE8 8008E0E8 3C0C800E */ lui $t4, %hi(gSaveFileIndex) # $t4, 0x800e -/* 08ECEC 8008E0EC 8D8CF4CC */ lw $t4, %lo(gSaveFileIndex)($t4) -/* 08ECF0 8008E0F0 3C0E8012 */ lui $t6, %hi(gSavefileInfo) # $t6, 0x8012 -/* 08ECF4 8008E0F4 000C6880 */ sll $t5, $t4, 2 -/* 08ECF8 8008E0F8 01AC6823 */ subu $t5, $t5, $t4 -/* 08ECFC 8008E0FC 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 -/* 08ED00 8008E100 000D6880 */ sll $t5, $t5, 2 -/* 08ED04 8008E104 25CE64A0 */ addiu $t6, %lo(gSavefileInfo) # addiu $t6, $t6, 0x64a0 -/* 08ED08 8008E108 AC206CC0 */ sw $zero, %lo(D_80126CC0)($at) -/* 08ED0C 8008E10C 01AE1021 */ addu $v0, $t5, $t6 -/* 08ED10 8008E110 A0400000 */ sb $zero, ($v0) -/* 08ED14 8008E114 3C0F800E */ lui $t7, %hi(gIsInAdventureTwo) # $t7, 0x800e -/* 08ED18 8008E118 8DEFF494 */ lw $t7, %lo(gIsInAdventureTwo)($t7) -/* 08ED1C 8008E11C 24190001 */ li $t9, 1 -/* 08ED20 8008E120 11E00003 */ beqz $t7, .L8008E130 -/* 08ED24 8008E124 24440004 */ addiu $a0, $v0, 4 -/* 08ED28 8008E128 24180001 */ li $t8, 1 -/* 08ED2C 8008E12C A0580000 */ sb $t8, ($v0) -.L8008E130: -/* 08ED30 8008E130 A0590001 */ sb $t9, 1($v0) -/* 08ED34 8008E134 A4400002 */ sh $zero, 2($v0) -/* 08ED38 8008E138 0C025DD1 */ jal compress_filename_string -/* 08ED3C 8008E13C 24050003 */ li $a1, 3 -/* 08ED40 8008E140 8FAC0038 */ lw $t4, 0x38($sp) -/* 08ED44 8008E144 3C04800E */ lui $a0, %hi(gSaveFileIndex) # $a0, 0x800e -/* 08ED48 8008E148 AD820050 */ sw $v0, 0x50($t4) -/* 08ED4C 8008E14C 8C84F4CC */ lw $a0, %lo(gSaveFileIndex)($a0) -/* 08ED50 8008E150 0C01BADE */ jal func_8006EB78 -/* 08ED54 8008E154 00000000 */ nop -/* 08ED58 8008E158 0C000326 */ jal set_music_fade_timer -/* 08ED5C 8008E15C 2404FF80 */ li $a0, -128 -/* 08ED60 8008E160 3C04800E */ lui $a0, %hi(sMenuTransitionFadeIn) # $a0, 0x800e -/* 08ED64 8008E164 0C030076 */ jal func_800C01D8 -/* 08ED68 8008E168 2484F774 */ addiu $a0, %lo(sMenuTransitionFadeIn) # addiu $a0, $a0, -0x88c -/* 08ED6C 8008E16C 240D0001 */ li $t5, 1 -/* 08ED70 8008E170 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e -/* 08ED74 8008E174 10000045 */ b .L8008E28C -/* 08ED78 8008E178 AC2DF47C */ sw $t5, %lo(gMenuDelay)($at) -.L8008E17C: -/* 08ED7C 8008E17C 0C02357E */ jal func_8008D5F8 -/* 08ED80 8008E180 00A02025 */ move $a0, $a1 -/* 08ED84 8008E184 10400041 */ beqz $v0, .L8008E28C -/* 08ED88 8008E188 AFA20040 */ sw $v0, 0x40($sp) -/* 08ED8C 8008E18C 18400036 */ blez $v0, .L8008E268 -/* 08ED90 8008E190 3C09800E */ lui $t1, %hi(gSaveFileIndex) # $t1, 0x800e -/* 08ED94 8008E194 8D29F4CC */ lw $t1, %lo(gSaveFileIndex)($t1) -/* 08ED98 8008E198 3C0F8012 */ lui $t7, %hi(gSavefileInfo) # $t7, 0x8012 -/* 08ED9C 8008E19C 00097080 */ sll $t6, $t1, 2 -/* 08EDA0 8008E1A0 01C97023 */ subu $t6, $t6, $t1 -/* 08EDA4 8008E1A4 000E7080 */ sll $t6, $t6, 2 -/* 08EDA8 8008E1A8 25EF64A0 */ addiu $t7, %lo(gSavefileInfo) # addiu $t7, $t7, 0x64a0 -/* 08EDAC 8008E1AC 01CF1021 */ addu $v0, $t6, $t7 -/* 08EDB0 8008E1B0 90580001 */ lbu $t8, 1($v0) -/* 08EDB4 8008E1B4 3C0B800E */ lui $t3, %hi(D_800E0FB0) # $t3, 0x800e -/* 08EDB8 8008E1B8 1300000C */ beqz $t8, .L8008E1EC -/* 08EDBC 8008E1BC 256B0FB0 */ addiu $t3, %lo(D_800E0FB0) # addiu $t3, $t3, 0xfb0 -/* 08EDC0 8008E1C0 240400EF */ li $a0, 239 -/* 08EDC4 8008E1C4 0C000741 */ jal play_sound_global -/* 08EDC8 8008E1C8 00002825 */ move $a1, $zero -/* 08EDCC 8008E1CC 3C04800E */ lui $a0, %hi(gSaveFileIndex) # $a0, 0x800e -/* 08EDD0 8008E1D0 8C84F4CC */ lw $a0, %lo(gSaveFileIndex)($a0) -/* 08EDD4 8008E1D4 0C01BADE */ jal func_8006EB78 -/* 08EDD8 8008E1D8 00000000 */ nop -/* 08EDDC 8008E1DC 0C000326 */ jal set_music_fade_timer -/* 08EDE0 8008E1E0 2404FF80 */ li $a0, -128 -/* 08EDE4 8008E1E4 10000021 */ b .L8008E26C -/* 08EDE8 8008E1E8 8FB80040 */ lw $t8, 0x40($sp) -.L8008E1EC: -/* 08EDEC 8008E1EC 24190001 */ li $t9, 1 -/* 08EDF0 8008E1F0 3C018012 */ lui $at, %hi(D_80126CC0) # $at, 0x8012 -/* 08EDF4 8008E1F4 AC396CC0 */ sw $t9, %lo(D_80126CC0)($at) -/* 08EDF8 8008E1F8 AD600000 */ sw $zero, ($t3) -/* 08EDFC 8008E1FC 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -/* 08EE00 8008E200 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -/* 08EE04 8008E204 00004025 */ move $t0, $zero -/* 08EE08 8008E208 15800002 */ bnez $t4, .L8008E214 -/* 08EE0C 8008E20C 3C0A800E */ lui $t2, %hi(D_800E03FC) # $t2, 0x800e -/* 08EE10 8008E210 2408000C */ li $t0, 12 -.L8008E214: -/* 08EE14 8008E214 3C0E800E */ lui $t6, %hi(D_800E03CC) # $t6, 0x800e -/* 08EE18 8008E218 25CE03CC */ addiu $t6, %lo(D_800E03CC) # addiu $t6, $t6, 0x3cc -/* 08EE1C 8008E21C 00096900 */ sll $t5, $t1, 4 -/* 08EE20 8008E220 254A03FC */ addiu $t2, %lo(D_800E03FC) # addiu $t2, $t2, 0x3fc -/* 08EE24 8008E224 01AE1821 */ addu $v1, $t5, $t6 -/* 08EE28 8008E228 84780000 */ lh $t8, ($v1) -/* 08EE2C 8008E22C 854F0000 */ lh $t7, ($t2) -/* 08EE30 8008E230 846C0002 */ lh $t4, 2($v1) -/* 08EE34 8008E234 85590002 */ lh $t9, 2($t2) -/* 08EE38 8008E238 01F82821 */ addu $a1, $t7, $t8 -/* 08EE3C 8008E23C 240F0003 */ li $t7, 3 -/* 08EE40 8008E240 244E0004 */ addiu $t6, $v0, 4 -/* 08EE44 8008E244 032C6821 */ addu $t5, $t9, $t4 -/* 08EE48 8008E248 01A83021 */ addu $a2, $t5, $t0 -/* 08EE4C 8008E24C AFAE0014 */ sw $t6, 0x14($sp) -/* 08EE50 8008E250 AFAF0018 */ sw $t7, 0x18($sp) -/* 08EE54 8008E254 250400BB */ addiu $a0, $t0, 0xbb -/* 08EE58 8008E258 00003825 */ move $a3, $zero -/* 08EE5C 8008E25C 0C025E1D */ jal func_80097874 -/* 08EE60 8008E260 AFAB0010 */ sw $t3, 0x10($sp) -/* 08EE64 8008E264 AFA00040 */ sw $zero, 0x40($sp) -.L8008E268: -/* 08EE68 8008E268 8FB80040 */ lw $t8, 0x40($sp) -.L8008E26C: -/* 08EE6C 8008E26C 3C04800E */ lui $a0, %hi(sMenuTransitionFadeIn) # $a0, 0x800e -/* 08EE70 8008E270 13000006 */ beqz $t8, .L8008E28C -/* 08EE74 8008E274 00000000 */ nop -/* 08EE78 8008E278 0C030076 */ jal func_800C01D8 -/* 08EE7C 8008E27C 2484F774 */ addiu $a0, %lo(sMenuTransitionFadeIn) # addiu $a0, $a0, -0x88c -/* 08EE80 8008E280 8FB90040 */ lw $t9, 0x40($sp) -/* 08EE84 8008E284 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e -/* 08EE88 8008E288 AC39F47C */ sw $t9, %lo(gMenuDelay)($at) -.L8008E28C: -/* 08EE8C 8008E28C 3C06800E */ lui $a2, %hi(gMenuDelay) # $a2, 0x800e -/* 08EE90 8008E290 24C6F47C */ addiu $a2, %lo(gMenuDelay) # addiu $a2, $a2, -0xb84 -/* 08EE94 8008E294 8CC20000 */ lw $v0, ($a2) -/* 08EE98 8008E298 00000000 */ nop -/* 08EE9C 8008E29C 28410024 */ slti $at, $v0, 0x24 -/* 08EEA0 8008E2A0 14200054 */ bnez $at, .L8008E3F4 -/* 08EEA4 8008E2A4 3C06800E */ lui $a2, %hi(gActiveMagicCodes) # $a2, 0x800e -/* 08EEA8 8008E2A8 24C6FD98 */ addiu $a2, %lo(gActiveMagicCodes) # addiu $a2, $a2, -0x268 -/* 08EEAC 8008E2AC 8CC30000 */ lw $v1, ($a2) -/* 08EEB0 8008E2B0 3C04FBFF */ lui $a0, (0xFBFFFFFF >> 16) # lui $a0, 0xfbff -/* 08EEB4 8008E2B4 00036140 */ sll $t4, $v1, 5 -/* 08EEB8 8008E2B8 0581000F */ bgez $t4, .L8008E2F8 -/* 08EEBC 8008E2BC 3484FFFF */ ori $a0, (0xFBFFFFFF & 0xFFFF) # ori $a0, $a0, 0xffff -/* 08EEC0 8008E2C0 3C05800E */ lui $a1, %hi(gUnlockedMagicCodes) # $a1, 0x800e -/* 08EEC4 8008E2C4 24A5FD9C */ addiu $a1, %lo(gUnlockedMagicCodes) # addiu $a1, $a1, -0x264 -/* 08EEC8 8008E2C8 8CAE0000 */ lw $t6, ($a1) -/* 08EECC 8008E2CC 8FB80038 */ lw $t8, 0x38($sp) -/* 08EED0 8008E2D0 00646824 */ and $t5, $v1, $a0 -/* 08EED4 8008E2D4 01C47824 */ and $t7, $t6, $a0 -/* 08EED8 8008E2D8 ACCD0000 */ sw $t5, ($a2) -/* 08EEDC 8008E2DC ACAF0000 */ sw $t7, ($a1) -/* 08EEE0 8008E2E0 8F020000 */ lw $v0, ($t8) -/* 08EEE4 8008E2E4 00000000 */ nop -/* 08EEE8 8008E2E8 84590000 */ lh $t9, ($v0) -/* 08EEEC 8008E2EC 00000000 */ nop -/* 08EEF0 8008E2F0 272C0001 */ addiu $t4, $t9, 1 -/* 08EEF4 8008E2F4 A44C0000 */ sh $t4, ($v0) -.L8008E2F8: -/* 08EEF8 8008E2F8 3C0D800E */ lui $t5, %hi(gNumberOfActivePlayers) # $t5, 0x800e -/* 08EEFC 8008E2FC 8DADF4BC */ lw $t5, %lo(gNumberOfActivePlayers)($t5) -/* 08EF00 8008E300 3C02800E */ lui $v0, %hi(gIsInTwoPlayerAdventure) # $v0, 0x800e -/* 08EF04 8008E304 39AE0002 */ xori $t6, $t5, 2 -/* 08EF08 8008E308 2442F4C0 */ addiu $v0, %lo(gIsInTwoPlayerAdventure) # addiu $v0, $v0, -0xb40 -/* 08EF0C 8008E30C 2DCE0001 */ sltiu $t6, $t6, 1 -/* 08EF10 8008E310 11C00003 */ beqz $t6, .L8008E320 -/* 08EF14 8008E314 AC4E0000 */ sw $t6, ($v0) -/* 08EF18 8008E318 0C00386E */ jal func_8000E1B8 -/* 08EF1C 8008E31C 00000000 */ nop -.L8008E320: -/* 08EF20 8008E320 24180001 */ li $t8, 1 -/* 08EF24 8008E324 3C01800E */ lui $at, %hi(gNumberOfActivePlayers) # $at, 0x800e -/* 08EF28 8008E328 AC38F4BC */ sw $t8, %lo(gNumberOfActivePlayers)($at) -/* 08EF2C 8008E32C 3C01800E */ lui $at, %hi(D_800E0FAC) # $at, 0x800e -/* 08EF30 8008E330 24190001 */ li $t9, 1 -/* 08EF34 8008E334 0C02390A */ jal func_8008E428 -/* 08EF38 8008E338 AC390FAC */ sw $t9, %lo(D_800E0FAC)($at) -/* 08EF3C 8008E33C 0C0002CA */ jal func_80000B28 -/* 08EF40 8008E340 00000000 */ nop -/* 08EF44 8008E344 0C01B96F */ jal func_8006E5BC -/* 08EF48 8008E348 00000000 */ nop -/* 08EF4C 8008E34C 8FA20038 */ lw $v0, 0x38($sp) -/* 08EF50 8008E350 3C01800E */ lui $at, %hi(gTrophyRaceWorldId) # $at, 0x800e -/* 08EF54 8008E354 AC200FE8 */ sw $zero, %lo(gTrophyRaceWorldId)($at) -/* 08EF58 8008E358 904C004B */ lbu $t4, 0x4b($v0) -/* 08EF5C 8008E35C 3C0D800E */ lui $t5, %hi(gIsInAdventureTwo) # $t5, 0x800e -/* 08EF60 8008E360 11800017 */ beqz $t4, .L8008E3C0 -/* 08EF64 8008E364 00000000 */ nop -/* 08EF68 8008E368 8DADF494 */ lw $t5, %lo(gIsInAdventureTwo)($t5) -/* 08EF6C 8008E36C 00000000 */ nop -/* 08EF70 8008E370 11A00005 */ beqz $t5, .L8008E388 -/* 08EF74 8008E374 00000000 */ nop -/* 08EF78 8008E378 8C4E0010 */ lw $t6, 0x10($v0) -/* 08EF7C 8008E37C 00000000 */ nop -/* 08EF80 8008E380 35CF0004 */ ori $t7, $t6, 4 -/* 08EF84 8008E384 AC4F0010 */ sw $t7, 0x10($v0) -.L8008E388: -/* 08EF88 8008E388 0C0078A7 */ jal get_misc_asset -/* 08EF8C 8008E38C 24040019 */ li $a0, 25 -/* 08EF90 8008E390 3C06800E */ lui $a2, %hi(gNumberOfActivePlayers) # $a2, 0x800e -/* 08EF94 8008E394 8CC6F4BC */ lw $a2, %lo(gNumberOfActivePlayers)($a2) -/* 08EF98 8008E398 00402025 */ move $a0, $v0 -/* 08EF9C 8008E39C 00002825 */ move $a1, $zero -/* 08EFA0 8008E3A0 00003825 */ move $a3, $zero -/* 08EFA4 8008E3A4 AFA00010 */ sw $zero, 0x10($sp) -/* 08EFA8 8008E3A8 0C026AF6 */ jal func_8009ABD8 -/* 08EFAC 8008E3AC AFA00014 */ sw $zero, 0x14($sp) -/* 08EFB0 8008E3B0 0C0204F4 */ jal menu_init -/* 08EFB4 8008E3B4 24040017 */ li $a0, 23 -/* 08EFB8 8008E3B8 10000017 */ b .L8008E418 -/* 08EFBC 8008E3BC 00001025 */ move $v0, $zero -.L8008E3C0: -/* 08EFC0 8008E3C0 8C580010 */ lw $t8, 0x10($v0) -/* 08EFC4 8008E3C4 3C01800E */ lui $at, %hi(gIsInAdventureTwo) # $at, 0x800e -/* 08EFC8 8008E3C8 33190004 */ andi $t9, $t8, 4 -/* 08EFCC 8008E3CC 13200005 */ beqz $t9, .L8008E3E4 -/* 08EFD0 8008E3D0 3C02800E */ lui $v0, %hi(gNumberOfActivePlayers) # $v0, 0x800e -/* 08EFD4 8008E3D4 240C0001 */ li $t4, 1 -/* 08EFD8 8008E3D8 3C01800E */ lui $at, %hi(gIsInAdventureTwo) # $at, 0x800e -/* 08EFDC 8008E3DC 10000002 */ b .L8008E3E8 -/* 08EFE0 8008E3E0 AC2CF494 */ sw $t4, %lo(gIsInAdventureTwo)($at) -.L8008E3E4: -/* 08EFE4 8008E3E4 AC20F494 */ sw $zero, %lo(gIsInAdventureTwo)($at) -.L8008E3E8: -/* 08EFE8 8008E3E8 8C42F4BC */ lw $v0, %lo(gNumberOfActivePlayers)($v0) -/* 08EFEC 8008E3EC 1000000B */ b .L8008E41C -/* 08EFF0 8008E3F0 8FBF0024 */ lw $ra, 0x24($sp) -.L8008E3F4: -/* 08EFF4 8008E3F4 2841FFDD */ slti $at, $v0, -0x23 -/* 08EFF8 8008E3F8 10200007 */ beqz $at, .L8008E418 -/* 08EFFC 8008E3FC 00001025 */ move $v0, $zero -/* 08F000 8008E400 0C02390A */ jal func_8008E428 -/* 08F004 8008E404 00000000 */ nop -/* 08F008 8008E408 0C0204F4 */ jal menu_init -/* 08F00C 8008E40C 24040013 */ li $a0, 19 -/* 08F010 8008E410 10000001 */ b .L8008E418 -/* 08F014 8008E414 00001025 */ move $v0, $zero -.L8008E418: -/* 08F018 8008E418 8FBF0024 */ lw $ra, 0x24($sp) -.L8008E41C: -/* 08F01C 8008E41C 27BD0048 */ addiu $sp, $sp, 0x48 -/* 08F020 8008E420 03E00008 */ jr $ra -/* 08F024 8008E424 00000000 */ nop - diff --git a/asm/non_matchings/menu/menu_game_select_init.s b/asm/non_matchings/menu/menu_game_select_init.s deleted file mode 100644 index 25219ab0..00000000 --- a/asm/non_matchings/menu/menu_game_select_init.s +++ /dev/null @@ -1,108 +0,0 @@ -glabel menu_game_select_init -/* 08D108 8008C508 3C01800E */ lui $at, %hi(gMenuDelay) # $at, 0x800e -/* 08D10C 8008C50C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08D110 8008C510 AC20F47C */ sw $zero, %lo(gMenuDelay)($at) -/* 08D114 8008C514 3C018012 */ lui $at, %hi(D_801263BC) # $at, 0x8012 -/* 08D118 8008C518 AFB40028 */ sw $s4, 0x28($sp) -/* 08D11C 8008C51C AC2063BC */ sw $zero, %lo(D_801263BC)($at) -/* 08D120 8008C520 3C148012 */ lui $s4, %hi(D_801263E0) # $s4, 0x8012 -/* 08D124 8008C524 3C01800E */ lui $at, %hi(D_800DF460) # $at, 0x800e -/* 08D128 8008C528 269463E0 */ addiu $s4, %lo(D_801263E0) # addiu $s4, $s4, 0x63e0 -/* 08D12C 8008C52C AFBF002C */ sw $ra, 0x2c($sp) -/* 08D130 8008C530 AC20F460 */ sw $zero, %lo(D_800DF460)($at) -/* 08D134 8008C534 240E0002 */ li $t6, 2 -/* 08D138 8008C538 3C04800E */ lui $a0, %hi(sMenuTransitionFadeOut) # $a0, 0x800e -/* 08D13C 8008C53C AFB30024 */ sw $s3, 0x24($sp) -/* 08D140 8008C540 AFB20020 */ sw $s2, 0x20($sp) -/* 08D144 8008C544 AFB1001C */ sw $s1, 0x1c($sp) -/* 08D148 8008C548 AFB00018 */ sw $s0, 0x18($sp) -/* 08D14C 8008C54C AE8E0000 */ sw $t6, ($s4) -/* 08D150 8008C550 0C030076 */ jal func_800C01D8 -/* 08D154 8008C554 2484F77C */ addiu $a0, %lo(sMenuTransitionFadeOut) # addiu $a0, $a0, -0x884 -/* 08D158 8008C558 0C01BAEA */ jal func_8006EBA8 -/* 08D15C 8008C55C 00000000 */ nop -/* 08D160 8008C560 0C006DE4 */ jal func_8001B790 -/* 08D164 8008C564 00000000 */ nop -/* 08D168 8008C568 240F0001 */ li $t7, 1 -/* 08D16C 8008C56C 3C018012 */ lui $at, %hi(D_801263D8) # $at, 0x8012 -/* 08D170 8008C570 AC2F63D8 */ sw $t7, %lo(D_801263D8)($at) -/* 08D174 8008C574 0C0271B5 */ jal func_8009C6D4 -/* 08D178 8008C578 24040043 */ li $a0, 67 -/* 08D17C 8008C57C 0C01FFFB */ jal func_8007FFEC -/* 08D180 8008C580 24040003 */ li $a0, 3 -/* 08D184 8008C584 0C03105C */ jal load_font -/* 08D188 8008C588 24040002 */ li $a0, 2 -/* 08D18C 8008C58C 0C0002CD */ jal play_music -/* 08D190 8008C590 2404001A */ li $a0, 26 -/* 08D194 8008C594 3C13800E */ lui $s3, %hi(D_800DFDB4) # $s3, 0x800e -/* 08D198 8008C598 3C128012 */ lui $s2, %hi(D_801263B4) # $s2, 0x8012 -/* 08D19C 8008C59C 265263B4 */ addiu $s2, %lo(D_801263B4) # addiu $s2, $s2, 0x63b4 -/* 08D1A0 8008C5A0 2673FDB4 */ addiu $s3, %lo(D_800DFDB4) # addiu $s3, $s3, -0x24c -/* 08D1A4 8008C5A4 00008025 */ move $s0, $zero -.L8008C5A8: -/* 08D1A8 8008C5A8 82580000 */ lb $t8, ($s2) -/* 08D1AC 8008C5AC 0010C840 */ sll $t9, $s0, 1 -/* 08D1B0 8008C5B0 12180007 */ beq $s0, $t8, .L8008C5D0 -/* 08D1B4 8008C5B4 02798821 */ addu $s1, $s3, $t9 -/* 08D1B8 8008C5B8 92240000 */ lbu $a0, ($s1) -/* 08D1BC 8008C5BC 0C000445 */ jal func_80001114 -/* 08D1C0 8008C5C0 00000000 */ nop -/* 08D1C4 8008C5C4 92240001 */ lbu $a0, 1($s1) -/* 08D1C8 8008C5C8 0C000445 */ jal func_80001114 -/* 08D1CC 8008C5CC 00000000 */ nop -.L8008C5D0: -/* 08D1D0 8008C5D0 26100001 */ addiu $s0, $s0, 1 -/* 08D1D4 8008C5D4 2A01000A */ slti $at, $s0, 0xa -/* 08D1D8 8008C5D8 1420FFF3 */ bnez $at, .L8008C5A8 -/* 08D1DC 8008C5DC 00000000 */ nop -/* 08D1E0 8008C5E0 0C000445 */ jal func_80001114 -/* 08D1E4 8008C5E4 24040006 */ li $a0, 6 -/* 08D1E8 8008C5E8 0C0002C6 */ jal func_80000B18 -/* 08D1EC 8008C5EC 00000000 */ nop -/* 08D1F0 8008C5F0 0C027B18 */ jal is_adventure_two_unlocked -/* 08D1F4 8008C5F4 00000000 */ nop -/* 08D1F8 8008C5F8 10400009 */ beqz $v0, .L8008C620 -/* 08D1FC 8008C5FC 3C038012 */ lui $v1, %hi(D_80126460) # $v1, 0x8012 -/* 08D200 8008C600 3C038012 */ lui $v1, %hi(D_80126460) # $v1, 0x8012 -/* 08D204 8008C604 3C08800E */ lui $t0, %hi(gGameSelectTextElemsWithAdv2) # $t0, 0x800e -/* 08D208 8008C608 24636460 */ addiu $v1, %lo(D_80126460) # addiu $v1, $v1, 0x6460 -/* 08D20C 8008C60C 25080278 */ addiu $t0, %lo(gGameSelectTextElemsWithAdv2) # addiu $t0, $t0, 0x278 -/* 08D210 8008C610 24090002 */ li $t1, 2 -/* 08D214 8008C614 AC680000 */ sw $t0, ($v1) -/* 08D218 8008C618 10000007 */ b .L8008C638 -/* 08D21C 8008C61C AE890000 */ sw $t1, ($s4) -.L8008C620: -/* 08D220 8008C620 3C0A800E */ lui $t2, %hi(gGameSelectTextElemsNoAdv2) # $t2, 0x800e -/* 08D224 8008C624 24636460 */ addiu $v1, %lo(D_80126460) # addiu $v1, $v1, 0x6460 -/* 08D228 8008C628 254A0198 */ addiu $t2, %lo(gGameSelectTextElemsNoAdv2) # addiu $t2, $t2, 0x198 -/* 08D22C 8008C62C 240B0001 */ li $t3, 1 -/* 08D230 8008C630 AC6A0000 */ sw $t2, ($v1) -/* 08D234 8008C634 AE8B0000 */ sw $t3, ($s4) -.L8008C638: -/* 08D238 8008C638 8E8C0000 */ lw $t4, ($s4) -/* 08D23C 8008C63C 00008025 */ move $s0, $zero -/* 08D240 8008C640 0580000D */ bltz $t4, .L8008C678 -/* 08D244 8008C644 3C028012 */ lui $v0, %hi(D_80126550) # $v0, 0x8012 -/* 08D248 8008C648 24426550 */ addiu $v0, %lo(D_80126550) # addiu $v0, $v0, 0x6550 -.L8008C64C: -/* 08D24C 8008C64C 8C6E0000 */ lw $t6, ($v1) -/* 08D250 8008C650 02007825 */ move $t7, $s0 -/* 08D254 8008C654 8C4D010C */ lw $t5, 0x10c($v0) -/* 08D258 8008C658 000FC180 */ sll $t8, $t7, 6 -/* 08D25C 8008C65C 01D8C821 */ addu $t9, $t6, $t8 -/* 08D260 8008C660 AF2D0054 */ sw $t5, 0x54($t9) -/* 08D264 8008C664 8E880000 */ lw $t0, ($s4) -/* 08D268 8008C668 26100001 */ addiu $s0, $s0, 1 -/* 08D26C 8008C66C 0110082A */ slt $at, $t0, $s0 -/* 08D270 8008C670 1020FFF6 */ beqz $at, .L8008C64C -/* 08D274 8008C674 00000000 */ nop -.L8008C678: -/* 08D278 8008C678 8FBF002C */ lw $ra, 0x2c($sp) -/* 08D27C 8008C67C 8FB00018 */ lw $s0, 0x18($sp) -/* 08D280 8008C680 8FB1001C */ lw $s1, 0x1c($sp) -/* 08D284 8008C684 8FB20020 */ lw $s2, 0x20($sp) -/* 08D288 8008C688 8FB30024 */ lw $s3, 0x24($sp) -/* 08D28C 8008C68C 8FB40028 */ lw $s4, 0x28($sp) -/* 08D290 8008C690 03E00008 */ jr $ra -/* 08D294 8008C694 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/menu/func_80097918.s b/asm/non_matchings/menu/render_enter_filename_ui.s similarity index 99% rename from asm/non_matchings/menu/func_80097918.s rename to asm/non_matchings/menu/render_enter_filename_ui.s index 6e29ecdd..53ca11e9 100644 --- a/asm/non_matchings/menu/func_80097918.s +++ b/asm/non_matchings/menu/render_enter_filename_ui.s @@ -1,4 +1,4 @@ -glabel func_80097918 +glabel render_enter_filename_ui /* 098518 80097918 444EF800 */ cfc1 $t6, $31 /* 09851C 8009791C 3C018012 */ lui $at, %hi(D_80126C50) # $at, 0x8012 /* 098520 80097920 C4206C50 */ lwc1 $f0, %lo(D_80126C50)($at) diff --git a/include/structs.h b/include/structs.h index cbc078e8..860ac11a 100644 --- a/include/structs.h +++ b/include/structs.h @@ -142,6 +142,24 @@ typedef struct Settings4C { #define TAJ_FLAGS_HOVER_CHAL_COMPLETED 0x10 #define TAJ_FLAGS_PLANE_CHAL_COMPLETED 0x20 +#define CUTSCENE_LIGHTHOUSE_ROCKET 0x1 +#define CUTSCENE_TT_HELP 0x2 +#define CUTSCENE_ADVENTURE_TWO 0x4 +#define CUTSCENE_DINO_DOMAIN_BOSS 0x8 +#define CUTSCENE_SHERBET_ISLAND_BOSS 0x10 +#define CUTSCENE_SNOWFLAKE_MOUNTAIN_BOSS 0x20 +#define CUTSCENE_DRAGON_FOREST_BOSS 0x40 +#define CUTSCENE_FUTURE_FUN_LAND_BOSS 0x80 +#define CUTSCENE_DINO_DOMAIN_BOSS_2 0x100 +#define CUTSCENE_SHERBET_ISLAND_BOSS_2 0x200 +#define CUTSCENE_SNOWFLAKE_MOUNTAIN_BOSS_2 0x400 +#define CUTSCENE_DRAGON_FOREST_BOSS_2 0x800 +#define CUTSCENE_WIZPIG_FACE 0x2000 +#define CUTSCENE_DINO_DOMAIN_KEY 0x4000 +#define CUTSCENE_SHERBET_ISLAND_KEY 0x8000 +#define CUTSCENE_SNOWFLAKE_MOUNTAIN_KEY 0x10000 +#define CUTSCENE_DRAGON_FOREST_KEY 0x20000 + /* Size: 0x118 bytes */ typedef struct Settings { /* 0x0000 */ s16 *balloonsPtr; @@ -1180,13 +1198,13 @@ typedef struct Object_Bridge_WhaleRamp { typedef struct Object_80011AD0 { /* 0x00 */ u8 pad0[0x20]; /* 0x20 */ u32 unk20; - /* 0x24 */ u32 unk24; + /* 0x24 */ u32 unk24; //TextureHeader *? /* 0x28 */ u8 pad28[0x48]; /* 0x70 */ u8 unk70; /* 0x71 */ u8 pad71[0x3]; /* 0x74 */ f32 unk74; /* 0x78 */ u8 pad78[0x80]; - /* 0xF8 */ u32 unkF8; + /* 0xF8 */ u32 unkF8; //TextureHeader *? /* 0xFC */ u8 unkFC; } Object_80011AD0; diff --git a/lib/src/mips1/al/unknown_0646F0.h b/lib/src/mips1/al/unknown_0646F0.h new file mode 100644 index 00000000..0da39795 --- /dev/null +++ b/lib/src/mips1/al/unknown_0646F0.h @@ -0,0 +1,11 @@ +#ifndef _UNKNOWN_0646F0_H_ +#define _UNKNOWN_0646F0_H_ + + +#include "types.h" +#include "audio_internal.h" + +void func_80063AF0(ALSeqPlayer *seqp, u8 chan); +void func_80063B44(ALSeqPlayer *seqp, u8 chan); + +#endif diff --git a/lib/src/mips1/al/unknown_064800.c b/lib/src/mips1/al/unknown_064800.c index 35223aa9..876fc801 100644 --- a/lib/src/mips1/al/unknown_064800.c +++ b/lib/src/mips1/al/unknown_064800.c @@ -5,6 +5,6 @@ #include "macros.h" #include "audio_internal.h" -u8 func_80063C00(ALCSPlayer *seqp, u8 arg1) { - return ((ALChanState_Custom*)seqp->chanState)[arg1].unk10; +u8 func_80063C00(ALCSPlayer *seqp, u8 chan) { + return ((ALChanState_Custom*)seqp->chanState)[chan].unk10; } diff --git a/src/audio.c b/src/audio.c index e54e3737..24751c86 100644 --- a/src/audio.c +++ b/src/audio.c @@ -11,6 +11,7 @@ #include "audio_internal.h" #include "unknown_003260.h" #include "sched.h" +#include "lib/src/mips1/al/unknown_0646F0.h" /************ .data ************/ @@ -376,9 +377,9 @@ void func_80001074(u16 arg0) { return; } -void func_80001114(u8 arg0) { - if (arg0 < 0x10) { - func_80063AF0(gMusicPlayer, arg0); +void func_80001114(u8 chan) { + if (chan < 16) { + func_80063AF0(gMusicPlayer, chan); } } @@ -386,14 +387,14 @@ s32 musicGetChnlActive(s32 arg0) { return (gMusicPlayer->chanMask & (1 << arg0)) == 0; } -void func_80001170(u8 arg0) { - if (arg0 < 0x10) { - func_80063B44(gMusicPlayer, arg0); +void func_80001170(u8 chan) { + if (chan < 16) { + func_80063B44(gMusicPlayer, chan); } } void musicSetChlPan(u8 chan, ALPan pan) { - if (chan < 0x10) { + if (chan < 16) { alCSPSetChlPan(gMusicPlayer, chan, pan); } } @@ -405,25 +406,25 @@ void musicSetChlVol(u8 chan, u8 vol) { } /* Unused?*/ -u8 musicGetChlVol(u8 arg0) { - if (arg0 >= 0x10) { +u8 musicGetChlVol(u8 chan) { + if (chan >= 16) { return 0; } else { - return alCSPGetChlVol(gMusicPlayer, arg0); + return alCSPGetChlVol(gMusicPlayer, chan); } } -void func_80001268(u8 arg0, u8 arg1) { - if (arg0 < 0x10) { - func_80063BA0(gMusicPlayer, arg0, arg1); +void func_80001268(u8 chan, ALPan pan) { + if (chan < 16) { + func_80063BA0(gMusicPlayer, chan, pan); } } -u8 func_800012A8(u8 arg0) { - if (arg0 >= 0x10) { +u8 func_800012A8(u8 chan) { + if (chan >= 16) { return 0; } - return func_80063C00(gMusicPlayer, arg0); + return func_80063C00(gMusicPlayer, chan); } void func_800012E8(void) { diff --git a/src/audio.h b/src/audio.h index a4120015..c6140746 100644 --- a/src/audio.h +++ b/src/audio.h @@ -55,7 +55,7 @@ void alCSPSetChlPan(ALCSPlayer *seqp, u8 chan, ALPan pan); //lib/src/unknown_0C8 void alCSPSetChlVol(ALCSPlayer *, u8 chan, u8 vol); //lib/src/unknown_0C84E0.c u8 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan); //lib/src/al void func_80063BA0(ALSeqPlayer *seqp, u8 chan, ALPan pan); //lib/src/unknown_0647A0.c -u8 func_80063C00(ALCSPlayer *seqp, u8 arg1); //lib/src/mips1/al/unknown_064800.c +u8 func_80063C00(ALCSPlayer *seqp, u8 chan); //lib/src/mips1/al/unknown_064800.c u8 alSeqpGetChlFXMix(ALSeqPlayer *seqp, u8 chan); //lib/src/al/alSeqpGetChlFXMix.c void func_8006492C(u8 arg0); //lib/src/mips1/al/reverb.c u8 func_8006493C(); //lib/src/mips1/al/reverb.c @@ -63,7 +63,6 @@ void alHeapInit(ALHeap *hp, u8 *base, s32 len); //lib/src/al/alHeapInit.c void alBnkfNew(ALBankFile *ctl, u8 *tbl); //lib/src/al/global_asm.c void alCSPSetVol(ALCSPlayer *seqp, s16 vol); //lib/src/al/alCSPSetVol.c void alCSPStop(ALCSPlayer *seqp); //lib/src/al/unknown_0C91A0.c -void func_80063B44(u32 arg0, u8 arg1); //lib/src/al/unknown_0646F0.c s32 alCSPGetState(ALCSPlayer *seqp); //lib/src/unknown_0C8650.c void audio_init(OSSched *arg0); @@ -84,13 +83,13 @@ void func_80000FDC(u16 arg0, s32 arg1, f32 arg2); void func_80001050(void); u16 musicGetChanMask(void); void func_80001074(u16 arg0); -void func_80001114(u8 arg0); +void func_80001114(u8 chan); s32 musicGetChnlActive(s32 arg0); void func_80001170(u8 arg0); void musicSetChlPan(u8 chan, ALPan pan); void musicSetChlVol(u8 chan, u8 vol); u8 musicGetChlVol(u8 arg0); -void func_80001268(u8 arg0, u8 arg1); +void func_80001268(u8 chan, ALPan pan); u8 func_800012A8(u8 arg0); void func_800012E8(void); u8 func_80001358(u8 arg0, u8 arg1, s32 arg2); diff --git a/src/camera.h b/src/camera.h index 68ab56e1..bd7a8883 100644 --- a/src/camera.h +++ b/src/camera.h @@ -13,6 +13,7 @@ #define SCREEN_HEIGHT 240 #define SCREEN_WIDTH_HALF (SCREEN_WIDTH / 2) #define SCREEN_HEIGHT_HALF (SCREEN_HEIGHT / 2) +#define SCREEN_HEIGHT_HALF_PAL (SCREEN_HEIGHT_HALF + 12) #define SCREEN_WIDTH_FLOAT ((float)(SCREEN_WIDTH)) #define SCREEN_HEIGHT_FLOAT ((float)(SCREEN_HEIGHT)) diff --git a/src/game.c b/src/game.c index 3dc2b5fa..00082995 100644 --- a/src/game.c +++ b/src/game.c @@ -452,14 +452,14 @@ void load_level(s32 levelId, s32 numberOfPlayers, s32 entranceId, s32 vehicleId, } } } - if (gCurrentLevelHeader->race_type == RACETYPE_HUBWORLD && gCurrentLevelHeader->world == 0 && !(settings->cutsceneFlags & 0x2000) && settings->wizpigAmulet >= 4) { + if (gCurrentLevelHeader->race_type == RACETYPE_HUBWORLD && gCurrentLevelHeader->world == 0 && !(settings->cutsceneFlags & CUTSCENE_WIZPIG_FACE) && settings->wizpigAmulet >= 4) { // Trigger wizpig face cutscene s32 savedEntranceId = entranceId; s32 savedCutsceneId = cutsceneId; cutsceneId = 0; entranceId = 0; func_8006C1AC(levelId, savedEntranceId, vehicleId, savedCutsceneId); - settings->cutsceneFlags |= 0x2000; + settings->cutsceneFlags |= CUTSCENE_WIZPIG_FACE; levelId = get_misc_asset(MISC_ASSET_UNK44)[1]; } } @@ -1827,9 +1827,9 @@ void func_8006EB5C(void) { D_800DD37C |= 0x03; } -void func_8006EB78(s32 arg0) { +void func_8006EB78(s32 saveFileIndex) { D_800DD37C &= -0x301; - D_800DD37C |= (0x04 | ((arg0 & 3) << 8)); + D_800DD37C |= (0x04 | ((saveFileIndex & 3) << 8)); } void func_8006EBA8(void) { @@ -1958,8 +1958,8 @@ void func_8006F254(void) { void func_8006F29C(void) { if (D_800DD394 == 0) { - if ((gSettingsPtr->trophies & 0xFF) == 0xFF && !(gSettingsPtr->cutsceneFlags & 1) && gSettingsPtr->bosses & 1) { - gSettingsPtr->cutsceneFlags |= 1; + if ((gSettingsPtr->trophies & 0xFF) == 0xFF && !(gSettingsPtr->cutsceneFlags & CUTSCENE_LIGHTHOUSE_ROCKET) && gSettingsPtr->bosses & 1) { + gSettingsPtr->cutsceneFlags |= CUTSCENE_LIGHTHOUSE_ROCKET; func_800C01D8(&D_800DD41C); D_800DD394 = 0x28; D_80123525 = 0x2D; diff --git a/src/game.h b/src/game.h index b529db9f..0f664722 100644 --- a/src/game.h +++ b/src/game.h @@ -146,7 +146,7 @@ s32 func_8006EB14(void); void func_8006EB24(void); void func_8006EB40(void); void func_8006EB5C(void); -void func_8006EB78(s32 arg0); +void func_8006EB78(s32 saveFileIndex); void func_8006EBA8(void); void func_8006EBC4(void); void func_8006EBE0(void); diff --git a/src/menu.c b/src/menu.c index c8de1ae0..3854cac3 100644 --- a/src/menu.c +++ b/src/menu.c @@ -74,9 +74,9 @@ s32 D_80126438[4]; //Eeeprom save data bits stored at address 0xF //bit 0 = Adventure Two is Unlocked -//bit 1 = Used to set the CHEAT_MIRRORED_TRACKS magic code flag +//bit 1 = Used to set the CHEAT_CONTROL_DRUMSTICK magic code flag. Drumstick is unlocked flag? //bits 2-3 = Current language value -//bits 4-23 = Used to set the CHEAT_CONTROL_DRUMSTICK magic code flag +//bits 4-23 = Used to set the CHEAT_CONTROL_TT magic code flag. Could be tracks where TT has been beat? //bit 24 = Unknown, but it's set as a default high bit. //bit 25 = Seems to be a flag for whether subtitles are enabled or not. //bits 26-55 = Unknown, but it could be a set of flags for unlocked tracks @@ -90,7 +90,7 @@ f32 sBootScreenTimer; s8 gControllersXAxisDelay[4]; s8 gControllersYAxisDelay[4]; s8 gControllersXAxisDirection[4]; // X axis (-1 = left, 1 = right) for controller -MenuElement **D_80126460; +MenuElement *D_80126460; s8 gControllersYAxisDirection[4]; // Y axis (-1 = down, 1 = up) for controller s8 gControllersXAxis[4]; s8 gControllersYAxis[4]; @@ -197,9 +197,9 @@ u8 D_801269C4[4]; s32 D_801269C8; s32 D_801269CC; char *gAudioOutputStrings[3]; -s32 D_801269DC; +f32 D_801269DC; char *gMusicTestString; -s32 D_801269E4; +f32 D_801269E4; s32 D_801269E8; s32 D_801269EC; s32 D_801269F0; @@ -233,7 +233,7 @@ s32 D_80126A90; s32 D_80126A94; s32 D_80126A98; s32 D_80126A9C; -u8 *D_80126AA0[16]; //Text to render +char *D_80126AA0[16]; //Text to render u8 *sCurrentControllerPakAllFileNames[16]; //Every file name on the controller pak u8 *sCurrentControllerPakAllFileExtensions[16]; //Every file extension on the controller pak u8 sCurrentControllerPakAllFileTypes[16]; //File type of all files on controller pak @@ -271,7 +271,7 @@ u16 gCheatInputCurrentRow; u16 gCheatInputCurrentColumn; u16 gCheatInputStringLength; s16 gOptionsMenuItemIndex; -char *gCheatInputString; +s32 D_80126C48; s16 D_80126C4C; f32 D_80126C50; s8 D_80126C54; @@ -281,7 +281,7 @@ s8 D_80126C57; u8 D_80126C58[20]; s32 *D_80126C6C; s32 D_80126C70; -s32 D_80126C74; +char *D_80126C74; s32 D_80126C78; s32 D_80126C7C; s16 D_80126C80[32]; @@ -382,7 +382,7 @@ UNUSED FadeTransition sMenuTransitionFadeInWhite = FADE_TRANSITION(0, FADE_COLOR UNUSED FadeTransition sMenuTransitionFadeOutWhite = FADE_TRANSITION(0x80, FADE_COLOR_WHITE, 18, 0); s32 D_800DF794 = 4; -s32 D_800DF798 = 0; +MenuElement *D_800DF798 = NULL; s32 D_800DF79C = 0; s32 D_800DF7A0 = 0; @@ -1010,11 +1010,11 @@ MenuElement D_800E0E4C[9] = { // The length of the array must be a power of two. u8 gFileNameValidChars[32] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.? "; -s32 D_800E0F8C = 0; +char D_800E0F8C = '\0'; s32 D_800E0F90 = 192; s32 D_800E0F94 = 160; s32 D_800E0F98 = 120; -s32 D_800E0F9C = 2; +s32 D_800E0F9C = ASSET_FONTS_BIGFONT; s32 D_800E0FA0 = 0; s32 D_800E0FA4 = 0; char D_800E0FA8[4] = "DKR"; // Default file name? @@ -1965,7 +1965,7 @@ void show_timestamp(s32 frameCount, s32 xPos, s32 yPos, u8 red, u8 green, u8 blu GLOBAL_ASM("asm/non_matchings/menu/func_80081C04.s") -void func_80081E54(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5) { +void func_80081E54(MenuElement *arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5) { D_800DF798 = arg0; D_800DF794 = 0; D_80126858 = arg1 * 60.0f; @@ -1979,7 +1979,78 @@ void func_80081E54(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5) { } } -GLOBAL_ASM("asm/non_matchings/menu/func_80081F4C.s") +s32 func_80081F4C(s32 updateRate) { + f32 var_f20; + s32 ret; + s32 i; + s32 buttonsPressedAllPlayers; + + ret = 1; + var_f20 = -1.0f; + buttonsPressedAllPlayers = 0; + if (D_800DF794 != 4) { + if (gIgnorePlayerInput == 0) { + for (i = 0; i < gNumberOfActivePlayers; i++) { + buttonsPressedAllPlayers |= get_buttons_pressed_from_player(i); + } + } + D_80126854 += updateRate; + do { + switch (D_800DF794) { + case 0: + if (buttonsPressedAllPlayers & (A_BUTTON | START_BUTTON)) { + D_80126854 = 0; + D_800DF794 = 1; + buttonsPressedAllPlayers = 0; + } else { + if (D_80126854 >= D_80126858) { + D_80126854 -= D_80126858; + D_800DF794 = 1; + } else { + var_f20 = (f32) D_80126854 / (f32) D_80126858; + } + } + break; + case 1: + if (D_8012685C < 0) { + D_80126854 = 0; + } + if (buttonsPressedAllPlayers & (A_BUTTON | START_BUTTON)) { + D_80126854 = 0; + D_800DF794 = 2; + buttonsPressedAllPlayers = 0; + if (D_80126860 > D_80126854) { + play_sound_global(SOUND_WHOOSH1, NULL); + } + } else { + if (D_80126854 >= D_8012685C) { + D_80126854 -= D_8012685C; + D_800DF794 = 2; + if (D_80126854 < D_80126860) { + play_sound_global(SOUND_WHOOSH1, NULL); + } + } else { + var_f20 = (f32) D_80126854 / (f32) D_8012685C; + } + } + break; + case 2: + if ((buttonsPressedAllPlayers & (A_BUTTON | START_BUTTON)) || (D_80126854 >= D_80126860)) { + D_800DF794 = 4; + } else { + var_f20 = (f32) D_80126854 / (f32) D_80126860; + } + break; + } + } while ((var_f20 < 0.0f) && (D_800DF794 != 4)); + + if (D_800DF794 != 4) { + draw_menu_elements(D_800DF794, D_800DF798, var_f20); + ret = 0; + } + } + return ret; +} #ifdef NON_EQUIVALENT @@ -2271,10 +2342,10 @@ s32 menu_logo_screen_loop(s32 updateRate) { */ void init_title_screen_variables(void) { if (sEepromSettings & 2) { - set_magic_code_flags(2); + set_magic_code_flags(CHEAT_CONTROL_DRUMSTICK); } if ((sEepromSettings & 0xFFFFF0) == 0xFFFFF0) { - set_magic_code_flags(1); + set_magic_code_flags(CHEAT_CONTROL_TT); } if (sEepromSettings & 1) { gIsInAdventureTwo = 1; @@ -2323,7 +2394,7 @@ void menu_title_screen_init(void) { func_80000890(0); set_time_trial_enabled(FALSE); D_80126864 = 0; - sTitleScreenDemoIds = (TitleScreenDemos *)get_misc_asset(MISC_ASSET_UNK42); + sTitleScreenDemoIds = (s8 *)get_misc_asset(MISC_ASSET_UNK42); numberOfPlayers = sTitleScreenDemoIds[1]; gTitleDemoTimer = 0; if (numberOfPlayers == -2) { @@ -2339,8 +2410,8 @@ void menu_title_screen_init(void) { gIsInTracksMode = FALSE; } -void func_8008377C(s32 arg0, f32 arg1) { - u32 foo[2]; +void func_8008377C(UNUSED s32 arg0, f32 arg1) { + UNUSED u32 foo[2]; s32 alpha; f32 scale; s32 i; @@ -2358,11 +2429,7 @@ void func_8008377C(s32 arg0, f32 arg1) { } if (!is_controller_missing()) { i = 0; - if (osTvType == TV_TYPE_PAL) { - posY = SCREEN_HEIGHT - 22; - } else { - posY = SCREEN_HEIGHT - 48; - } + posY = (osTvType == TV_TYPE_PAL) ? 218 : 192; set_text_font(ASSET_FONTS_FUNFONT); set_text_background_colour(0, 0, 0, 0); while(gTitleMenuStrings[i] != NULL) { @@ -2388,9 +2455,9 @@ void func_8008377C(s32 arg0, f32 arg1) { } s32 menu_title_screen_loop(s32 updateRate) { - s32 temp_v0_5; + UNUSED s32 temp_v0_5; s32 sp28; - TitleScreenDemos *demo; + s8 *demo; s32 contrIndex; f32 sp1C; ObjectSegment* sp18; @@ -2431,20 +2498,20 @@ s32 menu_title_screen_loop(s32 updateRate) { if(gTitleDemoTimer){} D_80126864 += 3; demo = &sTitleScreenDemoIds[D_80126864]; - if (demo->levelId == -1) { + if (demo[0] == -1) { D_80126864 = 0; demo = &sTitleScreenDemoIds[D_80126864]; } if (D_8012686C == 0) { D_8012686C = 1; } - var_a1 = demo->numberOfPlayers; + var_a1 = demo[1]; gTitleDemoTimer = 0; if (var_a1 == -2) { var_a1 = 0; gTitleDemoTimer = 1500; } - load_level_for_menu(demo->levelId, var_a1, demo->cutsceneId); + load_level_for_menu(demo[0], var_a1, demo[2]); if (sTitleScreenDemoIds[D_80126864] == sTitleScreenDemoIds[0]) { D_801268D8 = 0.0f; D_801268E0 = 0; @@ -2566,9 +2633,9 @@ void render_options_menu_ui(UNUSED s32 updateRate) { set_text_font(ASSET_FONTS_BIGFONT); set_text_background_colour(0, 0, 0, 0); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[ASSET_MENU_TEXT_OPTIONS], ALIGN_MIDDLE_CENTER); // OPTIONS + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_OPTIONS], ALIGN_MIDDLE_CENTER); // OPTIONS set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[ASSET_MENU_TEXT_OPTIONS], ALIGN_MIDDLE_CENTER); // OPTIONS + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_OPTIONS], ALIGN_MIDDLE_CENTER); // OPTIONS optionMenuTextIndex = 0; yPos = 76; @@ -2880,7 +2947,7 @@ s32 menu_audio_options_loop(s32 arg0) { play_sound_global(SOUND_MENU_PICK2, NULL); } } - if (gMenuDelay < -0x1E) { + if (gMenuDelay < -30) { func_800851FC(); menu_init(0xC); return 0; @@ -2995,16 +3062,16 @@ void func_80085B9C(UNUSED s32 updateRate) { set_text_background_colour(0, 0, 0, 0); set_text_font(2); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_SAVEOPTIONS], ALIGN_MIDDLE_CENTER); if (drawTexturedRectangle) { - yPos = (osTvType == TV_TYPE_PAL) ? 132 : 120; + yPos = (osTvType == TV_TYPE_PAL) ? SCREEN_HEIGHT_HALF_PAL : SCREEN_HEIGHT_HALF; yPos += ((s32) (D_801263BC & 0x1F) >> 1); var_s2 = 0; tempTex = &D_800E043C[var_s2]; do { - render_textured_rectangle(&sMenuCurrDisplayList, tempTex, 160, yPos, 255, 255, 255, 255); + render_textured_rectangle(&sMenuCurrDisplayList, tempTex, SCREEN_WIDTH_HALF, yPos, 255, 255, 255, 255); tempTex++; var_s2++; yPos += 16; @@ -3041,10 +3108,10 @@ void func_80085B9C(UNUSED s32 updateRate) { set_text_font(2); set_text_colour(255, 255, 255, 0, 255); if (drawOk) { - draw_text(&sMenuCurrDisplayList, 160, 128, D_800E8208, ALIGN_MIDDLE_CENTER); // "OK?" + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 128, D_800E8208, ALIGN_MIDDLE_CENTER); // "OK?" } if (drawPleaseWait) { - draw_text(&sMenuCurrDisplayList, 160, 128, gMenuText[ASSET_MENU_TEXT_PLEASEWAIT], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 128, gMenuText[ASSET_MENU_TEXT_PLEASEWAIT], ALIGN_MIDDLE_CENTER); } if (drawDialogueBox) { render_dialogue_box(&sMenuCurrDisplayList, NULL, NULL, 7); @@ -3436,9 +3503,9 @@ s32 menu_boot_loop(s32 updateRate) { out = 0; - y = 120; + y = SCREEN_HEIGHT_HALF; if (osTvType == TV_TYPE_PAL) { - y = 132; + y = SCREEN_HEIGHT_HALF_PAL; } temp = y; @@ -3479,7 +3546,7 @@ s32 menu_boot_loop(s32 updateRate) { } if (temp < 300) { - render_textured_rectangle(&sMenuCurrDisplayList, sGameTitleTileOffsets, 160, temp, 255, 255, 255, 255); + render_textured_rectangle(&sMenuCurrDisplayList, sGameTitleTileOffsets, SCREEN_WIDTH_HALF, temp, 255, 255, 255, 255); func_8007B3D0(&sMenuCurrDisplayList); } @@ -3498,7 +3565,7 @@ void func_800887E8(void) { // Fills in the table. for (i = 1; i < 16; i++) { - D_80126AA0[i] = (u8 *)(((u32)D_80126AA0[0]) + (i * 0x20)); + D_80126AA0[i] = (char *)(((u32)D_80126AA0[0]) + (i * 0x20)); } for (i = 0; i < 1; i++) { @@ -3550,9 +3617,9 @@ void render_controller_pak_ui(UNUSED s32 updateRate) { } else if (gShowControllerPakMenu != 0) { set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 33, gMenuText[ASSET_MENU_TEXT_CONTPAK], ALIGN_MIDDLE_CENTER); //CONTROLLER PAK - Drop Shadow + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 33, gMenuText[ASSET_MENU_TEXT_CONTPAK], ALIGN_MIDDLE_CENTER); //CONTROLLER PAK - Drop Shadow set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 30, gMenuText[ASSET_MENU_TEXT_CONTPAK], ALIGN_MIDDLE_CENTER); //CONTROLLER PAK - Main Text + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 30, gMenuText[ASSET_MENU_TEXT_CONTPAK], ALIGN_MIDDLE_CENTER); //CONTROLLER PAK - Main Text yPos += 48; @@ -3609,7 +3676,7 @@ void render_controller_pak_ui(UNUSED s32 updateRate) { } if (D_801263D8 < (16 - sControllerPakMenuNumberOfRows)) { if ((D_801263BC & 8) != 0) { - render_textured_rectangle(&sMenuCurrDisplayList, D_800E043C, 160, yPos + 8, 255, 255, 255, 255); + render_textured_rectangle(&sMenuCurrDisplayList, D_800E043C, SCREEN_WIDTH_HALF, yPos + 8, 255, 255, 255, 255); func_8007B3D0(&sMenuCurrDisplayList); } } else { @@ -3625,7 +3692,7 @@ void render_controller_pak_ui(UNUSED s32 updateRate) { if (osTvType == TV_TYPE_PAL) { yPos = 134; } else { - yPos = 120; + yPos = SCREEN_HEIGHT_HALF; } assign_dialogue_box_id(6); set_dialogue_font(6, ASSET_FONTS_FUNFONT); @@ -3660,7 +3727,7 @@ void render_controller_pak_ui(UNUSED s32 updateRate) { if (D_80126C10 != 0) { set_text_colour(255, 255, 255, 0, 255); set_text_font(ASSET_FONTS_BIGFONT); - draw_text(&sMenuCurrDisplayList, 160, 128, gMenuText[ASSET_MENU_TEXT_PLEASEWAIT], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 128, gMenuText[ASSET_MENU_TEXT_PLEASEWAIT], ALIGN_MIDDLE_CENTER); } } } @@ -3863,9 +3930,9 @@ void render_magic_codes_ui(s32 arg0) { render_dialogue_box(&sMenuCurrDisplayList, 0, 0, 7); set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); //"MAGIC CODES" + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); //"MAGIC CODES" set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); //"MAGIC CODES" + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODES], ALIGN_MIDDLE_CENTER); //"MAGIC CODES" set_text_font(ASSET_FONTS_FUNFONT); set_text_colour(255, 255, 255, 0, 255); @@ -3935,9 +4002,9 @@ void render_magic_codes_ui(s32 arg0) { draw_text(&sMenuCurrDisplayList, POS_CENTRED, 144, gMenuText[ASSET_MENU_TEXT_ALLCODESDELETED], ALIGN_MIDDLE_CENTER); //"All cheats have been deleted" } if (D_801263E0 != 0) { - yPos = 120; + yPos = SCREEN_HEIGHT_HALF; if (osTvType == TV_TYPE_PAL) { - yPos = 134; + yPos = SCREEN_HEIGHT_HALF + 14; } assign_dialogue_box_id(6); set_dialogue_font(6, ASSET_FONTS_FUNFONT); @@ -4013,9 +4080,9 @@ void render_magic_codes_list_menu_text(s32 arg0) { set_text_background_colour(0, 0, 0, 0); set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[ASSET_MENU_TEXT_MAGICCODESLIST], ALIGN_MIDDLE_CENTER); // MAGIC CODES LIST + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_MAGICCODESLIST], ALIGN_MIDDLE_CENTER); // MAGIC CODES LIST set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODESLIST], ALIGN_MIDDLE_CENTER); // MAGIC CODES LIST + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_MAGICCODESLIST], ALIGN_MIDDLE_CENTER); // MAGIC CODES LIST numOfUnlockedCheats = 0; phi_v0 = 1; for (i = 0; i < 32; i++) { @@ -4056,7 +4123,7 @@ void render_magic_codes_list_menu_text(s32 arg0) { return; } if (D_801263BC & 8) { - render_textured_rectangle(&sMenuCurrDisplayList, &D_800E043C, 160, yPos + 8, 255, 255, 255, 255); + render_textured_rectangle(&sMenuCurrDisplayList, &D_800E043C, SCREEN_WIDTH_HALF, yPos + 8, 255, 255, 255, 255); } } #else @@ -4168,7 +4235,7 @@ s32 menu_magic_codes_list_loop(s32 arg0) { func_800C01D8(&sMenuTransitionFadeIn); play_sound_global(SOUND_MENU_BACK3, NULL); } - if (gMenuDelay < -0x1E) { + if (gMenuDelay < -30) { func_8008AD1C(); menu_init(0xA); return 0; @@ -4325,16 +4392,16 @@ void draw_character_select_text(UNUSED s32 arg0) { set_text_background_colour(0, 0, 0, 0); set_text_colour(0, 0, 0, 255, 128); // Draw "Player Select" text drop shadow - draw_text(&sMenuCurrDisplayList, 161, 35, gMenuText[ASSET_MENU_TEXT_PLAYERSELECT], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, gMenuText[ASSET_MENU_TEXT_PLAYERSELECT], ALIGN_MIDDLE_CENTER); set_text_colour(255, 255, 255, 0, 255); // Draw "Player Select" text - draw_text(&sMenuCurrDisplayList, 160, 32, gMenuText[ASSET_MENU_TEXT_PLAYERSELECT], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, gMenuText[ASSET_MENU_TEXT_PLAYERSELECT], ALIGN_MIDDLE_CENTER); if (gNumberOfReadyPlayers == gNumberOfActivePlayers && gNumberOfActivePlayers > 0) { yPos = 208; if (osTvType == TV_TYPE_PAL) { yPos = 234; } - draw_text(&sMenuCurrDisplayList, 160, yPos, D_800E8230 /* "OK?" */, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, yPos, D_800E8230 /* "OK?" */, ALIGN_MIDDLE_CENTER); } func_8007B3D0(&sMenuCurrDisplayList); update_camera_fov(40.0f); @@ -4476,17 +4543,15 @@ void func_8008BFE8(s32 arg0, s8 *arg1, s32 arg2, u16 arg3, u16 arg4) { s32 i; j = 0; - someBool = 1; + someBool = TRUE; while (someBool && j < arg2 && arg1[j] != -1) { - someBool = 0; + someBool = FALSE; // Run this block if the DOUBLEVISION cheat isn't active. if (!(get_filtered_cheats() & CHEAT_SELECT_SAME_PLAYER)) { - i = 0; - while (i < 4 && !someBool) { + for (i = 0; i < MAXCONTROLLERS && !someBool; i++) { if (i != arg0 && gPlayersCharacterArray[i] == arg1[j]) { - someBool = 1; + someBool = TRUE; } - i++; } if (someBool) { j++; @@ -4495,21 +4560,66 @@ void func_8008BFE8(s32 arg0, s8 *arg1, s32 arg2, u16 arg3, u16 arg4) { } if (!someBool) { gPlayersCharacterArray[arg0] = arg1[j]; + // arg3 seems to always be passed SOUND_MENU_PICK3? play_sound_global(arg3, NULL); - return; + } else { + // arg4 seems to always be passed SOUND_HORN_DRUMSTICK? + play_sound_global(arg4, NULL); } - play_sound_global(arg4, NULL); } void func_8008C128(void) { - func_8009C4A8((s16 *)&D_800DFDC8); + func_8009C4A8(D_800DFDC8); set_free_queue_state(0); unload_font(ASSET_FONTS_BIGFONT); set_free_queue_state(2); D_800DFFD0 = 0; } -GLOBAL_ASM("asm/non_matchings/menu/func_8008C168.s") +void func_8008C168(s32 updateRate) { + if (D_801263C0.unk1 > 0) { + D_801263C0.unk1 = D_801263C0.unk1 - updateRate; + if (D_801263C0.unk1 <= 0) { + if (D_801263B8.unk0 >= 0) { + func_80001114(D_800DFDB4[D_801263B8.unk0][0]); + func_80001114(D_800DFDB4[0][D_801263B8.unk0 * 2 + 1]); + } + D_801263B8.unk0 = D_801263B4.unk0; + if (D_801263B4.unk0 >= 0) { + D_801263B8.unk2 = D_801263B4.unk2; + } + D_801263B4.unk0 = D_801263C0.unk0; + if (D_801263B4.unk0 >= 0) { + D_801263B4.unk2 = D_801263C0.unk2; + func_80001170(D_800DFDB4[D_801263B4.unk0][0]); + func_80001170(D_800DFDB4[0][D_801263B4.unk0 * 2 + 1]); + } + } + } + if (D_801263B4.unk0 >= 0) { + D_801263B4.unk2 += updateRate * 4; + if (D_801263B4.unk2 > 127) { + D_801263B4.unk2 = 127; + } + func_80001268(D_800DFDB4[D_801263B4.unk0][0], D_801263B4.unk2); + func_80001268(D_800DFDB4[0][D_801263B4.unk0 * 2 + 1], D_801263B4.unk3); + } + if (D_801263B8.unk0 >= 0) { + D_801263B8.unk2 -= updateRate * 4; + if (D_801263B8.unk0 != D_801263B4.unk0) { + if (D_801263B8.unk2 < 0) { + func_80001114(D_800DFDB4[D_801263B8.unk0][0]); + func_80001114(D_800DFDB4[0][D_801263B8.unk0 * 2 + 1]); + } else { + func_80001268(D_800DFDB4[D_801263B8.unk0][0], D_801263B8.unk2); + func_80001268(D_800DFDB4[0][D_801263B8.unk0 * 2 + 1], D_801263B8.unk3); + } + } + if (D_801263B8.unk2 < 0) { + D_801263B8.unk0 = -1; + } + } +} /** * Initialises the timer and transition for the controller pak warning screen. @@ -4555,8 +4665,6 @@ void unload_big_font_3(void) { unload_font(ASSET_FONTS_BIGFONT); } -#ifdef NON_EQUIVALENT - void menu_game_select_init(void) { s32 i; @@ -4590,22 +4698,16 @@ void menu_game_select_init(void) { D_801263E0 = 1; } - // This loop doesn't match. for (i = 0; i <= D_801263E0; i++) { - u8 temp = i; // How do I make this a `mov`? - (&((unk80126460 *)D_80126460)[temp] + 1)->elem[0].unk14_a.texture = D_80126550[67]; + //Fakematch? What's the (i ^ 0)? + D_80126460[((i ^ 0) * 2) + 2].unk14_a.texture = D_80126550[67]; } } -#else -GLOBAL_ASM("asm/non_matchings/menu/menu_game_select_init.s") -#endif -#ifdef NON_EQUIVALENT -void func_8008C698(s32 arg0) { - s32 fade; +void func_8008C698(UNUSED s32 updateRate) { s32 i; s32 filterAlpha; - u8 temp; + s32 fade; if (gMenuDelay >= -21 && gMenuDelay < 22) { fade = D_801263BC * 8; @@ -4620,9 +4722,8 @@ void func_8008C698(s32 arg0) { if (i == D_800DF460) { filterAlpha = fade; } - // This doesn't match. - temp = i; // How do I make this a `mov`? - (&((unk80126460 *)D_80126460)[temp] + 1)->elem[1].filterAlpha = filterAlpha; + //Fakematch? What's the (i ^ 0)? + D_80126460[((i ^ 0) * 2) + 3].filterAlpha = filterAlpha; } if (osTvType == TV_TYPE_PAL) { @@ -4633,22 +4734,19 @@ void func_8008C698(s32 arg0) { D_800DF7A0 = 0; } - draw_menu_elements(1, (MenuElement *)D_80126460, 1.0f); + draw_menu_elements(1, D_80126460, 1.0f); func_80080BC8(&sMenuCurrDisplayList); } } -#else -GLOBAL_ASM("asm/non_matchings/menu/func_8008C698.s") -#endif -s32 menu_game_select_loop(s32 arg0) { +s32 menu_game_select_loop(s32 updateRate) { s32 playerInputs; s32 playerYDir; s32 charSelectScene; - func_8008C168(arg0); + func_8008C168(updateRate); - D_801263BC = (D_801263BC + arg0) & 0x3F; + D_801263BC = (D_801263BC + updateRate) & 0x3F; if (D_801263D8 != 0) { D_801263D8++; @@ -4659,12 +4757,12 @@ s32 menu_game_select_loop(s32 arg0) { } if (gMenuDelay != 0) { if (gMenuDelay < 0) { - gMenuDelay -= arg0; + gMenuDelay -= updateRate; } else { - gMenuDelay += arg0; + gMenuDelay += updateRate; } } - if (gMenuDelay >= 0x1F) { + if (gMenuDelay > 30) { func_8008CACC(); if (D_800DF460 == D_801263E0) { func_80000B28(); @@ -4680,7 +4778,7 @@ s32 menu_game_select_loop(s32 arg0) { menu_init(MENU_FILE_SELECT); } return 0; - } else if (gMenuDelay < -0x1E) { + } else if (gMenuDelay < -30) { func_8008CACC(); charSelectScene = 0; if (is_drumstick_unlocked()) { @@ -4694,7 +4792,7 @@ s32 menu_game_select_loop(s32 arg0) { menu_init(MENU_CHARACTER_SELECT); return 0; } else { - func_8008C698(arg0); + func_8008C698(updateRate); if ((gMenuDelay == 0) && (D_801263D8 == 0)) { playerInputs = get_buttons_pressed_from_player(PLAYER_ONE); playerYDir = gControllersYAxisDirection[0]; @@ -4754,8 +4852,8 @@ void menu_file_select_init(void) { gMenuDelay = 0; D_801263E0 = 0; D_801263BC = 0; - D_80126484 = 0; - D_80126488 = 0; + D_80126484 = FALSE; + D_80126488 = FALSE; D_80126CC0 = 0; func_800C01D8(&sMenuTransitionFadeOut); load_font(ASSET_FONTS_BIGFONT); @@ -4865,13 +4963,13 @@ void render_file_select_menu(UNUSED s32 updateRate) { set_text_colour(255, 255, 255, 0, 255); for (i = 0; i < 3; i++) { s2 = FALSE; - if (D_80126484 != 0) { + if (D_80126484 != FALSE) { if (D_80126494 == 0 && i == D_8012648C) { s2 = TRUE; } else if (D_80126494 > 0 && i == D_80126490) { s2 = TRUE; } - } else if (D_80126488 != 0 && i == D_8012648C) { + } else if (D_80126488 != FALSE && i == D_8012648C) { s2 = TRUE; } else if (D_801263E0 == 0 && i == gSaveFileIndex) { s2 = TRUE; @@ -4893,29 +4991,29 @@ void render_file_select_menu(UNUSED s32 updateRate) { } set_text_font(ASSET_FONTS_BIGFONT); set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 19, gMenuText[ASSET_MENU_TEXT_GAMESELECT], ALIGN_TOP_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 19, gMenuText[ASSET_MENU_TEXT_GAMESELECT], ALIGN_TOP_CENTER); set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 16, gMenuText[ASSET_MENU_TEXT_GAMESELECT], ALIGN_TOP_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 16, gMenuText[ASSET_MENU_TEXT_GAMESELECT], ALIGN_TOP_CENTER); set_text_colour(255, 255, 255, 0, 255); y += 0xBB; - if (D_80126484 != 0) { + if (D_80126484 != FALSE) { if (D_80126494 == 0) { set_text_font(ASSET_FONTS_FUNFONT); - draw_text(&sMenuCurrDisplayList, 160, y, gMenuText[ASSET_MENU_TEXT_GAMETOCOPY], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[ASSET_MENU_TEXT_GAMETOCOPY], ALIGN_MIDDLE_CENTER); } else if (D_80126494 == 1) { set_text_font(ASSET_FONTS_FUNFONT); - draw_text(&sMenuCurrDisplayList, 160, y, gMenuText[ASSET_MENU_TEXT_GAMETOCOPYTO], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[ASSET_MENU_TEXT_GAMETOCOPYTO], ALIGN_MIDDLE_CENTER); } else { - draw_text(&sMenuCurrDisplayList, 160, y, &D_800E8234, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, &D_800E8234, ALIGN_MIDDLE_CENTER); } return; } - if (D_80126488 != 0) { + if (D_80126488 != FALSE) { if (D_80126494 == 0) { set_text_font(ASSET_FONTS_FUNFONT); - draw_text(&sMenuCurrDisplayList, 160, y, gMenuText[ASSET_MENU_TEXT_GAMETOERASE], ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, gMenuText[ASSET_MENU_TEXT_GAMETOERASE], ALIGN_MIDDLE_CENTER); } else { - draw_text(&sMenuCurrDisplayList, 160, y, &D_800E8238, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, y, &D_800E8238, ALIGN_MIDDLE_CENTER); } return; } @@ -4937,10 +5035,190 @@ void render_file_select_menu(UNUSED s32 updateRate) { GLOBAL_ASM("asm/non_matchings/menu/render_file_select_menu.s") #endif -GLOBAL_ASM("asm/non_matchings/menu/func_8008D5F8.s") -GLOBAL_ASM("asm/non_matchings/menu/func_8008D8BC.s") +s32 func_8008D5F8(UNUSED s32 updateRate) { + u32 buttonsPressed; + s32 xAxisDirection; + s32 yAxisDirection; + s32 temp_a0; + u32 buttonsPressedPlayer2; -void func_8008DC7C(UNUSED s32 arg0) { + buttonsPressed = get_buttons_pressed_from_player(PLAYER_ONE); + xAxisDirection = gControllersXAxisDirection[PLAYER_ONE]; + yAxisDirection = gControllersYAxisDirection[PLAYER_ONE]; + if (gNumberOfActivePlayers == 2) { + buttonsPressedPlayer2 = get_buttons_pressed_from_player(PLAYER_TWO); + buttonsPressed |= buttonsPressedPlayer2; + xAxisDirection += gControllersXAxisDirection[PLAYER_TWO]; + yAxisDirection += gControllersYAxisDirection[PLAYER_TWO]; + } + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + switch (D_801263E0) { + case 0: + if (gSavefileInfo[gSaveFileIndex].isStarted) { + if (gIsInAdventureTwo != gSavefileInfo[gSaveFileIndex].isAdventure2) { + play_sound_global(SOUND_HORN_DRUMSTICK, NULL); + break; + } + } + play_sound_global(SOUND_SELECT2, NULL); + return 1; + case 1: + play_sound_global(SOUND_SELECT2, NULL); + D_8012648C = gSaveFileIndex; + D_80126484 = TRUE; + D_80126494 = 0; + return 0; + case 2: + play_sound_global(SOUND_SELECT2, NULL); + D_8012648C = gSaveFileIndex; + D_80126488 = TRUE; + D_80126494 = 0; + return 0; + } + } else if (buttonsPressed & CONT_B) { + return -1; + } + + temp_a0 = (D_801263E0 << 8) | gSaveFileIndex; + if (D_801263E0 == 0) { + // Left + if ((xAxisDirection < 0) && (gSaveFileIndex > 0)) { + gSaveFileIndex--; + } + // Right + if ((xAxisDirection > 0) && (gSaveFileIndex < 2)) { + gSaveFileIndex++; + } + // Down + if (yAxisDirection < 0) { + if (gSaveFileIndex >= 2) { + D_801263E0 = 2; + } else { + D_801263E0 = 1; + } + } + } else { + // Left + if ((xAxisDirection < 0) && (D_801263E0 == 2)) { + D_801263E0 = 1; + } + // Right + if ((xAxisDirection > 0) && (D_801263E0 == 1)) { + D_801263E0 = 2; + } + // Up + if (yAxisDirection > 0) { + if ((D_801263E0 == 1) && (gSaveFileIndex >= 2)) { + gSaveFileIndex = 0; + } + if ((D_801263E0 == 2) && (gSaveFileIndex <= 0)) { + gSaveFileIndex = 2; + } + D_801263E0 = 0; + } + } + if (temp_a0 != ((D_801263E0 << 8) | gSaveFileIndex)) { + play_sound_global(SOUND_MENU_PICK2, NULL); + } + return 0; +} + +void func_8008D8BC(UNUSED s32 updateRate) { + s32 prevValue; + u32 buttonsPressed; + s32 xAxisDirection; + s32 i; + Settings *settings; + u32 buttonsPressedPlayerTwo; + + settings = get_settings(); + buttonsPressed = get_buttons_pressed_from_player(PLAYER_ONE); + xAxisDirection = gControllersXAxisDirection[PLAYER_ONE]; + if (gNumberOfActivePlayers == 2) { + buttonsPressedPlayerTwo = get_buttons_pressed_from_player(PLAYER_TWO); + buttonsPressed |= buttonsPressedPlayerTwo; + xAxisDirection += gControllersXAxisDirection[PLAYER_TWO]; + } + if (D_80126494 == 0) { + if (buttonsPressed & (B_BUTTON)) { + play_sound_global(SOUND_MENU_BACK3, NULL); + D_80126484 = FALSE; + return; + } + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + if (gSavefileInfo[D_8012648C].isStarted) { + play_sound_global(SOUND_SELECT2, NULL); + func_8006EB78(D_8012648C); + D_80126490 = D_8012648C; + D_80126494 = 1; + return; + } + play_sound_global(SOUND_MENU_BACK3, NULL); + return; + } + prevValue = D_8012648C; + if ((xAxisDirection < 0) && (D_8012648C > 0)) { + D_8012648C--; + } + if ((xAxisDirection > 0) && (D_8012648C < 2)) { + D_8012648C++; + } + if (prevValue != D_8012648C) { + play_sound_global(SOUND_MENU_PICK2, NULL); + } + } else if (D_80126494 == 1) { + if (buttonsPressed & B_BUTTON) { + play_sound_global(SOUND_MENU_BACK3, NULL); + D_8012648C = D_80126490; + D_80126494 = 0; + return; + } + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + if (!gSavefileInfo[D_80126490].isStarted) { + play_sound_global(SOUND_SELECT2, NULL); + D_80126494 = 2; + return; + } + play_sound_global(SOUND_MENU_BACK3, NULL); + return; + } + prevValue = D_80126490; + if ((xAxisDirection < 0) && (D_80126490 > 0)) { + D_80126490--; + } + if ((xAxisDirection > 0) && (D_80126490 < 2)) { + D_80126490++; + } + if (prevValue != D_80126490) { + play_sound_global(SOUND_MENU_PICK2, NULL); + } + } else { + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + play_sound_global(SOUND_SELECT2, NULL); + func_8006EC18(D_80126490); + gSavefileInfo[D_80126490].isAdventure2 = FALSE; + gSavefileInfo[D_80126490].isStarted = TRUE; + gSavefileInfo[D_80126490].balloonCount = *settings->balloonsPtr; + if (settings->cutsceneFlags & CUTSCENE_ADVENTURE_TWO) { + gSavefileInfo[D_80126490].isAdventure2 = TRUE; + } + for (i = 0; gSavefileInfo[D_8012648C].name[i] != '\0'; i++) { + gSavefileInfo[D_80126490].name[i] = gSavefileInfo[D_8012648C].name[i]; + } + gSavefileInfo[D_80126490].name[i] = '\0'; + gSaveFileIndex = D_80126490; + D_801263E0 = 0; + D_80126484 = FALSE; + return; + } + if (buttonsPressed & B_BUTTON) { + play_sound_global(SOUND_MENU_BACK3, NULL); + D_80126494 = 1; + } + } +} + +void func_8008DC7C(UNUSED s32 updateRate) { s32 buttonsPressed; s32 controllerXAxisDirection; s32 temp; @@ -4956,7 +5234,7 @@ void func_8008DC7C(UNUSED s32 arg0) { if (D_80126494 == 0) { if (buttonsPressed & B_BUTTON) { play_sound_global(SOUND_MENU_BACK3, NULL); - D_80126488 = 0; + D_80126488 = FALSE; return; } else if (buttonsPressed & (A_BUTTON | START_BUTTON)) { if (gSavefileInfo[D_8012648C].isStarted != 0) { @@ -5000,7 +5278,7 @@ void func_8008DC7C(UNUSED s32 arg0) { gSavefileInfo[D_8012648C].name[3] = '\0'; gSaveFileIndex = D_8012648C; D_801263E0 = 0; - D_80126488 = 0; + D_80126488 = FALSE; } else if (buttonsPressed & B_BUTTON) { play_sound_global(SOUND_MENU_BACK3, NULL); D_80126494 = 0; @@ -5008,7 +5286,146 @@ void func_8008DC7C(UNUSED s32 arg0) { } } -GLOBAL_ASM("asm/non_matchings/menu/menu_file_select_loop.s") +s32 menu_file_select_loop(s32 updateRate) { + s32 i; + s32 currentMenuDelay; + u32 buttonsPressed; + Settings *settings; + + settings = get_settings(); + func_8008C168(updateRate); + if (D_801263D8) { + D_801263D8++; + + if (D_801263D8 >= 3) { + for (i = 0; i < 3; i++) { + gSavefileInfo[i].isAdventure2 = 0; + if (D_80126530[i]->newGame) { + gSavefileInfo[i].isStarted = 0; + gSavefileInfo[i].balloonCount = 0; + gSavefileInfo[i].name[0] = 'D'; + gSavefileInfo[i].name[1] = 'K'; + gSavefileInfo[i].name[2] = 'R'; + gSavefileInfo[i].name[3] = '\0'; + } else { + if (D_80126530[i]->cutsceneFlags & CUTSCENE_ADVENTURE_TWO) { + gSavefileInfo[i].isAdventure2 = TRUE; + } + gSavefileInfo[i].isStarted = TRUE; + gSavefileInfo[i].balloonCount = *D_80126530[i]->balloonsPtr; + decompress_filename_string(D_80126530[i]->filename, gSavefileInfo[i].name, 3); + } + } + D_801263D8 = 0; + } + } + D_801263BC = (D_801263BC + updateRate) & 0x3f; + if (gMenuDelay != 0) { + if (gMenuDelay > 0) { + gMenuDelay += updateRate; + } else { + gMenuDelay -= updateRate; + } + } + if ((gMenuDelay >= -20) && (gMenuDelay <= 20)) { + render_file_select_menu(updateRate); + } + if ((gMenuDelay == 0) && (D_801263D8 == 0)) { + if (D_80126484 != FALSE) { + func_8008D8BC(updateRate); + } else if (D_80126488 != FALSE) { + func_8008DC7C(updateRate); + } else if (D_80126CC0 != 0) { + buttonsPressed = get_buttons_pressed_from_player(PLAYER_ONE); + if ((buttonsPressed & B_BUTTON) && (D_800E0FA0 == 0)) { + unload_big_font_4(); + D_80126CC0 = 0; + gSavefileInfo[i].name[0] = 'D'; + gSavefileInfo[i].name[1] = 'K'; + gSavefileInfo[i].name[2] = 'R'; + gSavefileInfo[i].name[3] = '\0'; + } else if (menu_enter_filename_loop(updateRate) != 0) { + unload_big_font_4(); + D_80126CC0 = 0; + gSavefileInfo[gSaveFileIndex].isAdventure2 = 0; + if (gIsInAdventureTwo != 0) { + gSavefileInfo[gSaveFileIndex].isAdventure2 = 1; + } + gSavefileInfo[gSaveFileIndex].isStarted = 1; + gSavefileInfo[gSaveFileIndex].balloonCount = 0; + settings->filename = compress_filename_string(gSavefileInfo[gSaveFileIndex].name, 3); + func_8006EB78(gSaveFileIndex); + set_music_fade_timer(-128); + func_800C01D8(&sMenuTransitionFadeIn); + gMenuDelay = 1; + } + } else { + currentMenuDelay = func_8008D5F8(updateRate); + if (currentMenuDelay != 0) { + if (currentMenuDelay > 0) { + if (gSavefileInfo[gSaveFileIndex].isStarted != 0) { + play_sound_global(SOUND_SELECT2, NULL); + func_8006EB78(gSaveFileIndex); + set_music_fade_timer(-0x80); + } else { + D_80126CC0 = 1; + D_800E0FB0 = 0; + i = 0; + if (osTvType == TV_TYPE_PAL) { + i = 12; + } + func_80097874(i + 187, D_800E03CC[gSaveFileIndex].unk0 + D_800E03FC[0], + D_800E03CC[gSaveFileIndex].unk2 + D_800E03FC[1] + i, 0, &D_800E0FB0, gSavefileInfo[gSaveFileIndex].name, 3); + currentMenuDelay = 0; + } + } + if (currentMenuDelay != 0) { + func_800C01D8(&sMenuTransitionFadeIn); + gMenuDelay = currentMenuDelay; + } + } + } + } + if (gMenuDelay > 35) { + if (gActiveMagicCodes & CHEAT_FREE_BALLOON) { + gActiveMagicCodes &= ~CHEAT_FREE_BALLOON; + gUnlockedMagicCodes &= ~CHEAT_FREE_BALLOON; + (*settings->balloonsPtr)++; + } + gIsInTwoPlayerAdventure = (gNumberOfActivePlayers == 2); + if (gIsInTwoPlayerAdventure) { + func_8000E1B8(); + } + gNumberOfActivePlayers = 1; + D_800E0FAC = 1; + func_8008E428(); + func_80000B28(); + func_8006E5BC(); + gTrophyRaceWorldId = 0; + if (settings->newGame) { + if (gIsInAdventureTwo) { + settings->cutsceneFlags |= CUTSCENE_ADVENTURE_TWO; + } + func_8009ABD8((s8 *)get_misc_asset(MISC_ASSET_UNK19), 0, gNumberOfActivePlayers, 0, 0, 0); + menu_init(MENU_UNKNOWN_23); + return 0; + } + if (settings->cutsceneFlags & CUTSCENE_ADVENTURE_TWO) { + gIsInAdventureTwo = TRUE; + } else { + gIsInAdventureTwo = FALSE; + } + return gNumberOfActivePlayers; + } + if (gMenuDelay < -35) { + func_8008E428(); + menu_init(MENU_GAME_SELECT); + return 0; + } + else { + return 0; + } +} void func_8008E428(void) { func_8009C4A8(D_800E0398); @@ -5444,7 +5861,7 @@ void render_track_select_setup_ui(s32 updateRate) { if (D_801269C8 >= 4) { sp80 += 0x18; } - draw_text(&sMenuCurrDisplayList, 160, 172, D_800E823C, ALIGN_MIDDLE_CENTER); // D_800E823C = "OK?" + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 172, D_800E823C, ALIGN_MIDDLE_CENTER); // D_800E823C = "OK?" } } sMenuGuiOpacity = 0xFF; @@ -5529,7 +5946,7 @@ void menu_5_init(void) { func_800C01D8(&sMenuTransitionFadeOut); D_801263BC = 0; gMenuDelay = 0; - D_800E0980 = 0x1E; + D_800E0980 = 30; load_font(ASSET_FONTS_BIGFONT); load_level_for_menu(s0, -1, 1); } @@ -5724,14 +6141,14 @@ void func_80093D40(UNUSED s32 updateRate) { s32 xPos; s32 alpha; - for (i = 0, xPos = 160; i < D_800E0984; i++) { + for (i = 0, xPos = SCREEN_WIDTH_HALF; i < D_800E0984; i++) { x = func_800C4DA0(D_80126A40[i], 0, 0) + 8; if (xPos < x) { xPos = x; } } - baseYPos = (osTvType == TV_TYPE_PAL) ? 132 : 120; + baseYPos = (osTvType == TV_TYPE_PAL) ? SCREEN_HEIGHT_HALF_PAL : SCREEN_HEIGHT_HALF; yOffset = ((D_800E0984 * 16) + 28); @@ -5741,7 +6158,7 @@ void func_80093D40(UNUSED s32 updateRate) { yOffset >>= 1; xPos >>= 1; - set_current_dialogue_box_coords(7, 160 - xPos, baseYPos - yOffset, xPos + 160, yOffset + baseYPos); + set_current_dialogue_box_coords(7, SCREEN_WIDTH_HALF - xPos, baseYPos - yOffset, xPos + SCREEN_WIDTH_HALF, yOffset + baseYPos); colours = &D_800E0990[get_player_id(D_800E098C)]; set_current_dialogue_background_colour(7, colours->r, colours->g, colours->b, colours->a); set_dialogue_font(7, 0); @@ -6148,7 +6565,7 @@ void trim_filename_string(char *input, char *output) { GLOBAL_ASM("asm/non_matchings/menu/trim_filename_string.s") #endif -void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, s32 arg6) { +void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, char *arg5, s32 arg6) { D_800E0F90 = arg0; D_800E0F94 = arg1; D_800E0F98 = arg2; @@ -6158,15 +6575,228 @@ void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, D_80126C78 = arg6; D_800E0FA0 = 0; D_80126C50 = (f32)*D_80126C6C; - gCheatInputString = NULL; + D_80126C48 = FALSE; D_80126C3C = 0; D_80126C34 = 0; load_font(ASSET_FONTS_BIGFONT); } -GLOBAL_ASM("asm/non_matchings/menu/func_80097918.s") -GLOBAL_ASM("asm/non_matchings/menu/func_80097D10.s") +#ifdef NON_EQUIVALENT +// Minor differences, and is very close. +// Draw menu for "Enter your initials" when starting a new game. +// The text entry is a horizontal list of characters you scroll through. +// Visual Aid: https://imgur.com/llVwdTy +void render_enter_filename_ui(UNUSED s32 unused) { + s32 sp6C; + s32 i; + s32 pad; + s32 temp_f4; + s32 yPos; + s32 charIndex; + char *fileName; + s32 xPos; + s32 xPosOffset; + s32 charIndexOffset; + temp_f4 = D_80126C50; + sp6C = SCREEN_WIDTH_HALF - (s32) ((D_80126C50 - temp_f4) * 40); + set_text_background_colour(0, 0, 0, 0); + set_text_font(ASSET_FONTS_FUNFONT); + set_text_colour(0, 0, 0, 255, 128); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 2, D_800E0F90 - 22, gMenuText[ASSET_MENU_TEXT_ENTERINITIALS], ALIGN_MIDDLE_CENTER); + set_text_colour(255, 128, 255, 96, 255); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, D_800E0F90 - 24, gMenuText[ASSET_MENU_TEXT_ENTERINITIALS], ALIGN_MIDDLE_CENTER); + yPos = D_800E0F90; + for (i = 0; i < 2; i++) { + xPos = sp6C; + charIndex = temp_f4; + if (i != 0) { + xPos -= 40; + charIndex--; + xPosOffset = -40; + charIndexOffset = -1; + } else { + xPosOffset = 40; + charIndexOffset = 1; + } + while ((xPos >= -15) && (xPos < 336)) { + if (charIndex < 0) { + charIndex = 30; + } + if (charIndex > 30) { + charIndex = 0; + } + if (charIndex == *D_80126C6C) { + set_text_colour(255, 255, 255, 0, 255); + } else { + set_text_colour(0, 0, 0, 128, 255); + } + if (charIndex < 28) { + set_text_font(ASSET_FONTS_BIGFONT); + D_800E0F8C = gFileNameValidChars[charIndex]; + draw_text(&sMenuCurrDisplayList, xPos, yPos, &D_800E0F8C, ALIGN_MIDDLE_CENTER); + } else { + set_text_font(ASSET_FONTS_FUNFONT); + if (charIndex == 28) { + draw_text(&sMenuCurrDisplayList, xPos, yPos, &D_800E8244 /* "SP" */, ALIGN_MIDDLE_CENTER); + } else if (charIndex == 29) { + draw_text(&sMenuCurrDisplayList, xPos, yPos, &D_800E8248 /* "DEL" */, ALIGN_MIDDLE_CENTER); + } else { + draw_text(&sMenuCurrDisplayList, xPos, yPos, &D_800E824C /* "OK" */, ALIGN_MIDDLE_CENTER); + } + } + xPos += xPosOffset; + charIndex += charIndexOffset; + } + } + trim_filename_string(D_80126C74, fileName); + if (fileName != NULL) { + set_text_font(D_800E0F9C); + set_text_colour(0, 0, 0, 255, 128); + draw_text(&sMenuCurrDisplayList, D_800E0F94 + 1, D_800E0F98 + 3, fileName, ALIGN_MIDDLE_CENTER); + set_text_colour(255, 255, 255, 0, 255); + draw_text(&sMenuCurrDisplayList, D_800E0F94, D_800E0F98, fileName, ALIGN_MIDDLE_CENTER); + } +} +#else +GLOBAL_ASM("asm/non_matchings/menu/render_enter_filename_ui.s") +#endif + +s32 menu_enter_filename_loop(s32 updateRate) { + s32 var_v0_2; + f32 temp_f20; + u32 buttonsPressed; + f32 var_f12; + f32 var_f14; + f32 var_f18; + s32 *temp_a1; + s32 var_v1; + s32 joytickXAxis; + + buttonsPressed = get_buttons_pressed_from_player(PLAYER_ONE); + joytickXAxis = clamp_joystick_x_axis(PLAYER_ONE); + if ((joytickXAxis > -35) && (joytickXAxis < 35)) { + joytickXAxis = 0; + } + if (joytickXAxis < 0) { + if (D_80126C3C >= 0) { + D_80126C34 = 0; + D_80126C3C = -1; + } + D_80126C34 += updateRate; + if (updateRate != D_80126C34) { + if (D_80126C34 < 28) { + joytickXAxis = 0; + } else { + D_80126C34 -= 6; + } + } + } else if (joytickXAxis > 0) { + if (D_80126C3C <= 0) { + D_80126C34 = 0; + D_80126C3C = 1; + } + D_80126C34 += updateRate; + if (updateRate != D_80126C34) { + if (D_80126C34 < 28) { + joytickXAxis = 0; + } else { + D_80126C34 -= 6; + } + } + } else { + D_80126C34 = 0; + D_80126C3C = 0; + } + temp_a1 = D_80126C6C; + temp_f20 = (f32) *temp_a1; + for (var_v1 = 0; var_v1 < updateRate; var_v1++) { + if (D_80126C50 <= temp_f20) { + var_f12 = temp_f20 - D_80126C50; + var_f14 = temp_f20 - (D_80126C50 + 31.0f); + } else { + var_f12 = (temp_f20 + 31.0f) - D_80126C50; + var_f14 = temp_f20 - D_80126C50; + } + if ((var_f12 * var_f12) < (var_f14 * var_f14)) { + var_f18 = var_f12; + } else { + var_f18 = var_f14; + } + D_80126C50 += var_f18 * 0.1f; + if (D_80126C50 >= 31.0f) { + do { + D_80126C50 -= 31.0f; + } while (D_80126C50 >= 31.0f); + } + if (D_80126C50 < 0.0f) { + do { + D_80126C50 += 31.0f; + } while (D_80126C50 < 0.0f); + } + } + if (D_800E0FA0 < D_80126C78) { + if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + if (*temp_a1 < 29) { + D_80126C74[D_800E0FA0] = gFileNameValidChars[*temp_a1]; + D_800E0FA0++; + D_80126C74[D_800E0FA0] = 0; + play_sound_global(SOUND_SELECT2, NULL); + if (D_800E0FA0 >= D_80126C78) { + *D_80126C6C = 30; + } + } else if (*temp_a1 == 29) { + if (D_800E0FA0 > 0) { + D_800E0FA0--; + D_80126C74[D_800E0FA0] = 0; + } + play_sound_global(SOUND_MENU_BACK3, NULL); + } else { + if ((D_800E0FA0 != 0) || (D_80126C74[0] == 0)) { + for (var_v1 = D_800E0FA0; var_v1 < D_80126C78; var_v1++) { + D_80126C74[var_v1] = 32; + } + } + D_80126C74[D_80126C78] = '\0'; + play_sound_global(SOUND_SELECT2, NULL); + D_80126C48 = TRUE; + } + } else if (buttonsPressed & B_BUTTON) { + if (D_800E0FA0 > 0) { + D_800E0FA0--; + } + D_80126C74[D_800E0FA0] = 0; + play_sound_global(SOUND_MENU_BACK3, NULL); + } else { + var_v0_2 = *temp_a1; + if (joytickXAxis < 0) { + var_v0_2--; + } + if (joytickXAxis > 0) { + var_v0_2++; + } + if (var_v0_2 < 0) { + var_v0_2 = 30; + } + if (var_v0_2 >= 31) { + var_v0_2 = 0; + } + if (var_v0_2 != *temp_a1) { + play_sound_global(SOUND_MENU_PICK2, NULL); + *D_80126C6C = var_v0_2; + } + } + } else if (buttonsPressed & (A_BUTTON | START_BUTTON)) { + play_sound_global(SOUND_SELECT2, NULL); + D_80126C48 = TRUE; + } else if (buttonsPressed & B_BUTTON) { + D_800E0FA0--; + D_80126C74[D_800E0FA0] = 0; + play_sound_global(SOUND_MENU_BACK3, NULL); + } + render_enter_filename_ui(updateRate); + return D_80126C48; +} /** * Explicitly says to unload the ASSET_FONTS_BIGFONT type. @@ -6249,13 +6879,13 @@ void draw_trophy_race_text(UNUSED s32 updateRate) { set_text_font(ASSET_FONTS_BIGFONT); //Text Shadows first set_text_colour(0, 0, 0, 255, 128); - draw_text(&sMenuCurrDisplayList, 161, 35, (char *)worldName, ALIGN_MIDDLE_CENTER); - draw_text(&sMenuCurrDisplayList, 161, 67, gMenuText[ASSET_MENU_TEXT_TROPHYRACE], ALIGN_MIDDLE_CENTER); // TROPHY RACE + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 35, (char *)worldName, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF + 1, 67, gMenuText[ASSET_MENU_TEXT_TROPHYRACE], ALIGN_MIDDLE_CENTER); // TROPHY RACE set_text_colour(255, 255, 255, 0, 255); - draw_text(&sMenuCurrDisplayList, 160, 32, (char *)worldName, ALIGN_MIDDLE_CENTER); - draw_text(&sMenuCurrDisplayList, 160, 64, gMenuText[ASSET_MENU_TEXT_TROPHYRACE], ALIGN_MIDDLE_CENTER); // TROPHY RACE - draw_text(&sMenuCurrDisplayList, 160, yPos + 176, gMenuText[138 + gTrophyRaceRound], ALIGN_MIDDLE_CENTER); // ROUND ONE / ROUND TWO / ROUND THREE / ROUND FOUR - draw_text(&sMenuCurrDisplayList, 160, yPos + 208, (char *)levelName, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 32, (char *)worldName, ALIGN_MIDDLE_CENTER); + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, 64, gMenuText[ASSET_MENU_TEXT_TROPHYRACE], ALIGN_MIDDLE_CENTER); // TROPHY RACE + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, yPos + 176, gMenuText[138 + gTrophyRaceRound], ALIGN_MIDDLE_CENTER); // ROUND ONE / ROUND TWO / ROUND THREE / ROUND FOUR + draw_text(&sMenuCurrDisplayList, SCREEN_WIDTH_HALF, yPos + 208, (char *)levelName, ALIGN_MIDDLE_CENTER); } s32 menu_trophy_race_round_loop(s32 updateRate) { @@ -6416,7 +7046,7 @@ void menu_ghost_data_init(void) { func_800C01D8(&sMenuTransitionFadeOut); return; } - gMenuDelay = 0x1E; + gMenuDelay = 30; } #else GLOBAL_ASM("asm/non_matchings/menu/menu_ghost_data_init.s") @@ -6526,7 +7156,7 @@ s32 menu_ghost_data_loop(s32 updateRate) { } gIgnorePlayerInput = FALSE; - if (gMenuDelay >= 0x1F) { + if (gMenuDelay > 30) { func_8009ABAC(); menu_init(MENU_SAVE_OPTIONS); } @@ -7399,9 +8029,9 @@ s32 tt_menu_loop(void) { settings = get_settings(); if (is_in_two_player_adventure()) { - settings->cutsceneFlags |= 2; + settings->cutsceneFlags |= CUTSCENE_TT_HELP; } - if (!(settings->cutsceneFlags & 2)) { + if (!(settings->cutsceneFlags & CUTSCENE_TT_HELP)) { sCurrentMenuID = TT_MENU_INTRODUCTION; } if ((sCurrentMenuID != TT_MENU_GAME_STATUS) && (sCurrentMenuID != TT_MENU_INTRODUCTION)) { @@ -7520,7 +8150,7 @@ s32 tt_menu_loop(void) { i++; } if (buttonsPressed & (A_BUTTON | B_BUTTON)) { - settings->cutsceneFlags |= 2; + settings->cutsceneFlags |= CUTSCENE_TT_HELP; sCurrentMenuID = TT_MENU_ROOT; } break; @@ -7616,7 +8246,7 @@ s32 trophy_race_cabinet_menu_loop(void) { s32 currentOption; s32 buttonsPressed; - set_current_dialogue_box_coords(1, 24, 16, 184, 120); + set_current_dialogue_box_coords(1, 24, 16, 184, SCREEN_HEIGHT_HALF); set_dialogue_font(1, ASSET_FONTS_FUNFONT); currentOption = 0; buttonsPressed = get_buttons_pressed_from_player(PLAYER_ONE); diff --git a/src/menu.h b/src/menu.h index 38d371aa..104fdc4e 100644 --- a/src/menu.h +++ b/src/menu.h @@ -128,7 +128,13 @@ typedef struct unk80126460 { typedef struct unk801263C0 { s8 unk0; s8 unk1; - s16 unk2; + union { + struct { + s8 unk2a; + s8 unk3; + }; + s16 unk2; + }; } unk801263C0; /* Size: 0x30 bytes */ @@ -284,7 +290,7 @@ extern s32 sMenuGuiOpacity; extern s32 D_800DF768; extern s32 D_800DF794; -extern s32 D_800DF798; +extern MenuElement *D_800DF798; extern s32 D_800DF79C; extern s32 D_800DF7A0; @@ -512,7 +518,7 @@ extern MenuElement D_800E0E4C[9]; // Valid characters for name input. Must be u8, not char. extern u8 gFileNameValidChars[32]; -extern s32 D_800E0F8C; +extern char D_800E0F8C; extern s32 D_800E0F90; extern s32 D_800E0F94; extern s32 D_800E0F98; @@ -662,6 +668,10 @@ extern s32 D_80126A08; extern unk800861C8 *D_80126A0C; //Allocated 2560 bytes in menu_save_options_init. Possibly an array of 2 large structs. extern f32 D_80126BDC; extern f32 D_80126BEC; +extern SavefileInfo gSavefileInfo[4]; + +extern s8 gControllersXAxisDirection[4]; +extern s8 gControllersYAxisDirection[4]; s32 get_random_number_from_range(s32, s32); // No file to pull from yet. @@ -671,7 +681,7 @@ void func_800813C0(void); void menu_init(u32 menuId); s32 menu_loop(Gfx **currDisplayList, Mtx **currHudMat, VertexList **currHudVerts, TriangleList **currHudTris, s32 updateRate); void show_timestamp(s32 frameCount, s32 xPos, s32 yPos, u8 red, u8 green, u8 blue, u8 fontID); -void func_80081E54(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); +void func_80081E54(MenuElement *arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); void func_800828B8(void); void print_missing_controller_text(Gfx **dl, s32 updateRate); void menu_logos_screen_init(void); @@ -727,7 +737,7 @@ void menu_11_init(void); void func_800976CC(void); void decompress_filename_string(u32 compressedFilename, char *output, s32 length); s32 compress_filename_string(char *filename, s32 length); -void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, s32 arg5, s32 arg6); +void func_80097874(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 *arg4, char *arg5, s32 arg6); void unload_big_font_4(void); void func_80098208(void); void draw_trophy_race_text(UNUSED s32 updateRate); @@ -796,12 +806,12 @@ s32 is_tt_unlocked(void); s32 is_drumstick_unlocked(void); s32 menu_character_select_loop(s32 updateRate); s32 menu_caution_loop(s32 updateRate); -void func_8008DC7C(UNUSED s32 arg0); +void func_8008DC7C(UNUSED s32 updateRate); s32 menu_5_loop(s32 updateRate); void func_80095624(s32 status); s32 menu_boot_loop(s32 arg0); void menu_magic_codes_init(void); -s32 menu_game_select_loop(s32 arg0); +s32 menu_game_select_loop(s32 updateRate); s32 menu_ghost_data_loop(s32 updateRate); s32 menu_trophy_race_round_loop(s32 updateRate); void render_controller_pak_ui(UNUSED s32 updateRate); @@ -810,6 +820,11 @@ void func_80093A40(void); s32 func_80094170(UNUSED Gfx **dl, s32 updateRate); s32 menu_track_select_loop(s32 updateRate); s32 func_800867D4(void); +s32 menu_enter_filename_loop(s32 updateRate); +s32 menu_file_select_loop(s32 updateRate); +s32 func_8008D5F8(s32 updateRate); +void func_8008C168(s32 updateRate); +void func_8008C698(s32 updateRate); void func_80083098(f32); // Non Matching functions below here @@ -823,7 +838,6 @@ s32 menu_magic_codes_list_loop(s32 arg0); void calculate_and_display_rom_checksum(void); void randomise_ai_racer_slots(s32 arg0); void menu_game_select_init(void); -void func_8008C698(s32 arg0); void render_file_select_menu(s32 arg0); void func_8008FF1C(s32 updateRate); void func_800904E8(s32 updateRate); @@ -839,11 +853,9 @@ s32 tt_menu_loop(void); void menu_track_select_init(void); void menu_trophy_race_rankings_init(void); void func_8009E3D0(void); -void func_8008C168(s32); s32 menu_title_screen_loop(s32 updateRate); s32 menu_save_options_loop(s32 updateRate); s32 menu_magic_codes_loop(s32 updateRate); -s32 menu_file_select_loop(s32 updateRate); s32 menu_results_loop(s32 updateRate); s32 menu_trophy_race_rankings_loop(s32 updateRate); s32 menu_23_loop(s32 updateRate); @@ -863,5 +875,7 @@ s32 func_800998E0(s32 arg0); void func_80081218(void); void func_80080580(Gfx **arg0, s16 arg1, s16 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, void *arg8); void func_800853D0(unk800861C8 *arg0, s32 arg1, s32 arg2); +void render_enter_filename_ui(UNUSED s32 unused); +void func_8008D8BC(s32 updateRate); #endif diff --git a/src/object_functions.c b/src/object_functions.c index e302a158..5635d37e 100644 --- a/src/object_functions.c +++ b/src/object_functions.c @@ -1434,7 +1434,7 @@ void obj_init_teleport(Object *obj, UNUSED LevelObjectEntry_Teleport *entry) { obj->unk4C->unk11 = 0; obj->unk4C->unk10 = 0xF; obj->unk4C->unk12 = 0; - if (get_settings()->cutsceneFlags & 1) { + if (get_settings()->cutsceneFlags & CUTSCENE_LIGHTHOUSE_ROCKET) { obj->unk78 = 1; } } diff --git a/src/objects.c b/src/objects.c index 6bdeb6a7..61e84ed6 100644 --- a/src/objects.c +++ b/src/objects.c @@ -1024,47 +1024,42 @@ GLOBAL_ASM("asm/non_matchings/objects/func_80011960.s") #endif #ifdef NON_EQUIVALENT -f32 D_800E5550 = 0.01f; +//f32 D_800E5550 = 0.01f; void func_80011AD0(Object *this) { f32 tmp_f0; - u32 offset; + s32 offset; switch (this->behaviorId) { case 47: //L80011B10 - if (this->unk7C.word < 0) - break; - func_80011960(this, this->unk64->obj80011AD0.unk20, 4, this->unk64, - 2, this->unk64->obj80011AD0.unk24, 11, 0, 1.0f); + if (this->unk7C.word >= 0) { + func_80011960(this, this->unk64->obj80011AD0.unk20, 4, this->unk64, + 2, this->unk64->obj80011AD0.unk24, 11, 0, 1.0f); + } break; case 61: //L80011B58 offset = (this->unk64->obj80011AD0.unkFC * 6); offset *= 5; - offset = offset * 2 + 0x80; + offset *= 2; + offset += 128; func_80011960(this, offset, 6, this->unk64, 8, this->unk64->obj80011AD0.unkF8, 10, 0, 1.0f); break; case 3: //L80011BB4 - tmp_f0 = (f32)this->segment.unk3C_a.unk3C->unkD; - if (this->segment.unk3C_a.unk3C->unkD < 0) { - tmp_f0 += 4294967296.0f; - } + tmp_f0 = this->segment.unk3C_a.unk3C->unkD; offset = (this->unk64->obj80011AD0.unkFC * 6); offset *= 5; - offset = offset * 2 + 0x80; - func_80011960(this, offset, 6, this->unk64, 8, this->unk64->obj80011AD0.unkF8, 26, 0, tmp_f0 * D_800E5550); + offset *= 2; + offset += 128; + func_80011960(this, offset, 6, this->unk64, 8, this->unk64->obj80011AD0.unkF8, 26, 0, tmp_f0 * 0.01f); break; case 89: //L80011C38 - if (this->unk78 == 0) - break; - if (this->unk64->obj80011AD0.unk70 > 0 || 0.0f < this->unk64->obj80011AD0.unk74) { + if ((this->unk78 != 0) && (this->unk64->obj80011AD0.unk70 > 0 || this->unk64->obj80011AD0.unk74 > 0.0f)) { func_800135B8(this); } break; - default: - break; } //L80011C88 } #else