diff --git a/asm/non_matchings/code_80091750/func_8009CE64.s b/asm/non_matchings/code_80091750/func_8009CE64.s deleted file mode 100644 index 5d9a74b1e..000000000 --- a/asm/non_matchings/code_80091750/func_8009CE64.s +++ /dev/null @@ -1,674 +0,0 @@ -.section .late_rodata - -glabel jpt_800F109C -.word L8009D06C, L8009D07C, L8009D08C, L8009D09C -.word L8009D0AC, L8009D0AC, L8009D0AC, L8009D0AC -.word L8009D0AC, L8009D0AC, L8009D07C, L8009D08C -.word L8009D09C, L8009D0AC, L8009D0AC, L8009D0AC -.word L8009D0AC, L8009D0AC, L8009D0AC, L8009D0AC -.word L8009D09C, L8009D0AC, L8009D0AC, L8009D0AC -.word L8009D0AC, L8009D0AC, L8009D0AC, L8009D0AC -.word L8009D0AC, L8009D0AC, L8009D07C, L8009D08C -.word L8009D09C - -glabel jpt_800F1120 -.word L8009D0FC, L8009D11C, L8009D138, L8009D154 -.word L8009D170 - -glabel jpt_800F1134 -.word L8009D1DC, L8009D214, L8009D22C, L8009D4D8 -.word L8009D50C - -glabel jpt_800F1148 -.word L8009D280, L8009D2C8, L8009D318, L8009D364 -.word L8009D3C4, L8009D414 - -.section .text - -glabel func_8009CE64 -/* 09DA64 8009CE64 3C02800E */ lui $v0, %hi(gGamestate) # $v0, 0x800e -/* 09DA68 8009CE68 8C42C50C */ lw $v0, %lo(gGamestate)($v0) -/* 09DA6C 8009CE6C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 09DA70 8009CE70 24080005 */ li $t0, 5 -/* 09DA74 8009CE74 AFBF0014 */ sw $ra, 0x14($sp) -/* 09DA78 8009CE78 15020026 */ bne $t0, $v0, .L8009CF14 -/* 09DA7C 8009CE7C 00002825 */ move $a1, $zero -/* 09DA80 8009CE80 3C03800E */ lui $v1, %hi(gCCSelection) # $v1, 0x800e -/* 09DA84 8009CE84 8C63C548 */ lw $v1, %lo(gCCSelection)($v1) -/* 09DA88 8009CE88 24060002 */ li $a2, 2 -/* 09DA8C 8009CE8C 24070003 */ li $a3, 3 -/* 09DA90 8009CE90 10660006 */ beq $v1, $a2, .L8009CEAC -/* 09DA94 8009CE94 3C0E8028 */ lui $t6, %hi(D_802874D8+0x1D) # $t6, 0x8028 -/* 09DA98 8009CE98 24070003 */ li $a3, 3 -/* 09DA9C 8009CE9C 10670003 */ beq $v1, $a3, .L8009CEAC -/* 09DAA0 8009CEA0 00000000 */ nop -/* 09DAA4 8009CEA4 1000000B */ b .L8009CED4 -/* 09DAA8 8009CEA8 00000000 */ nop -.L8009CEAC: -/* 09DAAC 8009CEAC 81CE74F5 */ lb $t6, %lo(D_802874D8+0x1D)($t6) -/* 09DAB0 8009CEB0 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 09DAB4 8009CEB4 2442EE09 */ addiu $v0, %lo(gCupSelection) # addiu $v0, $v0, -0x11f7 -/* 09DAB8 8009CEB8 29C10003 */ slti $at, $t6, 3 -/* 09DABC 8009CEBC 10200005 */ beqz $at, .L8009CED4 -/* 09DAC0 8009CEC0 00000000 */ nop -/* 09DAC4 8009CEC4 804F0000 */ lb $t7, ($v0) -/* 09DAC8 8009CEC8 14EF0002 */ bne $a3, $t7, .L8009CED4 -/* 09DACC 8009CECC 00000000 */ nop -/* 09DAD0 8009CED0 24050001 */ li $a1, 1 -.L8009CED4: -/* 09DAD4 8009CED4 10A00008 */ beqz $a1, .L8009CEF8 -/* 09DAD8 8009CED8 3C04800F */ lui $a0, %hi(gMenuSelection) # $a0, 0x800f -/* 09DADC 8009CEDC 24180009 */ li $t8, 9 -/* 09DAE0 8009CEE0 3C018028 */ lui $at, %hi(gGotoMenu) # $at, 0x8028 -/* 09DAE4 8009CEE4 AC387550 */ sw $t8, %lo(gGotoMenu)($at) -/* 09DAE8 8009CEE8 3C01800E */ lui $at, %hi(gCreditsCourseId) # $at, 0x800e -/* 09DAEC 8009CEEC 24190008 */ li $t9, 8 -/* 09DAF0 8009CEF0 1000021E */ b .L8009D76C -/* 09DAF4 8009CEF4 A439C644 */ sh $t9, %lo(gCreditsCourseId)($at) -.L8009CEF8: -/* 09DAF8 8009CEF8 24050001 */ li $a1, 1 -/* 09DAFC 8009CEFC 3C018028 */ lui $at, %hi(gGotoMenu) # $at, 0x8028 -/* 09DB00 8009CF00 248486A0 */ addiu $a0, %lo(gMenuSelection) # addiu $a0, $a0, -0x7960 -/* 09DB04 8009CF04 AC257550 */ sw $a1, %lo(gGotoMenu)($at) -/* 09DB08 8009CF08 240E000B */ li $t6, 11 -/* 09DB0C 8009CF0C 10000217 */ b .L8009D76C -/* 09DB10 8009CF10 AC8E0000 */ sw $t6, ($a0) -.L8009CF14: -/* 09DB14 8009CF14 24090004 */ li $t1, 4 -/* 09DB18 8009CF18 152200A0 */ bne $t1, $v0, .L8009D19C -/* 09DB1C 8009CF1C 3C018019 */ lui $at, %hi(D_8018E7AC) -/* 09DB20 8009CF20 3C0F8019 */ lui $t7, %hi(D_8018E7AC) # $t7, 0x8019 -/* 09DB24 8009CF24 25EFE7AC */ addiu $t7, %lo(D_8018E7AC) # addiu $t7, $t7, -0x1854 -/* 09DB28 8009CF28 008F1021 */ addu $v0, $a0, $t7 -/* 09DB2C 8009CF2C 80580000 */ lb $t8, ($v0) -/* 09DB30 8009CF30 24060002 */ li $a2, 2 -/* 09DB34 8009CF34 3C198019 */ lui $t9, %hi(D_8018E7B0) # $t9, 0x8019 -/* 09DB38 8009CF38 14D8020C */ bne $a2, $t8, .L8009D76C -/* 09DB3C 8009CF3C 2739E7B0 */ addiu $t9, %lo(D_8018E7B0) # addiu $t9, $t9, -0x1850 -/* 09DB40 8009CF40 10590003 */ beq $v0, $t9, .L8009CF50 -/* 09DB44 8009CF44 240400B0 */ li $a0, 176 -/* 09DB48 8009CF48 10000208 */ b .L8009D76C -/* 09DB4C 8009CF4C A0480000 */ sb $t0, ($v0) -.L8009CF50: -/* 09DB50 8009CF50 AFA20018 */ sw $v0, 0x18($sp) -/* 09DB54 8009CF54 0C02ABCC */ jal find_8018D9E0_entry -/* 09DB58 8009CF58 AFA50028 */ sw $a1, 0x28($sp) -/* 09DB5C 8009CF5C 1040001D */ beqz $v0, .L8009CFD4 -/* 09DB60 8009CF60 8FA50028 */ lw $a1, 0x28($sp) -/* 09DB64 8009CF64 8C430004 */ lw $v1, 4($v0) -/* 09DB68 8009CF68 2401000A */ li $at, 10 -/* 09DB6C 8009CF6C 10610009 */ beq $v1, $at, .L8009CF94 -/* 09DB70 8009CF70 2401000B */ li $at, 11 -/* 09DB74 8009CF74 1061000B */ beq $v1, $at, .L8009CFA4 -/* 09DB78 8009CF78 2401000C */ li $at, 12 -/* 09DB7C 8009CF7C 1061000D */ beq $v1, $at, .L8009CFB4 -/* 09DB80 8009CF80 2401000D */ li $at, 13 -/* 09DB84 8009CF84 1061000F */ beq $v1, $at, .L8009CFC4 -/* 09DB88 8009CF88 00000000 */ nop -/* 09DB8C 8009CF8C 1000000D */ b .L8009CFC4 -/* 09DB90 8009CF90 00000000 */ nop -.L8009CF94: -/* 09DB94 8009CF94 0C0A40EC */ jal func_802903B0 -/* 09DB98 8009CF98 00000000 */ nop -/* 09DB9C 8009CF9C 100001F4 */ b .L8009D770 -/* 09DBA0 8009CFA0 8FBF0014 */ lw $ra, 0x14($sp) -.L8009CFA4: -/* 09DBA4 8009CFA4 0C0A40E2 */ jal func_80290388 -/* 09DBA8 8009CFA8 00000000 */ nop -/* 09DBAC 8009CFAC 100001F0 */ b .L8009D770 -/* 09DBB0 8009CFB0 8FBF0014 */ lw $ra, 0x14($sp) -.L8009CFB4: -/* 09DBB4 8009CFB4 0C0A40D8 */ jal func_80290360 -/* 09DBB8 8009CFB8 00000000 */ nop -/* 09DBBC 8009CFBC 100001EC */ b .L8009D770 -/* 09DBC0 8009CFC0 8FBF0014 */ lw $ra, 0x14($sp) -.L8009CFC4: -/* 09DBC4 8009CFC4 0C0A40CE */ jal func_80290338 -/* 09DBC8 8009CFC8 00000000 */ nop -/* 09DBCC 8009CFCC 100001E8 */ b .L8009D770 -/* 09DBD0 8009CFD0 8FBF0014 */ lw $ra, 0x14($sp) -.L8009CFD4: -/* 09DBD4 8009CFD4 240400AC */ li $a0, 172 -/* 09DBD8 8009CFD8 0C02ABCC */ jal find_8018D9E0_entry -/* 09DBDC 8009CFDC AFA50028 */ sw $a1, 0x28($sp) -/* 09DBE0 8009CFE0 10400013 */ beqz $v0, .L8009D030 -/* 09DBE4 8009CFE4 8FA50028 */ lw $a1, 0x28($sp) -/* 09DBE8 8009CFE8 8C430004 */ lw $v1, 4($v0) -/* 09DBEC 8009CFEC 2401000B */ li $at, 11 -/* 09DBF0 8009CFF0 10610005 */ beq $v1, $at, .L8009D008 -/* 09DBF4 8009CFF4 2401000C */ li $at, 12 -/* 09DBF8 8009CFF8 10610009 */ beq $v1, $at, .L8009D020 -/* 09DBFC 8009CFFC 00000000 */ nop -/* 09DC00 8009D000 10000007 */ b .L8009D020 -/* 09DC04 8009D004 00000000 */ nop -.L8009D008: -/* 09DC08 8009D008 0C0A40EC */ jal func_802903B0 -/* 09DC0C 8009D00C 00000000 */ nop -/* 09DC10 8009D010 24050001 */ li $a1, 1 -/* 09DC14 8009D014 3C018016 */ lui $at, %hi(D_8016556E) # $at, 0x8016 -/* 09DC18 8009D018 100001D4 */ b .L8009D76C -/* 09DC1C 8009D01C A425556E */ sh $a1, %lo(D_8016556E)($at) -.L8009D020: -/* 09DC20 8009D020 0C0A40CE */ jal func_80290338 -/* 09DC24 8009D024 00000000 */ nop -/* 09DC28 8009D028 100001D1 */ b .L8009D770 -/* 09DC2C 8009D02C 8FBF0014 */ lw $ra, 0x14($sp) -.L8009D030: -/* 09DC30 8009D030 240400C7 */ li $a0, 199 -/* 09DC34 8009D034 0C02ABCC */ jal find_8018D9E0_entry -/* 09DC38 8009D038 AFA50028 */ sw $a1, 0x28($sp) -/* 09DC3C 8009D03C 10400021 */ beqz $v0, .L8009D0C4 -/* 09DC40 8009D040 8FA50028 */ lw $a1, 0x28($sp) -/* 09DC44 8009D044 8C4E0004 */ lw $t6, 4($v0) -/* 09DC48 8009D048 25CFFFF4 */ addiu $t7, $t6, -0xc -/* 09DC4C 8009D04C 2DE10021 */ sltiu $at, $t7, 0x21 -/* 09DC50 8009D050 10200016 */ beqz $at, .L8009D0AC -/* 09DC54 8009D054 000F7880 */ sll $t7, $t7, 2 -/* 09DC58 8009D058 3C01800F */ lui $at, %hi(jpt_800F109C) -/* 09DC5C 8009D05C 002F0821 */ addu $at, $at, $t7 -/* 09DC60 8009D060 8C2F109C */ lw $t7, %lo(jpt_800F109C)($at) -/* 09DC64 8009D064 01E00008 */ jr $t7 -/* 09DC68 8009D068 00000000 */ nop -glabel L8009D06C -/* 09DC6C 8009D06C 0C0A40EC */ jal func_802903B0 -/* 09DC70 8009D070 00000000 */ nop -/* 09DC74 8009D074 10000010 */ b .L8009D0B8 -/* 09DC78 8009D078 24050001 */ li $a1, 1 -glabel L8009D07C -/* 09DC7C 8009D07C 0C0A40E2 */ jal func_80290388 -/* 09DC80 8009D080 00000000 */ nop -/* 09DC84 8009D084 1000000C */ b .L8009D0B8 -/* 09DC88 8009D088 24050001 */ li $a1, 1 -glabel L8009D08C -/* 09DC8C 8009D08C 0C0A40D8 */ jal func_80290360 -/* 09DC90 8009D090 00000000 */ nop -/* 09DC94 8009D094 10000008 */ b .L8009D0B8 -/* 09DC98 8009D098 24050001 */ li $a1, 1 -glabel L8009D09C -/* 09DC9C 8009D09C 0C0A40CE */ jal func_80290338 -/* 09DCA0 8009D0A0 00000000 */ nop -/* 09DCA4 8009D0A4 10000004 */ b .L8009D0B8 -/* 09DCA8 8009D0A8 24050001 */ li $a1, 1 -.L8009D0AC: -glabel L8009D0AC -/* 09DCAC 8009D0AC 8FB90018 */ lw $t9, 0x18($sp) -/* 09DCB0 8009D0B0 24180005 */ li $t8, 5 -/* 09DCB4 8009D0B4 A3380000 */ sb $t8, ($t9) -.L8009D0B8: -/* 09DCB8 8009D0B8 10A00002 */ beqz $a1, .L8009D0C4 -/* 09DCBC 8009D0BC 3C01800E */ lui $at, %hi(gIsGamePaused) # $at, 0x800e -/* 09DCC0 8009D0C0 A420C5FC */ sh $zero, %lo(gIsGamePaused)($at) -.L8009D0C4: -/* 09DCC4 8009D0C4 0C02ABCC */ jal find_8018D9E0_entry -/* 09DCC8 8009D0C8 240400BD */ li $a0, 189 -/* 09DCCC 8009D0CC 10400030 */ beqz $v0, .L8009D190 -/* 09DCD0 8009D0D0 8FAF0018 */ lw $t7, 0x18($sp) -/* 09DCD4 8009D0D4 8C4E0004 */ lw $t6, 4($v0) -/* 09DCD8 8009D0D8 25CFFFF5 */ addiu $t7, $t6, -0xb -/* 09DCDC 8009D0DC 2DE10005 */ sltiu $at, $t7, 5 -/* 09DCE0 8009D0E0 102001A2 */ beqz $at, .L8009D76C -/* 09DCE4 8009D0E4 000F7880 */ sll $t7, $t7, 2 -/* 09DCE8 8009D0E8 3C01800F */ lui $at, %hi(jpt_800F1120) -/* 09DCEC 8009D0EC 002F0821 */ addu $at, $at, $t7 -/* 09DCF0 8009D0F0 8C2F1120 */ lw $t7, %lo(jpt_800F1120)($at) -/* 09DCF4 8009D0F4 01E00008 */ jr $t7 -/* 09DCF8 8009D0F8 00000000 */ nop -glabel L8009D0FC -/* 09DCFC 8009D0FC 24180001 */ li $t8, 1 -/* 09DD00 8009D100 3C018016 */ lui $at, %hi(D_8015F892) # $at, 0x8016 -/* 09DD04 8009D104 A438F892 */ sh $t8, %lo(D_8015F892)($at) -/* 09DD08 8009D108 3C018016 */ lui $at, %hi(D_8015F890) # $at, 0x8016 -/* 09DD0C 8009D10C 0C0A40EC */ jal func_802903B0 -/* 09DD10 8009D110 A420F890 */ sh $zero, %lo(D_8015F890)($at) -/* 09DD14 8009D114 10000196 */ b .L8009D770 -/* 09DD18 8009D118 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8009D11C -/* 09DD1C 8009D11C 3C018016 */ lui $at, %hi(D_8015F892) # $at, 0x8016 -/* 09DD20 8009D120 A420F892 */ sh $zero, %lo(D_8015F892)($at) -/* 09DD24 8009D124 3C018016 */ lui $at, %hi(D_8015F890) # $at, 0x8016 -/* 09DD28 8009D128 0C0A40E2 */ jal func_80290388 -/* 09DD2C 8009D12C A420F890 */ sh $zero, %lo(D_8015F890)($at) -/* 09DD30 8009D130 1000018F */ b .L8009D770 -/* 09DD34 8009D134 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8009D138 -/* 09DD38 8009D138 3C018016 */ lui $at, %hi(D_8015F892) # $at, 0x8016 -/* 09DD3C 8009D13C A420F892 */ sh $zero, %lo(D_8015F892)($at) -/* 09DD40 8009D140 3C018016 */ lui $at, %hi(D_8015F890) # $at, 0x8016 -/* 09DD44 8009D144 0C0A40D8 */ jal func_80290360 -/* 09DD48 8009D148 A420F890 */ sh $zero, %lo(D_8015F890)($at) -/* 09DD4C 8009D14C 10000188 */ b .L8009D770 -/* 09DD50 8009D150 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8009D154 -/* 09DD54 8009D154 3C018016 */ lui $at, %hi(D_8015F892) # $at, 0x8016 -/* 09DD58 8009D158 A420F892 */ sh $zero, %lo(D_8015F892)($at) -/* 09DD5C 8009D15C 3C018016 */ lui $at, %hi(D_8015F890) # $at, 0x8016 -/* 09DD60 8009D160 0C0A40CE */ jal func_80290338 -/* 09DD64 8009D164 A420F890 */ sh $zero, %lo(D_8015F890)($at) -/* 09DD68 8009D168 10000181 */ b .L8009D770 -/* 09DD6C 8009D16C 8FBF0014 */ lw $ra, 0x14($sp) -glabel L8009D170 -/* 09DD70 8009D170 3C018016 */ lui $at, %hi(D_8015F892) # $at, 0x8016 -/* 09DD74 8009D174 A420F892 */ sh $zero, %lo(D_8015F892)($at) -/* 09DD78 8009D178 3C018016 */ lui $at, %hi(D_8015F890) # $at, 0x8016 -/* 09DD7C 8009D17C 24190001 */ li $t9, 1 -/* 09DD80 8009D180 0C0A40EC */ jal func_802903B0 -/* 09DD84 8009D184 A439F890 */ sh $t9, %lo(D_8015F890)($at) -/* 09DD88 8009D188 10000179 */ b .L8009D770 -/* 09DD8C 8009D18C 8FBF0014 */ lw $ra, 0x14($sp) -.L8009D190: -/* 09DD90 8009D190 240E0005 */ li $t6, 5 -/* 09DD94 8009D194 10000175 */ b .L8009D76C -/* 09DD98 8009D198 A1EE0000 */ sb $t6, ($t7) -.L8009D19C: -/* 09DD9C 8009D19C 3C188019 */ lui $t8, %hi(gDebugMenuSelection) # $t8, 0x8019 -/* 09DDA0 8009D1A0 8318EDEF */ lb $t8, %lo(gDebugMenuSelection)($t8) -/* 09DDA4 8009D1A4 00240821 */ addu $at, $at, $a0 -/* 09DDA8 8009D1A8 A020E7AC */ sb $zero, %lo(D_8018E7AC)($at) -/* 09DDAC 8009D1AC 24010040 */ li $at, 64 -/* 09DDB0 8009D1B0 130100FA */ beq $t8, $at, .L8009D59C -/* 09DDB4 8009D1B4 3C198019 */ lui $t9, %hi(D_8018EDE0) # $t9, 0x8019 -/* 09DDB8 8009D1B8 8F39EDE0 */ lw $t9, %lo(D_8018EDE0)($t9) -/* 09DDBC 8009D1BC 2F210005 */ sltiu $at, $t9, 5 -/* 09DDC0 8009D1C0 102000DE */ beqz $at, .L8009D53C -/* 09DDC4 8009D1C4 0019C880 */ sll $t9, $t9, 2 -/* 09DDC8 8009D1C8 3C01800F */ lui $at, %hi(jpt_800F1134) -/* 09DDCC 8009D1CC 00390821 */ addu $at, $at, $t9 -/* 09DDD0 8009D1D0 8C391134 */ lw $t9, %lo(jpt_800F1134)($at) -/* 09DDD4 8009D1D4 03200008 */ jr $t9 -/* 09DDD8 8009D1D8 00000000 */ nop -glabel L8009D1DC -/* 09DDDC 8009D1DC 3C04800F */ lui $a0, %hi(gMenuSelection) # $a0, 0x800f -/* 09DDE0 8009D1E0 248486A0 */ addiu $a0, %lo(gMenuSelection) # addiu $a0, $a0, -0x7960 -/* 09DDE4 8009D1E4 8C820000 */ lw $v0, ($a0) -/* 09DDE8 8009D1E8 24010008 */ li $at, 8 -/* 09DDEC 8009D1EC 24060002 */ li $a2, 2 -/* 09DDF0 8009D1F0 14410006 */ bne $v0, $at, .L8009D20C -/* 09DDF4 8009D1F4 244F0001 */ addiu $t7, $v0, 1 -/* 09DDF8 8009D1F8 240E000A */ li $t6, 10 -/* 09DDFC 8009D1FC AC8E0000 */ sw $t6, ($a0) -/* 09DE00 8009D200 3C01800F */ lui $at, %hi(D_800E86A4) # $at, 0x800f -/* 09DE04 8009D204 100000CD */ b .L8009D53C -/* 09DE08 8009D208 AC2686A4 */ sw $a2, %lo(D_800E86A4)($at) -.L8009D20C: -/* 09DE0C 8009D20C 100000CB */ b .L8009D53C -/* 09DE10 8009D210 AC8F0000 */ sw $t7, ($a0) -glabel L8009D214 -/* 09DE14 8009D214 3C04800F */ lui $a0, %hi(gMenuSelection) # $a0, 0x800f -/* 09DE18 8009D218 248486A0 */ addiu $a0, %lo(gMenuSelection) # addiu $a0, $a0, -0x7960 -/* 09DE1C 8009D21C 8C980000 */ lw $t8, ($a0) -/* 09DE20 8009D220 2719FFFF */ addiu $t9, $t8, -1 -/* 09DE24 8009D224 100000C5 */ b .L8009D53C -/* 09DE28 8009D228 AC990000 */ sw $t9, ($a0) -glabel L8009D22C -/* 09DE2C 8009D22C 240E0001 */ li $t6, 1 -/* 09DE30 8009D230 3C01800E */ lui $at, %hi(gDemoMode) # $at, 0x800e -/* 09DE34 8009D234 A42EC51C */ sh $t6, %lo(gDemoMode)($at) -/* 09DE38 8009D238 24050001 */ li $a1, 1 -/* 09DE3C 8009D23C 3C018019 */ lui $at, %hi(D_8018EE08) # $at, 0x8019 -/* 09DE40 8009D240 A025EE08 */ sb $a1, %lo(D_8018EE08)($at) -/* 09DE44 8009D244 3C01800E */ lui $at, %hi(gGamestateNext) # $at, 0x800e -/* 09DE48 8009D248 AC29C524 */ sw $t1, %lo(gGamestateNext)($at) -/* 09DE4C 8009D24C 3C04800F */ lui $a0, %hi(gNextDemoId) # $a0, 0x800f -/* 09DE50 8009D250 3C01800E */ lui $at, %hi(gCCSelection) # $at, 0x800e -/* 09DE54 8009D254 248486BC */ addiu $a0, %lo(gNextDemoId) # addiu $a0, $a0, -0x7944 -/* 09DE58 8009D258 AC25C548 */ sw $a1, %lo(gCCSelection)($at) -/* 09DE5C 8009D25C 80830000 */ lb $v1, ($a0) -/* 09DE60 8009D260 2C610006 */ sltiu $at, $v1, 6 -/* 09DE64 8009D264 10200084 */ beqz $at, .L8009D478 -/* 09DE68 8009D268 00037880 */ sll $t7, $v1, 2 -/* 09DE6C 8009D26C 3C01800F */ lui $at, %hi(jpt_800F1148) -/* 09DE70 8009D270 002F0821 */ addu $at, $at, $t7 -/* 09DE74 8009D274 8C2F1148 */ lw $t7, %lo(jpt_800F1148)($at) -/* 09DE78 8009D278 01E00008 */ jr $t7 -/* 09DE7C 8009D27C 00000000 */ nop -glabel L8009D280 -/* 09DE80 8009D280 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 09DE84 8009D284 A420C5A0 */ sh $zero, %lo(gCurrentCourseId)($at) -/* 09DE88 8009D288 3C02800F */ lui $v0, %hi(gCharacterSelections) # $v0, 0x800f -/* 09DE8C 8009D28C 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09DE90 8009D290 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09DE94 8009D294 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09DE98 8009D298 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09DE9C 8009D29C 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09DEA0 8009D2A0 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09DEA4 8009D2A4 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09DEA8 8009D2A8 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09DEAC 8009D2AC 244286A8 */ addiu $v0, %lo(gCharacterSelections) # addiu $v0, $v0, -0x7958 -/* 09DEB0 8009D2B0 ADA00000 */ sw $zero, ($t5) -/* 09DEB4 8009D2B4 AD450000 */ sw $a1, ($t2) -/* 09DEB8 8009D2B8 A1650000 */ sb $a1, ($t3) -/* 09DEBC 8009D2BC A0400000 */ sb $zero, ($v0) -/* 09DEC0 8009D2C0 1000006D */ b .L8009D478 -/* 09DEC4 8009D2C4 AD800000 */ sw $zero, ($t4) -glabel L8009D2C8 -/* 09DEC8 8009D2C8 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 09DECC 8009D2CC A425C5A0 */ sh $a1, %lo(gCurrentCourseId)($at) -/* 09DED0 8009D2D0 24060002 */ li $a2, 2 -/* 09DED4 8009D2D4 3C02800F */ lui $v0, %hi(gCharacterSelections) # $v0, 0x800f -/* 09DED8 8009D2D8 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09DEDC 8009D2DC 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09DEE0 8009D2E0 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09DEE4 8009D2E4 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09DEE8 8009D2E8 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09DEEC 8009D2EC 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09DEF0 8009D2F0 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09DEF4 8009D2F4 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09DEF8 8009D2F8 244286A8 */ addiu $v0, %lo(gCharacterSelections) # addiu $v0, $v0, -0x7958 -/* 09DEFC 8009D2FC ADA50000 */ sw $a1, ($t5) -/* 09DF00 8009D300 AD460000 */ sw $a2, ($t2) -/* 09DF04 8009D304 A1660000 */ sb $a2, ($t3) -/* 09DF08 8009D308 A0460000 */ sb $a2, ($v0) -/* 09DF0C 8009D30C A0490001 */ sb $t1, 1($v0) -/* 09DF10 8009D310 10000059 */ b .L8009D478 -/* 09DF14 8009D314 AD860000 */ sw $a2, ($t4) -glabel L8009D318 -/* 09DF18 8009D318 2418000B */ li $t8, 11 -/* 09DF1C 8009D31C 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 09DF20 8009D320 A438C5A0 */ sh $t8, %lo(gCurrentCourseId)($at) -/* 09DF24 8009D324 3C02800F */ lui $v0, %hi(gCharacterSelections) # $v0, 0x800f -/* 09DF28 8009D328 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09DF2C 8009D32C 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09DF30 8009D330 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09DF34 8009D334 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09DF38 8009D338 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09DF3C 8009D33C 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09DF40 8009D340 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09DF44 8009D344 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09DF48 8009D348 244286A8 */ addiu $v0, %lo(gCharacterSelections) # addiu $v0, $v0, -0x7958 -/* 09DF4C 8009D34C ADA00000 */ sw $zero, ($t5) -/* 09DF50 8009D350 AD450000 */ sw $a1, ($t2) -/* 09DF54 8009D354 A1650000 */ sb $a1, ($t3) -/* 09DF58 8009D358 A0450000 */ sb $a1, ($v0) -/* 09DF5C 8009D35C 10000046 */ b .L8009D478 -/* 09DF60 8009D360 AD800000 */ sw $zero, ($t4) -glabel L8009D364 -/* 09DF64 8009D364 2419000E */ li $t9, 14 -/* 09DF68 8009D368 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 09DF6C 8009D36C A439C5A0 */ sh $t9, %lo(gCurrentCourseId)($at) -/* 09DF70 8009D370 3C02800F */ lui $v0, %hi(gCharacterSelections) # $v0, 0x800f -/* 09DF74 8009D374 244286A8 */ addiu $v0, %lo(gCharacterSelections) # addiu $v0, $v0, -0x7958 -/* 09DF78 8009D378 24070003 */ li $a3, 3 -/* 09DF7C 8009D37C 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09DF80 8009D380 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09DF84 8009D384 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09DF88 8009D388 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09DF8C 8009D38C 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09DF90 8009D390 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09DF94 8009D394 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09DF98 8009D398 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09DF9C 8009D39C 24060002 */ li $a2, 2 -/* 09DFA0 8009D3A0 240E0007 */ li $t6, 7 -/* 09DFA4 8009D3A4 ADA70000 */ sw $a3, ($t5) -/* 09DFA8 8009D3A8 AD470000 */ sw $a3, ($t2) -/* 09DFAC 8009D3AC A1670000 */ sb $a3, ($t3) -/* 09DFB0 8009D3B0 A0480000 */ sb $t0, ($v0) -/* 09DFB4 8009D3B4 A0460001 */ sb $a2, 1($v0) -/* 09DFB8 8009D3B8 A04E0002 */ sb $t6, 2($v0) -/* 09DFBC 8009D3BC 1000002E */ b .L8009D478 -/* 09DFC0 8009D3C0 AD860000 */ sw $a2, ($t4) -glabel L8009D3C4 -/* 09DFC4 8009D3C4 24060002 */ li $a2, 2 -/* 09DFC8 8009D3C8 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 09DFCC 8009D3CC A426C5A0 */ sh $a2, %lo(gCurrentCourseId)($at) -/* 09DFD0 8009D3D0 3C02800F */ lui $v0, %hi(gCharacterSelections) # $v0, 0x800f -/* 09DFD4 8009D3D4 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09DFD8 8009D3D8 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09DFDC 8009D3DC 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09DFE0 8009D3E0 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09DFE4 8009D3E4 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09DFE8 8009D3E8 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09DFEC 8009D3EC 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09DFF0 8009D3F0 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09DFF4 8009D3F4 244286A8 */ addiu $v0, %lo(gCharacterSelections) # addiu $v0, $v0, -0x7958 -/* 09DFF8 8009D3F8 240F0007 */ li $t7, 7 -/* 09DFFC 8009D3FC ADA00000 */ sw $zero, ($t5) -/* 09E000 8009D400 AD450000 */ sw $a1, ($t2) -/* 09E004 8009D404 A1650000 */ sb $a1, ($t3) -/* 09E008 8009D408 A04F0000 */ sb $t7, ($v0) -/* 09E00C 8009D40C 1000001A */ b .L8009D478 -/* 09E010 8009D410 AD800000 */ sw $zero, ($t4) -glabel L8009D414 -/* 09E014 8009D414 2418000C */ li $t8, 12 -/* 09E018 8009D418 3C01800E */ lui $at, %hi(gCurrentCourseId) # $at, 0x800e -/* 09E01C 8009D41C A438C5A0 */ sh $t8, %lo(gCurrentCourseId)($at) -/* 09E020 8009D420 3C02800F */ lui $v0, %hi(gCharacterSelections) # $v0, 0x800f -/* 09E024 8009D424 244286A8 */ addiu $v0, %lo(gCharacterSelections) # addiu $v0, $v0, -0x7958 -/* 09E028 8009D428 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09E02C 8009D42C 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09E030 8009D430 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09E034 8009D434 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09E038 8009D438 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09E03C 8009D43C 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09E040 8009D440 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09E044 8009D444 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09E048 8009D448 24060002 */ li $a2, 2 -/* 09E04C 8009D44C 24070003 */ li $a3, 3 -/* 09E050 8009D450 24080006 */ li $t0, 6 -/* 09E054 8009D454 ADA70000 */ sw $a3, ($t5) -/* 09E058 8009D458 AD490000 */ sw $t1, ($t2) -/* 09E05C 8009D45C A1690000 */ sb $t1, ($t3) -/* 09E060 8009D460 A0400000 */ sb $zero, ($v0) -/* 09E064 8009D464 A0450001 */ sb $a1, 1($v0) -/* 09E068 8009D468 A0480002 */ sb $t0, 2($v0) -/* 09E06C 8009D46C A0470003 */ sb $a3, 3($v0) -/* 09E070 8009D470 10000001 */ b .L8009D478 -/* 09E074 8009D474 AD860000 */ sw $a2, ($t4) -.L8009D478: -/* 09E078 8009D478 24790001 */ addiu $t9, $v1, 1 -/* 09E07C 8009D47C A0990000 */ sb $t9, ($a0) -/* 09E080 8009D480 808E0000 */ lb $t6, ($a0) -/* 09E084 8009D484 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 09E088 8009D488 29C10006 */ slti $at, $t6, 6 -/* 09E08C 8009D48C 14200002 */ bnez $at, .L8009D498 -/* 09E090 8009D490 00000000 */ nop -/* 09E094 8009D494 A0800000 */ sb $zero, ($a0) -.L8009D498: -/* 09E098 8009D498 3C04800E */ lui $a0, %hi(gCurrentCourseId) # $a0, 0x800e -/* 09E09C 8009D49C 8484C5A0 */ lh $a0, %lo(gCurrentCourseId)($a0) -/* 09E0A0 8009D4A0 3C0F800E */ lui $t7, %hi(gCupSelectionByCourseId) -/* 09E0A4 8009D4A4 2442EE09 */ addiu $v0, %lo(gCupSelection) # addiu $v0, $v0, -0x11f7 -/* 09E0A8 8009D4A8 01E47821 */ addu $t7, $t7, $a0 -/* 09E0AC 8009D4AC 81EF7664 */ lb $t7, %lo(gCupSelectionByCourseId)($t7) -/* 09E0B0 8009D4B0 3C19800F */ lui $t9, %hi(gPerCupIndexByCourseId) -/* 09E0B4 8009D4B4 3C01800E */ lui $at, %hi(D_800DC540) # $at, 0x800e -/* 09E0B8 8009D4B8 A04F0000 */ sb $t7, ($v0) -/* 09E0BC 8009D4BC 80580000 */ lb $t8, ($v0) -/* 09E0C0 8009D4C0 0324C821 */ addu $t9, $t9, $a0 -/* 09E0C4 8009D4C4 8339FD50 */ lb $t9, %lo(gPerCupIndexByCourseId)($t9) -/* 09E0C8 8009D4C8 AC38C540 */ sw $t8, %lo(D_800DC540)($at) -/* 09E0CC 8009D4CC 3C018019 */ lui $at, %hi(gCupCourseSelection) # $at, 0x8019 -/* 09E0D0 8009D4D0 1000001A */ b .L8009D53C -/* 09E0D4 8009D4D4 A039EE0B */ sb $t9, %lo(gCupCourseSelection)($at) -glabel L8009D4D8 -/* 09E0D8 8009D4D8 3C04800F */ lui $a0, %hi(gMenuSelection) # $a0, 0x800f -/* 09E0DC 8009D4DC 248486A0 */ addiu $a0, %lo(gMenuSelection) # addiu $a0, $a0, -0x7960 -/* 09E0E0 8009D4E0 8C830000 */ lw $v1, ($a0) -/* 09E0E4 8009D4E4 24080006 */ li $t0, 6 -/* 09E0E8 8009D4E8 2401000B */ li $at, 11 -/* 09E0EC 8009D4EC 10680005 */ beq $v1, $t0, .L8009D504 -/* 09E0F0 8009D4F0 240E000B */ li $t6, 11 -/* 09E0F4 8009D4F4 14610011 */ bne $v1, $at, .L8009D53C -/* 09E0F8 8009D4F8 00000000 */ nop -/* 09E0FC 8009D4FC 1000000F */ b .L8009D53C -/* 09E100 8009D500 AC880000 */ sw $t0, ($a0) -.L8009D504: -/* 09E104 8009D504 1000000D */ b .L8009D53C -/* 09E108 8009D508 AC8E0000 */ sw $t6, ($a0) -glabel L8009D50C -/* 09E10C 8009D50C 3C04800F */ lui $a0, %hi(gMenuSelection) # $a0, 0x800f -/* 09E110 8009D510 248486A0 */ addiu $a0, %lo(gMenuSelection) # addiu $a0, $a0, -0x7960 -/* 09E114 8009D514 8C830000 */ lw $v1, ($a0) -/* 09E118 8009D518 2401000B */ li $at, 11 -/* 09E11C 8009D51C 240F000B */ li $t7, 11 -/* 09E120 8009D520 50680006 */ beql $v1, $t0, .L8009D53C -/* 09E124 8009D524 AC8F0000 */ sw $t7, ($a0) -/* 09E128 8009D528 14610004 */ bne $v1, $at, .L8009D53C -/* 09E12C 8009D52C 00000000 */ nop -/* 09E130 8009D530 10000002 */ b .L8009D53C -/* 09E134 8009D534 AC880000 */ sw $t0, ($a0) -/* 09E138 8009D538 AC8F0000 */ sw $t7, ($a0) -.L8009D53C: -/* 09E13C 8009D53C 3C18800F */ lui $t8, %hi(D_800E86A4) # $t8, 0x800f -/* 09E140 8009D540 8F1886A4 */ lw $t8, %lo(D_800E86A4)($t8) -/* 09E144 8009D544 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09E148 8009D548 3C02800F */ lui $v0, %hi(gMenuSelection) # $v0, 0x800f -/* 09E14C 8009D54C 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09E150 8009D550 24050001 */ li $a1, 1 -/* 09E154 8009D554 17000003 */ bnez $t8, .L8009D564 -/* 09E158 8009D558 8C4286A0 */ lw $v0, %lo(gMenuSelection)($v0) -/* 09E15C 8009D55C 3C01800F */ lui $at, %hi(D_800E86A4) # $at, 0x800f -/* 09E160 8009D560 AC2586A4 */ sw $a1, %lo(D_800E86A4)($at) -.L8009D564: -/* 09E164 8009D564 2841000E */ slti $at, $v0, 0xe -/* 09E168 8009D568 14200009 */ bnez $at, .L8009D590 -/* 09E16C 8009D56C 3C01800E */ lui $at, %hi(gGamestateNext) # $at, 0x800e -/* 09E170 8009D570 AC29C524 */ sw $t1, %lo(gGamestateNext)($at) -/* 09E174 8009D574 8D990000 */ lw $t9, ($t4) -/* 09E178 8009D578 3C018019 */ lui $at, %hi(D_8018EDFB) # $at, 0x8019 -/* 09E17C 8009D57C 14B90002 */ bne $a1, $t9, .L8009D588 -/* 09E180 8009D580 00000000 */ nop -/* 09E184 8009D584 A025EDFB */ sb $a1, %lo(D_8018EDFB)($at) -.L8009D588: -/* 09E188 8009D588 0C027387 */ jal func_8009CE1C -/* 09E18C 8009D58C 00000000 */ nop -.L8009D590: -/* 09E190 8009D590 3C018019 */ lui $at, %hi(D_8018EE0C) # $at, 0x8019 -/* 09E194 8009D594 10000075 */ b .L8009D76C -/* 09E198 8009D598 A020EE0C */ sb $zero, %lo(D_8018EE0C)($at) -.L8009D59C: -/* 09E19C 8009D59C 3C038019 */ lui $v1, %hi(gDebugGotoScene) # $v1, 0x8019 -/* 09E1A0 8009D5A0 8063EDFA */ lb $v1, %lo(gDebugGotoScene)($v1) -/* 09E1A4 8009D5A4 24050001 */ li $a1, 1 -/* 09E1A8 8009D5A8 24060002 */ li $a2, 2 -/* 09E1AC 8009D5AC 10650008 */ beq $v1, $a1, .L8009D5D0 -/* 09E1B0 8009D5B0 3C01800E */ lui $at, %hi(gGamestateNext) # $at, 0x800e -/* 09E1B4 8009D5B4 10660008 */ beq $v1, $a2, .L8009D5D8 -/* 09E1B8 8009D5B8 240E0009 */ li $t6, 9 -/* 09E1BC 8009D5BC 24070003 */ li $a3, 3 -/* 09E1C0 8009D5C0 10670005 */ beq $v1, $a3, .L8009D5D8 -/* 09E1C4 8009D5C4 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09E1C8 8009D5C8 10000009 */ b .L8009D5F0 -/* 09E1CC 8009D5CC 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -.L8009D5D0: -/* 09E1D0 8009D5D0 1000000E */ b .L8009D60C -/* 09E1D4 8009D5D4 AC28C524 */ sw $t0, %lo(gGamestateNext)($at) -.L8009D5D8: -/* 09E1D8 8009D5D8 3C01800E */ lui $at, %hi(gGamestateNext) # $at, 0x800e -/* 09E1DC 8009D5DC AC2EC524 */ sw $t6, %lo(gGamestateNext)($at) -/* 09E1E0 8009D5E0 3C01800E */ lui $at, %hi(gCreditsCourseId) # $at, 0x800e -/* 09E1E4 8009D5E4 240F0008 */ li $t7, 8 -/* 09E1E8 8009D5E8 10000008 */ b .L8009D60C -/* 09E1EC 8009D5EC A42FC644 */ sh $t7, %lo(gCreditsCourseId)($at) -.L8009D5F0: -/* 09E1F0 8009D5F0 3C01800E */ lui $at, %hi(gGamestateNext) # $at, 0x800e -/* 09E1F4 8009D5F4 AC29C524 */ sw $t1, %lo(gGamestateNext)($at) -/* 09E1F8 8009D5F8 8D980000 */ lw $t8, ($t4) -/* 09E1FC 8009D5FC 3C018019 */ lui $at, %hi(D_8018EDFB) # $at, 0x8019 -/* 09E200 8009D600 14B80002 */ bne $a1, $t8, .L8009D60C -/* 09E204 8009D604 00000000 */ nop -/* 09E208 8009D608 A025EDFB */ sb $a1, %lo(D_8018EDFB)($at) -.L8009D60C: -/* 09E20C 8009D60C 0C003C49 */ jal func_8000F124 -/* 09E210 8009D610 00000000 */ nop -/* 09E214 8009D614 3C0D800E */ lui $t5, %hi(gScreenModeSelection) # $t5, 0x800e -/* 09E218 8009D618 25ADC530 */ addiu $t5, %lo(gScreenModeSelection) # addiu $t5, $t5, -0x3ad0 -/* 09E21C 8009D61C 8DB90000 */ lw $t9, ($t5) -/* 09E220 8009D620 24070003 */ li $a3, 3 -/* 09E224 8009D624 3C0C800E */ lui $t4, %hi(gModeSelection) # $t4, 0x800e -/* 09E228 8009D628 258CC53C */ addiu $t4, %lo(gModeSelection) # addiu $t4, $t4, -0x3ac4 -/* 09E22C 8009D62C 24050001 */ li $a1, 1 -/* 09E230 8009D630 14F90007 */ bne $a3, $t9, .L8009D650 -/* 09E234 8009D634 24060002 */ li $a2, 2 -/* 09E238 8009D638 8D830000 */ lw $v1, ($t4) -/* 09E23C 8009D63C 50600004 */ beql $v1, $zero, .L8009D650 -/* 09E240 8009D640 AD860000 */ sw $a2, ($t4) -/* 09E244 8009D644 14650002 */ bne $v1, $a1, .L8009D650 -/* 09E248 8009D648 00000000 */ nop -/* 09E24C 8009D64C AD860000 */ sw $a2, ($t4) -.L8009D650: -/* 09E250 8009D650 3C04800E */ lui $a0, %hi(gCurrentCourseId) # $a0, 0x800e -/* 09E254 8009D654 8484C5A0 */ lh $a0, %lo(gCurrentCourseId)($a0) -/* 09E258 8009D658 2401000F */ li $at, 15 -/* 09E25C 8009D65C 3C19800E */ lui $t9, %hi(gCupSelectionByCourseId) -/* 09E260 8009D660 1081000A */ beq $a0, $at, .L8009D68C -/* 09E264 8009D664 00801825 */ move $v1, $a0 -/* 09E268 8009D668 24010010 */ li $at, 16 -/* 09E26C 8009D66C 10610007 */ beq $v1, $at, .L8009D68C -/* 09E270 8009D670 24010011 */ li $at, 17 -/* 09E274 8009D674 10610005 */ beq $v1, $at, .L8009D68C -/* 09E278 8009D678 24010013 */ li $at, 19 -/* 09E27C 8009D67C 10610003 */ beq $v1, $at, .L8009D68C -/* 09E280 8009D680 00000000 */ nop -/* 09E284 8009D684 1000000D */ b .L8009D6BC -/* 09E288 8009D688 8D820000 */ lw $v0, ($t4) -.L8009D68C: -/* 09E28C 8009D68C 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09E290 8009D690 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09E294 8009D694 8D4E0000 */ lw $t6, ($t2) -/* 09E298 8009D698 3C0B8019 */ lui $t3, %hi(gPlayerCount) # $t3, 0x8019 -/* 09E29C 8009D69C AD870000 */ sw $a3, ($t4) -/* 09E2A0 8009D6A0 14AE0010 */ bne $a1, $t6, .L8009D6E4 -/* 09E2A4 8009D6A4 256BEDF3 */ addiu $t3, %lo(gPlayerCount) # addiu $t3, $t3, -0x120d -/* 09E2A8 8009D6A8 A1660000 */ sb $a2, ($t3) -/* 09E2AC 8009D6AC 816F0000 */ lb $t7, ($t3) -/* 09E2B0 8009D6B0 ADA50000 */ sw $a1, ($t5) -/* 09E2B4 8009D6B4 1000000B */ b .L8009D6E4 -/* 09E2B8 8009D6B8 AD4F0000 */ sw $t7, ($t2) -.L8009D6BC: -/* 09E2BC 8009D6BC 14E20003 */ bne $a3, $v0, .L8009D6CC -/* 09E2C0 8009D6C0 3C0A800E */ lui $t2, %hi(gPlayerCountSelection1) # $t2, 0x800e -/* 09E2C4 8009D6C4 AD800000 */ sw $zero, ($t4) -/* 09E2C8 8009D6C8 00001025 */ move $v0, $zero -.L8009D6CC: -/* 09E2CC 8009D6CC 14C20005 */ bne $a2, $v0, .L8009D6E4 -/* 09E2D0 8009D6D0 254AC538 */ addiu $t2, %lo(gPlayerCountSelection1) # addiu $t2, $t2, -0x3ac8 -/* 09E2D4 8009D6D4 8D580000 */ lw $t8, ($t2) -/* 09E2D8 8009D6D8 54B80003 */ bnel $a1, $t8, .L8009D6E8 -/* 09E2DC 8009D6DC 0324C821 */ addu $t9, $t9, $a0 -/* 09E2E0 8009D6E0 AD800000 */ sw $zero, ($t4) -.L8009D6E4: -/* 09E2E4 8009D6E4 0324C821 */ addu $t9, $t9, $a0 -.L8009D6E8: -/* 09E2E8 8009D6E8 83397664 */ lb $t9, %lo(gCupSelectionByCourseId)($t9) -/* 09E2EC 8009D6EC 3C028019 */ lui $v0, %hi(gCupSelection) # $v0, 0x8019 -/* 09E2F0 8009D6F0 2442EE09 */ addiu $v0, %lo(gCupSelection) # addiu $v0, $v0, -0x11f7 -/* 09E2F4 8009D6F4 A0590000 */ sb $t9, ($v0) -/* 09E2F8 8009D6F8 804E0000 */ lb $t6, ($v0) -/* 09E2FC 8009D6FC 3C0F800F */ lui $t7, %hi(gPerCupIndexByCourseId) -/* 09E300 8009D700 3C038019 */ lui $v1, %hi(gDebugGotoScene) # $v1, 0x8019 -/* 09E304 8009D704 8063EDFA */ lb $v1, %lo(gDebugGotoScene)($v1) -/* 09E308 8009D708 3C01800E */ lui $at, %hi(D_800DC540) # $at, 0x800e -/* 09E30C 8009D70C 01E47821 */ addu $t7, $t7, $a0 -/* 09E310 8009D710 81EFFD50 */ lb $t7, %lo(gPerCupIndexByCourseId)($t7) -/* 09E314 8009D714 AC2EC540 */ sw $t6, %lo(D_800DC540)($at) -/* 09E318 8009D718 3C018019 */ lui $at, %hi(gCupCourseSelection) # $at, 0x8019 -/* 09E31C 8009D71C 10650013 */ beq $v1, $a1, .L8009D76C -/* 09E320 8009D720 A02FEE0B */ sb $t7, %lo(gCupCourseSelection)($at) -/* 09E324 8009D724 10660005 */ beq $v1, $a2, .L8009D73C -/* 09E328 8009D728 3C01800E */ lui $at, %hi(gCCSelection) -/* 09E32C 8009D72C 10670005 */ beq $v1, $a3, .L8009D744 -/* 09E330 8009D730 3C01800E */ lui $at, %hi(gCCSelection) # $at, 0x800e -/* 09E334 8009D734 10000005 */ b .L8009D74C -/* 09E338 8009D738 3C18800E */ lui $t8, %hi(gCCSelection) # $t8, 0x800e -.L8009D73C: -/* 09E33C 8009D73C 1000000B */ b .L8009D76C -/* 09E340 8009D740 AC20C548 */ sw $zero, %lo(gCCSelection)($at) -.L8009D744: -/* 09E344 8009D744 10000009 */ b .L8009D76C -/* 09E348 8009D748 AC27C548 */ sw $a3, %lo(gCCSelection)($at) -.L8009D74C: -/* 09E34C 8009D74C 8F18C548 */ lw $t8, %lo(gCCSelection)($t8) -/* 09E350 8009D750 3C01800E */ lui $at, %hi(gIsMirrorMode) -/* 09E354 8009D754 14F80004 */ bne $a3, $t8, .L8009D768 -/* 09E358 8009D758 00000000 */ nop -/* 09E35C 8009D75C 3C01800E */ lui $at, %hi(gIsMirrorMode) # $at, 0x800e -/* 09E360 8009D760 10000002 */ b .L8009D76C -/* 09E364 8009D764 AC25C604 */ sw $a1, %lo(gIsMirrorMode)($at) -.L8009D768: -/* 09E368 8009D768 AC20C604 */ sw $zero, %lo(gIsMirrorMode)($at) -.L8009D76C: -/* 09E36C 8009D76C 8FBF0014 */ lw $ra, 0x14($sp) -.L8009D770: -/* 09E370 8009D770 27BD0030 */ addiu $sp, $sp, 0x30 -/* 09E374 8009D774 03E00008 */ jr $ra -/* 09E378 8009D778 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_8009F5E0.s b/asm/non_matchings/code_80091750/func_8009F5E0.s index a644c81a6..e9df46a51 100644 --- a/asm/non_matchings/code_80091750/func_8009F5E0.s +++ b/asm/non_matchings/code_80091750/func_8009F5E0.s @@ -2,10 +2,11 @@ glabel D_800F0C14 .asciiz "'" - .balign 4 + glabel D_800F0C18 .asciiz "\"" +.balign 4 .section .late_rodata diff --git a/asm/non_matchings/code_80091750/func_800A0FA4.s b/asm/non_matchings/code_80091750/func_800A0FA4.s deleted file mode 100644 index feaa29b3b..000000000 --- a/asm/non_matchings/code_80091750/func_800A0FA4.s +++ /dev/null @@ -1,86 +0,0 @@ -.section .late_rodata - -glabel jpt_800F1B00 -.word L800A0FE0, L800A103C, L800A0FE0, L800A0FE0 -.word L800A103C - -.section .text - -glabel func_800A0FA4 -/* 0A1BA4 800A0FA4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0A1BA8 800A0FA8 AFBF002C */ sw $ra, 0x2c($sp) -/* 0A1BAC 800A0FAC AFB20028 */ sw $s2, 0x28($sp) -/* 0A1BB0 800A0FB0 AFB10024 */ sw $s1, 0x24($sp) -/* 0A1BB4 800A0FB4 AFB00020 */ sw $s0, 0x20($sp) -/* 0A1BB8 800A0FB8 8C8E0004 */ lw $t6, 4($a0) -/* 0A1BBC 800A0FBC 00808025 */ move $s0, $a0 -/* 0A1BC0 800A0FC0 2DC10005 */ sltiu $at, $t6, 5 -/* 0A1BC4 800A0FC4 1020003B */ beqz $at, .L800A10B4 -/* 0A1BC8 800A0FC8 000E7080 */ sll $t6, $t6, 2 -/* 0A1BCC 800A0FCC 3C01800F */ lui $at, %hi(jpt_800F1B00) -/* 0A1BD0 800A0FD0 002E0821 */ addu $at, $at, $t6 -/* 0A1BD4 800A0FD4 8C2E1B00 */ lw $t6, %lo(jpt_800F1B00)($at) -/* 0A1BD8 800A0FD8 01C00008 */ jr $t6 -/* 0A1BDC 800A0FDC 00000000 */ nop -glabel L800A0FE0 -/* 0A1BE0 800A0FE0 3C19800F */ lui $t9, %hi(D_800E8234) # $t9, 0x800f -/* 0A1BE4 800A0FE4 27398234 */ addiu $t9, %lo(D_800E8234) # addiu $t9, $t9, -0x7dcc -/* 0A1BE8 800A0FE8 0005C0C0 */ sll $t8, $a1, 3 -/* 0A1BEC 800A0FEC 03198821 */ addu $s1, $t8, $t9 -/* 0A1BF0 800A0FF0 0C026449 */ jal segmented_to_virtual_dupe -/* 0A1BF4 800A0FF4 8E240000 */ lw $a0, ($s1) -/* 0A1BF8 800A0FF8 3C128015 */ lui $s2, %hi(gDisplayListHead) # $s2, 0x8015 -/* 0A1BFC 800A0FFC 26520298 */ addiu $s2, %lo(gDisplayListHead) # addiu $s2, $s2, 0x298 -/* 0A1C00 800A1000 8E440000 */ lw $a0, ($s2) -/* 0A1C04 800A1004 00402825 */ move $a1, $v0 -/* 0A1C08 800A1008 8E06000C */ lw $a2, 0xc($s0) -/* 0A1C0C 800A100C 0C026E9D */ jal func_8009BA74 -/* 0A1C10 800A1010 8E070010 */ lw $a3, 0x10($s0) -/* 0A1C14 800A1014 AE420000 */ sw $v0, ($s2) -/* 0A1C18 800A1018 0C026449 */ jal segmented_to_virtual_dupe -/* 0A1C1C 800A101C 8E240004 */ lw $a0, 4($s1) -/* 0A1C20 800A1020 8E440000 */ lw $a0, ($s2) -/* 0A1C24 800A1024 00402825 */ move $a1, $v0 -/* 0A1C28 800A1028 8E06000C */ lw $a2, 0xc($s0) -/* 0A1C2C 800A102C 0C026E9D */ jal func_8009BA74 -/* 0A1C30 800A1030 8E070010 */ lw $a3, 0x10($s0) -/* 0A1C34 800A1034 1000001F */ b .L800A10B4 -/* 0A1C38 800A1038 AE420000 */ sw $v0, ($s2) -glabel L800A103C -/* 0A1C3C 800A103C 3C0A800F */ lui $t2, %hi(D_800E8234) # $t2, 0x800f -/* 0A1C40 800A1040 254A8234 */ addiu $t2, %lo(D_800E8234) # addiu $t2, $t2, -0x7dcc -/* 0A1C44 800A1044 000548C0 */ sll $t1, $a1, 3 -/* 0A1C48 800A1048 012A8821 */ addu $s1, $t1, $t2 -/* 0A1C4C 800A104C 0C026449 */ jal segmented_to_virtual_dupe -/* 0A1C50 800A1050 8E240000 */ lw $a0, ($s1) -/* 0A1C54 800A1054 8E06000C */ lw $a2, 0xc($s0) -/* 0A1C58 800A1058 8E070010 */ lw $a3, 0x10($s0) -/* 0A1C5C 800A105C 240B0002 */ li $t3, 2 -/* 0A1C60 800A1060 AFAB0010 */ sw $t3, 0x10($sp) -/* 0A1C64 800A1064 8E0C001C */ lw $t4, 0x1c($s0) -/* 0A1C68 800A1068 3C128015 */ lui $s2, %hi(gDisplayListHead) # $s2, 0x8015 -/* 0A1C6C 800A106C 26520298 */ addiu $s2, %lo(gDisplayListHead) # addiu $s2, $s2, 0x298 -/* 0A1C70 800A1070 8E440000 */ lw $a0, ($s2) -/* 0A1C74 800A1074 00402825 */ move $a1, $v0 -/* 0A1C78 800A1078 0C026F27 */ jal func_8009BC9C -/* 0A1C7C 800A107C AFAC0014 */ sw $t4, 0x14($sp) -/* 0A1C80 800A1080 AE420000 */ sw $v0, ($s2) -/* 0A1C84 800A1084 0C026449 */ jal segmented_to_virtual_dupe -/* 0A1C88 800A1088 8E240004 */ lw $a0, 4($s1) -/* 0A1C8C 800A108C 8E06000C */ lw $a2, 0xc($s0) -/* 0A1C90 800A1090 8E070010 */ lw $a3, 0x10($s0) -/* 0A1C94 800A1094 240D0002 */ li $t5, 2 -/* 0A1C98 800A1098 AFAD0010 */ sw $t5, 0x10($sp) -/* 0A1C9C 800A109C 8E0E001C */ lw $t6, 0x1c($s0) -/* 0A1CA0 800A10A0 8E440000 */ lw $a0, ($s2) -/* 0A1CA4 800A10A4 00402825 */ move $a1, $v0 -/* 0A1CA8 800A10A8 0C026F27 */ jal func_8009BC9C -/* 0A1CAC 800A10AC AFAE0014 */ sw $t6, 0x14($sp) -/* 0A1CB0 800A10B0 AE420000 */ sw $v0, ($s2) -.L800A10B4: -/* 0A1CB4 800A10B4 8FBF002C */ lw $ra, 0x2c($sp) -/* 0A1CB8 800A10B8 8FB00020 */ lw $s0, 0x20($sp) -/* 0A1CBC 800A10BC 8FB10024 */ lw $s1, 0x24($sp) -/* 0A1CC0 800A10C0 8FB20028 */ lw $s2, 0x28($sp) -/* 0A1CC4 800A10C4 03E00008 */ jr $ra -/* 0A1CC8 800A10C8 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/code_80091750/func_800A10CC.s b/asm/non_matchings/code_80091750/func_800A10CC.s deleted file mode 100644 index d145c02e6..000000000 --- a/asm/non_matchings/code_80091750/func_800A10CC.s +++ /dev/null @@ -1,76 +0,0 @@ -.section .late_rodata - -glabel D_800F1B14 -.float 0.65 - -.section .text - -glabel func_800A10CC -/* 0A1CCC 800A10CC 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 0A1CD0 800A10D0 AFBF0044 */ sw $ra, 0x44($sp) -/* 0A1CD4 800A10D4 AFB30040 */ sw $s3, 0x40($sp) -/* 0A1CD8 800A10D8 AFB2003C */ sw $s2, 0x3c($sp) -/* 0A1CDC 800A10DC AFB10038 */ sw $s1, 0x38($sp) -/* 0A1CE0 800A10E0 AFB00034 */ sw $s0, 0x34($sp) -/* 0A1CE4 800A10E4 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0A1CE8 800A10E8 8C820004 */ lw $v0, 4($a0) -/* 0A1CEC 800A10EC 24010002 */ li $at, 2 -/* 0A1CF0 800A10F0 00808025 */ move $s0, $a0 -/* 0A1CF4 800A10F4 10410007 */ beq $v0, $at, .L800A1114 -/* 0A1CF8 800A10F8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 0A1CFC 800A10FC 24010003 */ li $at, 3 -/* 0A1D00 800A1100 10410004 */ beq $v0, $at, .L800A1114 -/* 0A1D04 800A1104 24010004 */ li $at, 4 -/* 0A1D08 800A1108 10410002 */ beq $v0, $at, .L800A1114 -/* 0A1D0C 800A110C 24010005 */ li $at, 5 -/* 0A1D10 800A1110 14410027 */ bne $v0, $at, .L800A11B0 -.L800A1114: -/* 0A1D14 800A1114 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 0A1D18 800A1118 240E006E */ li $t6, 110 -/* 0A1D1C 800A111C 240F00FF */ li $t7, 255 -/* 0A1D20 800A1120 AFAF0020 */ sw $t7, 0x20($sp) -/* 0A1D24 800A1124 AFAE0010 */ sw $t6, 0x10($sp) -/* 0A1D28 800A1128 8E240000 */ lw $a0, ($s1) -/* 0A1D2C 800A112C 2405001E */ li $a1, 30 -/* 0A1D30 800A1130 24060032 */ li $a2, 50 -/* 0A1D34 800A1134 24070122 */ li $a3, 290 -/* 0A1D38 800A1138 AFA00014 */ sw $zero, 0x14($sp) -/* 0A1D3C 800A113C AFA00018 */ sw $zero, 0x18($sp) -/* 0A1D40 800A1140 0C026306 */ jal draw_box_fill -/* 0A1D44 800A1144 AFA0001C */ sw $zero, 0x1c($sp) -/* 0A1D48 800A1148 AE220000 */ sw $v0, ($s1) -/* 0A1D4C 800A114C 8E130004 */ lw $s3, 4($s0) -/* 0A1D50 800A1150 24040003 */ li $a0, 3 -/* 0A1D54 800A1154 0C024C36 */ jal set_text_color -/* 0A1D58 800A1158 2673FFFE */ addiu $s3, $s3, -2 -/* 0A1D5C 800A115C 0260C025 */ move $t8, $s3 -/* 0A1D60 800A1160 3C08800E */ lui $t0, %hi(D_800E7940) # $t0, 0x800e -/* 0A1D64 800A1164 25087940 */ addiu $t0, %lo(D_800E7940) # addiu $t0, $t0, 0x7940 -/* 0A1D68 800A1168 0018C900 */ sll $t9, $t8, 4 -/* 0A1D6C 800A116C 3C01800F */ lui $at, %hi(D_800F1B14) # $at, 0x800f -/* 0A1D70 800A1170 C4341B14 */ lwc1 $f20, %lo(D_800F1B14)($at) -/* 0A1D74 800A1174 03289021 */ addu $s2, $t9, $t0 -/* 0A1D78 800A1178 24130010 */ li $s3, 16 -/* 0A1D7C 800A117C 24100041 */ li $s0, 65 -/* 0A1D80 800A1180 00008825 */ move $s1, $zero -.L800A1184: -/* 0A1D84 800A1184 24040023 */ li $a0, 35 -/* 0A1D88 800A1188 02002825 */ move $a1, $s0 -/* 0A1D8C 800A118C 8E460000 */ lw $a2, ($s2) -/* 0A1D90 800A1190 00003825 */ move $a3, $zero -/* 0A1D94 800A1194 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A1D98 800A1198 0C024CC9 */ jal func_80093324 -/* 0A1D9C 800A119C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A1DA0 800A11A0 26310004 */ addiu $s1, $s1, 4 -/* 0A1DA4 800A11A4 2610000D */ addiu $s0, $s0, 0xd -/* 0A1DA8 800A11A8 1633FFF6 */ bne $s1, $s3, .L800A1184 -/* 0A1DAC 800A11AC 26520004 */ addiu $s2, $s2, 4 -.L800A11B0: -/* 0A1DB0 800A11B0 8FBF0044 */ lw $ra, 0x44($sp) -/* 0A1DB4 800A11B4 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0A1DB8 800A11B8 8FB00034 */ lw $s0, 0x34($sp) -/* 0A1DBC 800A11BC 8FB10038 */ lw $s1, 0x38($sp) -/* 0A1DC0 800A11C0 8FB2003C */ lw $s2, 0x3c($sp) -/* 0A1DC4 800A11C4 8FB30040 */ lw $s3, 0x40($sp) -/* 0A1DC8 800A11C8 03E00008 */ jr $ra -/* 0A1DCC 800A11CC 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/code_80091750/func_800A1780.s b/asm/non_matchings/code_80091750/func_800A1780.s deleted file mode 100644 index cc6c01087..000000000 --- a/asm/non_matchings/code_80091750/func_800A1780.s +++ /dev/null @@ -1,110 +0,0 @@ -glabel func_800A1780 -/* 0A2380 800A1780 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0A2384 800A1784 AFBF0014 */ sw $ra, 0x14($sp) -/* 0A2388 800A1788 AFA40018 */ sw $a0, 0x18($sp) -/* 0A238C 800A178C 8C870020 */ lw $a3, 0x20($a0) -/* 0A2390 800A1790 24010003 */ li $at, 3 -/* 0A2394 800A1794 3C1F800E */ lui $ra, %hi(D_800E74D0) # $ra, 0x800e -/* 0A2398 800A1798 24F80001 */ addiu $t8, $a3, 1 -/* 0A239C 800A179C 0301001A */ div $zero, $t8, $at -/* 0A23A0 800A17A0 27FF74D0 */ addiu $ra, %lo(D_800E74D0) # addiu $ra, $ra, 0x74d0 -/* 0A23A4 800A17A4 000778C0 */ sll $t7, $a3, 3 -/* 0A23A8 800A17A8 0000C810 */ mfhi $t9 -/* 0A23AC 800A17AC 03EF1821 */ addu $v1, $ra, $t7 -/* 0A23B0 800A17B0 8C82001C */ lw $v0, 0x1c($a0) -/* 0A23B4 800A17B4 001978C0 */ sll $t7, $t9, 3 -/* 0A23B8 800A17B8 94790000 */ lhu $t9, ($v1) -/* 0A23BC 800A17BC 24180100 */ li $t8, 256 -/* 0A23C0 800A17C0 03023023 */ subu $a2, $t8, $v0 -/* 0A23C4 800A17C4 03260019 */ multu $t9, $a2 -/* 0A23C8 800A17C8 03EF2821 */ addu $a1, $ra, $t7 -/* 0A23CC 800A17CC 94AE0000 */ lhu $t6, ($a1) -/* 0A23D0 800A17D0 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015 -/* 0A23D4 800A17D4 8D080298 */ lw $t0, %lo(gDisplayListHead)($t0) -/* 0A23D8 800A17D8 3C040200 */ lui $a0, %hi(D_02001FA4) # $a0, 0x200 -/* 0A23DC 800A17DC 24841FA4 */ addiu $a0, %lo(D_02001FA4) # addiu $a0, $a0, 0x1fa4 -/* 0A23E0 800A17E0 00007812 */ mflo $t7 -/* 0A23E4 800A17E4 00000000 */ nop -/* 0A23E8 800A17E8 00000000 */ nop -/* 0A23EC 800A17EC 01C20019 */ multu $t6, $v0 -/* 0A23F0 800A17F0 946E0002 */ lhu $t6, 2($v1) -/* 0A23F4 800A17F4 0000C012 */ mflo $t8 -/* 0A23F8 800A17F8 01F85021 */ addu $t2, $t7, $t8 -/* 0A23FC 800A17FC 94B80002 */ lhu $t8, 2($a1) -/* 0A2400 800A1800 01C60019 */ multu $t6, $a2 -/* 0A2404 800A1804 05410003 */ bgez $t2, .L800A1814 -/* 0A2408 800A1808 000ACA03 */ sra $t9, $t2, 8 -/* 0A240C 800A180C 254100FF */ addiu $at, $t2, 0xff -/* 0A2410 800A1810 0001CA03 */ sra $t9, $at, 8 -.L800A1814: -/* 0A2414 800A1814 03205025 */ move $t2, $t9 -/* 0A2418 800A1818 00007812 */ mflo $t7 -/* 0A241C 800A181C 00000000 */ nop -/* 0A2420 800A1820 00000000 */ nop -/* 0A2424 800A1824 03020019 */ multu $t8, $v0 -/* 0A2428 800A1828 94780004 */ lhu $t8, 4($v1) -/* 0A242C 800A182C 0000C812 */ mflo $t9 -/* 0A2430 800A1830 01F95821 */ addu $t3, $t7, $t9 -/* 0A2434 800A1834 94B90004 */ lhu $t9, 4($a1) -/* 0A2438 800A1838 03060019 */ multu $t8, $a2 -/* 0A243C 800A183C 05610003 */ bgez $t3, .L800A184C -/* 0A2440 800A1840 000B7203 */ sra $t6, $t3, 8 -/* 0A2444 800A1844 256100FF */ addiu $at, $t3, 0xff -/* 0A2448 800A1848 00017203 */ sra $t6, $at, 8 -.L800A184C: -/* 0A244C 800A184C 01C05825 */ move $t3, $t6 -/* 0A2450 800A1850 00007812 */ mflo $t7 -/* 0A2454 800A1854 00000000 */ nop -/* 0A2458 800A1858 00000000 */ nop -/* 0A245C 800A185C 03220019 */ multu $t9, $v0 -/* 0A2460 800A1860 94790006 */ lhu $t9, 6($v1) -/* 0A2464 800A1864 00007012 */ mflo $t6 -/* 0A2468 800A1868 01EE6021 */ addu $t4, $t7, $t6 -/* 0A246C 800A186C 94AE0006 */ lhu $t6, 6($a1) -/* 0A2470 800A1870 03260019 */ multu $t9, $a2 -/* 0A2474 800A1874 05810003 */ bgez $t4, .L800A1884 -/* 0A2478 800A1878 000CC203 */ sra $t8, $t4, 8 -/* 0A247C 800A187C 258100FF */ addiu $at, $t4, 0xff -/* 0A2480 800A1880 0001C203 */ sra $t8, $at, 8 -.L800A1884: -/* 0A2484 800A1884 03006025 */ move $t4, $t8 -/* 0A2488 800A1888 00007812 */ mflo $t7 -/* 0A248C 800A188C 00000000 */ nop -/* 0A2490 800A1890 00000000 */ nop -/* 0A2494 800A1894 01C20019 */ multu $t6, $v0 -/* 0A2498 800A1898 250E0008 */ addiu $t6, $t0, 8 -/* 0A249C 800A189C 0000C012 */ mflo $t8 -/* 0A24A0 800A18A0 01F86821 */ addu $t5, $t7, $t8 -/* 0A24A4 800A18A4 05A10003 */ bgez $t5, .L800A18B4 -/* 0A24A8 800A18A8 000DCA03 */ sra $t9, $t5, 8 -/* 0A24AC 800A18AC 25A100FF */ addiu $at, $t5, 0xff -/* 0A24B0 800A18B0 0001CA03 */ sra $t9, $at, 8 -.L800A18B4: -/* 0A24B4 800A18B4 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015 -/* 0A24B8 800A18B8 AC2E0298 */ sw $t6, %lo(gDisplayListHead)($at) -/* 0A24BC 800A18BC 3C0FFA00 */ lui $t7, 0xfa00 -/* 0A24C0 800A18C0 316E00FF */ andi $t6, $t3, 0xff -/* 0A24C4 800A18C4 AD0F0000 */ sw $t7, ($t0) -/* 0A24C8 800A18C8 03206825 */ move $t5, $t9 -/* 0A24CC 800A18CC 000E7C00 */ sll $t7, $t6, 0x10 -/* 0A24D0 800A18D0 000ACE00 */ sll $t9, $t2, 0x18 -/* 0A24D4 800A18D4 032FC025 */ or $t8, $t9, $t7 -/* 0A24D8 800A18D8 318E00FF */ andi $t6, $t4, 0xff -/* 0A24DC 800A18DC 000ECA00 */ sll $t9, $t6, 8 -/* 0A24E0 800A18E0 03197825 */ or $t7, $t8, $t9 -/* 0A24E4 800A18E4 31AE00FF */ andi $t6, $t5, 0xff -/* 0A24E8 800A18E8 01EEC025 */ or $t8, $t7, $t6 -/* 0A24EC 800A18EC 0C026449 */ jal segmented_to_virtual_dupe -/* 0A24F0 800A18F0 AD180004 */ sw $t8, 4($t0) -/* 0A24F4 800A18F4 8FA30018 */ lw $v1, 0x18($sp) -/* 0A24F8 800A18F8 3C048015 */ lui $a0, %hi(gDisplayListHead) # $a0, 0x8015 -/* 0A24FC 800A18FC 8C840298 */ lw $a0, %lo(gDisplayListHead)($a0) -/* 0A2500 800A1900 00402825 */ move $a1, $v0 -/* 0A2504 800A1904 8C66000C */ lw $a2, 0xc($v1) -/* 0A2508 800A1908 0C026E9D */ jal func_8009BA74 -/* 0A250C 800A190C 8C670010 */ lw $a3, 0x10($v1) -/* 0A2510 800A1910 8FBF0014 */ lw $ra, 0x14($sp) -/* 0A2514 800A1914 3C018015 */ lui $at, %hi(gDisplayListHead) # $at, 0x8015 -/* 0A2518 800A1918 AC220298 */ sw $v0, %lo(gDisplayListHead)($at) -/* 0A251C 800A191C 03E00008 */ jr $ra -/* 0A2520 800A1920 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/code_80091750/func_800A1BE0.s b/asm/non_matchings/code_80091750/func_800A1BE0.s deleted file mode 100644 index 390886cf9..000000000 --- a/asm/non_matchings/code_80091750/func_800A1BE0.s +++ /dev/null @@ -1,145 +0,0 @@ -.section .late_rodata - -glabel D_800F1B54 -.float 0.6 - -.section .text - -glabel func_800A1BE0 -/* 0A27E0 800A1BE0 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0A27E4 800A1BE4 AFB70044 */ sw $s7, 0x44($sp) -/* 0A27E8 800A1BE8 3C178019 */ lui $s7, %hi(gTimeTrialDataCourseIndex) # $s7, 0x8019 -/* 0A27EC 800A1BEC 26F7EDF7 */ addiu $s7, %lo(gTimeTrialDataCourseIndex) # addiu $s7, $s7, -0x1209 -/* 0A27F0 800A1BF0 82E20000 */ lb $v0, ($s7) -/* 0A27F4 800A1BF4 AFB5003C */ sw $s5, 0x3c($sp) -/* 0A27F8 800A1BF8 AFB30034 */ sw $s3, 0x34($sp) -/* 0A27FC 800A1BFC 3C098019 */ lui $t1, %hi(gSaveData) # $t1, 0x8019 -/* 0A2800 800A1C00 AFBE0048 */ sw $fp, 0x48($sp) -/* 0A2804 800A1C04 AFB60040 */ sw $s6, 0x40($sp) -/* 0A2808 800A1C08 AFB40038 */ sw $s4, 0x38($sp) -/* 0A280C 800A1C0C AFB00028 */ sw $s0, 0x28($sp) -/* 0A2810 800A1C10 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0A2814 800A1C14 2529EB90 */ addiu $t1, %lo(gSaveData) # addiu $t1, $t1, -0x1470 -/* 0A2818 800A1C18 3C13800E */ lui $s3, %hi(D_800E7834) # $s3, 0x800e -/* 0A281C 800A1C1C 3C158015 */ lui $s5, %hi(gDisplayListHead) # $s5, 0x8015 -/* 0A2820 800A1C20 AFBF004C */ sw $ra, 0x4c($sp) -/* 0A2824 800A1C24 AFB20030 */ sw $s2, 0x30($sp) -/* 0A2828 800A1C28 AFB1002C */ sw $s1, 0x2c($sp) -/* 0A282C 800A1C2C AFA40090 */ sw $a0, 0x90($sp) -/* 0A2830 800A1C30 04410003 */ bgez $v0, .L800A1C40 -/* 0A2834 800A1C34 00027083 */ sra $t6, $v0, 2 -/* 0A2838 800A1C38 24410003 */ addiu $at, $v0, 3 -/* 0A283C 800A1C3C 00017083 */ sra $t6, $at, 2 -.L800A1C40: -/* 0A2840 800A1C40 000E7880 */ sll $t7, $t6, 2 -/* 0A2844 800A1C44 01EE7823 */ subu $t7, $t7, $t6 -/* 0A2848 800A1C48 000F7940 */ sll $t7, $t7, 5 -/* 0A284C 800A1C4C 04410004 */ bgez $v0, .L800A1C60 -/* 0A2850 800A1C50 30580003 */ andi $t8, $v0, 3 -/* 0A2854 800A1C54 13000002 */ beqz $t8, .L800A1C60 -/* 0A2858 800A1C58 00000000 */ nop -/* 0A285C 800A1C5C 2718FFFC */ addiu $t8, $t8, -4 -.L800A1C60: -/* 0A2860 800A1C60 0018C880 */ sll $t9, $t8, 2 -/* 0A2864 800A1C64 0338C823 */ subu $t9, $t9, $t8 -/* 0A2868 800A1C68 0019C8C0 */ sll $t9, $t9, 3 -/* 0A286C 800A1C6C 01F94021 */ addu $t0, $t7, $t9 -/* 0A2870 800A1C70 3C01800F */ lui $at, %hi(D_800F1B54) # $at, 0x800f -/* 0A2874 800A1C74 0109B021 */ addu $s6, $t0, $t1 -/* 0A2878 800A1C78 C4341B54 */ lwc1 $f20, %lo(D_800F1B54)($at) -/* 0A287C 800A1C7C 26B50298 */ addiu $s5, %lo(gDisplayListHead) # addiu $s5, $s5, 0x298 -/* 0A2880 800A1C80 26737834 */ addiu $s3, %lo(D_800E7834) # addiu $s3, $s3, 0x7834 -/* 0A2884 800A1C84 00008025 */ move $s0, $zero -/* 0A2888 800A1C88 2414003F */ li $s4, 63 -/* 0A288C 800A1C8C 3C1EFA00 */ lui $fp, 0xfa00 -.L800A1C90: -/* 0A2890 800A1C90 3C0A8019 */ lui $t2, %hi(gCourseRecordsMenuSelection) # $t2, 0x8019 -/* 0A2894 800A1C94 814AEDF8 */ lb $t2, %lo(gCourseRecordsMenuSelection)($t2) -/* 0A2898 800A1C98 00008825 */ move $s1, $zero -/* 0A289C 800A1C9C 24010001 */ li $at, 1 -/* 0A28A0 800A1CA0 160A0003 */ bne $s0, $t2, .L800A1CB0 -/* 0A28A4 800A1CA4 00000000 */ nop -/* 0A28A8 800A1CA8 10000012 */ b .L800A1CF4 -/* 0A28AC 800A1CAC 24120005 */ li $s2, 5 -.L800A1CB0: -/* 0A28B0 800A1CB0 12010006 */ beq $s0, $at, .L800A1CCC -/* 0A28B4 800A1CB4 24120001 */ li $s2, 1 -/* 0A28B8 800A1CB8 24010002 */ li $at, 2 -/* 0A28BC 800A1CBC 12010008 */ beq $s0, $at, .L800A1CE0 -/* 0A28C0 800A1CC0 00000000 */ nop -/* 0A28C4 800A1CC4 1000000B */ b .L800A1CF4 -/* 0A28C8 800A1CC8 00000000 */ nop -.L800A1CCC: -/* 0A28CC 800A1CCC 92CB0012 */ lbu $t3, 0x12($s6) -/* 0A28D0 800A1CD0 15600008 */ bnez $t3, .L800A1CF4 -/* 0A28D4 800A1CD4 00000000 */ nop -/* 0A28D8 800A1CD8 10000006 */ b .L800A1CF4 -/* 0A28DC 800A1CDC 24110001 */ li $s1, 1 -.L800A1CE0: -/* 0A28E0 800A1CE0 0C02D8E7 */ jal func_800B639C -/* 0A28E4 800A1CE4 82E40000 */ lb $a0, ($s7) -/* 0A28E8 800A1CE8 04410002 */ bgez $v0, .L800A1CF4 -/* 0A28EC 800A1CEC 00000000 */ nop -/* 0A28F0 800A1CF0 24110001 */ li $s1, 1 -.L800A1CF4: -/* 0A28F4 800A1CF4 12200012 */ beqz $s1, .L800A1D40 -/* 0A28F8 800A1CF8 00000000 */ nop -/* 0A28FC 800A1CFC 0C024C36 */ jal set_text_color -/* 0A2900 800A1D00 00002025 */ move $a0, $zero -/* 0A2904 800A1D04 8EA30000 */ lw $v1, ($s5) -/* 0A2908 800A1D08 240D0096 */ li $t5, 150 -/* 0A290C 800A1D0C 24040025 */ li $a0, 37 -/* 0A2910 800A1D10 246C0008 */ addiu $t4, $v1, 8 -/* 0A2914 800A1D14 AEAC0000 */ sw $t4, ($s5) -/* 0A2918 800A1D18 AC6D0004 */ sw $t5, 4($v1) -/* 0A291C 800A1D1C AC7E0000 */ sw $fp, ($v1) -/* 0A2920 800A1D20 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2924 800A1D24 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2928 800A1D28 8E660000 */ lw $a2, ($s3) -/* 0A292C 800A1D2C 02802825 */ move $a1, $s4 -/* 0A2930 800A1D30 0C024CD6 */ jal func_80093358 -/* 0A2934 800A1D34 00003825 */ move $a3, $zero -/* 0A2938 800A1D38 1000000B */ b .L800A1D68 -/* 0A293C 800A1D3C 26100001 */ addiu $s0, $s0, 1 -.L800A1D40: -/* 0A2940 800A1D40 0C024C36 */ jal set_text_color -/* 0A2944 800A1D44 02402025 */ move $a0, $s2 -/* 0A2948 800A1D48 24040025 */ li $a0, 37 -/* 0A294C 800A1D4C 02802825 */ move $a1, $s4 -/* 0A2950 800A1D50 8E660000 */ lw $a2, ($s3) -/* 0A2954 800A1D54 00003825 */ move $a3, $zero -/* 0A2958 800A1D58 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A295C 800A1D5C 0C024CC9 */ jal func_80093324 -/* 0A2960 800A1D60 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2964 800A1D64 26100001 */ addiu $s0, $s0, 1 -.L800A1D68: -/* 0A2968 800A1D68 24010003 */ li $at, 3 -/* 0A296C 800A1D6C 26730004 */ addiu $s3, $s3, 4 -/* 0A2970 800A1D70 1601FFC7 */ bne $s0, $at, .L800A1C90 -/* 0A2974 800A1D74 2694000D */ addiu $s4, $s4, 0xd -/* 0A2978 800A1D78 3C188019 */ lui $t8, %hi(gCourseRecordsMenuSelection) # $t8, 0x8019 -/* 0A297C 800A1D7C 8318EDF8 */ lb $t8, %lo(gCourseRecordsMenuSelection)($t8) -/* 0A2980 800A1D80 240E001F */ li $t6, 31 -/* 0A2984 800A1D84 A7AE0078 */ sh $t6, 0x78($sp) -/* 0A2988 800A1D88 00187880 */ sll $t7, $t8, 2 -/* 0A298C 800A1D8C 01F87823 */ subu $t7, $t7, $t8 -/* 0A2990 800A1D90 000F7880 */ sll $t7, $t7, 2 -/* 0A2994 800A1D94 01F87821 */ addu $t7, $t7, $t8 -/* 0A2998 800A1D98 25F9003A */ addiu $t9, $t7, 0x3a -/* 0A299C 800A1D9C A7B9007A */ sh $t9, 0x7a($sp) -/* 0A29A0 800A1DA0 8FA40090 */ lw $a0, 0x90($sp) -/* 0A29A4 800A1DA4 0C0299AA */ jal func_800A66A8 -/* 0A29A8 800A1DA8 27A50078 */ addiu $a1, $sp, 0x78 -/* 0A29AC 800A1DAC 8FBF004C */ lw $ra, 0x4c($sp) -/* 0A29B0 800A1DB0 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0A29B4 800A1DB4 8FB00028 */ lw $s0, 0x28($sp) -/* 0A29B8 800A1DB8 8FB1002C */ lw $s1, 0x2c($sp) -/* 0A29BC 800A1DBC 8FB20030 */ lw $s2, 0x30($sp) -/* 0A29C0 800A1DC0 8FB30034 */ lw $s3, 0x34($sp) -/* 0A29C4 800A1DC4 8FB40038 */ lw $s4, 0x38($sp) -/* 0A29C8 800A1DC8 8FB5003C */ lw $s5, 0x3c($sp) -/* 0A29CC 800A1DCC 8FB60040 */ lw $s6, 0x40($sp) -/* 0A29D0 800A1DD0 8FB70044 */ lw $s7, 0x44($sp) -/* 0A29D4 800A1DD4 8FBE0048 */ lw $fp, 0x48($sp) -/* 0A29D8 800A1DD8 03E00008 */ jr $ra -/* 0A29DC 800A1DDC 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_80091750/func_800A1DE0.s b/asm/non_matchings/code_80091750/func_800A1DE0.s deleted file mode 100644 index a5d23331f..000000000 --- a/asm/non_matchings/code_80091750/func_800A1DE0.s +++ /dev/null @@ -1,95 +0,0 @@ -.section .late_rodata - -glabel D_800F1B58 -.float 0.65 - -.section .text - -glabel func_800A1DE0 -/* 0A29E0 800A1DE0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0A29E4 800A1DE4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0A29E8 800A1DE8 AFA40070 */ sw $a0, 0x70($sp) -/* 0A29EC 800A1DEC AFB40038 */ sw $s4, 0x38($sp) -/* 0A29F0 800A1DF0 AFB30034 */ sw $s3, 0x34($sp) -/* 0A29F4 800A1DF4 AFB20030 */ sw $s2, 0x30($sp) -/* 0A29F8 800A1DF8 AFB1002C */ sw $s1, 0x2c($sp) -/* 0A29FC 800A1DFC AFB00028 */ sw $s0, 0x28($sp) -/* 0A2A00 800A1E00 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0A2A04 800A1E04 0C024C36 */ jal set_text_color -/* 0A2A08 800A1E08 24040001 */ li $a0, 1 -/* 0A2A0C 800A1E0C 3C01800F */ lui $at, %hi(D_800F1B58) # $at, 0x800f -/* 0A2A10 800A1E10 3C138019 */ lui $s3, %hi(gCourseRecordsMenuSelection) # $s3, 0x8019 -/* 0A2A14 800A1E14 3C12800E */ lui $s2, %hi(D_800E7848) # $s2, 0x800e -/* 0A2A18 800A1E18 26527848 */ addiu $s2, %lo(D_800E7848) # addiu $s2, $s2, 0x7848 -/* 0A2A1C 800A1E1C 2673EDF8 */ addiu $s3, %lo(gCourseRecordsMenuSelection) # addiu $s3, $s3, -0x1208 -/* 0A2A20 800A1E20 C4341B58 */ lwc1 $f20, %lo(D_800F1B58)($at) -/* 0A2A24 800A1E24 00008825 */ move $s1, $zero -/* 0A2A28 800A1E28 2410003C */ li $s0, 60 -/* 0A2A2C 800A1E2C 24140003 */ li $s4, 3 -.L800A1E30: -/* 0A2A30 800A1E30 826E0000 */ lb $t6, ($s3) -/* 0A2A34 800A1E34 2404001B */ li $a0, 27 -/* 0A2A38 800A1E38 02002825 */ move $a1, $s0 -/* 0A2A3C 800A1E3C 01D40019 */ multu $t6, $s4 -/* 0A2A40 800A1E40 00003825 */ move $a3, $zero -/* 0A2A44 800A1E44 00007812 */ mflo $t7 -/* 0A2A48 800A1E48 000FC080 */ sll $t8, $t7, 2 -/* 0A2A4C 800A1E4C 0258C821 */ addu $t9, $s2, $t8 -/* 0A2A50 800A1E50 03314021 */ addu $t0, $t9, $s1 -/* 0A2A54 800A1E54 8D06FFF4 */ lw $a2, -0xc($t0) -/* 0A2A58 800A1E58 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2A5C 800A1E5C 0C024CC9 */ jal func_80093324 -/* 0A2A60 800A1E60 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2A64 800A1E64 2610000D */ addiu $s0, $s0, 0xd -/* 0A2A68 800A1E68 2A010063 */ slti $at, $s0, 0x63 -/* 0A2A6C 800A1E6C 1420FFF0 */ bnez $at, .L800A1E30 -/* 0A2A70 800A1E70 26310004 */ addiu $s1, $s1, 4 -/* 0A2A74 800A1E74 3C10800E */ lui $s0, %hi(D_800E7840) # $s0, 0x800e -/* 0A2A78 800A1E78 3C138019 */ lui $s3, %hi(D_8018EDF9) # $s3, 0x8019 -/* 0A2A7C 800A1E7C 2673EDF9 */ addiu $s3, %lo(D_8018EDF9) # addiu $s3, $s3, -0x1207 -/* 0A2A80 800A1E80 26107840 */ addiu $s0, %lo(D_800E7840) # addiu $s0, $s0, 0x7840 -/* 0A2A84 800A1E84 00009025 */ move $s2, $zero -/* 0A2A88 800A1E88 2411006E */ li $s1, 110 -/* 0A2A8C 800A1E8C 24140002 */ li $s4, 2 -.L800A1E90: -/* 0A2A90 800A1E90 82690000 */ lb $t1, ($s3) -/* 0A2A94 800A1E94 24040001 */ li $a0, 1 -/* 0A2A98 800A1E98 16490003 */ bne $s2, $t1, .L800A1EA8 -/* 0A2A9C 800A1E9C 00000000 */ nop -/* 0A2AA0 800A1EA0 10000001 */ b .L800A1EA8 -/* 0A2AA4 800A1EA4 24040005 */ li $a0, 5 -.L800A1EA8: -/* 0A2AA8 800A1EA8 0C024C36 */ jal set_text_color -/* 0A2AAC 800A1EAC 00000000 */ nop -/* 0A2AB0 800A1EB0 24040043 */ li $a0, 67 -/* 0A2AB4 800A1EB4 02202825 */ move $a1, $s1 -/* 0A2AB8 800A1EB8 8E060000 */ lw $a2, ($s0) -/* 0A2ABC 800A1EBC 00003825 */ move $a3, $zero -/* 0A2AC0 800A1EC0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A2AC4 800A1EC4 0C024CC9 */ jal func_80093324 -/* 0A2AC8 800A1EC8 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A2ACC 800A1ECC 26520001 */ addiu $s2, $s2, 1 -/* 0A2AD0 800A1ED0 26100004 */ addiu $s0, $s0, 4 -/* 0A2AD4 800A1ED4 1654FFEE */ bne $s2, $s4, .L800A1E90 -/* 0A2AD8 800A1ED8 2631000D */ addiu $s1, $s1, 0xd -/* 0A2ADC 800A1EDC 826B0000 */ lb $t3, ($s3) -/* 0A2AE0 800A1EE0 240A003B */ li $t2, 59 -/* 0A2AE4 800A1EE4 A7AA0058 */ sh $t2, 0x58($sp) -/* 0A2AE8 800A1EE8 000B6080 */ sll $t4, $t3, 2 -/* 0A2AEC 800A1EEC 018B6023 */ subu $t4, $t4, $t3 -/* 0A2AF0 800A1EF0 000C6080 */ sll $t4, $t4, 2 -/* 0A2AF4 800A1EF4 018B6021 */ addu $t4, $t4, $t3 -/* 0A2AF8 800A1EF8 258D0066 */ addiu $t5, $t4, 0x66 -/* 0A2AFC 800A1EFC A7AD005A */ sh $t5, 0x5a($sp) -/* 0A2B00 800A1F00 8FA40070 */ lw $a0, 0x70($sp) -/* 0A2B04 800A1F04 0C0299AA */ jal func_800A66A8 -/* 0A2B08 800A1F08 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A2B0C 800A1F0C 8FBF003C */ lw $ra, 0x3c($sp) -/* 0A2B10 800A1F10 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0A2B14 800A1F14 8FB00028 */ lw $s0, 0x28($sp) -/* 0A2B18 800A1F18 8FB1002C */ lw $s1, 0x2c($sp) -/* 0A2B1C 800A1F1C 8FB20030 */ lw $s2, 0x30($sp) -/* 0A2B20 800A1F20 8FB30034 */ lw $s3, 0x34($sp) -/* 0A2B24 800A1F24 8FB40038 */ lw $s4, 0x38($sp) -/* 0A2B28 800A1F28 03E00008 */ jr $ra -/* 0A2B2C 800A1F2C 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/code_80091750/func_800A3E60.s b/asm/non_matchings/code_80091750/func_800A3E60.s deleted file mode 100644 index 1c27cf4ee..000000000 --- a/asm/non_matchings/code_80091750/func_800A3E60.s +++ /dev/null @@ -1,522 +0,0 @@ -.section .late_rodata - -glabel D_800F1CCC -.float 0.6 - -glabel jpt_800F1CD0 -.word L800A3FA4, L800A4478, L800A4478, L800A4478 -.word L800A3FA4, L800A3FA4, L800A3FA4, L800A3FA4 -.word L800A3FA4, L800A3FA4, L800A40C4, L800A40C4 -.word L800A40C4, L800A40C4, L800A40C4, L800A40C4 -.word L800A412C, L800A412C, L800A42A8, L800A4308 -.word L800A4308, L800A4478, L800A4478, L800A4478 -.word L800A43C4, L800A4424, L800A4478, L800A4478 -.word L800A4478, L800A3FA4 - -glabel D_800F1D48 -.float 0.7 - -glabel D_800F1D4C -.float 0.45 - -glabel D_800F1D50 -.float 0.8 - -glabel D_800F1D54 -.float 0.67 - -glabel D_800F1D58 -.float 0.67 - -glabel jpt_800F1D5C -.word L800A449C, L800A449C, L800A449C, L800A449C -.word L800A449C, L800A449C, L800A4528, L800A4528 -.word L800A4528, L800A4528, L800A4528, L800A4528 -.word L800A44B4, L800A44B4, L800A4528, L800A44CC -.word L800A44CC, L800A4528, L800A4528, L800A4528 -.word L800A4528, L800A4528, L800A4528, L800A4528 -.word L800A4528, L800A44E4 - -.section .text - -glabel func_800A3E60 -/* 0A4A60 800A3E60 27BDFF70 */ addiu $sp, $sp, -0x90 -/* 0A4A64 800A3E64 AFBF0044 */ sw $ra, 0x44($sp) -/* 0A4A68 800A3E68 AFB30040 */ sw $s3, 0x40($sp) -/* 0A4A6C 800A3E6C AFB2003C */ sw $s2, 0x3c($sp) -/* 0A4A70 800A3E70 AFB10038 */ sw $s1, 0x38($sp) -/* 0A4A74 800A3E74 AFB00034 */ sw $s0, 0x34($sp) -/* 0A4A78 800A3E78 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 0A4A7C 800A3E7C F7B60020 */ sdc1 $f22, 0x20($sp) -/* 0A4A80 800A3E80 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 0A4A84 800A3E84 8C820004 */ lw $v0, 4($a0) -/* 0A4A88 800A3E88 00809825 */ move $s3, $a0 -/* 0A4A8C 800A3E8C 2401001F */ li $at, 31 -/* 0A4A90 800A3E90 504001A6 */ beql $v0, $zero, .L800A452C -/* 0A4A94 800A3E94 8FBF0044 */ lw $ra, 0x44($sp) -/* 0A4A98 800A3E98 504101A4 */ beql $v0, $at, .L800A452C -/* 0A4A9C 800A3E9C 8FBF0044 */ lw $ra, 0x44($sp) -/* 0A4AA0 800A3EA0 0C024C36 */ jal set_text_color -/* 0A4AA4 800A3EA4 24040004 */ li $a0, 4 -/* 0A4AA8 800A3EA8 3C188019 */ lui $t8, %hi(gCupSelection) # $t8, 0x8019 -/* 0A4AAC 800A3EAC 3C098019 */ lui $t1, %hi(gCupCourseSelection) # $t1, 0x8019 -/* 0A4AB0 800A3EB0 8129EE0B */ lb $t1, %lo(gCupCourseSelection)($t1) -/* 0A4AB4 800A3EB4 8318EE09 */ lb $t8, %lo(gCupSelection)($t8) -/* 0A4AB8 800A3EB8 3C0C800F */ lui $t4, %hi(gCupCourseOrder) -/* 0A4ABC 800A3EBC 00095040 */ sll $t2, $t1, 1 -/* 0A4AC0 800A3EC0 0018C8C0 */ sll $t9, $t8, 3 -/* 0A4AC4 800A3EC4 032A5821 */ addu $t3, $t9, $t2 -/* 0A4AC8 800A3EC8 018B6021 */ addu $t4, $t4, $t3 -/* 0A4ACC 800A3ECC 858C2BB4 */ lh $t4, %lo(gCupCourseOrder)($t4) -/* 0A4AD0 800A3ED0 3C01800F */ lui $at, %hi(D_800F1CCC) # $at, 0x800f -/* 0A4AD4 800A3ED4 C4381CCC */ lwc1 $f24, %lo(D_800F1CCC)($at) -/* 0A4AD8 800A3ED8 8E64000C */ lw $a0, 0xc($s3) -/* 0A4ADC 800A3EDC 8E6E0010 */ lw $t6, 0x10($s3) -/* 0A4AE0 800A3EE0 3C06800E */ lui $a2, %hi(D_800E7574) -/* 0A4AE4 800A3EE4 000C6880 */ sll $t5, $t4, 2 -/* 0A4AE8 800A3EE8 00CD3021 */ addu $a2, $a2, $t5 -/* 0A4AEC 800A3EEC 240F0019 */ li $t7, 25 -/* 0A4AF0 800A3EF0 8CC67574 */ lw $a2, %lo(D_800E7574)($a2) -/* 0A4AF4 800A3EF4 00003825 */ move $a3, $zero -/* 0A4AF8 800A3EF8 E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A4AFC 800A3EFC E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A4B00 800A3F00 24840055 */ addiu $a0, $a0, 0x55 -/* 0A4B04 800A3F04 0C024DBB */ jal draw_text -/* 0A4B08 800A3F08 01EE2823 */ subu $a1, $t7, $t6 -/* 0A4B0C 800A3F0C 0C024C36 */ jal set_text_color -/* 0A4B10 800A3F10 24040003 */ li $a0, 3 -/* 0A4B14 800A3F14 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A4B18 800A3F18 4481B000 */ mtc1 $at, $f22 -/* 0A4B1C 800A3F1C 8E64000C */ lw $a0, 0xc($s3) -/* 0A4B20 800A3F20 8E6F0010 */ lw $t7, 0x10($s3) -/* 0A4B24 800A3F24 240E0028 */ li $t6, 40 -/* 0A4B28 800A3F28 3C06800E */ lui $a2, %hi(D_800E7730) # $a2, 0x800e -/* 0A4B2C 800A3F2C 8CC67730 */ lw $a2, %lo(D_800E7730)($a2) -/* 0A4B30 800A3F30 00003825 */ move $a3, $zero -/* 0A4B34 800A3F34 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A4B38 800A3F38 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A4B3C 800A3F3C 24840055 */ addiu $a0, $a0, 0x55 -/* 0A4B40 800A3F40 0C024DBB */ jal draw_text -/* 0A4B44 800A3F44 01CF2823 */ subu $a1, $t6, $t7 -/* 0A4B48 800A3F48 00008825 */ move $s1, $zero -/* 0A4B4C 800A3F4C 00008025 */ move $s0, $zero -.L800A3F50: -/* 0A4B50 800A3F50 8E780010 */ lw $t8, 0x10($s3) -/* 0A4B54 800A3F54 8E65000C */ lw $a1, 0xc($s3) -/* 0A4B58 800A3F58 02202025 */ move $a0, $s1 -/* 0A4B5C 800A3F5C 02183023 */ subu $a2, $s0, $t8 -/* 0A4B60 800A3F60 24C60037 */ addiu $a2, $a2, 0x37 -/* 0A4B64 800A3F64 0C029154 */ jal func_800A4550 -/* 0A4B68 800A3F68 24A50026 */ addiu $a1, $a1, 0x26 -/* 0A4B6C 800A3F6C 26310001 */ addiu $s1, $s1, 1 -/* 0A4B70 800A3F70 2A210004 */ slti $at, $s1, 4 -/* 0A4B74 800A3F74 1420FFF6 */ bnez $at, .L800A3F50 -/* 0A4B78 800A3F78 2610000F */ addiu $s0, $s0, 0xf -/* 0A4B7C 800A3F7C 8E630004 */ lw $v1, 4($s3) -/* 0A4B80 800A3F80 2469FFFF */ addiu $t1, $v1, -1 -/* 0A4B84 800A3F84 2D21001E */ sltiu $at, $t1, 0x1e -/* 0A4B88 800A3F88 1020013B */ beqz $at, .L800A4478 -/* 0A4B8C 800A3F8C 00094880 */ sll $t1, $t1, 2 -/* 0A4B90 800A3F90 3C01800F */ lui $at, %hi(jpt_800F1CD0) -/* 0A4B94 800A3F94 00290821 */ addu $at, $at, $t1 -/* 0A4B98 800A3F98 8C291CD0 */ lw $t1, %lo(jpt_800F1CD0)($at) -/* 0A4B9C 800A3F9C 01200008 */ jr $t1 -/* 0A4BA0 800A3FA0 00000000 */ nop -glabel L800A3FA4 -/* 0A4BA4 800A3FA4 3C10800E */ lui $s0, %hi(D_800E775C) # $s0, 0x800e -/* 0A4BA8 800A3FA8 2610775C */ addiu $s0, %lo(D_800E775C) # addiu $s0, $s0, 0x775c -/* 0A4BAC 800A3FAC 00008825 */ move $s1, $zero -/* 0A4BB0 800A3FB0 00009025 */ move $s2, $zero -.L800A3FB4: -/* 0A4BB4 800A3FB4 8E640004 */ lw $a0, 4($s3) -/* 0A4BB8 800A3FB8 AFA0006C */ sw $zero, 0x6c($sp) -/* 0A4BBC 800A3FBC 02202825 */ move $a1, $s1 -/* 0A4BC0 800A3FC0 24060001 */ li $a2, 1 -/* 0A4BC4 800A3FC4 0C024870 */ jal func_800921C0 -/* 0A4BC8 800A3FC8 2484FFFB */ addiu $a0, $a0, -5 -/* 0A4BCC 800A3FCC 24010004 */ li $at, 4 -/* 0A4BD0 800A3FD0 12210006 */ beq $s1, $at, .L800A3FEC -/* 0A4BD4 800A3FD4 8FA3006C */ lw $v1, 0x6c($sp) -/* 0A4BD8 800A3FD8 24010005 */ li $at, 5 -/* 0A4BDC 800A3FDC 1221000A */ beq $s1, $at, .L800A4008 -/* 0A4BE0 800A3FE0 3C0A8016 */ lui $t2, %hi(D_80162DD4) # $t2, 0x8016 -/* 0A4BE4 800A3FE4 1000000C */ b .L800A4018 -/* 0A4BE8 800A3FE8 00000000 */ nop -.L800A3FEC: -/* 0A4BEC 800A3FEC 3C198016 */ lui $t9, %hi(D_80162DF8) # $t9, 0x8016 -/* 0A4BF0 800A3FF0 8F392DF8 */ lw $t9, %lo(D_80162DF8)($t9) -/* 0A4BF4 800A3FF4 24010001 */ li $at, 1 -/* 0A4BF8 800A3FF8 17210007 */ bne $t9, $at, .L800A4018 -/* 0A4BFC 800A3FFC 00000000 */ nop -/* 0A4C00 800A4000 10000005 */ b .L800A4018 -/* 0A4C04 800A4004 24030001 */ li $v1, 1 -.L800A4008: -/* 0A4C08 800A4008 954A2DD4 */ lhu $t2, %lo(D_80162DD4)($t2) -/* 0A4C0C 800A400C 11400002 */ beqz $t2, .L800A4018 -/* 0A4C10 800A4010 00000000 */ nop -/* 0A4C14 800A4014 24030002 */ li $v1, 2 -.L800A4018: -/* 0A4C18 800A4018 10600019 */ beqz $v1, .L800A4080 -/* 0A4C1C 800A401C 241900B2 */ li $t9, 178 -/* 0A4C20 800A4020 0C024C36 */ jal set_text_color -/* 0A4C24 800A4024 00002025 */ move $a0, $zero -/* 0A4C28 800A4028 3C088015 */ lui $t0, %hi(gDisplayListHead) # $t0, 0x8015 -/* 0A4C2C 800A402C 25080298 */ addiu $t0, %lo(gDisplayListHead) # addiu $t0, $t0, 0x298 -/* 0A4C30 800A4030 8D030000 */ lw $v1, ($t0) -/* 0A4C34 800A4034 3C0CFA00 */ lui $t4, 0xfa00 -/* 0A4C38 800A4038 240D0096 */ li $t5, 150 -/* 0A4C3C 800A403C 246B0008 */ addiu $t3, $v1, 8 -/* 0A4C40 800A4040 AD0B0000 */ sw $t3, ($t0) -/* 0A4C44 800A4044 AC6D0004 */ sw $t5, 4($v1) -/* 0A4C48 800A4048 AC6C0000 */ sw $t4, ($v1) -/* 0A4C4C 800A404C 8E780010 */ lw $t8, 0x10($s3) -/* 0A4C50 800A4050 8E6E000C */ lw $t6, 0xc($s3) -/* 0A4C54 800A4054 240F00B2 */ li $t7, 178 -/* 0A4C58 800A4058 03122821 */ addu $a1, $t8, $s2 -/* 0A4C5C 800A405C 24A50093 */ addiu $a1, $a1, 0x93 -/* 0A4C60 800A4060 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A4C64 800A4064 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A4C68 800A4068 8E060004 */ lw $a2, 4($s0) -/* 0A4C6C 800A406C 00003825 */ move $a3, $zero -/* 0A4C70 800A4070 0C024CD6 */ jal func_80093358 -/* 0A4C74 800A4074 01EE2023 */ subu $a0, $t7, $t6 -/* 0A4C78 800A4078 1000000C */ b .L800A40AC -/* 0A4C7C 800A407C 26310001 */ addiu $s1, $s1, 1 -.L800A4080: -/* 0A4C80 800A4080 8E6A0010 */ lw $t2, 0x10($s3) -/* 0A4C84 800A4084 8E69000C */ lw $t1, 0xc($s3) -/* 0A4C88 800A4088 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A4C8C 800A408C 01522821 */ addu $a1, $t2, $s2 -/* 0A4C90 800A4090 24A50093 */ addiu $a1, $a1, 0x93 -/* 0A4C94 800A4094 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A4C98 800A4098 8E060004 */ lw $a2, 4($s0) -/* 0A4C9C 800A409C 00003825 */ move $a3, $zero -/* 0A4CA0 800A40A0 0C024CC9 */ jal func_80093324 -/* 0A4CA4 800A40A4 03292023 */ subu $a0, $t9, $t1 -/* 0A4CA8 800A40A8 26310001 */ addiu $s1, $s1, 1 -.L800A40AC: -/* 0A4CAC 800A40AC 24010006 */ li $at, 6 -/* 0A4CB0 800A40B0 2652000D */ addiu $s2, $s2, 0xd -/* 0A4CB4 800A40B4 1621FFBF */ bne $s1, $at, .L800A3FB4 -/* 0A4CB8 800A40B8 26100004 */ addiu $s0, $s0, 4 -/* 0A4CBC 800A40BC 100000EE */ b .L800A4478 -/* 0A4CC0 800A40C0 8E630004 */ lw $v1, 4($s3) -glabel L800A40C4 -/* 0A4CC4 800A40C4 0C024C36 */ jal set_text_color -/* 0A4CC8 800A40C8 24040003 */ li $a0, 3 -/* 0A4CCC 800A40CC 8E630004 */ lw $v1, 4($s3) -/* 0A4CD0 800A40D0 3C0D800E */ lui $t5, %hi(D_800E798C) # $t5, 0x800e -/* 0A4CD4 800A40D4 25AD798C */ addiu $t5, %lo(D_800E798C) # addiu $t5, $t5, 0x798c -/* 0A4CD8 800A40D8 2463FFF5 */ addiu $v1, $v1, -0xb -/* 0A4CDC 800A40DC 000358C0 */ sll $t3, $v1, 3 -/* 0A4CE0 800A40E0 01635823 */ subu $t3, $t3, $v1 -/* 0A4CE4 800A40E4 000B6080 */ sll $t4, $t3, 2 -/* 0A4CE8 800A40E8 018D1021 */ addu $v0, $t4, $t5 -/* 0A4CEC 800A40EC 2410008C */ li $s0, 140 -/* 0A4CF0 800A40F0 241100E7 */ li $s1, 231 -.L800A40F4: -/* 0A4CF4 800A40F4 240400A2 */ li $a0, 162 -/* 0A4CF8 800A40F8 02002825 */ move $a1, $s0 -/* 0A4CFC 800A40FC 8C460000 */ lw $a2, ($v0) -/* 0A4D00 800A4100 00003825 */ move $a3, $zero -/* 0A4D04 800A4104 E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A4D08 800A4108 E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A4D0C 800A410C 0C024CC9 */ jal func_80093324 -/* 0A4D10 800A4110 AFA20050 */ sw $v0, 0x50($sp) -/* 0A4D14 800A4114 8FA20050 */ lw $v0, 0x50($sp) -/* 0A4D18 800A4118 2610000D */ addiu $s0, $s0, 0xd -/* 0A4D1C 800A411C 1611FFF5 */ bne $s0, $s1, .L800A40F4 -/* 0A4D20 800A4120 24420004 */ addiu $v0, $v0, 4 -/* 0A4D24 800A4124 100000D4 */ b .L800A4478 -/* 0A4D28 800A4128 8E630004 */ lw $v1, 4($s3) -glabel L800A412C -/* 0A4D2C 800A412C 0C024C36 */ jal set_text_color -/* 0A4D30 800A4130 24040001 */ li $a0, 1 -/* 0A4D34 800A4134 3C10800E */ lui $s0, %hi(D_800E7A3C) # $s0, 0x800e -/* 0A4D38 800A4138 3C01800F */ lui $at, %hi(D_800F1D48) # $at, 0x800f -/* 0A4D3C 800A413C 3C11800E */ lui $s1, %hi(D_800E7A44) # $s1, 0x800e -/* 0A4D40 800A4140 26317A44 */ addiu $s1, %lo(D_800E7A44) # addiu $s1, $s1, 0x7a44 -/* 0A4D44 800A4144 C4341D48 */ lwc1 $f20, %lo(D_800F1D48)($at) -/* 0A4D48 800A4148 26107A3C */ addiu $s0, %lo(D_800E7A3C) # addiu $s0, $s0, 0x7a3c -/* 0A4D4C 800A414C 00009025 */ move $s2, $zero -.L800A4150: -/* 0A4D50 800A4150 8E6F0010 */ lw $t7, 0x10($s3) -/* 0A4D54 800A4154 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A4D58 800A4158 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A4D5C 800A415C 01F22821 */ addu $a1, $t7, $s2 -/* 0A4D60 800A4160 24A5008C */ addiu $a1, $a1, 0x8c -/* 0A4D64 800A4164 240400A5 */ li $a0, 165 -/* 0A4D68 800A4168 8E060000 */ lw $a2, ($s0) -/* 0A4D6C 800A416C 0C024CC9 */ jal func_80093324 -/* 0A4D70 800A4170 00003825 */ move $a3, $zero -/* 0A4D74 800A4174 26100004 */ addiu $s0, $s0, 4 -/* 0A4D78 800A4178 0211082B */ sltu $at, $s0, $s1 -/* 0A4D7C 800A417C 1420FFF4 */ bnez $at, .L800A4150 -/* 0A4D80 800A4180 2652000D */ addiu $s2, $s2, 0xd -/* 0A4D84 800A4184 3C128019 */ lui $s2, %hi(D_8018EE10) # $s2, 0x8019 -/* 0A4D88 800A4188 3C01800F */ lui $at, %hi(D_800F1D4C) # $at, 0x800f -/* 0A4D8C 800A418C C4341D4C */ lwc1 $f20, %lo(D_800F1D4C)($at) -/* 0A4D90 800A4190 2652EE10 */ addiu $s2, %lo(D_8018EE10) # addiu $s2, $s2, -0x11f0 -/* 0A4D94 800A4194 00008825 */ move $s1, $zero -/* 0A4D98 800A4198 241000AA */ li $s0, 170 -.L800A419C: -/* 0A4D9C 800A419C 8E640004 */ lw $a0, 4($s3) -/* 0A4DA0 800A41A0 02202825 */ move $a1, $s1 -/* 0A4DA4 800A41A4 24060001 */ li $a2, 1 -/* 0A4DA8 800A41A8 0C024870 */ jal func_800921C0 -/* 0A4DAC 800A41AC 2484FFEF */ addiu $a0, $a0, -0x11 -/* 0A4DB0 800A41B0 26240001 */ addiu $a0, $s1, 1 -/* 0A4DB4 800A41B4 AFA40054 */ sw $a0, 0x54($sp) -/* 0A4DB8 800A41B8 0C029E25 */ jal convert_number_to_ascii -/* 0A4DBC 800A41BC 27A50060 */ addiu $a1, $sp, 0x60 -/* 0A4DC0 800A41C0 8E6E000C */ lw $t6, 0xc($s3) -/* 0A4DC4 800A41C4 241800B1 */ li $t8, 177 -/* 0A4DC8 800A41C8 E7B80014 */ swc1 $f24, 0x14($sp) -/* 0A4DCC 800A41CC E7B80010 */ swc1 $f24, 0x10($sp) -/* 0A4DD0 800A41D0 02002825 */ move $a1, $s0 -/* 0A4DD4 800A41D4 27A60061 */ addiu $a2, $sp, 0x61 -/* 0A4DD8 800A41D8 00003825 */ move $a3, $zero -/* 0A4DDC 800A41DC 0C024CC9 */ jal func_80093324 -/* 0A4DE0 800A41E0 030E2023 */ subu $a0, $t8, $t6 -/* 0A4DE4 800A41E4 92590004 */ lbu $t9, 4($s2) -/* 0A4DE8 800A41E8 240C00BB */ li $t4, 187 -/* 0A4DEC 800A41EC 02002825 */ move $a1, $s0 -/* 0A4DF0 800A41F0 1720000D */ bnez $t9, .L800A4228 -/* 0A4DF4 800A41F4 3C0A800F */ lui $t2, %hi(gCupCourseOrder) -/* 0A4DF8 800A41F8 8E69000C */ lw $t1, 0xc($s3) -/* 0A4DFC 800A41FC 240A00BB */ li $t2, 187 -/* 0A4E00 800A4200 3C06800E */ lui $a2, %hi(D_800E7A44) # $a2, 0x800e -/* 0A4E04 800A4204 8CC67A44 */ lw $a2, %lo(D_800E7A44)($a2) -/* 0A4E08 800A4208 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A4E0C 800A420C E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A4E10 800A4210 02002825 */ move $a1, $s0 -/* 0A4E14 800A4214 00003825 */ move $a3, $zero -/* 0A4E18 800A4218 0C024CC9 */ jal func_80093324 -/* 0A4E1C 800A421C 01492023 */ subu $a0, $t2, $t1 -/* 0A4E20 800A4220 1000001B */ b .L800A4290 -/* 0A4E24 800A4224 8FB10054 */ lw $s1, 0x54($sp) -.L800A4228: -/* 0A4E28 800A4228 82420005 */ lb $v0, 5($s2) -/* 0A4E2C 800A422C 8E6B000C */ lw $t3, 0xc($s3) -/* 0A4E30 800A4230 3C06800E */ lui $a2, %hi(D_800E75C4) -/* 0A4E34 800A4234 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A4E38 800A4238 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A4E3C 800A423C 00003825 */ move $a3, $zero -/* 0A4E40 800A4240 018B2023 */ subu $a0, $t4, $t3 -/* 0A4E44 800A4244 04410003 */ bgez $v0, .L800A4254 -/* 0A4E48 800A4248 00026883 */ sra $t5, $v0, 2 -/* 0A4E4C 800A424C 24410003 */ addiu $at, $v0, 3 -/* 0A4E50 800A4250 00016883 */ sra $t5, $at, 2 -.L800A4254: -/* 0A4E54 800A4254 000D78C0 */ sll $t7, $t5, 3 -/* 0A4E58 800A4258 04410004 */ bgez $v0, .L800A426C -/* 0A4E5C 800A425C 30580003 */ andi $t8, $v0, 3 -/* 0A4E60 800A4260 13000002 */ beqz $t8, .L800A426C -/* 0A4E64 800A4264 00000000 */ nop -/* 0A4E68 800A4268 2718FFFC */ addiu $t8, $t8, -4 -.L800A426C: -/* 0A4E6C 800A426C 00187040 */ sll $t6, $t8, 1 -/* 0A4E70 800A4270 01EEC821 */ addu $t9, $t7, $t6 -/* 0A4E74 800A4274 01595021 */ addu $t2, $t2, $t9 -/* 0A4E78 800A4278 854A2BB4 */ lh $t2, %lo(gCupCourseOrder)($t2) -/* 0A4E7C 800A427C 000A4880 */ sll $t1, $t2, 2 -/* 0A4E80 800A4280 00C93021 */ addu $a2, $a2, $t1 -/* 0A4E84 800A4284 0C024CC9 */ jal func_80093324 -/* 0A4E88 800A4288 8CC675C4 */ lw $a2, %lo(D_800E75C4)($a2) -/* 0A4E8C 800A428C 8FB10054 */ lw $s1, 0x54($sp) -.L800A4290: -/* 0A4E90 800A4290 24010002 */ li $at, 2 -/* 0A4E94 800A4294 2610001E */ addiu $s0, $s0, 0x1e -/* 0A4E98 800A4298 1621FFC0 */ bne $s1, $at, .L800A419C -/* 0A4E9C 800A429C 26520080 */ addiu $s2, $s2, 0x80 -/* 0A4EA0 800A42A0 10000075 */ b .L800A4478 -/* 0A4EA4 800A42A4 8E630004 */ lw $v1, 4($s3) -glabel L800A42A8 -/* 0A4EA8 800A42A8 0C024C36 */ jal set_text_color -/* 0A4EAC 800A42AC 24040003 */ li $a0, 3 -/* 0A4EB0 800A42B0 3C02800E */ lui $v0, %hi(D_800E7A48) # $v0, 0x800e -/* 0A4EB4 800A42B4 3C01800F */ lui $at, %hi(D_800F1D50) # $at, 0x800f -/* 0A4EB8 800A42B8 3C11800E */ lui $s1, %hi(D_800E7A54) # $s1, 0x800e -/* 0A4EBC 800A42BC 26317A54 */ addiu $s1, %lo(D_800E7A54) # addiu $s1, $s1, 0x7a54 -/* 0A4EC0 800A42C0 C4341D50 */ lwc1 $f20, %lo(D_800F1D50)($at) -/* 0A4EC4 800A42C4 24427A48 */ addiu $v0, %lo(D_800E7A48) # addiu $v0, $v0, 0x7a48 -/* 0A4EC8 800A42C8 24100093 */ li $s0, 147 -/* 0A4ECC 800A42CC 240400AA */ li $a0, 170 -.L800A42D0: -/* 0A4ED0 800A42D0 02002825 */ move $a1, $s0 -/* 0A4ED4 800A42D4 8C460000 */ lw $a2, ($v0) -/* 0A4ED8 800A42D8 00003825 */ move $a3, $zero -/* 0A4EDC 800A42DC E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A4EE0 800A42E0 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A4EE4 800A42E4 0C024CC9 */ jal func_80093324 -/* 0A4EE8 800A42E8 AFA20050 */ sw $v0, 0x50($sp) -/* 0A4EEC 800A42EC 8FA20050 */ lw $v0, 0x50($sp) -/* 0A4EF0 800A42F0 2610000D */ addiu $s0, $s0, 0xd -/* 0A4EF4 800A42F4 24420004 */ addiu $v0, $v0, 4 -/* 0A4EF8 800A42F8 5451FFF5 */ bnel $v0, $s1, .L800A42D0 -/* 0A4EFC 800A42FC 240400AA */ li $a0, 170 -/* 0A4F00 800A4300 1000005D */ b .L800A4478 -/* 0A4F04 800A4304 8E630004 */ lw $v1, 4($s3) -glabel L800A4308 -/* 0A4F08 800A4308 0C024C36 */ jal set_text_color -/* 0A4F0C 800A430C 24040003 */ li $a0, 3 -/* 0A4F10 800A4310 3C10800E */ lui $s0, %hi(D_800E7A60) # $s0, 0x800e -/* 0A4F14 800A4314 3C01800F */ lui $at, %hi(D_800F1D54) # $at, 0x800f -/* 0A4F18 800A4318 3C11800E */ lui $s1, %hi(D_800E7A6C) # $s1, 0x800e -/* 0A4F1C 800A431C 26317A6C */ addiu $s1, %lo(D_800E7A6C) # addiu $s1, $s1, 0x7a6c -/* 0A4F20 800A4320 C4341D54 */ lwc1 $f20, %lo(D_800F1D54)($at) -/* 0A4F24 800A4324 26107A60 */ addiu $s0, %lo(D_800E7A60) # addiu $s0, $s0, 0x7a60 -/* 0A4F28 800A4328 00009025 */ move $s2, $zero -.L800A432C: -/* 0A4F2C 800A432C 8E6C0010 */ lw $t4, 0x10($s3) -/* 0A4F30 800A4330 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A4F34 800A4334 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A4F38 800A4338 01922821 */ addu $a1, $t4, $s2 -/* 0A4F3C 800A433C 24A5008C */ addiu $a1, $a1, 0x8c -/* 0A4F40 800A4340 240400A3 */ li $a0, 163 -/* 0A4F44 800A4344 8E060000 */ lw $a2, ($s0) -/* 0A4F48 800A4348 0C024CC9 */ jal func_80093324 -/* 0A4F4C 800A434C 00003825 */ move $a3, $zero -/* 0A4F50 800A4350 26100004 */ addiu $s0, $s0, 4 -/* 0A4F54 800A4354 0211082B */ sltu $at, $s0, $s1 -/* 0A4F58 800A4358 1420FFF4 */ bnez $at, .L800A432C -/* 0A4F5C 800A435C 2652000D */ addiu $s2, $s2, 0xd -/* 0A4F60 800A4360 3C12800E */ lui $s2, %hi(D_800E7A6C) # $s2, 0x800e -/* 0A4F64 800A4364 26527A6C */ addiu $s2, %lo(D_800E7A6C) # addiu $s2, $s2, 0x7a6c -/* 0A4F68 800A4368 00008825 */ move $s1, $zero -/* 0A4F6C 800A436C 241000B9 */ li $s0, 185 -.L800A4370: -/* 0A4F70 800A4370 8E640004 */ lw $a0, 4($s3) -/* 0A4F74 800A4374 02202825 */ move $a1, $s1 -/* 0A4F78 800A4378 24060001 */ li $a2, 1 -/* 0A4F7C 800A437C 0C024870 */ jal func_800921C0 -/* 0A4F80 800A4380 2484FFEC */ addiu $a0, $a0, -0x14 -/* 0A4F84 800A4384 8E6B000C */ lw $t3, 0xc($s3) -/* 0A4F88 800A4388 240D00C8 */ li $t5, 200 -/* 0A4F8C 800A438C E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A4F90 800A4390 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A4F94 800A4394 02002825 */ move $a1, $s0 -/* 0A4F98 800A4398 8E460000 */ lw $a2, ($s2) -/* 0A4F9C 800A439C 00003825 */ move $a3, $zero -/* 0A4FA0 800A43A0 0C024CC9 */ jal func_80093324 -/* 0A4FA4 800A43A4 01AB2023 */ subu $a0, $t5, $t3 -/* 0A4FA8 800A43A8 26310001 */ addiu $s1, $s1, 1 -/* 0A4FAC 800A43AC 24010002 */ li $at, 2 -/* 0A4FB0 800A43B0 2610000F */ addiu $s0, $s0, 0xf -/* 0A4FB4 800A43B4 1621FFEE */ bne $s1, $at, .L800A4370 -/* 0A4FB8 800A43B8 26520004 */ addiu $s2, $s2, 4 -/* 0A4FBC 800A43BC 1000002E */ b .L800A4478 -/* 0A4FC0 800A43C0 8E630004 */ lw $v1, 4($s3) -glabel L800A43C4 -/* 0A4FC4 800A43C4 0C024C36 */ jal set_text_color -/* 0A4FC8 800A43C8 24040003 */ li $a0, 3 -/* 0A4FCC 800A43CC 3C02800E */ lui $v0, %hi(D_800E7A74) # $v0, 0x800e -/* 0A4FD0 800A43D0 3C01800F */ lui $at, %hi(D_800F1D58) # $at, 0x800f -/* 0A4FD4 800A43D4 3C11800E */ lui $s1, %hi(D_800E7A80) # $s1, 0x800e -/* 0A4FD8 800A43D8 26317A80 */ addiu $s1, %lo(D_800E7A80) # addiu $s1, $s1, 0x7a80 -/* 0A4FDC 800A43DC C4341D58 */ lwc1 $f20, %lo(D_800F1D58)($at) -/* 0A4FE0 800A43E0 24427A74 */ addiu $v0, %lo(D_800E7A74) # addiu $v0, $v0, 0x7a74 -/* 0A4FE4 800A43E4 24100093 */ li $s0, 147 -/* 0A4FE8 800A43E8 240400A3 */ li $a0, 163 -.L800A43EC: -/* 0A4FEC 800A43EC 02002825 */ move $a1, $s0 -/* 0A4FF0 800A43F0 8C460000 */ lw $a2, ($v0) -/* 0A4FF4 800A43F4 00003825 */ move $a3, $zero -/* 0A4FF8 800A43F8 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A4FFC 800A43FC E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5000 800A4400 0C024CC9 */ jal func_80093324 -/* 0A5004 800A4404 AFA20050 */ sw $v0, 0x50($sp) -/* 0A5008 800A4408 8FA20050 */ lw $v0, 0x50($sp) -/* 0A500C 800A440C 2610000D */ addiu $s0, $s0, 0xd -/* 0A5010 800A4410 24420004 */ addiu $v0, $v0, 4 -/* 0A5014 800A4414 5451FFF5 */ bnel $v0, $s1, .L800A43EC -/* 0A5018 800A4418 240400A3 */ li $a0, 163 -/* 0A501C 800A441C 10000016 */ b .L800A4478 -/* 0A5020 800A4420 8E630004 */ lw $v1, 4($s3) -glabel L800A4424 -/* 0A5024 800A4424 0C024C36 */ jal set_text_color -/* 0A5028 800A4428 24040003 */ li $a0, 3 -/* 0A502C 800A442C 3C02800E */ lui $v0, %hi(D_800E7A80) # $v0, 0x800e -/* 0A5030 800A4430 3C11800E */ lui $s1, %hi(D_800E7A88) # $s1, 0x800e -/* 0A5034 800A4434 26317A88 */ addiu $s1, %lo(D_800E7A88) # addiu $s1, $s1, 0x7a88 -/* 0A5038 800A4438 24427A80 */ addiu $v0, %lo(D_800E7A80) # addiu $v0, $v0, 0x7a80 -/* 0A503C 800A443C 24100093 */ li $s0, 147 -/* 0A5040 800A4440 240400AA */ li $a0, 170 -.L800A4444: -/* 0A5044 800A4444 02002825 */ move $a1, $s0 -/* 0A5048 800A4448 8C460000 */ lw $a2, ($v0) -/* 0A504C 800A444C 00003825 */ move $a3, $zero -/* 0A5050 800A4450 E7B60010 */ swc1 $f22, 0x10($sp) -/* 0A5054 800A4454 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A5058 800A4458 0C024CC9 */ jal func_80093324 -/* 0A505C 800A445C AFA20050 */ sw $v0, 0x50($sp) -/* 0A5060 800A4460 8FA20050 */ lw $v0, 0x50($sp) -/* 0A5064 800A4464 2610000D */ addiu $s0, $s0, 0xd -/* 0A5068 800A4468 24420004 */ addiu $v0, $v0, 4 -/* 0A506C 800A446C 5451FFF5 */ bnel $v0, $s1, .L800A4444 -/* 0A5070 800A4470 240400AA */ li $a0, 170 -/* 0A5074 800A4474 8E630004 */ lw $v1, 4($s3) -.L800A4478: -glabel L800A4478 -/* 0A5078 800A4478 2478FFFB */ addiu $t8, $v1, -5 -/* 0A507C 800A447C 2F01001A */ sltiu $at, $t8, 0x1a -/* 0A5080 800A4480 10200029 */ beqz $at, .L800A4528 -/* 0A5084 800A4484 0018C080 */ sll $t8, $t8, 2 -/* 0A5088 800A4488 3C01800F */ lui $at, %hi(jpt_800F1D5C) -/* 0A508C 800A448C 00380821 */ addu $at, $at, $t8 -/* 0A5090 800A4490 8C381D5C */ lw $t8, %lo(jpt_800F1D5C)($at) -/* 0A5094 800A4494 03000008 */ jr $t8 -/* 0A5098 800A4498 00000000 */ nop -glabel L800A449C -/* 0A509C 800A449C 000378C0 */ sll $t7, $v1, 3 -/* 0A50A0 800A44A0 3C19800E */ lui $t9, %hi(D_800E7390) # $t9, 0x800e -/* 0A50A4 800A44A4 27397390 */ addiu $t9, %lo(D_800E7390) # addiu $t9, $t9, 0x7390 -/* 0A50A8 800A44A8 25EEFFD8 */ addiu $t6, $t7, -0x28 -/* 0A50AC 800A44AC 10000013 */ b .L800A44FC -/* 0A50B0 800A44B0 01D91021 */ addu $v0, $t6, $t9 -glabel L800A44B4 -/* 0A50B4 800A44B4 000350C0 */ sll $t2, $v1, 3 -/* 0A50B8 800A44B8 3C0C800E */ lui $t4, %hi(D_800E73C0) # $t4, 0x800e -/* 0A50BC 800A44BC 258C73C0 */ addiu $t4, %lo(D_800E73C0) # addiu $t4, $t4, 0x73c0 -/* 0A50C0 800A44C0 2549FF78 */ addiu $t1, $t2, -0x88 -/* 0A50C4 800A44C4 1000000D */ b .L800A44FC -/* 0A50C8 800A44C8 012C1021 */ addu $v0, $t1, $t4 -glabel L800A44CC -/* 0A50CC 800A44CC 000368C0 */ sll $t5, $v1, 3 -/* 0A50D0 800A44D0 3C18800E */ lui $t8, %hi(D_800E73D0) # $t8, 0x800e -/* 0A50D4 800A44D4 271873D0 */ addiu $t8, %lo(D_800E73D0) # addiu $t8, $t8, 0x73d0 -/* 0A50D8 800A44D8 25ABFF60 */ addiu $t3, $t5, -0xa0 -/* 0A50DC 800A44DC 10000007 */ b .L800A44FC -/* 0A50E0 800A44E0 01781021 */ addu $v0, $t3, $t8 -glabel L800A44E4 -/* 0A50E4 800A44E4 8E6F001C */ lw $t7, 0x1c($s3) -/* 0A50E8 800A44E8 3C0A800E */ lui $t2, %hi(D_800E7390) # $t2, 0x800e -/* 0A50EC 800A44EC 254A7390 */ addiu $t2, %lo(D_800E7390) # addiu $t2, $t2, 0x7390 -/* 0A50F0 800A44F0 000F70C0 */ sll $t6, $t7, 3 -/* 0A50F4 800A44F4 25D9FFD8 */ addiu $t9, $t6, -0x28 -/* 0A50F8 800A44F8 032A1021 */ addu $v0, $t9, $t2 -.L800A44FC: -/* 0A50FC 800A44FC 84490000 */ lh $t1, ($v0) -/* 0A5100 800A4500 8E6C000C */ lw $t4, 0xc($s3) -/* 0A5104 800A4504 02602025 */ move $a0, $s3 -/* 0A5108 800A4508 27A50084 */ addiu $a1, $sp, 0x84 -/* 0A510C 800A450C 012C6823 */ subu $t5, $t1, $t4 -/* 0A5110 800A4510 A7AD0084 */ sh $t5, 0x84($sp) -/* 0A5114 800A4514 8E780010 */ lw $t8, 0x10($s3) -/* 0A5118 800A4518 844B0002 */ lh $t3, 2($v0) -/* 0A511C 800A451C 01787821 */ addu $t7, $t3, $t8 -/* 0A5120 800A4520 0C0299AA */ jal func_800A66A8 -/* 0A5124 800A4524 A7AF0086 */ sh $t7, 0x86($sp) -.L800A4528: -glabel L800A4528 -/* 0A5128 800A4528 8FBF0044 */ lw $ra, 0x44($sp) -.L800A452C: -/* 0A512C 800A452C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 0A5130 800A4530 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 0A5134 800A4534 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 0A5138 800A4538 8FB00034 */ lw $s0, 0x34($sp) -/* 0A513C 800A453C 8FB10038 */ lw $s1, 0x38($sp) -/* 0A5140 800A4540 8FB2003C */ lw $s2, 0x3c($sp) -/* 0A5144 800A4544 8FB30040 */ lw $s3, 0x40($sp) -/* 0A5148 800A4548 03E00008 */ jr $ra -/* 0A514C 800A454C 27BD0090 */ addiu $sp, $sp, 0x90 diff --git a/asm/non_matchings/code_80091750/func_800A474C.s b/asm/non_matchings/code_80091750/func_800A474C.s index 88e00406d..d01240183 100644 --- a/asm/non_matchings/code_80091750/func_800A474C.s +++ b/asm/non_matchings/code_80091750/func_800A474C.s @@ -2,10 +2,11 @@ glabel D_800F0C54 .asciiz "'" - .balign 4 + glabel D_800F0C58 .asciiz "\"" +.balign 4 .section .late_rodata diff --git a/asm/non_matchings/code_80091750/func_800A4EF8.s b/asm/non_matchings/code_80091750/func_800A4EF8.s deleted file mode 100644 index 121773430..000000000 --- a/asm/non_matchings/code_80091750/func_800A4EF8.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel func_800A4EF8 -/* 0A5AF8 800A4EF8 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0A5AFC 800A4EFC AFB00038 */ sw $s0, 0x38($sp) -/* 0A5B00 800A4F00 3C10800E */ lui $s0, %hi(gIsGamePaused) # $s0, 0x800e -/* 0A5B04 800A4F04 2610C5FC */ addiu $s0, %lo(gIsGamePaused) # addiu $s0, $s0, -0x3a04 -/* 0A5B08 800A4F08 960E0000 */ lhu $t6, ($s0) -/* 0A5B0C 800A4F0C 3C198016 */ lui $t9, %hi(D_8015F480) # $t9, 0x8016 -/* 0A5B10 800A4F10 2739F480 */ addiu $t9, %lo(D_8015F480) # addiu $t9, $t9, -0xb80 -/* 0A5B14 800A4F14 000E7980 */ sll $t7, $t6, 6 -/* 0A5B18 800A4F18 25F8FFC0 */ addiu $t8, $t7, -0x40 -/* 0A5B1C 800A4F1C AFBF0054 */ sw $ra, 0x54($sp) -/* 0A5B20 800A4F20 AFB60050 */ sw $s6, 0x50($sp) -/* 0A5B24 800A4F24 AFB5004C */ sw $s5, 0x4c($sp) -/* 0A5B28 800A4F28 AFB40048 */ sw $s4, 0x48($sp) -/* 0A5B2C 800A4F2C AFB30044 */ sw $s3, 0x44($sp) -/* 0A5B30 800A4F30 AFB20040 */ sw $s2, 0x40($sp) -/* 0A5B34 800A4F34 AFB1003C */ sw $s1, 0x3c($sp) -/* 0A5B38 800A4F38 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0A5B3C 800A4F3C 03191021 */ addu $v0, $t8, $t9 -/* 0A5B40 800A4F40 8449002C */ lh $t1, 0x2c($v0) -/* 0A5B44 800A4F44 844A002E */ lh $t2, 0x2e($v0) -/* 0A5B48 800A4F48 84430030 */ lh $v1, 0x30($v0) -/* 0A5B4C 800A4F4C 84480032 */ lh $t0, 0x32($v0) -/* 0A5B50 800A4F50 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 0A5B54 800A4F54 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 0A5B58 800A4F58 0080A025 */ move $s4, $a0 -/* 0A5B5C 800A4F5C 05210003 */ bgez $t1, .L800A4F6C -/* 0A5B60 800A4F60 00095843 */ sra $t3, $t1, 1 -/* 0A5B64 800A4F64 25210001 */ addiu $at, $t1, 1 -/* 0A5B68 800A4F68 00015843 */ sra $t3, $at, 1 -.L800A4F6C: -/* 0A5B6C 800A4F6C 01604825 */ move $t1, $t3 -/* 0A5B70 800A4F70 05410003 */ bgez $t2, .L800A4F80 -/* 0A5B74 800A4F74 000A6043 */ sra $t4, $t2, 1 -/* 0A5B78 800A4F78 25410001 */ addiu $at, $t2, 1 -/* 0A5B7C 800A4F7C 00016043 */ sra $t4, $at, 1 -.L800A4F80: -/* 0A5B80 800A4F80 240E008C */ li $t6, 140 -/* 0A5B84 800A4F84 010C6821 */ addu $t5, $t0, $t4 -/* 0A5B88 800A4F88 AFAD0010 */ sw $t5, 0x10($sp) -/* 0A5B8C 800A4F8C AFAE0020 */ sw $t6, 0x20($sp) -/* 0A5B90 800A4F90 8E240000 */ lw $a0, ($s1) -/* 0A5B94 800A4F94 AFA0001C */ sw $zero, 0x1c($sp) -/* 0A5B98 800A4F98 AFA00018 */ sw $zero, 0x18($sp) -/* 0A5B9C 800A4F9C AFA00014 */ sw $zero, 0x14($sp) -/* 0A5BA0 800A4FA0 00692823 */ subu $a1, $v1, $t1 -/* 0A5BA4 800A4FA4 00693821 */ addu $a3, $v1, $t1 -/* 0A5BA8 800A4FA8 0C02637E */ jal draw_box -/* 0A5BAC 800A4FAC 010C3023 */ subu $a2, $t0, $t4 -/* 0A5BB0 800A4FB0 AE220000 */ sw $v0, ($s1) -/* 0A5BB4 800A4FB4 3C0F800E */ lui $t7, %hi(gScreenModeSelection) # $t7, 0x800e -/* 0A5BB8 800A4FB8 8DF8C530 */ lw $t8, %lo(gScreenModeSelection)($t7) -/* 0A5BBC 800A4FBC 960B0000 */ lhu $t3, ($s0) -/* 0A5BC0 800A4FC0 3C0F800F */ lui $t7, %hi(D_800E8540) # $t7, 0x800f -/* 0A5BC4 800A4FC4 0018C940 */ sll $t9, $t8, 5 -/* 0A5BC8 800A4FC8 000B60C0 */ sll $t4, $t3, 3 -/* 0A5BCC 800A4FCC 032C6821 */ addu $t5, $t9, $t4 -/* 0A5BD0 800A4FD0 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A5BD4 800A4FD4 25AEFFF8 */ addiu $t6, $t5, -8 -/* 0A5BD8 800A4FD8 25EF8540 */ addiu $t7, %lo(D_800E8540) # addiu $t7, $t7, -0x7ac0 -/* 0A5BDC 800A4FDC 3C15800E */ lui $s5, %hi(D_800E775C) # $s5, 0x800e -/* 0A5BE0 800A4FE0 4481A000 */ mtc1 $at, $f20 -/* 0A5BE4 800A4FE4 01CF9821 */ addu $s3, $t6, $t7 -/* 0A5BE8 800A4FE8 26B5775C */ addiu $s5, %lo(D_800E775C) # addiu $s5, $s5, 0x775c -/* 0A5BEC 800A4FEC 00002825 */ move $a1, $zero -/* 0A5BF0 800A4FF0 00009025 */ move $s2, $zero -/* 0A5BF4 800A4FF4 24160004 */ li $s6, 4 -.L800A4FF8: -/* 0A5BF8 800A4FF8 18A00004 */ blez $a1, .L800A500C -/* 0A5BFC 800A4FFC 00A08825 */ move $s1, $a1 -/* 0A5C00 800A5000 24B00001 */ addiu $s0, $a1, 1 -/* 0A5C04 800A5004 10000002 */ b .L800A5010 -/* 0A5C08 800A5008 02008825 */ move $s1, $s0 -.L800A500C: -/* 0A5C0C 800A500C 24B00001 */ addiu $s0, $a1, 1 -.L800A5010: -/* 0A5C10 800A5010 8E840004 */ lw $a0, 4($s4) -/* 0A5C14 800A5014 24060003 */ li $a2, 3 -/* 0A5C18 800A5018 0C024870 */ jal func_800921C0 -/* 0A5C1C 800A501C 2484FFEB */ addiu $a0, $a0, -0x15 -/* 0A5C20 800A5020 00115880 */ sll $t3, $s1, 2 -/* 0A5C24 800A5024 86640000 */ lh $a0, ($s3) -/* 0A5C28 800A5028 86780002 */ lh $t8, 2($s3) -/* 0A5C2C 800A502C 02ABC821 */ addu $t9, $s5, $t3 -/* 0A5C30 800A5030 8F260000 */ lw $a2, ($t9) -/* 0A5C34 800A5034 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5C38 800A5038 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5C3C 800A503C 00003825 */ move $a3, $zero -/* 0A5C40 800A5040 2484FFFE */ addiu $a0, $a0, -2 -/* 0A5C44 800A5044 0C024CC9 */ jal func_80093324 -/* 0A5C48 800A5048 03122821 */ addu $a1, $t8, $s2 -/* 0A5C4C 800A504C 02002825 */ move $a1, $s0 -/* 0A5C50 800A5050 1616FFE9 */ bne $s0, $s6, .L800A4FF8 -/* 0A5C54 800A5054 2652000D */ addiu $s2, $s2, 0xd -/* 0A5C58 800A5058 8FBF0054 */ lw $ra, 0x54($sp) -/* 0A5C5C 800A505C D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0A5C60 800A5060 8FB00038 */ lw $s0, 0x38($sp) -/* 0A5C64 800A5064 8FB1003C */ lw $s1, 0x3c($sp) -/* 0A5C68 800A5068 8FB20040 */ lw $s2, 0x40($sp) -/* 0A5C6C 800A506C 8FB30044 */ lw $s3, 0x44($sp) -/* 0A5C70 800A5070 8FB40048 */ lw $s4, 0x48($sp) -/* 0A5C74 800A5074 8FB5004C */ lw $s5, 0x4c($sp) -/* 0A5C78 800A5078 8FB60050 */ lw $s6, 0x50($sp) -/* 0A5C7C 800A507C 03E00008 */ jr $ra -/* 0A5C80 800A5080 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/code_80091750/func_800A5084.s b/asm/non_matchings/code_80091750/func_800A5084.s deleted file mode 100644 index 353093ea8..000000000 --- a/asm/non_matchings/code_80091750/func_800A5084.s +++ /dev/null @@ -1,187 +0,0 @@ -glabel func_800A5084 -/* 0A5C84 800A5084 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 0A5C88 800A5088 AFB00034 */ sw $s0, 0x34($sp) -/* 0A5C8C 800A508C 3C10800E */ lui $s0, %hi(gIsGamePaused) # $s0, 0x800e -/* 0A5C90 800A5090 2610C5FC */ addiu $s0, %lo(gIsGamePaused) # addiu $s0, $s0, -0x3a04 -/* 0A5C94 800A5094 960E0000 */ lhu $t6, ($s0) -/* 0A5C98 800A5098 3C198016 */ lui $t9, %hi(D_8015F480) # $t9, 0x8016 -/* 0A5C9C 800A509C 2739F480 */ addiu $t9, %lo(D_8015F480) # addiu $t9, $t9, -0xb80 -/* 0A5CA0 800A50A0 000E7980 */ sll $t7, $t6, 6 -/* 0A5CA4 800A50A4 25F8FFC0 */ addiu $t8, $t7, -0x40 -/* 0A5CA8 800A50A8 AFBF004C */ sw $ra, 0x4c($sp) -/* 0A5CAC 800A50AC AFB50048 */ sw $s5, 0x48($sp) -/* 0A5CB0 800A50B0 AFB40044 */ sw $s4, 0x44($sp) -/* 0A5CB4 800A50B4 AFB30040 */ sw $s3, 0x40($sp) -/* 0A5CB8 800A50B8 AFB2003C */ sw $s2, 0x3c($sp) -/* 0A5CBC 800A50BC AFB10038 */ sw $s1, 0x38($sp) -/* 0A5CC0 800A50C0 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 0A5CC4 800A50C4 03191021 */ addu $v0, $t8, $t9 -/* 0A5CC8 800A50C8 8449002C */ lh $t1, 0x2c($v0) -/* 0A5CCC 800A50CC 844A002E */ lh $t2, 0x2e($v0) -/* 0A5CD0 800A50D0 84430030 */ lh $v1, 0x30($v0) -/* 0A5CD4 800A50D4 84480032 */ lh $t0, 0x32($v0) -/* 0A5CD8 800A50D8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 0A5CDC 800A50DC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 0A5CE0 800A50E0 0080A825 */ move $s5, $a0 -/* 0A5CE4 800A50E4 05210003 */ bgez $t1, .L800A50F4 -/* 0A5CE8 800A50E8 00095843 */ sra $t3, $t1, 1 -/* 0A5CEC 800A50EC 25210001 */ addiu $at, $t1, 1 -/* 0A5CF0 800A50F0 00015843 */ sra $t3, $at, 1 -.L800A50F4: -/* 0A5CF4 800A50F4 01604825 */ move $t1, $t3 -/* 0A5CF8 800A50F8 05410003 */ bgez $t2, .L800A5108 -/* 0A5CFC 800A50FC 000A6043 */ sra $t4, $t2, 1 -/* 0A5D00 800A5100 25410001 */ addiu $at, $t2, 1 -/* 0A5D04 800A5104 00016043 */ sra $t4, $at, 1 -.L800A5108: -/* 0A5D08 800A5108 240E008C */ li $t6, 140 -/* 0A5D0C 800A510C 010C6821 */ addu $t5, $t0, $t4 -/* 0A5D10 800A5110 AFAD0010 */ sw $t5, 0x10($sp) -/* 0A5D14 800A5114 AFAE0020 */ sw $t6, 0x20($sp) -/* 0A5D18 800A5118 8E240000 */ lw $a0, ($s1) -/* 0A5D1C 800A511C AFA0001C */ sw $zero, 0x1c($sp) -/* 0A5D20 800A5120 AFA00018 */ sw $zero, 0x18($sp) -/* 0A5D24 800A5124 AFA00014 */ sw $zero, 0x14($sp) -/* 0A5D28 800A5128 00692823 */ subu $a1, $v1, $t1 -/* 0A5D2C 800A512C 00693821 */ addu $a3, $v1, $t1 -/* 0A5D30 800A5130 0C02637E */ jal draw_box -/* 0A5D34 800A5134 010C3023 */ subu $a2, $t0, $t4 -/* 0A5D38 800A5138 AE220000 */ sw $v0, ($s1) -/* 0A5D3C 800A513C 3C0F800E */ lui $t7, %hi(gScreenModeSelection) # $t7, 0x800e -/* 0A5D40 800A5140 8DF8C530 */ lw $t8, %lo(gScreenModeSelection)($t7) -/* 0A5D44 800A5144 960B0000 */ lhu $t3, ($s0) -/* 0A5D48 800A5148 3C128019 */ lui $s2, %hi(gCupSelection) # $s2, 0x8019 -/* 0A5D4C 800A514C 2652EE09 */ addiu $s2, %lo(gCupSelection) # addiu $s2, $s2, -0x11f7 -/* 0A5D50 800A5150 0018C940 */ sll $t9, $t8, 5 -/* 0A5D54 800A5154 82580000 */ lb $t8, ($s2) -/* 0A5D58 800A5158 000B60C0 */ sll $t4, $t3, 3 -/* 0A5D5C 800A515C 3C14800E */ lui $s4, %hi(gCupNames) # $s4, 0x800e -/* 0A5D60 800A5160 032C6821 */ addu $t5, $t9, $t4 -/* 0A5D64 800A5164 26947500 */ addiu $s4, %lo(gCupNames) # addiu $s4, $s4, 0x7500 -/* 0A5D68 800A5168 3C0F800F */ lui $t7, %hi(D_800E85C0) # $t7, 0x800f -/* 0A5D6C 800A516C 00185880 */ sll $t3, $t8, 2 -/* 0A5D70 800A5170 25EF85C0 */ addiu $t7, %lo(D_800E85C0) # addiu $t7, $t7, -0x7a40 -/* 0A5D74 800A5174 25AEFFF8 */ addiu $t6, $t5, -8 -/* 0A5D78 800A5178 028BC821 */ addu $t9, $s4, $t3 -/* 0A5D7C 800A517C 01CF9821 */ addu $s3, $t6, $t7 -/* 0A5D80 800A5180 0C024C0D */ jal get_string_width -/* 0A5D84 800A5184 8F240000 */ lw $a0, ($t9) -/* 0A5D88 800A5188 44822000 */ mtc1 $v0, $f4 -/* 0A5D8C 800A518C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0A5D90 800A5190 4481A000 */ mtc1 $at, $f20 -/* 0A5D94 800A5194 468021A0 */ cvt.s.w $f6, $f4 -/* 0A5D98 800A5198 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0A5D9C 800A519C 44815000 */ mtc1 $at, $f10 -/* 0A5DA0 800A51A0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0A5DA4 800A51A4 44819000 */ mtc1 $at, $f18 -/* 0A5DA8 800A51A8 3C0D800E */ lui $t5, %hi(gCCSelection) # $t5, 0x800e -/* 0A5DAC 800A51AC 46143202 */ mul.s $f8, $f6, $f20 -/* 0A5DB0 800A51B0 8DADC548 */ lw $t5, %lo(gCCSelection)($t5) -/* 0A5DB4 800A51B4 3C04800E */ lui $a0, %hi(D_800E76CC) -/* 0A5DB8 800A51B8 000D7080 */ sll $t6, $t5, 2 -/* 0A5DBC 800A51BC 008E2021 */ addu $a0, $a0, $t6 -/* 0A5DC0 800A51C0 8C8476CC */ lw $a0, %lo(D_800E76CC)($a0) -/* 0A5DC4 800A51C4 460A4400 */ add.s $f16, $f8, $f10 -/* 0A5DC8 800A51C8 46128103 */ div.s $f4, $f16, $f18 -/* 0A5DCC 800A51CC 4600218D */ trunc.w.s $f6, $f4 -/* 0A5DD0 800A51D0 44103000 */ mfc1 $s0, $f6 -/* 0A5DD4 800A51D4 0C024C0D */ jal get_string_width -/* 0A5DD8 800A51D8 00000000 */ nop -/* 0A5DDC 800A51DC 44824000 */ mtc1 $v0, $f8 -/* 0A5DE0 800A51E0 3C014120 */ li $at, 0x41200000 # 10.000000 -/* 0A5DE4 800A51E4 44819000 */ mtc1 $at, $f18 -/* 0A5DE8 800A51E8 468042A0 */ cvt.s.w $f10, $f8 -/* 0A5DEC 800A51EC 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0A5DF0 800A51F0 44813000 */ mtc1 $at, $f6 -/* 0A5DF4 800A51F4 24040003 */ li $a0, 3 -/* 0A5DF8 800A51F8 46145402 */ mul.s $f16, $f10, $f20 -/* 0A5DFC 800A51FC 46128100 */ add.s $f4, $f16, $f18 -/* 0A5E00 800A5200 46062203 */ div.s $f8, $f4, $f6 -/* 0A5E04 800A5204 4600428D */ trunc.w.s $f10, $f8 -/* 0A5E08 800A5208 44115000 */ mfc1 $s1, $f10 -/* 0A5E0C 800A520C 0C024C36 */ jal set_text_color -/* 0A5E10 800A5210 00000000 */ nop -/* 0A5E14 800A5214 824B0000 */ lb $t3, ($s2) -/* 0A5E18 800A5218 86650002 */ lh $a1, 2($s3) -/* 0A5E1C 800A521C 241800A0 */ li $t8, 160 -/* 0A5E20 800A5220 000BC880 */ sll $t9, $t3, 2 -/* 0A5E24 800A5224 02996021 */ addu $t4, $s4, $t9 -/* 0A5E28 800A5228 8D860000 */ lw $a2, ($t4) -/* 0A5E2C 800A522C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5E30 800A5230 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5E34 800A5234 03112023 */ subu $a0, $t8, $s1 -/* 0A5E38 800A5238 00003825 */ move $a3, $zero -/* 0A5E3C 800A523C 0C024DBB */ jal draw_text -/* 0A5E40 800A5240 24A5FFCE */ addiu $a1, $a1, -0x32 -/* 0A5E44 800A5244 0C024C36 */ jal set_text_color -/* 0A5E48 800A5248 24040003 */ li $a0, 3 -/* 0A5E4C 800A524C 3C0D800E */ lui $t5, %hi(gCCSelection) # $t5, 0x800e -/* 0A5E50 800A5250 8DADC548 */ lw $t5, %lo(gCCSelection)($t5) -/* 0A5E54 800A5254 86650002 */ lh $a1, 2($s3) -/* 0A5E58 800A5258 3C06800E */ lui $a2, %hi(D_800E76CC) -/* 0A5E5C 800A525C 000D7080 */ sll $t6, $t5, 2 -/* 0A5E60 800A5260 00CE3021 */ addu $a2, $a2, $t6 -/* 0A5E64 800A5264 8CC676CC */ lw $a2, %lo(D_800E76CC)($a2) -/* 0A5E68 800A5268 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5E6C 800A526C E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5E70 800A5270 260400A0 */ addiu $a0, $s0, 0xa0 -/* 0A5E74 800A5274 00003825 */ move $a3, $zero -/* 0A5E78 800A5278 0C024DBB */ jal draw_text -/* 0A5E7C 800A527C 24A5FFCE */ addiu $a1, $a1, -0x32 -/* 0A5E80 800A5280 0C024C36 */ jal set_text_color -/* 0A5E84 800A5284 24040003 */ li $a0, 3 -/* 0A5E88 800A5288 3C0B8019 */ lui $t3, %hi(gCupCourseSelection) # $t3, 0x8019 -/* 0A5E8C 800A528C 816BEE0B */ lb $t3, %lo(gCupCourseSelection)($t3) -/* 0A5E90 800A5290 824F0000 */ lb $t7, ($s2) -/* 0A5E94 800A5294 3C0D800F */ lui $t5, %hi(gCupCourseOrder) -/* 0A5E98 800A5298 000BC840 */ sll $t9, $t3, 1 -/* 0A5E9C 800A529C 000FC0C0 */ sll $t8, $t7, 3 -/* 0A5EA0 800A52A0 03196021 */ addu $t4, $t8, $t9 -/* 0A5EA4 800A52A4 01AC6821 */ addu $t5, $t5, $t4 -/* 0A5EA8 800A52A8 85AD2BB4 */ lh $t5, %lo(gCupCourseOrder)($t5) -/* 0A5EAC 800A52AC 86650002 */ lh $a1, 2($s3) -/* 0A5EB0 800A52B0 3C06800E */ lui $a2, %hi(D_800E7574) -/* 0A5EB4 800A52B4 000D7080 */ sll $t6, $t5, 2 -/* 0A5EB8 800A52B8 00CE3021 */ addu $a2, $a2, $t6 -/* 0A5EBC 800A52BC 8CC67574 */ lw $a2, %lo(D_800E7574)($a2) -/* 0A5EC0 800A52C0 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5EC4 800A52C4 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5EC8 800A52C8 240400A0 */ li $a0, 160 -/* 0A5ECC 800A52CC 00003825 */ move $a3, $zero -/* 0A5ED0 800A52D0 0C024DBB */ jal draw_text -/* 0A5ED4 800A52D4 24A5FFE2 */ addiu $a1, $a1, -0x1e -/* 0A5ED8 800A52D8 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A5EDC 800A52DC 3C12800E */ lui $s2, %hi(D_800E775C) # $s2, 0x800e -/* 0A5EE0 800A52E0 4481A000 */ mtc1 $at, $f20 -/* 0A5EE4 800A52E4 2652775C */ addiu $s2, %lo(D_800E775C) # addiu $s2, $s2, 0x775c -/* 0A5EE8 800A52E8 00008025 */ move $s0, $zero -/* 0A5EEC 800A52EC 00008825 */ move $s1, $zero -/* 0A5EF0 800A52F0 24140002 */ li $s4, 2 -.L800A52F4: -/* 0A5EF4 800A52F4 8EA40004 */ lw $a0, 4($s5) -/* 0A5EF8 800A52F8 02002825 */ move $a1, $s0 -/* 0A5EFC 800A52FC 24060003 */ li $a2, 3 -/* 0A5F00 800A5300 0C024870 */ jal func_800921C0 -/* 0A5F04 800A5304 2484FFE1 */ addiu $a0, $a0, -0x1f -/* 0A5F08 800A5308 866F0002 */ lh $t7, 2($s3) -/* 0A5F0C 800A530C 86640000 */ lh $a0, ($s3) -/* 0A5F10 800A5310 E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A5F14 800A5314 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A5F18 800A5318 8E460000 */ lw $a2, ($s2) -/* 0A5F1C 800A531C 00003825 */ move $a3, $zero -/* 0A5F20 800A5320 0C024CC9 */ jal func_80093324 -/* 0A5F24 800A5324 01F12821 */ addu $a1, $t7, $s1 -/* 0A5F28 800A5328 26100001 */ addiu $s0, $s0, 1 -/* 0A5F2C 800A532C 2631000D */ addiu $s1, $s1, 0xd -/* 0A5F30 800A5330 1614FFF0 */ bne $s0, $s4, .L800A52F4 -/* 0A5F34 800A5334 26520010 */ addiu $s2, $s2, 0x10 -/* 0A5F38 800A5338 8FBF004C */ lw $ra, 0x4c($sp) -/* 0A5F3C 800A533C D7B40028 */ ldc1 $f20, 0x28($sp) -/* 0A5F40 800A5340 8FB00034 */ lw $s0, 0x34($sp) -/* 0A5F44 800A5344 8FB10038 */ lw $s1, 0x38($sp) -/* 0A5F48 800A5348 8FB2003C */ lw $s2, 0x3c($sp) -/* 0A5F4C 800A534C 8FB30040 */ lw $s3, 0x40($sp) -/* 0A5F50 800A5350 8FB40044 */ lw $s4, 0x44($sp) -/* 0A5F54 800A5354 8FB50048 */ lw $s5, 0x48($sp) -/* 0A5F58 800A5358 03E00008 */ jr $ra -/* 0A5F5C 800A535C 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/asm/non_matchings/code_80091750/func_800A5360.s b/asm/non_matchings/code_80091750/func_800A5360.s deleted file mode 100644 index bf910e47a..000000000 --- a/asm/non_matchings/code_80091750/func_800A5360.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel func_800A5360 -/* 0A5F60 800A5360 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 0A5F64 800A5364 AFB00038 */ sw $s0, 0x38($sp) -/* 0A5F68 800A5368 3C10800E */ lui $s0, %hi(gIsGamePaused) # $s0, 0x800e -/* 0A5F6C 800A536C 2610C5FC */ addiu $s0, %lo(gIsGamePaused) # addiu $s0, $s0, -0x3a04 -/* 0A5F70 800A5370 960E0000 */ lhu $t6, ($s0) -/* 0A5F74 800A5374 3C198016 */ lui $t9, %hi(D_8015F480) # $t9, 0x8016 -/* 0A5F78 800A5378 2739F480 */ addiu $t9, %lo(D_8015F480) # addiu $t9, $t9, -0xb80 -/* 0A5F7C 800A537C 000E7980 */ sll $t7, $t6, 6 -/* 0A5F80 800A5380 25F8FFC0 */ addiu $t8, $t7, -0x40 -/* 0A5F84 800A5384 AFBF0054 */ sw $ra, 0x54($sp) -/* 0A5F88 800A5388 AFB60050 */ sw $s6, 0x50($sp) -/* 0A5F8C 800A538C AFB5004C */ sw $s5, 0x4c($sp) -/* 0A5F90 800A5390 AFB40048 */ sw $s4, 0x48($sp) -/* 0A5F94 800A5394 AFB30044 */ sw $s3, 0x44($sp) -/* 0A5F98 800A5398 AFB20040 */ sw $s2, 0x40($sp) -/* 0A5F9C 800A539C AFB1003C */ sw $s1, 0x3c($sp) -/* 0A5FA0 800A53A0 F7B40030 */ sdc1 $f20, 0x30($sp) -/* 0A5FA4 800A53A4 03191021 */ addu $v0, $t8, $t9 -/* 0A5FA8 800A53A8 8449002C */ lh $t1, 0x2c($v0) -/* 0A5FAC 800A53AC 844A002E */ lh $t2, 0x2e($v0) -/* 0A5FB0 800A53B0 84430030 */ lh $v1, 0x30($v0) -/* 0A5FB4 800A53B4 84480032 */ lh $t0, 0x32($v0) -/* 0A5FB8 800A53B8 3C118015 */ lui $s1, %hi(gDisplayListHead) # $s1, 0x8015 -/* 0A5FBC 800A53BC 26310298 */ addiu $s1, %lo(gDisplayListHead) # addiu $s1, $s1, 0x298 -/* 0A5FC0 800A53C0 0080A025 */ move $s4, $a0 -/* 0A5FC4 800A53C4 05210003 */ bgez $t1, .L800A53D4 -/* 0A5FC8 800A53C8 00095843 */ sra $t3, $t1, 1 -/* 0A5FCC 800A53CC 25210001 */ addiu $at, $t1, 1 -/* 0A5FD0 800A53D0 00015843 */ sra $t3, $at, 1 -.L800A53D4: -/* 0A5FD4 800A53D4 01604825 */ move $t1, $t3 -/* 0A5FD8 800A53D8 05410003 */ bgez $t2, .L800A53E8 -/* 0A5FDC 800A53DC 000A6043 */ sra $t4, $t2, 1 -/* 0A5FE0 800A53E0 25410001 */ addiu $at, $t2, 1 -/* 0A5FE4 800A53E4 00016043 */ sra $t4, $at, 1 -.L800A53E8: -/* 0A5FE8 800A53E8 240E008C */ li $t6, 140 -/* 0A5FEC 800A53EC 010C6821 */ addu $t5, $t0, $t4 -/* 0A5FF0 800A53F0 AFAD0010 */ sw $t5, 0x10($sp) -/* 0A5FF4 800A53F4 AFAE0020 */ sw $t6, 0x20($sp) -/* 0A5FF8 800A53F8 8E240000 */ lw $a0, ($s1) -/* 0A5FFC 800A53FC AFA0001C */ sw $zero, 0x1c($sp) -/* 0A6000 800A5400 AFA00018 */ sw $zero, 0x18($sp) -/* 0A6004 800A5404 AFA00014 */ sw $zero, 0x14($sp) -/* 0A6008 800A5408 00692823 */ subu $a1, $v1, $t1 -/* 0A600C 800A540C 00693821 */ addu $a3, $v1, $t1 -/* 0A6010 800A5410 0C02637E */ jal draw_box -/* 0A6014 800A5414 010C3023 */ subu $a2, $t0, $t4 -/* 0A6018 800A5418 AE220000 */ sw $v0, ($s1) -/* 0A601C 800A541C 3C0F800E */ lui $t7, %hi(gScreenModeSelection) # $t7, 0x800e -/* 0A6020 800A5420 8DF8C530 */ lw $t8, %lo(gScreenModeSelection)($t7) -/* 0A6024 800A5424 960B0000 */ lhu $t3, ($s0) -/* 0A6028 800A5428 3C0F800F */ lui $t7, %hi(D_800E8600) # $t7, 0x800f -/* 0A602C 800A542C 0018C940 */ sll $t9, $t8, 5 -/* 0A6030 800A5430 000B60C0 */ sll $t4, $t3, 3 -/* 0A6034 800A5434 032C6821 */ addu $t5, $t9, $t4 -/* 0A6038 800A5438 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A603C 800A543C 25AEFFF8 */ addiu $t6, $t5, -8 -/* 0A6040 800A5440 25EF8600 */ addiu $t7, %lo(D_800E8600) # addiu $t7, $t7, -0x7a00 -/* 0A6044 800A5444 3C15800E */ lui $s5, %hi(D_800E775C) # $s5, 0x800e -/* 0A6048 800A5448 4481A000 */ mtc1 $at, $f20 -/* 0A604C 800A544C 01CF9821 */ addu $s3, $t6, $t7 -/* 0A6050 800A5450 26B5775C */ addiu $s5, %lo(D_800E775C) # addiu $s5, $s5, 0x775c -/* 0A6054 800A5454 00002825 */ move $a1, $zero -/* 0A6058 800A5458 00009025 */ move $s2, $zero -/* 0A605C 800A545C 24160004 */ li $s6, 4 -.L800A5460: -/* 0A6060 800A5460 18A00004 */ blez $a1, .L800A5474 -/* 0A6064 800A5464 00A08825 */ move $s1, $a1 -/* 0A6068 800A5468 24B00001 */ addiu $s0, $a1, 1 -/* 0A606C 800A546C 10000002 */ b .L800A5478 -/* 0A6070 800A5470 02008825 */ move $s1, $s0 -.L800A5474: -/* 0A6074 800A5474 24B00001 */ addiu $s0, $a1, 1 -.L800A5478: -/* 0A6078 800A5478 8E840004 */ lw $a0, 4($s4) -/* 0A607C 800A547C 24060003 */ li $a2, 3 -/* 0A6080 800A5480 0C024870 */ jal func_800921C0 -/* 0A6084 800A5484 2484FFD7 */ addiu $a0, $a0, -0x29 -/* 0A6088 800A5488 00115880 */ sll $t3, $s1, 2 -/* 0A608C 800A548C 86640000 */ lh $a0, ($s3) -/* 0A6090 800A5490 86780002 */ lh $t8, 2($s3) -/* 0A6094 800A5494 02ABC821 */ addu $t9, $s5, $t3 -/* 0A6098 800A5498 8F260000 */ lw $a2, ($t9) -/* 0A609C 800A549C E7B40014 */ swc1 $f20, 0x14($sp) -/* 0A60A0 800A54A0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A60A4 800A54A4 00003825 */ move $a3, $zero -/* 0A60A8 800A54A8 2484FFFE */ addiu $a0, $a0, -2 -/* 0A60AC 800A54AC 0C024CC9 */ jal func_80093324 -/* 0A60B0 800A54B0 03122821 */ addu $a1, $t8, $s2 -/* 0A60B4 800A54B4 02002825 */ move $a1, $s0 -/* 0A60B8 800A54B8 1616FFE9 */ bne $s0, $s6, .L800A5460 -/* 0A60BC 800A54BC 2652000D */ addiu $s2, $s2, 0xd -/* 0A60C0 800A54C0 8FBF0054 */ lw $ra, 0x54($sp) -/* 0A60C4 800A54C4 D7B40030 */ ldc1 $f20, 0x30($sp) -/* 0A60C8 800A54C8 8FB00038 */ lw $s0, 0x38($sp) -/* 0A60CC 800A54CC 8FB1003C */ lw $s1, 0x3c($sp) -/* 0A60D0 800A54D0 8FB20040 */ lw $s2, 0x40($sp) -/* 0A60D4 800A54D4 8FB30044 */ lw $s3, 0x44($sp) -/* 0A60D8 800A54D8 8FB40048 */ lw $s4, 0x48($sp) -/* 0A60DC 800A54DC 8FB5004C */ lw $s5, 0x4c($sp) -/* 0A60E0 800A54E0 8FB60050 */ lw $s6, 0x50($sp) -/* 0A60E4 800A54E4 03E00008 */ jr $ra -/* 0A60E8 800A54E8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/code_80091750/func_800A5738.s b/asm/non_matchings/code_80091750/func_800A5738.s index 49a00e843..8bcf2b4ef 100644 --- a/asm/non_matchings/code_80091750/func_800A5738.s +++ b/asm/non_matchings/code_80091750/func_800A5738.s @@ -2,18 +2,19 @@ glabel D_800F0C6C .asciiz "'" - .balign 4 + glabel D_800F0C70 .asciiz "\"" - .balign 4 + glabel D_800F0C74 .asciiz "'" - .balign 4 + glabel D_800F0C78 .asciiz "\"" +.balign 4 .section .late_rodata diff --git a/asm/non_matchings/code_80091750/func_800A6D94.s b/asm/non_matchings/code_80091750/func_800A6D94.s deleted file mode 100644 index b06ddedc9..000000000 --- a/asm/non_matchings/code_80091750/func_800A6D94.s +++ /dev/null @@ -1,68 +0,0 @@ -glabel func_800A6D94 -/* 0A7994 800A6D94 3C0F800E */ lui $t7, %hi(gPlayerWinningIndex) # $t7, 0x800e -/* 0A7998 800A6D98 8DEFC5E8 */ lw $t7, %lo(gPlayerWinningIndex)($t7) -/* 0A799C 800A6D9C 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0A79A0 800A6DA0 AFBF001C */ sw $ra, 0x1c($sp) -/* 0A79A4 800A6DA4 AFA40040 */ sw $a0, 0x40($sp) -/* 0A79A8 800A6DA8 AFA50044 */ sw $a1, 0x44($sp) -/* 0A79AC 800A6DAC 10AF0002 */ beq $a1, $t7, .L800A6DB8 -/* 0A79B0 800A6DB0 00001025 */ move $v0, $zero -/* 0A79B4 800A6DB4 24020001 */ li $v0, 1 -.L800A6DB8: -/* 0A79B8 800A6DB8 8FB80044 */ lw $t8, 0x44($sp) -/* 0A79BC 800A6DBC 3C04800E */ lui $a0, %hi(gGlobalTimer) -/* 0A79C0 800A6DC0 00D8C821 */ addu $t9, $a2, $t8 -/* 0A79C4 800A6DC4 93280000 */ lbu $t0, ($t9) -/* 0A79C8 800A6DC8 10400005 */ beqz $v0, .L800A6DE0 -/* 0A79CC 800A6DCC AFA80024 */ sw $t0, 0x24($sp) -/* 0A79D0 800A6DD0 0C024C36 */ jal set_text_color -/* 0A79D4 800A6DD4 00002025 */ move $a0, $zero -/* 0A79D8 800A6DD8 10000008 */ b .L800A6DFC -/* 0A79DC 800A6DDC 8FA40024 */ lw $a0, 0x24($sp) -.L800A6DE0: -/* 0A79E0 800A6DE0 8C84C54C */ lw $a0, %lo(gGlobalTimer)($a0) -/* 0A79E4 800A6DE4 24010003 */ li $at, 3 -/* 0A79E8 800A6DE8 0081001A */ div $zero, $a0, $at -/* 0A79EC 800A6DEC 00002010 */ mfhi $a0 -/* 0A79F0 800A6DF0 0C024C36 */ jal set_text_color -/* 0A79F4 800A6DF4 00000000 */ nop -/* 0A79F8 800A6DF8 8FA40024 */ lw $a0, 0x24($sp) -.L800A6DFC: -/* 0A79FC 800A6DFC 0C029E7D */ jal func_800A79F4 -/* 0A7A00 800A6E00 27A50030 */ addiu $a1, $sp, 0x30 -/* 0A7A04 800A6E04 3C013F40 */ li $at, 0x3F400000 # 0.750000 -/* 0A7A08 800A6E08 44810000 */ mtc1 $at, $f0 -/* 0A7A0C 800A6E0C 3C014200 */ li $at, 0x42000000 # 32.000000 -/* 0A7A10 800A6E10 44812000 */ mtc1 $at, $f4 -/* 0A7A14 800A6E14 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 0A7A18 800A6E18 44814000 */ mtc1 $at, $f8 -/* 0A7A1C 800A6E1C 46002182 */ mul.s $f6, $f4, $f0 -/* 0A7A20 800A6E20 8FAB0040 */ lw $t3, 0x40($sp) -/* 0A7A24 800A6E24 8FAD0044 */ lw $t5, 0x44($sp) -/* 0A7A28 800A6E28 3C19800E */ lui $t9, %hi(D_800E7300) # $t9, 0x800e -/* 0A7A2C 800A6E2C 000B6140 */ sll $t4, $t3, 5 -/* 0A7A30 800A6E30 000D70C0 */ sll $t6, $t5, 3 -/* 0A7A34 800A6E34 018E7821 */ addu $t7, $t4, $t6 -/* 0A7A38 800A6E38 46083283 */ div.s $f10, $f6, $f8 -/* 0A7A3C 800A6E3C 25F8FFC0 */ addiu $t8, $t7, -0x40 -/* 0A7A40 800A6E40 27397300 */ addiu $t9, %lo(D_800E7300) # addiu $t9, $t9, 0x7300 -/* 0A7A44 800A6E44 03191021 */ addu $v0, $t8, $t9 -/* 0A7A48 800A6E48 84480000 */ lh $t0, ($v0) -/* 0A7A4C 800A6E4C 84450002 */ lh $a1, 2($v0) -/* 0A7A50 800A6E50 27A60030 */ addiu $a2, $sp, 0x30 -/* 0A7A54 800A6E54 25090020 */ addiu $t1, $t0, 0x20 -/* 0A7A58 800A6E58 44898000 */ mtc1 $t1, $f16 -/* 0A7A5C 800A6E5C 00003825 */ move $a3, $zero -/* 0A7A60 800A6E60 E7A00014 */ swc1 $f0, 0x14($sp) -/* 0A7A64 800A6E64 E7A00010 */ swc1 $f0, 0x10($sp) -/* 0A7A68 800A6E68 24A50075 */ addiu $a1, $a1, 0x75 -/* 0A7A6C 800A6E6C 468084A0 */ cvt.s.w $f18, $f16 -/* 0A7A70 800A6E70 460A9101 */ sub.s $f4, $f18, $f10 -/* 0A7A74 800A6E74 4600218D */ trunc.w.s $f6, $f4 -/* 0A7A78 800A6E78 44043000 */ mfc1 $a0, $f6 -/* 0A7A7C 800A6E7C 0C024E7F */ jal text_draw -/* 0A7A80 800A6E80 00000000 */ nop -/* 0A7A84 800A6E84 8FBF001C */ lw $ra, 0x1c($sp) -/* 0A7A88 800A6E88 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0A7A8C 800A6E8C 03E00008 */ jr $ra -/* 0A7A90 800A6E90 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800A874C.s b/asm/non_matchings/code_80091750/func_800A874C.s deleted file mode 100644 index c813fb092..000000000 --- a/asm/non_matchings/code_80091750/func_800A874C.s +++ /dev/null @@ -1,137 +0,0 @@ -.section .rodata - -glabel D_800F0C98 -.asciiz "'" -.balign 4 - -glabel D_800F0C9C -.asciiz "\"" -.balign 4 - -.section .late_rodata - -glabel D_800F24A0 -.float 0.6 - -glabel D_800F24A4 -.float 0.65 - -.section .text - -glabel func_800A874C -/* 0A934C 800A874C 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 0A9350 800A8750 AFB00030 */ sw $s0, 0x30($sp) -/* 0A9354 800A8754 00808025 */ move $s0, $a0 -/* 0A9358 800A8758 AFBF003C */ sw $ra, 0x3c($sp) -/* 0A935C 800A875C AFB20038 */ sw $s2, 0x38($sp) -/* 0A9360 800A8760 AFB10034 */ sw $s1, 0x34($sp) -/* 0A9364 800A8764 F7B60028 */ sdc1 $f22, 0x28($sp) -/* 0A9368 800A8768 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 0A936C 800A876C 0C024C36 */ jal set_text_color -/* 0A9370 800A8770 24040001 */ li $a0, 1 -/* 0A9374 800A8774 8E0E0000 */ lw $t6, ($s0) -/* 0A9378 800A8778 24010065 */ li $at, 101 -/* 0A937C 800A877C 15C10005 */ bne $t6, $at, .L800A8794 -/* 0A9380 800A8780 00000000 */ nop -/* 0A9384 800A8784 0C02D389 */ jal func_800B4E24 -/* 0A9388 800A8788 00002025 */ move $a0, $zero -/* 0A938C 800A878C 10000004 */ b .L800A87A0 -/* 0A9390 800A8790 00409025 */ move $s2, $v0 -.L800A8794: -/* 0A9394 800A8794 0C02D3CB */ jal func_800B4F2C -/* 0A9398 800A8798 00000000 */ nop -/* 0A939C 800A879C 00409025 */ move $s2, $v0 -.L800A87A0: -/* 0A93A0 800A87A0 3C01000F */ lui $at, (0x000FFFFF >> 16) # lui $at, 0xf -/* 0A93A4 800A87A4 3421FFFF */ ori $at, (0x000FFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0A93A8 800A87A8 02418824 */ and $s1, $s2, $at -/* 0A93AC 800A87AC 02202025 */ move $a0, $s1 -/* 0A93B0 800A87B0 0C029E3D */ jal get_time_record_minutes -/* 0A93B4 800A87B4 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A93B8 800A87B8 3C01800F */ lui $at, %hi(D_800F24A0) # $at, 0x800f -/* 0A93BC 800A87BC C43424A0 */ lwc1 $f20, %lo(D_800F24A0)($at) -/* 0A93C0 800A87C0 3C01800F */ lui $at, %hi(D_800F24A4) # $at, 0x800f -/* 0A93C4 800A87C4 C43624A4 */ lwc1 $f22, %lo(D_800F24A4)($at) -/* 0A93C8 800A87C8 8E04000C */ lw $a0, 0xc($s0) -/* 0A93CC 800A87CC 8E050010 */ lw $a1, 0x10($s0) -/* 0A93D0 800A87D0 27A60058 */ addiu $a2, $sp, 0x58 -/* 0A93D4 800A87D4 00003825 */ move $a3, $zero -/* 0A93D8 800A87D8 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A93DC 800A87DC E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A93E0 800A87E0 24840005 */ addiu $a0, $a0, 5 -/* 0A93E4 800A87E4 0C024E7F */ jal text_draw -/* 0A93E8 800A87E8 24A50021 */ addiu $a1, $a1, 0x21 -/* 0A93EC 800A87EC 8E04000C */ lw $a0, 0xc($s0) -/* 0A93F0 800A87F0 8E050010 */ lw $a1, 0x10($s0) -/* 0A93F4 800A87F4 3C06800F */ lui $a2, %hi(D_800F0C98) # $a2, 0x800f -/* 0A93F8 800A87F8 24C60C98 */ addiu $a2, %lo(D_800F0C98) # addiu $a2, $a2, 0xc98 -/* 0A93FC 800A87FC E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A9400 800A8800 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A9404 800A8804 00003825 */ move $a3, $zero -/* 0A9408 800A8808 2484000E */ addiu $a0, $a0, 0xe -/* 0A940C 800A880C 0C024CC9 */ jal func_80093324 -/* 0A9410 800A8810 24A50021 */ addiu $a1, $a1, 0x21 -/* 0A9414 800A8814 02202025 */ move $a0, $s1 -/* 0A9418 800A8818 0C029E51 */ jal get_time_record_seconds -/* 0A941C 800A881C 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A9420 800A8820 8E04000C */ lw $a0, 0xc($s0) -/* 0A9424 800A8824 8E050010 */ lw $a1, 0x10($s0) -/* 0A9428 800A8828 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A942C 800A882C E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A9430 800A8830 27A60058 */ addiu $a2, $sp, 0x58 -/* 0A9434 800A8834 00003825 */ move $a3, $zero -/* 0A9438 800A8838 24840016 */ addiu $a0, $a0, 0x16 -/* 0A943C 800A883C 0C024E7F */ jal text_draw -/* 0A9440 800A8840 24A50021 */ addiu $a1, $a1, 0x21 -/* 0A9444 800A8844 8E04000C */ lw $a0, 0xc($s0) -/* 0A9448 800A8848 8E050010 */ lw $a1, 0x10($s0) -/* 0A944C 800A884C 3C06800F */ lui $a2, %hi(D_800F0C9C) # $a2, 0x800f -/* 0A9450 800A8850 24C60C9C */ addiu $a2, %lo(D_800F0C9C) # addiu $a2, $a2, 0xc9c -/* 0A9454 800A8854 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A9458 800A8858 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A945C 800A885C 00003825 */ move $a3, $zero -/* 0A9460 800A8860 24840020 */ addiu $a0, $a0, 0x20 -/* 0A9464 800A8864 0C024CC9 */ jal func_80093324 -/* 0A9468 800A8868 24A50021 */ addiu $a1, $a1, 0x21 -/* 0A946C 800A886C 02202025 */ move $a0, $s1 -/* 0A9470 800A8870 0C029E69 */ jal get_time_record_centiseconds -/* 0A9474 800A8874 27A50058 */ addiu $a1, $sp, 0x58 -/* 0A9478 800A8878 8E04000C */ lw $a0, 0xc($s0) -/* 0A947C 800A887C 8E050010 */ lw $a1, 0x10($s0) -/* 0A9480 800A8880 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A9484 800A8884 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A9488 800A8888 27A60058 */ addiu $a2, $sp, 0x58 -/* 0A948C 800A888C 00003825 */ move $a3, $zero -/* 0A9490 800A8890 24840029 */ addiu $a0, $a0, 0x29 -/* 0A9494 800A8894 0C024E7F */ jal text_draw -/* 0A9498 800A8898 24A50021 */ addiu $a1, $a1, 0x21 -/* 0A949C 800A889C 3C010009 */ lui $at, (0x000927C0 >> 16) # lui $at, 9 -/* 0A94A0 800A88A0 342127C0 */ ori $at, (0x000927C0 & 0xFFFF) # ori $at, $at, 0x27c0 -/* 0A94A4 800A88A4 0221082B */ sltu $at, $s1, $at -/* 0A94A8 800A88A8 10200004 */ beqz $at, .L800A88BC -/* 0A94AC 800A88AC 3C06800E */ lui $a2, %hi(D_800E76A8) -/* 0A94B0 800A88B0 00127D02 */ srl $t7, $s2, 0x14 -/* 0A94B4 800A88B4 10000002 */ b .L800A88C0 -/* 0A94B8 800A88B8 01E09025 */ move $s2, $t7 -.L800A88BC: -/* 0A94BC 800A88BC 24120008 */ li $s2, 8 -.L800A88C0: -/* 0A94C0 800A88C0 8E04000C */ lw $a0, 0xc($s0) -/* 0A94C4 800A88C4 8E050010 */ lw $a1, 0x10($s0) -/* 0A94C8 800A88C8 0012C080 */ sll $t8, $s2, 2 -/* 0A94CC 800A88CC 00D83021 */ addu $a2, $a2, $t8 -/* 0A94D0 800A88D0 8CC676A8 */ lw $a2, %lo(D_800E76A8)($a2) -/* 0A94D4 800A88D4 E7B60014 */ swc1 $f22, 0x14($sp) -/* 0A94D8 800A88D8 E7B40010 */ swc1 $f20, 0x10($sp) -/* 0A94DC 800A88DC 00003825 */ move $a3, $zero -/* 0A94E0 800A88E0 24840060 */ addiu $a0, $a0, 0x60 -/* 0A94E4 800A88E4 0C024DAE */ jal func_800936B8 -/* 0A94E8 800A88E8 24A50021 */ addiu $a1, $a1, 0x21 -/* 0A94EC 800A88EC 8FBF003C */ lw $ra, 0x3c($sp) -/* 0A94F0 800A88F0 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 0A94F4 800A88F4 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 0A94F8 800A88F8 8FB00030 */ lw $s0, 0x30($sp) -/* 0A94FC 800A88FC 8FB10034 */ lw $s1, 0x34($sp) -/* 0A9500 800A8900 8FB20038 */ lw $s2, 0x38($sp) -/* 0A9504 800A8904 03E00008 */ jr $ra -/* 0A9508 800A8908 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/code_80091750/func_800AAC18.s b/asm/non_matchings/code_80091750/func_800AAC18.s deleted file mode 100644 index edcd1a30e..000000000 --- a/asm/non_matchings/code_80091750/func_800AAC18.s +++ /dev/null @@ -1,130 +0,0 @@ -.section .late_rodata - -glabel jpt_800F25E0 -.word L800AAC50, L800AACF0, L800AAD14, L800AACF0 -.word L800AAD14 - -.section .text - -glabel func_800AAC18 -/* 0AB818 800AAC18 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 0AB81C 800AAC1C AFBF0014 */ sw $ra, 0x14($sp) -/* 0AB820 800AAC20 8C830004 */ lw $v1, 4($a0) -/* 0AB824 800AAC24 8C850000 */ lw $a1, ($a0) -/* 0AB828 800AAC28 00803825 */ move $a3, $a0 -/* 0AB82C 800AAC2C 2C610005 */ sltiu $at, $v1, 5 -/* 0AB830 800AAC30 10200064 */ beqz $at, .L800AADC4 -/* 0AB834 800AAC34 24A5FFD5 */ addiu $a1, $a1, -0x2b -/* 0AB838 800AAC38 00037080 */ sll $t6, $v1, 2 -/* 0AB83C 800AAC3C 3C01800F */ lui $at, %hi(jpt_800F25E0) -/* 0AB840 800AAC40 002E0821 */ addu $at, $at, $t6 -/* 0AB844 800AAC44 8C2E25E0 */ lw $t6, %lo(jpt_800F25E0)($at) -/* 0AB848 800AAC48 01C00008 */ jr $t6 -/* 0AB84C 800AAC4C 00000000 */ nop -glabel L800AAC50 -/* 0AB850 800AAC50 3C0F8019 */ lui $t7, %hi(D_8018EDEE) # $t7, 0x8019 -/* 0AB854 800AAC54 81EFEDEE */ lb $t7, %lo(D_8018EDEE)($t7) -/* 0AB858 800AAC58 24010003 */ li $at, 3 -/* 0AB85C 800AAC5C 00A02025 */ move $a0, $a1 -/* 0AB860 800AAC60 15E10023 */ bne $t7, $at, .L800AACF0 -/* 0AB864 800AAC64 00000000 */ nop -/* 0AB868 800AAC68 AFA50024 */ sw $a1, 0x24($sp) -/* 0AB86C 800AAC6C 0C02ABF3 */ jal func_800AAFCC -/* 0AB870 800AAC70 AFA70030 */ sw $a3, 0x30($sp) -/* 0AB874 800AAC74 8FA50024 */ lw $a1, 0x24($sp) -/* 0AB878 800AAC78 04400052 */ bltz $v0, .L800AADC4 -/* 0AB87C 800AAC7C 8FA70030 */ lw $a3, 0x30($sp) -/* 0AB880 800AAC80 3C18800E */ lui $t8, %hi(gScreenModeSelection) # $t8, 0x800e -/* 0AB884 800AAC84 8F19C530 */ lw $t9, %lo(gScreenModeSelection)($t8) -/* 0AB888 800AAC88 000250C0 */ sll $t2, $v0, 3 -/* 0AB88C 800AAC8C 3C0C800E */ lui $t4, %hi(D_800E7188) # $t4, 0x800e -/* 0AB890 800AAC90 00194940 */ sll $t1, $t9, 5 -/* 0AB894 800AAC94 012A5821 */ addu $t3, $t1, $t2 -/* 0AB898 800AAC98 258C7188 */ addiu $t4, %lo(D_800E7188) # addiu $t4, $t4, 0x7188 -/* 0AB89C 800AAC9C 016C4021 */ addu $t0, $t3, $t4 -/* 0AB8A0 800AACA0 850D0000 */ lh $t5, ($t0) -/* 0AB8A4 800AACA4 24060002 */ li $a2, 2 -/* 0AB8A8 800AACA8 00057880 */ sll $t7, $a1, 2 -/* 0AB8AC 800AACAC ACED000C */ sw $t5, 0xc($a3) -/* 0AB8B0 800AACB0 850E0002 */ lh $t6, 2($t0) -/* 0AB8B4 800AACB4 3C04800F */ lui $a0, %hi(D_800E8340) # 0x800f -/* 0AB8B8 800AACB8 ACE60004 */ sw $a2, 4($a3) -/* 0AB8BC 800AACBC ACE60008 */ sw $a2, 8($a3) -/* 0AB8C0 800AACC0 008F2021 */ addu $a0, $a0, $t7 -/* 0AB8C4 800AACC4 ACEE0010 */ sw $t6, 0x10($a3) -/* 0AB8C8 800AACC8 AFA70030 */ sw $a3, 0x30($sp) -/* 0AB8CC 800AACCC 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 0AB8D0 800AACD0 8C848340 */ lw $a0, %lo(D_800E8340)($a0) # -0x7cc0($a0) -/* 0AB8D4 800AACD4 8FA70030 */ lw $a3, 0x30($sp) -/* 0AB8D8 800AACD8 00002825 */ move $a1, $zero -/* 0AB8DC 800AACDC 00403025 */ move $a2, $v0 -/* 0AB8E0 800AACE0 0C026965 */ jal func_8009A594 -/* 0AB8E4 800AACE4 8CE40018 */ lw $a0, 0x18($a3) -/* 0AB8E8 800AACE8 10000037 */ b .L800AADC8 -/* 0AB8EC 800AACEC 8FBF0014 */ lw $ra, 0x14($sp) -.L800AACF0: -glabel L800AACF0 -/* 0AB8F0 800AACF0 3C19800E */ lui $t9, %hi(D_800E7108) # $t9, 0x800e -/* 0AB8F4 800AACF4 27397108 */ addiu $t9, %lo(D_800E7108) # addiu $t9, $t9, 0x7108 -/* 0AB8F8 800AACF8 0005C0C0 */ sll $t8, $a1, 3 -/* 0AB8FC 800AACFC 03191021 */ addu $v0, $t8, $t9 -/* 0AB900 800AAD00 84490000 */ lh $t1, ($v0) -/* 0AB904 800AAD04 ACE9000C */ sw $t1, 0xc($a3) -/* 0AB908 800AAD08 844A0002 */ lh $t2, 2($v0) -/* 0AB90C 800AAD0C 1000002D */ b .L800AADC4 -/* 0AB910 800AAD10 ACEA0010 */ sw $t2, 0x10($a3) -glabel L800AAD14 -/* 0AB914 800AAD14 24060002 */ li $a2, 2 -/* 0AB918 800AAD18 14C30012 */ bne $a2, $v1, .L800AAD64 -/* 0AB91C 800AAD1C 00A02025 */ move $a0, $a1 -/* 0AB920 800AAD20 0C02ABF3 */ jal func_800AAFCC -/* 0AB924 800AAD24 AFA70030 */ sw $a3, 0x30($sp) -/* 0AB928 800AAD28 24060002 */ li $a2, 2 -/* 0AB92C 800AAD2C 0440000A */ bltz $v0, .L800AAD58 -/* 0AB930 800AAD30 8FA70030 */ lw $a3, 0x30($sp) -/* 0AB934 800AAD34 3C0B800E */ lui $t3, %hi(gScreenModeSelection) # $t3, 0x800e -/* 0AB938 800AAD38 8D6CC530 */ lw $t4, %lo(gScreenModeSelection)($t3) -/* 0AB93C 800AAD3C 000270C0 */ sll $t6, $v0, 3 -/* 0AB940 800AAD40 3C18800E */ lui $t8, %hi(D_800E7188) # $t8, 0x800e -/* 0AB944 800AAD44 000C6940 */ sll $t5, $t4, 5 -/* 0AB948 800AAD48 01AE7821 */ addu $t7, $t5, $t6 -/* 0AB94C 800AAD4C 27187188 */ addiu $t8, %lo(D_800E7188) # addiu $t8, $t8, 0x7188 -/* 0AB950 800AAD50 01F84021 */ addu $t0, $t7, $t8 -/* 0AB954 800AAD54 AFA80018 */ sw $t0, 0x18($sp) -.L800AAD58: -/* 0AB958 800AAD58 8FA80018 */ lw $t0, 0x18($sp) -/* 0AB95C 800AAD5C 10000010 */ b .L800AADA0 -/* 0AB960 800AAD60 8CE30004 */ lw $v1, 4($a3) -.L800AAD64: -/* 0AB964 800AAD64 3C09800E */ lui $t1, %hi(D_800E7108) # $t1, 0x800e -/* 0AB968 800AAD68 25297108 */ addiu $t1, %lo(D_800E7108) # addiu $t1, $t1, 0x7108 -/* 0AB96C 800AAD6C 0005C8C0 */ sll $t9, $a1, 3 -/* 0AB970 800AAD70 03291021 */ addu $v0, $t9, $t1 -/* 0AB974 800AAD74 844B0000 */ lh $t3, ($v0) -/* 0AB978 800AAD78 8CEA000C */ lw $t2, 0xc($a3) -/* 0AB97C 800AAD7C 00404025 */ move $t0, $v0 -/* 0AB980 800AAD80 154B0007 */ bne $t2, $t3, .L800AADA0 -/* 0AB984 800AAD84 00000000 */ nop -/* 0AB988 800AAD88 8CEC0010 */ lw $t4, 0x10($a3) -/* 0AB98C 800AAD8C 844D0002 */ lh $t5, 2($v0) -/* 0AB990 800AAD90 158D0003 */ bne $t4, $t5, .L800AADA0 -/* 0AB994 800AAD94 00000000 */ nop -/* 0AB998 800AAD98 1000000A */ b .L800AADC4 -/* 0AB99C 800AAD9C ACE00004 */ sw $zero, 4($a3) -.L800AADA0: -/* 0AB9A0 800AADA0 54C30005 */ bnel $a2, $v1, .L800AADB8 -/* 0AB9A4 800AADA4 00E02025 */ move $a0, $a3 -/* 0AB9A8 800AADA8 8CEE0008 */ lw $t6, 8($a3) -/* 0AB9AC 800AADAC 24010001 */ li $at, 1 -/* 0AB9B0 800AADB0 11C10004 */ beq $t6, $at, .L800AADC4 -/* 0AB9B4 800AADB4 00E02025 */ move $a0, $a3 -.L800AADB8: -/* 0AB9B8 800AADB8 85050000 */ lh $a1, ($t0) -/* 0AB9BC 800AADBC 0C02A476 */ jal func_800A91D8 -/* 0AB9C0 800AADC0 85060002 */ lh $a2, 2($t0) -.L800AADC4: -/* 0AB9C4 800AADC4 8FBF0014 */ lw $ra, 0x14($sp) -.L800AADC8: -/* 0AB9C8 800AADC8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 0AB9CC 800AADCC 03E00008 */ jr $ra -/* 0AB9D0 800AADD0 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_800ACF40.s b/asm/non_matchings/code_80091750/func_800ACF40.s deleted file mode 100644 index 7dc50ca22..000000000 --- a/asm/non_matchings/code_80091750/func_800ACF40.s +++ /dev/null @@ -1,172 +0,0 @@ -.section .late_rodata - -glabel jpt_800F2728 -.word L800ACF94, L800ACFB8, L800AD01C, L800AD128 -.word L800AD190 - -.section .text - -glabel func_800ACF40 -/* 0ADB40 800ACF40 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0ADB44 800ACF44 AFBF001C */ sw $ra, 0x1c($sp) -/* 0ADB48 800ACF48 AFB00018 */ sw $s0, 0x18($sp) -/* 0ADB4C 800ACF4C 8C820000 */ lw $v0, ($a0) -/* 0ADB50 800ACF50 3C0E800F */ lui $t6, %hi(gCharacterSelections - 0xb1) # 0x800f -/* 0ADB54 800ACF54 8C8F0004 */ lw $t7, 4($a0) -/* 0ADB58 800ACF58 01C27021 */ addu $t6, $t6, $v0 -/* 0ADB5C 800ACF5C 81CE85F7 */ lb $t6, %lo(gCharacterSelections - 0xb1)($t6) # -0x7a09($t6) -/* 0ADB60 800ACF60 3C05800F */ lui $a1, %hi(D_800EFD64) # 0x800f -/* 0ADB64 800ACF64 2DE10005 */ sltiu $at, $t7, 5 -/* 0ADB68 800ACF68 00AE2821 */ addu $a1, $a1, $t6 -/* 0ADB6C 800ACF6C 00808025 */ move $s0, $a0 -/* 0ADB70 800ACF70 80A5FD64 */ lb $a1, %lo(D_800EFD64)($a1) # -0x29c($a1) -/* 0ADB74 800ACF74 10200086 */ beqz $at, .L800AD190 -/* 0ADB78 800ACF78 2446FF4F */ addiu $a2, $v0, -0xb1 -/* 0ADB7C 800ACF7C 000F7880 */ sll $t7, $t7, 2 -/* 0ADB80 800ACF80 3C01800F */ lui $at, %hi(jpt_800F2728) -/* 0ADB84 800ACF84 002F0821 */ addu $at, $at, $t7 -/* 0ADB88 800ACF88 8C2F2728 */ lw $t7, %lo(jpt_800F2728)($at) -/* 0ADB8C 800ACF8C 01E00008 */ jr $t7 -/* 0ADB90 800ACF90 00000000 */ nop -glabel L800ACF94 -/* 0ADB94 800ACF94 3C02800E */ lui $v0, %hi(D_800E72F8) # $v0, 0x800e -/* 0ADB98 800ACF98 244272F8 */ addiu $v0, %lo(D_800E72F8) # addiu $v0, $v0, 0x72f8 -/* 0ADB9C 800ACF9C 84580000 */ lh $t8, ($v0) -/* 0ADBA0 800ACFA0 24080001 */ li $t0, 1 -/* 0ADBA4 800ACFA4 AE18000C */ sw $t8, 0xc($s0) -/* 0ADBA8 800ACFA8 84590002 */ lh $t9, 2($v0) -/* 0ADBAC 800ACFAC AE080004 */ sw $t0, 4($s0) -/* 0ADBB0 800ACFB0 10000077 */ b .L800AD190 -/* 0ADBB4 800ACFB4 AE190010 */ sw $t9, 0x10($s0) -glabel L800ACFB8 -/* 0ADBB8 800ACFB8 3C098019 */ lui $t1, %hi(gPlayerCount) # $t1, 0x8019 -/* 0ADBBC 800ACFBC 812AEDF3 */ lb $t2, %lo(gPlayerCount)($t1) -/* 0ADBC0 800ACFC0 000660C0 */ sll $t4, $a2, 3 -/* 0ADBC4 800ACFC4 3C0F800E */ lui $t7, %hi(D_800E7300) # $t7, 0x800e -/* 0ADBC8 800ACFC8 000A5940 */ sll $t3, $t2, 5 -/* 0ADBCC 800ACFCC 016C6821 */ addu $t5, $t3, $t4 -/* 0ADBD0 800ACFD0 25AEFFC0 */ addiu $t6, $t5, -0x40 -/* 0ADBD4 800ACFD4 25EF7300 */ addiu $t7, %lo(D_800E7300) # addiu $t7, $t7, 0x7300 -/* 0ADBD8 800ACFD8 01CF1021 */ addu $v0, $t6, $t7 -/* 0ADBDC 800ACFDC 84450000 */ lh $a1, ($v0) -/* 0ADBE0 800ACFE0 AFA2003C */ sw $v0, 0x3c($sp) -/* 0ADBE4 800ACFE4 0C02A482 */ jal func_800A9208 -/* 0ADBE8 800ACFE8 02002025 */ move $a0, $s0 -/* 0ADBEC 800ACFEC 8FB8003C */ lw $t8, 0x3c($sp) -/* 0ADBF0 800ACFF0 02002025 */ move $a0, $s0 -/* 0ADBF4 800ACFF4 0C02A49E */ jal func_800A9278 -/* 0ADBF8 800ACFF8 87050002 */ lh $a1, 2($t8) -/* 0ADBFC 800ACFFC 8FB9003C */ lw $t9, 0x3c($sp) -/* 0ADC00 800AD000 8E09000C */ lw $t1, 0xc($s0) -/* 0ADC04 800AD004 87280000 */ lh $t0, ($t9) -/* 0ADC08 800AD008 15090061 */ bne $t0, $t1, .L800AD190 -/* 0ADC0C 800AD00C 240A0002 */ li $t2, 2 -/* 0ADC10 800AD010 AE0A0004 */ sw $t2, 4($s0) -/* 0ADC14 800AD014 1000005E */ b .L800AD190 -/* 0ADC18 800AD018 AE000020 */ sw $zero, 0x20($s0) -glabel L800AD01C -/* 0ADC1C 800AD01C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e -/* 0ADC20 800AD020 8C42C53C */ lw $v0, %lo(gModeSelection)($v0) -/* 0ADC24 800AD024 24010002 */ li $at, 2 -/* 0ADC28 800AD028 00001825 */ move $v1, $zero -/* 0ADC2C 800AD02C 10410006 */ beq $v0, $at, .L800AD048 -/* 0ADC30 800AD030 00065880 */ sll $t3, $a2, 2 -/* 0ADC34 800AD034 24010003 */ li $at, 3 -/* 0ADC38 800AD038 1041000A */ beq $v0, $at, .L800AD064 -/* 0ADC3C 800AD03C 3C0D800E */ lui $t5, %hi(gPlayerWinningIndex) # $t5, 0x800e -/* 0ADC40 800AD040 1000000C */ b .L800AD074 -/* 0ADC44 800AD044 00000000 */ nop -.L800AD048: -/* 0ADC48 800AD048 3C0C8016 */ lui $t4, %hi(gGPCurrentRaceRankByPlayerId) -/* 0ADC4C 800AD04C 018B6021 */ addu $t4, $t4, $t3 -/* 0ADC50 800AD050 8D8C43B8 */ lw $t4, %lo(gGPCurrentRaceRankByPlayerId)($t4) -/* 0ADC54 800AD054 11800007 */ beqz $t4, .L800AD074 -/* 0ADC58 800AD058 00000000 */ nop -/* 0ADC5C 800AD05C 10000005 */ b .L800AD074 -/* 0ADC60 800AD060 24030001 */ li $v1, 1 -.L800AD064: -/* 0ADC64 800AD064 8DADC5E8 */ lw $t5, %lo(gPlayerWinningIndex)($t5) -/* 0ADC68 800AD068 10CD0002 */ beq $a2, $t5, .L800AD074 -/* 0ADC6C 800AD06C 00000000 */ nop -/* 0ADC70 800AD070 24030001 */ li $v1, 1 -.L800AD074: -/* 0ADC74 800AD074 54600047 */ bnel $v1, $zero, .L800AD194 -/* 0ADC78 800AD078 8FBF001C */ lw $ra, 0x1c($sp) -/* 0ADC7C 800AD07C 8E0E0020 */ lw $t6, 0x20($s0) -/* 0ADC80 800AD080 240400B0 */ li $a0, 176 -/* 0ADC84 800AD084 25CF0001 */ addiu $t7, $t6, 1 -/* 0ADC88 800AD088 29E1001F */ slti $at, $t7, 0x1f -/* 0ADC8C 800AD08C 14200040 */ bnez $at, .L800AD190 -/* 0ADC90 800AD090 AE0F0020 */ sw $t7, 0x20($s0) -/* 0ADC94 800AD094 AFA50034 */ sw $a1, 0x34($sp) -/* 0ADC98 800AD098 0C02ABBD */ jal find_8018D9E0_entry_dupe -/* 0ADC9C 800AD09C AFA60038 */ sw $a2, 0x38($sp) -/* 0ADCA0 800AD0A0 8C590004 */ lw $t9, 4($v0) -/* 0ADCA4 800AD0A4 8FA50034 */ lw $a1, 0x34($sp) -/* 0ADCA8 800AD0A8 8FA60038 */ lw $a2, 0x38($sp) -/* 0ADCAC 800AD0AC 2B210002 */ slti $at, $t9, 2 -/* 0ADCB0 800AD0B0 14200037 */ bnez $at, .L800AD190 -/* 0ADCB4 800AD0B4 00054080 */ sll $t0, $a1, 2 -/* 0ADCB8 800AD0B8 3C04800F */ lui $a0, %hi(gCharacterCelebrateAnimation) # 0x800f -/* 0ADCBC 800AD0BC 00882021 */ addu $a0, $a0, $t0 -/* 0ADCC0 800AD0C0 8C848380 */ lw $a0, %lo(gCharacterCelebrateAnimation)($a0) # -0x7c80($a0) -/* 0ADCC4 800AD0C4 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 0ADCC8 800AD0C8 AFA60038 */ sw $a2, 0x38($sp) -/* 0ADCCC 800AD0CC 8FA60038 */ lw $a2, 0x38($sp) -/* 0ADCD0 800AD0D0 8E040018 */ lw $a0, 0x18($s0) -/* 0ADCD4 800AD0D4 00002825 */ move $a1, $zero -/* 0ADCD8 800AD0D8 0C026990 */ jal func_8009A640 -/* 0ADCDC 800AD0DC 00403825 */ move $a3, $v0 -/* 0ADCE0 800AD0E0 8FA60038 */ lw $a2, 0x38($sp) -/* 0ADCE4 800AD0E4 24090003 */ li $t1, 3 -/* 0ADCE8 800AD0E8 AE090004 */ sw $t1, 4($s0) -/* 0ADCEC 800AD0EC 30C400FF */ andi $a0, $a2, 0xff -/* 0ADCF0 800AD0F0 0C032893 */ jal func_800CA24C -/* 0ADCF4 800AD0F4 AFA40024 */ sw $a0, 0x24($sp) -/* 0ADCF8 800AD0F8 8FA60038 */ lw $a2, 0x38($sp) -/* 0ADCFC 800AD0FC 3C05800F */ lui $a1, %hi(gCharacterSelections) # 0x800f -/* 0ADD00 800AD100 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900 -/* 0ADD04 800AD104 00A62821 */ addu $a1, $a1, $a2 -/* 0ADD08 800AD108 80A586A8 */ lb $a1, %lo(gCharacterSelections)($a1) # -0x7958($a1) -/* 0ADD0C 800AD10C 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007 -/* 0ADD10 800AD110 8FA40024 */ lw $a0, 0x24($sp) -/* 0ADD14 800AD114 00055100 */ sll $t2, $a1, 4 -/* 0ADD18 800AD118 0C03243D */ jal func_800C90F4 -/* 0ADD1C 800AD11C 01412821 */ addu $a1, $t2, $at -/* 0ADD20 800AD120 1000001C */ b .L800AD194 -/* 0ADD24 800AD124 8FBF001C */ lw $ra, 0x1c($sp) -glabel L800AD128 -/* 0ADD28 800AD128 8E0B0018 */ lw $t3, 0x18($s0) -/* 0ADD2C 800AD12C 00051080 */ sll $v0, $a1, 2 -/* 0ADD30 800AD130 3C0D8019 */ lui $t5, %hi(D_8018DEE0+0x4) # 0x8019 -/* 0ADD34 800AD134 000B6080 */ sll $t4, $t3, 2 -/* 0ADD38 800AD138 018B6023 */ subu $t4, $t4, $t3 -/* 0ADD3C 800AD13C 000C60C0 */ sll $t4, $t4, 3 -/* 0ADD40 800AD140 3C0E800F */ lui $t6, %hi(D_800E8440) -/* 0ADD44 800AD144 01C27021 */ addu $t6, $t6, $v0 -/* 0ADD48 800AD148 01AC6821 */ addu $t5, $t5, $t4 -/* 0ADD4C 800AD14C 8DADDEE4 */ lw $t5, %lo(D_8018DEE0+0x4)($t5) # -0x211c($t5) -/* 0ADD50 800AD150 8DCE8440 */ lw $t6, %lo(D_800E8440)($t6) -/* 0ADD54 800AD154 3C04800F */ lui $a0, %hi(D_800E83A0) # 0x800f -/* 0ADD58 800AD158 00822021 */ addu $a0, $a0, $v0 -/* 0ADD5C 800AD15C 01AE082A */ slt $at, $t5, $t6 -/* 0ADD60 800AD160 5420000C */ bnel $at, $zero, .L800AD194 -/* 0ADD64 800AD164 8FBF001C */ lw $ra, 0x1c($sp) -/* 0ADD68 800AD168 8C8483A0 */ lw $a0, %lo(D_800E83A0)($a0) # -0x7c60($a0) -/* 0ADD6C 800AD16C 0C026455 */ jal segmented_to_virtual_dupe_2 -/* 0ADD70 800AD170 AFA60038 */ sw $a2, 0x38($sp) -/* 0ADD74 800AD174 8FA60038 */ lw $a2, 0x38($sp) -/* 0ADD78 800AD178 8E040018 */ lw $a0, 0x18($s0) -/* 0ADD7C 800AD17C 00002825 */ move $a1, $zero -/* 0ADD80 800AD180 0C026990 */ jal func_8009A640 -/* 0ADD84 800AD184 00403825 */ move $a3, $v0 -/* 0ADD88 800AD188 240F0004 */ li $t7, 4 -/* 0ADD8C 800AD18C AE0F0004 */ sw $t7, 4($s0) -.L800AD190: -glabel L800AD190 -/* 0ADD90 800AD190 8FBF001C */ lw $ra, 0x1c($sp) -.L800AD194: -/* 0ADD94 800AD194 8FB00018 */ lw $s0, 0x18($sp) -/* 0ADD98 800AD198 27BD0040 */ addiu $sp, $sp, 0x40 -/* 0ADD9C 800AD19C 03E00008 */ jr $ra -/* 0ADDA0 800AD1A0 00000000 */ nop diff --git a/src/code_80091750.c b/src/code_80091750.c index aab9ac8bf..c95d14b3a 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -153,31 +153,27 @@ Unk_D_800E70A0 D_800E7168[] = { { 0x57, 0x97, 0x00, 0x00 }, }; -Unk_D_800E70A0 D_800E7188[][4] = { - { - { 0x80, 0x58, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - }, - { - { 0x80, 0x3f, 0x00, 0x00 }, - { 0x80, 0x91, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - }, - { - { 0x5a, 0x58, 0x00, 0x00 }, - { 0xa6, 0x58, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - }, - { - { 0x5a, 0x3f, 0x00, 0x00 }, - { 0xa6, 0x3f, 0x00, 0x00 }, - { 0x5a, 0x91, 0x00, 0x00 }, - { 0xa6, 0x91, 0x00, 0x00 }, - }, +// In a perfect world this would be `Unk_D_800E70A0 D_800E7188[][4]` +Unk_D_800E70A0 D_800E7188[] = { + { 0x80, 0x58, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + + { 0x80, 0x3f, 0x00, 0x00 }, + { 0x80, 0x91, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + + { 0x5a, 0x58, 0x00, 0x00 }, + { 0xa6, 0x58, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + + { 0x5a, 0x3f, 0x00, 0x00 }, + { 0xa6, 0x3f, 0x00, 0x00 }, + { 0x5a, 0x91, 0x00, 0x00 }, + { 0xa6, 0x91, 0x00, 0x00 }, }; Unk_D_800E70A0 D_800E7208[][2] = { @@ -238,25 +234,22 @@ Unk_D_800E70A0 D_800E7278[] = { Unk_D_800E70A0 D_800E72F8 = { 0x140, 0x23, 0x00, 0x00 }; -Unk_D_800E70A0 D_800E7300[][4] = { - { - { 0x50, 0x23, 0x00, 0x00 }, - { 0xb0, 0x23, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - }, - { - { 0x32, 0x23, 0x00, 0x00 }, - { 0x80, 0x23, 0x00, 0x00 }, - { 0xce, 0x23, 0x00, 0x00 }, - { 0x00, 0x00, 0x00, 0x00 }, - }, - { - { 0x18, 0x23, 0x00, 0x00 }, - { 0x5d, 0x23, 0x00, 0x00 }, - { 0xa2, 0x23, 0x00, 0x00 }, - { 0xe7, 0x23, 0x00, 0x00 }, - }, +// In a perfect world this would be `Unk_D_800E70A0 D_800E7300[][4]` +Unk_D_800E70A0 D_800E7300[] = { + { 0x50, 0x23, 0x00, 0x00 }, + { 0xb0, 0x23, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + + { 0x32, 0x23, 0x00, 0x00 }, + { 0x80, 0x23, 0x00, 0x00 }, + { 0xce, 0x23, 0x00, 0x00 }, + { 0x00, 0x00, 0x00, 0x00 }, + + { 0x18, 0x23, 0x00, 0x00 }, + { 0x5d, 0x23, 0x00, 0x00 }, + { 0xa2, 0x23, 0x00, 0x00 }, + { 0xe7, 0x23, 0x00, 0x00 }, }; Unk_D_800E70A0 D_800E7360[] = { @@ -711,67 +704,57 @@ char *D_800E7884[] = { "HAS BEEN NOW ERASED.", }; -char *D_800E7890[][4] = { - { - "CONTROLLER 1 DOES NOT HAVE ", - "N64 CONTROLLER PAK", - "", - "", - }, - { - "UNABLE TO READ ", - "N64 CONTROLLER PAK DATA ", - "FROM CONTROLLER 1", - "", - }, - { - "UNABLE TO CREATE GAME DATA ", - "FROM CONTROLLER 1 ", - "N64 CONTROLLER PAK", - "", - }, - { - "UNABLE TO COPY GHOST ", - "-- INSUFFICIENT FREE PAGES ", - "IN CONTROLLER 1 ", - "N64 CONTROLLER PAK", - }, +// In a perfect world this would be `char *D_800E7890[][4]` +char *D_800E7890[] = { + "CONTROLLER 1 DOES NOT HAVE ", + "N64 CONTROLLER PAK", + "", + "", + + "UNABLE TO READ ", + "N64 CONTROLLER PAK DATA ", + "FROM CONTROLLER 1", + "", + + "UNABLE TO CREATE GAME DATA ", + "FROM CONTROLLER 1 ", + "N64 CONTROLLER PAK", + "", + + "UNABLE TO COPY GHOST ", + "-- INSUFFICIENT FREE PAGES ", + "IN CONTROLLER 1 ", + "N64 CONTROLLER PAK", }; -char *D_800E78D0[][3] = { - { - "NO GHOST DATA ", - "IN CONTROLLER 2 ", - "N64 CONTROLLER PAK", - }, - { - "NO MARIO KART 64 DATA ", - "PRESENT IN CONTROLLER 2 ", - "N64 CONTROLLER PAK", - }, - { - "CONTROLLER 2 ", - "DOES NOT HAVE ", - "N64 CONTROLLER PAK SET", - }, - { - "UNABLE TO READ DATA ", - "FROM CONTROLLER 2 ", - "N64 CONTROLLER PAK", - }, +// In a perfect world this would be `char *D_800E78D0[][3]` +char *D_800E78D0[] = { + "NO GHOST DATA ", + "IN CONTROLLER 2 ", + "N64 CONTROLLER PAK", + + "NO MARIO KART 64 DATA ", + "PRESENT IN CONTROLLER 2 ", + "N64 CONTROLLER PAK", + + "CONTROLLER 2 ", + "DOES NOT HAVE ", + "N64 CONTROLLER PAK SET", + + "UNABLE TO READ DATA ", + "FROM CONTROLLER 2 ", + "N64 CONTROLLER PAK", }; -char *D_800E7900[][3] = { - { - "UNABLE TO COPY DATA ", - "FROM CONTROLLER 1 ", - "N64 CONTROLLER PAK", - }, - { - "UNABLE TO READ DATA ", - "FROM CONTROLLER 2 ", - "N64 CONTROLLER PAK", - }, +// In a perfect world this would be `char *D_800E7900[][4]` +char *D_800E7900[] = { + "UNABLE TO COPY DATA ", + "FROM CONTROLLER 1 ", + "N64 CONTROLLER PAK", + + "UNABLE TO READ DATA ", + "FROM CONTROLLER 2 ", + "N64 CONTROLLER PAK", }; char *D_800E7918[] = { @@ -799,31 +782,27 @@ char *D_800E7938[] = { "DATA COPY COMPLETED", }; -char *D_800E7940[][4] = { - { - "NO N64 CONTROLLER PAK DETECTED", - "TO SAVE GHOST DATA, ", - "INSERT N64 CONTROLLER PAK ", - "INTO CONTROLLER 1", - }, - { - "UNABLE TO READ ", - "N64 CONTROLLER PAK DATA", - "", - "", - }, - { - "", - "", - "", - "", - }, - { - "INSUFFICIENT FREE PAGES AVAILABLE ", - "IN N64 CONTROLLER PAK TO CREATE ", - "GAME DATA, PLEASE FREE 121 PAGES.", - "SEE INSTRUCTION BOOKLET FOR DETAILS.", - }, +// In a perfect world this would be `char *D_800E7940[][4]` +char *D_800E7940[] = { + "NO N64 CONTROLLER PAK DETECTED", + "TO SAVE GHOST DATA, ", + "INSERT N64 CONTROLLER PAK ", + "INTO CONTROLLER 1", + + "UNABLE TO READ ", + "N64 CONTROLLER PAK DATA", + "", + "", + + "", + "", + "", + "", + + "INSUFFICIENT FREE PAGES AVAILABLE ", + "IN N64 CONTROLLER PAK TO CREATE ", + "GAME DATA, PLEASE FREE 121 PAGES.", + "SEE INSTRUCTION BOOKLET FOR DETAILS.", }; // Unused? @@ -833,61 +812,55 @@ char *D_800E7980[] = { "INTO CONTROLLER 1", }; -char *D_800E798C[][7] = { - { - "N64 CONTROLLER PAK ", - "NOT DETECTED. ", - "IF YOU WANT TO SAVE ", - "THE GHOST DATA, ", - "PLEASE INSERT ", - "N64 CONTROLLER PAK ", - "INTO CONTROLLER 1", - }, - { - "", - "UNABLE TO SAVE ", - " THE GHOST", - "", - "", - "", - "", - }, - { - "", - "UNABLE TO SAVE ", - " THE GHOST", - "", - "", - "", - "", - }, - { - "INSUFFICIENT ", - "FREE PAGES AVAILABLE ", - "", - "-- GHOST DATA ", - "COULD NOT BE SAVED", - "", - "", - }, - { - "", - "CANNOT CREATE ", - " GAME DATA", - "", - "", - "", - "", - }, - { - "", - "THIS GHOST IS ", - " ALREADY SAVED", - "", - "", - "", - "", - }, +// In a perfect world this would be `char *D_800E798C[][7]` +char *D_800E798C[] = { + "N64 CONTROLLER PAK ", + "NOT DETECTED. ", + "IF YOU WANT TO SAVE ", + "THE GHOST DATA, ", + "PLEASE INSERT ", + "N64 CONTROLLER PAK ", + "INTO CONTROLLER 1", + + "", + "UNABLE TO SAVE ", + " THE GHOST", + "", + "", + "", + "", + + "", + "UNABLE TO SAVE ", + " THE GHOST", + "", + "", + "", + "", + + "INSUFFICIENT ", + "FREE PAGES AVAILABLE ", + "", + "-- GHOST DATA ", + "COULD NOT BE SAVED", + "", + "", + + "", + "CANNOT CREATE ", + " GAME DATA", + "", + "", + "", + "", + + "", + "THIS GHOST IS ", + " ALREADY SAVED", + "", + "", + "", + "", }; char *D_800E7A34[] = { @@ -1170,10 +1143,11 @@ MkTexture *D_800E822C[] = { D_02004534, D_0200455C, }; -MkTexture *D_800E8234[][2] = { - { D_02004688, D_020047DC, }, - { D_020046D8, D_02004804, }, - { D_0200473C, D_0200482C, }, +// In a perfect world this would be `MkTexture *D_800E8234[][2]` +MkTexture *D_800E8234[] = { + D_02004688, D_020047DC, + D_020046D8, D_02004804, + D_0200473C, D_0200482C, }; MkTexture *D_800E824C[] = { @@ -1306,73 +1280,63 @@ Unk_D_800E70A0 D_800E8538[] = { { 0x69, 0x9b, 0x00, 0x00 } }; -Unk_D_800E70A0 D_800E8540[][4] = { - { - { 0x82, 0x64, 0x00, 0x00 }, - { 0x82, 0x64, 0x00, 0x00 }, - { 0x82, 0x64, 0x00, 0x00 }, - { 0x82, 0x64, 0x00, 0x00 }, - }, - { - { 0x6e, 0x28, 0x00, 0x00 }, - { 0x6e, 0xa0, 0x00, 0x00 }, - { 0x6e, 0x28, 0x00, 0x00 }, - { 0x6e, 0xa0, 0x00, 0x00 }, - }, - { - { 0x28, 0x64, 0x00, 0x00 }, - { 0xb2, 0x64, 0x00, 0x00 }, - { 0x28, 0x64, 0x00, 0x00 }, - { 0xb2, 0x64, 0x00, 0x00 }, - }, - { - { 0x28, 0x28, 0x00, 0x00 }, - { 0xb2, 0x28, 0x00, 0x00 }, - { 0x28, 0xa0, 0x00, 0x00 }, - { 0xb2, 0xa0, 0x00, 0x00 }, - }, +// In a perfect world this would be `Unk_D_800E70A0 D_800E8540[][4]` +Unk_D_800E70A0 D_800E8540[] = { + { 0x82, 0x64, 0x00, 0x00 }, + { 0x82, 0x64, 0x00, 0x00 }, + { 0x82, 0x64, 0x00, 0x00 }, + { 0x82, 0x64, 0x00, 0x00 }, + + { 0x6e, 0x28, 0x00, 0x00 }, + { 0x6e, 0xa0, 0x00, 0x00 }, + { 0x6e, 0x28, 0x00, 0x00 }, + { 0x6e, 0xa0, 0x00, 0x00 }, + + { 0x28, 0x64, 0x00, 0x00 }, + { 0xb2, 0x64, 0x00, 0x00 }, + { 0x28, 0x64, 0x00, 0x00 }, + { 0xb2, 0x64, 0x00, 0x00 }, + + { 0x28, 0x28, 0x00, 0x00 }, + { 0xb2, 0x28, 0x00, 0x00 }, + { 0x28, 0xa0, 0x00, 0x00 }, + { 0xb2, 0xa0, 0x00, 0x00 }, }; -Unk_D_800E70A0 D_800E85C0[][4] = { - { - { 0x69, 0x8c, 0x00, 0x00 }, - { 0x78, 0x64, 0x00, 0x00 }, - { 0x78, 0x64, 0x00, 0x00 }, - { 0x78, 0x64, 0x00, 0x00 }, - }, - { - { 0x69, 0x55, 0x00, 0x00 }, - { 0x69, 0xcd, 0x00, 0x00 }, - { 0x78, 0x28, 0x00, 0x00 }, - { 0x78, 0xa0, 0x00, 0x00 }, - }, +// In a perfect world this would be `Unk_D_800E70A0 D_800E85C0[][4]` +Unk_D_800E70A0 D_800E85C0[] = { + { 0x69, 0x8c, 0x00, 0x00 }, + { 0x78, 0x64, 0x00, 0x00 }, + { 0x78, 0x64, 0x00, 0x00 }, + { 0x78, 0x64, 0x00, 0x00 }, + + { 0x69, 0x55, 0x00, 0x00 }, + { 0x69, 0xcd, 0x00, 0x00 }, + { 0x78, 0x28, 0x00, 0x00 }, + { 0x78, 0xa0, 0x00, 0x00 }, }; -Unk_D_800E70A0 D_800E8600[][4] = { - { - { 0x78, 0x64, 0x00, 0x00 }, - { 0x78, 0x64, 0x00, 0x00 }, - { 0x78, 0x64, 0x00, 0x00 }, - { 0x78, 0x64, 0x00, 0x00 }, - }, - { - { 0x6e, 0x28, 0x00, 0x00 }, - { 0x6e, 0xa0, 0x00, 0x00 }, - { 0x6e, 0x28, 0x00, 0x00 }, - { 0x6e, 0xa0, 0x00, 0x00 }, - }, - { - { 0x28, 0x64, 0x00, 0x00 }, - { 0xb2, 0x64, 0x00, 0x00 }, - { 0x28, 0x64, 0x00, 0x00 }, - { 0xb2, 0x64, 0x00, 0x00 }, - }, - { - { 0x28, 0x28, 0x00, 0x00 }, - { 0xb2, 0x28, 0x00, 0x00 }, - { 0x28, 0xa0, 0x00, 0x00 }, - { 0xb2, 0xa0, 0x00, 0x00 }, - }, +// In a perfect world this would be `Unk_D_800E70A0 D_800E8600[][4]` +Unk_D_800E70A0 D_800E8600[] = { + { 0x78, 0x64, 0x00, 0x00 }, + { 0x78, 0x64, 0x00, 0x00 }, + { 0x78, 0x64, 0x00, 0x00 }, + { 0x78, 0x64, 0x00, 0x00 }, + + { 0x6e, 0x28, 0x00, 0x00 }, + { 0x6e, 0xa0, 0x00, 0x00 }, + { 0x6e, 0x28, 0x00, 0x00 }, + { 0x6e, 0xa0, 0x00, 0x00 }, + + { 0x28, 0x64, 0x00, 0x00 }, + { 0xb2, 0x64, 0x00, 0x00 }, + { 0x28, 0x64, 0x00, 0x00 }, + { 0xb2, 0x64, 0x00, 0x00 }, + + { 0x28, 0x28, 0x00, 0x00 }, + { 0xb2, 0x28, 0x00, 0x00 }, + { 0x28, 0xa0, 0x00, 0x00 }, + { 0xb2, 0xa0, 0x00, 0x00 }, }; f64 exponent_by_squaring(f64 base, s32 exponent) { @@ -5490,7 +5454,7 @@ void func_8009B538(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { } } -s32 func_8009B8C4(u64 *arg0) { +u16 *func_8009B8C4(u64 *arg0) { UNUSED s32 pad[2]; s32 sp4; s32 found; @@ -5508,7 +5472,7 @@ s32 func_8009B8C4(u64 *arg0) { if (found != 0) { return &D_8018D9B0[sp4]; } - return 0; + return NULL; } // D_8018D9C0 is a little weird. In code_800AF9B0 its treated as a @@ -5940,10 +5904,6 @@ void func_8009CE1C(void) { } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/NSiHw -// Register allocation difference concerning the use of `gModeSelection` -// See the `REGALLOC DIFF HERE` comment void func_8009CE64(s32 arg0) { s32 thing; s32 var_a1; @@ -6219,9 +6179,11 @@ func_8009CE64_label1: } func_8000F124(); if (gScreenModeSelection == 3) { - // REGALLOC DIFF HERE - if ((gModeSelection == 0) || (1 == gModeSelection)) { + switch (gModeSelection) { + case 0: + case 1: gModeSelection = 2; + break; } } switch (gCurrentCourseId) { @@ -6267,9 +6229,6 @@ func_8009CE64_label1: } } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009CE64.s") -#endif void func_8009D77C(s32 arg0, s32 arg1, s32 arg2) { s16 var_ra; @@ -6632,8 +6591,7 @@ void func_8009E620(void) { #ifdef NON_MATCHING // https://decomp.me/scratch/1BHpa -// Mostly register allocation stuff, but near `case 0xD4` there's a missing `move v0,zero` instruction -// I have no idea what's up with that. +// Stack differences, can't figure out how to fix them void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { struct_8018D9E0_entry *var_ra; s32 stackPadding0; @@ -6649,7 +6607,10 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_v0 = 0; var_ra = D_8018D9E0; - while (1) { + // ???????? + // Credit to Vetri for the idea to mess around with this loop + // to fix the issue near the 0xD4 case + while (1 & 0xFFFFFFFFFFFFFFFF) { var_v0++; if (var_ra->type == 0) break; @@ -6667,7 +6628,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { var_ra->visible = one; var_ra->unk1C = 0; var_ra->unk20 = 0; - switch (type) { /* irregular */ + switch (type) { case 0xFA: s8018ED94 = 0; D_800E8530 = 0.0f; @@ -6786,8 +6747,8 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { case 0xC: case 0xD: case 0xE: - func_800996BC(segmented_to_virtual_dupe(D_800E8234[type - 0xB][0]), 0); - func_80099184(segmented_to_virtual_dupe(D_800E8234[type - 0xB][1])); + func_800996BC(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 0]), 0); + func_80099184(segmented_to_virtual_dupe(D_800E8234[((type - 0xB) * 2) + 1])); break; case 0x2A: func_800996BC(D_02004B4C, 0); @@ -6863,7 +6824,6 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { if (controller_pak_1_status() == 0) { func_800B6708(); } else { - // ? D_8018EE10[1].ghostDataSaved = D_8018EE10[0].ghostDataSaved = 0; D_8018EE10[0].ghostDataSaved = 0; D_8018EE10[1].ghostDataSaved = 0; } @@ -6879,7 +6839,6 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { if (controller_pak_1_status() == 0) { func_800B6708(); } else { - // ? D_8018EE10[1].ghostDataSaved = D_8018EE10[0].ghostDataSaved = 0; D_8018EE10[0].ghostDataSaved = 0; D_8018EE10[1].ghostDataSaved = 0; } @@ -6940,7 +6899,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { func_80099184(segmented_to_virtual_dupe(D_800E82B4[type - 0xB1])); break; case 0xBB: - var_ra->unk1C = func_800B5020(playerHUD[PLAYER_ONE].someTimer, gCharacterSelections[0]); + var_ra->unk1C = func_800B5020(playerHUD[0].someTimer, gCharacterSelections[0]); var_ra->unk20 = func_800B5218(); if (D_80162DD4 != 1) { if (func_800051C4() >= 0x3C01) { @@ -6948,7 +6907,7 @@ void add_8018D9E0_entry(s32 type, s32 column, s32 row, s8 priority) { } } if ((var_ra->unk1C == 0) || (var_ra->unk20 != 0)) { - func_800B559C(gCupCourseSelection + (gCupSelection * 4)); + func_800B559C((gCupSelection * 4) + gCupCourseSelection); } break; case 0xE6: @@ -7725,32 +7684,22 @@ void func_800A0EB8(struct_8018D9E0_entry *arg0, s32 arg1) { gDisplayListHead = func_8009BA74(gDisplayListHead, D_0200184C, (s32) temp_v0->column, (s32) temp_v0->row); } -#ifdef NON_MATCHING -// Some register allocation differences surrounding D_800E8234 -// Permuter can't find anything - void func_800A0FA4(struct_8018D9E0_entry *arg0, s32 arg1) { switch (arg0->unk4) { case 0: case 2: case 3: - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[arg1][0]), arg0->column, arg0->row); - gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[arg1][1]), arg0->column, arg0->row); + gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]), arg0->column, arg0->row); + gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]), arg0->column, arg0->row); break; case 1: case 4: - gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[arg1][0]), arg0->column, arg0->row, 2, arg0->unk1C); - gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[arg1][1]), arg0->column, arg0->row, 2, arg0->unk1C); + gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 0]), arg0->column, arg0->row, 2, arg0->unk1C); + gDisplayListHead = func_8009BC9C(gDisplayListHead, segmented_to_virtual_dupe(D_800E8234[(arg1 * 2) + 1]), arg0->column, arg0->row, 2, arg0->unk1C); break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A0FA4.s") -#endif -#ifdef NON_MATCHING -// Some register allocation differences surrounding the accessing of -// D_800E7940. Not really sure what's up there void func_800A10CC(struct_8018D9E0_entry *arg0) { s32 var_s1; s32 index; @@ -7764,16 +7713,14 @@ void func_800A10CC(struct_8018D9E0_entry *arg0) { index = arg0->unk4 - 2; set_text_color(3); for (var_s1 = 0; var_s1 < 4; var_s1++) { - func_80093324(0x00000023, 0x41 + (0xD * var_s1), D_800E7940[index][var_s1], 0, 0.65f, 0.65f); + // In a perfect world this would be `D_800E7940[index][var_s1]` + func_80093324(0x00000023, 0x41 + (0xD * var_s1), D_800E7940[(index * 4) + var_s1], 0, 0.65f, 0.65f); } break; default: break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A10CC.s") -#endif void func_800A11D0(struct_8018D9E0_entry *arg0, s32 arg1, s32 arg2) { RGBA16 *temp_v1; @@ -7873,30 +7820,25 @@ void func_800A15EC(struct_8018D9E0_entry *arg0) { } } -#ifdef MIPS_TO_C -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-01-2023 void func_800A1780(struct_8018D9E0_entry *arg0) { - Gfx *temp_t0; RGBA16 *temp_a1; RGBA16 *temp_v1; s32 temp_a2; - s32 temp_a3; - s32 temp_v0; + u32 red; + u32 green; + u32 blue; + u32 alpha; - temp_a3 = arg0->unk20; - temp_v1 = &D_800E74D0[temp_a3]; - temp_v0 = arg0->unk1C; - temp_a2 = 0x100 - temp_v0; - temp_a1 = &D_800E74D0[(s32) (temp_a3 + 1) % 3]; - temp_t0 = gDisplayListHead; - gDisplayListHead = temp_t0 + 8; - temp_t0->words.w0 = 0xFA000000; - temp_t0->words.w1 = (((s32) ((temp_v1->red * temp_a2) + (temp_a1->red * temp_v0)) / 256) << 0x18) | ((((s32) ((temp_v1->green * temp_a2) + (temp_a1->green * temp_v0)) / 256) & 0xFF) << 0x10) | ((((s32) ((temp_v1->blue * temp_a2) + (temp_a1->blue * temp_v0)) / 256) & 0xFF) << 8) | (((s32) ((temp_v1->alpha * temp_a2) + (temp_a1->alpha * temp_v0)) / 256) & 0xFF); + temp_v1 = &D_800E74D0[arg0->unk20]; + temp_a1 = &D_800E74D0[(arg0->unk20 + 1) % 3]; + temp_a2 = 256 - arg0->unk1C; + red = ((temp_v1->red * temp_a2) + (temp_a1->red * arg0->unk1C)) / 256; + green = ((temp_v1->green * temp_a2) + (temp_a1->green * arg0->unk1C)) / 256; + blue = ((temp_v1->blue * temp_a2) + (temp_a1->blue * arg0->unk1C)) / 256; + alpha = ((temp_v1->alpha * temp_a2) + (temp_a1->alpha * arg0->unk1C)) / 256; + gDPSetPrimColor(gDisplayListHead++, 0, 0, red, green, blue, alpha); gDisplayListHead = func_8009BA74(gDisplayListHead, segmented_to_virtual_dupe(D_02001FA4), arg0->column, arg0->row); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1780.s") -#endif void func_800A1924(struct_8018D9E0_entry *arg0) { func_8009A76C(arg0->D_8018DEE0_index, 0x17, 0x84, -1); @@ -7934,13 +7876,11 @@ void func_800A1A20(struct_8018D9E0_entry *arg0) { func_800A474C(TIME_TRIAL_1LAP_RECORD, 0x96, arg0->row + 0xE1); } -#ifdef NON_MATCHING -// s3 and s4 are getting mixed up, not sure what's causing that void func_800A1BE0(struct_8018D9E0_entry *arg0) { s32 stackPadding0; s32 stackPadding1; s32 stackPadding2; - s32 stackPadding3; + u8 *wut; Unk_D_800E70A0 sp78; s32 var_s0; s32 var_s1; @@ -7950,6 +7890,7 @@ void func_800A1BE0(struct_8018D9E0_entry *arg0) { temp_s6 = &gSaveData.allCourseTimeTrialRecords.cupRecords[gTimeTrialDataCourseIndex / 4].courseRecords[gTimeTrialDataCourseIndex % 4]; for (var_s0 = 0; var_s0 < 3; var_s0++) { + wut = D_800E7834[var_s0]; var_s1 = 0; if (var_s0 == gCourseRecordsMenuSelection) { var_s2 = 5; @@ -7981,44 +7922,42 @@ void func_800A1BE0(struct_8018D9E0_entry *arg0) { sp78.row = (gCourseRecordsMenuSelection * 0xD) + 0x3A; func_800A66A8(arg0, (Unk_D_800E70A0 *) &sp78); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1BE0.s") -#endif -#ifdef NON_MATCHING -// The loading of 0x3C is happning at the wrong time and -// s0/s1 are getting swapped. I really hate this register allocation bullshit void func_800A1DE0(struct_8018D9E0_entry *arg0) { s32 stackPadding0; s32 stackPadding1; s32 stackPadding2; s32 stackPadding3; Unk_D_800E70A0 sp58; - s32 stackPadding4; s32 var_a0; s32 var_s0; s32 var_s1; + char *wut; set_text_color(1); - for (var_s0 = 0x3C, var_s1 = 0; var_s0 < 0x63; var_s1++, var_s0 += 0xD) { - func_80093324(0x0000001B, var_s0, D_800E7848[((gCourseRecordsMenuSelection - 1) * 3) + var_s1], 0, 0.65f, 0.65f); + for (var_s1 = 0; var_s1 < 3; var_s1++) { + // Removing `wut` introduces counter intuitive changes to how this loop is handled + // Also, in a perfect world this would be `D_800E7848[gCourseRecordsMenuSelection - 1][var_s1]` + wut = D_800E7848[(gCourseRecordsMenuSelection - 1)*3 + var_s1]; + func_80093324(0x0000001B, 0x3C + (0xD*var_s1), D_800E7848[(gCourseRecordsMenuSelection - 1)*3 + var_s1], 0, 0.65f, 0.65f); } - for (var_s1 = 0, var_s0 = 0x6E; var_s1 < 2; var_s1++, var_s0 += 0xD) { + + for (var_s1 = 0; var_s1 < 2; var_s1++) { + wut = D_800E7840[var_s1]; if (var_s1 == D_8018EDF9) { var_a0 = 5; - } else { + } + else { var_a0 = 1; } set_text_color(var_a0); - func_80093324(0x00000043, var_s0, D_800E7840[var_s1], 0, 0.65f, 0.65f); + func_80093324(0x00000043, 0x6E + (0xD*var_s1), D_800E7840[var_s1], 0, 0.65f, 0.65f); } + sp58.column = 0x003B; sp58.row = (D_8018EDF9 * 0xD) + 0x66; func_800A66A8(arg0, &sp58); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A1DE0.s") -#endif void func_800A1F30(struct_8018D9E0_entry *unused) { s32 row; @@ -8030,68 +7969,30 @@ void func_800A1F30(struct_8018D9E0_entry *unused) { } } -#ifdef MIPS_TO_C -//generated by m2c commit eefca95b040d7ee0c617bc58f9ac6cd1cf7bce87 on Sep-02-2023 +#ifdef NON_MATCHING +// Lots and lots of register allocation differences +// No idea what the source of it is, permuter isn't having any luck either void func_800A1FB0(struct_8018D9E0_entry *arg0) { - Unk_D_800E70A0 spE0; /* compiler-managed */ - s8 spB9; - s8 spB8; - s8 spA8[3]; - s8 sp98[3]; - s32 sp88; - s8 **sp84; - s8 **sp78; - s16 var_s1_10; - s16 var_s2_3; - s16 var_s6; - s32 temp_a0; - s32 temp_s1; - s32 temp_s1_2; - s32 temp_s1_3; - s32 var_a0; - s32 var_a0_2; - s32 var_s0; - s32 var_s0_11; - s32 var_s0_12; - s32 var_s0_2; - s32 var_s0_3; - s32 var_s0_4; - s32 var_s0_5; - s32 var_s0_6; - s32 var_s0_7; - s32 var_s0_8; - s32 var_s0_9; - s32 var_s1_9; - s32 var_s2; - s32 var_s2_2; - s32 var_s2_4; - s32 var_s2_5; - s32 var_s2_6; - s32 var_s3; - s32 var_s3_2; - s32 var_s3_4; - s32 var_s4; + Unk_D_800E70A0 spE0; + s32 stackPadding0; + s32 stackPadding1; + s32 stackPadding2; + s32 stackPadding3; + s32 stackPadding4; + s32 stackPadding5; s32 var_s5; - s32 var_s6_2; - s32 var_s6_3; - s8 **temp_v0_3; - s8 **var_s0_10; - s8 **var_s1; - s8 **var_s1_2; - s8 **var_s1_3; - s8 **var_s1_4; - s8 **var_s1_5; - s8 **var_s1_6; - s8 **var_s1_7; - s8 **var_s1_8; - s8 **var_s3_3; - s8 temp_v0; - s8 temp_v0_2; - s8 temp_v0_4; - s8 var_v1; - struct_8018EE10_entry *var_v1_2; - struct_8018EE10_entry *var_v1_3; - struct_8018EE10_entry *var_v1_4; + s32 var_s4; + s32 stackPadding6; + s8 spB8[3]; + s32 stackPadding7; + s32 stackPadding8; + s32 var_s1; + s8 spA8[3]; + s32 var_s2; + s32 temp_v0; + s32 stackPadding9; + s8 sp98[3]; + struct_8018EE10_entry *var_v1; gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x00000140, 0x000000F0, 0, 0, 0, 0x00000064); switch (D_8018EDEC) { /* switch 1 */ @@ -8099,13 +8000,12 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { case 0x16: /* switch 1 */ case 0x17: /* switch 1 */ case 0x18: /* switch 1 */ - for (var_s2 = 0, var_s0 = 0x55; var_s2 < 4; var_s2++, var_s0 += 0x23) { + for (var_s2 = 0; var_s2 < 4; var_s2++) { func_80092224(D_8018EDEC - 0x15, var_s2, 3); - func_80093324(0x00000032, var_s0, D_800E7868[var_s2], 0, 0.9f, 1.0f); - var_s1 += 4; + func_80093324(0x00000032, 0x55 + (0x23 * var_s2), D_800E7868[var_s2], 0, 0.9f, 1.0f); if (var_s2 == (D_8018EDEC - 0x15)) { spE0.column = 0x0032; - spE0.row = var_s0; + spE0.row = 0x55 + (0x23 * var_s2); } } set_text_color(1); @@ -8114,22 +8014,22 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { case 0x1E: /* switch 1 */ case 0x1F: /* switch 1 */ set_text_color(3); - for (var_s2 = 0, var_s0 = 0x55; var_s2 < 3; var_s2++, var_s0 += 0x14) { - func_80093324(0x00000028, var_s0, D_800E7878[var_s2], 0, 1.0f, 1.0f); + for (var_s2 = 0; var_s2 < 3; var_s2++) { + func_80093324(0x00000028, 0x55 + (0x14 * var_s2), D_800E7878[var_s2], 0, 1.0f, 1.0f); } - for (var_s2 = 0, var_s0 = 0x96; var_s2 < 2; var_s2++, var_s0 += 0x19) { - func_80092224(D_8018EDEC - 0x1E, var_s2_2, 1); - func_80093324(0x00000084, var_s0, D_800E7840[var_s2], 0, 1.0f, 1.0f); - if (var_s2_2 == (D_8018EDEC - 0x1E)) { + for (var_s2 = 0; var_s2 < 2; var_s2++) { + func_80092224(D_8018EDEC - 0x1E, var_s2, 1); + func_80093324(0x00000084, 0x96 + (0x19 * var_s2), D_800E7840[var_s2], 0, 1.0f, 1.0f); + if (var_s2 == (D_8018EDEC - 0x1E)) { spE0.column = 0x0084; - spE0.row = var_s0; + spE0.row = 0x96 + (0x19 * var_s2); } } break; case 0x20: /* switch 1 */ set_text_color(3); - for (var_s2 = 0, var_s0 = 0x55; var_s2 < 2; var_s2++, var_s0 += 0x14) { - func_80093324(0x00000032, var_s0, D_800E7884[var_s2], 0, 1.0f, 1.0f); + for (var_s2 = 0; var_s2 < 3; var_s2++) { + func_80093324(0x00000032, 0x55 + (0x14 * var_s2), D_800E7884[var_s2], 0, 1.0f, 1.0f); } break; case 0x2A: /* switch 1 */ @@ -8137,8 +8037,9 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { case 0x2C: /* switch 1 */ case 0x2D: /* switch 1 */ set_text_color(2); - for (var_s2 = 0, var_s0 = 0x55; var_s0 < 0x91; var_s2++, var_s0 += 0x14) { - func_80093324(0x00000032, var_s0, D_800E78D0[D_8018EDEC - 0x2A][var_s2], 0, 0.9f, 0.9f); + temp_v0 = D_8018EDEC - 0x2A; + for (var_s2 = 0; var_s2 < 3; var_s2++) { + func_80093324(0x00000032, 0x55 + (0x14 * var_s2), D_800E78D0[(temp_v0 * 3) + var_s2], 0, 0.9f, 0.9f); } break; case 0x34: /* switch 1 */ @@ -8146,95 +8047,88 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { case 0x36: /* switch 1 */ case 0x37: /* switch 1 */ set_text_color(2); - for (var_s2 = 0, var_s0 = 0x55; var_s0 < 0xA5; var_s2++, var_s0 += 0x14) { - func_80093324(0x00000023, var_s0, D_800E7890[D_8018EDEC - 0x34][var_s2], 0, 0.8f, 0.8f); + temp_v0 = D_8018EDEC - 0x34; + for (var_s2 = 0; var_s2 < 4; var_s2++) { + func_80093324(0x00000023, 0x55 + (0x14 * var_s2), D_800E7890[(temp_v0 * 4) + var_s2], 0, 0.8f, 0.8f); } break; case 0x41: /* switch 1 */ case 0x42: /* switch 1 */ set_text_color(2); - for (var_s2 = 0, var_s0 = 0x55; var_s0 < 0x91; var_s2++, var_s0 += 0x14) { - func_80093324(0x00000041, var_s0, D_800E7900[D_8018EDEC - 0x41][var_s2], 0, 0.9f, 0.9f); + temp_v0 = D_8018EDEC - 0x41; + for (var_s2 = 0; var_s2 < 3; var_s2++) { + func_80093324(0x00000041, 0x55 + (0x14 * var_s2), D_800E7900[(temp_v0 * 3) + var_s2], 0, 0.9f, 0.9f); } break; case 0x46: /* switch 1 */ case 0x47: /* switch 1 */ set_text_color(3); - for (var_s2 = 0, var_s0 = 0x55; var_s2 < 3; var_s2++, var_s0 += 0x14) { - func_80093324(0x00000050, var_s0, D_800E7A48[var_s2], 0, 1.0f, 1.0f); + for (var_s2 = 0; var_s2 < 3; var_s2++) { + func_80093324(0x00000050, 0x55 + (0x14 * var_s2), D_800E7A48[var_s2], 0, 1.0f, 1.0f); } break; case 0x28: /* switch 1 */ case 0x29: /* switch 1 */ case 0x32: /* switch 1 */ case 0x33: /* switch 1 */ - var_s5 = 0x00000028; - if ((D_8018EDEC != 0x28) && (D_8018EDEC != 0x29)) { - var_s5 = 0x00000032; - if ((D_8018EDEC != 0x32) && (var_s4 = spC0, (D_8018EDEC != 0x33))) { - var_s5 = spC4; - } else { - var_s4 = 1; - } - } else { + switch (D_8018EDEC) { + case 0x28: + case 0x29: + var_s5 = 0x28; var_s4 = 0; + break; + case 0x32: + case 0x33: + var_s5 = 0x32; + var_s4 = 1; + default: + // var_s5 = spC4; + // var_s4 = spC0; + break; } set_text_color(var_s4 + 1); draw_text(0x000000A0, 0x00000055, D_800E7920[var_s4], 0, 0.6f, 0.6f); - sp88 = 0x0000005C; - sp78 = (var_s4 * 0x89) + 0x2A; - sp84 = D_800E7918; - var_s6 = 0x0020; - var_s3 = 0x0000002A; - do { + for (var_s1 = 0; var_s1 < 2; var_s1++) { set_text_color(3); - draw_text(sp88, 0x0000007D, *sp84, 0, 0.75f, 0.75f); - for (var_s2 = 0, var_s0 = 0x96; var_s2 < 2; var_s2++, var_s0 += 0x1E) { - if (var_s3 != sp78) { + draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); + for (var_s2 = 0; var_s2 < 2; var_s2++) { + if (var_s1 != var_s4) { func_800921C0(D_8018EDEC - var_s5, var_s2, 1); if (var_s2 == (D_8018EDEC - var_s5)) { - spE0.column = var_s6; - spE0.row = var_s0; + spE0.column = 0x20 + (0x89 * var_s1); + spE0.row = 0x96 + (0x1E * var_s2); } } else if ((var_s4 != 0) && (var_s2 == arg0->unk20)) { set_text_color((s32) gGlobalTimer % 3); } else { set_text_color(1); } - convert_number_to_ascii(var_s2 + 1, &spB8); - func_80093324((s32) var_s6, (s32) var_s0, &spB9, 0, 0.6f, 0.6f); - if (var_s3 == 0x0000002A) { - var_v1_2 = &D_8018EE10[var_s2]; + convert_number_to_ascii(var_s2 + 1, &spB8[0]); + func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spB8[1], 0, 0.6f, 0.6f); + if (var_s1 == 0) { + var_v1 = &D_8018EE10[var_s2]; } else { - var_v1_2 = &D_8018D9C0[var_s2]; + var_v1 = &D_8018D9C0[var_s2]; } - if (var_v1_2->ghostDataSaved == 0) { - func_80093324(var_s3, (s32) var_s0, D_800E7A44, 0, 0.5f, 0.5f); + if (var_v1->ghostDataSaved == 0) { + func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); } else { - func_80093324(var_s3, (s32) var_s0, D_800E75C4[gCupCourseOrder[var_v1_2->courseIndex / 4][var_v1_2->courseIndex % 4]], 0, 0.5f, 0.5f); + func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); } } - var_s3 += 0x89; - sp84 += 4; - sp88 += 0x82; - var_s6 += 0x89; - } while (var_s3 != 0x0000013C); - goto block_98; + } + break; case 0x38: /* switch 1 */ case 0x39: /* switch 1 */ set_text_color(2); - for (var_s2 = 0, var_s0 = 0x4D; var_s2 < 2; var_s2++, var_s0 += 0x14) { - func_80093324(0x000000A0, var_s0, D_800E7928[var_s2], 0, 0.8f, 0.8f); + for (var_s1 = 0; var_s1 < 2; var_s1++) { + draw_text(0x000000A0, 0x4D + (0x14 * var_s1), D_800E7928[var_s1], 0, 0.8f, 0.8f); } - sp88 = 0x0000005C; - sp84 = D_800E7918; - var_s6_2 = 0x00000020; - var_s3_2 = 0x0000002A; - do { + for (var_s1 = 0; var_s1 < 2; var_s1++) { set_text_color(3); - draw_text(sp88, 0x0000007D, *sp84, 0, 0.75f, 0.75f); - for (var_s2 = 0, var_s0 = 0x96; var_s2 < 2; var_s2++, var_s0 += 0x1E) { - if (var_s3_2 == 0x0000002A) { + draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); + for (var_s2 = 0; var_s2 != 2; var_s2++) { + if (var_s1 == 0) { if (var_s2 == arg0->unk1C) { set_text_color((s32) gGlobalTimer % 3); } else { @@ -8245,51 +8139,42 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { } else { set_text_color(1); } - convert_number_to_ascii(var_s2 + 1, spA8); - func_80093324(var_s6_2, var_s0, &spA8[1], 0, 0.6f, 0.6f); - if (var_s3_2 == 0x0000002A) { - var_v1_3 = &D_8018EE10[var_s2]; + convert_number_to_ascii(var_s2 + 1, &spA8[0]); + func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &spA8[1], 0, 0.6f, 0.6f); + if (var_s1 == 0) { + var_v1 = &D_8018EE10[var_s2]; } else { - var_v1_3 = &D_8018D9C0[var_s2]; + var_v1 = &D_8018D9C0[var_s2]; } - if (var_v1_3->ghostDataSaved == 0) { - func_80093324(var_s3_2, var_s0, D_800E7A44, 0, 0.5f, 0.5f); + if (var_v1->ghostDataSaved == 0) { + func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); } else { - func_80093324(var_s3_2, var_s0, D_800E75C4[gCupCourseOrder[var_v1_3->courseIndex / 4][var_v1_3->courseIndex % 4]], 0, 0.5f, 0.5f); + func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); } } - var_s3_2 += 0x89; - sp84 += 4; - sp88 += 0x82; - var_s6_2 += 0x89; - } while (var_s3_2 < 0x13C); - for (var_s2 = 0, var_s0 = 0x6E; var_s2 < 2; var_s2++, var_s0 += 0x32) { + } + for (var_s2 = 0; var_s2 < 2; var_s2++) { if (var_s2 == (D_8018EDEC - 0x38)) { - spE0.column = var_s0; + spE0.column = 0x6E + (0x32 * var_s2); spE0.row = 0x00D2; } - func_800921C0((D_8018EDEC - 0x38), var_s0_11, 3); - func_80093324(var_s0, 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f); + func_800921C0((D_8018EDEC - 0x38), var_s2, 3); + func_80093324(0x6E + (0x32 * var_s2), 0x000000D2, D_800E7930[var_s2], 0, 0.75f, 0.75f); } break; case 0x3A: /* switch 1 */ case 0x3B: /* switch 1 */ case 0x3C: /* switch 1 */ + temp_v0 = (D_8018EDEC - 0x3A) / 2; set_text_color(2); - temp_v0_3 = &D_800E7938[(D_8018EDEC - 0x3A) / 2]; - sp78 = temp_v0_3; - draw_text(0x000000A0, 0x00000055, *temp_v0_3, 0, 1.0f, 1.0f); - sp88 = 0x0000005C; - sp84 = D_800E7918; - var_s6_3 = 0x00000020; - var_s3_4 = 0x0000002A; - do { + draw_text(0x000000A0, 0x00000055, D_800E7938[temp_v0], 0, 1.0f, 1.0f); + for (var_s1 = 0; var_s1 < 2; var_s1++) { set_text_color(3); - draw_text(sp88, 0x0000007D, *sp84, 0, 0.75f, 0.75f); - for (var_s2 = 0, var_s0 = 0x96; var_s2 < 2; var_s2++, var_s0 += 0x1E) { - if (var_s3_4 == 0x0000002A) { + draw_text(0x5C + (0x82 * var_s1), 0x0000007D, D_800E7918[var_s1], 0, 0.75f, 0.75f); + for (var_s2 = 0; var_s2 < 2; var_s2++) { + if (var_s1 == 0) { if (var_s2 == arg0->unk1C) { - if (sp78 == D_800E7938) { + if (temp_v0 == 0) { set_text_color(2); } else { set_text_color(gGlobalTimer % 3); @@ -8302,24 +8187,20 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) { } else { set_text_color(1); } - convert_number_to_ascii(var_s2 + 1, sp98); - func_80093324(var_s6_3, var_s0, &sp98[1], 0, 0.6f, 0.6f); - if (var_s3_4 == 0x0000002A) { - var_v1_4 = &D_8018EE10[var_s2]; + convert_number_to_ascii(var_s2 + 1, &sp98[0]); + func_80093324(0x20 + (0x89 * var_s1), 0x96 + (0x1E * var_s2), &sp98[1], 0, 0.6f, 0.6f); + if (var_s1 == 0) { + var_v1 = &D_8018EE10[var_s2]; } else { - var_v1_4 = &D_8018D9C0[var_s2]; + var_v1 = &D_8018D9C0[var_s2]; } - if (var_v1_4->ghostDataSaved == 0) { - func_80093324(var_s3_4, var_s0, D_800E7A44, 0, 0.5f, 0.5f); + if (var_v1->ghostDataSaved == 0) { + func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f); } else { - func_80093324(var_s3_4, var_s0, D_800E75C4[gCupCourseOrder[var_v1_4->courseIndex / 4][var_v1_4->courseIndex % 4]], 0, 0.5f, 0.5f); + func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f); } } - var_s3_4 += 0x89; - sp84 += 4; - sp88 += 0x82; - var_s6_3 += 0x89; - } while (var_s3_4 != 0x0000013C); + } break; } switch (D_8018EDEC) { /* switch 2 */ @@ -8612,10 +8493,6 @@ void func_800A3C84(struct_8018D9E0_entry *arg0) { func_800A474C(TIME_TRIAL_1LAP_RECORD, 0xAA - arg0->column, arg0->row + 0xE1); } -#ifdef NON_MATCHING -// https://decomp.me/scratch/8x4EF -// Yet more register allocation bullshit. Lots of fake matching too - void func_800A3E60(struct_8018D9E0_entry *arg0) { s32 stackPadding0; Unk_D_800E70A0 sp84; @@ -8623,145 +8500,143 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) { s32 stackPadding2; s32 stackPadding3; s32 stackPadding4; - s32 var_s0; + s32 var_v0; s32 var_v1; s32 var_s1; Unk_D_800E70A0 *var_v0_5; char sp60[3]; - if ((arg0->unk4 != 0) && (arg0->unk4 != 0x0000001F)) { - set_text_color(4); - draw_text(arg0->column + 0x55, 0x19 - arg0->row, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f); - set_text_color(3); - draw_text(arg0->column + 0x55, 0x28 - arg0->row, D_800E7730, 0, 0.75f, 0.75f); - for (var_s1 = 0, var_s0 = 0; var_s1 < 4; var_s1++, var_s0 += 0xF) { - func_800A4550(var_s1, arg0->column + 0x26, (var_s0 - arg0->row) + 0x37); - } - switch (arg0->unk4) { /* switch 1 */ - case 1: /* switch 1 */ - case 5: /* switch 1 */ - case 6: /* switch 1 */ - case 7: /* switch 1 */ - case 8: /* switch 1 */ - case 9: /* switch 1 */ - case 10: /* switch 1 */ - case 30: /* switch 1 */ - for (var_s1 = 0; var_s1 < 6; var_s1++) { - var_v1 = 0; - func_800921C0(arg0->unk4 - 5, var_s1, 1); - switch (var_s1) { /* switch 3; irregular */ - case 4: /* switch 3 */ - if (D_80162DF8 == 1) { - var_v1 = 1; - } - break; - case 5: /* switch 3 */ - if (D_80162DD4 != 0) { - var_v1 = 2; - } - break; - } - if (var_v1 != 0) { - set_text_color(0); - gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96); - func_80093358(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); - } else { - func_80093324(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); - } - } - break; - case 11: /* switch 1 */ - case 12: /* switch 1 */ - case 13: /* switch 1 */ - case 14: /* switch 1 */ - case 15: /* switch 1 */ - case 16: /* switch 1 */ - set_text_color(3); - arg0->unk4 = arg0->unk4; - var_v1 = arg0->unk4 - 11; - for (var_s1 = 0, var_s0 = 0x8C; var_s0 < 0xE7; var_s1++, var_s0 += 0xD) { - func_80093324(0x000000A2, var_s0, D_800E798C[var_v1][var_s1], 0, 0.6f, 0.6f); - } - break; - case 17: /* switch 1 */ - case 18: /* switch 1 */ - set_text_color(1); - for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_80093324(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f); - } - for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_800921C0(arg0->unk4 - 0x11, var_s1, 1); - convert_number_to_ascii(var_s1 + 1, sp60); - func_80093324(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f); - if (D_8018EE10[var_s1].ghostDataSaved == 0) { - func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f); - } else { - func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E75C4[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.45f, 0.45f); - } - } - break; - case 19: /* switch 1 */ - set_text_color(3); - for (var_s1 = 0, var_s0 = 0x93; var_s1 < 3; var_s1++, var_s0 += 0xD) { - func_80093324(0x000000AA, var_s0, D_800E7A48[var_s1], 0, 0.8f, 0.8f); - } - break; - case 20: /* switch 1 */ - case 21: /* switch 1 */ - if (var_s1 && var_s1) {} - set_text_color(3); - for (var_s1 = 0; var_s1 < 3; var_s1++) { - func_80093324(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f); - } - for (var_s1 = 0; var_s1 < 2; var_s1++) { - func_800921C0(arg0->unk4 - 0x14, var_s1, 1); - func_80093324(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f); - } - break; - case 25: /* switch 1 */ - set_text_color(3); - for (var_s1 = 0, var_s0 = 0x93; var_s1 < 3; var_s1++, var_s0 += 0xD) { - func_80093324(0x000000A3, var_s0, D_800E7A74[var_s1], 0, 0.67f, 0.67f); - } - break; - case 26: /* switch 1 */ - set_text_color(3); - for (var_s1 = 0, var_s0 = 0x93; var_s1 < 2; var_s1++, var_s0 += 0xD) { - func_80093324(0x000000AA, var_s0, D_800E7A80[var_s1], 0, 0.75f, 0.75f); - } - break; - } - switch (arg0->unk4) { /* switch 2 */ - case 5: /* switch 2 */ - case 6: /* switch 2 */ - case 7: /* switch 2 */ - case 8: /* switch 2 */ - case 9: /* switch 2 */ - case 10: /* switch 2 */ - var_v0_5 = &D_800E7390[arg0->unk4 - 5]; - break; - case 17: /* switch 2 */ - case 18: /* switch 2 */ - var_v0_5 = &D_800E73C0[arg0->unk4 - 17]; - break; - case 20: /* switch 2 */ - case 21: /* switch 2 */ - var_v0_5 = &D_800E73D0[arg0->unk4 - 20]; - break; - case 30: /* switch 2 */ - var_v0_5 = &D_800E7390[arg0->unk1C - 5]; - break; - default: - return; - } - sp84.column = var_v0_5->column - arg0->column; - sp84.row = var_v0_5->row + arg0->row; - func_800A66A8(arg0, &sp84); + var_v0 = arg0->unk4; + if (var_v0 == 0) return; + if (var_v0 == 0x0000001F) return; + + set_text_color(4); + draw_text(arg0->column + 0x55, 0x19 - arg0->row, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f); + set_text_color(3); + draw_text(arg0->column + 0x55, 0x28 - arg0->row, D_800E7730, 0, 0.75f, 0.75f); + for (var_s1 = 0; var_s1 < 4; var_s1++) { + func_800A4550(var_s1, arg0->column + 0x26, ((0xF * var_s1) - arg0->row) + 0x37); } + switch (arg0->unk4) { /* switch 1 */ + case 1: /* switch 1 */ + case 5: /* switch 1 */ + case 6: /* switch 1 */ + case 7: /* switch 1 */ + case 8: /* switch 1 */ + case 9: /* switch 1 */ + case 10: /* switch 1 */ + case 30: /* switch 1 */ + for (var_s1 = 0; var_s1 < 6; var_s1++) { + var_v1 = 0; + func_800921C0(arg0->unk4 - 5, var_s1, 1); + switch (var_s1) { /* switch 3; irregular */ + case 4: /* switch 3 */ + if (D_80162DF8 == 1) { + var_v1 = 1; + } + break; + case 5: /* switch 3 */ + if (D_80162DD4 != 0) { + var_v1 = 2; + } + break; + } + if (var_v1 != 0) { + set_text_color(0); + gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, 0x96); + func_80093358(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); + } else { + func_80093324(0xB2 - arg0->column, arg0->row + (0xD * var_s1) + 0x93, D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); + } + } + break; + case 11: /* switch 1 */ + case 12: /* switch 1 */ + case 13: /* switch 1 */ + case 14: /* switch 1 */ + case 15: /* switch 1 */ + case 16: /* switch 1 */ + set_text_color(3); + var_v1 = arg0->unk4 - 11; + for (var_s1 = 0; var_s1 < 7; var_s1++) { + func_80093324(0x000000A2, 0x8C + (0xD * var_s1), D_800E798C[(var_v1 * 7) + var_s1], 0, 0.6f, 0.6f); + } + break; + case 17: /* switch 1 */ + case 18: /* switch 1 */ + set_text_color(1); + for (var_s1 = 0; var_s1 < 2; var_s1++) { + func_80093324(0x000000A5, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A3C[var_s1], 0, 0.7f, 0.7f); + } + for (var_s1 = 0; var_s1 < 2; var_s1++) { + func_800921C0(arg0->unk4 - 0x11, var_s1, 1); + convert_number_to_ascii(var_s1 + 1, sp60); + func_80093324(0xB1 - arg0->column, 0xAA + (0x1E * var_s1), &sp60[1], 0, 0.6f, 0.6f); + if (D_8018EE10[var_s1].ghostDataSaved == 0) { + func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f); + } else { + func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E75C4[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.45f, 0.45f); + } + } + break; + case 19: /* switch 1 */ + set_text_color(3); + for (var_s1 = 0; var_s1 < 3; var_s1++) { + func_80093324(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A48[var_s1], 0, 0.8f, 0.8f); + } + break; + case 20: /* switch 1 */ + case 21: /* switch 1 */ + if (var_s1 && var_s1) {} + set_text_color(3); + for (var_s1 = 0; var_s1 < 3; var_s1++) { + func_80093324(0x000000A3, arg0->row + (0xD * var_s1) + 0x8C, D_800E7A60[var_s1], 0, 0.67f, 0.67f); + } + for (var_s1 = 0; var_s1 < 2; var_s1++) { + func_800921C0(arg0->unk4 - 0x14, var_s1, 1); + func_80093324(0xC8 - arg0->column, 0xB9 + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.75f, 0.75f); + } + break; + case 25: /* switch 1 */ + set_text_color(3); + for (var_s1 = 0; var_s1 < 3; var_s1++) { + func_80093324(0x000000A3, (0xD * var_s1) + 0x93, D_800E7A74[var_s1], 0, 0.67f, 0.67f); + } + break; + case 26: /* switch 1 */ + set_text_color(3); + for (var_s1 = 0; var_s1 < 2; var_s1++) { + func_80093324(0x000000AA, (0xD * var_s1) + 0x93, D_800E7A80[var_s1], 0, 0.75f, 0.75f); + } + break; + } + switch (arg0->unk4) { /* switch 2 */ + case 5: /* switch 2 */ + case 6: /* switch 2 */ + case 7: /* switch 2 */ + case 8: /* switch 2 */ + case 9: /* switch 2 */ + case 10: /* switch 2 */ + var_v0_5 = &D_800E7390[arg0->unk4 - 5]; + break; + case 17: /* switch 2 */ + case 18: /* switch 2 */ + var_v0_5 = &D_800E73C0[arg0->unk4 - 17]; + break; + case 20: /* switch 2 */ + case 21: /* switch 2 */ + var_v0_5 = &D_800E73D0[arg0->unk4 - 20]; + break; + case 30: /* switch 2 */ + var_v0_5 = &D_800E7390[arg0->unk1C - 5]; + break; + default: + return; + } + sp84.column = var_v0_5->column - arg0->column; + sp84.row = var_v0_5->row + arg0->row; + func_800A66A8(arg0, &sp84); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A3E60.s") -#endif void func_800A4550(s32 lapNumber, s32 column, s32 row) { s32 stackPadding0; @@ -8953,12 +8828,6 @@ void func_800A4BC8(struct_8018D9E0_entry *arg0) { } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/XnVNT -// Register allocation differnces, no idea what the main cause is. -// Permuter hasn't had any luck either -extern struct UnkStruct_800DC5EC D_8015F480[]; - void func_800A4EF8(struct_8018D9E0_entry *arg0) { s16 temp_t0; s16 temp_v1; @@ -8975,7 +8844,7 @@ void func_800A4EF8(struct_8018D9E0_entry *arg0) { temp_t3 = temp_v0->screenWidth / 2; temp_t4 = temp_v0->screenHeight / 2; gDisplayListHead = draw_box(gDisplayListHead, temp_v1 - temp_t3, temp_t0 - temp_t4, temp_v1 + temp_t3, temp_t0 + temp_t4, 0, 0, 0, 0x0000008C); - temp_s3 = &D_800E8540[gScreenModeSelection][gIsGamePaused - 1]; + temp_s3 = &D_800E8540[(gScreenModeSelection * 4) + (gIsGamePaused - 1)]; for (var_s0 = 0; var_s0 < 4; var_s0++) { if (var_s0 > 0) { var_s1 = var_s0 + 1; @@ -8986,15 +8855,6 @@ void func_800A4EF8(struct_8018D9E0_entry *arg0) { func_80093324(temp_s3->column - 2, temp_s3->row + (13 * var_s0), D_800E775C[var_s1], 0, 0.75f, 0.75f); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A4EF8.s") -#endif - -#ifdef NON_MATCHING -// https://decomp.me/scratch/kPoax -// Just register allocation differences, something to do with the way -// `gScreenModeSelection` is getting accessed. Permuter hasn't had luck yet -extern struct UnkStruct_800DC5EC D_8015F480[]; void func_800A5084(struct_8018D9E0_entry *arg0) { s32 temp_t0; @@ -9014,7 +8874,7 @@ void func_800A5084(struct_8018D9E0_entry *arg0) { temp_t3 = temp_v0->screenWidth / 2; temp_t4 = temp_v0->screenHeight / 2; gDisplayListHead = draw_box(gDisplayListHead, temp_v1 - temp_t3, temp_t0 - temp_t4, temp_v1 + temp_t3, temp_t0 + temp_t4, 0, 0, 0, 140); - temp_s3 = &D_800E85C0[gScreenModeSelection][gIsGamePaused - 1]; + temp_s3 = &D_800E85C0[(gScreenModeSelection * 4) + (gIsGamePaused - 1)]; temp_s0 = ((get_string_width(gCupNames[gCupSelection]) * one) + 10.0f) / 2; temp_s1 = ((get_string_width(D_800E76CC[gCCSelection]) * one) + 10.0f) / 2; set_text_color(TEXT_YELLOW); @@ -9028,15 +8888,7 @@ void func_800A5084(struct_8018D9E0_entry *arg0) { func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), D_800E775C[var_s0 * 4], 0, 0.75f, 0.75f); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A5084.s") -#endif -#ifdef NON_MATCHING -// Some sort of register allocation issue -// Not sure what the source of the problem is - -extern struct UnkStruct_800DC5EC D_8015F480[]; void func_800A5360(struct_8018D9E0_entry *arg0) { struct UnkStruct_800DC5EC *temp_v0; s16 temp_t0; @@ -9053,7 +8905,7 @@ void func_800A5360(struct_8018D9E0_entry *arg0) { temp_t3 = temp_v0->screenWidth / 2; temp_t4 = temp_v0->screenHeight / 2; gDisplayListHead = draw_box(gDisplayListHead, temp_v1 - temp_t3, temp_t0 - temp_t4, temp_v1 + temp_t3, temp_t0 + temp_t4, 0, 0, 0, 0x0000008C); - temp_s3 = &D_800E8600[gScreenModeSelection][gIsGamePaused - 1]; + temp_s3 = &D_800E8600[(gScreenModeSelection * 4) + (gIsGamePaused - 1)]; for (var_a1 = 0; var_a1 < 4; var_a1++) { if (var_a1 > 0) { var_s1 = var_a1 + 1; @@ -9064,45 +8916,44 @@ void func_800A5360(struct_8018D9E0_entry *arg0) { func_80093324(temp_s3->column - 2, temp_s3->row + 13 * var_a1, D_800E775C[var_s1], 0, 0.75f, 0.75f); } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A5360.s") -#endif #ifdef NON_MATCHING -// Pretty big diff honestly. Something about the way gModeSelection -// is handled is causing the diff, although fixing that causes other issues :( +// Pretty big diff honestly. Mostly register allocation stuff though void func_800A54EC(void) { Unk_D_800E70A0 sp50; + s32 why; + s32 whyTheSequel; Unk_D_800E70A0 *huh; Unk_D_800E70A0 *var_v1; struct_8018D9E0_entry *sp48; - if (gIsGamePaused != 0) { - sp48 = find_8018D9E0_entry(0x000000C7); - gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880)); - guOrtho(&gGfxPool->mtxEffect[gMatrixEffectCount], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); - gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount++]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - switch (gModeSelection) { /* irregular */ - default: - var_v1 = huh; // This is digusting and dumb and broken - break; - case 1: - var_v1 = &D_800E8538[0]; - break; - case 2: - var_v1 = &D_800E8540[gScreenModeSelection][gIsGamePaused - 1]; - break; - case 0: - var_v1 = &D_800E85C0[gScreenModeSelection][gIsGamePaused - 1]; - break; - case 3: - var_v1 = &D_800E8600[gScreenModeSelection][gIsGamePaused - 1]; - break; - } - sp50.column = var_v1->column - 8; - sp50.row = (var_v1->row + ((sp48->unk4 - D_800F0B50[gModeSelection]) * 0xD)) - 8; - func_800A66A8(sp48, &sp50); + if (gIsGamePaused == 0) return; + + why = gModeSelection; + sp48 = find_8018D9E0_entry(0x000000C7); + gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880)); + guOrtho(&gGfxPool->mtxEffect[gMatrixEffectCount], 0.0f, 319.0f, 239.0f, 0.0f, -100.0f, 100.0f, 1.0f); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxEffect[gMatrixEffectCount++]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + switch (why) { /* irregular */ + default: + break; + case 1: + var_v1 = &D_800E8538[0]; + break; + case 2: + var_v1 = &D_800E8540[(gIsGamePaused - 1) + (gScreenModeSelection * 4)]; + break; + case 0: + var_v1 = &D_800E85C0[(gIsGamePaused - 1) + (gScreenModeSelection * 4)]; + break; + case 3: + var_v1 = &D_800E8600[(gIsGamePaused - 1) + (gScreenModeSelection * 4)]; + break; } + whyTheSequel = D_800F0B50[why]; + sp50.column = var_v1->column - 8; + sp50.row = (var_v1->row + ((sp48->unk4 - whyTheSequel) * 0xD)) - 8; + func_800A66A8(sp48, &sp50); } #else GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A54EC.s") @@ -9110,10 +8961,10 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A54EC.s") #ifdef NON_MATCHING // https://decomp.me/scratch/esKnl -// Register allocation junk +// `var_v1` is ending up in `v0` instead of `v1`. For some reason :( void func_800A5738(struct_8018D9E0_entry *arg0) { Unk_D_800E70A0 sp98; - s32 stackPadding0; + char **stackPadding0; s32 stackPadding1; s32 stackPadding2; s32 stackPadding3; @@ -9121,21 +8972,22 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { s32 stackPadding4; Unk_D_800E70A0 *var_v0_9; s32 temp_a0; - s32 var_s0; + s32 var_v1; s32 var_s1; s32 var_s2; s32 temp_v0; s32 zero = 0; char sp5C[3]; - if (arg0->unk4 == 0) { + var_v1 = arg0->unk4; + if (var_v1 == 0) { if ((arg0->unk1C >= 0x1E) && ((gGlobalTimer / 16) % 2)) { gDisplayListHead = draw_box(gDisplayListHead, 0x000000C0, 0x00000021, (s32) (get_string_width(D_800E775C[5]) * 0.8f) + 0xC6, 0x00000032, 0, 0, 0, 0x00000096); set_text_color(1); func_80093324(0x000000BF, 0x00000030, D_800E775C[5], 0, 0.8f, 0.8f); } } else { - if (arg0->unk4 == 1) { + if (var_v1 == 1) { var_s1 = arg0->unk1C; var_s2 = (s32) (arg0->unk1C * 0xFF) / 140; } else { @@ -9179,7 +9031,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { text_draw(0x000000B3, 0x00000089, sp84, 0, 0.8f, 0.8f); for (var_s1 = 0; var_s1 < 6; var_s1++) { func_800921C0(arg0->unk4 - 0xB, var_s1, 1); - func_80093358((s32) D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1), D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); + func_80093358(D_800E8538[zero].column, D_800E8538[zero].row + (0xD * var_s1), D_800E775C[var_s1 + 1], 0, 0.75f, 0.75f); } break; case 21: /* switch 1 */ @@ -9190,8 +9042,8 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { case 26: /* switch 1 */ set_text_color(3); temp_v0 = arg0->unk4 - 0x15; - for (var_s1 = 0, var_s0 = 0x6E; var_s0 < 0xC9; var_s1++, var_s0 += 0xD) { - func_80093324(0x0000004D, var_s0, D_800E798C[temp_v0][var_s1], 0, 0.8f, 0.8f); + for (var_s1 = 0; var_s1 < 7; var_s1++) { + func_80093324(0x0000004D, 0x6E + (0xD * var_s1), D_800E798C[(temp_v0 * 7) + var_s1], 0, 0.8f, 0.8f); } break; case 30: /* switch 1 */ @@ -9213,8 +9065,8 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { break; case 32: /* switch 1 */ set_text_color(3); - for (var_s1 = 0, var_s0 = 0x6E; var_s1 < 3; var_s1++, var_s0 += 0xD) { - func_80093324(0x00000064, var_s0, D_800E7A48[var_s1], 0, 0.8f, 0.8f); + for (var_s1 = 0; var_s1 < 3; var_s1++) { + func_80093324(0x00000064, (0xD * var_s1) + 0x6E, D_800E7A48[var_s1], 0, 0.8f, 0.8f); } break; case 35: /* switch 1 */ @@ -9223,21 +9075,21 @@ void func_800A5738(struct_8018D9E0_entry *arg0) { for (var_s1 = 0; var_s1 < 3; var_s1++) { func_80093324(0x00000055, arg0->row + (0xD * var_s1) + 0x6E, D_800E7A60[var_s1], 0, 0.8f, 0.8f); } - for (var_s1 = 0, var_s0 = 0x9B; var_s1 < 2; var_s1++, var_s0 += 0xF) { + for (var_s1 = 0; var_s1 < 2; var_s1++) { func_800921C0(arg0->unk4 - 0x23, var_s1, 1); - func_80093324(0x7D - arg0->column, var_s0, D_800E7A6C[var_s1], 0, 0.8f, 0.8f); + func_80093324(0x7D - arg0->column, 0x9B + (0xF * var_s1), D_800E7A6C[var_s1], 0, 0.8f, 0.8f); } break; case 40: /* switch 1 */ set_text_color(3); - for (var_s1 = 0, var_s0 = 0x6E; var_s1 < 3; var_s1++, var_s0 += 0xD) { - func_80093324(0x00000055, var_s0, D_800E7A74[var_s1], 0, 0.8f, 0.8f); + for (var_s1 = 0; var_s1 < 3; var_s1++) { + func_80093324(0x00000055, (0xD * var_s1) + 0x6E, D_800E7A74[var_s1], 0, 0.8f, 0.8f); } break; case 41: /* switch 1 */ set_text_color(3); - for (var_s1 = 0, var_s0 = 0x6E; var_s1 < 2; var_s1++, var_s0 += 0xD) { - func_80093324(0x0000005D, var_s0, D_800E7A80[var_s1], 0, 0.8f, 0.8f); + for (var_s1 = 0; var_s1 < 2; var_s1++) { + func_80093324(0x0000005D, (0xD * var_s1) + 0x6E, D_800E7A80[var_s1], 0, 0.8f, 0.8f); } break; } @@ -9457,7 +9309,7 @@ void func_800A69C8(struct_8018D9E0_entry *arg0) { for (var_s0 = 0; var_s0 < gPlayerCount; var_s0++) { var_v1 = 0; - thing = &D_800E7300[0][var_s0]; + thing = &D_800E7300[var_s0]; switch (gModeSelection) { /* irregular */ case VERSUS: if (gGPCurrentRaceRankByPlayerId[var_s0] != 0) { @@ -9484,7 +9336,7 @@ void func_800A69C8(struct_8018D9E0_entry *arg0) { } set_text_color(TEXT_BLUE); // Not a hyphen, that is an EUC-JP character - text_draw(0x0000009E, D_800E7300[0][0].row + 0x6D, "ー", 0, 1.0f, 1.0f); + text_draw(0x0000009E, D_800E7300[0].row + 0x6D, "ー", 0, 1.0f, 1.0f); } void func_800A6BEC(struct_8018D9E0_entry *arg0) { @@ -9517,13 +9369,9 @@ void func_800A6CC0(struct_8018D9E0_entry *arg0) { } } -#ifdef NON_MATCHING -// https://decomp.me/scratch/LHe6K -// More register allocation nonsense -// Also, the way the 0.75f gets loaded for the `text_draw` call is screwy void func_800A6D94(s32 arg0, s32 arg1, u8 *arg2) { s32 stackPadding0; - s32 stackPadding1; + Unk_D_800E70A0 *stackPadding1; s8 sp30[5]; s32 var_v0; f32 otherThing; @@ -9539,13 +9387,11 @@ void func_800A6D94(s32 arg0, s32 arg1, u8 *arg2) { } else { set_text_color(gGlobalTimer % 3); } + stackPadding1 = &D_800E7300[((arg0 - 2) * 4) + arg1]; func_800A79F4(thing, sp30); otherThing = 0.75f; - text_draw((D_800E7300[arg0 - 2][arg1].column + 0x20) - ((32.0f * otherThing)/2), D_800E7300[arg0 - 2][arg1].row + 0x75, sp30, 0, 0.75f, 0.75f); + text_draw((stackPadding1->column + 0x20) - ((32.0f * otherThing)/2), stackPadding1->row + 0x75, sp30, 0, 0.75f, 0.75f); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A6D94.s") -#endif // The s/n/r/ー are not ASCII characters, they're EUC-JP characters void func_800A6E94(s32 arg0, s32 arg1, u8 *arg2) { @@ -9555,9 +9401,9 @@ void func_800A6E94(s32 arg0, s32 arg1, u8 *arg2) { char sp40[3]; s32 rank; // Everything about this variable is bizarre - u32 sp38 = -1; + s32 sp38 = -1; - temp_s0 = &D_800E7300[arg0 - 2][arg1]; + temp_s0 = &D_800E7300[((arg0 - 2) * 4) + arg1]; rank = gGPCurrentRaceRankByPlayerId[arg1]; if (rank == ++sp38) { set_text_color(gGlobalTimer % 3); @@ -10282,27 +10128,19 @@ void func_800A86E8(struct_8018D9E0_entry *arg0) { gDisplayListHead = draw_box_fill(gDisplayListHead, arg0->column, arg0->row, arg0->column + 0x64, arg0->row + 0x27, 1, 1, 1, 0xFF); } -#ifdef NON_MATCHING -// Some temp variables are ending up on the stack instead -// of registers. For some reason. +// Credit for the use of ternary operators goes to LLONSIT void func_800A874C(struct_8018D9E0_entry *arg0) { s32 stackPadding0; char sp58[3]; s32 stackPadding1; s32 stackPadding2; - s32 stackPadding3; s32 temp_s1; u32 var_v0; u32 var_s2; - set_text_color(1); - if (arg0->type == 0x00000065) { - var_v0 = func_800B4E24(0); - } else { - var_v0 = func_800B4F2C(); - } - temp_s1 = var_v0 & 0xFFFFF; - get_time_record_minutes(temp_s1, sp58); + var_s2 = arg0->type == 0x00000065 ? func_800B4E24(0) : func_800B4F2C(); + temp_s1 = var_s2 & 0xFFFFF; + get_time_record_minutes((temp_s1 ^ 0), sp58); text_draw(arg0->column + 5, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f); func_80093324(arg0->column + 0xE, arg0->row + 0x21, "'", 0, 0.6f, 0.65f); get_time_record_seconds(temp_s1, sp58); @@ -10310,16 +10148,9 @@ void func_800A874C(struct_8018D9E0_entry *arg0) { func_80093324(arg0->column + 0x20, arg0->row + 0x21, "\"", 0, 0.6f, 0.65f); get_time_record_centiseconds(temp_s1, sp58); text_draw(arg0->column + 0x29, arg0->row + 0x21, sp58, 0, 0.6f, 0.65f); - if (temp_s1 < 0x927C0U) { - var_s2 = var_v0 >> 0x14; - } else { - var_s2 = 8; - } + var_s2 = temp_s1 < 0x927C0U ? var_s2 >> 0x14 : 8; func_800936B8(arg0->column + 0x60, arg0->row + 0x21, D_800E76A8[var_s2], 0, 0.6f, 0.65f); } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800A874C.s") -#endif void func_800A890C(s32 arg0, struct_8018D9E0_entry *arg1) { s32 temp_a2; @@ -11335,8 +11166,6 @@ void func_800AAB90(struct_8018D9E0_entry *arg0) { } } -#ifdef NON_MATCHING -// Register allocation nonsense void func_800AAC18(struct_8018D9E0_entry *arg0) { s32 stackPadding0; s32 stackPadding1; @@ -11351,7 +11180,7 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { if (D_8018EDEE == 3) { temp_v0 = func_800AAFCC(temp_a1); if (temp_v0 >= 0) { - var_t0 = &D_800E7188[gScreenModeSelection][temp_v0]; + var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0]; arg0->column = (s32) var_t0->column; arg0->row = (s32) var_t0->row; arg0->unk4 = 2; @@ -11371,11 +11200,11 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { if (arg0->unk4 == 2) { temp_v0 = func_800AAFCC(temp_a1); if (temp_v0 >= 0) { - var_t0 = &D_800E7188[gScreenModeSelection][temp_v0]; + var_t0 = &D_800E7188[(gScreenModeSelection * 4) + temp_v0]; } } else { var_t0 = &D_800E7108[0][temp_a1]; - if ((arg0->column == var_t0->column) && (var_t0->row == arg0->row)) { + if ((var_t0->column == arg0->column) && (var_t0->row == arg0->row)) { arg0->unk4 = 0; return; } @@ -11388,9 +11217,6 @@ void func_800AAC18(struct_8018D9E0_entry *arg0) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800AAC18.s") -#endif void func_800AADD4(struct_8018D9E0_entry *arg0) { s32 playerId; @@ -12360,9 +12186,6 @@ void func_800ACC50(struct_8018D9E0_entry *arg0) { } } -#ifdef NON_MATCHING -// Just register allocation differences, can't figure out the source of it - void func_800ACF40(struct_8018D9E0_entry *arg0) { Unk_D_800E70A0 *temp_v0_2; s32 temp_a2; @@ -12379,10 +12202,10 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) { arg0->unk4 = 1; break; case 1: - temp_v0_2 = &D_800E7300[gPlayerCount - 2][temp_a2]; + temp_v0_2 = &D_800E7300[((gPlayerCount - 2) * 4) + temp_a2]; func_800A9208(arg0, temp_v0_2->column); func_800A9278(arg0, temp_v0_2->row); - if (temp_v0_2->column == arg0->column) { + if (arg0->column == temp_v0_2->column) { arg0->unk4 = 2; arg0->unk20 = 0; } @@ -12424,9 +12247,6 @@ void func_800ACF40(struct_8018D9E0_entry *arg0) { break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ACF40.s") -#endif void func_800AD1A4(struct_8018D9E0_entry *arg0) { switch (arg0->unk4) { diff --git a/src/code_80091750.h b/src/code_80091750.h index f1f303e54..5f721756c 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -186,7 +186,7 @@ void func_8009AB7C(s32); void func_8009AD78(s32, s32); void func_8009B0A4(s32, u32); void func_8009B538(s32, s32, s32, s32, s32); -s32 func_8009B8C4(u64*); +u16 *func_8009B8C4(u64*); void func_8009B938(void); void func_8009B954(MkTexture*); void func_8009B998(void); @@ -453,14 +453,14 @@ extern Unk_D_800E70A0 D_800E70E8[]; extern Unk_D_800E70A0 D_800E7108[][4]; extern Unk_D_800E70A0 D_800E7148[]; extern Unk_D_800E70A0 D_800E7168[]; -extern Unk_D_800E70A0 D_800E7188[][4]; +extern Unk_D_800E70A0 D_800E7188[]; extern Unk_D_800E70A0 D_800E7208[][2]; extern Unk_D_800E70A0 D_800E7248[]; extern Unk_D_800E70A0 D_800E7258[]; extern Unk_D_800E70A0 D_800E7268[]; extern Unk_D_800E70A0 D_800E7278[]; extern Unk_D_800E70A0 D_800E72F8; -extern Unk_D_800E70A0 D_800E7300[][4]; +extern Unk_D_800E70A0 D_800E7300[]; extern Unk_D_800E70A0 D_800E7360[]; extern Unk_D_800E70A0 D_800E7380[]; extern Unk_D_800E70A0 D_800E7390[]; @@ -513,17 +513,17 @@ extern char *D_800E7860[]; extern char *D_800E7868[]; extern char *D_800E7878[]; extern char *D_800E7884[]; -extern char *D_800E7890[][4]; -extern char *D_800E78D0[][3]; -extern char *D_800E7900[][3]; +extern char *D_800E7890[]; +extern char *D_800E78D0[]; +extern char *D_800E7900[]; extern char *D_800E7918[]; extern char *D_800E7920[]; extern char *D_800E7928[]; extern char *D_800E7930[]; extern char *D_800E7938[]; -extern char *D_800E7940[][4]; +extern char *D_800E7940[]; extern char *D_800E7980[]; -extern char *D_800E798C[][7]; +extern char *D_800E798C[]; extern char *D_800E7A34[]; extern char *D_800E7A3C[]; extern char *D_800E7A44; @@ -562,7 +562,7 @@ extern MkTexture *D_800E8174[]; extern MkTexture *D_800E817C[]; extern MkTexture *D_800E81E4[]; extern MkTexture *D_800E822C[]; -extern MkTexture *D_800E8234[][2]; +extern MkTexture *D_800E8234[]; extern MkTexture *D_800E824C[]; extern MkTexture *D_800E8254[]; extern MkTexture *D_800E8274[]; @@ -591,9 +591,9 @@ extern s8 D_800E852C; extern f32 D_800E8530; extern f32 D_800E8534; extern Unk_D_800E70A0 D_800E8538[]; -extern Unk_D_800E70A0 D_800E8540[][4]; -extern Unk_D_800E70A0 D_800E85C0[][4]; -extern Unk_D_800E70A0 D_800E8600[][4]; +extern Unk_D_800E70A0 D_800E8540[]; +extern Unk_D_800E70A0 D_800E85C0[]; +extern Unk_D_800E70A0 D_800E8600[]; extern s32 gControllerPak1NumPagesFree; extern s32 gControllerPak1FileNote; diff --git a/tools/doxygen_syms.md b/tools/doxygen_syms.md index 27775c5f7..c52b41de4 100644 --- a/tools/doxygen_syms.md +++ b/tools/doxygen_syms.md @@ -3674,8 +3674,6 @@ Variable Name | Memory Address [D_800F0C70](@ref D_800F0C70) | 0x800F0C70 [D_800F0C74](@ref D_800F0C74) | 0x800F0C74 [D_800F0C78](@ref D_800F0C78) | 0x800F0C78 -[D_800F0C98](@ref D_800F0C98) | 0x800F0C98 -[D_800F0C9C](@ref D_800F0C9C) | 0x800F0C9C [D_800F0CA0](@ref D_800F0CA0) | 0x800F0CA0 [D_800F0CD0](@ref D_800F0CD0) | 0x800F0CD0 [D_800F15E0](@ref D_800F15E0) | 0x800F15E0 @@ -3685,9 +3683,6 @@ Variable Name | Memory Address [D_800F1AF4](@ref D_800F1AF4) | 0x800F1AF4 [D_800F1AF8](@ref D_800F1AF8) | 0x800F1AF8 [D_800F1AFC](@ref D_800F1AFC) | 0x800F1AFC -[D_800F1B14](@ref D_800F1B14) | 0x800F1B14 -[D_800F1B54](@ref D_800F1B54) | 0x800F1B54 -[D_800F1B58](@ref D_800F1B58) | 0x800F1B58 [D_800F1C28](@ref D_800F1C28) | 0x800F1C28 [D_800F1C2C](@ref D_800F1C2C) | 0x800F1C2C [D_800F1C30](@ref D_800F1C30) | 0x800F1C30 @@ -3696,12 +3691,6 @@ Variable Name | Memory Address [D_800F1C3C](@ref D_800F1C3C) | 0x800F1C3C [D_800F1C40](@ref D_800F1C40) | 0x800F1C40 [D_800F1C44](@ref D_800F1C44) | 0x800F1C44 -[D_800F1CCC](@ref D_800F1CCC) | 0x800F1CCC -[D_800F1D48](@ref D_800F1D48) | 0x800F1D48 -[D_800F1D4C](@ref D_800F1D4C) | 0x800F1D4C -[D_800F1D50](@ref D_800F1D50) | 0x800F1D50 -[D_800F1D54](@ref D_800F1D54) | 0x800F1D54 -[D_800F1D58](@ref D_800F1D58) | 0x800F1D58 [D_800F1DC8](@ref D_800F1DC8) | 0x800F1DC8 [D_800F1DD8](@ref D_800F1DD8) | 0x800F1DD8 [D_800F1E80](@ref D_800F1E80) | 0x800F1E80 @@ -3713,8 +3702,6 @@ Variable Name | Memory Address [D_800F1E98](@ref D_800F1E98) | 0x800F1E98 [D_800F1F18](@ref D_800F1F18) | 0x800F1F18 [D_800F1F20](@ref D_800F1F20) | 0x800F1F20 -[D_800F24A0](@ref D_800F24A0) | 0x800F24A0 -[D_800F24A4](@ref D_800F24A4) | 0x800F24A4 [D_800F2B38](@ref D_800F2B38) | 0x800F2B38 [D_800F2B40](@ref D_800F2B40) | 0x800F2B40 [D_800F2B44](@ref D_800F2B44) | 0x800F2B44