diff --git a/asm/non_matchings/code_8008C1D0/func_8008CEB0.s b/asm/non_matchings/code_8008C1D0/func_8008CEB0.s deleted file mode 100644 index 82a1da22a..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008CEB0.s +++ /dev/null @@ -1,159 +0,0 @@ -.section .late_rodata - -glabel D_800EF540 -.double 0.2 - -glabel D_800EF548 -.double 0.8 - -.section .text - -glabel func_8008CEB0 -/* 08DAB0 8008CEB0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08DAB4 8008CEB4 AFBF001C */ sw $ra, 0x1c($sp) -/* 08DAB8 8008CEB8 AFB00018 */ sw $s0, 0x18($sp) -/* 08DABC 8008CEBC AFA50034 */ sw $a1, 0x34($sp) -/* 08DAC0 8008CEC0 848300B4 */ lh $v1, 0xb4($a0) -/* 08DAC4 8008CEC4 3C01800F */ lui $at, %hi(D_800EF540) -/* 08DAC8 8008CEC8 D424F540 */ ldc1 $f4, %lo(D_800EF540)($at) -/* 08DACC 8008CECC 24630001 */ addiu $v1, $v1, 1 -/* 08DAD0 8008CED0 00037400 */ sll $t6, $v1, 0x10 -/* 08DAD4 8008CED4 000E1C03 */ sra $v1, $t6, 0x10 -/* 08DAD8 8008CED8 00630019 */ multu $v1, $v1 -/* 08DADC 8008CEDC 44838000 */ mtc1 $v1, $f16 -/* 08DAE0 8008CEE0 C48000B8 */ lwc1 $f0, 0xb8($a0) -/* 08DAE4 8008CEE4 00808025 */ move $s0, $a0 -/* 08DAE8 8008CEE8 468084A0 */ cvt.s.w $f18, $f16 -/* 08DAEC 8008CEEC 848700AC */ lh $a3, 0xac($a0) -/* 08DAF0 8008CEF0 0000C012 */ mflo $t8 -/* 08DAF4 8008CEF4 44983000 */ mtc1 $t8, $f6 -/* 08DAF8 8008CEF8 00000000 */ nop -/* 08DAFC 8008CEFC 46803221 */ cvt.d.w $f8, $f6 -/* 08DB00 8008CF00 46282282 */ mul.d $f10, $f4, $f8 -/* 08DB04 8008CF04 00000000 */ nop -/* 08DB08 8008CF08 46009182 */ mul.s $f6, $f18, $f0 -/* 08DB0C 8008CF0C 46003121 */ cvt.d.s $f4, $f6 -/* 08DB10 8008CF10 462A2201 */ sub.d $f8, $f4, $f10 -/* 08DB14 8008CF14 4620440D */ trunc.w.d $f16, $f8 -/* 08DB18 8008CF18 44028000 */ mfc1 $v0, $f16 -/* 08DB1C 8008CF1C 00000000 */ nop -/* 08DB20 8008CF20 00023400 */ sll $a2, $v0, 0x10 -/* 08DB24 8008CF24 00064403 */ sra $t0, $a2, 0x10 -/* 08DB28 8008CF28 10600047 */ beqz $v1, .L8008D048 -/* 08DB2C 8008CF2C 01003025 */ move $a2, $t0 -/* 08DB30 8008CF30 00024C00 */ sll $t1, $v0, 0x10 -/* 08DB34 8008CF34 00095403 */ sra $t2, $t1, 0x10 -/* 08DB38 8008CF38 05410043 */ bgez $t2, .L8008D048 -/* 08DB3C 8008CF3C 3C01800F */ lui $at, %hi(D_800EF548) -/* 08DB40 8008CF40 D426F548 */ ldc1 $f6, %lo(D_800EF548)($at) -/* 08DB44 8008CF44 460004A1 */ cvt.d.s $f18, $f0 -/* 08DB48 8008CF48 8C8200BC */ lw $v0, 0xbc($a0) -/* 08DB4C 8008CF4C 46269102 */ mul.d $f4, $f18, $f6 -/* 08DB50 8008CF50 00073823 */ negu $a3, $a3 -/* 08DB54 8008CF54 00075C00 */ sll $t3, $a3, 0x10 -/* 08DB58 8008CF58 24010001 */ li $at, 1 -/* 08DB5C 8008CF5C 304D0001 */ andi $t5, $v0, 1 -/* 08DB60 8008CF60 00001825 */ move $v1, $zero -/* 08DB64 8008CF64 000B3C03 */ sra $a3, $t3, 0x10 -/* 08DB68 8008CF68 15A10004 */ bne $t5, $at, .L8008CF7C -/* 08DB6C 8008CF6C 46202020 */ cvt.s.d $f0, $f4 -/* 08DB70 8008CF70 3C040004 */ lui $a0, 4 -/* 08DB74 8008CF74 00447025 */ or $t6, $v0, $a0 -/* 08DB78 8008CF78 AE0E00BC */ sw $t6, 0xbc($s0) -.L8008CF7C: -/* 08DB7C 8008CF7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08DB80 8008CF80 44815000 */ mtc1 $at, $f10 -/* 08DB84 8008CF84 3C040004 */ lui $a0, 4 -/* 08DB88 8008CF88 460A003E */ c.le.s $f0, $f10 -/* 08DB8C 8008CF8C 00000000 */ nop -/* 08DB90 8008CF90 4500002D */ bc1f .L8008D048 -/* 08DB94 8008CF94 00000000 */ nop -/* 08DB98 8008CF98 8E0F00BC */ lw $t7, 0xbc($s0) -/* 08DB9C 8008CF9C 2401F7FF */ li $at, -2049 -/* 08DBA0 8008CFA0 01E11024 */ and $v0, $t7, $at -/* 08DBA4 8008CFA4 0044C824 */ and $t9, $v0, $a0 -/* 08DBA8 8008CFA8 1099000D */ beq $a0, $t9, .L8008CFE0 -/* 08DBAC 8008CFAC AE0200BC */ sw $v0, 0xbc($s0) -/* 08DBB0 8008CFB0 02002025 */ move $a0, $s0 -/* 08DBB4 8008CFB4 83A50037 */ lb $a1, 0x37($sp) -/* 08DBB8 8008CFB8 A7A3002A */ sh $v1, 0x2a($sp) -/* 08DBBC 8008CFBC A7A60026 */ sh $a2, 0x26($sp) -/* 08DBC0 8008CFC0 A7A70028 */ sh $a3, 0x28($sp) -/* 08DBC4 8008CFC4 0C0231CF */ jal func_8008C73C -/* 08DBC8 8008CFC8 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DBCC 8008CFCC 87A3002A */ lh $v1, 0x2a($sp) -/* 08DBD0 8008CFD0 87A60026 */ lh $a2, 0x26($sp) -/* 08DBD4 8008CFD4 87A70028 */ lh $a3, 0x28($sp) -/* 08DBD8 8008CFD8 1000001B */ b .L8008D048 -/* 08DBDC 8008CFDC C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008CFE0: -/* 08DBE0 8008CFE0 960800B6 */ lhu $t0, 0xb6($s0) -/* 08DBE4 8008CFE4 960B0000 */ lhu $t3, ($s0) -/* 08DBE8 8008CFE8 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 08DBEC 8008CFEC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08DBF0 8008CFF0 00415024 */ and $t2, $v0, $at -/* 08DBF4 8008CFF4 24014000 */ li $at, 16384 -/* 08DBF8 8008CFF8 35090020 */ ori $t1, $t0, 0x20 -/* 08DBFC 8008CFFC 316C4000 */ andi $t4, $t3, 0x4000 -/* 08DC00 8008D000 A60900B6 */ sh $t1, 0xb6($s0) -/* 08DC04 8008D004 15810010 */ bne $t4, $at, .L8008D048 -/* 08DC08 8008D008 AE0A00BC */ sw $t2, 0xbc($s0) -/* 08DC0C 8008D00C 96050254 */ lhu $a1, 0x254($s0) -/* 08DC10 8008D010 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 08DC14 8008D014 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 08DC18 8008D018 00056900 */ sll $t5, $a1, 4 -/* 08DC1C 8008D01C 01A12821 */ addu $a1, $t5, $at -/* 08DC20 8008D020 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DC24 8008D024 A7A70028 */ sh $a3, 0x28($sp) -/* 08DC28 8008D028 A7A60026 */ sh $a2, 0x26($sp) -/* 08DC2C 8008D02C A7A3002A */ sh $v1, 0x2a($sp) -/* 08DC30 8008D030 0C03243D */ jal func_800C90F4 -/* 08DC34 8008D034 93A40037 */ lbu $a0, 0x37($sp) -/* 08DC38 8008D038 87A3002A */ lh $v1, 0x2a($sp) -/* 08DC3C 8008D03C 87A60026 */ lh $a2, 0x26($sp) -/* 08DC40 8008D040 87A70028 */ lh $a3, 0x28($sp) -/* 08DC44 8008D044 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008D048: -/* 08DC48 8008D048 00C70019 */ multu $a2, $a3 -/* 08DC4C 8008D04C 8E0200BC */ lw $v0, 0xbc($s0) -/* 08DC50 8008D050 24010001 */ li $at, 1 -/* 08DC54 8008D054 02002025 */ move $a0, $s0 -/* 08DC58 8008D058 30490008 */ andi $t1, $v0, 8 -/* 08DC5C 8008D05C 00003012 */ mflo $a2 -/* 08DC60 8008D060 00067400 */ sll $t6, $a2, 0x10 -/* 08DC64 8008D064 000E3403 */ sra $a2, $t6, 0x10 -/* 08DC68 8008D068 1CC00004 */ bgtz $a2, .L8008D07C -/* 08DC6C 8008D06C 00000000 */ nop -/* 08DC70 8008D070 14E10002 */ bne $a3, $at, .L8008D07C -/* 08DC74 8008D074 00000000 */ nop -/* 08DC78 8008D078 00003025 */ move $a2, $zero -.L8008D07C: -/* 08DC7C 8008D07C 04C00004 */ bltz $a2, .L8008D090 -/* 08DC80 8008D080 2401FFFF */ li $at, -1 -/* 08DC84 8008D084 54E10003 */ bnel $a3, $at, .L8008D094 -/* 08DC88 8008D088 86180078 */ lh $t8, 0x78($s0) -/* 08DC8C 8008D08C 00003025 */ move $a2, $zero -.L8008D090: -/* 08DC90 8008D090 86180078 */ lh $t8, 0x78($s0) -.L8008D094: -/* 08DC94 8008D094 0006C8C0 */ sll $t9, $a2, 3 -/* 08DC98 8008D098 0326C821 */ addu $t9, $t9, $a2 -/* 08DC9C 8008D09C 0019C840 */ sll $t9, $t9, 1 -/* 08DCA0 8008D0A0 03194021 */ addu $t0, $t8, $t9 -/* 08DCA4 8008D0A4 A6080078 */ sh $t0, 0x78($s0) -/* 08DCA8 8008D0A8 E60000B8 */ swc1 $f0, 0xb8($s0) -/* 08DCAC 8008D0AC A60300B4 */ sh $v1, 0xb4($s0) -/* 08DCB0 8008D0B0 11200007 */ beqz $t1, .L8008D0D0 -/* 08DCB4 8008D0B4 A60700AC */ sh $a3, 0xac($s0) -/* 08DCB8 8008D0B8 0C0231CF */ jal func_8008C73C -/* 08DCBC 8008D0BC 83A50037 */ lb $a1, 0x37($sp) -/* 08DCC0 8008D0C0 8E0A00BC */ lw $t2, 0xbc($s0) -/* 08DCC4 8008D0C4 2401F7FF */ li $at, -2049 -/* 08DCC8 8008D0C8 01415824 */ and $t3, $t2, $at -/* 08DCCC 8008D0CC AE0B00BC */ sw $t3, 0xbc($s0) -.L8008D0D0: -/* 08DCD0 8008D0D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 08DCD4 8008D0D4 8FB00018 */ lw $s0, 0x18($sp) -/* 08DCD8 8008D0D8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08DCDC 8008D0DC 03E00008 */ jr $ra -/* 08DCE0 8008D0E0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008D170.s b/asm/non_matchings/code_8008C1D0/func_8008D170.s deleted file mode 100644 index 3b3e6745f..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008D170.s +++ /dev/null @@ -1,166 +0,0 @@ -.section .late_rodata - -glabel D_800EF550 -.double 0.1 - -glabel D_800EF558 -.double 0.9 - -glabel D_800EF560 -.double 1.3 - -.section .text - -glabel func_8008D170 -/* 08DD70 8008D170 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08DD74 8008D174 AFBF001C */ sw $ra, 0x1c($sp) -/* 08DD78 8008D178 AFB00018 */ sw $s0, 0x18($sp) -/* 08DD7C 8008D17C AFA50034 */ sw $a1, 0x34($sp) -/* 08DD80 8008D180 848300B4 */ lh $v1, 0xb4($a0) -/* 08DD84 8008D184 3C01800F */ lui $at, %hi(D_800EF550) -/* 08DD88 8008D188 D424F550 */ ldc1 $f4, %lo(D_800EF550)($at) -/* 08DD8C 8008D18C 24630001 */ addiu $v1, $v1, 1 -/* 08DD90 8008D190 00037400 */ sll $t6, $v1, 0x10 -/* 08DD94 8008D194 000E1C03 */ sra $v1, $t6, 0x10 -/* 08DD98 8008D198 00630019 */ multu $v1, $v1 -/* 08DD9C 8008D19C 44838000 */ mtc1 $v1, $f16 -/* 08DDA0 8008D1A0 C48000B8 */ lwc1 $f0, 0xb8($a0) -/* 08DDA4 8008D1A4 00808025 */ move $s0, $a0 -/* 08DDA8 8008D1A8 468084A0 */ cvt.s.w $f18, $f16 -/* 08DDAC 8008D1AC 848700AC */ lh $a3, 0xac($a0) -/* 08DDB0 8008D1B0 0000C012 */ mflo $t8 -/* 08DDB4 8008D1B4 44983000 */ mtc1 $t8, $f6 -/* 08DDB8 8008D1B8 00000000 */ nop -/* 08DDBC 8008D1BC 46803221 */ cvt.d.w $f8, $f6 -/* 08DDC0 8008D1C0 46282282 */ mul.d $f10, $f4, $f8 -/* 08DDC4 8008D1C4 00000000 */ nop -/* 08DDC8 8008D1C8 46009182 */ mul.s $f6, $f18, $f0 -/* 08DDCC 8008D1CC 46003121 */ cvt.d.s $f4, $f6 -/* 08DDD0 8008D1D0 462A2201 */ sub.d $f8, $f4, $f10 -/* 08DDD4 8008D1D4 4620440D */ trunc.w.d $f16, $f8 -/* 08DDD8 8008D1D8 44028000 */ mfc1 $v0, $f16 -/* 08DDDC 8008D1DC 00000000 */ nop -/* 08DDE0 8008D1E0 00023400 */ sll $a2, $v0, 0x10 -/* 08DDE4 8008D1E4 00064403 */ sra $t0, $a2, 0x10 -/* 08DDE8 8008D1E8 1060004B */ beqz $v1, .L8008D318 -/* 08DDEC 8008D1EC 01003025 */ move $a2, $t0 -/* 08DDF0 8008D1F0 00024C00 */ sll $t1, $v0, 0x10 -/* 08DDF4 8008D1F4 00095403 */ sra $t2, $t1, 0x10 -/* 08DDF8 8008D1F8 05410047 */ bgez $t2, .L8008D318 -/* 08DDFC 8008D1FC 3C01800F */ lui $at, %hi(D_800EF558) -/* 08DE00 8008D200 D426F558 */ ldc1 $f6, %lo(D_800EF558)($at) -/* 08DE04 8008D204 460004A1 */ cvt.d.s $f18, $f0 -/* 08DE08 8008D208 8C8200BC */ lw $v0, 0xbc($a0) -/* 08DE0C 8008D20C 46269102 */ mul.d $f4, $f18, $f6 -/* 08DE10 8008D210 00073823 */ negu $a3, $a3 -/* 08DE14 8008D214 00075C00 */ sll $t3, $a3, 0x10 -/* 08DE18 8008D218 24010001 */ li $at, 1 -/* 08DE1C 8008D21C 304D0001 */ andi $t5, $v0, 1 -/* 08DE20 8008D220 00001825 */ move $v1, $zero -/* 08DE24 8008D224 000B3C03 */ sra $a3, $t3, 0x10 -/* 08DE28 8008D228 11A10004 */ beq $t5, $at, .L8008D23C -/* 08DE2C 8008D22C 46202020 */ cvt.s.d $f0, $f4 -/* 08DE30 8008D230 848E0044 */ lh $t6, 0x44($a0) -/* 08DE34 8008D234 31CF0020 */ andi $t7, $t6, 0x20 -/* 08DE38 8008D238 15E00003 */ bnez $t7, .L8008D248 -.L8008D23C: -/* 08DE3C 8008D23C 3C040004 */ lui $a0, 4 -/* 08DE40 8008D240 0044C025 */ or $t8, $v0, $a0 -/* 08DE44 8008D244 AE1800BC */ sw $t8, 0xbc($s0) -.L8008D248: -/* 08DE48 8008D248 3C01800F */ lui $at, %hi(D_800EF560) -/* 08DE4C 8008D24C D42AF560 */ ldc1 $f10, %lo(D_800EF560)($at) -/* 08DE50 8008D250 46000221 */ cvt.d.s $f8, $f0 -/* 08DE54 8008D254 3C040004 */ lui $a0, 4 -/* 08DE58 8008D258 462A403E */ c.le.d $f8, $f10 -/* 08DE5C 8008D25C 00000000 */ nop -/* 08DE60 8008D260 4500002D */ bc1f .L8008D318 -/* 08DE64 8008D264 00000000 */ nop -/* 08DE68 8008D268 86190044 */ lh $t9, 0x44($s0) -/* 08DE6C 8008D26C 8E0200BC */ lw $v0, 0xbc($s0) -/* 08DE70 8008D270 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 08DE74 8008D274 3328BFFF */ andi $t0, $t9, 0xbfff -/* 08DE78 8008D278 00444824 */ and $t1, $v0, $a0 -/* 08DE7C 8008D27C 1089000D */ beq $a0, $t1, .L8008D2B4 -/* 08DE80 8008D280 A6080044 */ sh $t0, 0x44($s0) -/* 08DE84 8008D284 02002025 */ move $a0, $s0 -/* 08DE88 8008D288 83A50037 */ lb $a1, 0x37($sp) -/* 08DE8C 8008D28C A7A3002A */ sh $v1, 0x2a($sp) -/* 08DE90 8008D290 A7A60026 */ sh $a2, 0x26($sp) -/* 08DE94 8008D294 A7A70028 */ sh $a3, 0x28($sp) -/* 08DE98 8008D298 0C0231CF */ jal func_8008C73C -/* 08DE9C 8008D29C E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DEA0 8008D2A0 87A3002A */ lh $v1, 0x2a($sp) -/* 08DEA4 8008D2A4 87A60026 */ lh $a2, 0x26($sp) -/* 08DEA8 8008D2A8 87A70028 */ lh $a3, 0x28($sp) -/* 08DEAC 8008D2AC 1000001A */ b .L8008D318 -/* 08DEB0 8008D2B0 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008D2B4: -/* 08DEB4 8008D2B4 960A00B6 */ lhu $t2, 0xb6($s0) -/* 08DEB8 8008D2B8 960D0000 */ lhu $t5, ($s0) -/* 08DEBC 8008D2BC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08DEC0 8008D2C0 00416024 */ and $t4, $v0, $at -/* 08DEC4 8008D2C4 24014000 */ li $at, 16384 -/* 08DEC8 8008D2C8 354B0020 */ ori $t3, $t2, 0x20 -/* 08DECC 8008D2CC 31AE4000 */ andi $t6, $t5, 0x4000 -/* 08DED0 8008D2D0 A60B00B6 */ sh $t3, 0xb6($s0) -/* 08DED4 8008D2D4 15C10010 */ bne $t6, $at, .L8008D318 -/* 08DED8 8008D2D8 AE0C00BC */ sw $t4, 0xbc($s0) -/* 08DEDC 8008D2DC 96050254 */ lhu $a1, 0x254($s0) -/* 08DEE0 8008D2E0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 08DEE4 8008D2E4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 08DEE8 8008D2E8 00057900 */ sll $t7, $a1, 4 -/* 08DEEC 8008D2EC 01E12821 */ addu $a1, $t7, $at -/* 08DEF0 8008D2F0 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DEF4 8008D2F4 A7A70028 */ sh $a3, 0x28($sp) -/* 08DEF8 8008D2F8 A7A60026 */ sh $a2, 0x26($sp) -/* 08DEFC 8008D2FC A7A3002A */ sh $v1, 0x2a($sp) -/* 08DF00 8008D300 0C03243D */ jal func_800C90F4 -/* 08DF04 8008D304 93A40037 */ lbu $a0, 0x37($sp) -/* 08DF08 8008D308 87A3002A */ lh $v1, 0x2a($sp) -/* 08DF0C 8008D30C 87A60026 */ lh $a2, 0x26($sp) -/* 08DF10 8008D310 87A70028 */ lh $a3, 0x28($sp) -/* 08DF14 8008D314 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008D318: -/* 08DF18 8008D318 00C70019 */ multu $a2, $a3 -/* 08DF1C 8008D31C 8E0200BC */ lw $v0, 0xbc($s0) -/* 08DF20 8008D320 24010001 */ li $at, 1 -/* 08DF24 8008D324 02002025 */ move $a0, $s0 -/* 08DF28 8008D328 304B0008 */ andi $t3, $v0, 8 -/* 08DF2C 8008D32C 00003012 */ mflo $a2 -/* 08DF30 8008D330 0006C400 */ sll $t8, $a2, 0x10 -/* 08DF34 8008D334 00183403 */ sra $a2, $t8, 0x10 -/* 08DF38 8008D338 1CC00004 */ bgtz $a2, .L8008D34C -/* 08DF3C 8008D33C 00000000 */ nop -/* 08DF40 8008D340 14E10002 */ bne $a3, $at, .L8008D34C -/* 08DF44 8008D344 00000000 */ nop -/* 08DF48 8008D348 00003025 */ move $a2, $zero -.L8008D34C: -/* 08DF4C 8008D34C 04C00004 */ bltz $a2, .L8008D360 -/* 08DF50 8008D350 2401FFFF */ li $at, -1 -/* 08DF54 8008D354 54E10003 */ bnel $a3, $at, .L8008D364 -/* 08DF58 8008D358 86080078 */ lh $t0, 0x78($s0) -/* 08DF5C 8008D35C 00003025 */ move $a2, $zero -.L8008D360: -/* 08DF60 8008D360 86080078 */ lh $t0, 0x78($s0) -.L8008D364: -/* 08DF64 8008D364 00064880 */ sll $t1, $a2, 2 -/* 08DF68 8008D368 01264821 */ addu $t1, $t1, $a2 -/* 08DF6C 8008D36C 00094880 */ sll $t1, $t1, 2 -/* 08DF70 8008D370 01095021 */ addu $t2, $t0, $t1 -/* 08DF74 8008D374 A60A0078 */ sh $t2, 0x78($s0) -/* 08DF78 8008D378 E60000B8 */ swc1 $f0, 0xb8($s0) -/* 08DF7C 8008D37C A60300B4 */ sh $v1, 0xb4($s0) -/* 08DF80 8008D380 11600006 */ beqz $t3, .L8008D39C -/* 08DF84 8008D384 A60700AC */ sh $a3, 0xac($s0) -/* 08DF88 8008D388 0C0231CF */ jal func_8008C73C -/* 08DF8C 8008D38C 83A50037 */ lb $a1, 0x37($sp) -/* 08DF90 8008D390 860C0044 */ lh $t4, 0x44($s0) -/* 08DF94 8008D394 318DBFFF */ andi $t5, $t4, 0xbfff -/* 08DF98 8008D398 A60D0044 */ sh $t5, 0x44($s0) -.L8008D39C: -/* 08DF9C 8008D39C 8FBF001C */ lw $ra, 0x1c($sp) -/* 08DFA0 8008D3A0 8FB00018 */ lw $s0, 0x18($sp) -/* 08DFA4 8008D3A4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08DFA8 8008D3A8 03E00008 */ jr $ra -/* 08DFAC 8008D3AC 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_80090970.s b/asm/non_matchings/code_8008C1D0/func_80090970.s deleted file mode 100644 index 5564a06d7..000000000 --- a/asm/non_matchings/code_8008C1D0/func_80090970.s +++ /dev/null @@ -1,523 +0,0 @@ -.section .late_rodata - -glabel jpt_800EF638 -.word L800909D0, L80090B80, L80090C84, L80090CDC -.word L80090E08 - -.word 0x00000000 - -glabel D_800EF650 -.double 0.9 - -glabel D_800EF658 -.float 1820.0 - -glabel D_800EF65C -.float -1820.0 - -.section .text - -glabel func_80090970 -/* 091570 80090970 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 091574 80090974 AFBF001C */ sw $ra, 0x1c($sp) -/* 091578 80090978 AFB00018 */ sw $s0, 0x18($sp) -/* 09157C 8009097C AFA5005C */ sw $a1, 0x5c($sp) -/* 091580 80090980 AFA60060 */ sw $a2, 0x60($sp) -/* 091584 80090984 44802000 */ mtc1 $zero, $f4 -/* 091588 80090988 240E000C */ li $t6, 12 -/* 09158C 8009098C A48E00C2 */ sh $t6, 0xc2($a0) -/* 091590 80090990 A4800078 */ sh $zero, 0x78($a0) -/* 091594 80090994 AC80007C */ sw $zero, 0x7c($a0) -/* 091598 80090998 A48000C0 */ sh $zero, 0xc0($a0) -/* 09159C 8009099C E484008C */ swc1 $f4, 0x8c($a0) -/* 0915A0 800909A0 00808025 */ move $s0, $a0 -/* 0915A4 800909A4 0C0230D5 */ jal func_8008C354 -/* 0915A8 800909A8 83A5005F */ lb $a1, 0x5f($sp) -/* 0915AC 800909AC 960F0222 */ lhu $t7, 0x222($s0) -/* 0915B0 800909B0 2DE10005 */ sltiu $at, $t7, 5 -/* 0915B4 800909B4 1020018C */ beqz $at, .L80090FE8 -/* 0915B8 800909B8 000F7880 */ sll $t7, $t7, 2 -/* 0915BC 800909BC 3C01800F */ lui $at, %hi(jpt_800EF638) # 0x800f -/* 0915C0 800909C0 002F0821 */ addu $at, $at, $t7 -/* 0915C4 800909C4 8C2FF638 */ lw $t7, %lo(jpt_800EF638)($at) # -0x9c8($at) -/* 0915C8 800909C8 01E00008 */ jr $t7 -/* 0915CC 800909CC 00000000 */ nop -glabel L800909D0 -/* 0915D0 800909D0 860300CA */ lh $v1, 0xca($s0) -/* 0915D4 800909D4 24010001 */ li $at, 1 -/* 0915D8 800909D8 30780001 */ andi $t8, $v1, 1 -/* 0915DC 800909DC 1701003A */ bne $t8, $at, .L80090AC8 -/* 0915E0 800909E0 306B0002 */ andi $t3, $v1, 2 -/* 0915E4 800909E4 860200C8 */ lh $v0, 0xc8($s0) -/* 0915E8 800909E8 30790002 */ andi $t9, $v1, 2 -/* 0915EC 800909EC 2841003C */ slti $at, $v0, 0x3c -/* 0915F0 800909F0 14200004 */ bnez $at, .L80090A04 -/* 0915F4 800909F4 24480001 */ addiu $t0, $v0, 1 -/* 0915F8 800909F8 24010002 */ li $at, 2 -/* 0915FC 800909FC 13210009 */ beq $t9, $at, .L80090A24 -/* 091600 80090A00 83AB005F */ lb $t3, 0x5f($sp) -.L80090A04: -/* 091604 80090A04 A60800C8 */ sh $t0, 0xc8($s0) -/* 091608 80090A08 860900C8 */ lh $t1, 0xc8($s0) -/* 09160C 80090A0C 240A003C */ li $t2, 60 -/* 091610 80090A10 2921003C */ slti $at, $t1, 0x3c -/* 091614 80090A14 54200051 */ bnel $at, $zero, .L80090B5C -/* 091618 80090A18 8E0800BC */ lw $t0, 0xbc($s0) -/* 09161C 80090A1C 1000004E */ b .L80090B58 -/* 091620 80090A20 A60A00C8 */ sh $t2, 0xc8($s0) -.L80090A24: -/* 091624 80090A24 3C0D8016 */ lui $t5, %hi(D_801652A0) # $t5, 0x8016 -/* 091628 80090A28 25AD52A0 */ addiu $t5, %lo(D_801652A0) # addiu $t5, $t5, 0x52a0 -/* 09162C 80090A2C 000B6080 */ sll $t4, $t3, 2 -/* 091630 80090A30 018D1021 */ addu $v0, $t4, $t5 -/* 091634 80090A34 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 091638 80090A38 44814000 */ mtc1 $at, $f8 -/* 09163C 80090A3C C4460000 */ lwc1 $f6, ($v0) -/* 091640 80090A40 3C063C44 */ lui $a2, (0x3C449BA6 >> 16) # lui $a2, 0x3c44 -/* 091644 80090A44 34C69BA6 */ ori $a2, (0x3C449BA6 & 0xFFFF) # ori $a2, $a2, 0x9ba6 -/* 091648 80090A48 46083280 */ add.s $f10, $f6, $f8 -/* 09164C 80090A4C AFA20028 */ sw $v0, 0x28($sp) -/* 091650 80090A50 26040018 */ addiu $a0, $s0, 0x18 -/* 091654 80090A54 44055000 */ mfc1 $a1, $f10 -/* 091658 80090A58 0C008973 */ jal move_f32_towards -/* 09165C 80090A5C 00000000 */ nop -/* 091660 80090A60 83AE0063 */ lb $t6, 0x63($sp) -/* 091664 80090A64 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c -/* 091668 80090A68 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 09166C 80090A6C 000E7840 */ sll $t7, $t6, 1 -/* 091670 80090A70 020F2021 */ addu $a0, $s0, $t7 -/* 091674 80090A74 248400CC */ addiu $a0, $a0, 0xcc -/* 091678 80090A78 0C00898D */ jal move_s16_towards -/* 09167C 80090A7C 00002825 */ move $a1, $zero -/* 091680 80090A80 8FB80028 */ lw $t8, 0x28($sp) -/* 091684 80090A84 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 091688 80090A88 44812000 */ mtc1 $at, $f4 -/* 09168C 80090A8C C7120000 */ lwc1 $f18, ($t8) -/* 091690 80090A90 C6100018 */ lwc1 $f16, 0x18($s0) -/* 091694 80090A94 24190001 */ li $t9, 1 -/* 091698 80090A98 46049180 */ add.s $f6, $f18, $f4 -/* 09169C 80090A9C 240A00FF */ li $t2, 255 -/* 0916A0 80090AA0 4610303E */ c.le.s $f6, $f16 -/* 0916A4 80090AA4 00000000 */ nop -/* 0916A8 80090AA8 4502002C */ bc1fl .L80090B5C -/* 0916AC 80090AAC 8E0800BC */ lw $t0, 0xbc($s0) -/* 0916B0 80090AB0 860800CA */ lh $t0, 0xca($s0) -/* 0916B4 80090AB4 A6190222 */ sh $t9, 0x222($s0) -/* 0916B8 80090AB8 A60A00C6 */ sh $t2, 0xc6($s0) -/* 0916BC 80090ABC 35090004 */ ori $t1, $t0, 4 -/* 0916C0 80090AC0 10000025 */ b .L80090B58 -/* 0916C4 80090AC4 A60900CA */ sh $t1, 0xca($s0) -.L80090AC8: -/* 0916C8 80090AC8 24010002 */ li $at, 2 -/* 0916CC 80090ACC 15610022 */ bne $t3, $at, .L80090B58 -/* 0916D0 80090AD0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0916D4 80090AD4 44815000 */ mtc1 $at, $f10 -/* 0916D8 80090AD8 C6080074 */ lwc1 $f8, 0x74($s0) -/* 0916DC 80090ADC 3C063CCC */ lui $a2, (0x3CCCCCCD >> 16) # lui $a2, 0x3ccc -/* 0916E0 80090AE0 34C6CCCD */ ori $a2, (0x3CCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0916E4 80090AE4 460A4480 */ add.s $f18, $f8, $f10 -/* 0916E8 80090AE8 26040018 */ addiu $a0, $s0, 0x18 -/* 0916EC 80090AEC 44059000 */ mfc1 $a1, $f18 -/* 0916F0 80090AF0 0C008973 */ jal move_f32_towards -/* 0916F4 80090AF4 00000000 */ nop -/* 0916F8 80090AF8 83AC0063 */ lb $t4, 0x63($sp) -/* 0916FC 80090AFC 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c -/* 091700 80090B00 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 091704 80090B04 000C6840 */ sll $t5, $t4, 1 -/* 091708 80090B08 020D2021 */ addu $a0, $s0, $t5 -/* 09170C 80090B0C 248400CC */ addiu $a0, $a0, 0xcc -/* 091710 80090B10 0C00898D */ jal move_s16_towards -/* 091714 80090B14 00002825 */ move $a1, $zero -/* 091718 80090B18 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 09171C 80090B1C 44813000 */ mtc1 $at, $f6 -/* 091720 80090B20 C6100074 */ lwc1 $f16, 0x74($s0) -/* 091724 80090B24 C6040018 */ lwc1 $f4, 0x18($s0) -/* 091728 80090B28 240E0001 */ li $t6, 1 -/* 09172C 80090B2C 46068200 */ add.s $f8, $f16, $f6 -/* 091730 80090B30 241900FF */ li $t9, 255 -/* 091734 80090B34 4604403E */ c.le.s $f8, $f4 -/* 091738 80090B38 00000000 */ nop -/* 09173C 80090B3C 45020007 */ bc1fl .L80090B5C -/* 091740 80090B40 8E0800BC */ lw $t0, 0xbc($s0) -/* 091744 80090B44 860F00CA */ lh $t7, 0xca($s0) -/* 091748 80090B48 A60E0222 */ sh $t6, 0x222($s0) -/* 09174C 80090B4C A61900C6 */ sh $t9, 0xc6($s0) -/* 091750 80090B50 35F80004 */ ori $t8, $t7, 4 -/* 091754 80090B54 A61800CA */ sh $t8, 0xca($s0) -.L80090B58: -/* 091758 80090B58 8E0800BC */ lw $t0, 0xbc($s0) -.L80090B5C: -/* 09175C 80090B5C 3C028000 */ lui $v0, 0x8000 -/* 091760 80090B60 02002025 */ move $a0, $s0 -/* 091764 80090B64 01024824 */ and $t1, $t0, $v0 -/* 091768 80090B68 54490120 */ bnel $v0, $t1, .L80090FEC -/* 09176C 80090B6C 3C014334 */ lui $at, 0x4334 -/* 091770 80090B70 0C023ECC */ jal func_8008FB30 -/* 091774 80090B74 83A5005F */ lb $a1, 0x5f($sp) -/* 091778 80090B78 1000011C */ b .L80090FEC -/* 09177C 80090B7C 3C014334 */ lui $at, 0x4334 -glabel L80090B80 -/* 091780 80090B80 96020000 */ lhu $v0, ($s0) -/* 091784 80090B84 24014000 */ li $at, 16384 -/* 091788 80090B88 304A4000 */ andi $t2, $v0, 0x4000 -/* 09178C 80090B8C 15410005 */ bne $t2, $at, .L80090BA4 -/* 091790 80090B90 304B1000 */ andi $t3, $v0, 0x1000 -/* 091794 80090B94 15600003 */ bnez $t3, .L80090BA4 -/* 091798 80090B98 83A4005F */ lb $a0, 0x5f($sp) -/* 09179C 80090B9C 0C027822 */ jal func_8009E088 -/* 0917A0 80090BA0 2405000A */ li $a1, 10 -.L80090BA4: -/* 0917A4 80090BA4 860C00CA */ lh $t4, 0xca($s0) -/* 0917A8 80090BA8 83AE005F */ lb $t6, 0x5f($sp) -/* 0917AC 80090BAC 24010001 */ li $at, 1 -/* 0917B0 80090BB0 318D0001 */ andi $t5, $t4, 1 -/* 0917B4 80090BB4 15A1001B */ bne $t5, $at, .L80090C24 -/* 0917B8 80090BB8 000E7880 */ sll $t7, $t6, 2 -/* 0917BC 80090BBC 3C018016 */ lui $at, %hi(D_801652A0) -/* 0917C0 80090BC0 002F0821 */ addu $at, $at, $t7 -/* 0917C4 80090BC4 C42A52A0 */ lwc1 $f10, %lo(D_801652A0)($at) -/* 0917C8 80090BC8 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0917CC 80090BCC 44819000 */ mtc1 $at, $f18 -/* 0917D0 80090BD0 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 -/* 0917D4 80090BD4 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 0917D8 80090BD8 46125400 */ add.s $f16, $f10, $f18 -/* 0917DC 80090BDC 26040018 */ addiu $a0, $s0, 0x18 -/* 0917E0 80090BE0 44058000 */ mfc1 $a1, $f16 -/* 0917E4 80090BE4 0C008973 */ jal move_f32_towards -/* 0917E8 80090BE8 00000000 */ nop -/* 0917EC 80090BEC 861800C6 */ lh $t8, 0xc6($s0) -/* 0917F0 80090BF0 24090002 */ li $t1, 2 -/* 0917F4 80090BF4 2719FFF8 */ addiu $t9, $t8, -8 -/* 0917F8 80090BF8 A61900C6 */ sh $t9, 0xc6($s0) -/* 0917FC 80090BFC 860800C6 */ lh $t0, 0xc6($s0) -/* 091800 80090C00 29010009 */ slti $at, $t0, 9 -/* 091804 80090C04 5020001C */ beql $at, $zero, .L80090C78 -/* 091808 80090C08 861800CA */ lh $t8, 0xca($s0) -/* 09180C 80090C0C 860A00CA */ lh $t2, 0xca($s0) -/* 091810 80090C10 A60000C6 */ sh $zero, 0xc6($s0) -/* 091814 80090C14 A6090222 */ sh $t1, 0x222($s0) -/* 091818 80090C18 314BFFFE */ andi $t3, $t2, 0xfffe -/* 09181C 80090C1C 10000015 */ b .L80090C74 -/* 091820 80090C20 A60B00CA */ sh $t3, 0xca($s0) -.L80090C24: -/* 091824 80090C24 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 091828 80090C28 44812000 */ mtc1 $at, $f4 -/* 09182C 80090C2C C6060024 */ lwc1 $f6, 0x24($s0) -/* 091830 80090C30 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 -/* 091834 80090C34 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 091838 80090C38 46043200 */ add.s $f8, $f6, $f4 -/* 09183C 80090C3C 26040018 */ addiu $a0, $s0, 0x18 -/* 091840 80090C40 44054000 */ mfc1 $a1, $f8 -/* 091844 80090C44 0C008973 */ jal move_f32_towards -/* 091848 80090C48 00000000 */ nop -/* 09184C 80090C4C 860C00C6 */ lh $t4, 0xc6($s0) -/* 091850 80090C50 240F0002 */ li $t7, 2 -/* 091854 80090C54 258DFFF8 */ addiu $t5, $t4, -8 -/* 091858 80090C58 A60D00C6 */ sh $t5, 0xc6($s0) -/* 09185C 80090C5C 860E00C6 */ lh $t6, 0xc6($s0) -/* 091860 80090C60 29C10009 */ slti $at, $t6, 9 -/* 091864 80090C64 50200004 */ beql $at, $zero, .L80090C78 -/* 091868 80090C68 861800CA */ lh $t8, 0xca($s0) -/* 09186C 80090C6C A60000C6 */ sh $zero, 0xc6($s0) -/* 091870 80090C70 A60F0222 */ sh $t7, 0x222($s0) -.L80090C74: -/* 091874 80090C74 861800CA */ lh $t8, 0xca($s0) -.L80090C78: -/* 091878 80090C78 3319DFFF */ andi $t9, $t8, 0xdfff -/* 09187C 80090C7C 100000DA */ b .L80090FE8 -/* 091880 80090C80 A61900CA */ sh $t9, 0xca($s0) -glabel L80090C84 -/* 091884 80090C84 02002025 */ move $a0, $s0 -/* 091888 80090C88 83A5005F */ lb $a1, 0x5f($sp) -/* 09188C 80090C8C 27A60044 */ addiu $a2, $sp, 0x44 -/* 091890 80090C90 0C02405E */ jal func_80090178 -/* 091894 80090C94 27A70038 */ addiu $a3, $sp, 0x38 -/* 091898 80090C98 27A40044 */ addiu $a0, $sp, 0x44 -/* 09189C 80090C9C 0C0AD489 */ jal func_802B5224 -/* 0918A0 80090CA0 27A50038 */ addiu $a1, $sp, 0x38 -/* 0918A4 80090CA4 00025023 */ negu $t2, $v0 -/* 0918A8 80090CA8 A60A002E */ sh $t2, 0x2e($s0) -/* 0918AC 80090CAC C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 0918B0 80090CB0 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0918B4 80090CB4 44818000 */ mtc1 $at, $f16 -/* 0918B8 80090CB8 E60A0014 */ swc1 $f10, 0x14($s0) -/* 0918BC 80090CBC C7B20048 */ lwc1 $f18, 0x48($sp) -/* 0918C0 80090CC0 240B0003 */ li $t3, 3 -/* 0918C4 80090CC4 46109180 */ add.s $f6, $f18, $f16 -/* 0918C8 80090CC8 E6060018 */ swc1 $f6, 0x18($s0) -/* 0918CC 80090CCC C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0918D0 80090CD0 A60B0222 */ sh $t3, 0x222($s0) -/* 0918D4 80090CD4 100000C4 */ b .L80090FE8 -/* 0918D8 80090CD8 E604001C */ swc1 $f4, 0x1c($s0) -glabel L80090CDC -/* 0918DC 80090CDC 83AC005F */ lb $t4, 0x5f($sp) -/* 0918E0 80090CE0 3C018016 */ lui $at, %hi(D_80165330) # 0x8016 -/* 0918E4 80090CE4 000C6840 */ sll $t5, $t4, 1 -/* 0918E8 80090CE8 002D0821 */ addu $at, $at, $t5 -/* 0918EC 80090CEC A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at) -/* 0918F0 80090CF0 96020000 */ lhu $v0, ($s0) -/* 0918F4 80090CF4 24014000 */ li $at, 16384 -/* 0918F8 80090CF8 304E4000 */ andi $t6, $v0, 0x4000 -/* 0918FC 80090CFC 15C10005 */ bne $t6, $at, .L80090D14 -/* 091900 80090D00 304F1000 */ andi $t7, $v0, 0x1000 -/* 091904 80090D04 15E00003 */ bnez $t7, .L80090D14 -/* 091908 80090D08 01802025 */ move $a0, $t4 -/* 09190C 80090D0C 0C027808 */ jal func_8009E020 -/* 091910 80090D10 24050014 */ li $a1, 20 -.L80090D14: -/* 091914 80090D14 02002025 */ move $a0, $s0 -/* 091918 80090D18 83A5005F */ lb $a1, 0x5f($sp) -/* 09191C 80090D1C 27A60044 */ addiu $a2, $sp, 0x44 -/* 091920 80090D20 0C02405E */ jal func_80090178 -/* 091924 80090D24 27A70038 */ addiu $a3, $sp, 0x38 -/* 091928 80090D28 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 09192C 80090D2C 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 091930 80090D30 44819000 */ mtc1 $at, $f18 -/* 091934 80090D34 E6080014 */ swc1 $f8, 0x14($s0) -/* 091938 80090D38 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 09193C 80090D3C 8619002E */ lh $t9, 0x2e($s0) -/* 091940 80090D40 46125400 */ add.s $f16, $f10, $f18 -/* 091944 80090D44 E6100018 */ swc1 $f16, 0x18($s0) -/* 091948 80090D48 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 09194C 80090D4C E606001C */ swc1 $f6, 0x1c($s0) -/* 091950 80090D50 83A2005F */ lb $v0, 0x5f($sp) -/* 091954 80090D54 0002C0C0 */ sll $t8, $v0, 3 -/* 091958 80090D58 0302C023 */ subu $t8, $t8, $v0 -/* 09195C 80090D5C 0018C0C0 */ sll $t8, $t8, 3 -/* 091960 80090D60 0302C021 */ addu $t8, $t8, $v0 -/* 091964 80090D64 0018C0C0 */ sll $t8, $t8, 3 -/* 091968 80090D68 0302C023 */ subu $t8, $t8, $v0 -/* 09196C 80090D6C 00181100 */ sll $v0, $t8, 4 -/* 091970 80090D70 00592023 */ subu $a0, $v0, $t9 -/* 091974 80090D74 3088FFFF */ andi $t0, $a0, 0xffff -/* 091978 80090D78 01002025 */ move $a0, $t0 -/* 09197C 80090D7C 0C0AE00E */ jal coss -/* 091980 80090D80 AFA20028 */ sw $v0, 0x28($sp) -/* 091984 80090D84 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 091988 80090D88 44812000 */ mtc1 $at, $f4 -/* 09198C 80090D8C C60A001C */ lwc1 $f10, 0x1c($s0) -/* 091990 80090D90 8FA20028 */ lw $v0, 0x28($sp) -/* 091994 80090D94 46040202 */ mul.s $f8, $f0, $f4 -/* 091998 80090D98 8609002E */ lh $t1, 0x2e($s0) -/* 09199C 80090D9C 00492023 */ subu $a0, $v0, $t1 -/* 0919A0 80090DA0 308AFFFF */ andi $t2, $a0, 0xffff -/* 0919A4 80090DA4 01402025 */ move $a0, $t2 -/* 0919A8 80090DA8 460A4480 */ add.s $f18, $f8, $f10 -/* 0919AC 80090DAC 0C0AE006 */ jal sins -/* 0919B0 80090DB0 E612001C */ swc1 $f18, 0x1c($s0) -/* 0919B4 80090DB4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 0919B8 80090DB8 44818000 */ mtc1 $at, $f16 -/* 0919BC 80090DBC 860B00C6 */ lh $t3, 0xc6($s0) -/* 0919C0 80090DC0 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0919C4 80090DC4 46100182 */ mul.s $f6, $f0, $f16 -/* 0919C8 80090DC8 256D0008 */ addiu $t5, $t3, 8 -/* 0919CC 80090DCC A60D00C6 */ sh $t5, 0xc6($s0) -/* 0919D0 80090DD0 860E00C6 */ lh $t6, 0xc6($s0) -/* 0919D4 80090DD4 240F00FF */ li $t7, 255 -/* 0919D8 80090DD8 240C0004 */ li $t4, 4 -/* 0919DC 80090DDC 29C100F0 */ slti $at, $t6, 0xf0 -/* 0919E0 80090DE0 46043200 */ add.s $f8, $f6, $f4 -/* 0919E4 80090DE4 14200080 */ bnez $at, .L80090FE8 -/* 0919E8 80090DE8 E6080014 */ swc1 $f8, 0x14($s0) -/* 0919EC 80090DEC 861800CA */ lh $t8, 0xca($s0) -/* 0919F0 80090DF0 A60F00C6 */ sh $t7, 0xc6($s0) -/* 0919F4 80090DF4 A60C0222 */ sh $t4, 0x222($s0) -/* 0919F8 80090DF8 3319FFFB */ andi $t9, $t8, 0xfffb -/* 0919FC 80090DFC A61900CA */ sh $t9, 0xca($s0) -/* 091A00 80090E00 10000079 */ b .L80090FE8 -/* 091A04 80090E04 A60000C8 */ sh $zero, 0xc8($s0) -glabel L80090E08 -/* 091A08 80090E08 860200C8 */ lh $v0, 0xc8($s0) -/* 091A0C 80090E0C 24010096 */ li $at, 150 -/* 091A10 80090E10 10410005 */ beq $v0, $at, .L80090E28 -/* 091A14 80090E14 240100C8 */ li $at, 200 -/* 091A18 80090E18 10410003 */ beq $v0, $at, .L80090E28 -/* 091A1C 80090E1C 240100FA */ li $at, 250 -/* 091A20 80090E20 54410019 */ bnel $v0, $at, .L80090E88 -/* 091A24 80090E24 240100FC */ li $at, 252 -.L80090E28: -/* 091A28 80090E28 8604002E */ lh $a0, 0x2e($s0) -/* 091A2C 80090E2C 00042023 */ negu $a0, $a0 -/* 091A30 80090E30 3088FFFF */ andi $t0, $a0, 0xffff -/* 091A34 80090E34 0C0AE00E */ jal coss -/* 091A38 80090E38 01002025 */ move $a0, $t0 -/* 091A3C 80090E3C 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 091A40 80090E40 44815000 */ mtc1 $at, $f10 -/* 091A44 80090E44 C610001C */ lwc1 $f16, 0x1c($s0) -/* 091A48 80090E48 8604002E */ lh $a0, 0x2e($s0) -/* 091A4C 80090E4C 460A0482 */ mul.s $f18, $f0, $f10 -/* 091A50 80090E50 00042023 */ negu $a0, $a0 -/* 091A54 80090E54 3089FFFF */ andi $t1, $a0, 0xffff -/* 091A58 80090E58 01202025 */ move $a0, $t1 -/* 091A5C 80090E5C 46109180 */ add.s $f6, $f18, $f16 -/* 091A60 80090E60 0C0AE006 */ jal sins -/* 091A64 80090E64 E606001C */ swc1 $f6, 0x1c($s0) -/* 091A68 80090E68 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 091A6C 80090E6C 44812000 */ mtc1 $at, $f4 -/* 091A70 80090E70 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 091A74 80090E74 860200C8 */ lh $v0, 0xc8($s0) -/* 091A78 80090E78 46040202 */ mul.s $f8, $f0, $f4 -/* 091A7C 80090E7C 460A4480 */ add.s $f18, $f8, $f10 -/* 091A80 80090E80 E6120014 */ swc1 $f18, 0x14($s0) -/* 091A84 80090E84 240100FC */ li $at, 252 -.L80090E88: -/* 091A88 80090E88 14410011 */ bne $v0, $at, .L80090ED0 -/* 091A8C 80090E8C 3C028016 */ lui $v0, %hi(D_80164550) # $v0, 0x8016 -/* 091A90 80090E90 8C424550 */ lw $v0, %lo(D_80164550)($v0) -/* 091A94 80090E94 844A0000 */ lh $t2, ($v0) -/* 091A98 80090E98 448A8000 */ mtc1 $t2, $f16 -/* 091A9C 80090E9C 00000000 */ nop -/* 091AA0 80090EA0 468081A0 */ cvt.s.w $f6, $f16 -/* 091AA4 80090EA4 E6060014 */ swc1 $f6, 0x14($s0) -/* 091AA8 80090EA8 844B0002 */ lh $t3, 2($v0) -/* 091AAC 80090EAC 448B2000 */ mtc1 $t3, $f4 -/* 091AB0 80090EB0 00000000 */ nop -/* 091AB4 80090EB4 46802220 */ cvt.s.w $f8, $f4 -/* 091AB8 80090EB8 E6080018 */ swc1 $f8, 0x18($s0) -/* 091ABC 80090EBC 844D0004 */ lh $t5, 4($v0) -/* 091AC0 80090EC0 448D5000 */ mtc1 $t5, $f10 -/* 091AC4 80090EC4 00000000 */ nop -/* 091AC8 80090EC8 468054A0 */ cvt.s.w $f18, $f10 -/* 091ACC 80090ECC E612001C */ swc1 $f18, 0x1c($s0) -.L80090ED0: -/* 091AD0 80090ED0 C6100074 */ lwc1 $f16, 0x74($s0) -/* 091AD4 80090ED4 C6060070 */ lwc1 $f6, 0x70($s0) -/* 091AD8 80090ED8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 091ADC 80090EDC 44814000 */ mtc1 $at, $f8 -/* 091AE0 80090EE0 46068100 */ add.s $f4, $f16, $f6 -/* 091AE4 80090EE4 3C063D23 */ lui $a2, (0x3D23D70A >> 16) # lui $a2, 0x3d23 -/* 091AE8 80090EE8 34C6D70A */ ori $a2, (0x3D23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 091AEC 80090EEC 26040018 */ addiu $a0, $s0, 0x18 -/* 091AF0 80090EF0 46082281 */ sub.s $f10, $f4, $f8 -/* 091AF4 80090EF4 44055000 */ mfc1 $a1, $f10 -/* 091AF8 80090EF8 0C008973 */ jal move_f32_towards -/* 091AFC 80090EFC 00000000 */ nop -/* 091B00 80090F00 860E00C8 */ lh $t6, 0xc8($s0) -/* 091B04 80090F04 8E0200BC */ lw $v0, 0xbc($s0) -/* 091B08 80090F08 24010008 */ li $at, 8 -/* 091B0C 80090F0C 25CF0001 */ addiu $t7, $t6, 1 -/* 091B10 80090F10 304C0008 */ andi $t4, $v0, 8 -/* 091B14 80090F14 15810004 */ bne $t4, $at, .L80090F28 -/* 091B18 80090F18 A60F00C8 */ sh $t7, 0xc8($s0) -/* 091B1C 80090F1C 30588000 */ andi $t8, $v0, 0x8000 -/* 091B20 80090F20 53000032 */ beql $t8, $zero, .L80090FEC -/* 091B24 80090F24 3C014334 */ lui $at, 0x4334 -.L80090F28: -/* 091B28 80090F28 861900CA */ lh $t9, 0xca($s0) -/* 091B2C 80090F2C 860900C8 */ lh $t1, 0xc8($s0) -/* 091B30 80090F30 3328EFFF */ andi $t0, $t9, 0xefff -/* 091B34 80090F34 2921005B */ slti $at, $t1, 0x5b -/* 091B38 80090F38 1420002B */ bnez $at, .L80090FE8 -/* 091B3C 80090F3C A60800CA */ sh $t0, 0xca($s0) -/* 091B40 80090F40 960A0000 */ lhu $t2, ($s0) -/* 091B44 80090F44 93A4005F */ lbu $a0, 0x5f($sp) -/* 091B48 80090F48 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 -/* 091B4C 80090F4C 314B4000 */ andi $t3, $t2, 0x4000 -/* 091B50 80090F50 11600003 */ beqz $t3, .L80090F60 -/* 091B54 80090F54 00000000 */ nop -/* 091B58 80090F58 0C032406 */ jal func_800C9018 -/* 091B5C 80090F5C 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 -.L80090F60: -/* 091B60 80090F60 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e -/* 091B64 80090F64 8DADC53C */ lw $t5, %lo(gModeSelection)($t5) -/* 091B68 80090F68 24010003 */ li $at, 3 -/* 091B6C 80090F6C 02002025 */ move $a0, $s0 -/* 091B70 80090F70 55A10004 */ bnel $t5, $at, .L80090F84 -/* 091B74 80090F74 860E00CA */ lh $t6, 0xca($s0) -/* 091B78 80090F78 0C01AE2D */ jal func_8006B8B4 -/* 091B7C 80090F7C 83A5005F */ lb $a1, 0x5f($sp) -/* 091B80 80090F80 860E00CA */ lh $t6, 0xca($s0) -.L80090F84: -/* 091B84 80090F84 960C00DE */ lhu $t4, 0xde($s0) -/* 091B88 80090F88 24010080 */ li $at, 128 -/* 091B8C 80090F8C 31CFFFFD */ andi $t7, $t6, 0xfffd -/* 091B90 80090F90 A60F00CA */ sh $t7, 0xca($s0) -/* 091B94 80090F94 860300CA */ lh $v1, 0xca($s0) -/* 091B98 80090F98 3198FFFB */ andi $t8, $t4, 0xfffb -/* 091B9C 80090F9C A61800DE */ sh $t8, 0xde($s0) -/* 091BA0 80090FA0 30790080 */ andi $t9, $v1, 0x80 -/* 091BA4 80090FA4 13210010 */ beq $t9, $at, .L80090FE8 -/* 091BA8 80090FA8 3068FFF7 */ andi $t0, $v1, 0xfff7 -/* 091BAC 80090FAC C6060214 */ lwc1 $f6, 0x214($s0) -/* 091BB0 80090FB0 A60800CA */ sh $t0, 0xca($s0) -/* 091BB4 80090FB4 3C01800F */ lui $at, %hi(D_800EF650) -/* 091BB8 80090FB8 D428F650 */ ldc1 $f8, %lo(D_800EF650)($at) -/* 091BBC 80090FBC 46003121 */ cvt.d.s $f4, $f6 -/* 091BC0 80090FC0 C612009C */ lwc1 $f18, 0x9c($s0) -/* 091BC4 80090FC4 46282282 */ mul.d $f10, $f4, $f8 -/* 091BC8 80090FC8 02002025 */ move $a0, $s0 -/* 091BCC 80090FCC 46009421 */ cvt.d.s $f16, $f18 -/* 091BD0 80090FD0 4630503E */ c.le.d $f10, $f16 -/* 091BD4 80090FD4 00000000 */ nop -/* 091BD8 80090FD8 45020004 */ bc1fl .L80090FEC -/* 091BDC 80090FDC 3C014334 */ lui $at, 0x4334 -/* 091BE0 80090FE0 0C023C41 */ jal func_8008F104 -/* 091BE4 80090FE4 83A5005F */ lb $a1, 0x5f($sp) -.L80090FE8: -/* 091BE8 80090FE8 3C014334 */ li $at, 0x43340000 # 180.000000 -.L80090FEC: -/* 091BEC 80090FEC 44810000 */ mtc1 $at, $f0 -/* 091BF0 80090FF0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 091BF4 80090FF4 44813000 */ mtc1 $at, $f6 -/* 091BF8 80090FF8 C6120DA0 */ lwc1 $f18, 0xda0($s0) -/* 091BFC 80090FFC 46069100 */ add.s $f4, $f18, $f6 -/* 091C00 80091000 E6040DA0 */ swc1 $f4, 0xda0($s0) -/* 091C04 80091004 C6080DA0 */ lwc1 $f8, 0xda0($s0) -/* 091C08 80091008 4608003E */ c.le.s $f0, $f8 -/* 091C0C 8009100C 00000000 */ nop -/* 091C10 80091010 45020003 */ bc1fl .L80091020 -/* 091C14 80091014 86090D98 */ lh $t1, 0xd98($s0) -/* 091C18 80091018 E6000DA0 */ swc1 $f0, 0xda0($s0) -/* 091C1C 8009101C 86090D98 */ lh $t1, 0xd98($s0) -.L80091020: -/* 091C20 80091020 24010001 */ li $at, 1 -/* 091C24 80091024 55210015 */ bnel $t1, $at, .L8009107C -/* 091C28 80091028 860D0D98 */ lh $t5, 0xd98($s0) -/* 091C2C 8009102C C6100D9C */ lwc1 $f16, 0xd9c($s0) -/* 091C30 80091030 C60A0DA0 */ lwc1 $f10, 0xda0($s0) -/* 091C34 80091034 3C01800F */ lui $at, %hi(D_800EF658) # $at, 0x800f -/* 091C38 80091038 460A8480 */ add.s $f18, $f16, $f10 -/* 091C3C 8009103C E6120D9C */ swc1 $f18, 0xd9c($s0) -/* 091C40 80091040 C424F658 */ lwc1 $f4, %lo(D_800EF658)($at) -/* 091C44 80091044 C6060D9C */ lwc1 $f6, 0xd9c($s0) -/* 091C48 80091048 4606203E */ c.le.s $f4, $f6 -/* 091C4C 8009104C 00000000 */ nop -/* 091C50 80091050 4502000A */ bc1fl .L8009107C -/* 091C54 80091054 860D0D98 */ lh $t5, 0xd98($s0) -/* 091C58 80091058 860A0D98 */ lh $t2, 0xd98($s0) -/* 091C5C 8009105C 2402FFFF */ li $v0, -1 -/* 091C60 80091060 44804000 */ mtc1 $zero, $f8 -/* 091C64 80091064 01420019 */ multu $t2, $v0 -/* 091C68 80091068 E6080DA0 */ swc1 $f8, 0xda0($s0) -/* 091C6C 8009106C 00005812 */ mflo $t3 -/* 091C70 80091070 A60B0D98 */ sh $t3, 0xd98($s0) -/* 091C74 80091074 00000000 */ nop -/* 091C78 80091078 860D0D98 */ lh $t5, 0xd98($s0) -.L8009107C: -/* 091C7C 8009107C 2402FFFF */ li $v0, -1 -/* 091C80 80091080 544D0014 */ bnel $v0, $t5, .L800910D4 -/* 091C84 80091084 8FBF001C */ lw $ra, 0x1c($sp) -/* 091C88 80091088 C6100D9C */ lwc1 $f16, 0xd9c($s0) -/* 091C8C 8009108C C60A0DA0 */ lwc1 $f10, 0xda0($s0) -/* 091C90 80091090 3C01800F */ lui $at, %hi(D_800EF65C) # $at, 0x800f -/* 091C94 80091094 460A8481 */ sub.s $f18, $f16, $f10 -/* 091C98 80091098 E6120D9C */ swc1 $f18, 0xd9c($s0) -/* 091C9C 8009109C C6040D9C */ lwc1 $f4, 0xd9c($s0) -/* 091CA0 800910A0 C426F65C */ lwc1 $f6, %lo(D_800EF65C)($at) -/* 091CA4 800910A4 4606203E */ c.le.s $f4, $f6 -/* 091CA8 800910A8 00000000 */ nop -/* 091CAC 800910AC 45020009 */ bc1fl .L800910D4 -/* 091CB0 800910B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 091CB4 800910B4 860E0D98 */ lh $t6, 0xd98($s0) -/* 091CB8 800910B8 44804000 */ mtc1 $zero, $f8 -/* 091CBC 800910BC 01C20019 */ multu $t6, $v0 -/* 091CC0 800910C0 E6080DA0 */ swc1 $f8, 0xda0($s0) -/* 091CC4 800910C4 00007812 */ mflo $t7 -/* 091CC8 800910C8 A60F0D98 */ sh $t7, 0xd98($s0) -/* 091CCC 800910CC 00000000 */ nop -/* 091CD0 800910D0 8FBF001C */ lw $ra, 0x1c($sp) -.L800910D4: -/* 091CD4 800910D4 8FB00018 */ lw $s0, 0x18($sp) -/* 091CD8 800910D8 27BD0058 */ addiu $sp, $sp, 0x58 -/* 091CDC 800910DC 03E00008 */ jr $ra -/* 091CE0 800910E0 00000000 */ nop diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index bf7eedcc1..2fc4de216 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -1,6 +1,7 @@ #include #include #include "types.h" +#include "math_util.h" #include "functions.h" #include "variables.h" #include "kart_attributes.h" @@ -409,80 +410,56 @@ void func_8008CDC0(Player* player, s8 arg1) { } } -#ifdef MIPS_TO_C -//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-14-2022 void func_8008CEB0(Player *player, s8 arg1) { - f32 sp2C; - s16 sp2A; - s16 sp28; - s16 sp26; f32 var_f0; - s16 temp_a2; - s16 var_a2; - s16 var_a3; s16 var_v1; - s32 temp_f16; - s32 temp_v0; - s32 temp_v0_2; + s16 var_a3; + s16 temp_f16; - var_v1 = (s16) player->unk_0B4 + 1; var_f0 = player->unk_0B8; + var_v1 = player->unk_0B4; var_a3 = player->unk_0AC; - temp_f16 = (s32) ((f64) ((f32) var_v1 * var_f0) - (0.2 * (f64) (var_v1 * var_v1))); - temp_a2 = (s16) temp_f16; - if ((var_v1 != 0) && ((s16) temp_f16 < 0)) { - temp_v0 = player->unk_0BC; + var_v1++; + temp_f16 = (var_v1 * var_f0) - (0.2 * (var_v1 * var_v1)); + if ((var_v1 != 0) && (temp_f16 < 0)) { var_v1 = 0; - var_a3 *= -1; - var_f0 = (f32) ((f64) var_f0 * 0.8); - if ((temp_v0 & 1) == 1) { - player->unk_0BC = temp_v0 | 0x40000; + var_a3 = -var_a3; + var_f0 *= 0.8; + if ((player->unk_0BC & 1) == 1) { + player->unk_0BC |= 0x40000; } if (var_f0 <= 1.0f) { - temp_v0_2 = player->unk_0BC & ~0x800; - player->unk_0BC = temp_v0_2; - if ((temp_v0_2 & 0x40000) != 0x40000) { - sp2A = 0; - sp26 = temp_a2; - sp28 = var_a3; - sp2C = var_f0; + player->unk_0BC &= ~0x800; + if ((player->unk_0BC & 0x40000) != 0x40000) { func_8008C73C(player, arg1); var_v1 = 0; - goto block_9; - } - player->unk_0B6 |= 0x20; - player->unk_0BC = temp_v0_2 & 0xFFFBFFFF; - if ((player->unk_000 & 0x4000) == 0x4000) { - sp2C = var_f0; - sp28 = var_a3; - sp26 = temp_a2; - sp2A = 0; - func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008008); - var_v1 = 0; -block_9: - var_f0 = sp2C; + } else { + player->unk_0B6 |= 0x20; + player->unk_0BC &= ~0x40000; + if ((player->unk_000 & 0x4000) == 0x4000) + { + func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008008); + var_v1 = 0; + } } } } - var_a2 = temp_a2 * var_a3; - if ((var_a2 <= 0) && (var_a3 == 1)) { - var_a2 = 0; + temp_f16 *= var_a3; + if ((temp_f16 <= 0) && (var_a3 == 1)) { + temp_f16 = 0; } - if ((var_a2 >= 0) && (var_a3 == -1)) { - var_a2 = 0; + if ((temp_f16 >= 0) && (var_a3 == -1)) { + temp_f16 = 0; } - player->unk_078 += var_a2 * 0x12; + player->unk_078 += temp_f16 * 0x12; player->unk_0B8 = var_f0; - player->unk_0B4 = (u16) var_v1; + player->unk_0B4 = var_v1; player->unk_0AC = var_a3; if (player->unk_0BC & 8) { func_8008C73C(player, arg1); player->unk_0BC &= ~0x800; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008CEB0.s") -#endif void func_8008D0E4(Player* player, UNUSED s8 arg1) { player->unk_0BC &= ~0x800; @@ -499,80 +476,56 @@ void func_8008D0FC(Player *player, s8 arg1) { player->unk_044 |= 0x4000; } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc void func_8008D170(Player *player, s8 arg1) { - f32 sp2C; - s16 sp2A; - s16 sp28; - s16 sp26; f32 var_f0; - s16 temp_a2; - s16 var_a2; - s16 var_a3; s16 var_v1; - s32 temp_f16; - s32 temp_v0; - s32 temp_v0_2; + s16 var_a3; + s16 temp_f16; - var_v1 = player->unk_0B4 + 1; var_f0 = player->unk_0B8; + var_v1 = player->unk_0B4; var_a3 = player->unk_0AC; - temp_f16 = (s32) ((f64) ((f32) var_v1 * var_f0) - (0.1 * (f64) (var_v1 * var_v1))); - temp_a2 = (s16) temp_f16; - if ((var_v1 != 0) && ((s16) temp_f16 < 0)) { - temp_v0 = player->unk_0BC; + var_v1++; + temp_f16 = (var_v1 * var_f0) - (0.1 * (var_v1 * var_v1)); + if ((var_v1 != 0) && (temp_f16 < 0)) { var_v1 = 0; - var_a3 *= -1; - var_f0 = (f32) ((f64) var_f0 * 0.9); - if (((temp_v0 & 1) == 1) || !(player->unk_044 & 0x20)) { - player->unk_0BC = temp_v0 | 0x40000; + var_a3 = -var_a3; + var_f0 *= 0.9; + if (((player->unk_0BC & 1) == 1) || !(player->unk_044 & 0x20)) { + player->unk_0BC |= 0x40000; } - if ((f64) var_f0 <= 1.3) { - temp_v0_2 = player->unk_0BC; - player->unk_044 &= 0xBFFF; - if ((temp_v0_2 & 0x40000) != 0x40000) { - sp2A = 0; - sp26 = temp_a2; - sp28 = var_a3; - sp2C = var_f0; + if (var_f0 <= 1.3) { + player->unk_044 &= ~0x4000; + if ((player->unk_0BC & 0x40000) != 0x40000) { func_8008C73C(player, arg1); var_v1 = 0; - goto block_10; - } - player->unk_0B6 |= 0x20; - player->unk_0BC = temp_v0_2 & 0xFFFBFFFF; - if ((player->unk_000 & 0x4000) == 0x4000) { - sp2C = var_f0; - sp28 = var_a3; - sp26 = temp_a2; - sp2A = 0; - func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008008); - var_v1 = 0; -block_10: - var_f0 = sp2C; + } else { + player->unk_0B6 |= 0x20; + player->unk_0BC &= ~0x40000; + if ((player->unk_000 & 0x4000) == 0x4000) + { + func_800C90F4(arg1, (player->characterId * 0x10) + 0x29008008); + var_v1 = 0; + } } } } - var_a2 = temp_a2 * var_a3; - if ((var_a2 <= 0) && (var_a3 == 1)) { - var_a2 = 0; + temp_f16 *= var_a3; + if ((temp_f16 <= 0) && (var_a3 == 1)) { + temp_f16 = 0; } - if ((var_a2 >= 0) && (var_a3 == -1)) { - var_a2 = 0; + if ((temp_f16 >= 0) && (var_a3 == -1)) { + temp_f16 = 0; } - player->unk_078 += var_a2 * 0x14; + player->unk_078 += temp_f16 * 0x14; player->unk_0B8 = var_f0; player->unk_0B4 = var_v1; player->unk_0AC = var_a3; if (player->unk_0BC & 8) { func_8008C73C(player, arg1); - player->unk_044 &= 0xBFFF; + player->unk_044 &= ~0x4000; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D170.s") -#endif void func_8008D3B0(Player* player, UNUSED s8 arg1) { player->unk_044 &= 0xBFFF; @@ -1866,29 +1819,14 @@ void func_80090868(Player* player) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b -? func_8009E020(s8, ?); /* extern */ -? func_8009E088(s8, ?); /* extern */ -? func_800C9018(u8, ?); /* extern */ -extern ? D_80165330; - void func_80090970(Player *player, s8 arg1, s8 arg2) { - f32 sp44; - f32 sp38; - f32 *sp28; /* compiler-managed */ - f32 *temp_v0_2; - f32 temp_f6; - s16 temp_v0; - s16 temp_v0_6; - s16 temp_v1; - s16 temp_v1_2; - s32 temp_v0_5; - s32 temp_v0_8; - struct TrackWayPoint *temp_v0_7; - u16 temp_t7; - u16 temp_v0_3; - u16 temp_v0_4; + s32 stackPadding0; + s32 stackPadding1; + Vec3f sp44; + Vec3f sp38; + struct TrackWayPoint *wayPoint; + s32 stackPadding2; + s32 stackPadding3; player->unk_0C2 = 0x000C; player->unk_078 = 0; @@ -1896,35 +1834,30 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { player->unk_0C0 = 0; player->unk_08C = 0.0f; func_8008C354(player, arg1); - temp_t7 = (u16) player->unk_222; - switch (temp_t7) { + switch (player->unk_222) { case 0: - temp_v1 = player->unk_0CA; - if ((temp_v1 & 1) == 1) { - temp_v0 = player->unk_0C8; - if ((temp_v0 < 0x3C) || ((temp_v1 & 2) != 2)) { - player->unk_0C8 = temp_v0 + 1; + if ((player->unk_0CA & 1) == 1) { + if ((player->unk_0C8 < 0x3C) || ((player->unk_0CA & 2) != 2)) { + player->unk_0C8++; if (player->unk_0C8 >= 0x3C) { player->unk_0C8 = 0x003C; } } else { - temp_v0_2 = &D_801652A0[arg1]; - sp28 = temp_v0_2; - move_f32_towards(&player->pos[1], *temp_v0_2 + 100.0f, 0.012f); - move_s16_towards(player + (arg2 * 2) + 0xCC, 0, 0.2f); - if ((*sp28 + 40.0f) <= player->pos[1]) { + move_f32_towards(&player->pos[1], D_801652A0[arg1] + 100.0f, 0.012f); + move_s16_towards(&player->unk_0CC[arg2], 0, 0.2f); + if ((D_801652A0[arg1] + 40.0f) <= player->pos[1]) { player->unk_222 = 1; - player->unk_0C6 = 0x00FF; player->unk_0CA |= 4; + player->unk_0C6 = 0x00FF; } } - } else if ((temp_v1 & 2) == 2) { + } else if ((player->unk_0CA & 2) == 2) { move_f32_towards(&player->pos[1], player->unk_074 + 100.0f, 0.025f); - move_s16_towards(player + (arg2 * 2) + 0xCC, 0, 0.2f); + move_s16_towards(&player->unk_0CC[arg2], 0, 0.2f); if ((player->unk_074 + 40.0f) <= player->pos[1]) { player->unk_222 = 1; - player->unk_0C6 = 0x00FF; player->unk_0CA |= 4; + player->unk_0C6 = 0x00FF; } } if ((player->unk_0BC & 0x80000000) == 0x80000000) { @@ -1932,8 +1865,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { } break; case 1: - temp_v0_3 = player->unk_000; - if (((temp_v0_3 & 0x4000) == 0x4000) && !(temp_v0_3 & 0x1000)) { + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x1000) == 0)) { func_8009E088(arg1, 0xA); } if ((player->unk_0CA & 1) == 1) { @@ -1942,7 +1874,7 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { if (player->unk_0C6 < 9) { player->unk_0C6 = 0; player->unk_222 = 2; - player->unk_0CA &= 0xFFFE; + player->unk_0CA &= ~0x0001; } } else { move_f32_towards(&player->pos[1], player->rotY + 40.0f, 0.02f); @@ -1952,69 +1884,63 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { player->unk_222 = 2; } } - player->unk_0CA &= 0xDFFF; + player->unk_0CA &= ~0x2000; break; case 2: - func_80090178(player, arg1, &sp44, &sp38); - player->unk_02C[1] = -func_802B5224(&sp44, &sp38); - player->pos[0] = sp44; - player->pos[1] = sp48 + 40.0f; + func_80090178(player, arg1, sp44, sp38); + // Fakematch found by Verti, who knows what's going on here + player->unk_02C[1] = (u16) -func_802B5224(sp44, sp38) & 0xFFFF; + player->pos[0] = sp44[0]; + player->pos[1] = sp44[1] + 40.0f; + player->pos[2] = sp44[2]; player->unk_222 = 3; - player->pos[2] = sp4C; break; case 3: - *(&D_80165330 + (arg1 * 2)) = 0; - temp_v0_4 = player->unk_000; - if (((temp_v0_4 & 0x4000) == 0x4000) && !(temp_v0_4 & 0x1000)) { + D_80165330[arg1] = 0; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x1000) == 0)) { func_8009E020(arg1, 0x14); } - func_80090178(player, arg1, &sp44, &sp38); - player->pos[0] = sp44; - player->pos[1] = sp48 + 40.0f; - player->pos[2] = sp4C; - temp_v0_5 = arg1 * 0x1C70; - sp28 = temp_v0_5; - player->pos[2] += coss((temp_v0_5 - player->unk_02C[1]) & 0xFFFF) * -5.0f; - temp_f6 = sins((temp_v0_5 - player->unk_02C[1]) & 0xFFFF) * -5.0f; + func_80090178(player, arg1, sp44, sp38); + player->pos[0] = sp44[0]; + player->pos[1] = sp44[1] + 40.0f; + player->pos[2] = sp44[2]; + player->pos[2] = player->pos[2] + coss((arg1 * 0x1C70) - player->unk_02C[1]) * -5.0f; + player->pos[0] = player->pos[0] + sins((arg1 * 0x1C70) - player->unk_02C[1]) * -5.0f; player->unk_0C6 += 8; - player->pos[0] += temp_f6; if (player->unk_0C6 >= 0xF0) { player->unk_0C6 = 0x00FF; player->unk_222 = 4; - player->unk_0CA &= 0xFFFB; + player->unk_0CA &= ~0x0004; player->unk_0C8 = 0; } break; case 4: - temp_v0_6 = player->unk_0C8; - if ((temp_v0_6 == 0x0096) || (temp_v0_6 == 0x00C8) || (temp_v0_6 == 0x00FA)) { - player->pos[2] += coss(-player->unk_02C[1] & 0xFFFF) * -10.0f; - player->pos[0] += sins(-player->unk_02C[1] & 0xFFFF) * -10.0f; + if ((player->unk_0C8 == 0x0096) || (player->unk_0C8 == 0x00C8) || (player->unk_0C8 == 0x00FA)) { + player->pos[2] = player->pos[2] + coss(-player->unk_02C[1]) * -10.0f; + player->pos[0] = player->pos[0] + sins(-player->unk_02C[1]) * -10.0f; } if (player->unk_0C8 == 0x00FC) { - temp_v0_7 = *D_80164550; - player->pos[0] = (f32) temp_v0_7->wayPointX; - player->pos[1] = (f32) temp_v0_7->wayPointY; - player->pos[2] = (f32) temp_v0_7->wayPointZ; + wayPoint = D_80164550[0]; + player->pos[0] = wayPoint->wayPointX; + player->pos[1] = wayPoint->wayPointY; + player->pos[2] = wayPoint->wayPointZ; } move_f32_towards(&player->pos[1], (player->unk_074 + player->boundingBoxSize) - 2.0f, 0.04f); - temp_v0_8 = player->unk_0BC; - player->unk_0C8 += 1; - if (((temp_v0_8 & 8) != 8) || (temp_v0_8 & 0x8000)) { - player->unk_0CA &= 0xEFFF; + player->unk_0C8++; + if (((player->unk_0BC & 8) != 8) || (player->unk_0BC & 0x8000)) { + player->unk_0CA &= ~0x1000; if (player->unk_0C8 >= 0x5B) { if (player->unk_000 & 0x4000) { - func_800C9018((u8) arg1, 0x0100FA28); + func_800C9018(arg1, 0x0100FA28); } if (gModeSelection == BATTLE) { func_8006B8B4(player, arg1); } - player->unk_0CA &= 0xFFFD; - temp_v1_2 = player->unk_0CA; - player->unk_0DE &= 0xFFFB; - if ((temp_v1_2 & 0x80) != 0x80) { - player->unk_0CA = temp_v1_2 & 0xFFF7; - if (((f64) player->unk_214 * 0.9) <= (f64) player->unk_09C) { + player->unk_0CA &= ~0x0002; + player->unk_0DE &= ~0x0004; + if ((player->unk_0CA & 0x80) != 0x80) { + player->unk_0CA &= ~0x0008; + if ((player->unk_214 * 0.9) <= player->unk_09C) { func_8008F104(player, arg1); } } @@ -2041,9 +1967,6 @@ void func_80090970(Player *player, s8 arg1, s8 arg2) { } } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_80090970.s") -#endif s32 func_800910E4(Player *arg0) { s32 phi_v0 = 0; diff --git a/src/code_8008C1D0.h b/src/code_8008C1D0.h index 37f0570cb..49f941d8d 100644 --- a/src/code_8008C1D0.h +++ b/src/code_8008C1D0.h @@ -54,8 +54,10 @@ void func_8008C73C(Player*, s8); void func_8008C8C4(Player*, s8); void func_8008C9EC(Player*, s8); void func_8008CDC0(Player*, s8); +void func_8008CEB0(Player*, s8); void func_8008D0E4(Player*, s8); void func_8008D0FC(Player*, s8); +void func_8008D170(Player*, s8); void func_8008D3B0(Player*, s8); void func_8008D3C4(Player*, s8); void func_8008D4B4(Player*); @@ -108,6 +110,7 @@ void func_8008FF08(Player*, s8); void func_80090178(Player*, s8, Vec3f, Vec3f); void func_80090778(Player*); void func_80090868(Player*); +void func_80090970(Player*, s8, s8); s32 func_800910E4(Player*); void func_800911B4(Player*, s8); void func_80091298(Player*, s8); diff --git a/src/code_80091750.h b/src/code_80091750.h index de53707ea..be2997749 100644 --- a/src/code_80091750.h +++ b/src/code_80091750.h @@ -172,6 +172,8 @@ void func_8009DF4C(s32); void func_8009DF6C(s32); void func_8009DFE0(s32); void func_8009E000(s32); +void func_8009E020(s32, s32); +void func_8009E088(s32, s32); void func_8009E0F0(s32); void func_8009E1C0(); void func_8009E1E4();