diff --git a/asm/non_matchings/racer/func_80042D20.s b/asm/non_matchings/racer/func_80042D20.s index f2003926..5f11da27 100644 --- a/asm/non_matchings/racer/func_80042D20.s +++ b/asm/non_matchings/racer/func_80042D20.s @@ -67,8 +67,8 @@ glabel func_80042D20 /* 0439A0 80042DA0 AFAA0060 */ sw $t2, 0x60($sp) /* 0439A4 80042DA4 8FAA0060 */ lw $t2, 0x60($sp) /* 0439A8 80042DA8 10400007 */ beqz $v0, .L80042DC8 -/* 0439AC 80042DAC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 -/* 0439B0 80042DB0 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 0439AC 80042DAC 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 +/* 0439B0 80042DB0 2442D528 */ addiu $v0, %lo(gCurrentCarInput) # addiu $v0, $v0, -0x2ad8 /* 0439B4 80042DB4 8C590000 */ lw $t9, ($v0) /* 0439B8 80042DB8 00000000 */ nop /* 0439BC 80042DBC 372E8000 */ ori $t6, $t9, 0x8000 @@ -431,11 +431,11 @@ glabel func_80042D20 /* 043EFC 800432FC 4608803E */ c.le.s $f16, $f8 /* 043F00 80043300 00000000 */ nop /* 043F04 80043304 45000005 */ bc1f .L8004331C -/* 043F08 80043308 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 -/* 043F0C 8004330C 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) -/* 043F10 80043310 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 043F08 80043308 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 +/* 043F0C 8004330C 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) +/* 043F10 80043310 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 043F14 80043314 35EE8000 */ ori $t6, $t7, 0x8000 -/* 043F18 80043318 AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +/* 043F18 80043318 AC2ED528 */ sw $t6, %lo(gCurrentCarInput)($at) .L8004331C: /* 043F1C 8004331C AFA9005C */ sw $t1, 0x5c($sp) /* 043F20 80043320 A7AC0034 */ sh $t4, 0x34($sp) @@ -772,14 +772,14 @@ glabel func_80042D20 /* 044400 80043800 30F80004 */ andi $t8, $a3, 4 .L80043804: /* 044404 80043804 13000014 */ beqz $t8, .L80043858 -/* 044408 80043808 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 -/* 04440C 8004380C 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 044408 80043808 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 +/* 04440C 8004380C 8DCED528 */ lw $t6, %lo(gCurrentCarInput)($t6) /* 044410 80043810 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* 044414 80043814 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* 044418 80043818 01C17824 */ and $t7, $t6, $at -/* 04441C 8004381C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04441C 8004381C 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 044420 80043820 1000000D */ b .L80043858 -/* 044424 80043824 AC2FD528 */ sw $t7, %lo(D_8011D528)($at) +/* 044424 80043824 AC2FD528 */ sw $t7, %lo(gCurrentCarInput)($at) .L80043828: /* 044428 80043828 2401FFFD */ li $at, -3 /* 04442C 8004382C 00E1C824 */ and $t9, $a3, $at @@ -798,13 +798,13 @@ glabel func_80042D20 /* 04445C 8004385C 00000000 */ nop /* 044460 80043860 31F90004 */ andi $t9, $t7, 4 /* 044464 80043864 13200007 */ beqz $t9, .L80043884 -/* 044468 80043868 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 -/* 04446C 8004386C 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 044468 80043868 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 +/* 04446C 8004386C 8F18D528 */ lw $t8, %lo(gCurrentCarInput)($t8) /* 044470 80043870 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* 044474 80043874 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff /* 044478 80043878 03017024 */ and $t6, $t8, $at -/* 04447C 8004387C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 044480 80043880 AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +/* 04447C 8004387C 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 044480 80043880 AC2ED528 */ sw $t6, %lo(gCurrentCarInput)($at) .L80043884: /* 044484 80043884 860F01C6 */ lh $t7, 0x1c6($s0) /* 044488 80043888 00000000 */ nop @@ -1176,9 +1176,9 @@ glabel func_80042D20 /* 0449E4 80043DE4 E60E0124 */ swc1 $f14, 0x124($s0) .L80043DE8: /* 0449E8 80043DE8 820E01D8 */ lb $t6, 0x1d8($s0) -/* 0449EC 80043DEC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 0449EC 80043DEC 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 0449F0 80043DF0 11C00015 */ beqz $t6, .L80043E48 -/* 0449F4 80043DF4 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 0449F4 80043DF4 2442D528 */ addiu $v0, %lo(gCurrentCarInput) # addiu $v0, $v0, -0x2ad8 /* 0449F8 80043DF8 A20001D3 */ sb $zero, 0x1d3($s0) /* 0449FC 80043DFC A2000213 */ sb $zero, 0x213($s0) /* 044A00 80043E00 8C4F0000 */ lw $t7, ($v0) diff --git a/asm/non_matchings/racer/func_80043ECC.s b/asm/non_matchings/racer/func_80043ECC.s deleted file mode 100644 index 77123338..00000000 --- a/asm/non_matchings/racer/func_80043ECC.s +++ /dev/null @@ -1,193 +0,0 @@ -glabel func_80043ECC -/* 044ACC 80043ECC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 044AD0 80043ED0 AFBF0014 */ sw $ra, 0x14($sp) -/* 044AD4 80043ED4 14800008 */ bnez $a0, .L80043EF8 -/* 044AD8 80043ED8 AFA60028 */ sw $a2, 0x28($sp) -/* 044ADC 80043EDC 3C018012 */ lui $at, %hi(D_8011D5BA) # $at, 0x8012 -/* 044AE0 80043EE0 A020D5BA */ sb $zero, %lo(D_8011D5BA)($at) -/* 044AE4 80043EE4 3C018012 */ lui $at, %hi(D_8011D5BB) # $at, 0x8012 -/* 044AE8 80043EE8 A020D5BB */ sb $zero, %lo(D_8011D5BB)($at) -/* 044AEC 80043EEC 3C018012 */ lui $at, %hi(D_8011D5BC) # $at, 0x8012 -/* 044AF0 80043EF0 1000009B */ b .L80044160 -/* 044AF4 80043EF4 A020D5BC */ sb $zero, %lo(D_8011D5BC)($at) -.L80043EF8: -/* 044AF8 80043EF8 0C01B063 */ jal func_8006C18C -/* 044AFC 80043EFC AFA50024 */ sw $a1, 0x24($sp) -/* 044B00 80043F00 8FA50024 */ lw $a1, 0x24($sp) -/* 044B04 80043F04 00403025 */ move $a2, $v0 -/* 044B08 80043F08 80AE01D3 */ lb $t6, 0x1d3($a1) -/* 044B0C 80043F0C 3C018012 */ lui $at, %hi(D_8011D5BB) # $at, 0x8012 -/* 044B10 80043F10 11C0001A */ beqz $t6, .L80043F7C -/* 044B14 80043F14 2404000C */ li $a0, 12 -/* 044B18 80043F18 3C0F8012 */ lui $t7, %hi(D_8011D5BB) # $t7, 0x8012 -/* 044B1C 80043F1C 81EFD5BB */ lb $t7, %lo(D_8011D5BB)($t7) -/* 044B20 80043F20 240C0001 */ li $t4, 1 -/* 044B24 80043F24 15E0000B */ bnez $t7, .L80043F54 -/* 044B28 80043F28 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 -/* 044B2C 80043F2C 80580014 */ lb $t8, 0x14($v0) -/* 044B30 80043F30 80590016 */ lb $t9, 0x16($v0) -/* 044B34 80043F34 80490015 */ lb $t1, 0x15($v0) -/* 044B38 80043F38 804A0017 */ lb $t2, 0x17($v0) -/* 044B3C 80043F3C 03194021 */ addu $t0, $t8, $t9 -/* 044B40 80043F40 012A5821 */ addu $t3, $t1, $t2 -/* 044B44 80043F44 A0480014 */ sb $t0, 0x14($v0) -/* 044B48 80043F48 A04B0015 */ sb $t3, 0x15($v0) -/* 044B4C 80043F4C 3C018012 */ lui $at, %hi(D_8011D5BB) # $at, 0x8012 -/* 044B50 80043F50 A02CD5BB */ sb $t4, %lo(D_8011D5BB)($at) -.L80043F54: -/* 044B54 80043F54 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) -/* 044B58 80043F58 8FB80028 */ lw $t8, 0x28($sp) -/* 044B5C 80043F5C 31AE8000 */ andi $t6, $t5, 0x8000 -/* 044B60 80043F60 15C00016 */ bnez $t6, .L80043FBC -/* 044B64 80043F64 3C0F8012 */ lui $t7, %hi(D_8011D5BA) # $t7, 0x8012 -/* 044B68 80043F68 81EFD5BA */ lb $t7, %lo(D_8011D5BA)($t7) -/* 044B6C 80043F6C 3C018012 */ lui $at, %hi(D_8011D5BA) # $at, 0x8012 -/* 044B70 80043F70 01F8C821 */ addu $t9, $t7, $t8 -/* 044B74 80043F74 10000011 */ b .L80043FBC -/* 044B78 80043F78 A039D5BA */ sb $t9, %lo(D_8011D5BA)($at) -.L80043F7C: -/* 044B7C 80043F7C 3C088012 */ lui $t0, %hi(D_8011D5BA) # $t0, 0x8012 -/* 044B80 80043F80 8108D5BA */ lb $t0, %lo(D_8011D5BA)($t0) -/* 044B84 80043F84 A020D5BB */ sb $zero, %lo(D_8011D5BB)($at) -/* 044B88 80043F88 29010015 */ slti $at, $t0, 0x15 -/* 044B8C 80043F8C 14200009 */ bnez $at, .L80043FB4 -/* 044B90 80043F90 00000000 */ nop -/* 044B94 80043F94 80490008 */ lb $t1, 8($v0) -/* 044B98 80043F98 804A000A */ lb $t2, 0xa($v0) -/* 044B9C 80043F9C 804C0009 */ lb $t4, 9($v0) -/* 044BA0 80043FA0 804D000B */ lb $t5, 0xb($v0) -/* 044BA4 80043FA4 012A5821 */ addu $t3, $t1, $t2 -/* 044BA8 80043FA8 018D7021 */ addu $t6, $t4, $t5 -/* 044BAC 80043FAC A04B0008 */ sb $t3, 8($v0) -/* 044BB0 80043FB0 A04E0009 */ sb $t6, 9($v0) -.L80043FB4: -/* 044BB4 80043FB4 3C018012 */ lui $at, %hi(D_8011D5BA) # $at, 0x8012 -/* 044BB8 80043FB8 A020D5BA */ sb $zero, %lo(D_8011D5BA)($at) -.L80043FBC: -/* 044BBC 80043FBC 80AF0173 */ lb $t7, 0x173($a1) -/* 044BC0 80043FC0 3C188012 */ lui $t8, %hi(D_8011D5BC) # $t8, 0x8012 -/* 044BC4 80043FC4 11E00014 */ beqz $t7, .L80044018 -/* 044BC8 80043FC8 3C018012 */ lui $at, %hi(D_8011D5BC) # $at, 0x8012 -/* 044BCC 80043FCC 80A30174 */ lb $v1, 0x174($a1) -/* 044BD0 80043FD0 8318D5BC */ lb $t8, %lo(D_8011D5BC)($t8) -/* 044BD4 80043FD4 00000000 */ nop -/* 044BD8 80043FD8 0303082A */ slt $at, $t8, $v1 -/* 044BDC 80043FDC 1020000B */ beqz $at, .L8004400C -/* 044BE0 80043FE0 00000000 */ nop -/* 044BE4 80043FE4 8059000C */ lb $t9, 0xc($v0) -/* 044BE8 80043FE8 8048000E */ lb $t0, 0xe($v0) -/* 044BEC 80043FEC 804A000D */ lb $t2, 0xd($v0) -/* 044BF0 80043FF0 804B000F */ lb $t3, 0xf($v0) -/* 044BF4 80043FF4 03284821 */ addu $t1, $t9, $t0 -/* 044BF8 80043FF8 014B6021 */ addu $t4, $t2, $t3 -/* 044BFC 80043FFC A049000C */ sb $t1, 0xc($v0) -/* 044C00 80044000 A04C000D */ sb $t4, 0xd($v0) -/* 044C04 80044004 80A30174 */ lb $v1, 0x174($a1) -/* 044C08 80044008 00000000 */ nop -.L8004400C: -/* 044C0C 8004400C 3C018012 */ lui $at, %hi(D_8011D5BC) # $at, 0x8012 -/* 044C10 80044010 10000002 */ b .L8004401C -/* 044C14 80044014 A023D5BC */ sb $v1, %lo(D_8011D5BC)($at) -.L80044018: -/* 044C18 80044018 A020D5BC */ sb $zero, %lo(D_8011D5BC)($at) -.L8004401C: -/* 044C1C 8004401C AFA50024 */ sw $a1, 0x24($sp) -/* 044C20 80044020 0C0078A7 */ jal get_misc_asset -/* 044C24 80044024 AFA6001C */ sw $a2, 0x1c($sp) -/* 044C28 80044028 3C0D8012 */ lui $t5, %hi(D_8011D530) # $t5, 0x8012 -/* 044C2C 8004402C 8DADD530 */ lw $t5, %lo(D_8011D530)($t5) -/* 044C30 80044030 8FA50024 */ lw $a1, 0x24($sp) -/* 044C34 80044034 8FA6001C */ lw $a2, 0x1c($sp) -/* 044C38 80044038 31AE2000 */ andi $t6, $t5, 0x2000 -/* 044C3C 8004403C 11C00022 */ beqz $t6, .L800440C8 -/* 044C40 80044040 00000000 */ nop -/* 044C44 80044044 80AF0173 */ lb $t7, 0x173($a1) -/* 044C48 80044048 3C0A800E */ lui $t2, %hi(D_800DCD90) # $t2, 0x800e -/* 044C4C 8004404C 11E0001E */ beqz $t7, .L800440C8 -/* 044C50 80044050 00000000 */ nop -/* 044C54 80044054 80A30174 */ lb $v1, 0x174($a1) -/* 044C58 80044058 00000000 */ nop -/* 044C5C 8004405C 28610003 */ slti $at, $v1, 3 -/* 044C60 80044060 1020000A */ beqz $at, .L8004408C -/* 044C64 80044064 00000000 */ nop -/* 044C68 80044068 80B80172 */ lb $t8, 0x172($a1) -/* 044C6C 8004406C 00000000 */ nop -/* 044C70 80044070 0018C880 */ sll $t9, $t8, 2 -/* 044C74 80044074 0338C823 */ subu $t9, $t9, $t8 -/* 044C78 80044078 03234021 */ addu $t0, $t9, $v1 -/* 044C7C 8004407C 01024821 */ addu $t1, $t0, $v0 -/* 044C80 80044080 81240000 */ lb $a0, ($t1) -/* 044C84 80044084 10000004 */ b .L80044098 -/* 044C88 80044088 01445021 */ addu $t2, $t2, $a0 -.L8004408C: -/* 044C8C 8004408C 80A40172 */ lb $a0, 0x172($a1) -/* 044C90 80044090 00000000 */ nop -/* 044C94 80044094 01445021 */ addu $t2, $t2, $a0 -.L80044098: -/* 044C98 80044098 814ACD90 */ lb $t2, %lo(D_800DCD90)($t2) -/* 044C9C 8004409C 24010001 */ li $at, 1 -/* 044CA0 800440A0 1541000A */ bne $t2, $at, .L800440CC -/* 044CA4 800440A4 00C01025 */ move $v0, $a2 -/* 044CA8 800440A8 80CB0010 */ lb $t3, 0x10($a2) -/* 044CAC 800440AC 80CC0012 */ lb $t4, 0x12($a2) -/* 044CB0 800440B0 80CE0011 */ lb $t6, 0x11($a2) -/* 044CB4 800440B4 80CF0013 */ lb $t7, 0x13($a2) -/* 044CB8 800440B8 016C6821 */ addu $t5, $t3, $t4 -/* 044CBC 800440BC 01CFC021 */ addu $t8, $t6, $t7 -/* 044CC0 800440C0 A0CD0010 */ sb $t5, 0x10($a2) -/* 044CC4 800440C4 A0D80011 */ sb $t8, 0x11($a2) -.L800440C8: -/* 044CC8 800440C8 00C01025 */ move $v0, $a2 -.L800440CC: -/* 044CCC 800440CC 24060002 */ li $a2, 2 -/* 044CD0 800440D0 00002825 */ move $a1, $zero -/* 044CD4 800440D4 24040064 */ li $a0, 100 -.L800440D8: -/* 044CD8 800440D8 8043000C */ lb $v1, 0xc($v0) -/* 044CDC 800440DC 24A50001 */ addiu $a1, $a1, 1 -/* 044CE0 800440E0 28610065 */ slti $at, $v1, 0x65 -/* 044CE4 800440E4 10200003 */ beqz $at, .L800440F4 -/* 044CE8 800440E8 00000000 */ nop -/* 044CEC 800440EC 04610002 */ bgez $v1, .L800440F8 -/* 044CF0 800440F0 00000000 */ nop -.L800440F4: -/* 044CF4 800440F4 A044000C */ sb $a0, 0xc($v0) -.L800440F8: -/* 044CF8 800440F8 80430008 */ lb $v1, 8($v0) -/* 044CFC 800440FC 00000000 */ nop -/* 044D00 80044100 28610065 */ slti $at, $v1, 0x65 -/* 044D04 80044104 10200003 */ beqz $at, .L80044114 -/* 044D08 80044108 00000000 */ nop -/* 044D0C 8004410C 04610002 */ bgez $v1, .L80044118 -/* 044D10 80044110 00000000 */ nop -.L80044114: -/* 044D14 80044114 A0440008 */ sb $a0, 8($v0) -.L80044118: -/* 044D18 80044118 80430014 */ lb $v1, 0x14($v0) -/* 044D1C 8004411C 00000000 */ nop -/* 044D20 80044120 28610065 */ slti $at, $v1, 0x65 -/* 044D24 80044124 10200003 */ beqz $at, .L80044134 -/* 044D28 80044128 00000000 */ nop -/* 044D2C 8004412C 04610002 */ bgez $v1, .L80044138 -/* 044D30 80044130 00000000 */ nop -.L80044134: -/* 044D34 80044134 A0440014 */ sb $a0, 0x14($v0) -.L80044138: -/* 044D38 80044138 80430010 */ lb $v1, 0x10($v0) -/* 044D3C 8004413C 00000000 */ nop -/* 044D40 80044140 28610065 */ slti $at, $v1, 0x65 -/* 044D44 80044144 10200003 */ beqz $at, .L80044154 -/* 044D48 80044148 00000000 */ nop -/* 044D4C 8004414C 04610002 */ bgez $v1, .L80044158 -/* 044D50 80044150 00000000 */ nop -.L80044154: -/* 044D54 80044154 A0440010 */ sb $a0, 0x10($v0) -.L80044158: -/* 044D58 80044158 14A6FFDF */ bne $a1, $a2, .L800440D8 -/* 044D5C 8004415C 24420001 */ addiu $v0, $v0, 1 -.L80044160: -/* 044D60 80044160 8FBF0014 */ lw $ra, 0x14($sp) -/* 044D64 80044164 27BD0020 */ addiu $sp, $sp, 0x20 -/* 044D68 80044168 03E00008 */ jr $ra -/* 044D6C 8004416C 00000000 */ nop - diff --git a/asm/non_matchings/racer/func_8004447C.s b/asm/non_matchings/racer/func_8004447C.s index 37c7f625..9f95f17e 100644 --- a/asm/non_matchings/racer/func_8004447C.s +++ b/asm/non_matchings/racer/func_8004447C.s @@ -13,9 +13,9 @@ glabel func_8004447C /* 045080 80044480 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 045084 80044484 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 045088 80044488 AC20D530 */ sw $zero, %lo(D_8011D530)($at) -/* 04508C 8004448C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04508C 8004448C 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 045090 80044490 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 045094 80044494 AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 045094 80044494 AC20D528 */ sw $zero, %lo(gCurrentCarInput)($at) /* 045098 80044498 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 /* 04509C 8004449C AC20D534 */ sw $zero, %lo(D_8011D534)($at) /* 0450A0 800444A0 AFBF001C */ sw $ra, 0x1c($sp) @@ -514,11 +514,11 @@ glabel L80044ADC /* 0457AC 80044BAC 44804000 */ mtc1 $zero, $f8 /* 0457B0 80044BB0 46005421 */ cvt.d.s $f16, $f10 /* 0457B4 80044BB4 4630403C */ c.lt.d $f8, $f16 -/* 0457B8 80044BB8 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 0457B8 80044BB8 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 0457BC 80044BBC 4500001B */ bc1f .L80044C2C /* 0457C0 80044BC0 34198000 */ li $t9, 32768 /* 0457C4 80044BC4 10000019 */ b .L80044C2C -/* 0457C8 80044BC8 AC39D528 */ sw $t9, %lo(D_8011D528)($at) +/* 0457C8 80044BC8 AC39D528 */ sw $t9, %lo(gCurrentCarInput)($at) .L80044BCC: /* 0457CC 80044BCC C604002C */ lwc1 $f4, 0x2c($s0) /* 0457D0 80044BD0 3C01C010 */ li $at, 0xC0100000 # -2.250000 @@ -530,22 +530,22 @@ glabel L80044ADC /* 0457E8 80044BE8 45000005 */ bc1f .L80044C00 /* 0457EC 80044BEC 240C4000 */ li $t4, 16384 /* 0457F0 80044BF0 3418C000 */ li $t8, 49152 -/* 0457F4 80044BF4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 0457F4 80044BF4 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 0457F8 80044BF8 10000003 */ b .L80044C08 -/* 0457FC 80044BFC AC38D528 */ sw $t8, %lo(D_8011D528)($at) +/* 0457FC 80044BFC AC38D528 */ sw $t8, %lo(gCurrentCarInput)($at) .L80044C00: -/* 045800 80044C00 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 045804 80044C04 AC2CD528 */ sw $t4, %lo(D_8011D528)($at) +/* 045800 80044C00 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 045804 80044C04 AC2CD528 */ sw $t4, %lo(gCurrentCarInput)($at) .L80044C08: /* 045808 80044C08 C608002C */ lwc1 $f8, 0x2c($s0) /* 04580C 80044C0C 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 /* 045810 80044C10 44815800 */ mtc1 $at, $f11 /* 045814 80044C14 46004421 */ cvt.d.s $f16, $f8 /* 045818 80044C18 4630503C */ c.lt.d $f10, $f16 -/* 04581C 80044C1C 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04581C 80044C1C 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 045820 80044C20 45000002 */ bc1f .L80044C2C /* 045824 80044C24 340D8000 */ li $t5, 32768 -/* 045828 80044C28 AC2DD528 */ sw $t5, %lo(D_8011D528)($at) +/* 045828 80044C28 AC2DD528 */ sw $t5, %lo(gCurrentCarInput)($at) .L80044C2C: /* 04582C 80044C2C 8E080158 */ lw $t0, 0x158($s0) /* 045830 80044C30 00000000 */ nop @@ -604,15 +604,15 @@ glabel L80044ADC /* 0458F8 80044CF8 44803000 */ mtc1 $zero, $f6 /* 0458FC 80044CFC 460042A1 */ cvt.d.s $f10, $f8 /* 045900 80044D00 462A303C */ c.lt.d $f6, $f10 -/* 045904 80044D04 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045904 80044D04 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 045908 80044D08 45000005 */ bc1f .L80044D20 /* 04590C 80044D0C 240D4000 */ li $t5, 16384 /* 045910 80044D10 340CC000 */ li $t4, 49152 -/* 045914 80044D14 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045914 80044D14 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 045918 80044D18 10000002 */ b .L80044D24 -/* 04591C 80044D1C AC2CD528 */ sw $t4, %lo(D_8011D528)($at) +/* 04591C 80044D1C AC2CD528 */ sw $t4, %lo(gCurrentCarInput)($at) .L80044D20: -/* 045920 80044D20 AC2DD528 */ sw $t5, %lo(D_8011D528)($at) +/* 045920 80044D20 AC2DD528 */ sw $t5, %lo(gCurrentCarInput)($at) .L80044D24: /* 045924 80044D24 3C01800E */ lui $at, %hi(D_800E6350 + 4) # $at, 0x800e /* 045928 80044D28 C7B0005C */ lwc1 $f16, 0x5c($sp) diff --git a/asm/non_matchings/racer/func_800452A0.s b/asm/non_matchings/racer/func_800452A0.s index 126ba4e4..312aa2a8 100644 --- a/asm/non_matchings/racer/func_800452A0.s +++ b/asm/non_matchings/racer/func_800452A0.s @@ -16,9 +16,9 @@ glabel func_800452A0 /* 045EA8 800452A8 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 045EAC 800452AC 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 045EB0 800452B0 AC20D530 */ sw $zero, %lo(D_8011D530)($at) -/* 045EB4 800452B4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 045EB4 800452B4 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 045EB8 800452B8 340E8000 */ li $t6, 32768 -/* 045EBC 800452BC AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +/* 045EBC 800452BC AC2ED528 */ sw $t6, %lo(gCurrentCarInput)($at) /* 045EC0 800452C0 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 /* 045EC4 800452C4 AFB60048 */ sw $s6, 0x48($sp) /* 045EC8 800452C8 AC20D534 */ sw $zero, %lo(D_8011D534)($at) diff --git a/asm/non_matchings/racer/func_80045C48.s b/asm/non_matchings/racer/func_80045C48.s index 41bd7989..48c696f6 100644 --- a/asm/non_matchings/racer/func_80045C48.s +++ b/asm/non_matchings/racer/func_80045C48.s @@ -1,7 +1,7 @@ glabel func_80045C48 -/* 046848 80045C48 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 046848 80045C48 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 04684C 80045C4C 27BDFF18 */ addiu $sp, $sp, -0xe8 -/* 046850 80045C50 AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 046850 80045C50 AC20D528 */ sw $zero, %lo(gCurrentCarInput)($at) /* 046854 80045C54 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 /* 046858 80045C58 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 04685C 80045C5C 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 diff --git a/asm/non_matchings/racer/func_80046524.s b/asm/non_matchings/racer/func_80046524.s index 08670cc8..a0476955 100644 --- a/asm/non_matchings/racer/func_80046524.s +++ b/asm/non_matchings/racer/func_80046524.s @@ -96,8 +96,8 @@ glabel func_80046524 /* 0471B0 800465B0 44816000 */ mtc1 $at, $f12 /* 0471B4 800465B4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 /* 0471B8 800465B8 A420D550 */ sh $zero, %lo(D_8011D550)($at) -/* 0471BC 800465BC 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 -/* 0471C0 800465C0 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 0471BC 800465BC 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 +/* 0471C0 800465C0 AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) /* 0471C4 800465C4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 /* 0471C8 800465C8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) /* 0471CC 800465CC C626000C */ lwc1 $f6, 0xc($s1) @@ -203,9 +203,9 @@ glabel func_80046524 /* 047344 80046744 0C0148D3 */ jal func_8005234C /* 047348 80046748 02002025 */ move $a0, $s0 .L8004674C: -/* 04734C 8004674C 3C198012 */ lui $t9, %hi(D_8011D528) # $t9, 0x8012 -/* 047350 80046750 8F39D528 */ lw $t9, %lo(D_8011D528)($t9) -/* 047354 80046754 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 04734C 8004674C 3C198012 */ lui $t9, %hi(gCurrentCarInput) # $t9, 0x8012 +/* 047350 80046750 8F39D528 */ lw $t9, %lo(gCurrentCarInput)($t9) +/* 047354 80046754 3C048012 */ lui $a0, %hi(gCurrentCarInput) # $a0, 0x8012 /* 047358 80046758 332A8000 */ andi $t2, $t9, 0x8000 /* 04735C 8004675C 1140001E */ beqz $t2, .L800467D8 /* 047360 80046760 00000000 */ nop @@ -273,8 +273,8 @@ glabel func_80046524 /* 04744C 8004684C 460E303C */ c.lt.s $f6, $f14 /* 047450 80046850 46001006 */ mov.s $f0, $f2 /* 047454 80046854 45000008 */ bc1f .L80046878 -/* 047458 80046858 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 -/* 04745C 8004685C 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 047458 80046858 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 +/* 04745C 8004685C 8D6BD528 */ lw $t3, %lo(gCurrentCarInput)($t3) /* 047460 80046860 3C013F80 */ li $at, 0x3F800000 # 1.000000 /* 047464 80046864 316C8000 */ andi $t4, $t3, 0x8000 /* 047468 80046868 11800003 */ beqz $t4, .L80046878 @@ -302,7 +302,7 @@ glabel func_80046524 .L800468BC: /* 0474BC 800468BC 46007221 */ cvt.d.s $f8, $f14 /* 0474C0 800468C0 4628203C */ c.lt.d $f4, $f8 -/* 0474C4 800468C4 8C84D528 */ lw $a0, %lo(D_8011D528)($a0) +/* 0474C4 800468C4 8C84D528 */ lw $a0, %lo(gCurrentCarInput)($a0) /* 0474C8 800468C8 45000008 */ bc1f .L800468EC /* 0474CC 800468CC 308E4000 */ andi $t6, $a0, 0x4000 /* 0474D0 800468D0 3C01800E */ lui $at, %hi(D_800E63C0 + 4) # $at, 0x800e @@ -547,7 +547,7 @@ glabel func_80046524 /* 047840 80046C40 86060160 */ lh $a2, 0x160($s0) /* 047844 80046C44 AFA00010 */ sw $zero, 0x10($sp) /* 047848 80046C48 02002025 */ move $a0, $s0 -/* 04784C 80046C4C 0C014214 */ jal func_80050850 +/* 04784C 80046C4C 0C014214 */ jal apply_vehicle_rotation_offset /* 047850 80046C50 00003825 */ move $a3, $zero /* 047854 80046C54 10000015 */ b .L80046CAC /* 047858 80046C58 820B01D5 */ lb $t3, 0x1d5($s0) @@ -569,7 +569,7 @@ glabel func_80046524 /* 047894 80046C94 44074000 */ mfc1 $a3, $f8 /* 047898 80046C98 44D8F800 */ ctc1 $t8, $31 /* 04789C 80046C9C 0007CC00 */ sll $t9, $a3, 0x10 -/* 0478A0 80046CA0 0C014214 */ jal func_80050850 +/* 0478A0 80046CA0 0C014214 */ jal apply_vehicle_rotation_offset /* 0478A4 80046CA4 00193C03 */ sra $a3, $t9, 0x10 /* 0478A8 80046CA8 820B01D5 */ lb $t3, 0x1d5($s0) .L80046CAC: @@ -705,7 +705,7 @@ glabel func_80046524 /* 047A94 80046E94 A20A01DB */ sb $t2, 0x1db($s0) .L80046E98: /* 047A98 80046E98 04610019 */ bgez $v1, .L80046F00 -/* 047A9C 80046E9C 3C0A8012 */ lui $t2, %hi(D_8011D528) # $t2, 0x8012 +/* 047A9C 80046E9C 3C0A8012 */ lui $t2, %hi(gCurrentCarInput) # $t2, 0x8012 /* 047AA0 80046EA0 00036080 */ sll $t4, $v1, 2 /* 047AA4 80046EA4 01836023 */ subu $t4, $t4, $v1 /* 047AA8 80046EA8 000C6080 */ sll $t4, $t4, 2 @@ -731,12 +731,12 @@ glabel func_80046524 /* 047AF8 80046EF8 27190001 */ addiu $t9, $t8, 1 /* 047AFC 80046EFC A21901DB */ sb $t9, 0x1db($s0) .L80046F00: -/* 047B00 80046F00 8D4AD528 */ lw $t2, %lo(D_8011D528)($t2) +/* 047B00 80046F00 8D4AD528 */ lw $t2, %lo(gCurrentCarInput)($t2) /* 047B04 80046F04 3C01FFFF */ lui $at, (0xFFFF3FFF >> 16) # lui $at, 0xffff /* 047B08 80046F08 34213FFF */ ori $at, (0xFFFF3FFF & 0xFFFF) # ori $at, $at, 0x3fff /* 047B0C 80046F0C 01416024 */ and $t4, $t2, $at -/* 047B10 80046F10 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 047B14 80046F14 AC2CD528 */ sw $t4, %lo(D_8011D528)($at) +/* 047B10 80046F10 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 047B14 80046F14 AC2CD528 */ sw $t4, %lo(gCurrentCarInput)($at) /* 047B18 80046F18 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 /* 047B1C 80046F1C AC20D534 */ sw $zero, %lo(D_8011D534)($at) /* 047B20 80046F20 A20001E1 */ sb $zero, 0x1e1($s0) @@ -933,12 +933,12 @@ glabel func_80046524 /* 047DF0 800471F0 46240182 */ mul.d $f6, $f0, $f4 /* 047DF4 800471F4 C7AB0050 */ lwc1 $f11, 0x50($sp) /* 047DF8 800471F8 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 047DFC 800471FC 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 047DFC 800471FC 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 /* 047E00 80047200 462A3202 */ mul.d $f8, $f6, $f10 /* 047E04 80047204 46280101 */ sub.d $f4, $f0, $f8 /* 047E08 80047208 462021A0 */ cvt.s.d $f6, $f4 /* 047E0C 8004720C E6260020 */ swc1 $f6, 0x20($s1) -/* 047E10 80047210 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 047E10 80047210 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) /* 047E14 80047214 00000000 */ nop /* 047E18 80047218 31F84000 */ andi $t8, $t7, 0x4000 /* 047E1C 8004721C 13000013 */ beqz $t8, .L8004726C @@ -1408,9 +1408,9 @@ glabel func_80046524 .L800478EC: /* 0484EC 800478EC 46206283 */ div.d $f10, $f12, $f0 /* 0484F0 800478F0 44832000 */ mtc1 $v1, $f4 -/* 0484F4 800478F4 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 0484F4 800478F4 3C048012 */ lui $a0, %hi(gCurrentCarInput) # $a0, 0x8012 /* 0484F8 800478F8 468021A0 */ cvt.s.w $f6, $f4 -/* 0484FC 800478FC 8C84D528 */ lw $a0, %lo(D_8011D528)($a0) +/* 0484FC 800478FC 8C84D528 */ lw $a0, %lo(gCurrentCarInput)($a0) /* 048500 80047900 00000000 */ nop /* 048504 80047904 308E8000 */ andi $t6, $a0, 0x8000 /* 048508 80047908 308F0010 */ andi $t7, $a0, 0x10 @@ -1488,7 +1488,7 @@ glabel func_80046524 /* 048614 80047A14 8D8CD55C */ lw $t4, %lo(D_8011D55C)($t4) /* 048618 80047A18 2401FFFF */ li $at, -1 /* 04861C 80047A1C 15810038 */ bne $t4, $at, .L80047B00 -/* 048620 80047A20 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 048620 80047A20 3C048012 */ lui $a0, %hi(gCurrentCarInput) # $a0, 0x8012 /* 048624 80047A24 820B01D8 */ lb $t3, 0x1d8($s0) /* 048628 80047A28 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 /* 04862C 80047A2C 15600034 */ bnez $t3, .L80047B00 @@ -1503,7 +1503,7 @@ glabel func_80046524 /* 048650 80047A50 C428641C */ lwc1 $f8, %lo(D_800E6418 + 4)($at) /* 048654 80047A54 3C01800E */ lui $at, %hi(D_800E6420 + 4) # $at, 0x800e /* 048658 80047A58 46203420 */ cvt.s.d $f16, $f6 -/* 04865C 80047A5C 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04865C 80047A5C 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 /* 048660 80047A60 46008121 */ cvt.d.s $f4, $f16 /* 048664 80047A64 46282282 */ mul.d $f10, $f4, $f8 /* 048668 80047A68 44802000 */ mtc1 $zero, $f4 @@ -1523,10 +1523,10 @@ glabel func_80046524 /* 04869C 80047A9C 00000000 */ nop /* 0486A0 80047AA0 45000005 */ bc1f .L80047AB8 /* 0486A4 80047AA4 00000000 */ nop -/* 0486A8 80047AA8 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) -/* 0486AC 80047AAC 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 0486A8 80047AA8 8DCED528 */ lw $t6, %lo(gCurrentCarInput)($t6) +/* 0486AC 80047AAC 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 0486B0 80047AB0 35CF0010 */ ori $t7, $t6, 0x10 -/* 0486B4 80047AB4 AC2FD528 */ sw $t7, %lo(D_8011D528)($at) +/* 0486B4 80047AB4 AC2FD528 */ sw $t7, %lo(gCurrentCarInput)($at) .L80047AB8: /* 0486B8 80047AB8 C6040038 */ lwc1 $f4, 0x38($s0) /* 0486BC 80047ABC C626001C */ lwc1 $f6, 0x1c($s1) @@ -1553,7 +1553,7 @@ glabel func_80046524 /* 04870C 80047B0C C426642C */ lwc1 $f6, %lo(D_800E6428 + 4)($at) /* 048710 80047B10 46002021 */ cvt.d.s $f0, $f4 /* 048714 80047B14 46260202 */ mul.d $f8, $f0, $f6 -/* 048718 80047B18 8C84D528 */ lw $a0, %lo(D_8011D528)($a0) +/* 048718 80047B18 8C84D528 */ lw $a0, %lo(gCurrentCarInput)($a0) /* 04871C 80047B1C 3C014000 */ li $at, 0x40000000 # 2.000000 /* 048720 80047B20 30980010 */ andi $t8, $a0, 0x10 /* 048724 80047B24 1300002E */ beqz $t8, .L80047BE0 @@ -1614,7 +1614,7 @@ glabel func_80046524 /* 0487F0 80047BF0 3C014000 */ li $at, 0x40000000 # 2.000000 /* 0487F4 80047BF4 3C0A8012 */ lui $t2, %hi(D_8011D584) # $t2, 0x8012 /* 0487F8 80047BF8 460A3101 */ sub.s $f4, $f6, $f10 -/* 0487FC 80047BFC 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 0487FC 80047BFC 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 /* 048800 80047C00 E624001C */ swc1 $f4, 0x1c($s1) /* 048804 80047C04 C6060054 */ lwc1 $f6, 0x54($s0) /* 048808 80047C08 00000000 */ nop @@ -1738,7 +1738,7 @@ glabel func_80046524 /* 0489D8 80047DD8 C7A400FC */ lwc1 $f4, 0xfc($sp) /* 0489DC 80047DDC 4500000D */ bc1f .L80047E14 /* 0489E0 80047DE0 00000000 */ nop -/* 0489E4 80047DE4 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 0489E4 80047DE4 8D6BD528 */ lw $t3, %lo(gCurrentCarInput)($t3) /* 0489E8 80047DE8 C7A800FC */ lwc1 $f8, 0xfc($sp) /* 0489EC 80047DEC 316E8000 */ andi $t6, $t3, 0x8000 /* 0489F0 80047DF0 15C00008 */ bnez $t6, .L80047E14 @@ -1784,8 +1784,8 @@ glabel func_80046524 /* 048A88 80047E88 E6280024 */ swc1 $f8, 0x24($s1) .L80047E8C: /* 048A8C 80047E8C AE00010C */ sw $zero, 0x10c($s0) -/* 048A90 80047E90 3C188012 */ lui $t8, %hi(D_8011D554) # $t8, 0x8012 -/* 048A94 80047E94 8F18D554 */ lw $t8, %lo(D_8011D554)($t8) +/* 048A90 80047E90 3C188012 */ lui $t8, %hi(gCurrentCarSteerVel) # $t8, 0x8012 +/* 048A94 80047E94 8F18D554 */ lw $t8, %lo(gCurrentCarSteerVel)($t8) /* 048A98 80047E98 860201A2 */ lh $v0, 0x1a2($s0) /* 048A9C 80047E9C 860C01A0 */ lh $t4, 0x1a0($s0) /* 048AA0 80047EA0 03026823 */ subu $t5, $t8, $v0 @@ -2089,8 +2089,8 @@ glabel func_80046524 /* 048EEC 800482EC 4622403C */ c.lt.d $f8, $f2 /* 048EF0 800482F0 00000000 */ nop /* 048EF4 800482F4 45000017 */ bc1f .L80048354 -/* 048EF8 800482F8 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 -/* 048EFC 800482FC 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 048EF8 800482F8 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 +/* 048EFC 800482FC 8DCED528 */ lw $t6, %lo(gCurrentCarInput)($t6) /* 048F00 80048300 00004025 */ move $t0, $zero /* 048F04 80048304 31CF0010 */ andi $t7, $t6, 0x10 /* 048F08 80048308 11E00006 */ beqz $t7, .L80048324 @@ -2252,13 +2252,13 @@ glabel func_80046524 /* 049158 80048558 10200026 */ beqz $at, .L800485F4 /* 04915C 8004855C 00000000 */ nop /* 049160 80048560 8E2E0040 */ lw $t6, 0x40($s1) -/* 049164 80048564 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 049164 80048564 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 /* 049168 80048568 81CF0057 */ lb $t7, 0x57($t6) /* 04916C 8004856C 00000000 */ nop /* 049170 80048570 29E10009 */ slti $at, $t7, 9 /* 049174 80048574 1420001F */ bnez $at, .L800485F4 /* 049178 80048578 00000000 */ nop -/* 04917C 8004857C 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 04917C 8004857C 8F18D528 */ lw $t8, %lo(gCurrentCarInput)($t8) /* 049180 80048580 34018010 */ li $at, 32784 /* 049184 80048584 330D8010 */ andi $t5, $t8, 0x8010 /* 049188 80048588 15A10011 */ bne $t5, $at, .L800485D0 diff --git a/asm/non_matchings/racer/func_80049794.s b/asm/non_matchings/racer/func_80049794.s index d744b69d..2241f49f 100644 --- a/asm/non_matchings/racer/func_80049794.s +++ b/asm/non_matchings/racer/func_80049794.s @@ -282,8 +282,8 @@ glabel func_80049794 /* 04A6E0 80049AE0 44818000 */ mtc1 $at, $f16 /* 04A6E4 80049AE4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 /* 04A6E8 80049AE8 A420D550 */ sh $zero, %lo(D_8011D550)($at) -/* 04A6EC 80049AEC 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 -/* 04A6F0 80049AF0 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 04A6EC 80049AEC 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 +/* 04A6F0 80049AF0 AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) /* 04A6F4 80049AF4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 /* 04A6F8 80049AF8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) /* 04A6FC 80049AFC C624000C */ lwc1 $f4, 0xc($s1) @@ -401,9 +401,9 @@ glabel func_80049794 /* 04A898 80049C98 0C0148D3 */ jal func_8005234C /* 04A89C 80049C9C 02002025 */ move $a0, $s0 .L80049CA0: -/* 04A8A0 80049CA0 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 -/* 04A8A4 80049CA4 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) -/* 04A8A8 80049CA8 3C198012 */ lui $t9, %hi(D_8011D528) # $t9, 0x8012 +/* 04A8A0 80049CA0 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 +/* 04A8A4 80049CA4 8DCED528 */ lw $t6, %lo(gCurrentCarInput)($t6) +/* 04A8A8 80049CA8 3C198012 */ lui $t9, %hi(gCurrentCarInput) # $t9, 0x8012 /* 04A8AC 80049CAC 31CF8000 */ andi $t7, $t6, 0x8000 /* 04A8B0 80049CB0 11E00019 */ beqz $t7, .L80049D18 /* 04A8B4 80049CB4 3C01800E */ lui $at, %hi(D_800E64B8 + 4) # $at, 0x800e @@ -463,7 +463,7 @@ glabel func_80049794 /* 04A984 80049D84 00000000 */ nop /* 04A988 80049D88 E60A00B4 */ swc1 $f10, 0xb4($s0) .L80049D8C: -/* 04A98C 80049D8C 8F39D528 */ lw $t9, %lo(D_8011D528)($t9) +/* 04A98C 80049D8C 8F39D528 */ lw $t9, %lo(gCurrentCarInput)($t9) /* 04A990 80049D90 C61200B4 */ lwc1 $f18, 0xb4($s0) /* 04A994 80049D94 332B4000 */ andi $t3, $t9, 0x4000 /* 04A998 80049D98 11600038 */ beqz $t3, .L80049E7C @@ -819,7 +819,7 @@ glabel func_80049794 /* 04AEC0 8004A2C0 1506FFF8 */ bne $t0, $a2, .L8004A2A4 /* 04AEC4 8004A2C4 24630001 */ addiu $v1, $v1, 1 /* 04AEC8 8004A2C8 14A60002 */ bne $a1, $a2, .L8004A2D4 -/* 04AECC 8004A2CC 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04AECC 8004A2CC 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 /* 04AED0 8004A2D0 A2000175 */ sb $zero, 0x175($s0) .L8004A2D4: /* 04AED4 8004A2D4 860E0000 */ lh $t6, ($s0) @@ -835,7 +835,7 @@ glabel func_80049794 /* 04AEFC 8004A2FC 3C018012 */ lui $at, %hi(D_8011D582) # $at, 0x8012 /* 04AF00 8004A300 A039D582 */ sb $t9, %lo(D_8011D582)($at) .L8004A304: -/* 04AF04 8004A304 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 04AF04 8004A304 8D6BD528 */ lw $t3, %lo(gCurrentCarInput)($t3) /* 04AF08 8004A308 00000000 */ nop /* 04AF0C 8004A30C 316C4000 */ andi $t4, $t3, 0x4000 /* 04AF10 8004A310 11800013 */ beqz $t4, .L8004A360 @@ -903,7 +903,7 @@ glabel func_80049794 /* 04B000 8004A400 2529D538 */ addiu $t1, %lo(D_8011D538) # addiu $t1, $t1, -0x2ac8 .L8004A404: /* 04B004 8004A404 820C01D6 */ lb $t4, 0x1d6($s0) -/* 04B008 8004A408 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 04B008 8004A408 3C0D8012 */ lui $t5, %hi(gCurrentCarInput) # $t5, 0x8012 /* 04B00C 8004A40C 29810005 */ slti $at, $t4, 5 /* 04B010 8004A410 14200018 */ bnez $at, .L8004A474 /* 04B014 8004A414 3C0F800E */ lui $t7, %hi(D_800DCB98) # $t7, 0x800e @@ -932,7 +932,7 @@ glabel func_80049794 /* 04B070 8004A470 E7A600C4 */ swc1 $f6, 0xc4($sp) .L8004A474: /* 04B074 8004A474 A20001E0 */ sb $zero, 0x1e0($s0) -/* 04B078 8004A478 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 04B078 8004A478 8DADD528 */ lw $t5, %lo(gCurrentCarInput)($t5) /* 04B07C 8004A47C 00000000 */ nop /* 04B080 8004A480 31AE4000 */ andi $t6, $t5, 0x4000 /* 04B084 8004A484 11C00007 */ beqz $t6, .L8004A4A4 @@ -1004,7 +1004,7 @@ glabel func_80049794 /* 04B174 8004A574 8FA500F8 */ lw $a1, 0xf8($sp) /* 04B178 8004A578 01E03825 */ move $a3, $t7 /* 04B17C 8004A57C AFA00010 */ sw $zero, 0x10($sp) -/* 04B180 8004A580 0C014214 */ jal func_80050850 +/* 04B180 8004A580 0C014214 */ jal apply_vehicle_rotation_offset /* 04B184 8004A584 E7AE00DC */ swc1 $f14, 0xdc($sp) /* 04B188 8004A588 920201FE */ lbu $v0, 0x1fe($s0) /* 04B18C 8004A58C C7AE00DC */ lwc1 $f14, 0xdc($sp) @@ -1305,13 +1305,13 @@ glabel func_80049794 /* 04B5C0 8004A9C0 00000000 */ nop /* 04B5C4 8004A9C4 E5C60030 */ swc1 $f6, 0x30($t6) .L8004A9C8: -/* 04B5C8 8004A9C8 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 -/* 04B5CC 8004A9CC 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 04B5C8 8004A9C8 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 +/* 04B5CC 8004A9CC 8F18D528 */ lw $t8, %lo(gCurrentCarInput)($t8) /* 04B5D0 8004A9D0 3C01FFFF */ lui $at, (0xFFFF5FFF >> 16) # lui $at, 0xffff /* 04B5D4 8004A9D4 34215FFF */ ori $at, (0xFFFF5FFF & 0xFFFF) # ori $at, $at, 0x5fff /* 04B5D8 8004A9D8 0301C824 */ and $t9, $t8, $at -/* 04B5DC 8004A9DC 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 04B5E0 8004A9E0 AC39D528 */ sw $t9, %lo(D_8011D528)($at) +/* 04B5DC 8004A9DC 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 04B5E0 8004A9E0 AC39D528 */ sw $t9, %lo(gCurrentCarInput)($at) /* 04B5E4 8004A9E4 8FA400F8 */ lw $a0, 0xf8($sp) /* 04B5E8 8004A9E8 820B01DB */ lb $t3, 0x1db($s0) /* 04B5EC 8004A9EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 @@ -1414,7 +1414,7 @@ glabel func_80049794 .L8004AB4C: /* 04B74C 8004AB4C 86230002 */ lh $v1, 2($s1) /* 04B750 8004AB50 820F01D5 */ lb $t7, 0x1d5($s0) -/* 04B754 8004AB54 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 04B754 8004AB54 3C0D8012 */ lui $t5, %hi(gCurrentCarInput) # $t5, 0x8012 /* 04B758 8004AB58 15E00009 */ bnez $t7, .L8004AB80 /* 04B75C 8004AB5C 00604025 */ move $t0, $v1 /* 04B760 8004AB60 0002C080 */ sll $t8, $v0, 2 @@ -1426,7 +1426,7 @@ glabel func_80049794 /* 04B778 8004AB78 006B6021 */ addu $t4, $v1, $t3 /* 04B77C 8004AB7C A62C0002 */ sh $t4, 2($s1) .L8004AB80: -/* 04B780 8004AB80 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 04B780 8004AB80 8DADD528 */ lw $t5, %lo(gCurrentCarInput)($t5) /* 04B784 8004AB84 00000000 */ nop /* 04B788 8004AB88 31AE0010 */ andi $t6, $t5, 0x10 /* 04B78C 8004AB8C 15C00002 */ bnez $t6, .L8004AB98 @@ -1503,11 +1503,11 @@ glabel func_80049794 /* 04B890 8004AC90 142001A6 */ bnez $at, .L8004B32C /* 04B894 8004AC94 00000000 */ nop /* 04B898 8004AC98 862E0002 */ lh $t6, 2($s1) -/* 04B89C 8004AC9C 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 04B89C 8004AC9C 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 /* 04B8A0 8004ACA0 29C1C000 */ slti $at, $t6, -0x4000 /* 04B8A4 8004ACA4 102001A1 */ beqz $at, .L8004B32C /* 04B8A8 8004ACA8 00000000 */ nop -/* 04B8AC 8004ACAC 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 04B8AC 8004ACAC 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) /* 04B8B0 8004ACB0 2419003C */ li $t9, 60 /* 04B8B4 8004ACB4 31F80010 */ andi $t8, $t7, 0x10 /* 04B8B8 8004ACB8 1300019C */ beqz $t8, .L8004B32C @@ -1550,11 +1550,11 @@ glabel func_80049794 /* 04B93C 8004AD3C 1020017B */ beqz $at, .L8004B32C /* 04B940 8004AD40 00000000 */ nop /* 04B944 8004AD44 86390002 */ lh $t9, 2($s1) -/* 04B948 8004AD48 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04B948 8004AD48 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 /* 04B94C 8004AD4C 2B214001 */ slti $at, $t9, 0x4001 /* 04B950 8004AD50 14200176 */ bnez $at, .L8004B32C /* 04B954 8004AD54 00000000 */ nop -/* 04B958 8004AD58 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 04B958 8004AD58 8D6BD528 */ lw $t3, %lo(gCurrentCarInput)($t3) /* 04B95C 8004AD5C 240D003C */ li $t5, 60 /* 04B960 8004AD60 316C0010 */ andi $t4, $t3, 0x10 /* 04B964 8004AD64 11800171 */ beqz $t4, .L8004B32C @@ -1565,18 +1565,18 @@ glabel func_80049794 /* 04B974 8004AD74 820401E1 */ lb $a0, 0x1e1($s0) /* 04B978 8004AD78 A3A000A1 */ sb $zero, 0xa1($sp) /* 04B97C 8004AD7C 820301E2 */ lb $v1, 0x1e2($s0) -/* 04B980 8004AD80 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04B980 8004AD80 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 04B984 8004AD84 1060000B */ beqz $v1, .L8004ADB4 /* 04B988 8004AD88 2401FFEF */ li $at, -17 -/* 04B98C 8004AD8C 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04B98C 8004AD8C 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 04B990 8004AD90 240F0001 */ li $t7, 1 /* 04B994 8004AD94 304E0010 */ andi $t6, $v0, 0x10 /* 04B998 8004AD98 11C00002 */ beqz $t6, .L8004ADA4 /* 04B99C 8004AD9C 0041C024 */ and $t8, $v0, $at /* 04B9A0 8004ADA0 A3AF00A1 */ sb $t7, 0xa1($sp) .L8004ADA4: -/* 04B9A4 8004ADA4 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 04B9A8 8004ADA8 AC38D528 */ sw $t8, %lo(D_8011D528)($at) +/* 04B9A4 8004ADA4 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 04B9A8 8004ADA8 AC38D528 */ sw $t8, %lo(gCurrentCarInput)($at) /* 04B9AC 8004ADAC 820301E2 */ lb $v1, 0x1e2($s0) /* 04B9B0 8004ADB0 00000000 */ nop .L8004ADB4: @@ -1613,8 +1613,8 @@ glabel func_80049794 /* 04BA24 8004AE24 46085183 */ div.s $f6, $f10, $f8 /* 04BA28 8004AE28 44812800 */ mtc1 $at, $f5 /* 04BA2C 8004AE2C 44802000 */ mtc1 $zero, $f4 -/* 04BA30 8004AE30 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 -/* 04BA34 8004AE34 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 04BA30 8004AE30 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 +/* 04BA34 8004AE34 8D6BD528 */ lw $t3, %lo(gCurrentCarInput)($t3) /* 04BA38 8004AE38 00000000 */ nop /* 04BA3C 8004AE3C 316C0010 */ andi $t4, $t3, 0x10 /* 04BA40 8004AE40 460034A1 */ cvt.d.s $f18, $f6 @@ -1671,11 +1671,11 @@ glabel func_80049794 /* 04BB08 8004AF08 11810025 */ beq $t4, $at, .L8004AFA0 /* 04BB0C 8004AF0C 3C088012 */ lui $t0, %hi(D_8011D534) # $t0, 0x8012 /* 04BB10 8004AF10 820B01D8 */ lb $t3, 0x1d8($s0) -/* 04BB14 8004AF14 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04BB14 8004AF14 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 04BB18 8004AF18 15600021 */ bnez $t3, .L8004AFA0 /* 04BB1C 8004AF1C 00000000 */ nop /* 04BB20 8004AF20 860801A4 */ lh $t0, 0x1a4($s0) -/* 04BB24 8004AF24 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04BB24 8004AF24 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 04BB28 8004AF28 00084023 */ negu $t0, $t0 /* 04BB2C 8004AF2C 00086983 */ sra $t5, $t0, 6 /* 04BB30 8004AF30 304F0010 */ andi $t7, $v0, 0x10 @@ -1737,12 +1737,12 @@ glabel func_80049794 /* 04BC00 8004B000 00411021 */ addu $v0, $v0, $at .L8004B004: /* 04BC04 8004B004 00580019 */ multu $v0, $t8 -/* 04BC08 8004B008 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04BC08 8004B008 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 /* 04BC0C 8004B00C 0000C812 */ mflo $t9 /* 04BC10 8004B010 00195903 */ sra $t3, $t9, 4 /* 04BC14 8004B014 006B6821 */ addu $t5, $v1, $t3 /* 04BC18 8004B018 A60D01A4 */ sh $t5, 0x1a4($s0) -/* 04BC1C 8004B01C 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 04BC1C 8004B01C 8DCED528 */ lw $t6, %lo(gCurrentCarInput)($t6) /* 04BC20 8004B020 8FB800F8 */ lw $t8, 0xf8($sp) /* 04BC24 8004B024 31CC0010 */ andi $t4, $t6, 0x10 /* 04BC28 8004B028 11800005 */ beqz $t4, .L8004B040 @@ -1758,8 +1758,8 @@ glabel func_80049794 /* 04BC4C 8004B04C 01EB6823 */ subu $t5, $t7, $t3 /* 04BC50 8004B050 A60D01A0 */ sh $t5, 0x1a0($s0) .L8004B054: -/* 04BC54 8004B054 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 -/* 04BC58 8004B058 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04BC54 8004B054 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 +/* 04BC58 8004B058 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 04BC5C 8004B05C 3C0F8012 */ lui $t7, %hi(D_8011D55C) # $t7, 0x8012 /* 04BC60 8004B060 304E0010 */ andi $t6, $v0, 0x10 /* 04BC64 8004B064 11C00009 */ beqz $t6, .L8004B08C @@ -1781,7 +1781,7 @@ glabel func_80049794 /* 04BCA0 8004B0A0 46083482 */ mul.s $f18, $f6, $f8 /* 04BCA4 8004B0A4 C4246514 */ lwc1 $f4, %lo(D_800E6510 + 4)($at) /* 04BCA8 8004B0A8 C628001C */ lwc1 $f8, 0x1c($s1) -/* 04BCAC 8004B0AC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 04BCAC 8004B0AC 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 04BCB0 8004B0B0 460092A1 */ cvt.d.s $f10, $f18 /* 04BCB4 8004B0B4 46245182 */ mul.d $f6, $f10, $f4 /* 04BCB8 8004B0B8 C6120050 */ lwc1 $f18, 0x50($s0) @@ -1800,7 +1800,7 @@ glabel func_80049794 /* 04BCEC 8004B0EC 46149182 */ mul.s $f6, $f18, $f20 /* 04BCF0 8004B0F0 46062201 */ sub.s $f8, $f4, $f6 /* 04BCF4 8004B0F4 E6280024 */ swc1 $f8, 0x24($s1) -/* 04BCF8 8004B0F8 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 04BCF8 8004B0F8 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 04BCFC 8004B0FC 00000000 */ nop /* 04BD00 8004B100 30590010 */ andi $t9, $v0, 0x10 /* 04BD04 8004B104 03201025 */ move $v0, $t9 @@ -2038,7 +2038,7 @@ glabel func_80049794 /* 04C064 8004B464 460E0002 */ mul.s $f0, $f0, $f14 /* 04C068 8004B468 C62A001C */ lwc1 $f10, 0x1c($s1) /* 04C06C 8004B46C C6280020 */ lwc1 $f8, 0x20($s1) -/* 04C070 8004B470 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 04C070 8004B470 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 /* 04C074 8004B474 46009102 */ mul.s $f4, $f18, $f0 /* 04C078 8004B478 46045181 */ sub.s $f6, $f10, $f4 /* 04C07C 8004B47C E626001C */ swc1 $f6, 0x1c($s1) @@ -2116,7 +2116,7 @@ glabel func_80049794 /* 04C18C 8004B58C C7A600D8 */ lwc1 $f6, 0xd8($sp) /* 04C190 8004B590 4500000D */ bc1f .L8004B5C8 /* 04C194 8004B594 00000000 */ nop -/* 04C198 8004B598 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 04C198 8004B598 8F18D528 */ lw $t8, %lo(gCurrentCarInput)($t8) /* 04C19C 8004B59C C7A800D8 */ lwc1 $f8, 0xd8($sp) /* 04C1A0 8004B5A0 330C8000 */ andi $t4, $t8, 0x8000 /* 04C1A4 8004B5A4 15800008 */ bnez $t4, .L8004B5C8 @@ -2321,8 +2321,8 @@ glabel func_80049794 .L8004B8A0: /* 04C4A0 8004B8A0 C7AC00EC */ lwc1 $f12, 0xec($sp) /* 04C4A4 8004B8A4 AE00010C */ sw $zero, 0x10c($s0) -/* 04C4A8 8004B8A8 3C0D8012 */ lui $t5, %hi(D_8011D554) # $t5, 0x8012 -/* 04C4AC 8004B8AC 8DADD554 */ lw $t5, %lo(D_8011D554)($t5) +/* 04C4A8 8004B8A8 3C0D8012 */ lui $t5, %hi(gCurrentCarSteerVel) # $t5, 0x8012 +/* 04C4AC 8004B8AC 8DADD554 */ lw $t5, %lo(gCurrentCarSteerVel)($t5) /* 04C4B0 8004B8B0 860201A2 */ lh $v0, 0x1a2($s0) /* 04C4B4 8004B8B4 860C01A0 */ lh $t4, 0x1a0($s0) /* 04C4B8 8004B8B8 01A25823 */ subu $t3, $t5, $v0 @@ -2848,8 +2848,8 @@ glabel func_80049794 /* 04CC3C 8004C03C 02202025 */ move $a0, $s1 /* 04CC40 8004C040 11800007 */ beqz $t4, .L8004C060 /* 04CC44 8004C044 02002825 */ move $a1, $s0 -/* 04CC48 8004C048 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 -/* 04CC4C 8004C04C 2442D528 */ addiu $v0, %lo(D_8011D528) # addiu $v0, $v0, -0x2ad8 +/* 04CC48 8004C048 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 +/* 04CC4C 8004C04C 2442D528 */ addiu $v0, %lo(gCurrentCarInput) # addiu $v0, $v0, -0x2ad8 /* 04CC50 8004C050 8C4E0000 */ lw $t6, ($v0) /* 04CC54 8004C054 00000000 */ nop /* 04CC58 8004C058 35D90010 */ ori $t9, $t6, 0x10 diff --git a/asm/non_matchings/racer/func_8004C2B0.s b/asm/non_matchings/racer/func_8004C2B0.s index c353dfeb..3f80e3f0 100644 --- a/asm/non_matchings/racer/func_8004C2B0.s +++ b/asm/non_matchings/racer/func_8004C2B0.s @@ -53,7 +53,7 @@ glabel func_8004C2B0 /* 04CF3C 8004C33C C7B20030 */ lwc1 $f18, 0x30($sp) /* 04CF40 8004C340 24010001 */ li $at, 1 /* 04CF44 8004C344 14410007 */ bne $v0, $at, .L8004C364 -/* 04CF48 8004C348 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 04CF48 8004C348 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 /* 04CF4C 8004C34C 3C014334 */ li $at, 0x43340000 # 180.000000 /* 04CF50 8004C350 44817000 */ mtc1 $at, $f14 /* 04CF54 8004C354 3C014248 */ li $at, 0x42480000 # 50.000000 @@ -69,7 +69,7 @@ glabel func_8004C2B0 /* 04CF78 8004C378 44819000 */ mtc1 $at, $f18 /* 04CF7C 8004C37C 00000000 */ nop .L8004C380: -/* 04CF80 8004C380 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 04CF80 8004C380 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) /* 04CF84 8004C384 00000000 */ nop /* 04CF88 8004C388 31F80010 */ andi $t8, $t7, 0x10 /* 04CF8C 8004C38C 13000006 */ beqz $t8, .L8004C3A8 diff --git a/asm/non_matchings/racer/func_8004CC20.s b/asm/non_matchings/racer/func_8004CC20.s index 7878f7e6..0ec9b238 100644 --- a/asm/non_matchings/racer/func_8004CC20.s +++ b/asm/non_matchings/racer/func_8004CC20.s @@ -48,8 +48,8 @@ glabel func_8004CC20 /* 04D8A0 8004CCA0 A2000203 */ sb $zero, 0x203($s0) /* 04D8A4 8004CCA4 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 /* 04D8A8 8004CCA8 A420D550 */ sh $zero, %lo(D_8011D550)($at) -/* 04D8AC 8004CCAC 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 -/* 04D8B0 8004CCB0 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 04D8AC 8004CCAC 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 +/* 04D8B0 8004CCB0 AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) /* 04D8B4 8004CCB4 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 /* 04D8B8 8004CCB8 AC20D558 */ sw $zero, %lo(D_8011D558)($at) /* 04D8BC 8004CCBC C624000C */ lwc1 $f4, 0xc($s1) @@ -139,12 +139,12 @@ glabel func_8004CC20 /* 04D9F4 8004CDF4 0C01BD93 */ jal guMtxXFMF /* 04D9F8 8004CDF8 3C063F80 */ lui $a2, 0x3f80 /* 04D9FC 8004CDFC 340E8000 */ li $t6, 32768 -/* 04DA00 8004CE00 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 04DA04 8004CE04 AC2ED528 */ sw $t6, %lo(D_8011D528)($at) +/* 04DA00 8004CE00 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 04DA04 8004CE04 AC2ED528 */ sw $t6, %lo(gCurrentCarInput)($at) /* 04DA08 8004CE08 02202025 */ move $a0, $s1 /* 04DA0C 8004CE0C 0C014D71 */ jal func_800535C4 /* 04DA10 8004CE10 02002825 */ move $a1, $s0 -/* 04DA14 8004CE14 0C014D99 */ jal func_80053664 +/* 04DA14 8004CE14 0C014D99 */ jal handle_car_velocity_control /* 04DA18 8004CE18 02002025 */ move $a0, $s0 /* 04DA1C 8004CE1C 8FA600DC */ lw $a2, 0xdc($sp) /* 04DA20 8004CE20 02202025 */ move $a0, $s1 @@ -486,7 +486,7 @@ glabel func_8004CC20 /* 04DF10 8004D310 C624001C */ lwc1 $f4, 0x1c($s1) /* 04DF14 8004D314 46009402 */ mul.s $f16, $f18, $f0 /* 04DF18 8004D318 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 04DF1C 8004D31C 3C0B8012 */ lui $t3, %hi(D_8011D554) # $t3, 0x8012 +/* 04DF1C 8004D31C 3C0B8012 */ lui $t3, %hi(gCurrentCarSteerVel) # $t3, 0x8012 /* 04DF20 8004D320 02202025 */ move $a0, $s1 /* 04DF24 8004D324 46102181 */ sub.s $f6, $f4, $f16 /* 04DF28 8004D328 C6300024 */ lwc1 $f16, 0x24($s1) @@ -502,7 +502,7 @@ glabel func_8004CC20 /* 04DF50 8004D350 46088281 */ sub.s $f10, $f16, $f8 /* 04DF54 8004D354 E62A0024 */ swc1 $f10, 0x24($s1) /* 04DF58 8004D358 AE00010C */ sw $zero, 0x10c($s0) -/* 04DF5C 8004D35C 8D6BD554 */ lw $t3, %lo(D_8011D554)($t3) +/* 04DF5C 8004D35C 8D6BD554 */ lw $t3, %lo(gCurrentCarSteerVel)($t3) /* 04DF60 8004D360 860201A2 */ lh $v0, 0x1a2($s0) /* 04DF64 8004D364 860F01A0 */ lh $t7, 0x1a0($s0) /* 04DF68 8004D368 01626023 */ subu $t4, $t3, $v0 diff --git a/asm/non_matchings/racer/func_8004DE38.s b/asm/non_matchings/racer/func_8004DE38.s index f2d98476..bbbcf797 100644 --- a/asm/non_matchings/racer/func_8004DE38.s +++ b/asm/non_matchings/racer/func_8004DE38.s @@ -610,9 +610,9 @@ glabel func_8004DE38 /* 04F2AC 8004E6AC 0C01A94A */ jal get_buttons_held_from_player /* 04F2B0 8004E6B0 AC22D538 */ sw $v0, %lo(D_8011D538)($at) /* 04F2B4 8004E6B4 8FA400AC */ lw $a0, 0xac($sp) -/* 04F2B8 8004E6B8 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 +/* 04F2B8 8004E6B8 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 /* 04F2BC 8004E6BC 0C01A955 */ jal get_buttons_pressed_from_player -/* 04F2C0 8004E6C0 AC22D528 */ sw $v0, %lo(D_8011D528)($at) +/* 04F2C0 8004E6C0 AC22D528 */ sw $v0, %lo(gCurrentCarInput)($at) /* 04F2C4 8004E6C4 8FA400AC */ lw $a0, 0xac($sp) /* 04F2C8 8004E6C8 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 /* 04F2CC 8004E6CC 0C01A95E */ jal get_buttons_released_from_player @@ -631,8 +631,8 @@ glabel func_8004DE38 /* 04F2F8 8004E6F8 0C01105C */ jal func_80044170 /* 04F2FC 8004E6FC 02002825 */ move $a1, $s0 .L8004E700: -/* 04F300 8004E700 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 -/* 04F304 8004E704 8D29D528 */ lw $t1, %lo(D_8011D528)($t1) +/* 04F300 8004E700 3C098012 */ lui $t1, %hi(gCurrentCarInput) # $t1, 0x8012 +/* 04F304 8004E704 8D29D528 */ lw $t1, %lo(gCurrentCarInput)($t1) /* 04F308 8004E708 00000000 */ nop /* 04F30C 8004E70C 312A8000 */ andi $t2, $t1, 0x8000 /* 04F310 8004E710 15400002 */ bnez $t2, .L8004E71C @@ -667,8 +667,8 @@ glabel func_8004DE38 /* 04F37C 8004E77C AC20D534 */ sw $zero, %lo(D_8011D534)($at) /* 04F380 8004E780 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 /* 04F384 8004E784 AC20D538 */ sw $zero, %lo(D_8011D538)($at) -/* 04F388 8004E788 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 04F38C 8004E78C AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 04F388 8004E788 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 04F38C 8004E78C AC20D528 */ sw $zero, %lo(gCurrentCarInput)($at) /* 04F390 8004E790 3C018012 */ lui $at, %hi(gActivePlayerButtonPress) # $at, 0x8012 /* 04F394 8004E794 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 04F398 8004E798 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 @@ -770,8 +770,8 @@ glabel func_8004DE38 /* 04F4F4 8004E8F4 AC20D534 */ sw $zero, %lo(D_8011D534)($at) /* 04F4F8 8004E8F8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 /* 04F4FC 8004E8FC AC20D538 */ sw $zero, %lo(D_8011D538)($at) -/* 04F500 8004E900 3C018012 */ lui $at, %hi(D_8011D528) # $at, 0x8012 -/* 04F504 8004E904 AC20D528 */ sw $zero, %lo(D_8011D528)($at) +/* 04F500 8004E900 3C018012 */ lui $at, %hi(gCurrentCarInput) # $at, 0x8012 +/* 04F504 8004E904 AC20D528 */ sw $zero, %lo(gCurrentCarInput)($at) .L8004E908: /* 04F508 8004E908 1460001C */ bnez $v1, .L8004E97C /* 04F50C 8004E90C 00000000 */ nop @@ -985,12 +985,12 @@ glabel L8004EBF4 /* 04F808 8004EC08 10000060 */ b .L8004ED8C /* 04F80C 8004EC0C 820A0175 */ lb $t2, 0x175($s0) glabel L8004EC10 -/* 04F810 8004EC10 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 04F810 8004EC10 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 /* 04F814 8004EC14 3C0D8012 */ lui $t5, %hi(gActivePlayerButtonPress) # $t5, 0x8012 /* 04F818 8004EC18 3C0C8012 */ lui $t4, %hi(D_8011D540) # $t4, 0x8012 /* 04F81C 8004EC1C 258CD540 */ addiu $t4, %lo(D_8011D540) # addiu $t4, $t4, -0x2ac0 /* 04F820 8004EC20 25ADD52C */ addiu $t5, %lo(gActivePlayerButtonPress) # addiu $t5, $t5, -0x2ad4 -/* 04F824 8004EC24 256BD528 */ addiu $t3, %lo(D_8011D528) # addiu $t3, $t3, -0x2ad8 +/* 04F824 8004EC24 256BD528 */ addiu $t3, %lo(gCurrentCarInput) # addiu $t3, $t3, -0x2ad8 /* 04F828 8004EC28 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F82C 8004EC2C 8FA5009C */ lw $a1, 0x9c($sp) /* 04F830 8004EC30 AFAB0010 */ sw $t3, 0x10($sp) @@ -1002,12 +1002,12 @@ glabel L8004EC10 /* 04F848 8004EC48 10000050 */ b .L8004ED8C /* 04F84C 8004EC4C 820A0175 */ lb $t2, 0x175($s0) glabel L8004EC50 -/* 04F850 8004EC50 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 +/* 04F850 8004EC50 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 /* 04F854 8004EC54 3C0F8012 */ lui $t7, %hi(gActivePlayerButtonPress) # $t7, 0x8012 /* 04F858 8004EC58 3C088012 */ lui $t0, %hi(D_8011D540) # $t0, 0x8012 /* 04F85C 8004EC5C 2508D540 */ addiu $t0, %lo(D_8011D540) # addiu $t0, $t0, -0x2ac0 /* 04F860 8004EC60 25EFD52C */ addiu $t7, %lo(gActivePlayerButtonPress) # addiu $t7, $t7, -0x2ad4 -/* 04F864 8004EC64 25CED528 */ addiu $t6, %lo(D_8011D528) # addiu $t6, $t6, -0x2ad8 +/* 04F864 8004EC64 25CED528 */ addiu $t6, %lo(gCurrentCarInput) # addiu $t6, $t6, -0x2ad8 /* 04F868 8004EC68 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F86C 8004EC6C 8FA5009C */ lw $a1, 0x9c($sp) /* 04F870 8004EC70 AFAE0010 */ sw $t6, 0x10($sp) @@ -1019,12 +1019,12 @@ glabel L8004EC50 /* 04F888 8004EC88 10000040 */ b .L8004ED8C /* 04F88C 8004EC8C 820A0175 */ lb $t2, 0x175($s0) glabel L8004EC90 -/* 04F890 8004EC90 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 +/* 04F890 8004EC90 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 /* 04F894 8004EC94 3C198012 */ lui $t9, %hi(D_8011D534) # $t9, 0x8012 /* 04F898 8004EC98 3C0A8012 */ lui $t2, %hi(D_8011D540) # $t2, 0x8012 /* 04F89C 8004EC9C 254AD540 */ addiu $t2, %lo(D_8011D540) # addiu $t2, $t2, -0x2ac0 /* 04F8A0 8004ECA0 2739D534 */ addiu $t9, %lo(D_8011D534) # addiu $t9, $t9, -0x2acc -/* 04F8A4 8004ECA4 2718D528 */ addiu $t8, %lo(D_8011D528) # addiu $t8, $t8, -0x2ad8 +/* 04F8A4 8004ECA4 2718D528 */ addiu $t8, %lo(gCurrentCarInput) # addiu $t8, $t8, -0x2ad8 /* 04F8A8 8004ECA8 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F8AC 8004ECAC 8FA5009C */ lw $a1, 0x9c($sp) /* 04F8B0 8004ECB0 AFB80010 */ sw $t8, 0x10($sp) @@ -1036,12 +1036,12 @@ glabel L8004EC90 /* 04F8C8 8004ECC8 10000030 */ b .L8004ED8C /* 04F8CC 8004ECCC 820A0175 */ lb $t2, 0x175($s0) glabel L8004ECD0 -/* 04F8D0 8004ECD0 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 +/* 04F8D0 8004ECD0 3C098012 */ lui $t1, %hi(gCurrentCarInput) # $t1, 0x8012 /* 04F8D4 8004ECD4 3C0B8012 */ lui $t3, %hi(gActivePlayerButtonPress) # $t3, 0x8012 /* 04F8D8 8004ECD8 3C0D8012 */ lui $t5, %hi(D_8011D540) # $t5, 0x8012 /* 04F8DC 8004ECDC 25ADD540 */ addiu $t5, %lo(D_8011D540) # addiu $t5, $t5, -0x2ac0 /* 04F8E0 8004ECE0 256BD52C */ addiu $t3, %lo(gActivePlayerButtonPress) # addiu $t3, $t3, -0x2ad4 -/* 04F8E4 8004ECE4 2529D528 */ addiu $t1, %lo(D_8011D528) # addiu $t1, $t1, -0x2ad8 +/* 04F8E4 8004ECE4 2529D528 */ addiu $t1, %lo(gCurrentCarInput) # addiu $t1, $t1, -0x2ad8 /* 04F8E8 8004ECE8 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F8EC 8004ECEC 8FA5009C */ lw $a1, 0x9c($sp) /* 04F8F0 8004ECF0 AFA90010 */ sw $t1, 0x10($sp) @@ -1053,12 +1053,12 @@ glabel L8004ECD0 /* 04F908 8004ED08 10000020 */ b .L8004ED8C /* 04F90C 8004ED0C 820A0175 */ lb $t2, 0x175($s0) glabel L8004ED10 -/* 04F910 8004ED10 3C0C8012 */ lui $t4, %hi(D_8011D528) # $t4, 0x8012 +/* 04F910 8004ED10 3C0C8012 */ lui $t4, %hi(gCurrentCarInput) # $t4, 0x8012 /* 04F914 8004ED14 3C0E8012 */ lui $t6, %hi(gActivePlayerButtonPress) # $t6, 0x8012 /* 04F918 8004ED18 3C0F8012 */ lui $t7, %hi(D_8011D540) # $t7, 0x8012 /* 04F91C 8004ED1C 25EFD540 */ addiu $t7, %lo(D_8011D540) # addiu $t7, $t7, -0x2ac0 /* 04F920 8004ED20 25CED52C */ addiu $t6, %lo(gActivePlayerButtonPress) # addiu $t6, $t6, -0x2ad4 -/* 04F924 8004ED24 258CD528 */ addiu $t4, %lo(D_8011D528) # addiu $t4, $t4, -0x2ad8 +/* 04F924 8004ED24 258CD528 */ addiu $t4, %lo(gCurrentCarInput) # addiu $t4, $t4, -0x2ad8 /* 04F928 8004ED28 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F92C 8004ED2C 8FA5009C */ lw $a1, 0x9c($sp) /* 04F930 8004ED30 AFAC0010 */ sw $t4, 0x10($sp) @@ -1070,12 +1070,12 @@ glabel L8004ED10 /* 04F948 8004ED48 10000010 */ b .L8004ED8C /* 04F94C 8004ED4C 820A0175 */ lb $t2, 0x175($s0) glabel L8004ED50 -/* 04F950 8004ED50 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 04F950 8004ED50 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 04F954 8004ED54 3C188012 */ lui $t8, %hi(gActivePlayerButtonPress) # $t8, 0x8012 /* 04F958 8004ED58 3C198012 */ lui $t9, %hi(D_8011D540) # $t9, 0x8012 /* 04F95C 8004ED5C 2739D540 */ addiu $t9, %lo(D_8011D540) # addiu $t9, $t9, -0x2ac0 /* 04F960 8004ED60 2718D52C */ addiu $t8, %lo(gActivePlayerButtonPress) # addiu $t8, $t8, -0x2ad4 -/* 04F964 8004ED64 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 04F964 8004ED64 2508D528 */ addiu $t0, %lo(gCurrentCarInput) # addiu $t0, $t0, -0x2ad8 /* 04F968 8004ED68 8FA400B4 */ lw $a0, 0xb4($sp) /* 04F96C 8004ED6C 8FA5009C */ lw $a1, 0x9c($sp) /* 04F970 8004ED70 AFA80010 */ sw $t0, 0x10($sp) @@ -1131,8 +1131,8 @@ glabel L8004ED88 /* 04FA20 8004EE20 10400007 */ beqz $v0, .L8004EE40 .L8004EE24: /* 04FA24 8004EE24 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 -/* 04FA28 8004EE28 3C068012 */ lui $a2, %hi(D_8011D528) # $a2, 0x8012 -/* 04FA2C 8004EE2C 8CC6D528 */ lw $a2, %lo(D_8011D528)($a2) +/* 04FA28 8004EE28 3C068012 */ lui $a2, %hi(gCurrentCarInput) # $a2, 0x8012 +/* 04FA2C 8004EE2C 8CC6D528 */ lw $a2, %lo(gCurrentCarInput)($a2) /* 04FA30 8004EE30 8CA5D52C */ lw $a1, %lo(gActivePlayerButtonPress)($a1) /* 04FA34 8004EE34 8FA700B4 */ lw $a3, 0xb4($sp) /* 04FA38 8004EE38 0C001434 */ jal func_800050D0 diff --git a/asm/non_matchings/racer/func_8004F7F4.s b/asm/non_matchings/racer/func_8004F7F4.s index 56b8d0d4..fe13d6f4 100644 --- a/asm/non_matchings/racer/func_8004F7F4.s +++ b/asm/non_matchings/racer/func_8004F7F4.s @@ -27,8 +27,8 @@ glabel func_8004F7F4 /* 050414 8004F814 00E08025 */ move $s0, $a3 /* 050418 8004F818 11C00008 */ beqz $t6, .L8004F83C /* 05041C 8004F81C 00C08825 */ move $s1, $a2 -/* 050420 8004F820 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 -/* 050424 8004F824 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 +/* 050420 8004F820 3C048012 */ lui $a0, %hi(gCurrentCarInput) # $a0, 0x8012 +/* 050424 8004F824 2484D528 */ addiu $a0, %lo(gCurrentCarInput) # addiu $a0, $a0, -0x2ad8 /* 050428 8004F828 8C8F0000 */ lw $t7, ($a0) /* 05042C 8004F82C 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff /* 050430 8004F830 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff @@ -37,10 +37,10 @@ glabel func_8004F7F4 .L8004F83C: /* 05043C 8004F83C 3C198012 */ lui $t9, %hi(D_8011D55C) # $t9, 0x8012 /* 050440 8004F840 8F39D55C */ lw $t9, %lo(D_8011D55C)($t9) -/* 050444 8004F844 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 050444 8004F844 3C048012 */ lui $a0, %hi(gCurrentCarInput) # $a0, 0x8012 /* 050448 8004F848 2401FFFF */ li $at, -1 /* 05044C 8004F84C 13210005 */ beq $t9, $at, .L8004F864 -/* 050450 8004F850 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 +/* 050450 8004F850 2484D528 */ addiu $a0, %lo(gCurrentCarInput) # addiu $a0, $a0, -0x2ad8 /* 050454 8004F854 820801D8 */ lb $t0, 0x1d8($s0) /* 050458 8004F858 00003025 */ move $a2, $zero /* 05045C 8004F85C 11000008 */ beqz $t0, .L8004F880 @@ -100,7 +100,7 @@ glabel func_8004F7F4 /* 050520 8004F920 AE280074 */ sw $t0, 0x74($s1) /* 050524 8004F924 8FA500C0 */ lw $a1, 0xc0($sp) .L8004F928: -/* 050528 8004F928 0C014214 */ jal func_80050850 +/* 050528 8004F928 0C014214 */ jal apply_vehicle_rotation_offset /* 05052C 8004F92C AFA30010 */ sw $v1, 0x10($sp) /* 050530 8004F930 8FA600C4 */ lw $a2, 0xc4($sp) /* 050534 8004F934 02202025 */ move $a0, $s1 @@ -112,8 +112,8 @@ glabel func_8004F7F4 /* 05054C 8004F94C 02002825 */ move $a1, $s0 /* 050550 8004F950 3C018012 */ lui $at, %hi(D_8011D550) # $at, 0x8012 /* 050554 8004F954 A420D550 */ sh $zero, %lo(D_8011D550)($at) -/* 050558 8004F958 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 -/* 05055C 8004F95C AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 050558 8004F958 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 +/* 05055C 8004F95C AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) /* 050560 8004F960 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 /* 050564 8004F964 AC20D558 */ sw $zero, %lo(D_8011D558)($at) /* 050568 8004F968 C624000C */ lwc1 $f4, 0xc($s1) @@ -257,7 +257,7 @@ glabel func_8004F7F4 /* 050758 8004FB58 02202025 */ move $a0, $s1 /* 05075C 8004FB5C 0C014D71 */ jal func_800535C4 /* 050760 8004FB60 02002825 */ move $a1, $s0 -/* 050764 8004FB64 0C014D99 */ jal func_80053664 +/* 050764 8004FB64 0C014D99 */ jal handle_car_velocity_control /* 050768 8004FB68 02002025 */ move $a0, $s0 /* 05076C 8004FB6C 8FA600C0 */ lw $a2, 0xc0($sp) /* 050770 8004FB70 02202025 */ move $a0, $s1 @@ -456,8 +456,8 @@ glabel func_8004F7F4 /* 050A38 8004FE38 02002825 */ move $a1, $s0 .L8004FE3C: /* 050A3C 8004FE3C 860501A2 */ lh $a1, 0x1a2($s0) -/* 050A40 8004FE40 3C188012 */ lui $t8, %hi(D_8011D554) # $t8, 0x8012 -/* 050A44 8004FE44 8F18D554 */ lw $t8, %lo(D_8011D554)($t8) +/* 050A40 8004FE40 3C188012 */ lui $t8, %hi(gCurrentCarSteerVel) # $t8, 0x8012 +/* 050A44 8004FE44 8F18D554 */ lw $t8, %lo(gCurrentCarSteerVel)($t8) /* 050A48 8004FE48 30B9FFFF */ andi $t9, $a1, 0xffff /* 050A4C 8004FE4C 34018001 */ li $at, 32769 /* 050A50 8004FE50 03191823 */ subu $v1, $t8, $t9 diff --git a/asm/non_matchings/racer/func_80050850.s b/asm/non_matchings/racer/func_80050850.s deleted file mode 100644 index 9c2d37b6..00000000 --- a/asm/non_matchings/racer/func_80050850.s +++ /dev/null @@ -1,139 +0,0 @@ -glabel func_80050850 -/* 051450 80050850 AFA60008 */ sw $a2, 8($sp) -/* 051454 80050854 AFA7000C */ sw $a3, 0xc($sp) -/* 051458 80050858 908C01F1 */ lbu $t4, 0x1f1($a0) -/* 05145C 8005085C 0007C400 */ sll $t8, $a3, 0x10 -/* 051460 80050860 0018CC03 */ sra $t9, $t8, 0x10 -/* 051464 80050864 00067400 */ sll $t6, $a2, 0x10 -/* 051468 80050868 000E7C03 */ sra $t7, $t6, 0x10 -/* 05146C 8005086C 1580006C */ bnez $t4, .L80050A20 -/* 051470 80050870 03203825 */ move $a3, $t9 -/* 051474 80050874 84830160 */ lh $v1, 0x160($a0) -/* 051478 80050878 34088001 */ li $t0, 32769 -/* 05147C 8005087C 306DFFFF */ andi $t5, $v1, 0xffff -/* 051480 80050880 01ED1023 */ subu $v0, $t7, $t5 -/* 051484 80050884 0048082A */ slt $at, $v0, $t0 -/* 051488 80050888 14200004 */ bnez $at, .L8005089C -/* 05148C 8005088C A4990166 */ sh $t9, 0x166($a0) -/* 051490 80050890 3C09FFFF */ lui $t1, (0xFFFF0001 >> 16) # lui $t1, 0xffff -/* 051494 80050894 35290001 */ ori $t1, (0xFFFF0001 & 0xFFFF) # ori $t1, $t1, 1 -/* 051498 80050898 00491021 */ addu $v0, $v0, $t1 -.L8005089C: -/* 05149C 8005089C 3C09FFFF */ lui $t1, (0xFFFF0001 >> 16) # lui $t1, 0xffff -/* 0514A0 800508A0 28418000 */ slti $at, $v0, -0x8000 -/* 0514A4 800508A4 10200003 */ beqz $at, .L800508B4 -/* 0514A8 800508A8 35290001 */ ori $t1, (0xFFFF0001 & 0xFFFF) # ori $t1, $t1, 1 -/* 0514AC 800508AC 340AFFFF */ li $t2, 65535 -/* 0514B0 800508B0 004A1021 */ addu $v0, $v0, $t2 -.L800508B4: -/* 0514B4 800508B4 1840000B */ blez $v0, .L800508E4 -/* 0514B8 800508B8 340AFFFF */ li $t2, 65535 -/* 0514BC 800508BC 240B0600 */ li $t3, 1536 -/* 0514C0 800508C0 00AB0019 */ multu $a1, $t3 -/* 0514C4 800508C4 00003012 */ mflo $a2 -/* 0514C8 800508C8 00C2082A */ slt $at, $a2, $v0 -/* 0514CC 800508CC 10200003 */ beqz $at, .L800508DC -/* 0514D0 800508D0 00627021 */ addu $t6, $v1, $v0 -/* 0514D4 800508D4 00C01025 */ move $v0, $a2 -/* 0514D8 800508D8 00627021 */ addu $t6, $v1, $v0 -.L800508DC: -/* 0514DC 800508DC 1000000C */ b .L80050910 -/* 0514E0 800508E0 A48E0160 */ sh $t6, 0x160($a0) -.L800508E4: -/* 0514E4 800508E4 0441000A */ bgez $v0, .L80050910 -/* 0514E8 800508E8 240B0600 */ li $t3, 1536 -/* 0514EC 800508EC 00AB0019 */ multu $a1, $t3 -/* 0514F0 800508F0 00003012 */ mflo $a2 -/* 0514F4 800508F4 00063023 */ negu $a2, $a2 -/* 0514F8 800508F8 0046082A */ slt $at, $v0, $a2 -/* 0514FC 800508FC 10200003 */ beqz $at, .L8005090C -/* 051500 80050900 00627821 */ addu $t7, $v1, $v0 -/* 051504 80050904 00C01025 */ move $v0, $a2 -/* 051508 80050908 00627821 */ addu $t7, $v1, $v0 -.L8005090C: -/* 05150C 8005090C A48F0160 */ sh $t7, 0x160($a0) -.L80050910: -/* 051510 80050910 84830162 */ lh $v1, 0x162($a0) -/* 051514 80050914 240B0600 */ li $t3, 1536 -/* 051518 80050918 3078FFFF */ andi $t8, $v1, 0xffff -/* 05151C 8005091C 00F81023 */ subu $v0, $a3, $t8 -/* 051520 80050920 0048082A */ slt $at, $v0, $t0 -/* 051524 80050924 14200003 */ bnez $at, .L80050934 -/* 051528 80050928 28418000 */ slti $at, $v0, -0x8000 -/* 05152C 8005092C 00491021 */ addu $v0, $v0, $t1 -/* 051530 80050930 28418000 */ slti $at, $v0, -0x8000 -.L80050934: -/* 051534 80050934 10200002 */ beqz $at, .L80050940 -/* 051538 80050938 00000000 */ nop -/* 05153C 8005093C 004A1021 */ addu $v0, $v0, $t2 -.L80050940: -/* 051540 80050940 1840000A */ blez $v0, .L8005096C -/* 051544 80050944 00000000 */ nop -/* 051548 80050948 00AB0019 */ multu $a1, $t3 -/* 05154C 8005094C 00003012 */ mflo $a2 -/* 051550 80050950 00C2082A */ slt $at, $a2, $v0 -/* 051554 80050954 10200003 */ beqz $at, .L80050964 -/* 051558 80050958 0062C821 */ addu $t9, $v1, $v0 -/* 05155C 8005095C 00C01025 */ move $v0, $a2 -/* 051560 80050960 0062C821 */ addu $t9, $v1, $v0 -.L80050964: -/* 051564 80050964 1000000C */ b .L80050998 -/* 051568 80050968 A4990162 */ sh $t9, 0x162($a0) -.L8005096C: -/* 05156C 8005096C 0441000A */ bgez $v0, .L80050998 -/* 051570 80050970 00000000 */ nop -/* 051574 80050974 00AB0019 */ multu $a1, $t3 -/* 051578 80050978 00003012 */ mflo $a2 -/* 05157C 8005097C 00063023 */ negu $a2, $a2 -/* 051580 80050980 0046082A */ slt $at, $v0, $a2 -/* 051584 80050984 10200003 */ beqz $at, .L80050994 -/* 051588 80050988 00626021 */ addu $t4, $v1, $v0 -/* 05158C 8005098C 00C01025 */ move $v0, $a2 -/* 051590 80050990 00626021 */ addu $t4, $v1, $v0 -.L80050994: -/* 051594 80050994 A48C0162 */ sh $t4, 0x162($a0) -.L80050998: -/* 051598 80050998 84830164 */ lh $v1, 0x164($a0) -/* 05159C 8005099C 87AD0012 */ lh $t5, 0x12($sp) -/* 0515A0 800509A0 306EFFFF */ andi $t6, $v1, 0xffff -/* 0515A4 800509A4 01AE1023 */ subu $v0, $t5, $t6 -/* 0515A8 800509A8 0048082A */ slt $at, $v0, $t0 -/* 0515AC 800509AC 14200003 */ bnez $at, .L800509BC -/* 0515B0 800509B0 28418000 */ slti $at, $v0, -0x8000 -/* 0515B4 800509B4 00491021 */ addu $v0, $v0, $t1 -/* 0515B8 800509B8 28418000 */ slti $at, $v0, -0x8000 -.L800509BC: -/* 0515BC 800509BC 10200002 */ beqz $at, .L800509C8 -/* 0515C0 800509C0 00000000 */ nop -/* 0515C4 800509C4 004A1021 */ addu $v0, $v0, $t2 -.L800509C8: -/* 0515C8 800509C8 1840000A */ blez $v0, .L800509F4 -/* 0515CC 800509CC 00000000 */ nop -/* 0515D0 800509D0 00AB0019 */ multu $a1, $t3 -/* 0515D4 800509D4 00003012 */ mflo $a2 -/* 0515D8 800509D8 00C2082A */ slt $at, $a2, $v0 -/* 0515DC 800509DC 10200003 */ beqz $at, .L800509EC -/* 0515E0 800509E0 00627821 */ addu $t7, $v1, $v0 -/* 0515E4 800509E4 00C01025 */ move $v0, $a2 -/* 0515E8 800509E8 00627821 */ addu $t7, $v1, $v0 -.L800509EC: -/* 0515EC 800509EC 03E00008 */ jr $ra -/* 0515F0 800509F0 A48F0164 */ sh $t7, 0x164($a0) - -.L800509F4: -/* 0515F4 800509F4 0441000A */ bgez $v0, .L80050A20 -/* 0515F8 800509F8 00000000 */ nop -/* 0515FC 800509FC 00AB0019 */ multu $a1, $t3 -/* 051600 80050A00 00003012 */ mflo $a2 -/* 051604 80050A04 00063023 */ negu $a2, $a2 -/* 051608 80050A08 0046082A */ slt $at, $v0, $a2 -/* 05160C 80050A0C 10200003 */ beqz $at, .L80050A1C -/* 051610 80050A10 0062C021 */ addu $t8, $v1, $v0 -/* 051614 80050A14 00C01025 */ move $v0, $a2 -/* 051618 80050A18 0062C021 */ addu $t8, $v1, $v0 -.L80050A1C: -/* 05161C 80050A1C A4980164 */ sh $t8, 0x164($a0) -.L80050A20: -/* 051620 80050A20 03E00008 */ jr $ra -/* 051624 80050A24 00000000 */ nop - diff --git a/asm/non_matchings/racer/func_80050A28.s b/asm/non_matchings/racer/func_80050A28.s index 6857fb56..90dfc3a0 100644 --- a/asm/non_matchings/racer/func_80050A28.s +++ b/asm/non_matchings/racer/func_80050A28.s @@ -66,9 +66,9 @@ glabel func_80050A28 /* 051678 80050A78 E60E0088 */ swc1 $f14, 0x88($s0) /* 05167C 80050A7C 3C0E8012 */ lui $t6, %hi(D_8011D586) # $t6, 0x8012 /* 051680 80050A80 85CED586 */ lh $t6, %lo(D_8011D586)($t6) -/* 051684 80050A84 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051684 80050A84 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 051688 80050A88 15C00041 */ bnez $t6, .L80050B90 -/* 05168C 80050A8C 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 05168C 80050A8C 2508D528 */ addiu $t0, %lo(gCurrentCarInput) # addiu $t0, $t0, -0x2ad8 /* 051690 80050A90 820F01E7 */ lb $t7, 0x1e7($s0) /* 051694 80050A94 3C19800E */ lui $t9, %hi(D_800DCDB0) # $t9, 0x800e /* 051698 80050A98 31F8001F */ andi $t8, $t7, 0x1f @@ -160,8 +160,8 @@ glabel func_80050A28 /* 0517DC 80050BDC 10000008 */ b .L80050C00 /* 0517E0 80050BE0 A20001FB */ sb $zero, 0x1fb($s0) .L80050BE4: -/* 0517E4 80050BE4 3C188012 */ lui $t8, %hi(D_8011D528) # $t8, 0x8012 -/* 0517E8 80050BE8 8F18D528 */ lw $t8, %lo(D_8011D528)($t8) +/* 0517E4 80050BE4 3C188012 */ lui $t8, %hi(gCurrentCarInput) # $t8, 0x8012 +/* 0517E8 80050BE8 8F18D528 */ lw $t8, %lo(gCurrentCarInput)($t8) /* 0517EC 80050BEC 00000000 */ nop /* 0517F0 80050BF0 33198000 */ andi $t9, $t8, 0x8000 /* 0517F4 80050BF4 17200002 */ bnez $t9, .L80050C00 @@ -169,9 +169,9 @@ glabel func_80050A28 /* 0517FC 80050BFC A20001FB */ sb $zero, 0x1fb($s0) .L80050C00: /* 051800 80050C00 820201FB */ lb $v0, 0x1fb($s0) -/* 051804 80050C04 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051804 80050C04 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 051808 80050C08 18400006 */ blez $v0, .L80050C24 -/* 05180C 80050C0C 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 05180C 80050C0C 2508D528 */ addiu $t0, %lo(gCurrentCarInput) # addiu $t0, $t0, -0x2ad8 /* 051810 80050C10 8FAA0080 */ lw $t2, 0x80($sp) /* 051814 80050C14 00000000 */ nop /* 051818 80050C18 004A5823 */ subu $t3, $v0, $t2 @@ -206,9 +206,9 @@ glabel func_80050A28 /* 051884 80050C84 86040000 */ lh $a0, ($s0) /* 051888 80050C88 0C01C8D2 */ jal func_80072348 /* 05188C 80050C8C AFA70078 */ sw $a3, 0x78($sp) -/* 051890 80050C90 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051890 80050C90 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 051894 80050C94 8FA70078 */ lw $a3, 0x78($sp) -/* 051898 80050C98 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 051898 80050C98 2508D528 */ addiu $t0, %lo(gCurrentCarInput) # addiu $t0, $t0, -0x2ad8 .L80050C9C: /* 05189C 80050C9C 3C0E8012 */ lui $t6, %hi(D_8011D55C) # $t6, 0x8012 /* 0518A0 80050CA0 8DCED55C */ lw $t6, %lo(D_8011D55C)($t6) @@ -256,9 +256,9 @@ glabel func_80050A28 /* 051938 80050D38 0C01BE53 */ jal get_random_number_from_range /* 05193C 80050D3C AFA70078 */ sw $a3, 0x78($sp) /* 051940 80050D40 A20201D1 */ sb $v0, 0x1d1($s0) -/* 051944 80050D44 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 051944 80050D44 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 051948 80050D48 8FA70078 */ lw $a3, 0x78($sp) -/* 05194C 80050D4C 2508D528 */ addiu $t0, %lo(D_8011D528) # addiu $t0, $t0, -0x2ad8 +/* 05194C 80050D4C 2508D528 */ addiu $t0, %lo(gCurrentCarInput) # addiu $t0, $t0, -0x2ad8 .L80050D50: /* 051950 80050D50 3C098012 */ lui $t1, %hi(D_8011D534) # $t1, 0x8012 /* 051954 80050D54 2529D534 */ addiu $t1, %lo(D_8011D534) # addiu $t1, $t1, -0x2acc @@ -456,8 +456,8 @@ glabel func_80050A28 .L80051014: /* 051C14 80051014 0C015C88 */ jal func_80057220 /* 051C18 80051018 AFA70078 */ sw $a3, 0x78($sp) -/* 051C1C 8005101C 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 -/* 051C20 80051020 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 051C1C 8005101C 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 +/* 051C20 80051020 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) /* 051C24 80051024 E7A00034 */ swc1 $f0, 0x34($sp) /* 051C28 80051028 31F80010 */ andi $t8, $t7, 0x10 /* 051C2C 8005102C 13000019 */ beqz $t8, .L80051094 @@ -617,8 +617,8 @@ glabel func_80050A28 /* 051E54 80051254 0C001223 */ jal func_8000488C /* 051E58 80051258 00402025 */ move $a0, $v0 .L8005125C: -/* 051E5C 8005125C 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 -/* 051E60 80051260 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 051E5C 8005125C 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 +/* 051E60 80051260 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 051E64 80051264 820301E1 */ lb $v1, 0x1e1($s0) /* 051E68 80051268 30584000 */ andi $t8, $v0, 0x4000 /* 051E6C 8005126C 24060006 */ li $a2, 6 @@ -680,7 +680,7 @@ glabel func_80050A28 /* 051F3C 8005133C 440F4000 */ mfc1 $t7, $f8 /* 051F40 80051340 44CDF800 */ ctc1 $t5, $31 /* 051F44 80051344 01CFC023 */ subu $t8, $t6, $t7 -/* 051F48 80051348 0C014D1E */ jal func_80053478 +/* 051F48 80051348 0C014D1E */ jal handle_car_steering /* 051F4C 8005134C A61801A0 */ sh $t8, 0x1a0($s0) /* 051F50 80051350 C606002C */ lwc1 $f6, 0x2c($s0) /* 051F54 80051354 3C01C010 */ li $at, 0xC0100000 # -2.250000 @@ -691,8 +691,8 @@ glabel func_80050A28 /* 051F68 80051368 44807000 */ mtc1 $zero, $f14 /* 051F6C 8005136C 45000032 */ bc1f .L80051438 /* 051F70 80051370 00004825 */ move $t1, $zero -/* 051F74 80051374 3C028012 */ lui $v0, %hi(D_8011D554) # $v0, 0x8012 -/* 051F78 80051378 8C42D554 */ lw $v0, %lo(D_8011D554)($v0) +/* 051F74 80051374 3C028012 */ lui $v0, %hi(gCurrentCarSteerVel) # $v0, 0x8012 +/* 051F78 80051378 8C42D554 */ lw $v0, %lo(gCurrentCarSteerVel)($v0) /* 051F7C 8005137C 00000000 */ nop /* 051F80 80051380 28411401 */ slti $at, $v0, 0x1401 /* 051F84 80051384 10200007 */ beqz $at, .L800513A4 @@ -718,9 +718,9 @@ glabel func_80050A28 /* 051FCC 800513CC 0326C821 */ addu $t9, $t9, $a2 /* 051FD0 800513D0 0019C900 */ sll $t9, $t9, 4 /* 051FD4 800513D4 00596021 */ addu $t4, $v0, $t9 -/* 051FD8 800513D8 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 051FD8 800513D8 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 /* 051FDC 800513DC 10000016 */ b .L80051438 -/* 051FE0 800513E0 AC2CD554 */ sw $t4, %lo(D_8011D554)($at) +/* 051FE0 800513E0 AC2CD554 */ sw $t4, %lo(gCurrentCarSteerVel)($at) .L800513E4: /* 051FE4 800513E4 14200005 */ bnez $at, .L800513FC /* 051FE8 800513E8 00000000 */ nop @@ -743,8 +743,8 @@ glabel func_80050A28 /* 052024 80051424 01E67821 */ addu $t7, $t7, $a2 /* 052028 80051428 000F7900 */ sll $t7, $t7, 4 /* 05202C 8005142C 004FC023 */ subu $t8, $v0, $t7 -/* 052030 80051430 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 -/* 052034 80051434 AC38D554 */ sw $t8, %lo(D_8011D554)($at) +/* 052030 80051430 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 +/* 052034 80051434 AC38D554 */ sw $t8, %lo(gCurrentCarSteerVel)($at) .L80051438: /* 052038 80051438 44808000 */ mtc1 $zero, $f16 /* 05203C 8005143C 44801000 */ mtc1 $zero, $f2 @@ -767,7 +767,7 @@ glabel func_80050A28 /* 05207C 8005147C E7B00040 */ swc1 $f16, 0x40($sp) /* 052080 80051480 8FA50028 */ lw $a1, 0x28($sp) /* 052084 80051484 8FA60070 */ lw $a2, 0x70($sp) -/* 052088 80051488 3C07800E */ lui $a3, %hi(D_800DCB9C) # $a3, 0x800e +/* 052088 80051488 3C07800E */ lui $a3, %hi(gSurfaceTractionTable) # $a3, 0x800e /* 05208C 8005148C 83A80057 */ lb $t0, 0x57($sp) /* 052090 80051490 8FA90064 */ lw $t1, 0x64($sp) /* 052094 80051494 C7A20048 */ lwc1 $f2, 0x48($sp) @@ -775,7 +775,7 @@ glabel func_80050A28 /* 05209C 8005149C C7B00040 */ lwc1 $f16, 0x40($sp) /* 0520A0 800514A0 00025A00 */ sll $t3, $v0, 8 /* 0520A4 800514A4 05610006 */ bgez $t3, .L800514C0 -/* 0520A8 800514A8 24E7CB9C */ addiu $a3, %lo(D_800DCB9C) # addiu $a3, $a3, -0x3464 +/* 0520A8 800514A8 24E7CB9C */ addiu $a3, %lo(gSurfaceTractionTable) # addiu $a3, $a3, -0x3464 /* 0520AC 800514AC C4E40000 */ lwc1 $f4, ($a3) /* 0520B0 800514B0 90A201DC */ lbu $v0, 0x1dc($a1) /* 0520B4 800514B4 46047380 */ add.s $f14, $f14, $f4 @@ -959,7 +959,7 @@ glabel func_80050A28 /* 052354 80051754 44804000 */ mtc1 $zero, $f8 /* 052358 80051758 46203287 */ neg.d $f10, $f6 /* 05235C 8005175C 46205020 */ cvt.s.d $f0, $f10 -/* 052360 80051760 3C0F8012 */ lui $t7, %hi(D_8011D554) # $t7, 0x8012 +/* 052360 80051760 3C0F8012 */ lui $t7, %hi(gCurrentCarSteerVel) # $t7, 0x8012 /* 052364 80051764 46000321 */ cvt.d.s $f12, $f0 /* 052368 80051768 4628603C */ c.lt.d $f12, $f8 /* 05236C 8005176C 00000000 */ nop @@ -969,7 +969,7 @@ glabel func_80050A28 /* 05237C 8005177C 00000000 */ nop /* 052380 80051780 46000321 */ cvt.d.s $f12, $f0 .L80051784: -/* 052384 80051784 8DEFD554 */ lw $t7, %lo(D_8011D554)($t7) +/* 052384 80051784 8DEFD554 */ lw $t7, %lo(gCurrentCarSteerVel)($t7) /* 052388 80051788 44804000 */ mtc1 $zero, $f8 /* 05238C 8005178C 448F2000 */ mtc1 $t7, $f4 /* 052390 80051790 00000000 */ nop @@ -980,11 +980,11 @@ glabel func_80050A28 /* 0523A4 800517A4 37010003 */ ori $at, $t8, 3 /* 0523A8 800517A8 38210002 */ xori $at, $at, 2 /* 0523AC 800517AC 44C1F800 */ ctc1 $at, $31 -/* 0523B0 800517B0 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 0523B0 800517B0 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 /* 0523B4 800517B4 460032A4 */ cvt.w.s $f10, $f6 /* 0523B8 800517B8 440A5000 */ mfc1 $t2, $f10 /* 0523BC 800517BC 44D8F800 */ ctc1 $t8, $31 -/* 0523C0 800517C0 AC2AD554 */ sw $t2, %lo(D_8011D554)($at) +/* 0523C0 800517C0 AC2AD554 */ sw $t2, %lo(gCurrentCarSteerVel)($at) /* 0523C4 800517C4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 /* 0523C8 800517C8 44814800 */ mtc1 $at, $f9 /* 0523CC 800517CC 3C01800E */ lui $at, %hi(D_800E6670 + 4) # $at, 0x800e @@ -1095,8 +1095,8 @@ glabel func_80050A28 /* 05255C 8005195C 4612203C */ c.lt.s $f4, $f18 /* 052560 80051960 00000000 */ nop /* 052564 80051964 4500000F */ bc1f .L800519A4 -/* 052568 80051968 3C0A8012 */ lui $t2, %hi(D_8011D528) # $t2, 0x8012 -/* 05256C 8005196C 8D4AD528 */ lw $t2, %lo(D_8011D528)($t2) +/* 052568 80051968 3C0A8012 */ lui $t2, %hi(gCurrentCarInput) # $t2, 0x8012 +/* 05256C 8005196C 8D4AD528 */ lw $t2, %lo(gCurrentCarInput)($t2) /* 052570 80051970 00000000 */ nop /* 052574 80051974 314B8000 */ andi $t3, $t2, 0x8000 /* 052578 80051978 1560000A */ bnez $t3, .L800519A4 @@ -1410,7 +1410,7 @@ glabel func_80050A28 /* 0529F0 80051DF0 46228181 */ sub.d $f6, $f16, $f2 /* 0529F4 80051DF4 24010004 */ li $at, 4 /* 0529F8 80051DF8 46283282 */ mul.d $f10, $f6, $f8 -/* 0529FC 80051DFC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 0529FC 80051DFC 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 052A00 80051E00 15210007 */ bne $t1, $at, .L80051E20 /* 052A04 80051E04 46205020 */ cvt.s.d $f0, $f10 /* 052A08 80051E08 3C013FD0 */ li $at, 0x3FD00000 # 1.625000 @@ -1425,7 +1425,7 @@ glabel func_80050A28 /* 052A28 80051E28 2941FFE7 */ slti $at, $t2, -0x19 /* 052A2C 80051E2C 10200017 */ beqz $at, .L80051E8C /* 052A30 80051E30 00000000 */ nop -/* 052A34 80051E34 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 052A34 80051E34 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 052A38 80051E38 00000000 */ nop /* 052A3C 80051E3C 304B8000 */ andi $t3, $v0, 0x8000 /* 052A40 80051E40 15600012 */ bnez $t3, .L80051E8C @@ -1618,13 +1618,13 @@ glabel func_80050A28 /* 052D00 80052100 44803000 */ mtc1 $zero, $f6 /* 052D04 80052104 820E01E1 */ lb $t6, 0x1e1($s0) /* 052D08 80052108 46262202 */ mul.d $f8, $f4, $f6 -/* 052D0C 8005210C 3C0A8012 */ lui $t2, %hi(D_8011D554) # $t2, 0x8012 +/* 052D0C 8005210C 3C0A8012 */ lui $t2, %hi(gCurrentCarSteerVel) # $t2, 0x8012 /* 052D10 80052110 A20E01E8 */ sb $t6, 0x1e8($s0) /* 052D14 80052114 820B01E0 */ lb $t3, 0x1e0($s0) /* 052D18 80052118 46280281 */ sub.d $f10, $f0, $f8 /* 052D1C 8005211C 462054A0 */ cvt.s.d $f18, $f10 /* 052D20 80052120 E6120008 */ swc1 $f18, 8($s0) -/* 052D24 80052124 8D4AD554 */ lw $t2, %lo(D_8011D554)($t2) +/* 052D24 80052124 8D4AD554 */ lw $t2, %lo(gCurrentCarSteerVel)($t2) /* 052D28 80052128 11600013 */ beqz $t3, .L80052178 /* 052D2C 8005212C AE0A0110 */ sw $t2, 0x110($s0) /* 052D30 80052130 3C188012 */ lui $t8, %hi(D_8011D55C) # $t8, 0x8012 diff --git a/asm/non_matchings/racer/func_80052388.s b/asm/non_matchings/racer/func_80052388.s deleted file mode 100644 index a52fc1d4..00000000 --- a/asm/non_matchings/racer/func_80052388.s +++ /dev/null @@ -1,110 +0,0 @@ -glabel func_80052388 -/* 052F88 80052388 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 052F8C 8005238C AFBF0014 */ sw $ra, 0x14($sp) -/* 052F90 80052390 AFA70034 */ sw $a3, 0x34($sp) -/* 052F94 80052394 C486000C */ lwc1 $f6, 0xc($a0) -/* 052F98 80052398 C4C4000C */ lwc1 $f4, 0xc($a2) -/* 052F9C 8005239C C48A0014 */ lwc1 $f10, 0x14($a0) -/* 052FA0 800523A0 46062301 */ sub.s $f12, $f4, $f6 -/* 052FA4 800523A4 C4C80014 */ lwc1 $f8, 0x14($a2) -/* 052FA8 800523A8 460C6402 */ mul.s $f16, $f12, $f12 -/* 052FAC 800523AC 460A4381 */ sub.s $f14, $f8, $f10 -/* 052FB0 800523B0 C7A60034 */ lwc1 $f6, 0x34($sp) -/* 052FB4 800523B4 00001825 */ move $v1, $zero -/* 052FB8 800523B8 460E7482 */ mul.s $f18, $f14, $f14 -/* 052FBC 800523BC 46128100 */ add.s $f4, $f16, $f18 -/* 052FC0 800523C0 4606203C */ c.lt.s $f4, $f6 -/* 052FC4 800523C4 00000000 */ nop -/* 052FC8 800523C8 4500004D */ bc1f .L80052500 -/* 052FCC 800523CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 052FD0 800523D0 AFA40028 */ sw $a0, 0x28($sp) -/* 052FD4 800523D4 AFA5002C */ sw $a1, 0x2c($sp) -/* 052FD8 800523D8 AFA60030 */ sw $a2, 0x30($sp) -/* 052FDC 800523DC E7AC0020 */ swc1 $f12, 0x20($sp) -/* 052FE0 800523E0 0C01C1D4 */ jal func_80070750 -/* 052FE4 800523E4 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 052FE8 800523E8 8FA40028 */ lw $a0, 0x28($sp) -/* 052FEC 800523EC 34018000 */ li $at, 32768 -/* 052FF0 800523F0 848E0000 */ lh $t6, ($a0) -/* 052FF4 800523F4 8FA5002C */ lw $a1, 0x2c($sp) -/* 052FF8 800523F8 31CFFFFF */ andi $t7, $t6, 0xffff -/* 052FFC 800523FC 004F1823 */ subu $v1, $v0, $t7 -/* 053000 80052400 00611821 */ addu $v1, $v1, $at -/* 053004 80052404 34018001 */ li $at, 32769 -/* 053008 80052408 8FA60030 */ lw $a2, 0x30($sp) -/* 05300C 8005240C C7AC0020 */ lwc1 $f12, 0x20($sp) -/* 053010 80052410 C7AE001C */ lwc1 $f14, 0x1c($sp) -/* 053014 80052414 0061082A */ slt $at, $v1, $at -/* 053018 80052418 14200003 */ bnez $at, .L80052428 -/* 05301C 8005241C 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 053020 80052420 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 053024 80052424 00611821 */ addu $v1, $v1, $at -.L80052428: -/* 053028 80052428 28618000 */ slti $at, $v1, -0x8000 -/* 05302C 8005242C 10200002 */ beqz $at, .L80052438 -/* 053030 80052430 3401FFFF */ li $at, 65535 -/* 053034 80052434 00611821 */ addu $v1, $v1, $at -.L80052438: -/* 053038 80052438 28613001 */ slti $at, $v1, 0x3001 -/* 05303C 8005243C 14200003 */ bnez $at, .L8005244C -/* 053040 80052440 2861D000 */ slti $at, $v1, -0x3000 -/* 053044 80052444 24033000 */ li $v1, 12288 -/* 053048 80052448 2861D000 */ slti $at, $v1, -0x3000 -.L8005244C: -/* 05304C 8005244C 10200002 */ beqz $at, .L80052458 -/* 053050 80052450 00000000 */ nop -/* 053054 80052454 2403D000 */ li $v1, -12288 -.L80052458: -/* 053058 80052458 80B801E7 */ lb $t8, 0x1e7($a1) -/* 05305C 8005245C A4A3016C */ sh $v1, 0x16c($a1) -/* 053060 80052460 3319003F */ andi $t9, $t8, 0x3f -/* 053064 80052464 2B21001F */ slti $at, $t9, 0x1f -/* 053068 80052468 10200002 */ beqz $at, .L80052474 -/* 05306C 8005246C 00000000 */ nop -/* 053070 80052470 A4A0016C */ sh $zero, 0x16c($a1) -.L80052474: -/* 053074 80052474 8CC50064 */ lw $a1, 0x64($a2) -/* 053078 80052478 AFA40028 */ sw $a0, 0x28($sp) -/* 05307C 8005247C 0C01C1D4 */ jal func_80070750 -/* 053080 80052480 AFA5002C */ sw $a1, 0x2c($sp) -/* 053084 80052484 8FA40028 */ lw $a0, 0x28($sp) -/* 053088 80052488 34018001 */ li $at, 32769 -/* 05308C 8005248C 84880000 */ lh $t0, ($a0) -/* 053090 80052490 8FA5002C */ lw $a1, 0x2c($sp) -/* 053094 80052494 3109FFFF */ andi $t1, $t0, 0xffff -/* 053098 80052498 00491823 */ subu $v1, $v0, $t1 -/* 05309C 8005249C 0061082A */ slt $at, $v1, $at -/* 0530A0 800524A0 14200003 */ bnez $at, .L800524B0 -/* 0530A4 800524A4 3C01FFFF */ lui $at, (0xFFFF0001 >> 16) # lui $at, 0xffff -/* 0530A8 800524A8 34210001 */ ori $at, (0xFFFF0001 & 0xFFFF) # ori $at, $at, 1 -/* 0530AC 800524AC 00611821 */ addu $v1, $v1, $at -.L800524B0: -/* 0530B0 800524B0 28618000 */ slti $at, $v1, -0x8000 -/* 0530B4 800524B4 10200002 */ beqz $at, .L800524C0 -/* 0530B8 800524B8 3401FFFF */ li $at, 65535 -/* 0530BC 800524BC 00611821 */ addu $v1, $v1, $at -.L800524C0: -/* 0530C0 800524C0 28613001 */ slti $at, $v1, 0x3001 -/* 0530C4 800524C4 14200003 */ bnez $at, .L800524D4 -/* 0530C8 800524C8 2861D000 */ slti $at, $v1, -0x3000 -/* 0530CC 800524CC 24033000 */ li $v1, 12288 -/* 0530D0 800524D0 2861D000 */ slti $at, $v1, -0x3000 -.L800524D4: -/* 0530D4 800524D4 10200002 */ beqz $at, .L800524E0 -/* 0530D8 800524D8 00000000 */ nop -/* 0530DC 800524DC 2403D000 */ li $v1, -12288 -.L800524E0: -/* 0530E0 800524E0 80AA01E7 */ lb $t2, 0x1e7($a1) -/* 0530E4 800524E4 A4A3016C */ sh $v1, 0x16c($a1) -/* 0530E8 800524E8 314B001F */ andi $t3, $t2, 0x1f -/* 0530EC 800524EC 2961000A */ slti $at, $t3, 0xa -/* 0530F0 800524F0 10200002 */ beqz $at, .L800524FC -/* 0530F4 800524F4 24030001 */ li $v1, 1 -/* 0530F8 800524F8 A4A0016C */ sh $zero, 0x16c($a1) -.L800524FC: -/* 0530FC 800524FC 8FBF0014 */ lw $ra, 0x14($sp) -.L80052500: -/* 053100 80052500 27BD0028 */ addiu $sp, $sp, 0x28 -/* 053104 80052504 03E00008 */ jr $ra -/* 053108 80052508 00601025 */ move $v0, $v1 - diff --git a/asm/non_matchings/racer/func_8005250C.s b/asm/non_matchings/racer/func_8005250C.s index 2cf28bcd..79510798 100644 --- a/asm/non_matchings/racer/func_8005250C.s +++ b/asm/non_matchings/racer/func_8005250C.s @@ -130,7 +130,7 @@ glabel L80052678 /* 0532D4 800526D4 44CFF800 */ ctc1 $t7, $31 /* 0532D8 800526D8 03231823 */ subu $v1, $t9, $v1 /* 0532DC 800526DC 04610002 */ bgez $v1, .L800526E8 -/* 0532E0 800526E0 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 +/* 0532E0 800526E0 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 /* 0532E4 800526E4 00001825 */ move $v1, $zero .L800526E8: /* 0532E8 800526E8 2861004A */ slti $at, $v1, 0x4a @@ -179,7 +179,7 @@ glabel L80052678 /* 053384 80052784 00000000 */ nop /* 053388 80052788 4500007C */ bc1f .L8005297C /* 05338C 8005278C 8FBF0024 */ lw $ra, 0x24($sp) -/* 053390 80052790 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 053390 80052790 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) /* 053394 80052794 240E0006 */ li $t6, 6 /* 053398 80052798 31F94000 */ andi $t9, $t7, 0x4000 /* 05339C 8005279C 13200077 */ beqz $t9, .L8005297C @@ -233,8 +233,8 @@ glabel L8005280C /* 053450 80052850 10000049 */ b .L80052978 /* 053454 80052854 A0A801F3 */ sb $t0, 0x1f3($a1) glabel L80052858 -/* 053458 80052858 3C098012 */ lui $t1, %hi(D_8011D528) # $t1, 0x8012 -/* 05345C 8005285C 8D29D528 */ lw $t1, %lo(D_8011D528)($t1) +/* 053458 80052858 3C098012 */ lui $t1, %hi(gCurrentCarInput) # $t1, 0x8012 +/* 05345C 8005285C 8D29D528 */ lw $t1, %lo(gCurrentCarInput)($t1) /* 053460 80052860 8FA40028 */ lw $a0, 0x28($sp) /* 053464 80052864 312A2000 */ andi $t2, $t1, 0x2000 /* 053468 80052868 11400002 */ beqz $t2, .L80052874 @@ -262,8 +262,8 @@ glabel L800528A4 /* 0534B8 800528B8 8FA40028 */ lw $a0, 0x28($sp) /* 0534BC 800528BC 45000008 */ bc1f .L800528E0 /* 0534C0 800528C0 24020003 */ li $v0, 3 -/* 0534C4 800528C4 3C0F8012 */ lui $t7, %hi(D_8011D528) # $t7, 0x8012 -/* 0534C8 800528C8 8DEFD528 */ lw $t7, %lo(D_8011D528)($t7) +/* 0534C4 800528C4 3C0F8012 */ lui $t7, %hi(gCurrentCarInput) # $t7, 0x8012 +/* 0534C8 800528C8 8DEFD528 */ lw $t7, %lo(gCurrentCarInput)($t7) /* 0534CC 800528CC 00000000 */ nop /* 0534D0 800528D0 31F94000 */ andi $t9, $t7, 0x4000 /* 0534D4 800528D4 13200003 */ beqz $t9, .L800528E4 diff --git a/asm/non_matchings/racer/func_80052B64.s b/asm/non_matchings/racer/func_80052B64.s index 6b3cf658..e1f821b6 100644 --- a/asm/non_matchings/racer/func_80052B64.s +++ b/asm/non_matchings/racer/func_80052B64.s @@ -128,8 +128,8 @@ glabel func_80052B64 /* 053934 80052D34 A0E001DB */ sb $zero, 0x1db($a3) .L80052D38: /* 053938 80052D38 84EF01A2 */ lh $t7, 0x1a2($a3) -/* 05393C 80052D3C 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 -/* 053940 80052D40 AC2FD554 */ sw $t7, %lo(D_8011D554)($at) +/* 05393C 80052D3C 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 +/* 053940 80052D40 AC2FD554 */ sw $t7, %lo(gCurrentCarSteerVel)($at) /* 053944 80052D44 3C018012 */ lui $at, %hi(D_8011D56C) # $at, 0x8012 /* 053948 80052D48 C424D56C */ lwc1 $f4, %lo(D_8011D56C)($at) /* 05394C 80052D4C C7A6002C */ lwc1 $f6, 0x2c($sp) diff --git a/asm/non_matchings/racer/func_80052D7C.s b/asm/non_matchings/racer/func_80052D7C.s index 647a5877..f14782ac 100644 --- a/asm/non_matchings/racer/func_80052D7C.s +++ b/asm/non_matchings/racer/func_80052D7C.s @@ -160,9 +160,9 @@ glabel func_80052D7C /* 053B5C 80052F5C E5440020 */ swc1 $f4, 0x20($t2) .L80052F60: /* 053B60 80052F60 80AB01E1 */ lb $t3, 0x1e1($a1) -/* 053B64 80052F64 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 053B64 80052F64 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 053B68 80052F68 A0AB01E8 */ sb $t3, 0x1e8($a1) -/* 053B6C 80052F6C 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 053B6C 80052F6C 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 053B70 80052F70 3C013FE0 */ li $at, 0x3FE00000 # 1.750000 /* 053B74 80052F74 304C8000 */ andi $t4, $v0, 0x8000 /* 053B78 80052F78 1180000C */ beqz $t4, .L80052FAC @@ -172,10 +172,10 @@ glabel func_80052D7C /* 053B88 80052F88 44808000 */ mtc1 $zero, $f16 /* 053B8C 80052F8C 460042A1 */ cvt.d.s $f10, $f8 /* 053B90 80052F90 46305481 */ sub.d $f18, $f10, $f16 -/* 053B94 80052F94 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 053B94 80052F94 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 053B98 80052F98 462091A0 */ cvt.s.d $f6, $f18 /* 053B9C 80052F9C E4A6002C */ swc1 $f6, 0x2c($a1) -/* 053BA0 80052FA0 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 053BA0 80052FA0 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 053BA4 80052FA4 00000000 */ nop /* 053BA8 80052FA8 304E4000 */ andi $t6, $v0, 0x4000 .L80052FAC: @@ -238,7 +238,7 @@ glabel func_80052D7C /* 053C84 80053084 84A90000 */ lh $t1, ($a1) /* 053C88 80053088 2401FFFF */ li $at, -1 /* 053C8C 8005308C 15210004 */ bne $t1, $at, .L800530A0 -/* 053C90 80053090 3C068012 */ lui $a2, %hi(D_8011D554) # $a2, 0x8012 +/* 053C90 80053090 3C068012 */ lui $a2, %hi(gCurrentCarSteerVel) # $a2, 0x8012 /* 053C94 80053094 80AA01E1 */ lb $t2, 0x1e1($a1) /* 053C98 80053098 00000000 */ nop /* 053C9C 8005309C A0AA01E8 */ sb $t2, 0x1e8($a1) @@ -246,7 +246,7 @@ glabel func_80052D7C /* 053CA0 800530A0 80A201D3 */ lb $v0, 0x1d3($a1) /* 053CA4 800530A4 3C01800E */ lui $at, %hi(D_800E6708 + 4) # $at, 0x800e /* 053CA8 800530A8 18400006 */ blez $v0, .L800530C4 -/* 053CAC 800530AC 24C6D554 */ addiu $a2, %lo(D_8011D554) # addiu $a2, $a2, -0x2aac +/* 053CAC 800530AC 24C6D554 */ addiu $a2, %lo(gCurrentCarSteerVel) # addiu $a2, $a2, -0x2aac /* 053CB0 800530B0 8FAB0048 */ lw $t3, 0x48($sp) /* 053CB4 800530B4 00000000 */ nop /* 053CB8 800530B8 004B6023 */ subu $t4, $v0, $t3 @@ -403,7 +403,7 @@ glabel func_80052D7C /* 053EEC 800532EC ACC00000 */ sw $zero, ($a2) /* 053EF0 800532F0 E7A2002C */ swc1 $f2, 0x2c($sp) /* 053EF4 800532F4 AFA50044 */ sw $a1, 0x44($sp) -/* 053EF8 800532F8 0C014D1E */ jal func_80053478 +/* 053EF8 800532F8 0C014D1E */ jal handle_car_steering /* 053EFC 800532FC AFA30038 */ sw $v1, 0x38($sp) /* 053F00 80053300 8FA30038 */ lw $v1, 0x38($sp) /* 053F04 80053304 8FA50044 */ lw $a1, 0x44($sp) diff --git a/asm/non_matchings/racer/func_80054110.s b/asm/non_matchings/racer/func_80054110.s index e02c0a57..78125c11 100644 --- a/asm/non_matchings/racer/func_80054110.s +++ b/asm/non_matchings/racer/func_80054110.s @@ -17,13 +17,13 @@ glabel func_80054110 /* 054D20 80054120 AFA600B8 */ sw $a2, 0xb8($sp) /* 054D24 80054124 AFA700BC */ sw $a3, 0xbc($sp) /* 054D28 80054128 C484000C */ lwc1 $f4, 0xc($a0) -/* 054D2C 8005412C 3C018012 */ lui $at, %hi(D_8011D554) # $at, 0x8012 +/* 054D2C 8005412C 3C018012 */ lui $at, %hi(gCurrentCarSteerVel) # $at, 0x8012 /* 054D30 80054130 E7A40098 */ swc1 $f4, 0x98($sp) /* 054D34 80054134 C4860010 */ lwc1 $f6, 0x10($a0) /* 054D38 80054138 00808825 */ move $s1, $a0 /* 054D3C 8005413C E7A60094 */ swc1 $f6, 0x94($sp) /* 054D40 80054140 C4880014 */ lwc1 $f8, 0x14($a0) -/* 054D44 80054144 AC20D554 */ sw $zero, %lo(D_8011D554)($at) +/* 054D44 80054144 AC20D554 */ sw $zero, %lo(gCurrentCarSteerVel)($at) /* 054D48 80054148 00A08025 */ move $s0, $a1 /* 054D4C 8005414C 3C018012 */ lui $at, %hi(D_8011D558) # $at, 0x8012 /* 054D50 80054150 00A02025 */ move $a0, $a1 @@ -32,7 +32,7 @@ glabel func_80054110 /* 054D5C 8005415C 00E03025 */ move $a2, $a3 /* 054D60 80054160 0C015E6C */ jal func_800579B0 /* 054D64 80054164 E7A80090 */ swc1 $f8, 0x90($sp) -/* 054D68 80054168 0C014D99 */ jal func_80053664 +/* 054D68 80054168 0C014D99 */ jal handle_car_velocity_control /* 054D6C 8005416C 02002025 */ move $a0, $s0 /* 054D70 80054170 02202025 */ move $a0, $s1 /* 054D74 80054174 0C015D7B */ jal func_800575EC @@ -77,7 +77,7 @@ glabel func_80054110 /* 054E04 80054204 02002025 */ move $a0, $s0 /* 054E08 80054208 00003025 */ move $a2, $zero /* 054E0C 8005420C 00003825 */ move $a3, $zero -/* 054E10 80054210 0C014214 */ jal func_80050850 +/* 054E10 80054210 0C014214 */ jal apply_vehicle_rotation_offset /* 054E14 80054214 AFA00010 */ sw $zero, 0x10($sp) /* 054E18 80054218 0C01AF6C */ jal get_current_level_header /* 054E1C 8005421C 00000000 */ nop @@ -224,8 +224,8 @@ glabel func_80054110 /* 055020 80054420 0C0148D3 */ jal func_8005234C /* 055024 80054424 A6220018 */ sh $v0, 0x18($s1) /* 055028 80054428 860401A2 */ lh $a0, 0x1a2($s0) -/* 05502C 8005442C 3C088012 */ lui $t0, %hi(D_8011D554) # $t0, 0x8012 -/* 055030 80054430 8D08D554 */ lw $t0, %lo(D_8011D554)($t0) +/* 05502C 8005442C 3C088012 */ lui $t0, %hi(gCurrentCarSteerVel) # $t0, 0x8012 +/* 055030 80054430 8D08D554 */ lw $t0, %lo(gCurrentCarSteerVel)($t0) /* 055034 80054434 3089FFFF */ andi $t1, $a0, 0xffff /* 055038 80054438 34018001 */ li $at, 32769 /* 05503C 8005443C 01091023 */ subu $v0, $t0, $t1 diff --git a/asm/non_matchings/racer/func_8005492C.s b/asm/non_matchings/racer/func_8005492C.s index 6124668d..51feb79f 100644 --- a/asm/non_matchings/racer/func_8005492C.s +++ b/asm/non_matchings/racer/func_8005492C.s @@ -58,8 +58,8 @@ glabel func_8005492C /* 0555A4 800549A4 240E0001 */ li $t6, 1 /* 0555A8 800549A8 AFAE0038 */ sw $t6, 0x38($sp) .L800549AC: -/* 0555AC 800549AC 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 -/* 0555B0 800549B0 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 0555AC 800549AC 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 +/* 0555B0 800549B0 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 0555B4 800549B4 8C84D534 */ lw $a0, %lo(D_8011D534)($a0) /* 0555B8 800549B8 304F4000 */ andi $t7, $v0, 0x4000 /* 0555BC 800549BC 24030006 */ li $v1, 6 @@ -124,7 +124,7 @@ glabel func_8005492C /* 055698 80054A98 A4AD01A0 */ sh $t5, 0x1a0($a1) /* 05569C 80054A9C E7A20030 */ swc1 $f2, 0x30($sp) /* 0556A0 80054AA0 AFA70048 */ sw $a3, 0x48($sp) -/* 0556A4 80054AA4 0C014D1E */ jal func_80053478 +/* 0556A4 80054AA4 0C014D1E */ jal handle_car_steering /* 0556A8 80054AA8 AFA5004C */ sw $a1, 0x4c($sp) /* 0556AC 80054AAC 8FA5004C */ lw $a1, 0x4c($sp) /* 0556B0 80054AB0 3C01800E */ lui $at, %hi(D_800E67F8 + 4) # $at, 0x800e @@ -144,9 +144,9 @@ glabel func_8005492C /* 0556E8 80054AE8 10810008 */ beq $a0, $at, .L80054B0C /* 0556EC 80054AEC 46009006 */ mov.s $f0, $f18 /* 0556F0 80054AF0 00047080 */ sll $t6, $a0, 2 -/* 0556F4 80054AF4 3C01800E */ lui $at, %hi(D_800DCB9C) # $at, 0x800e +/* 0556F4 80054AF4 3C01800E */ lui $at, %hi(gSurfaceTractionTable) # $at, 0x800e /* 0556F8 80054AF8 002E0821 */ addu $at, $at, $t6 -/* 0556FC 80054AFC C426CB9C */ lwc1 $f6, %lo(D_800DCB9C)($at) +/* 0556FC 80054AFC C426CB9C */ lwc1 $f6, %lo(gSurfaceTractionTable)($at) /* 055700 80054B00 18800002 */ blez $a0, .L80054B0C /* 055704 80054B04 46069000 */ add.s $f0, $f18, $f6 /* 055708 80054B08 00801825 */ move $v1, $a0 @@ -353,11 +353,11 @@ glabel func_8005492C /* 0559F4 80054DF4 3C088012 */ lui $t0, %hi(D_8011D538) # $t0, 0x8012 /* 0559F8 80054DF8 46244182 */ mul.d $f6, $f8, $f4 /* 0559FC 80054DFC 8D08D538 */ lw $t0, %lo(D_8011D538)($t0) -/* 055A00 80054E00 3C028012 */ lui $v0, %hi(D_8011D528) # $v0, 0x8012 +/* 055A00 80054E00 3C028012 */ lui $v0, %hi(gCurrentCarInput) # $v0, 0x8012 /* 055A04 80054E04 2901FFE7 */ slti $at, $t0, -0x19 /* 055A08 80054E08 1020000D */ beqz $at, .L80054E40 /* 055A0C 80054E0C 462033A0 */ cvt.s.d $f14, $f6 -/* 055A10 80054E10 8C42D528 */ lw $v0, %lo(D_8011D528)($v0) +/* 055A10 80054E10 8C42D528 */ lw $v0, %lo(gCurrentCarInput)($v0) /* 055A14 80054E14 00000000 */ nop /* 055A18 80054E18 30498000 */ andi $t1, $v0, 0x8000 /* 055A1C 80054E1C 15200008 */ bnez $t1, .L80054E40 diff --git a/asm/non_matchings/racer/func_80055EC0.s b/asm/non_matchings/racer/func_80055EC0.s index 35c2b677..727bcdeb 100644 --- a/asm/non_matchings/racer/func_80055EC0.s +++ b/asm/non_matchings/racer/func_80055EC0.s @@ -213,7 +213,7 @@ glabel func_80055EC0 /* 056DBC 800561BC 00000000 */ nop .L800561C0: /* 056DC0 800561C0 820C0195 */ lb $t4, 0x195($s0) -/* 056DC4 800561C4 3C0B8012 */ lui $t3, %hi(D_8011D528) # $t3, 0x8012 +/* 056DC4 800561C4 3C0B8012 */ lui $t3, %hi(gCurrentCarInput) # $t3, 0x8012 /* 056DC8 800561C8 11800006 */ beqz $t4, .L800561E4 /* 056DCC 800561CC 00000000 */ nop /* 056DD0 800561D0 82190175 */ lb $t9, 0x175($s0) @@ -222,7 +222,7 @@ glabel func_80055EC0 /* 056DDC 800561DC 8FBF0024 */ lw $ra, 0x24($sp) /* 056DE0 800561E0 A2000195 */ sb $zero, 0x195($s0) .L800561E4: -/* 056DE4 800561E4 8D6BD528 */ lw $t3, %lo(D_8011D528)($t3) +/* 056DE4 800561E4 8D6BD528 */ lw $t3, %lo(gCurrentCarInput)($t3) /* 056DE8 800561E8 3C038012 */ lui $v1, %hi(D_8011D530) # $v1, 0x8012 /* 056DEC 800561EC 316D2000 */ andi $t5, $t3, 0x2000 /* 056DF0 800561F0 15A00006 */ bnez $t5, .L8005620C diff --git a/asm/non_matchings/racer/func_80057220.s b/asm/non_matchings/racer/func_80057220.s index b245e096..959369bc 100644 --- a/asm/non_matchings/racer/func_80057220.s +++ b/asm/non_matchings/racer/func_80057220.s @@ -34,7 +34,7 @@ glabel func_80057220 /* 057E88 80057288 2483FFF2 */ addiu $v1, $a0, -0xe /* 057E8C 8005728C 33198000 */ andi $t9, $t8, 0x8000 /* 057E90 80057290 1320003C */ beqz $t9, .L80057384 -/* 057E94 80057294 3C088012 */ lui $t0, %hi(D_8011D528) # $t0, 0x8012 +/* 057E94 80057294 3C088012 */ lui $t0, %hi(gCurrentCarInput) # $t0, 0x8012 /* 057E98 80057298 04610004 */ bgez $v1, .L800572AC /* 057E9C 8005729C 240A0018 */ li $t2, 24 /* 057EA0 800572A0 04400002 */ bltz $v0, .L800572AC @@ -45,7 +45,7 @@ glabel func_80057220 /* 057EB0 800572B0 00000000 */ nop /* 057EB4 800572B4 00031823 */ negu $v1, $v1 .L800572B8: -/* 057EB8 800572B8 8D08D528 */ lw $t0, %lo(D_8011D528)($t0) +/* 057EB8 800572B8 8D08D528 */ lw $t0, %lo(gCurrentCarInput)($t0) /* 057EBC 800572BC 28610002 */ slti $at, $v1, 2 /* 057EC0 800572C0 31092000 */ andi $t1, $t0, 0x2000 /* 057EC4 800572C4 11200005 */ beqz $t1, .L800572DC diff --git a/asm/non_matchings/racer/func_800581E8.s b/asm/non_matchings/racer/func_800581E8.s index f6d7d3d9..a3478f9b 100644 --- a/asm/non_matchings/racer/func_800581E8.s +++ b/asm/non_matchings/racer/func_800581E8.s @@ -367,9 +367,9 @@ glabel func_800581E8 /* 05930C 8005870C 0C01C1FE */ jal func_800707F8 /* 059310 80058710 000B2403 */ sra $a0, $t3, 0x10 /* 059314 80058714 C7AC0040 */ lwc1 $f12, 0x40($sp) -/* 059318 80058718 3C0D8012 */ lui $t5, %hi(D_8011D528) # $t5, 0x8012 +/* 059318 80058718 3C0D8012 */ lui $t5, %hi(gCurrentCarInput) # $t5, 0x8012 /* 05931C 8005871C 460C0202 */ mul.s $f8, $f0, $f12 -/* 059320 80058720 8DADD528 */ lw $t5, %lo(D_8011D528)($t5) +/* 059320 80058720 8DADD528 */ lw $t5, %lo(gCurrentCarInput)($t5) /* 059324 80058724 44807000 */ mtc1 $zero, $f14 /* 059328 80058728 8FA70070 */ lw $a3, 0x70($sp) /* 05932C 8005872C 31AF8000 */ andi $t7, $t5, 0x8000 diff --git a/asm/non_matchings/racer/func_80059080.s b/asm/non_matchings/racer/func_80059080.s deleted file mode 100644 index c3ba7948..00000000 --- a/asm/non_matchings/racer/func_80059080.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel func_80059080 -/* 059C80 80059080 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 059C84 80059084 AFBF003C */ sw $ra, 0x3c($sp) -/* 059C88 80059088 AFB50034 */ sw $s5, 0x34($sp) -/* 059C8C 8005908C 00A0A825 */ move $s5, $a1 -/* 059C90 80059090 AFB60038 */ sw $s6, 0x38($sp) -/* 059C94 80059094 AFB40030 */ sw $s4, 0x30($sp) -/* 059C98 80059098 AFB3002C */ sw $s3, 0x2c($sp) -/* 059C9C 8005909C AFB20028 */ sw $s2, 0x28($sp) -/* 059CA0 800590A0 AFB10024 */ sw $s1, 0x24($sp) -/* 059CA4 800590A4 AFB00020 */ sw $s0, 0x20($sp) -/* 059CA8 800590A8 E7B50018 */ swc1 $f21, 0x18($sp) -/* 059CAC 800590AC E7B4001C */ swc1 $f20, 0x1c($sp) -/* 059CB0 800590B0 AFA400A8 */ sw $a0, 0xa8($sp) -/* 059CB4 800590B4 AFA600B0 */ sw $a2, 0xb0($sp) -/* 059CB8 800590B8 0C006E99 */ jal func_8001BA64 -/* 059CBC 800590BC AFA700B4 */ sw $a3, 0xb4($sp) -/* 059CC0 800590C0 10400045 */ beqz $v0, .L800591D8 -/* 059CC4 800590C4 0040B025 */ move $s6, $v0 -/* 059CC8 800590C8 C6A600A8 */ lwc1 $f6, 0xa8($s5) -/* 059CCC 800590CC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 059CD0 800590D0 44812800 */ mtc1 $at, $f5 -/* 059CD4 800590D4 44802000 */ mtc1 $zero, $f4 -/* 059CD8 800590D8 46003221 */ cvt.d.s $f8, $f6 -/* 059CDC 800590DC 46282281 */ sub.d $f10, $f4, $f8 -/* 059CE0 800590E0 44800000 */ mtc1 $zero, $f0 -/* 059CE4 800590E4 46205520 */ cvt.s.d $f20, $f10 -/* 059CE8 800590E8 27B20084 */ addiu $s2, $sp, 0x84 -/* 059CEC 800590EC 4600A03C */ c.lt.s $f20, $f0 -/* 059CF0 800590F0 27B30070 */ addiu $s3, $sp, 0x70 -/* 059CF4 800590F4 45000002 */ bc1f .L80059100 -/* 059CF8 800590F8 27B0005C */ addiu $s0, $sp, 0x5c -/* 059CFC 800590FC 46000506 */ mov.s $f20, $f0 -.L80059100: -/* 059D00 80059100 82A30192 */ lb $v1, 0x192($s5) -/* 059D04 80059104 27B40070 */ addiu $s4, $sp, 0x70 -/* 059D08 80059108 2471FFFE */ addiu $s1, $v1, -2 -/* 059D0C 8005910C 06210002 */ bgez $s1, .L80059118 -/* 059D10 80059110 00000000 */ nop -/* 059D14 80059114 02228821 */ addu $s1, $s1, $v0 -.L80059118: -/* 059D18 80059118 92A501C8 */ lbu $a1, 0x1c8($s5) -/* 059D1C 8005911C 0C006E87 */ jal func_8001BA1C -/* 059D20 80059120 02202025 */ move $a0, $s1 -/* 059D24 80059124 C4500010 */ lwc1 $f16, 0x10($v0) -/* 059D28 80059128 26310001 */ addiu $s1, $s1, 1 -/* 059D2C 8005912C E6500000 */ swc1 $f16, ($s2) -/* 059D30 80059130 C4520014 */ lwc1 $f18, 0x14($v0) -/* 059D34 80059134 26520004 */ addiu $s2, $s2, 4 -/* 059D38 80059138 E6720000 */ swc1 $f18, ($s3) -/* 059D3C 8005913C C4460018 */ lwc1 $f6, 0x18($v0) -/* 059D40 80059140 16360002 */ bne $s1, $s6, .L8005914C -/* 059D44 80059144 E6060000 */ swc1 $f6, ($s0) -/* 059D48 80059148 00008825 */ move $s1, $zero -.L8005914C: -/* 059D4C 8005914C 26100004 */ addiu $s0, $s0, 4 -/* 059D50 80059150 1614FFF1 */ bne $s0, $s4, .L80059118 -/* 059D54 80059154 26730004 */ addiu $s3, $s3, 4 -/* 059D58 80059158 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 059D5C 8005915C 44812800 */ mtc1 $at, $f5 -/* 059D60 80059160 44802000 */ mtc1 $zero, $f4 -/* 059D64 80059164 4600A021 */ cvt.d.s $f0, $f20 -/* 059D68 80059168 4620203E */ c.le.d $f4, $f0 -/* 059D6C 8005916C 00008025 */ move $s0, $zero -/* 059D70 80059170 45000007 */ bc1f .L80059190 -/* 059D74 80059174 27A40084 */ addiu $a0, $sp, 0x84 -/* 059D78 80059178 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 059D7C 8005917C 44814800 */ mtc1 $at, $f9 -/* 059D80 80059180 44804000 */ mtc1 $zero, $f8 -/* 059D84 80059184 24100001 */ li $s0, 1 -/* 059D88 80059188 46280281 */ sub.d $f10, $f0, $f8 -/* 059D8C 8005918C 46205520 */ cvt.s.d $f20, $f10 -.L80059190: -/* 059D90 80059190 4406A000 */ mfc1 $a2, $f20 -/* 059D94 80059194 0C008950 */ jal catmull_rom_interpolation -/* 059D98 80059198 02002825 */ move $a1, $s0 -/* 059D9C 8005919C 8FAE00B0 */ lw $t6, 0xb0($sp) -/* 059DA0 800591A0 4406A000 */ mfc1 $a2, $f20 -/* 059DA4 800591A4 27A40070 */ addiu $a0, $sp, 0x70 -/* 059DA8 800591A8 02002825 */ move $a1, $s0 -/* 059DAC 800591AC 0C008950 */ jal catmull_rom_interpolation -/* 059DB0 800591B0 E5C00000 */ swc1 $f0, ($t6) -/* 059DB4 800591B4 8FAF00B4 */ lw $t7, 0xb4($sp) -/* 059DB8 800591B8 4406A000 */ mfc1 $a2, $f20 -/* 059DBC 800591BC 27A4005C */ addiu $a0, $sp, 0x5c -/* 059DC0 800591C0 02002825 */ move $a1, $s0 -/* 059DC4 800591C4 0C008950 */ jal catmull_rom_interpolation -/* 059DC8 800591C8 E5E00000 */ swc1 $f0, ($t7) -/* 059DCC 800591CC 8FB800B8 */ lw $t8, 0xb8($sp) -/* 059DD0 800591D0 00000000 */ nop -/* 059DD4 800591D4 E7000000 */ swc1 $f0, ($t8) -.L800591D8: -/* 059DD8 800591D8 8FBF003C */ lw $ra, 0x3c($sp) -/* 059DDC 800591DC C7B50018 */ lwc1 $f21, 0x18($sp) -/* 059DE0 800591E0 C7B4001C */ lwc1 $f20, 0x1c($sp) -/* 059DE4 800591E4 8FB00020 */ lw $s0, 0x20($sp) -/* 059DE8 800591E8 8FB10024 */ lw $s1, 0x24($sp) -/* 059DEC 800591EC 8FB20028 */ lw $s2, 0x28($sp) -/* 059DF0 800591F0 8FB3002C */ lw $s3, 0x2c($sp) -/* 059DF4 800591F4 8FB40030 */ lw $s4, 0x30($sp) -/* 059DF8 800591F8 8FB50034 */ lw $s5, 0x34($sp) -/* 059DFC 800591FC 8FB60038 */ lw $s6, 0x38($sp) -/* 059E00 80059200 03E00008 */ jr $ra -/* 059E04 80059204 27BD00A8 */ addiu $sp, $sp, 0xa8 - diff --git a/asm/non_matchings/racer/func_8005A424.s b/asm/non_matchings/racer/func_8005A424.s index 4330b1d0..fa2345e5 100644 --- a/asm/non_matchings/racer/func_8005A424.s +++ b/asm/non_matchings/racer/func_8005A424.s @@ -27,7 +27,7 @@ glabel func_8005A424 .L8005A488: /* 05B088 8005A488 28618000 */ slti $at, $v1, -0x8000 /* 05B08C 8005A48C 10200003 */ beqz $at, .L8005A49C -/* 05B090 8005A490 3C048012 */ lui $a0, %hi(D_8011D528) # $a0, 0x8012 +/* 05B090 8005A490 3C048012 */ lui $a0, %hi(gCurrentCarInput) # $a0, 0x8012 /* 05B094 8005A494 3401FFFF */ li $at, 65535 /* 05B098 8005A498 00611821 */ addu $v1, $v1, $at .L8005A49C: @@ -40,7 +40,7 @@ glabel func_8005A424 /* 05B0B4 8005A4B4 AC20D52C */ sw $zero, %lo(gActivePlayerButtonPress)($at) /* 05B0B8 8005A4B8 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 /* 05B0BC 8005A4BC AC20D530 */ sw $zero, %lo(D_8011D530)($at) -/* 05B0C0 8005A4C0 2484D528 */ addiu $a0, %lo(D_8011D528) # addiu $a0, $a0, -0x2ad8 +/* 05B0C0 8005A4C0 2484D528 */ addiu $a0, %lo(gCurrentCarInput) # addiu $a0, $a0, -0x2ad8 /* 05B0C4 8005A4C4 AC800000 */ sw $zero, ($a0) /* 05B0C8 8005A4C8 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 /* 05B0CC 8005A4CC AC20D538 */ sw $zero, %lo(D_8011D538)($at) diff --git a/asm/non_matchings/racer/func_8005A6F0.s b/asm/non_matchings/racer/func_8005A6F0.s index 79bc0ac7..fd0db90b 100644 --- a/asm/non_matchings/racer/func_8005A6F0.s +++ b/asm/non_matchings/racer/func_8005A6F0.s @@ -367,8 +367,8 @@ glabel func_8005A6F0 /* 05B7BC 8005ABBC 8FA700AC */ lw $a3, 0xac($sp) /* 05B7C0 8005ABC0 0C01105C */ jal func_80044170 /* 05B7C4 8005ABC4 02002825 */ move $a1, $s0 -/* 05B7C8 8005ABC8 3C0E8012 */ lui $t6, %hi(D_8011D528) # $t6, 0x8012 -/* 05B7CC 8005ABCC 8DCED528 */ lw $t6, %lo(D_8011D528)($t6) +/* 05B7C8 8005ABC8 3C0E8012 */ lui $t6, %hi(gCurrentCarInput) # $t6, 0x8012 +/* 05B7CC 8005ABCC 8DCED528 */ lw $t6, %lo(gCurrentCarInput)($t6) /* 05B7D0 8005ABD0 3C0C8012 */ lui $t4, %hi(D_8011D56C) # $t4, 0x8012 /* 05B7D4 8005ABD4 31D88000 */ andi $t8, $t6, 0x8000 /* 05B7D8 8005ABD8 258CD56C */ addiu $t4, %lo(D_8011D56C) # addiu $t4, $t4, -0x2a94 @@ -594,9 +594,9 @@ glabel func_8005A6F0 /* 05BB10 8005AF10 3C018012 */ lui $at, %hi(D_8011D534) # $at, 0x8012 /* 05BB14 8005AF14 AC20D534 */ sw $zero, %lo(D_8011D534)($at) /* 05BB18 8005AF18 3C018012 */ lui $at, %hi(D_8011D538) # $at, 0x8012 -/* 05BB1C 8005AF1C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BB1C 8005AF1C 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BB20 8005AF20 AC20D538 */ sw $zero, %lo(D_8011D538)($at) -/* 05BB24 8005AF24 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BB24 8005AF24 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BB28 8005AF28 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BB2C 8005AF2C AC600000 */ sw $zero, ($v1) /* 05BB30 8005AF30 3C018012 */ lui $at, %hi(D_8011D530) # $at, 0x8012 @@ -608,9 +608,9 @@ glabel func_8005A6F0 .L8005AF48: /* 05BB48 8005AF48 921901D6 */ lbu $t9, 0x1d6($s0) /* 05BB4C 8005AF4C 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 -/* 05BB50 8005AF50 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BB50 8005AF50 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BB54 8005AF54 2F21000E */ sltiu $at, $t9, 0xe -/* 05BB58 8005AF58 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BB58 8005AF58 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BB5C 8005AF5C 10200094 */ beqz $at, .L8005B1B0 /* 05BB60 8005AF60 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 /* 05BB64 8005AF64 0019C880 */ sll $t9, $t9, 2 @@ -626,10 +626,10 @@ glabel L8005AF80 /* 05BB88 8005AF88 8FA600A0 */ lw $a2, 0xa0($sp) /* 05BB8C 8005AF8C 0C013DFD */ jal func_8004F7F4 /* 05BB90 8005AF90 02003825 */ move $a3, $s0 -/* 05BB94 8005AF94 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BB94 8005AF94 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BB98 8005AF98 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BB9C 8005AF9C 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BBA0 8005AFA0 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BBA0 8005AFA0 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BBA4 8005AFA4 10000082 */ b .L8005B1B0 /* 05BBA8 8005AFA8 240B0001 */ li $t3, 1 glabel L8005AFAC @@ -638,10 +638,10 @@ glabel L8005AFAC /* 05BBB4 8005AFB4 8FA600A0 */ lw $a2, 0xa0($sp) /* 05BBB8 8005AFB8 0C013308 */ jal func_8004CC20 /* 05BBBC 8005AFBC 02003825 */ move $a3, $s0 -/* 05BBC0 8005AFC0 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BBC0 8005AFC0 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BBC4 8005AFC4 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BBC8 8005AFC8 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BBCC 8005AFCC 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BBCC 8005AFCC 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BBD0 8005AFD0 10000077 */ b .L8005B1B0 /* 05BBD4 8005AFD4 240B0001 */ li $t3, 1 glabel L8005AFD8 @@ -650,10 +650,10 @@ glabel L8005AFD8 /* 05BBE0 8005AFE0 8FA600A0 */ lw $a2, 0xa0($sp) /* 05BBE4 8005AFE4 0C011949 */ jal func_80046524 /* 05BBE8 8005AFE8 02003825 */ move $a3, $s0 -/* 05BBEC 8005AFEC 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BBEC 8005AFEC 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BBF0 8005AFF0 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BBF4 8005AFF4 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BBF8 8005AFF8 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BBF8 8005AFF8 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BBFC 8005AFFC 1000006C */ b .L8005B1B0 /* 05BC00 8005B000 240B0001 */ li $t3, 1 glabel L8005B004 @@ -662,10 +662,10 @@ glabel L8005B004 /* 05BC0C 8005B00C 8FA600A0 */ lw $a2, 0xa0($sp) /* 05BC10 8005B010 0C0125E5 */ jal func_80049794 /* 05BC14 8005B014 02003825 */ move $a3, $s0 -/* 05BC18 8005B018 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BC18 8005B018 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BC1C 8005B01C 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BC20 8005B020 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BC24 8005B024 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BC24 8005B024 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BC28 8005B028 10000061 */ b .L8005B1B0 /* 05BC2C 8005B02C 240B0001 */ li $t3, 1 glabel L8005B030 @@ -674,10 +674,10 @@ glabel L8005B030 /* 05BC38 8005B038 8FA600A0 */ lw $a2, 0xa0($sp) /* 05BC3C 8005B03C 0C013657 */ jal func_8004D95C /* 05BC40 8005B040 02003825 */ move $a3, $s0 -/* 05BC44 8005B044 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BC44 8005B044 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BC48 8005B048 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BC4C 8005B04C 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BC50 8005B050 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BC50 8005B050 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BC54 8005B054 10000056 */ b .L8005B1B0 /* 05BC58 8005B058 240B0001 */ li $t3, 1 glabel L8005B05C @@ -689,10 +689,10 @@ glabel L8005B05C /* 05BC70 8005B070 AFA20014 */ sw $v0, 0x14($sp) /* 05BC74 8005B074 0C0170D9 */ jal func_8005C364 /* 05BC78 8005B078 AFA80018 */ sw $t0, 0x18($sp) -/* 05BC7C 8005B07C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BC7C 8005B07C 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BC80 8005B080 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BC84 8005B084 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BC88 8005B088 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BC88 8005B088 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BC8C 8005B08C 10000048 */ b .L8005B1B0 /* 05BC90 8005B090 240B0001 */ li $t3, 1 glabel L8005B094 @@ -704,10 +704,10 @@ glabel L8005B094 /* 05BCA8 8005B0A8 AFA20014 */ sw $v0, 0x14($sp) /* 05BCAC 8005B0AC 0C017434 */ jal func_8005D0D0 /* 05BCB0 8005B0B0 AFA80018 */ sw $t0, 0x18($sp) -/* 05BCB4 8005B0B4 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BCB4 8005B0B4 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BCB8 8005B0B8 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BCBC 8005B0BC 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BCC0 8005B0C0 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BCC0 8005B0C0 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BCC4 8005B0C4 1000003A */ b .L8005B1B0 /* 05BCC8 8005B0C8 240B0001 */ li $t3, 1 glabel L8005B0CC @@ -721,10 +721,10 @@ glabel L8005B0CC /* 05BCE8 8005B0E8 AFA30010 */ sw $v1, 0x10($sp) /* 05BCEC 8005B0EC 0C017608 */ jal func_8005D820 /* 05BCF0 8005B0F0 AFA80018 */ sw $t0, 0x18($sp) -/* 05BCF4 8005B0F4 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BCF4 8005B0F4 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BCF8 8005B0F8 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BCFC 8005B0FC 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BD00 8005B100 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BD00 8005B100 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BD04 8005B104 1000002A */ b .L8005B1B0 /* 05BD08 8005B108 240B0001 */ li $t3, 1 glabel L8005B10C @@ -736,10 +736,10 @@ glabel L8005B10C /* 05BD20 8005B120 AFA20014 */ sw $v0, 0x14($sp) /* 05BD24 8005B124 0C017930 */ jal func_8005E4C0 /* 05BD28 8005B128 AFA80018 */ sw $t0, 0x18($sp) -/* 05BD2C 8005B12C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BD2C 8005B12C 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BD30 8005B130 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BD34 8005B134 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BD38 8005B138 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BD38 8005B138 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BD3C 8005B13C 1000001C */ b .L8005B1B0 /* 05BD40 8005B140 240B0001 */ li $t3, 1 glabel L8005B144 @@ -751,10 +751,10 @@ glabel L8005B144 /* 05BD58 8005B158 AFA20014 */ sw $v0, 0x14($sp) /* 05BD5C 8005B15C 0C017AA4 */ jal func_8005EA90 /* 05BD60 8005B160 AFA80018 */ sw $t0, 0x18($sp) -/* 05BD64 8005B164 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BD64 8005B164 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BD68 8005B168 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BD6C 8005B16C 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BD70 8005B170 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BD70 8005B170 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BD74 8005B174 1000000E */ b .L8005B1B0 /* 05BD78 8005B178 240B0001 */ li $t3, 1 glabel L8005B17C @@ -766,10 +766,10 @@ glabel L8005B17C /* 05BD90 8005B190 AFA20014 */ sw $v0, 0x14($sp) /* 05BD94 8005B194 0C017CC4 */ jal func_8005F310 /* 05BD98 8005B198 AFA80018 */ sw $t0, 0x18($sp) -/* 05BD9C 8005B19C 3C038012 */ lui $v1, %hi(D_8011D528) # $v1, 0x8012 +/* 05BD9C 8005B19C 3C038012 */ lui $v1, %hi(gCurrentCarInput) # $v1, 0x8012 /* 05BDA0 8005B1A0 3C028012 */ lui $v0, %hi(gActivePlayerButtonPress) # $v0, 0x8012 /* 05BDA4 8005B1A4 2442D52C */ addiu $v0, %lo(gActivePlayerButtonPress) # addiu $v0, $v0, -0x2ad4 -/* 05BDA8 8005B1A8 2463D528 */ addiu $v1, %lo(D_8011D528) # addiu $v1, $v1, -0x2ad8 +/* 05BDA8 8005B1A8 2463D528 */ addiu $v1, %lo(gCurrentCarInput) # addiu $v1, $v1, -0x2ad8 /* 05BDAC 8005B1AC 240B0001 */ li $t3, 1 .L8005B1B0: glabel L8005B1B0 @@ -947,8 +947,8 @@ glabel L8005B1B0 /* 05C028 8005B428 240B0001 */ li $t3, 1 /* 05C02C 8005B42C 130B0008 */ beq $t8, $t3, .L8005B450 /* 05C030 8005B430 3C058012 */ lui $a1, %hi(gActivePlayerButtonPress) # $a1, 0x8012 -/* 05C034 8005B434 3C068012 */ lui $a2, %hi(D_8011D528) # $a2, 0x8012 -/* 05C038 8005B438 8CC6D528 */ lw $a2, %lo(D_8011D528)($a2) +/* 05C034 8005B434 3C068012 */ lui $a2, %hi(gCurrentCarInput) # $a2, 0x8012 +/* 05C038 8005B438 8CC6D528 */ lw $a2, %lo(gCurrentCarInput)($a2) /* 05C03C 8005B43C 8FA400A0 */ lw $a0, 0xa0($sp) /* 05C040 8005B440 8CA5D52C */ lw $a1, %lo(gActivePlayerButtonPress)($a1) /* 05C044 8005B444 8FA700A8 */ lw $a3, 0xa8($sp) diff --git a/asm/non_matchings/racer/obj_init_racer.s b/asm/non_matchings/racer/obj_init_racer.s deleted file mode 100644 index b46ba17c..00000000 --- a/asm/non_matchings/racer/obj_init_racer.s +++ /dev/null @@ -1,234 +0,0 @@ -glabel obj_init_racer -/* 04E6B0 8004DAB0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04E6B4 8004DAB4 44811000 */ mtc1 $at, $f2 -/* 04E6B8 8004DAB8 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 04E6BC 8004DABC 3C018012 */ lui $at, %hi(D_8011D53C) # $at, 0x8012 -/* 04E6C0 8004DAC0 AFBF001C */ sw $ra, 0x1c($sp) -/* 04E6C4 8004DAC4 AFB00018 */ sw $s0, 0x18($sp) -/* 04E6C8 8004DAC8 AC20D53C */ sw $zero, %lo(D_8011D53C)($at) -/* 04E6CC 8004DACC 84AE000C */ lh $t6, 0xc($a1) -/* 04E6D0 8004DAD0 8C900064 */ lw $s0, 0x64($a0) -/* 04E6D4 8004DAD4 A48E0000 */ sh $t6, ($a0) -/* 04E6D8 8004DAD8 84AF000A */ lh $t7, 0xa($a1) -/* 04E6DC 8004DADC 00803825 */ move $a3, $a0 -/* 04E6E0 8004DAE0 A48F0002 */ sh $t7, 2($a0) -/* 04E6E4 8004DAE4 84B80008 */ lh $t8, 8($a1) -/* 04E6E8 8004DAE8 2409FFFF */ li $t1, -1 -/* 04E6EC 8004DAEC A4980004 */ sh $t8, 4($a0) -/* 04E6F0 8004DAF0 84A6000E */ lh $a2, 0xe($a1) -/* 04E6F4 8004DAF4 A2000194 */ sb $zero, 0x194($s0) -/* 04E6F8 8004DAF8 E602008C */ swc1 $f2, 0x8c($s0) -/* 04E6FC 8004DAFC 04C00010 */ bltz $a2, .L8004DB40 -/* 04E700 8004DB00 E6020090 */ swc1 $f2, 0x90($s0) -/* 04E704 8004DB04 28C10004 */ slti $at, $a2, 4 -/* 04E708 8004DB08 1020000D */ beqz $at, .L8004DB40 -/* 04E70C 8004DB0C 00000000 */ nop -/* 04E710 8004DB10 AFA60028 */ sw $a2, 0x28($sp) -/* 04E714 8004DB14 0C003856 */ jal func_8000E158 -/* 04E718 8004DB18 AFA40030 */ sw $a0, 0x30($sp) -/* 04E71C 8004DB1C 8FA60028 */ lw $a2, 0x28($sp) -/* 04E720 8004DB20 8FA70030 */ lw $a3, 0x30($sp) -/* 04E724 8004DB24 10400003 */ beqz $v0, .L8004DB34 -/* 04E728 8004DB28 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 04E72C 8004DB2C 24190001 */ li $t9, 1 -/* 04E730 8004DB30 03263023 */ subu $a2, $t9, $a2 -.L8004DB34: -/* 04E734 8004DB34 44811000 */ mtc1 $at, $f2 -/* 04E738 8004DB38 10000002 */ b .L8004DB44 -/* 04E73C 8004DB3C A6060000 */ sh $a2, ($s0) -.L8004DB40: -/* 04E740 8004DB40 A6090000 */ sh $t1, ($s0) -.L8004DB44: -/* 04E744 8004DB44 84EA0000 */ lh $t2, ($a3) -/* 04E748 8004DB48 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 04E74C 8004DB4C A60A01A0 */ sh $t2, 0x1a0($s0) -/* 04E750 8004DB50 84EB0004 */ lh $t3, 4($a3) -/* 04E754 8004DB54 44812000 */ mtc1 $at, $f4 -/* 04E758 8004DB58 860C01A0 */ lh $t4, 0x1a0($s0) -/* 04E75C 8004DB5C A60B01A4 */ sh $t3, 0x1a4($s0) -/* 04E760 8004DB60 E60400C4 */ swc1 $f4, 0xc4($s0) -/* 04E764 8004DB64 A60C0196 */ sh $t4, 0x196($s0) -/* 04E768 8004DB68 C4E6000C */ lwc1 $f6, 0xc($a3) -/* 04E76C 8004DB6C 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 04E770 8004DB70 E60600D8 */ swc1 $f6, 0xd8($s0) -/* 04E774 8004DB74 44810000 */ mtc1 $at, $f0 -/* 04E778 8004DB78 C4E80010 */ lwc1 $f8, 0x10($a3) -/* 04E77C 8004DB7C 24180003 */ li $t8, 3 -/* 04E780 8004DB80 46004280 */ add.s $f10, $f8, $f0 -/* 04E784 8004DB84 24190001 */ li $t9, 1 -/* 04E788 8004DB88 E60A00DC */ swc1 $f10, 0xdc($s0) -/* 04E78C 8004DB8C C4F00014 */ lwc1 $f16, 0x14($a3) -/* 04E790 8004DB90 24090001 */ li $t1, 1 -/* 04E794 8004DB94 E61000E0 */ swc1 $f16, 0xe0($s0) -/* 04E798 8004DB98 C4F2000C */ lwc1 $f18, 0xc($a3) -/* 04E79C 8004DB9C 2401FFFF */ li $at, -1 -/* 04E7A0 8004DBA0 E61200E4 */ swc1 $f18, 0xe4($s0) -/* 04E7A4 8004DBA4 C4E40010 */ lwc1 $f4, 0x10($a3) -/* 04E7A8 8004DBA8 00000000 */ nop -/* 04E7AC 8004DBAC 46002180 */ add.s $f6, $f4, $f0 -/* 04E7B0 8004DBB0 E60600E8 */ swc1 $f6, 0xe8($s0) -/* 04E7B4 8004DBB4 C4E80014 */ lwc1 $f8, 0x14($a3) -/* 04E7B8 8004DBB8 00000000 */ nop -/* 04E7BC 8004DBBC E60800EC */ swc1 $f8, 0xec($s0) -/* 04E7C0 8004DBC0 C4EA000C */ lwc1 $f10, 0xc($a3) -/* 04E7C4 8004DBC4 00000000 */ nop -/* 04E7C8 8004DBC8 E60A00F0 */ swc1 $f10, 0xf0($s0) -/* 04E7CC 8004DBCC C4F00010 */ lwc1 $f16, 0x10($a3) -/* 04E7D0 8004DBD0 00000000 */ nop -/* 04E7D4 8004DBD4 46008480 */ add.s $f18, $f16, $f0 -/* 04E7D8 8004DBD8 E61200F4 */ swc1 $f18, 0xf4($s0) -/* 04E7DC 8004DBDC C4E40014 */ lwc1 $f4, 0x14($a3) -/* 04E7E0 8004DBE0 00000000 */ nop -/* 04E7E4 8004DBE4 E60400F8 */ swc1 $f4, 0xf8($s0) -/* 04E7E8 8004DBE8 C4E6000C */ lwc1 $f6, 0xc($a3) -/* 04E7EC 8004DBEC 00000000 */ nop -/* 04E7F0 8004DBF0 E60600FC */ swc1 $f6, 0xfc($s0) -/* 04E7F4 8004DBF4 C4E80010 */ lwc1 $f8, 0x10($a3) -/* 04E7F8 8004DBF8 00000000 */ nop -/* 04E7FC 8004DBFC 46004280 */ add.s $f10, $f8, $f0 -/* 04E800 8004DC00 E60A0100 */ swc1 $f10, 0x100($s0) -/* 04E804 8004DC04 C4F00014 */ lwc1 $f16, 0x14($a3) -/* 04E808 8004DC08 00000000 */ nop -/* 04E80C 8004DC0C E6100104 */ swc1 $f16, 0x104($s0) -/* 04E810 8004DC10 C4F2000C */ lwc1 $f18, 0xc($a3) -/* 04E814 8004DC14 00000000 */ nop -/* 04E818 8004DC18 E612005C */ swc1 $f18, 0x5c($s0) -/* 04E81C 8004DC1C C4E40010 */ lwc1 $f4, 0x10($a3) -/* 04E820 8004DC20 00000000 */ nop -/* 04E824 8004DC24 E6040060 */ swc1 $f4, 0x60($s0) -/* 04E828 8004DC28 C4E60014 */ lwc1 $f6, 0x14($a3) -/* 04E82C 8004DC2C 00000000 */ nop -/* 04E830 8004DC30 E6060064 */ swc1 $f6, 0x64($s0) -/* 04E834 8004DC34 8CED004C */ lw $t5, 0x4c($a3) -/* 04E838 8004DC38 C4E8000C */ lwc1 $f8, 0xc($a3) -/* 04E83C 8004DC3C 00000000 */ nop -/* 04E840 8004DC40 E5A80004 */ swc1 $f8, 4($t5) -/* 04E844 8004DC44 8CEE004C */ lw $t6, 0x4c($a3) -/* 04E848 8004DC48 C4EA0010 */ lwc1 $f10, 0x10($a3) -/* 04E84C 8004DC4C 00000000 */ nop -/* 04E850 8004DC50 E5CA0008 */ swc1 $f10, 8($t6) -/* 04E854 8004DC54 8CEF004C */ lw $t7, 0x4c($a3) -/* 04E858 8004DC58 C4F00014 */ lwc1 $f16, 0x14($a3) -/* 04E85C 8004DC5C 00000000 */ nop -/* 04E860 8004DC60 E5F0000C */ swc1 $f16, 0xc($t7) -/* 04E864 8004DC64 86020000 */ lh $v0, ($s0) -/* 04E868 8004DC68 A21801E2 */ sb $t8, 0x1e2($s0) -/* 04E86C 8004DC6C 00025080 */ sll $t2, $v0, 2 -/* 04E870 8004DC70 01425021 */ addu $t2, $t2, $v0 -/* 04E874 8004DC74 A61901AA */ sh $t9, 0x1aa($s0) -/* 04E878 8004DC78 A60901AE */ sh $t1, 0x1ae($s0) -/* 04E87C 8004DC7C A20A01E7 */ sb $t2, 0x1e7($s0) -/* 04E880 8004DC80 E60200A8 */ swc1 $f2, 0xa8($s0) -/* 04E884 8004DC84 A20001FD */ sb $zero, 0x1fd($s0) -/* 04E888 8004DC88 AE000178 */ sw $zero, 0x178($s0) -/* 04E88C 8004DC8C AE00017C */ sw $zero, 0x17c($s0) -/* 04E890 8004DC90 AE000180 */ sw $zero, 0x180($s0) -/* 04E894 8004DC94 AE000218 */ sw $zero, 0x218($s0) -/* 04E898 8004DC98 AE000220 */ sw $zero, 0x220($s0) -/* 04E89C 8004DC9C 1041002B */ beq $v0, $at, .L8004DD4C -/* 04E8A0 8004DCA0 AE00021C */ sw $zero, 0x21c($s0) -/* 04E8A4 8004DCA4 3C028012 */ lui $v0, %hi(D_8011D582) # $v0, 0x8012 -/* 04E8A8 8004DCA8 2442D582 */ addiu $v0, %lo(D_8011D582) # addiu $v0, $v0, -0x2a7e -/* 04E8AC 8004DCAC 804B0000 */ lb $t3, ($v0) -/* 04E8B0 8004DCB0 00C02025 */ move $a0, $a2 -/* 04E8B4 8004DCB4 15600025 */ bnez $t3, .L8004DD4C -/* 04E8B8 8004DCB8 00000000 */ nop -/* 04E8BC 8004DCBC 0C01997A */ jal func_800665E8 -/* 04E8C0 8004DCC0 AFA70030 */ sw $a3, 0x30($sp) -/* 04E8C4 8004DCC4 0C01A73F */ jal func_80069CFC -/* 04E8C8 8004DCC8 00000000 */ nop -/* 04E8CC 8004DCCC 3C038012 */ lui $v1, %hi(gCameraObject) # $v1, 0x8012 -/* 04E8D0 8004DCD0 2463D508 */ addiu $v1, %lo(gCameraObject) # addiu $v1, $v1, -0x2af8 -/* 04E8D4 8004DCD4 AC620000 */ sw $v0, ($v1) -/* 04E8D8 8004DCD8 8FA40030 */ lw $a0, 0x30($sp) -/* 04E8DC 8004DCDC A4400004 */ sh $zero, 4($v0) -/* 04E8E0 8004DCE0 8C6E0000 */ lw $t6, ($v1) -/* 04E8E4 8004DCE4 240D0400 */ li $t5, 1024 -/* 04E8E8 8004DCE8 A5CD0002 */ sh $t5, 2($t6) -/* 04E8EC 8004DCEC 8C780000 */ lw $t8, ($v1) -/* 04E8F0 8004DCF0 860F0196 */ lh $t7, 0x196($s0) -/* 04E8F4 8004DCF4 240800FF */ li $t0, 255 -/* 04E8F8 8004DCF8 A70F0000 */ sh $t7, ($t8) -/* 04E8FC 8004DCFC 8C790000 */ lw $t9, ($v1) -/* 04E900 8004DD00 44809000 */ mtc1 $zero, $f18 -/* 04E904 8004DD04 A7200036 */ sh $zero, 0x36($t9) -/* 04E908 8004DD08 8C690000 */ lw $t1, ($v1) -/* 04E90C 8004DD0C 02002825 */ move $a1, $s0 -/* 04E910 8004DD10 A128003C */ sb $t0, 0x3c($t1) -/* 04E914 8004DD14 8C6A0000 */ lw $t2, ($v1) -/* 04E918 8004DD18 3C063F80 */ lui $a2, 0x3f80 -/* 04E91C 8004DD1C A148003D */ sb $t0, 0x3d($t2) -/* 04E920 8004DD20 8C6B0000 */ lw $t3, ($v1) -/* 04E924 8004DD24 00000000 */ nop -/* 04E928 8004DD28 A168003E */ sb $t0, 0x3e($t3) -/* 04E92C 8004DD2C 8C6C0000 */ lw $t4, ($v1) -/* 04E930 8004DD30 00000000 */ nop -/* 04E934 8004DD34 A188003F */ sb $t0, 0x3f($t4) -/* 04E938 8004DD38 8C6D0000 */ lw $t5, ($v1) -/* 04E93C 8004DD3C 0C015E90 */ jal func_80057A40 -/* 04E940 8004DD40 E5B20018 */ swc1 $f18, 0x18($t5) -/* 04E944 8004DD44 8FA70030 */ lw $a3, 0x30($sp) -/* 04E948 8004DD48 00000000 */ nop -.L8004DD4C: -/* 04E94C 8004DD4C 3C028012 */ lui $v0, %hi(D_8011D582) # $v0, 0x8012 -/* 04E950 8004DD50 2442D582 */ addiu $v0, %lo(D_8011D582) # addiu $v0, $v0, -0x2a7e -/* 04E954 8004DD54 804E0000 */ lb $t6, ($v0) -/* 04E958 8004DD58 240800FF */ li $t0, 255 -/* 04E95C 8004DD5C 15C00007 */ bnez $t6, .L8004DD7C -/* 04E960 8004DD60 00002025 */ move $a0, $zero -/* 04E964 8004DD64 3C018012 */ lui $at, %hi(D_8011D583) # $at, 0x8012 -/* 04E968 8004DD68 A020D583 */ sb $zero, %lo(D_8011D583)($at) -/* 04E96C 8004DD6C 3C018012 */ lui $at, %hi(D_8011D586) # $at, 0x8012 -/* 04E970 8004DD70 A420D586 */ sh $zero, %lo(D_8011D586)($at) -/* 04E974 8004DD74 3C018012 */ lui $at, %hi(D_8011D584) # $at, 0x8012 -/* 04E978 8004DD78 A020D584 */ sb $zero, %lo(D_8011D584)($at) -.L8004DD7C: -/* 04E97C 8004DD7C 8CF8004C */ lw $t8, 0x4c($a3) -/* 04E980 8004DD80 240F0005 */ li $t7, 5 -/* 04E984 8004DD84 A70F0014 */ sh $t7, 0x14($t8) -/* 04E988 8004DD88 8CF9004C */ lw $t9, 0x4c($a3) -/* 04E98C 8004DD8C 2409000F */ li $t1, 15 -/* 04E990 8004DD90 A3200011 */ sb $zero, 0x11($t9) -/* 04E994 8004DD94 8CEA004C */ lw $t2, 0x4c($a3) -/* 04E998 8004DD98 240B0014 */ li $t3, 20 -/* 04E99C 8004DD9C A1490010 */ sb $t1, 0x10($t2) -/* 04E9A0 8004DDA0 8CEC004C */ lw $t4, 0x4c($a3) -/* 04E9A4 8004DDA4 3C018012 */ lui $at, %hi(D_8011D560) # $at, 0x8012 -/* 04E9A8 8004DDA8 A18B0012 */ sb $t3, 0x12($t4) -/* 04E9AC 8004DDAC A20001EE */ sb $zero, 0x1ee($s0) -/* 04E9B0 8004DDB0 804D0000 */ lb $t5, ($v0) -/* 04E9B4 8004DDB4 240E0006 */ li $t6, 6 -/* 04E9B8 8004DDB8 15A00002 */ bnez $t5, .L8004DDC4 -/* 04E9BC 8004DDBC 240F0064 */ li $t7, 100 -/* 04E9C0 8004DDC0 A20801F7 */ sb $t0, 0x1f7($s0) -.L8004DDC4: -/* 04E9C4 8004DDC4 A420D560 */ sh $zero, %lo(D_8011D560)($at) -/* 04E9C8 8004DDC8 3C014396 */ li $at, 0x43960000 # 300.000000 -/* 04E9CC 8004DDCC 44812000 */ mtc1 $at, $f4 -/* 04E9D0 8004DDD0 3C018012 */ lui $at, %hi(D_8011D544) # $at, 0x8012 -/* 04E9D4 8004DDD4 E424D544 */ swc1 $f4, %lo(D_8011D544)($at) -/* 04E9D8 8004DDD8 A20E01C9 */ sb $t6, 0x1c9($s0) -/* 04E9DC 8004DDDC A60F01C6 */ sh $t7, 0x1c6($s0) -/* 04E9E0 8004DDE0 3C018012 */ lui $at, %hi(D_8011D580) # $at, 0x8012 -/* 04E9E4 8004DDE4 A020D580 */ sb $zero, %lo(D_8011D580)($at) -/* 04E9E8 8004DDE8 3C018012 */ lui $at, %hi(D_8011D58F) # $at, 0x8012 -/* 04E9EC 8004DDEC 24020004 */ li $v0, 4 -/* 04E9F0 8004DDF0 A020D58C */ sb $zero, %lo(D_8011D58C)($at) -/* 04E9F4 8004DDF4 A020D58D */ sb $zero, %lo(D_8011D58D)($at) -/* 04E9F8 8004DDF8 A020D58E */ sb $zero, %lo(D_8011D58E)($at) -/* 04E9FC 8004DDFC A020D58F */ sb $zero, %lo(D_8011D58F)($at) -/* 04EA00 8004DE00 AFA20024 */ sw $v0, 0x24($sp) -/* 04EA04 8004DE04 00002825 */ move $a1, $zero -/* 04EA08 8004DE08 0C010FB3 */ jal func_80043ECC -/* 04EA0C 8004DE0C 00003025 */ move $a2, $zero -/* 04EA10 8004DE10 8FA20024 */ lw $v0, 0x24($sp) -/* 04EA14 8004DE14 3C018012 */ lui $at, %hi(D_8011D583) # $at, 0x8012 -/* 04EA18 8004DE18 A022D583 */ sb $v0, %lo(D_8011D583)($at) -/* 04EA1C 8004DE1C 3C018012 */ lui $at, %hi(D_8011D585) # $at, 0x8012 -/* 04EA20 8004DE20 A020D585 */ sb $zero, %lo(D_8011D585)($at) -/* 04EA24 8004DE24 A200020A */ sb $zero, 0x20a($s0) -/* 04EA28 8004DE28 8FBF001C */ lw $ra, 0x1c($sp) -/* 04EA2C 8004DE2C 8FB00018 */ lw $s0, 0x18($sp) -/* 04EA30 8004DE30 03E00008 */ jr $ra -/* 04EA34 8004DE34 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/asm/non_matchings/textures_sprites/func_8007B46C.s b/asm/non_matchings/textures_sprites/func_8007B46C.s deleted file mode 100644 index 82a7028d..00000000 --- a/asm/non_matchings/textures_sprites/func_8007B46C.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_8007B46C -/* 07C06C 8007B46C 18A00014 */ blez $a1, .L8007B4C0 -/* 07C070 8007B470 00000000 */ nop -/* 07C074 8007B474 94820012 */ lhu $v0, 0x12($a0) -/* 07C078 8007B478 00000000 */ nop -/* 07C07C 8007B47C 00027200 */ sll $t6, $v0, 8 -/* 07C080 8007B480 00AE082A */ slt $at, $a1, $t6 -/* 07C084 8007B484 10200008 */ beqz $at, .L8007B4A8 -/* 07C088 8007B488 00024203 */ sra $t0, $v0, 8 -/* 07C08C 8007B48C 84980016 */ lh $t8, 0x16($a0) -/* 07C090 8007B490 00057C03 */ sra $t7, $a1, 0x10 -/* 07C094 8007B494 01F80019 */ multu $t7, $t8 -/* 07C098 8007B498 0000C812 */ mflo $t9 -/* 07C09C 8007B49C 00991021 */ addu $v0, $a0, $t9 -/* 07C0A0 8007B4A0 03E00008 */ jr $ra -/* 07C0A4 8007B4A4 00000000 */ nop - -.L8007B4A8: -/* 07C0A8 8007B4A8 848A0016 */ lh $t2, 0x16($a0) -/* 07C0AC 8007B4AC 2509FFFF */ addiu $t1, $t0, -1 -/* 07C0B0 8007B4B0 012A0019 */ multu $t1, $t2 -/* 07C0B4 8007B4B4 00005812 */ mflo $t3 -/* 07C0B8 8007B4B8 008B2021 */ addu $a0, $a0, $t3 -/* 07C0BC 8007B4BC 00000000 */ nop -.L8007B4C0: -/* 07C0C0 8007B4C0 03E00008 */ jr $ra -/* 07C0C4 8007B4C4 00801025 */ move $v0, $a0 - diff --git a/asm/non_matchings/unknown_003260/audioNewThread.s b/asm/non_matchings/unknown_003260/audioNewThread.s index d11e48ce..bafcfe8c 100644 --- a/asm/non_matchings/unknown_003260/audioNewThread.s +++ b/asm/non_matchings/unknown_003260/audioNewThread.s @@ -246,8 +246,8 @@ glabel audioNewThread /* 003604 80002A04 3C188012 */ lui $t8, %hi(dmaState) # $t8, 0x8012 /* 003608 80002A08 27189230 */ addiu $t8, %lo(dmaState) # addiu $t8, $t8, -0x6dd0 /* 00360C 80002A0C 3C048011 */ lui $a0, %hi(audioThread) # $a0, 0x8011 -/* 003610 80002A10 3C068000 */ lui $a2, %hi(func_80002A98) # $a2, 0x8000 -/* 003614 80002A14 24C62A98 */ addiu $a2, %lo(func_80002A98) # addiu $a2, $a2, 0x2a98 +/* 003610 80002A10 3C068000 */ lui $a2, %hi(thread4_audio) # $a2, 0x8000 +/* 003614 80002A14 24C62A98 */ addiu $a2, %lo(thread4_audio) # addiu $a2, $a2, 0x2a98 /* 003618 80002A18 24845FB0 */ addiu $a0, %lo(audioThread) # addiu $a0, $a0, 0x5fb0 /* 00361C 80002A1C AFB80010 */ sw $t8, 0x10($sp) /* 003620 80002A20 24050004 */ li $a1, 4 diff --git a/asm/non_matchings/unknown_003260/func_80002A98.s b/asm/non_matchings/unknown_003260/func_80002A98.s deleted file mode 100644 index 8f19cae9..00000000 --- a/asm/non_matchings/unknown_003260/func_80002A98.s +++ /dev/null @@ -1,97 +0,0 @@ -glabel func_80002A98 -/* 003698 80002A98 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 00369C 80002A9C AFA40050 */ sw $a0, 0x50($sp) -/* 0036A0 80002AA0 3C048011 */ lui $a0, %hi(D_80115F90) # $a0, 0x8011 -/* 0036A4 80002AA4 AFBF003C */ sw $ra, 0x3c($sp) -/* 0036A8 80002AA8 AFB00018 */ sw $s0, 0x18($sp) -/* 0036AC 80002AAC 8C845F90 */ lw $a0, %lo(D_80115F90)($a0) -/* 0036B0 80002AB0 3C058011 */ lui $a1, %hi(audioStack) # $a1, 0x8011 -/* 0036B4 80002AB4 3C068011 */ lui $a2, %hi(OSMesgQueue_80116160) # $a2, 0x8011 -/* 0036B8 80002AB8 AFBE0038 */ sw $fp, 0x38($sp) -/* 0036BC 80002ABC AFB70034 */ sw $s7, 0x34($sp) -/* 0036C0 80002AC0 AFB60030 */ sw $s6, 0x30($sp) -/* 0036C4 80002AC4 AFB5002C */ sw $s5, 0x2c($sp) -/* 0036C8 80002AC8 AFB40028 */ sw $s4, 0x28($sp) -/* 0036CC 80002ACC AFB30024 */ sw $s3, 0x24($sp) -/* 0036D0 80002AD0 AFB20020 */ sw $s2, 0x20($sp) -/* 0036D4 80002AD4 AFB1001C */ sw $s1, 0x1c($sp) -/* 0036D8 80002AD8 00008025 */ move $s0, $zero -/* 0036DC 80002ADC AFA00048 */ sw $zero, 0x48($sp) -/* 0036E0 80002AE0 AFA00044 */ sw $zero, 0x44($sp) -/* 0036E4 80002AE4 24C66160 */ addiu $a2, %lo(OSMesgQueue_80116160) # addiu $a2, $a2, 0x6160 -/* 0036E8 80002AE8 24A56220 */ addiu $a1, %lo(audioStack) # addiu $a1, $a1, 0x6220 -/* 0036EC 80002AEC 0C01E520 */ jal osScAddClient -/* 0036F0 80002AF0 24070001 */ li $a3, 1 -/* 0036F4 80002AF4 3C1E8011 */ lui $fp, %hi(D_80116198) # $fp, 0x8011 -/* 0036F8 80002AF8 3C16800E */ lui $s6, %hi(audFrameCt) # $s6, 0x800e -/* 0036FC 80002AFC 3C158011 */ lui $s5, %hi(D_80115F98) # $s5, 0x8011 -/* 003700 80002B00 26B55F98 */ addiu $s5, %lo(D_80115F98) # addiu $s5, $s5, 0x5f98 -/* 003704 80002B04 26D6C680 */ addiu $s6, %lo(audFrameCt) # addiu $s6, $s6, -0x3980 -/* 003708 80002B08 27DE6198 */ addiu $fp, %lo(D_80116198) # addiu $fp, $fp, 0x6198 -/* 00370C 80002B0C 24170003 */ li $s7, 3 -/* 003710 80002B10 2414000A */ li $s4, 10 -/* 003714 80002B14 24130004 */ li $s3, 4 -/* 003718 80002B18 24120001 */ li $s2, 1 -/* 00371C 80002B1C 27B10048 */ addiu $s1, $sp, 0x48 -.L80002B20: -/* 003720 80002B20 3C048011 */ lui $a0, %hi(OSMesgQueue_80116160) # $a0, 0x8011 -/* 003724 80002B24 24846160 */ addiu $a0, %lo(OSMesgQueue_80116160) # addiu $a0, $a0, 0x6160 -/* 003728 80002B28 02202825 */ move $a1, $s1 -/* 00372C 80002B2C 0C0322EC */ jal osRecvMesg -/* 003730 80002B30 02403025 */ move $a2, $s2 -/* 003734 80002B34 8FAE0048 */ lw $t6, 0x48($sp) -/* 003738 80002B38 00000000 */ nop -/* 00373C 80002B3C 85C20000 */ lh $v0, ($t6) -/* 003740 80002B40 00000000 */ nop -/* 003744 80002B44 10520007 */ beq $v0, $s2, .L80002B64 -/* 003748 80002B48 00000000 */ nop -/* 00374C 80002B4C 1053001B */ beq $v0, $s3, .L80002BBC -/* 003750 80002B50 00000000 */ nop -/* 003754 80002B54 10540018 */ beq $v0, $s4, .L80002BB8 -/* 003758 80002B58 00000000 */ nop -/* 00375C 80002B5C 10000017 */ b .L80002BBC -/* 003760 80002B60 00000000 */ nop -.L80002B64: -/* 003764 80002B64 8ECF0000 */ lw $t7, ($s6) -/* 003768 80002B68 8FA50044 */ lw $a1, 0x44($sp) -/* 00376C 80002B6C 01F7001B */ divu $zero, $t7, $s7 -/* 003770 80002B70 16E00002 */ bnez $s7, .L80002B7C -/* 003774 80002B74 00000000 */ nop -/* 003778 80002B78 0007000D */ break 7 -.L80002B7C: -/* 00377C 80002B7C 0000C010 */ mfhi $t8 -/* 003780 80002B80 0018C880 */ sll $t9, $t8, 2 -/* 003784 80002B84 02B94021 */ addu $t0, $s5, $t9 -/* 003788 80002B88 8D040008 */ lw $a0, 8($t0) -/* 00378C 80002B8C 0C000B00 */ jal func_80002C00 -/* 003790 80002B90 00000000 */ nop -/* 003794 80002B94 03C02025 */ move $a0, $fp -/* 003798 80002B98 27A50044 */ addiu $a1, $sp, 0x44 -/* 00379C 80002B9C 0C0322EC */ jal osRecvMesg -/* 0037A0 80002BA0 02403025 */ move $a2, $s2 -/* 0037A4 80002BA4 8FA40044 */ lw $a0, 0x44($sp) -/* 0037A8 80002BA8 0C000B7E */ jal func_80002DF8 -/* 0037AC 80002BAC 00000000 */ nop -/* 0037B0 80002BB0 10000002 */ b .L80002BBC -/* 0037B4 80002BB4 00000000 */ nop -.L80002BB8: -/* 0037B8 80002BB8 02408025 */ move $s0, $s2 -.L80002BBC: -/* 0037BC 80002BBC 1200FFD8 */ beqz $s0, .L80002B20 -/* 0037C0 80002BC0 00000000 */ nop -/* 0037C4 80002BC4 3C048011 */ lui $a0, %hi(ALGlobals_801161D0) # $a0, 0x8011 -/* 0037C8 80002BC8 0C0321ED */ jal alClose -/* 0037CC 80002BCC 248461D0 */ addiu $a0, %lo(ALGlobals_801161D0) # addiu $a0, $a0, 0x61d0 -/* 0037D0 80002BD0 8FBF003C */ lw $ra, 0x3c($sp) -/* 0037D4 80002BD4 8FB00018 */ lw $s0, 0x18($sp) -/* 0037D8 80002BD8 8FB1001C */ lw $s1, 0x1c($sp) -/* 0037DC 80002BDC 8FB20020 */ lw $s2, 0x20($sp) -/* 0037E0 80002BE0 8FB30024 */ lw $s3, 0x24($sp) -/* 0037E4 80002BE4 8FB40028 */ lw $s4, 0x28($sp) -/* 0037E8 80002BE8 8FB5002C */ lw $s5, 0x2c($sp) -/* 0037EC 80002BEC 8FB60030 */ lw $s6, 0x30($sp) -/* 0037F0 80002BF0 8FB70034 */ lw $s7, 0x34($sp) -/* 0037F4 80002BF4 8FBE0038 */ lw $fp, 0x38($sp) -/* 0037F8 80002BF8 03E00008 */ jr $ra -/* 0037FC 80002BFC 27BD0050 */ addiu $sp, $sp, 0x50 - diff --git a/asm/non_matchings/unknown_078050/setupOSTasks.s b/asm/non_matchings/unknown_078050/setupOSTasks.s index 7a39ce56..d8cd1ff0 100644 --- a/asm/non_matchings/unknown_078050/setupOSTasks.s +++ b/asm/non_matchings/unknown_078050/setupOSTasks.s @@ -37,21 +37,21 @@ glabel setupOSTasks /* 0780D8 800774D8 ACEA0050 */ sw $t2, 0x50($a3) /* 0780DC 800774DC ACEE0014 */ sw $t6, 0x14($a3) /* 0780E0 800774E0 01E3C023 */ subu $t8, $t7, $v1 -/* 0780E4 800774E4 3C0C8012 */ lui $t4, %hi(D_801246A0) # $t4, 0x8012 +/* 0780E4 800774E4 3C0C8012 */ lui $t4, %hi(gGfxSPTaskYieldBuffer) # $t4, 0x8012 /* 0780E8 800774E8 3C0D8012 */ lui $t5, %hi(D_80125EA0) # $t5, 0x8012 /* 0780EC 800774EC 344200FF */ ori $v0, (0xFF0000FF & 0xFFFF) # ori $v0, $v0, 0xff /* 0780F0 800774F0 ACE90008 */ sw $t1, 8($a3) /* 0780F4 800774F4 3C19800E */ lui $t9, %hi(rspF3DDKRXbusStart) # $t9, 0x800e /* 0780F8 800774F8 3C08800F */ lui $t0, %hi(rspF3DDKRDataXbusStart) # $t0, 0x800f -/* 0780FC 800774FC 3C0A8012 */ lui $t2, %hi(D_801242A0) # $t2, 0x8012 -/* 078100 80077500 258C46A0 */ addiu $t4, %lo(D_801246A0) # addiu $t4, $t4, 0x46a0 +/* 0780FC 800774FC 3C0A8012 */ lui $t2, %hi(gDramStack) # $t2, 0x8012 +/* 078100 80077500 258C46A0 */ addiu $t4, %lo(gGfxSPTaskYieldBuffer) # addiu $t4, $t4, 0x46a0 /* 078104 80077504 25AD5EA0 */ addiu $t5, %lo(D_80125EA0) # addiu $t5, $t5, 0x5ea0 /* 078108 80077508 3C0E8012 */ lui $t6, %hi(D_801271B0) # $t6, 0x8012 /* 07810C 8007750C ACF8001C */ sw $t8, 0x1c($a3) /* 078110 80077510 2739A970 */ addiu $t9, %lo(rspF3DDKRXbusStart) # addiu $t9, $t9, -0x5690 /* 078114 80077514 2508ABA0 */ addiu $t0, %lo(rspF3DDKRDataXbusStart) # addiu $t0, $t0, -0x5460 /* 078118 80077518 24090800 */ li $t1, 2048 -/* 07811C 8007751C 254A42A0 */ addiu $t2, %lo(D_801242A0) # addiu $t2, $t2, 0x42a0 +/* 07811C 8007751C 254A42A0 */ addiu $t2, %lo(gDramStack) # addiu $t2, $t2, 0x42a0 /* 078120 80077520 240B0400 */ li $t3, 1024 /* 078124 80077524 ACEC0038 */ sw $t4, 0x38($a3) /* 078128 80077528 ACED003C */ sw $t5, 0x3c($a3) @@ -125,14 +125,14 @@ glabel setupOSTasks /* 078230 80077630 ACEC0014 */ sw $t4, 0x14($a3) /* 078234 80077634 25EFA970 */ addiu $t7, %lo(rspF3DDKRXbusStart) # addiu $t7, $t7, -0x5690 /* 078238 80077638 3C18800F */ lui $t8, %hi(rspF3DDKRDataXbusStart) # $t8, 0x800f -/* 07823C 8007763C 3C088012 */ lui $t0, %hi(D_801242A0) # $t0, 0x8012 +/* 07823C 8007763C 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 /* 078240 80077640 3C0A8012 */ lui $t2, %hi(D_801271B0) # $t2, 0x8012 /* 078244 80077644 3C0D8012 */ lui $t5, %hi(D_80125ED8) # $t5, 0x8012 /* 078248 80077648 3C0E800E */ lui $t6, %hi(D_800DE490) # $t6, 0x800e /* 07824C 8007764C ACEF0020 */ sw $t7, 0x20($a3) /* 078250 80077650 2718ABA0 */ addiu $t8, %lo(rspF3DDKRDataXbusStart) # addiu $t8, $t8, -0x5460 /* 078254 80077654 24190800 */ li $t9, 2048 -/* 078258 80077658 250842A0 */ addiu $t0, %lo(D_801242A0) # addiu $t0, $t0, 0x42a0 +/* 078258 80077658 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 /* 07825C 8007765C 24090400 */ li $t1, 1024 /* 078260 80077660 254A71B0 */ addiu $t2, %lo(D_801271B0) # addiu $t2, $t2, 0x71b0 /* 078264 80077664 240B0A00 */ li $t3, 2560 @@ -230,16 +230,16 @@ glabel setupOSTasks /* 0783C4 800777C4 ACF80028 */ sw $t8, 0x28($a3) /* 0783C8 800777C8 ACEE001C */ sw $t6, 0x1c($a3) /* 0783CC 800777CC 24190800 */ li $t9, 2048 -/* 0783D0 800777D0 3C088012 */ lui $t0, %hi(D_801242A0) # $t0, 0x8012 -/* 0783D4 800777D4 3C0A8012 */ lui $t2, %hi(D_801246A0) # $t2, 0x8012 +/* 0783D0 800777D0 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 +/* 0783D4 800777D4 3C0A8012 */ lui $t2, %hi(gGfxSPTaskYieldBuffer) # $t2, 0x8012 /* 0783D8 800777D8 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 /* 0783DC 800777DC 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 /* 0783E0 800777E0 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 /* 0783E4 800777E4 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e /* 0783E8 800777E8 ACF9002C */ sw $t9, 0x2c($a3) -/* 0783EC 800777EC 250842A0 */ addiu $t0, %lo(D_801242A0) # addiu $t0, $t0, 0x42a0 +/* 0783EC 800777EC 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 /* 0783F0 800777F0 24090400 */ li $t1, 1024 -/* 0783F4 800777F4 254A46A0 */ addiu $t2, %lo(D_801246A0) # addiu $t2, $t2, 0x46a0 +/* 0783F4 800777F4 254A46A0 */ addiu $t2, %lo(gGfxSPTaskYieldBuffer) # addiu $t2, $t2, 0x46a0 /* 0783F8 800777F8 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 /* 0783FC 800777FC 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 /* 078400 80077800 240D0A00 */ li $t5, 2560 @@ -335,17 +335,17 @@ glabel setupOSTasks /* 078558 80077958 ACF80028 */ sw $t8, 0x28($a3) /* 07855C 8007795C ACEE001C */ sw $t6, 0x1c($a3) /* 078560 80077960 24190800 */ li $t9, 2048 -/* 078564 80077964 3C088012 */ lui $t0, %hi(D_801242A0) # $t0, 0x8012 -/* 078568 80077968 3C0A8012 */ lui $t2, %hi(D_801246A0) # $t2, 0x8012 +/* 078564 80077964 3C088012 */ lui $t0, %hi(gDramStack) # $t0, 0x8012 +/* 078568 80077968 3C0A8012 */ lui $t2, %hi(gGfxSPTaskYieldBuffer) # $t2, 0x8012 /* 07856C 8007796C 3C0B8012 */ lui $t3, %hi(D_80125EA0) # $t3, 0x8012 /* 078570 80077970 3C0C8012 */ lui $t4, %hi(D_801271B0) # $t4, 0x8012 /* 078574 80077974 3C0F8012 */ lui $t7, %hi(D_80125ED8) # $t7, 0x8012 /* 078578 80077978 3C18800E */ lui $t8, %hi(D_800DE490) # $t8, 0x800e /* 07857C 8007797C ACE20018 */ sw $v0, 0x18($a3) /* 078580 80077980 ACF9002C */ sw $t9, 0x2c($a3) -/* 078584 80077984 250842A0 */ addiu $t0, %lo(D_801242A0) # addiu $t0, $t0, 0x42a0 +/* 078584 80077984 250842A0 */ addiu $t0, %lo(gDramStack) # addiu $t0, $t0, 0x42a0 /* 078588 80077988 24090400 */ li $t1, 1024 -/* 07858C 8007798C 254A46A0 */ addiu $t2, %lo(D_801246A0) # addiu $t2, $t2, 0x46a0 +/* 07858C 8007798C 254A46A0 */ addiu $t2, %lo(gGfxSPTaskYieldBuffer) # addiu $t2, $t2, 0x46a0 /* 078590 80077990 256B5EA0 */ addiu $t3, %lo(D_80125EA0) # addiu $t3, $t3, 0x5ea0 /* 078594 80077994 258C71B0 */ addiu $t4, %lo(D_801271B0) # addiu $t4, $t4, 0x71b0 /* 078598 80077998 240D0A00 */ li $t5, 2560 diff --git a/asm/unknown_070110.s b/asm/unknown_070110.s index 84875cd2..f0aac61d 100644 --- a/asm/unknown_070110.s +++ b/asm/unknown_070110.s @@ -52,9 +52,9 @@ glabel D_800DD434 glabel D_800DD438 .word 0x5141564D -glabel D_800DD43C +glabel gSineTable .half 0x0000, 0x0032, 0x0065, 0x0097, 0x00C9, 0x00FB, 0x012E, 0x0160, 0x0192, 0x01C4, 0x01F7, 0x0229, 0x025B, 0x028D, 0x02C0, 0x02F2, 0x0324, 0x0356, 0x0389, 0x03BB, 0x03ED, 0x041F, 0x0452, 0x0484, 0x04B6, 0x04E8, 0x051B, 0x054D, 0x057F, 0x05B1, 0x05E3, 0x0616, 0x0648, 0x067A, 0x06AC, 0x06DE, 0x0711, 0x0743, 0x0775, 0x07A7, 0x07D9, 0x080C, 0x083E, 0x0870, 0x08A2, 0x08D4, 0x0906, 0x0938, 0x096B, 0x099D, 0x09CF, 0x0A01, 0x0A33, 0x0A65, 0x0A97, 0x0AC9, 0x0AFB, 0x0B2D, 0x0B60, 0x0B92, 0x0BC4, 0x0BF6, 0x0C28, 0x0C5A, 0x0C8C, 0x0CBE, 0x0CF0, 0x0D22, 0x0D54, 0x0D86, 0x0DB8, 0x0DEA, 0x0E1C, 0x0E4E, 0x0E80, 0x0EB2, 0x0EE4, 0x0F15, 0x0F47, 0x0F79, 0x0FAB, 0x0FDD, 0x100F, 0x1041, 0x1073, 0x10A4, 0x10D6, 0x1108, 0x113A, 0x116C, 0x119E, 0x11CF, 0x1201, 0x1233, 0x1265, 0x1296, 0x12C8, 0x12FA, 0x132B, 0x135D, 0x138F, 0x13C1, 0x13F2, 0x1424, 0x1455, 0x1487, 0x14B9, 0x14EA, 0x151C, 0x154D, 0x157F, 0x15B1, 0x15E2, 0x1614, 0x1645, 0x1677, 0x16A8, 0x16DA, 0x170B, 0x173C, 0x176E, 0x179F, 0x17D1, 0x1802, 0x1833, 0x1865, 0x1896, 0x18C7, 0x18F9, 0x192A, 0x195B, 0x198D, 0x19BE, 0x19EF, 0x1A20, 0x1A51, 0x1A83, 0x1AB4, 0x1AE5, 0x1B16, 0x1B47, 0x1B78, 0x1BA9, 0x1BDA, 0x1C0C, 0x1C3D, 0x1C6E, 0x1C9F, 0x1CD0, 0x1D01, 0x1D31, 0x1D62, 0x1D93, 0x1DC4, 0x1DF5, 0x1E26, 0x1E57, 0x1E88, 0x1EB8, 0x1EE9, 0x1F1A, 0x1F4B, 0x1F7B, 0x1FAC, 0x1FDD, 0x200E, 0x203E, 0x206F, 0x209F, 0x20D0, 0x2101, 0x2131, 0x2162, 0x2192, 0x21C3, 0x21F3, 0x2224, 0x2254, 0x2284, 0x22B5, 0x22E5, 0x2316, 0x2346, 0x2376, 0x23A7, 0x23D7, 0x2407, 0x2437, 0x2467, 0x2498, 0x24C8, 0x24F8, 0x2528, 0x2558, 0x2588, 0x25B8, 0x25E8, 0x2618, 0x2648, 0x2678, 0x26A8, 0x26D8, 0x2708, 0x2738, 0x2768, 0x2797, 0x27C7, 0x27F7, 0x2827, 0x2856, 0x2886, 0x28B6, 0x28E5, 0x2915, 0x2945, 0x2974, 0x29A4, 0x29D3, 0x2A03, 0x2A32, 0x2A62, 0x2A91, 0x2AC1, 0x2AF0, 0x2B1F, 0x2B4F, 0x2B7E, 0x2BAD, 0x2BDC, 0x2C0C, 0x2C3B, 0x2C6A, 0x2C99, 0x2CC8, 0x2CF7, 0x2D26, 0x2D55, 0x2D84, 0x2DB3, 0x2DE2, 0x2E11, 0x2E40, 0x2E6F, 0x2E9E, 0x2ECC, 0x2EFB, 0x2F2A, 0x2F59, 0x2F87, 0x2FB6, 0x2FE5, 0x3013, 0x3042, 0x3070, 0x309F, 0x30CD, 0x30FC, 0x312A, 0x3159, 0x3187, 0x31B5, 0x31E4, 0x3212, 0x3240, 0x326E, 0x329D, 0x32CB, 0x32F9, 0x3327, 0x3355, 0x3383, 0x33B1, 0x33DF, 0x340D, 0x343B, 0x3469, 0x3497, 0x34C4, 0x34F2, 0x3520, 0x354E, 0x357B, 0x35A9, 0x35D7, 0x3604, 0x3632, 0x365F, 0x368D, 0x36BA, 0x36E8, 0x3715, 0x3742, 0x3770, 0x379D, 0x37CA, 0x37F7, 0x3825, 0x3852, 0x387F, 0x38AC, 0x38D9, 0x3906, 0x3933, 0x3960, 0x398D, 0x39BA, 0x39E7, 0x3A13, 0x3A40, 0x3A6D, 0x3A9A, 0x3AC6, 0x3AF3, 0x3B20, 0x3B4C, 0x3B79, 0x3BA5, 0x3BD2, 0x3BFE, 0x3C2A, 0x3C57, 0x3C83, 0x3CAF, 0x3CDC, 0x3D08, 0x3D34, 0x3D60, 0x3D8C, 0x3DB8, 0x3DE4, 0x3E10, 0x3E3C, 0x3E68, 0x3E94, 0x3EC0, 0x3EEC, 0x3F17, 0x3F43, 0x3F6F, 0x3F9A, 0x3FC6, 0x3FF1, 0x401D, 0x4048, 0x4074, 0x409F, 0x40CB, 0x40F6, 0x4121, 0x414D, 0x4178, 0x41A3, 0x41CE, 0x41F9, 0x4224, 0x424F, 0x427A, 0x42A5, 0x42D0, 0x42FB, 0x4326, 0x4351, 0x437B, 0x43A6, 0x43D1, 0x43FB, 0x4426, 0x4450, 0x447B, 0x44A5, 0x44D0, 0x44FA, 0x4524, 0x454F, 0x4579, 0x45A3, 0x45CD, 0x45F7, 0x4621, 0x464B, 0x4675, 0x469F, 0x46C9, 0x46F3, 0x471D, 0x4747, 0x4770, 0x479A, 0x47C4, 0x47ED, 0x4817, 0x4840, 0x486A, 0x4893, 0x48BD, 0x48E6, 0x490F, 0x4939, 0x4962, 0x498B, 0x49B4, 0x49DD, 0x4A06, 0x4A2F, 0x4A58, 0x4A81, 0x4AAA, 0x4AD3, 0x4AFB, 0x4B24, 0x4B4D, 0x4B75, 0x4B9E, 0x4BC7, 0x4BEF, 0x4C17, 0x4C40, 0x4C68, 0x4C91, 0x4CB9, 0x4CE1, 0x4D09, 0x4D31, 0x4D59, 0x4D81, 0x4DA9, 0x4DD1, 0x4DF9, 0x4E21, 0x4E49, 0x4E71, 0x4E98, 0x4EC0, 0x4EE8, 0x4F0F, 0x4F37, 0x4F5E, 0x4F85, 0x4FAD, 0x4FD4, 0x4FFB, 0x5023, 0x504A, 0x5071, 0x5098, 0x50BF, 0x50E6, 0x510D, 0x5134, 0x515B, 0x5181, 0x51A8, 0x51CF, 0x51F5, 0x521C, 0x5243, 0x5269, 0x5290, 0x52B6, 0x52DC, 0x5303, 0x5329, 0x534F, 0x5375, 0x539B, 0x53C1, 0x53E7, 0x540D, 0x5433, 0x5459, 0x547F, 0x54A4, 0x54CA, 0x54F0, 0x5515, 0x553B, 0x5560, 0x5586, 0x55AB, 0x55D0, 0x55F6, 0x561B, 0x5640, 0x5665, 0x568A, 0x56AF, 0x56D4, 0x56F9, 0x571E, 0x5743, 0x5767, 0x578C, 0x57B1, 0x57D5, 0x57FA, 0x581E, 0x5843, 0x5867, 0x588C, 0x58B0, 0x58D4, 0x58F8, 0x591C, 0x5940, 0x5964, 0x5988, 0x59AC, 0x59D0, 0x59F4, 0x5A18, 0x5A3B, 0x5A5F, 0x5A82, 0x5AA6, 0x5AC9, 0x5AED, 0x5B10, 0x5B34, 0x5B57, 0x5B7A, 0x5B9D, 0x5BC0, 0x5BE3, 0x5C06, 0x5C29, 0x5C4C, 0x5C6F, 0x5C91, 0x5CB4, 0x5CD7, 0x5CF9, 0x5D1C, 0x5D3E, 0x5D61, 0x5D83, 0x5DA5, 0x5DC8, 0x5DEA, 0x5E0C, 0x5E2E, 0x5E50, 0x5E72, 0x5E94, 0x5EB6, 0x5ED7, 0x5EF9, 0x5F1B, 0x5F3C, 0x5F5E, 0x5F80, 0x5FA1, 0x5FC2, 0x5FE4, 0x6005, 0x6026, 0x6047, 0x6068, 0x6089, 0x60AA, 0x60CB, 0x60EC, 0x610D, 0x612E, 0x614E, 0x616F, 0x6190, 0x61B0, 0x61D1, 0x61F1, 0x6211, 0x6232, 0x6252, 0x6272, 0x6292, 0x62B2, 0x62D2, 0x62F2, 0x6312, 0x6332, 0x6351, 0x6371, 0x6391, 0x63B0, 0x63D0, 0x63EF, 0x640F, 0x642E, 0x644D, 0x646C, 0x648B, 0x64AB, 0x64CA, 0x64E9, 0x6507, 0x6526, 0x6545, 0x6564, 0x6582, 0x65A1, 0x65C0, 0x65DE, 0x65FC, 0x661B, 0x6639, 0x6657, 0x6675, 0x6693, 0x66B2, 0x66D0, 0x66ED, 0x670B, 0x6729, 0x6747, 0x6764, 0x6782, 0x67A0, 0x67BD, 0x67DA, 0x67F8, 0x6815, 0x6832, 0x6850, 0x686D, 0x688A, 0x68A7, 0x68C4, 0x68E0, 0x68FD, 0x691A, 0x6937, 0x6953, 0x6970, 0x698C, 0x69A9, 0x69C5, 0x69E1, 0x69FD, 0x6A1A, 0x6A36, 0x6A52, 0x6A6E, 0x6A89, 0x6AA5, 0x6AC1, 0x6ADD, 0x6AF8, 0x6B14, 0x6B30, 0x6B4B, 0x6B66, 0x6B82, 0x6B9D, 0x6BB8, 0x6BD3, 0x6BEE, 0x6C09, 0x6C24, 0x6C3F, 0x6C5A, 0x6C75, 0x6C8F, 0x6CAA, 0x6CC4, 0x6CDF, 0x6CF9, 0x6D14, 0x6D2E, 0x6D48, 0x6D62, 0x6D7C, 0x6D96, 0x6DB0, 0x6DCA, 0x6DE4, 0x6DFE, 0x6E17, 0x6E31, 0x6E4A, 0x6E64, 0x6E7D, 0x6E97, 0x6EB0, 0x6EC9, 0x6EE2, 0x6EFB, 0x6F14, 0x6F2D, 0x6F46, 0x6F5F, 0x6F78, 0x6F90, 0x6FA9, 0x6FC2, 0x6FDA, 0x6FF2, 0x700B, 0x7023, 0x703B, 0x7053, 0x706B, 0x7083, 0x709B, 0x70B3, 0x70CB, 0x70E3, 0x70FA, 0x7112, 0x712A, 0x7141, 0x7158, 0x7170, 0x7187, 0x719E, 0x71B5, 0x71CC, 0x71E3, 0x71FA, 0x7211, 0x7228, 0x723F, 0x7255, 0x726C, 0x7282, 0x7299, 0x72AF, 0x72C5, 0x72DC, 0x72F2, 0x7308, 0x731E, 0x7334, 0x734A, 0x735F, 0x7375, 0x738B, 0x73A0, 0x73B6, 0x73CB, 0x73E1, 0x73F6, 0x740B, 0x7421, 0x7436, 0x744B, 0x7460, 0x7475, 0x7489, 0x749E, 0x74B3, 0x74C7, 0x74DC, 0x74F0, 0x7505, 0x7519, 0x752D, 0x7542, 0x7556, 0x756A, 0x757E, 0x7592, 0x75A6, 0x75B9, 0x75CD, 0x75E1, 0x75F4, 0x7608, 0x761B, 0x762E, 0x7642, 0x7655, 0x7668, 0x767B, 0x768E, 0x76A1, 0x76B4, 0x76C7, 0x76D9, 0x76EC, 0x76FE, 0x7711, 0x7723, 0x7736, 0x7748, 0x775A, 0x776C, 0x777E, 0x7790, 0x77A2, 0x77B4, 0x77C6, 0x77D8, 0x77E9, 0x77FB, 0x780C, 0x781E, 0x782F, 0x7840, 0x7851, 0x7863, 0x7874, 0x7885, 0x7895, 0x78A6, 0x78B7, 0x78C8, 0x78D8, 0x78E9, 0x78F9, 0x790A, 0x791A, 0x792A, 0x793A, 0x794A, 0x795B, 0x796A, 0x797A, 0x798A, 0x799A, 0x79AA, 0x79B9, 0x79C9, 0x79D8, 0x79E7, 0x79F7, 0x7A06, 0x7A15, 0x7A24, 0x7A33, 0x7A42, 0x7A51, 0x7A60, 0x7A6E, 0x7A7D, 0x7A8C, 0x7A9A, 0x7AA8, 0x7AB7, 0x7AC5, 0x7AD3, 0x7AE1, 0x7AEF, 0x7AFD, 0x7B0B, 0x7B19, 0x7B27, 0x7B34, 0x7B42, 0x7B50, 0x7B5D, 0x7B6A, 0x7B78, 0x7B85, 0x7B92, 0x7B9F, 0x7BAC, 0x7BB9, 0x7BC6, 0x7BD3, 0x7BDF, 0x7BEC, 0x7BF9, 0x7C05, 0x7C11, 0x7C1E, 0x7C2A, 0x7C36, 0x7C42, 0x7C4E, 0x7C5A, 0x7C66, 0x7C72, 0x7C7E, 0x7C89, 0x7C95, 0x7CA0, 0x7CAC, 0x7CB7, 0x7CC2, 0x7CCE, 0x7CD9, 0x7CE4, 0x7CEF, 0x7CFA, 0x7D05, 0x7D0F, 0x7D1A, 0x7D25, 0x7D2F, 0x7D3A, 0x7D44, 0x7D4E, 0x7D58, 0x7D63, 0x7D6D, 0x7D77, 0x7D81, 0x7D8A, 0x7D94, 0x7D9E, 0x7DA7, 0x7DB1, 0x7DBA, 0x7DC4, 0x7DCD, 0x7DD6, 0x7DE0, 0x7DE9, 0x7DF2, 0x7DFB, 0x7E03, 0x7E0C, 0x7E15, 0x7E1E, 0x7E26, 0x7E2F, 0x7E37, 0x7E3F, 0x7E48, 0x7E50, 0x7E58, 0x7E60, 0x7E68, 0x7E70, 0x7E78, 0x7E7F, 0x7E87, 0x7E8E, 0x7E96, 0x7E9D, 0x7EA5, 0x7EAC, 0x7EB3, 0x7EBA, 0x7EC1, 0x7EC8, 0x7ECF, 0x7ED6, 0x7EDD, 0x7EE3, 0x7EEA, 0x7EF0, 0x7EF7, 0x7EFD, 0x7F03, 0x7F0A, 0x7F10, 0x7F16, 0x7F1C, 0x7F22, 0x7F27, 0x7F2D, 0x7F33, 0x7F38, 0x7F3E, 0x7F43, 0x7F49, 0x7F4E, 0x7F53, 0x7F58, 0x7F5D, 0x7F62, 0x7F67, 0x7F6C, 0x7F71, 0x7F75, 0x7F7A, 0x7F7E, 0x7F83, 0x7F87, 0x7F8B, 0x7F90, 0x7F94, 0x7F98, 0x7F9C, 0x7FA0, 0x7FA3, 0x7FA7, 0x7FAB, 0x7FAE, 0x7FB2, 0x7FB5, 0x7FB9, 0x7FBC, 0x7FBF, 0x7FC2, 0x7FC5, 0x7FC8, 0x7FCB, 0x7FCE, 0x7FD1, 0x7FD3, 0x7FD6, 0x7FD9, 0x7FDB, 0x7FDD, 0x7FE0, 0x7FE2, 0x7FE4, 0x7FE6, 0x7FE8, 0x7FEA, 0x7FEC, 0x7FED, 0x7FEF, 0x7FF1, 0x7FF2, 0x7FF4, 0x7FF5, 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFF, 0x7FFF, 0x7FFF, 0x8000, 0x8000, 0x8000, 0x8000 -glabel D_800DDC3E +glabel gArcTanTable .half 0x0000, 0x000A, 0x0014, 0x001F, 0x0029, 0x0033, 0x003D, 0x0047, 0x0051, 0x005C, 0x0066, 0x0070, 0x007A, 0x0084, 0x008F, 0x0099, 0x00A3, 0x00AD, 0x00B7, 0x00C2, 0x00CC, 0x00D6, 0x00E0, 0x00EA, 0x00F4, 0x00FF, 0x0109, 0x0113, 0x011D, 0x0127, 0x0131, 0x013C, 0x0146, 0x0150, 0x015A, 0x0164, 0x016F, 0x0179, 0x0183, 0x018D, 0x0197, 0x01A1, 0x01AC, 0x01B6, 0x01C0, 0x01CA, 0x01D4, 0x01DE, 0x01E9, 0x01F3, 0x01FD, 0x0207, 0x0211, 0x021B, 0x0226, 0x0230, 0x023A, 0x0244, 0x024E, 0x0258, 0x0262, 0x026D, 0x0277, 0x0281, 0x028B, 0x0295, 0x029F, 0x02A9, 0x02B4, 0x02BE, 0x02C8, 0x02D2, 0x02DC, 0x02E6, 0x02F0, 0x02FB, 0x0305, 0x030F, 0x0319, 0x0323, 0x032D, 0x0337, 0x0341, 0x034C, 0x0356, 0x0360, 0x036A, 0x0374, 0x037E, 0x0388, 0x0392, 0x039C, 0x03A7, 0x03B1, 0x03BB, 0x03C5, 0x03CF, 0x03D9, 0x03E3, 0x03ED, 0x03F7, 0x0401, 0x040C, 0x0416, 0x0420, 0x042A, 0x0434, 0x043E, 0x0448, 0x0452, 0x045C, 0x0466, 0x0470, 0x047A, 0x0484, 0x048E, 0x0499, 0x04A3, 0x04AD, 0x04B7, 0x04C1, 0x04CB, 0x04D5, 0x04DF, 0x04E9, 0x04F3, 0x04FD, 0x0507, 0x0511, 0x051B, 0x0525, 0x052F, 0x0539, 0x0543, 0x054D, 0x0557, 0x0561, 0x056B, 0x0575, 0x057F, 0x0589, 0x0593, 0x059D, 0x05A7, 0x05B1, 0x05BB, 0x05C5, 0x05CF, 0x05D9, 0x05E3, 0x05ED, 0x05F7, 0x0601, 0x060B, 0x0615, 0x061F, 0x0629, 0x0633, 0x063D, 0x0647, 0x0651, 0x065B, 0x0665, 0x066E, 0x0678, 0x0682, 0x068C, 0x0696, 0x06A0, 0x06AA, 0x06B4, 0x06BE, 0x06C8, 0x06D2, 0x06DC, 0x06E5, 0x06EF, 0x06F9, 0x0703, 0x070D, 0x0717, 0x0721, 0x072B, 0x0735, 0x073E, 0x0748, 0x0752, 0x075C, 0x0766, 0x0770, 0x077A, 0x0783, 0x078D, 0x0797, 0x07A1, 0x07AB, 0x07B5, 0x07BE, 0x07C8, 0x07D2, 0x07DC, 0x07E6, 0x07EF, 0x07F9, 0x0803, 0x080D, 0x0817, 0x0820, 0x082A, 0x0834, 0x083E, 0x0848, 0x0851, 0x085B, 0x0865, 0x086F, 0x0878, 0x0882, 0x088C, 0x0896, 0x089F, 0x08A9, 0x08B3, 0x08BD, 0x08C6, 0x08D0, 0x08DA, 0x08E3, 0x08ED, 0x08F7, 0x0901, 0x090A, 0x0914, 0x091E, 0x0927, 0x0931, 0x093B, 0x0944, 0x094E, 0x0958, 0x0961, 0x096B, 0x0975, 0x097E, 0x0988, 0x0992, 0x099B, 0x09A5, 0x09AE, 0x09B8, 0x09C2, 0x09CB, 0x09D5, 0x09DE, 0x09E8, 0x09F2, 0x09FB, 0x0A05, 0x0A0E, 0x0A18, 0x0A22, 0x0A2B, 0x0A35, 0x0A3E, 0x0A48, 0x0A51, 0x0A5B, 0x0A64, 0x0A6E, 0x0A77, 0x0A81, 0x0A8B, 0x0A94, 0x0A9E, 0x0AA7, 0x0AB1, 0x0ABA, 0x0AC4, 0x0ACD, 0x0AD7, 0x0AE0, 0x0AE9, 0x0AF3, 0x0AFC, 0x0B06, 0x0B0F, 0x0B19, 0x0B22, 0x0B2C, 0x0B35, 0x0B3F, 0x0B48, 0x0B51, 0x0B5B, 0x0B64, 0x0B6E, 0x0B77, 0x0B80, 0x0B8A, 0x0B93, 0x0B9D, 0x0BA6, 0x0BAF, 0x0BB9, 0x0BC2, 0x0BCB, 0x0BD5, 0x0BDE, 0x0BE7, 0x0BF1, 0x0BFA, 0x0C03, 0x0C0D, 0x0C16, 0x0C1F, 0x0C29, 0x0C32, 0x0C3B, 0x0C45, 0x0C4E, 0x0C57, 0x0C60, 0x0C6A, 0x0C73, 0x0C7C, 0x0C86, 0x0C8F, 0x0C98, 0x0CA1, 0x0CAB, 0x0CB4, 0x0CBD, 0x0CC6, 0x0CCF, 0x0CD9, 0x0CE2, 0x0CEB, 0x0CF4, 0x0CFD, 0x0D07, 0x0D10, 0x0D19, 0x0D22, 0x0D2B, 0x0D34, 0x0D3E, 0x0D47, 0x0D50, 0x0D59, 0x0D62, 0x0D6B, 0x0D74, 0x0D7D, 0x0D87, 0x0D90, 0x0D99, 0x0DA2, 0x0DAB, 0x0DB4, 0x0DBD, 0x0DC6, 0x0DCF, 0x0DD8, 0x0DE1, 0x0DEA, 0x0DF3, 0x0DFC, 0x0E05, 0x0E0F, 0x0E18, 0x0E21, 0x0E2A, 0x0E33, 0x0E3C, 0x0E45, 0x0E4E, 0x0E56, 0x0E5F, 0x0E68, 0x0E71, 0x0E7A, 0x0E83, 0x0E8C, 0x0E95, 0x0E9E, 0x0EA7, 0x0EB0, 0x0EB9, 0x0EC2, 0x0ECB, 0x0ED4, 0x0EDC, 0x0EE5, 0x0EEE, 0x0EF7, 0x0F00, 0x0F09, 0x0F12, 0x0F1B, 0x0F23, 0x0F2C, 0x0F35, 0x0F3E, 0x0F47, 0x0F50, 0x0F58, 0x0F61, 0x0F6A, 0x0F73, 0x0F7C, 0x0F84, 0x0F8D, 0x0F96, 0x0F9F, 0x0FA7, 0x0FB0, 0x0FB9, 0x0FC2, 0x0FCA, 0x0FD3, 0x0FDC, 0x0FE5, 0x0FED, 0x0FF6, 0x0FFF, 0x1007, 0x1010, 0x1019, 0x1021, 0x102A, 0x1033, 0x103B, 0x1044, 0x104D, 0x1055, 0x105E, 0x1067, 0x106F, 0x1078, 0x1080, 0x1089, 0x1092, 0x109A, 0x10A3, 0x10AB, 0x10B4, 0x10BC, 0x10C5, 0x10CE, 0x10D6, 0x10DF, 0x10E7, 0x10F0, 0x10F8, 0x1101, 0x1109, 0x1112, 0x111A, 0x1123, 0x112B, 0x1134, 0x113C, 0x1145, 0x114D, 0x1156, 0x115E, 0x1166, 0x116F, 0x1177, 0x1180, 0x1188, 0x1191, 0x1199, 0x11A1, 0x11AA, 0x11B2, 0x11BB, 0x11C3, 0x11CB, 0x11D4, 0x11DC, 0x11E4, 0x11ED, 0x11F5, 0x11FD, 0x1206, 0x120E, 0x1216, 0x121F, 0x1227, 0x122F, 0x1237, 0x1240, 0x1248, 0x1250, 0x1259, 0x1261, 0x1269, 0x1271, 0x127A, 0x1282, 0x128A, 0x1292, 0x129A, 0x12A3, 0x12AB, 0x12B3, 0x12BB, 0x12C3, 0x12CC, 0x12D4, 0x12DC, 0x12E4, 0x12EC, 0x12F4, 0x12FC, 0x1305, 0x130D, 0x1315, 0x131D, 0x1325, 0x132D, 0x1335, 0x133D, 0x1345, 0x134D, 0x1355, 0x135E, 0x1366, 0x136E, 0x1376, 0x137E, 0x1386, 0x138E, 0x1396, 0x139E, 0x13A6, 0x13AE, 0x13B6, 0x13BE, 0x13C6, 0x13CE, 0x13D6, 0x13DE, 0x13E6, 0x13ED, 0x13F5, 0x13FD, 0x1405, 0x140D, 0x1415, 0x141D, 0x1425, 0x142D, 0x1435, 0x143D, 0x1444, 0x144C, 0x1454, 0x145C, 0x1464, 0x146C, 0x1473, 0x147B, 0x1483, 0x148B, 0x1493, 0x149B, 0x14A2, 0x14AA, 0x14B2, 0x14BA, 0x14C1, 0x14C9, 0x14D1, 0x14D9, 0x14E0, 0x14E8, 0x14F0, 0x14F8, 0x14FF, 0x1507, 0x150F, 0x1516, 0x151E, 0x1526, 0x152D, 0x1535, 0x153D, 0x1544, 0x154C, 0x1554, 0x155B, 0x1563, 0x156B, 0x1572, 0x157A, 0x1581, 0x1589, 0x1591, 0x1598, 0x15A0, 0x15A7, 0x15AF, 0x15B7, 0x15BE, 0x15C6, 0x15CD, 0x15D5, 0x15DC, 0x15E4, 0x15EB, 0x15F3, 0x15FA, 0x1602, 0x1609, 0x1611, 0x1618, 0x1620, 0x1627, 0x162F, 0x1636, 0x163E, 0x1645, 0x164C, 0x1654, 0x165B, 0x1663, 0x166A, 0x1671, 0x1679, 0x1680, 0x1688, 0x168F, 0x1696, 0x169E, 0x16A5, 0x16AC, 0x16B4, 0x16BB, 0x16C2, 0x16CA, 0x16D1, 0x16D8, 0x16E0, 0x16E7, 0x16EE, 0x16F6, 0x16FD, 0x1704, 0x170B, 0x1713, 0x171A, 0x1721, 0x1728, 0x1730, 0x1737, 0x173E, 0x1745, 0x174C, 0x1754, 0x175B, 0x1762, 0x1769, 0x1770, 0x1778, 0x177F, 0x1786, 0x178D, 0x1794, 0x179B, 0x17A2, 0x17AA, 0x17B1, 0x17B8, 0x17BF, 0x17C6, 0x17CD, 0x17D4, 0x17DB, 0x17E2, 0x17E9, 0x17F0, 0x17F7, 0x17FE, 0x1806, 0x180D, 0x1814, 0x181B, 0x1822, 0x1829, 0x1830, 0x1837, 0x183E, 0x1845, 0x184C, 0x1853, 0x185A, 0x1860, 0x1867, 0x186E, 0x1875, 0x187C, 0x1883, 0x188A, 0x1891, 0x1898, 0x189F, 0x18A6, 0x18AD, 0x18B3, 0x18BA, 0x18C1, 0x18C8, 0x18CF, 0x18D6, 0x18DD, 0x18E3, 0x18EA, 0x18F1, 0x18F8, 0x18FF, 0x1906, 0x190C, 0x1913, 0x191A, 0x1921, 0x1928, 0x192E, 0x1935, 0x193C, 0x1943, 0x1949, 0x1950, 0x1957, 0x195D, 0x1964, 0x196B, 0x1972, 0x1978, 0x197F, 0x1986, 0x198C, 0x1993, 0x199A, 0x19A0, 0x19A7, 0x19AE, 0x19B4, 0x19BB, 0x19C2, 0x19C8, 0x19CF, 0x19D5, 0x19DC, 0x19E3, 0x19E9, 0x19F0, 0x19F6, 0x19FD, 0x1A04, 0x1A0A, 0x1A11, 0x1A17, 0x1A1E, 0x1A24, 0x1A2B, 0x1A31, 0x1A38, 0x1A3E, 0x1A45, 0x1A4B, 0x1A52, 0x1A58, 0x1A5F, 0x1A65, 0x1A6C, 0x1A72, 0x1A79, 0x1A7F, 0x1A86, 0x1A8C, 0x1A93, 0x1A99, 0x1A9F, 0x1AA6, 0x1AAC, 0x1AB3, 0x1AB9, 0x1AC0, 0x1AC6, 0x1ACC, 0x1AD3, 0x1AD9, 0x1ADF, 0x1AE6, 0x1AEC, 0x1AF2, 0x1AF9, 0x1AFF, 0x1B05, 0x1B0C, 0x1B12, 0x1B18, 0x1B1F, 0x1B25, 0x1B2B, 0x1B32, 0x1B38, 0x1B3E, 0x1B44, 0x1B4B, 0x1B51, 0x1B57, 0x1B5D, 0x1B64, 0x1B6A, 0x1B70, 0x1B76, 0x1B7D, 0x1B83, 0x1B89, 0x1B8F, 0x1B95, 0x1B9C, 0x1BA2, 0x1BA8, 0x1BAE, 0x1BB4, 0x1BBA, 0x1BC1, 0x1BC7, 0x1BCD, 0x1BD3, 0x1BD9, 0x1BDF, 0x1BE5, 0x1BEB, 0x1BF2, 0x1BF8, 0x1BFE, 0x1C04, 0x1C0A, 0x1C10, 0x1C16, 0x1C1C, 0x1C22, 0x1C28, 0x1C2E, 0x1C34, 0x1C3A, 0x1C40, 0x1C46, 0x1C4C, 0x1C52, 0x1C58, 0x1C5E, 0x1C64, 0x1C6A, 0x1C70, 0x1C76, 0x1C7C, 0x1C82, 0x1C88, 0x1C8E, 0x1C94, 0x1C9A, 0x1CA0, 0x1CA6, 0x1CAC, 0x1CB2, 0x1CB8, 0x1CBE, 0x1CC3, 0x1CC9, 0x1CCF, 0x1CD5, 0x1CDB, 0x1CE1, 0x1CE7, 0x1CED, 0x1CF3, 0x1CF8, 0x1CFE, 0x1D04, 0x1D0A, 0x1D10, 0x1D16, 0x1D1B, 0x1D21, 0x1D27, 0x1D2D, 0x1D33, 0x1D38, 0x1D3E, 0x1D44, 0x1D4A, 0x1D4F, 0x1D55, 0x1D5B, 0x1D61, 0x1D66, 0x1D6C, 0x1D72, 0x1D78, 0x1D7D, 0x1D83, 0x1D89, 0x1D8E, 0x1D94, 0x1D9A, 0x1DA0, 0x1DA5, 0x1DAB, 0x1DB1, 0x1DB6, 0x1DBC, 0x1DC2, 0x1DC7, 0x1DCD, 0x1DD3, 0x1DD8, 0x1DDE, 0x1DE3, 0x1DE9, 0x1DEF, 0x1DF4, 0x1DFA, 0x1DFF, 0x1E05, 0x1E0B, 0x1E10, 0x1E16, 0x1E1B, 0x1E21, 0x1E26, 0x1E2C, 0x1E32, 0x1E37, 0x1E3D, 0x1E42, 0x1E48, 0x1E4D, 0x1E53, 0x1E58, 0x1E5E, 0x1E63, 0x1E69, 0x1E6E, 0x1E74, 0x1E79, 0x1E7F, 0x1E84, 0x1E8A, 0x1E8F, 0x1E94, 0x1E9A, 0x1E9F, 0x1EA5, 0x1EAA, 0x1EB0, 0x1EB5, 0x1EBA, 0x1EC0, 0x1EC5, 0x1ECB, 0x1ED0, 0x1ED5, 0x1EDB, 0x1EE0, 0x1EE6, 0x1EEB, 0x1EF0, 0x1EF6, 0x1EFB, 0x1F00, 0x1F06, 0x1F0B, 0x1F10, 0x1F16, 0x1F1B, 0x1F20, 0x1F26, 0x1F2B, 0x1F30, 0x1F36, 0x1F3B, 0x1F40, 0x1F45, 0x1F4B, 0x1F50, 0x1F55, 0x1F5A, 0x1F60, 0x1F65, 0x1F6A, 0x1F6F, 0x1F75, 0x1F7A, 0x1F7F, 0x1F84, 0x1F8A, 0x1F8F, 0x1F94, 0x1F99, 0x1F9E, 0x1FA4, 0x1FA9, 0x1FAE, 0x1FB3, 0x1FB8, 0x1FBD, 0x1FC3, 0x1FC8, 0x1FCD, 0x1FD2, 0x1FD7, 0x1FDC, 0x1FE1, 0x1FE6, 0x1FEC, 0x1FF1, 0x1FF6, 0x1FFB, 0x2000 diff --git a/asm/unknown_070110/func_8007066C.s b/asm/unknown_070110/func_8007066C.s index 6f0589bf..97e6f992 100644 --- a/asm/unknown_070110/func_8007066C.s +++ b/asm/unknown_070110/func_8007066C.s @@ -33,8 +33,8 @@ glabel func_8007066C /* 0712D0 800706D0 000442F8 */ dsll $t0, $a0, 0xb /* 0712D4 800706D4 000542F8 */ dsll $t0, $a1, 0xb /* 0712D8 800706D8 0104001F */ ddivu $zero, $t0, $a0 -/* 0712DC 800706DC 3C09800E */ lui $t1, %hi(D_800DDC3E) # $t1, 0x800e -/* 0712E0 800706E0 2529DC3E */ addiu $t1, %lo(D_800DDC3E) # addiu $t1, $t1, -0x23c2 +/* 0712DC 800706DC 3C09800E */ lui $t1, %hi(gArcTanTable) # $t1, 0x800e +/* 0712E0 800706E0 2529DC3E */ addiu $t1, %lo(gArcTanTable) # addiu $t1, $t1, -0x23c2 /* 0712E4 800706E4 24424000 */ addiu $v0, $v0, 0x4000 /* 0712E8 800706E8 14800002 */ bnez $a0, .L800706F4 /* 0712EC 800706EC 00000000 */ nop @@ -51,8 +51,8 @@ glabel func_8007066C /* 071314 80070714 000442F8 */ dsll $t0, $a0, 0xb .L80070718: /* 071318 80070718 0105001F */ ddivu $zero, $t0, $a1 -/* 07131C 8007071C 3C09800E */ lui $t1, %hi(D_800DDC3E) # $t1, 0x800e -/* 071320 80070720 2529DC3E */ addiu $t1, %lo(D_800DDC3E) # addiu $t1, $t1, -0x23c2 +/* 07131C 8007071C 3C09800E */ lui $t1, %hi(gArcTanTable) # $t1, 0x800e +/* 071320 80070720 2529DC3E */ addiu $t1, %lo(gArcTanTable) # addiu $t1, $t1, -0x23c2 /* 071324 80070724 14A00002 */ bnez $a1, .L80070730 /* 071328 80070728 00000000 */ nop /* 07132C 8007072C 0007000D */ break 7 diff --git a/asm/unknown_070110/func_8007082C.s b/asm/unknown_070110/func_8007082C.s index 36e86b3b..0f8a0e6c 100644 --- a/asm/unknown_070110/func_8007082C.s +++ b/asm/unknown_070110/func_8007082C.s @@ -7,9 +7,9 @@ glabel func_80070830 /* 07143C 8007083C 38847FFF */ xori $a0, $a0, 0x7fff /* 071440 80070840 000450C2 */ srl $t2, $a0, 3 .L80070844: -/* 071444 80070844 3C02800E */ lui $v0, %hi(D_800DD43C) # $v0, 0x800e +/* 071444 80070844 3C02800E */ lui $v0, %hi(gSineTable) # $v0, 0x800e /* 071448 80070848 314A07FE */ andi $t2, $t2, 0x7fe -/* 07144C 8007084C 2442D43C */ addiu $v0, %lo(D_800DD43C) # addiu $v0, $v0, -0x2bc4 +/* 07144C 8007084C 2442D43C */ addiu $v0, %lo(gSineTable) # addiu $v0, $v0, -0x2bc4 /* 071450 80070850 004A1021 */ addu $v0, $v0, $t2 /* 071454 80070854 944A0002 */ lhu $t2, 2($v0) /* 071458 80070858 94420000 */ lhu $v0, ($v0) diff --git a/asm/unknown_070110/func_80070890.s b/asm/unknown_070110/func_80070890.s index 2b682f41..9f389377 100644 --- a/asm/unknown_070110/func_80070890.s +++ b/asm/unknown_070110/func_80070890.s @@ -6,9 +6,9 @@ glabel func_80070890 /* 07149C 8007089C 38847FFF */ xori $a0, $a0, 0x7fff /* 0714A0 800708A0 000450C2 */ srl $t2, $a0, 3 .L800708A4: -/* 0714A4 800708A4 3C02800E */ lui $v0, %hi(D_800DD43C) # $v0, 0x800e +/* 0714A4 800708A4 3C02800E */ lui $v0, %hi(gSineTable) # $v0, 0x800e /* 0714A8 800708A8 314A07FE */ andi $t2, $t2, 0x7fe -/* 0714AC 800708AC 2442D43C */ addiu $v0, %lo(D_800DD43C) # addiu $v0, $v0, -0x2bc4 +/* 0714AC 800708AC 2442D43C */ addiu $v0, %lo(gSineTable) # addiu $v0, $v0, -0x2bc4 /* 0714B0 800708B0 004A1021 */ addu $v0, $v0, $t2 /* 0714B4 800708B4 94420000 */ lhu $v0, ($v0) /* 0714B8 800708B8 00042400 */ sll $a0, $a0, 0x10 diff --git a/include/enums.h b/include/enums.h index 0eba44f8..34482934 100644 --- a/include/enums.h +++ b/include/enums.h @@ -4,50 +4,50 @@ /* All the enums defined here can be used in asset files */ typedef enum Vehicle { - VEHICLE_CAR, - VEHICLE_HOVERCRAFT, - VEHICLE_PLANE, + VEHICLE_CAR, + VEHICLE_HOVERCRAFT, + VEHICLE_PLANE } Vehicle; typedef enum Language { - LANGUAGE_ENGLISH, - LANGUAGE_GERMAN, - LANGUAGE_FRENCH, - LANGUAGE_JAPANESE, + LANGUAGE_ENGLISH, + LANGUAGE_GERMAN, + LANGUAGE_FRENCH, + LANGUAGE_JAPANESE } Language; typedef enum World { WORLD_NONE = -1, // This enum starts at -1 instead of 0. - WORLD_CENTRAL_AREA, - WORLD_DINO_DOMAIN, - WORLD_SHERBET_ISLAND, - WORLD_SNOWFLAKE_MOUNTAIN, - WORLD_DRAGON_FOREST, - WORLD_FUTURE_FUN_LAND, + WORLD_CENTRAL_AREA, + WORLD_DINO_DOMAIN, + WORLD_SHERBET_ISLAND, + WORLD_SNOWFLAKE_MOUNTAIN, + WORLD_DRAGON_FOREST, + WORLD_FUTURE_FUN_LAND } World; typedef enum RaceType { RACETYPE_DEFAULT = 0, - RACETYPE_HORSESHOE_GULCH = 3, - RACETYPE_HUBWORLD = 5, + RACETYPE_HORSESHOE_GULCH = 3, + RACETYPE_HUBWORLD = 5, RACETYPE_CUTSCENE_1 = 6, // Not sure what the difference between these two are. - RACETYPE_CUTSCENE_2 = 7, - RACETYPE_BOSS = 8, - RACETYPE_CHALLENGE_BATTLE = 64, - RACETYPE_CHALLENGE_BANANAS = 65, - RACETYPE_CHALLENGE_EGGS = 66, + RACETYPE_CUTSCENE_2 = 7, + RACETYPE_BOSS = 8, + RACETYPE_CHALLENGE_BATTLE = 64, + RACETYPE_CHALLENGE_BANANAS = 65, + RACETYPE_CHALLENGE_EGGS = 66 } RaceType; typedef enum HorizontalAlignmentFlags { HORZ_ALIGN_LEFT = 0, HORZ_ALIGN_RIGHT = 1, - HORZ_ALIGN_CENTER = 4, + HORZ_ALIGN_CENTER = 4 } HorizontalAlignmentFlags; typedef enum VerticalAlignmentFlags { VERT_ALIGN_TOP = 0, VERT_ALIGN_BOTTOM = 2, - VERT_ALIGN_MIDDLE = 8, + VERT_ALIGN_MIDDLE = 8 } VerticalAlignmentFlags; typedef enum AlignmentFlags { @@ -59,7 +59,7 @@ typedef enum AlignmentFlags { ALIGN_MIDDLE_RIGHT = VERT_ALIGN_MIDDLE | HORZ_ALIGN_RIGHT, ALIGN_BOTTOM_LEFT = VERT_ALIGN_BOTTOM | HORZ_ALIGN_LEFT, ALIGN_BOTTOM_CENTER = VERT_ALIGN_BOTTOM | HORZ_ALIGN_CENTER, - ALIGN_BOTTOM_RIGHT = VERT_ALIGN_BOTTOM | HORZ_ALIGN_RIGHT, + ALIGN_BOTTOM_RIGHT = VERT_ALIGN_BOTTOM | HORZ_ALIGN_RIGHT } AlignmentFlags; #endif diff --git a/include/structs.h b/include/structs.h index 67834438..332c0c29 100644 --- a/include/structs.h +++ b/include/structs.h @@ -413,7 +413,7 @@ typedef struct LevelModelSegment { /* 0x1E */ s16 numberOfTriangles; /* 0x20 */ s16 numberOfBatches; u8 pad22[0x09]; -/* 0x2B */ s8 unk2B; +/* 0x2B */ s8 unk2B; u8 pad2C[4]; /* 0x30 */ s16 unk30; /* 0x32 */ s16 unk32; @@ -454,7 +454,7 @@ typedef struct LevelModel { u8 pad1C[4]; /* 0x20 */ s32 unk20; //spriteIndex? u8 pad24[0x14]; -/* 0x38 */ u32 minimapColor; +/* 0x38 */ u32 minimapColor; u8 pad3C[0xC]; /* 0x48 */ s32 modelSize; } LevelModel; @@ -474,7 +474,7 @@ typedef enum { OBJECT_MODEL_TYPE_SPRITE_BILLBOARD, OBJECT_MODEL_TYPE_VEHICLE_PART, OBJECT_MODEL_TYPE_UNKNOWN3, - OBJECT_MODEL_TYPE_UNKNOWN4, + OBJECT_MODEL_TYPE_UNKNOWN4 } ObjectModelType; typedef struct ObjectHeader { @@ -530,7 +530,9 @@ typedef struct Object_44 { typedef struct Object_4C { void *unk0; - u8 pad4[0xC]; + f32 x_position; + f32 y_position; + f32 z_position; u8 unk10; u8 unk11; u8 unk12; @@ -783,13 +785,20 @@ typedef struct Object_Racer { /* 0x000 */ s16 playerIndex; // -1 = AI Controlled, 0 to 3 = Object controlled /* 0x002 */ u8 unk2; /* 0x003 */ s8 characterId; // Affects minimap color, horn, voice, etc. - /* 0x004 */ u8 pad4[0x20]; + /* 0x004 */ s32 unk4; + /* 0x008 */ s32 unk8; + /* 0x00C */ s32 unkC; + /* 0x010 */ s32 unk10; + /* 0x014 */ s32 unk14; + /* 0x018 */ s32 unk18; + /* 0x01C */ s32 unk1C; + /* 0x020 */ s32 unk20; /* 0x024 */ s32 unk24; /* 0x028 */ u16 unk28; /* 0x02A */ u16 unk2A; /* 0x02C */ f32 velocity; /* 0x030 */ f32 lateral_velocity; - /* 0x034 */ u8 pad[0x4]; + /* 0x034 */ s32 unk34; /* 0x038 */ f32 ox1; /* 0x03C */ f32 oy1; /* 0x040 */ f32 oz1; @@ -802,110 +811,191 @@ typedef struct Object_Racer { /* 0x05C */ f32 prev_x_position; /* 0x060 */ f32 prev_y_position; /* 0x064 */ f32 prev_z_position; - /* 0x068 */ u8 pad68[0x10]; + /* 0x068 */ s32 unk68; + /* 0x06C */ s32 unk6C; + /* 0x070 */ s32 unk70; + /* 0x074 */ s32 unk74; /* 0x078 */ f32 unk78; /* 0x07C */ f32 unk7C; /* 0x080 */ f32 unk80; - /* 0x084 */ u8 pad84[0x8]; + /* 0x084 */ f32 unk84; + /* 0x088 */ f32 unk88; /* 0x08C */ f32 stretch_height; /* 0x090 */ f32 stretch_height_cap; /* 0x094 */ f32 camera_zoom; - /* 0x098 */ u8 pad98[0x4]; + /* 0x098 */ f32 unk98; /* 0x09C */ f32 pitch; - /* 0x0A0 */ u8 padA0[0x8]; + /* 0x0A0 */ f32 unkA0; + /* 0x0A4 */ s32 unkA4; /* 0x0A8 */ f32 checkpoint_distance; - /* 0x0AC */ u8 padAC[0x8]; + /* 0x0AC */ f32 unkAC; + /* 0x0B0 */ f32 unkB0; /* 0x0B4 */ f32 throttle; /* 0x0B8 */ f32 brake; - /* 0x0BC */ u8 padBC[0x14]; + /* 0x0BC */ f32 unkBC; + /* 0x0C0 */ f32 unkC0; + /* 0x0C4 */ f32 unkC4; + /* 0x0C8 */ f32 unkC8; + /* 0x0CC */ f32 unkCC; /* 0x0D0 */ f32 unkD0; - /* 0x0D4 */ u8 padD4[0x34]; + /* 0x0D4 */ s32 unkD4; + /* 0x0D8 */ f32 unkD8; + /* 0x0DC */ f32 unkDC; + /* 0x0E0 */ f32 unkE0; + /* 0x0E4 */ f32 unkE4; + /* 0x0E8 */ f32 unkE8; + /* 0x0EC */ f32 unkEC; + /* 0x0F0 */ f32 unkF0; + /* 0x0F4 */ f32 unkF4; + /* 0x0F8 */ f32 unkF8; + /* 0x0FC */ f32 unkFC; + /* 0x100 */ f32 unk100; + /* 0x104 */ f32 unk104; /* 0x108 */ s32 unk108; - /* 0x10C */ u8 pad10C[0xC]; + /* 0x10C */ s32 unk10C; + /* 0x110 */ s32 unk110; + /* 0x114 */ s32 unk114; /* 0x118 */ s32 unk118; - /* 0x11C */ u8 pad11C[0xC]; + /* 0x11C */ s32 unk11C; + /* 0x120 */ s32 unk120; + /* 0x124 */ s32 unk124; /* 0x128 */ u32 lap_times[3]; - /* 0x134 */ u8 pad134[0x10]; + /* 0x134 */ s32 unk134; + /* 0x138 */ s32 unk138; + /* 0x13C */ s32 unk13C; + /* 0x140 */ s32 unk140; /* 0x144 */ struct Object *held_obj; /* 0x148 */ struct Object *unk148; /* 0x14C */ struct Object *unk14C; - /* 0x150 */ u8 pad150[0x4]; + /* 0x150 */ struct Object *unk150; /* 0x154 */ struct Object *unk154; - /* 0x158 */ u8 pad158[0x8]; + /* 0x158 */ s32 unk158; + /* 0x15C */ s32 unk15C; /* 0x160 */ s16 unk160; /* 0x162 */ s16 unk162; /* 0x164 */ s16 unk164; /* 0x166 */ s16 unk166; - /* 0x168 */ u8 pad168[0xA]; + /* 0x168 */ s16 unk168; + /* 0x16A */ s16 unk16A; + /* 0x166 */ s16 unk16C; + /* 0x16E */ s16 unk16E; + /* 0x170 */ s16 unk170; /* 0x172 */ u8 balloon_type; /* 0x173 */ u8 balloon_quantity; /* 0x174 */ u8 balloon_level; - /* 0x175 */ u8 pad175[0xE]; - /* 0x183 */ s8 unk183; + /* 0x175 */ u8 unk175; + /* 0x176 */ s16 unk176; + /* 0x178 */ s32 unk178; + /* 0x17C */ s32 unk17C; + /* 0x180 */ s32 unk180; /* 0x184 */ s8 pad184; /* 0x185 */ s8 bananas; /* 0x186 */ u8 unk186; /* 0x187 */ s8 unk187; - /* 0x188 */ u8 pad188[0x4]; + /* 0x188 */ s32 unk188; /* 0x18C */ s16 unk18C; /* 0x18E */ s16 unk18E; /* 0x190 */ u16 unk190; /* 0x192 */ u8 unk192; /* 0x193 */ u8 unk193; - /* 0x194 */ u8 pad194[0xC]; + /* 0x194 */ s8 unk194; + /* 0x195 */ s8 unk195; + /* 0x196 */ s16 unk196; + /* 0x198 */ s32 unk198; + /* 0x19C */ s32 unk19C; /* 0x1A0 */ s16 unk1A0; /* 0x1A2 */ s16 unk1A2; /* 0x1A4 */ s16 unk1A4; - /* 0x1A6 */ u8 pad1A6[0x14]; + /* 0x1A6 */ s16 unk1A6; + /* 0x1A8 */ s16 unk1A8; + /* 0x1AA */ u16 unk1AA; + /* 0x1AC */ u8 unk1AC; + /* 0x1AD */ u8 unk1AD; + /* 0x1AE */ s16 unk1AE; + /* 0x1B0 */ s32 unk1B0; + /* 0x1B4 */ s32 unk1B4; + /* 0x1B8 */ s16 unk1B8; /* 0x1BA */ u16 unk1BA; - /* 0x1BC */ u8 pad1BC[0xD]; + /* 0x1BC */ s32 unk1BC; + /* 0x1C0 */ s32 unk1C0; + /* 0x1C4 */ s16 unk1C4; + /* 0x1C6 */ s16 unk1C6; + /* 0x1C8 */ u8 unk1C8; /* 0x1C9 */ u8 unk1C9; /* 0x1CA */ s8 unk1CA; - /* 0x1CB */ u8 pad1CB[0x3]; + /* 0x1CB */ u8 unk1CB; + /* 0x1CC */ u8 unk1CC; + /* 0x1CD */ u8 unk1CD; /* 0x1CE */ u8 unk1CE; - /* 0x1CF */ u8 pad1CF[0x4]; + /* 0x1CF */ u8 unk1CF; + /* 0x1D0 */ u8 unk1D0; + /* 0x1D1 */ u8 unk1D1; + /* 0x1D2 */ u8 unk1D2; /* 0x1D3 */ s8 unk1D3; - /* 0x1D4 */ u8 pad1D4[0x2]; + /* 0x1D4 */ u8 unk1D4; + /* 0x1D5 */ u8 unk1D5; /* 0x1D6 */ s8 unk1D6; /* 0x1D7 */ s8 unk1D7; /* 0x1D8 */ s8 unk1D8; - /* 0x1D9 */ u8 pad1D9[0x2]; + /* 0x1D9 */ u8 unk1D9; + /* 0x1DA */ u8 unk1DA; /* 0x1DB */ s8 spinout_timer; /* 0x1DC */ u8 wheel_surfaces[4]; - /* 0x1E0 */ u8 pad1E0[0x1]; + /* 0x1E0 */ u8 unk1E0; /* 0x1E1 */ s8 unk1E1; /* 0x1E2 */ s8 unk1E2; - /* 0x1E3 */ u8 pad1E3[0x3]; + /* 0x1E3 */ s8 unk1E3; + /* 0x1E4 */ s8 unk1E4; + /* 0x1E5 */ s8 unk1E5; /* 0x1E6 */ s8 drift_direction; - /* 0x1E7 */ u8 pad1E7[0x6]; + /* 0x1E7 */ s8 unk1E7; + /* 0x1E8 */ s8 unk1E8; + /* 0x1E9 */ s8 unk1E9; + /* 0x1EA */ s8 unk1EA; + /* 0x1EB */ s8 unk1EB; + /* 0x1EC */ s8 unk1EC; /* 0x1ED */ s8 squish_timer; - /* 0x1EE */ u8 pad1EE[0x1]; + /* 0x1EE */ s8 unk1EE; /* 0x1EF */ u8 boost_sound; - /* 0x1F0 */ u8 pad1F0[0x2]; + /* 0x1F0 */ u8 unk1F0; + /* 0x1F1 */ u8 unk1F1; /* 0x1F2 */ u8 unk1F2; /* 0x1F3 */ u8 unk1F3; - /* 0x1F4 */ u8 pad1F4[0x1]; + /* 0x1F4 */ u8 unk1F4; /* 0x1F5 */ u8 unk1F5; - /* 0x1F6 */ u8 pad1F6[0x1]; + /* 0x1F6 */ u8 unk1F6; /* 0x1F7 */ u8 transparency; /* 0x290 */ u8 indicator_type; /* 0x291 */ s8 indicator_timer; - /* 0x1FA */ u8 pad1FA[0x6]; + /* 0x1FA */ s8 unk1FA; + /* 0x1FB */ s8 unk1FB; + /* 0x1FC */ s8 unk1FC; + /* 0x1FD */ u8 unk1FD; + /* 0x1FE */ s8 unk1FE; + /* 0x1FF */ s8 unk1FF; /* 0x200 */ s8 unk200; - /* 0x201 */ u8 pad201[0x2]; + /* 0x201 */ s8 unk201; + /* 0x202 */ s8 unk202; /* 0x203 */ s8 unk203; /* 0x204 */ s16 unk204; - /* 0x206 */ u8 pad206[0x6]; + /* 0x206 */ s16 unk206; + /* 0x208 */ s16 unk208; + /* 0x20A */ s8 unk20A; + /* 0x20B */ s8 unk20B; /* 0x20C */ u8 unk20C; - /* 0x20D */ u8 pad20D[0x1]; + /* 0x20D */ u8 unk20D; /* 0x20E */ s16 unk20E; /* 0x210 */ s8 unk210; - /* 0x211 */ u8 pad211[0x2]; + /* 0x211 */ u8 unk211; + /* 0x212 */ u8 unk212; /* 0x213 */ s8 unk213; /* 0x214 */ s8 unk214; /* 0x215 */ s8 unk215; - /* 0x216 */ u8 pad216[0x6]; - /* 0x21C */ u8 unk21C; + /* 0x216 */ u8 unk216; + /* 0x217 */ u8 unk217; + /* 0x218 */ s32 unk218; + /* 0x21C */ s32 unk21C; + /* 0x220 */ s32 unk220; } Object_Racer; typedef struct Object_Bonus { diff --git a/src/camera.h b/src/camera.h index c2b9a14b..0e9024eb 100644 --- a/src/camera.h +++ b/src/camera.h @@ -47,7 +47,7 @@ enum ViewPortFlags { VIEWPORT_X_CUSTOM = 0x0008, VIEWPORT_Y_CUSTOM = 0x0010, VIEWPORT_WIDTH_CUSTOM = 0x0020, - VIEWPORT_HEIGHT_CUSTOM = 0x0040, + VIEWPORT_HEIGHT_CUSTOM = 0x0040 }; extern s8 D_800DD060; diff --git a/src/fade_transition.h b/src/fade_transition.h index 47fa1fe2..b500a2e8 100644 --- a/src/fade_transition.h +++ b/src/fade_transition.h @@ -21,7 +21,7 @@ enum TransitionStatus { TRANSITION_LEVELSWAP = -1, TRANSITION_NONE, - TRANSITION_ACTIVE, + TRANSITION_ACTIVE }; /* Size: 8 bytes */ diff --git a/src/menu.h b/src/menu.h index 84217f8e..b362bf2b 100644 --- a/src/menu.h +++ b/src/menu.h @@ -25,7 +25,7 @@ enum DialogueMenuCases { DIALOG_TT, DIALOG_CHALLENGE, DIALOG_TROPHY, - DIALOG_RACERESULT, + DIALOG_RACERESULT }; #define CHEAT(index) 1 << index diff --git a/src/object_models.c b/src/object_models.c index 3ca18fb1..5ddd7e38 100644 --- a/src/object_models.c +++ b/src/object_models.c @@ -10,7 +10,7 @@ /************ .data ************/ -s32 gFunc80024D54Checksum = 116315; +s32 gTractionTableChecksum = 116315; s32 gFunc80024D54Length = 1980; /*******************************/ @@ -66,8 +66,8 @@ void func_8005F850(void) { for (i = 0; i < gFunc80024D54Length; i++) { checksum += *(u8 *)(((s32)&func_80024D54) + i); } - if (checksum != gFunc80024D54Checksum) { - func_8005C25C(); + if (checksum != gTractionTableChecksum) { + antipiracy_modify_surface_traction_table(); } } diff --git a/src/object_models.h b/src/object_models.h index b47d2f15..ae9ede97 100644 --- a/src/object_models.h +++ b/src/object_models.h @@ -11,7 +11,7 @@ typedef struct unk8011D624 { ObjectModel *model; } unk8011D624; -extern s32 gFunc80024D54Checksum; +extern s32 gTractionTableChecksum; extern s32 gFunc80024D54Length; void func_8005F850(void); diff --git a/src/objects.h b/src/objects.h index c0983d35..e5b8adf5 100644 --- a/src/objects.h +++ b/src/objects.h @@ -19,7 +19,11 @@ typedef struct unknown800DC6F0 { /* Size: 0x3C bytes */ typedef struct unknown8011AECC { - u8 unk00[0x3A]; + u8 unk00[0x10]; + f32 unk10; + f32 unk14; + f32 unk18; + u8 pad1C[0x1E]; s8 unk3A; s8 unk3B; } unknown8011AECC; @@ -217,6 +221,7 @@ void func_8002458C(s32 arg0); s16 *func_80024594(s32 *arg0, s32 *arg1); void func_800245B4(s16 arg0); void func_80012E28(Object *this); +f32 catmull_rom_interpolation(f32*, s32, f32); //Non Matching void calc_dynamic_lighting_for_object_1(Object *, ObjectModel *, s16, Object *, f32, f32); diff --git a/src/racer.c b/src/racer.c index f6379989..bcc407a1 100644 --- a/src/racer.c +++ b/src/racer.c @@ -16,6 +16,7 @@ #include "audio.h" #include "object_functions.h" #include "game.h" +#include "printf.h" #define MAX_NUMBER_OF_GHOST_NODES 360 @@ -35,14 +36,16 @@ f32 D_800DCB60[14] = { }; s32 D_800DCB98 = 0; // Currently unknown, might be a different type. -f32 D_800DCB9C[19] = { +// Table used for quantifying speed reduction while the car drives over it, like how grass will slow you down more than the road. +// An antipiracy trigger can set the first index to 0.5f, which makes that surface type impossible to drive on. +f32 gSurfaceTractionTable[19] = { 0.004f, 0.007f, 0.01f, 0.004f, 0.01f, 0.01f, 0.01f, 0.01f, 0.01f, 0.01f, 0.004f, 0.004f, 0.004f, 0.004f, 0.004f, 0.004f, 0.004f, 0.004f, 0.004f, }; - +// Can only assume this is surface related too. Not incline thresholds though. f32 D_800DCBE8[19] = { 0.8f, 0.85f, 0.85f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, @@ -136,7 +139,7 @@ s32 D_8011D504; ObjectCamera *gCameraObject; s32 D_8011D50C; ObjectTransform D_8011D510; -s32 D_8011D528; +s32 gCurrentCarInput; // Related to input of the car. s32 gActivePlayerButtonPress; s32 D_8011D530; s32 D_8011D534; @@ -149,10 +152,11 @@ s32 D_8011D54C; s16 D_8011D550; s8 D_8011D552; s8 D_8011D553; -s32 D_8011D554; +s32 gCurrentCarSteerVel; // Related to rotational velocity of the car. s32 D_8011D558; s32 D_8011D55C; -s32 D_8011D560; +s16 D_8011D560; +s16 D_8011D562; s32 D_8011D564; s32 D_8011D568; s32 D_8011D56C; @@ -166,16 +170,13 @@ s8 D_8011D582; s8 D_8011D583; s8 D_8011D584; s8 D_8011D585; -s8 D_8011D586; -s8 D_8011D587; +s16 D_8011D586; s8 D_8011D588; s8 D_8011D589; s8 D_8011D58A; s8 D_8011D58B; -s8 D_8011D58C; -s8 D_8011D58D; -s8 D_8011D58E; -s8 D_8011D58F; +s8 D_8011D58B; +s8 D_8011D58C[4]; GhostHeader *gGhostData[3]; s8 D_8011D59C; s8 D_8011D59D; @@ -188,15 +189,98 @@ s16 D_8011D5AE; s32 D_8011D5B0; s32 D_8011D5B4; s16 D_8011D5B8; -s8 D_8011D5BA; -s8 D_8011D5BB; -s8 D_8011D5BC; /******************************/ GLOBAL_ASM("asm/non_matchings/racer/func_80042D20.s") -GLOBAL_ASM("asm/non_matchings/racer/func_80043ECC.s") +typedef struct Object_64_Unknown5 { + u8 pad0[0x88]; + u8 unk89; + u8 pad90[0xE9]; + s8 unk172; + s8 unk173; + s8 unk174; + u8 pad175[0x5E]; + s8 unk1D3; +} Object_64_Unknown5; + +typedef struct TempStruct5 { + s8 pad0[8]; + s8 unk8[4][4]; +} TempStruct5; + +void func_80043ECC(s32 arg0, Object_64_Unknown5 *arg1, s32 arg2) { + TempStruct5 *temp_v0; + s8 *test; + s8 phi_a0; + s32 i; + static s8 D_8011D5BA; + static s8 D_8011D5BB; + static s8 D_8011D5BC; + + if (!arg0) { + D_8011D5BA = 0; + D_8011D5BB = 0; + D_8011D5BC = 0; + return; + } + temp_v0 = (TempStruct5 *)func_8006C18C(); + if (arg1->unk1D3) { + if (!D_8011D5BB) { + temp_v0->unk8[3][0] += temp_v0->unk8[3][2]; + temp_v0->unk8[3][1] += temp_v0->unk8[3][3]; + D_8011D5BB = 1; + } + if (!(gCurrentCarInput & A_BUTTON)) { + D_8011D5BA += arg2; + } + } else { + D_8011D5BB = 0; + if (D_8011D5BA > 20) { + temp_v0->unk8[0][0] += temp_v0->unk8[0][2]; + temp_v0->unk8[0][1] += temp_v0->unk8[0][3]; + } + D_8011D5BA = 0; + } + if (arg1->unk173) { + if (D_8011D5BC < arg1->unk174) { + temp_v0->unk8[1][0] += temp_v0->unk8[1][2]; + temp_v0->unk8[1][1] += temp_v0->unk8[1][3]; + } + D_8011D5BC = arg1->unk174; + } else { + D_8011D5BC = 0; + } + test = get_misc_asset(12); + if ((D_8011D530 & 0x2000) && arg1->unk173) { + if (arg1->unk174 < 3) { + phi_a0 = test[arg1->unk172 * 3 + arg1->unk174]; + } else { + phi_a0 = arg1->unk172; + } + if (D_800DCD90[phi_a0] == 1) { + temp_v0->unk8[2][0] += temp_v0->unk8[2][2]; + temp_v0->unk8[2][1] += temp_v0->unk8[2][3]; + } + } + for (i = 0; i < 2; i++) { + if (temp_v0->unk8[1][i] > 100 || temp_v0->unk8[1][i] < 0) { + temp_v0->unk8[1][i] = 100; + } + if (temp_v0->unk8[0][i] > 100 || temp_v0->unk8[0][i] < 0) { + temp_v0->unk8[0][i] = 100; + } + if (temp_v0->unk8[3][i] > 100 || temp_v0->unk8[3][i] < 0) { + temp_v0->unk8[3][i] = 100; + } + if (temp_v0->unk8[2][i] > 100 || temp_v0->unk8[2][i] < 0) { + temp_v0->unk8[2][i] = 100; + } + } +} + +// Might be the main loop for the AI racers. void func_80044170(Object *arg0, Object_Racer *arg1, s32 arg2) { s32 raceType; @@ -250,9 +334,9 @@ void func_80044170(Object *arg0, Object_Racer *arg1, s32 arg2) { if (arg1->unk214 != 0) { D_8011D534 *= -1; - D_8011D528 &= ~0x8000; + gCurrentCarInput &= ~A_BUTTON; D_8011D538 = -50; - D_8011D528 |= 0x4000; + gCurrentCarInput |= B_BUTTON; } if (D_8011D534 > 75) { @@ -404,19 +488,124 @@ void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_Racer *obj64) { } } -GLOBAL_ASM("asm/non_matchings/racer/obj_init_racer.s") +/** + * Initialise the basic properties of each racer object. If it's tied to a human player, + * will also initialise a camera object. + */ +void obj_init_racer(Object *obj, LevelObjectEntry_CharacterFlag *arg1) { + Object_Racer *tempObj; + s32 player; + s32 i; + + D_8011D53C = 0; + tempObj = (struct Object_Racer *) obj->unk64; + obj->segment.trans.y_rotation = arg1->unkC; + obj->segment.trans.x_rotation = arg1->unkA; + obj->segment.trans.z_rotation = arg1->unk8; + player = arg1->unkE; + tempObj->unk194 = 0; + tempObj->stretch_height = 1.0f; + tempObj->stretch_height_cap = 1.0f; + if (player >= 0 && player < 4) { + if (func_8000E158()) { + player = 1 - player; + } + tempObj->playerIndex = player; + } else { + tempObj->playerIndex = -1; + } + tempObj->unk1A0 = obj->segment.trans.y_rotation; + tempObj->unk1A4 = obj->segment.trans.z_rotation; + tempObj->unkC4 = 0.5f; + if (1); + tempObj->unk196 = tempObj->unk1A0; + tempObj->unkD8 = obj->segment.trans.x_position; + tempObj->unkDC = obj->segment.trans.y_position + 30.0f; + tempObj->unkE0 = obj->segment.trans.z_position; + tempObj->unkE4 = obj->segment.trans.x_position; + tempObj->unkE8 = obj->segment.trans.y_position + 30.0f; + tempObj->unkEC = obj->segment.trans.z_position; + tempObj->unkF0 = obj->segment.trans.x_position; + tempObj->unkF4 = obj->segment.trans.y_position + 30.0f; + tempObj->unkF8 = obj->segment.trans.z_position; + tempObj->unkFC = obj->segment.trans.x_position; + tempObj->unk100 = obj->segment.trans.y_position + 30.0f; + tempObj->unk104 = obj->segment.trans.z_position; + tempObj->prev_x_position = obj->segment.trans.x_position; + tempObj->prev_y_position = obj->segment.trans.y_position; + tempObj->prev_z_position = obj->segment.trans.z_position; + obj->unk4C->x_position = obj->segment.trans.x_position; + obj->unk4C->y_position = obj->segment.trans.y_position; + obj->unk4C->z_position = obj->segment.trans.z_position; + tempObj->unk1E2 = 3; + tempObj->unk1AA = 1; + tempObj->unk1AE = 1; + tempObj->unk1E7 = tempObj->playerIndex * 5; + tempObj->checkpoint_distance = 1.0f; + tempObj->unk1FD = 0; + tempObj->unk178 = 0; + tempObj->unk17C = 0; + tempObj->unk180 = 0; + tempObj->unk218 = 0; + tempObj->unk220 = 0; + tempObj->unk21C = 0; + if (tempObj->playerIndex != -1 && !D_8011D582) { + func_800665E8(player); + gCameraObject = func_80069CFC(); + gCameraObject->trans.z_rotation = 0; + gCameraObject->trans.x_rotation = 0x400; + gCameraObject->trans.y_rotation = tempObj->unk196; + gCameraObject->unk36 = 0; + gCameraObject->unk3C = 0xFF; + gCameraObject->unk3D = 0xFF; + gCameraObject->unk3E = 0xFF; + gCameraObject->unk3F = 0xFF; + gCameraObject->unk18 = 0.0f; + func_80057A40(obj, tempObj, 1.0f); + } + if (!D_8011D582) { + D_8011D583 = 0; + D_8011D586 = 0; + D_8011D584 = 0; + } + obj->unk4C->unk14 = 5; + obj->unk4C->unk11 = 0; + obj->unk4C->unk10 = 0xF; + obj->unk4C->unk12 = 0x14; + tempObj->unk1EE = 0; + if (!D_8011D582) { + tempObj->transparency = 0xFF; + } + D_8011D560 = 0; + D_8011D544 = 300.0f; + tempObj->unk1C9 = 6; + tempObj->unk1C6 = 100; + D_8011D580 = 0; + + // This needs to be on one line to match. + for (i = 0; i < 4; i++) { D_8011D58C[i] = 0; } + if (tempObj); + if (tempObj); + if (tempObj); + if (tempObj); + func_80043ECC(0, 0, 0); + D_8011D583 = i; + D_8011D585 = 0; + tempObj->unk20A = 0; +} + GLOBAL_ASM("asm/non_matchings/racer/func_8004DE38.s") void func_8004F77C(unk8004F77C *arg0) { s32 temp; - arg0->unk20A &= ~0x80; - if ((D_8011D528 & 0x4000) != 0) { - arg0->unk20A |= 0x80; + arg0->flags &= ~0x80; + if ((gCurrentCarInput & B_BUTTON) != 0) { + arg0->flags |= 0x80; } - temp = arg0->unk20A & 0xF; - if ((arg0->unk20A & 0xC0) != 0) { + temp = arg0->flags & 0xF; + if ((arg0->flags & 0xC0) != 0) { temp++; if (temp >= 3) { temp = 2; @@ -428,7 +617,7 @@ void func_8004F77C(unk8004F77C *arg0) { } } - arg0->unk20A = (arg0->unk20A & 0xFFF0) | temp; + arg0->flags = (arg0->flags & 0xFFF0) | temp; } GLOBAL_ASM("asm/non_matchings/racer/func_8004F7F4.s") @@ -463,23 +652,100 @@ void func_80050754(Object *obj, Object_Racer *obj64, f32 arg2) { GLOBAL_ASM("asm/non_matchings/racer/func_80050754.s") #endif -GLOBAL_ASM("asm/non_matchings/racer/func_80050850.s") +/** + * Applies visual rotational offets to vehicles. + * Examples include planes when on the ground, or when crashing, or hovercraft when braking. + */ +void apply_vehicle_rotation_offset(Object_Racer *obj, s32 max, s16 roll, s16 pitch, s16 yaw) { + s32 diff; + s32 tempAngle; + + if (!obj->unk1F1) { + tempAngle = roll - (obj->unk160 & 0xFFFF); + obj->unk166 = pitch; + if (tempAngle > 0x8000) { + tempAngle += 0xFFFF0001; + } + if (tempAngle < -0x8000) { + tempAngle += 0xFFFF; + } + if (tempAngle > 0) { + diff = max * 0x600; + if (diff < tempAngle) { + tempAngle = diff; + } + obj->unk160 += tempAngle; + } else if (tempAngle < 0) { + diff = -(max * 0x600); + if (tempAngle < diff) { + tempAngle = diff; + } + obj->unk160 += tempAngle; + } + tempAngle = pitch - (obj->unk162 & 0xFFFF); + if (tempAngle > 0x8000) { + tempAngle = tempAngle + 0xFFFF0001; + } + if (tempAngle < -0x8000) { + tempAngle = tempAngle + 0xFFFF; + } + if (tempAngle > 0) { + diff = max * 0x600; + if (diff < tempAngle) { + tempAngle = diff; + } + obj->unk162 += tempAngle; + } else if (tempAngle < 0) { + diff = -(max * 0x600); + if (tempAngle < diff) { + tempAngle = diff; + } + obj->unk162 += tempAngle; + } + tempAngle = yaw - (obj->unk164 & 0xFFFF); + if (tempAngle > 0x8000) { + tempAngle = tempAngle + 0xFFFF0001; + } + if (tempAngle < -0x8000) { + tempAngle = tempAngle + 0xFFFF; + } + if (tempAngle > 0) { + diff = max * 0x600; + if (diff < tempAngle) { + tempAngle = diff; + } + obj->unk164 += tempAngle; + return; + } + if (tempAngle < 0) { + diff = -(max * 0x600); + if (tempAngle < diff) { + tempAngle = diff; + } + obj->unk164 += tempAngle; + } + } +} + GLOBAL_ASM("asm/non_matchings/racer/func_80050A28.s") +// Loops for as long as Taj exists. After swapping vehicle once, will remain true until you enter a door. s32 func_80052188(void) { if (D_8011D582 == 2) { D_8011D582 = 1; - return 1; + return TRUE; } - return 0; + return FALSE; } +// Called when Taj swaps the active vehicle, is set to 1, each time. void func_800521B8(s32 arg0) { D_8011D582 = arg0; } GLOBAL_ASM("asm/non_matchings/racer/func_800521C4.s") +// Ran by the AI. Seems to be direction related of some sorts. void func_8005234C(unk8005234C *arg0) { arg0->unk16C -= arg0->unk16C >> 3; if (arg0->unk16C >= -9 && arg0->unk16C < 10) { // Deadzone? @@ -487,49 +753,100 @@ void func_8005234C(unk8005234C *arg0) { } } -GLOBAL_ASM("asm/non_matchings/racer/func_80052388.s") +extern s16 func_80070750(f32 y, f32 x); + +s32 func_80052388(Object *obj1, Object_Racer *arg1, Object *obj2, f32 distance) { + s32 rotation; + f32 diffX; + f32 diffZ; + s32 ret = FALSE; + + diffX = obj2->segment.trans.x_position - obj1->segment.trans.x_position; + diffZ = obj2->segment.trans.z_position - obj1->segment.trans.z_position; + if ((diffX * diffX) + (diffZ * diffZ) < distance) { + rotation = (func_80070750(diffX, diffZ) - (obj1->segment.trans.y_rotation & 0xFFFF)) + 0x8000; + if (rotation > 0x8000) { + rotation += 0xFFFF0001; + } + if (rotation < -0x8000) { + rotation += 0xFFFF; + } + if (rotation > 0x3000) { + rotation = 0x3000; + } + if (rotation < -0x3000) { + rotation = -0x3000; + } + arg1->unk16C = rotation; + if ((arg1->unk1E7 & 0x3F) < 0x1F) { + arg1->unk16C = 0; + } + arg1 = (struct Object_Racer *) obj2->unk64; + rotation = func_80070750(diffX, diffZ) - (obj1->segment.trans.y_rotation & 0xFFFF); + if (rotation > 0x8000) { + rotation += 0xFFFF0001; + } + if (rotation < -0x8000) { + rotation += 0xFFFF; + } + if (rotation > 0x3000) { + rotation = 0x3000; + } + if (rotation < -0x3000) { + rotation = -0x3000; + } + arg1->unk16C = rotation; + if (ret) {} + ret = TRUE; + if ((arg1->unk1E7 & 0x1F) < 0xA) { + arg1->unk16C = 0; + } + } + return ret; +} + GLOBAL_ASM("asm/non_matchings/racer/func_8005250C.s") -void func_80052988(Object *arg0, Object_Racer *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) { +void func_80052988(Object *arg0, Object_Racer *arg1, s32 action, s32 arg3, s32 duration, s32 arg5, s32 arg6, s32 arg7) { arg5 *= arg7; - if ((D_8011D55C == -1) && (arg2 >= 3)) { + if ((D_8011D55C == -1) && (action >= 3)) { arg0->segment.unk3B = 0; arg1->unk1F2 = 0; } else if (arg0->segment.unk3B == 0) { if (arg6 & 1) { - if (arg0->segment.unk18 >= 0x29) { + if (arg0->segment.unk18 >= 41) { arg0->segment.unk18 -= arg7 * 4; - if (arg0->segment.unk18 < 0x29) { - arg0->segment.unk3B = arg2; + if (arg0->segment.unk18 < 41) { + arg0->segment.unk3B = action; arg0->segment.unk18 = arg3; } } else { arg0->segment.unk18 += arg7 * 4; - if (arg0->segment.unk18 >= 0x28) { - arg0->segment.unk3B = arg2; + if (arg0->segment.unk18 >= 40) { + arg0->segment.unk3B = action; arg0->segment.unk18 = arg3; } } } else { - arg0->segment.unk3B = arg2; + arg0->segment.unk3B = action; arg0->segment.unk18 = arg3; arg1->unk1F3 &= ~0x80; } - } else if (arg0->segment.unk3B == arg2) { + } else if (arg0->segment.unk3B == action) { if (arg6 & 2) { if (arg1->unk1F3 & 0x80) { arg0->segment.unk18 -= arg5; if (arg0->segment.unk18 <= 0) { arg0->segment.unk3B = 0; arg1->unk1F2 = 0; - arg0->segment.unk18 = 0x28; + arg0->segment.unk18 = 40; arg1->unk1F3 = 0; } } else { arg0->segment.unk18 += arg5; - if (arg0->segment.unk18 >= arg4) { - arg0->segment.unk18 = arg4 - 1; + if (arg0->segment.unk18 >= duration) { + arg0->segment.unk18 = duration - 1; if ((arg6 & 4) == 0) { arg1->unk1F3 |= 0x80; } @@ -537,44 +854,51 @@ void func_80052988(Object *arg0, Object_Racer *arg1, s32 arg2, s32 arg3, s32 arg } } else { arg0->segment.unk18 += arg5; - if (arg0->segment.unk18 >= arg4) { + if (arg0->segment.unk18 >= duration) { arg0->segment.unk3B = 0; arg1->unk1F2 = 0; - arg0->segment.unk18 = 0x28; + arg0->segment.unk18 = 40; arg1->unk1F3 = 0; } } } else { arg0->segment.unk18 = arg3; - arg0->segment.unk3B = arg2; + arg0->segment.unk3B = action; } } GLOBAL_ASM("asm/non_matchings/racer/func_80052B64.s") GLOBAL_ASM("asm/non_matchings/racer/func_80052D7C.s") -void func_80053478(Object_Racer *obj) { - s32 phi_v0; - f32 phi_f0 = obj->velocity; +/** + * Handle the steering input of all cars. + * It takes the speed of the car, creating a curve for the rotational velocity to scale with. + */ +void handle_car_steering(Object_Racer *obj) { + s32 velScale; + f32 vel = obj->velocity; - if (phi_f0 < 0.0) { - phi_f0 = -phi_f0; + // Stay positive :) + if (vel < 0.0) { + vel = -vel; } - if (phi_f0 > 1.8) { - phi_f0 = 1.8f; + if (vel > 1.8) { + vel = 1.8f; } - phi_f0 -= 0.2; - if (phi_f0 < 0.0) { - phi_f0 = 0.0f; + vel -= 0.2; + if (vel < 0.0) { + vel = 0.0f; } if (obj->drift_direction != 0) { - phi_v0 = phi_f0 * 68.0f; + velScale = vel * 68.0f; } else { - phi_v0 = phi_f0 * 58.0f; + velScale = vel * 58.0f; } - D_8011D554 -= (obj->unk1E1 * phi_v0); + // Set the steering velocity based on the car's steering value, scaled with the temp forward velocity value. + gCurrentCarSteerVel -= (obj->unk1E1 * velScale); + // If the car is reversing, then flip the steering. if (obj->velocity > 0.0f) { - D_8011D554 = -D_8011D554; + gCurrentCarSteerVel = -gCurrentCarSteerVel; } } @@ -593,23 +917,26 @@ void func_800535C4(unk800535C4 *arg0, unk800535C4_2 *arg1) { guMtxXFMF(mf, 0.0f, -1.0f, 0.0f, &arg1->ox, &arg1->oy, &arg1->oz); } -void func_80053664(Object_Racer *arg0) { - if (arg0->throttle > 0.0) { - arg0->throttle -= 0.1; +/** + * Adjusts the throttle and brake application for all cars, based off the input. + */ +void handle_car_velocity_control(Object_Racer *car) { + if (car->throttle > 0.0) { + car->throttle -= 0.1; } - if (D_8011D528 & 0x8000) { - arg0->throttle = 1.0f; + if (gCurrentCarInput & A_BUTTON) { + car->throttle = 1.0f; } - if (D_8011D528 & 0x4000) { - if (arg0->brake < 1.0) { - arg0->brake += 0.2; + if (gCurrentCarInput & B_BUTTON) { + if (car->brake < 1.0) { + car->brake += 0.2; } } else { //! @bug Will cause a negative brake value resulting in higher velocity - if (arg0->brake > 0.05) { - arg0->brake -= 0.1; + if (car->brake > 0.05) { + car->brake -= 0.1; } } } @@ -728,15 +1055,15 @@ void func_800580B4(Object *obj, Object_Racer *obj64, s32 arg2, f32 arg3) { if ((D_8011D55C != -1) && (obj64->unk1D8 != 1)) { if (arg2 != gCameraObject->unk36) { func_80057A40(obj, obj64, arg3); - xPos = gCameraObject->x_position; - yPos = gCameraObject->y_position; - zPos = gCameraObject->z_position; + xPos = gCameraObject->trans.x_position; + yPos = gCameraObject->trans.y_position; + zPos = gCameraObject->trans.z_position; gCameraObject->unk36 = arg2; func_80057A40(obj, obj64, arg3); if (D_8011D540 == 0 && D_8011D582 == 0) { - gCameraObject->unk24 = xPos - gCameraObject->x_position; - gCameraObject->unk28 = yPos - (gCameraObject->y_position + gCameraObject->unk30); - gCameraObject->unk2C = zPos - gCameraObject->z_position; + gCameraObject->x_velocity = xPos - gCameraObject->trans.x_position; + gCameraObject->y_velocity = yPos - (gCameraObject->trans.y_position + gCameraObject->unk30); + gCameraObject->z_velocity = zPos - gCameraObject->trans.z_position; } } } @@ -750,16 +1077,73 @@ GLOBAL_ASM("asm/non_matchings/racer/func_80058D5C.s") void func_80058F44(f32 arg0, Object *arg1, Object *arg2) { s32 temp0, temp1; temp0 = (s32)arg0; - temp1 = func_8007066C(gCameraObject->x_position - arg1->segment.trans.x_position, gCameraObject->z_position - arg1->segment.trans.z_position); + temp1 = func_8007066C(gCameraObject->trans.x_position - arg1->segment.trans.x_position, gCameraObject->trans.z_position - arg1->segment.trans.z_position); gCameraObject->y_rotation += (((-temp1 - gCameraObject->y_rotation) + 0x8000) * temp0) >> 4; gCameraObject->z_rotation -= (gCameraObject->z_rotation * temp0) >> 4; - gCameraObject->unk34 = get_level_segment_index_from_position(gCameraObject->x_position, arg2->segment.unk3C_a.unk3C_f, gCameraObject->z_position); + gCameraObject->unk34 = get_level_segment_index_from_position(gCameraObject->trans.x_position, arg2->segment.unk3C_a.unk3C_f, gCameraObject->trans.z_position); } #else GLOBAL_ASM("asm/non_matchings/racer/func_80058F44.s") #endif -GLOBAL_ASM("asm/non_matchings/racer/func_80059080.s") +typedef struct Object_64_80059080 { + u8 pad0[0x10]; + f32 unk10; + f32 unk14; + f32 unk18; + u8 pad1C[0x8C]; + f32 unkA8; + u8 padAC[0xE6]; + s8 unk192; + u8 pad196[0x35]; + u8 unk1C8; + u8 pad1C9[3]; +} Object_64_80059080; + +void func_80059080(s32 arg0, struct Object_64_80059080 *arg1, f32 *arg2, f32 *arg3, f32 *arg4) { + unknown8011AECC *temp_v0_2; + s32 splinePos; + s32 destReached; + s32 splineEnd; + f32 splineX[5]; + f32 splineY[5]; + f32 splineZ[5]; + f32 magnitude; + s32 i; + + splineEnd = func_8001BA64(); + + if (splineEnd) { + magnitude = 1.0 - arg1->unkA8; + if (magnitude < 0.0f) { + magnitude = 0.0f; + } + if (arg1->unk192) {} + splinePos = arg1->unk192 - 2; + if (splinePos < 0) { + splinePos += splineEnd; + } + for (i = 0; i < 5; i++) { + temp_v0_2 = func_8001BA1C(splinePos, arg1->unk1C8); + splineX[i] = temp_v0_2->unk10; + splineY[i] = temp_v0_2->unk14; + splineZ[i] = temp_v0_2->unk18; + splinePos++; + if (splinePos == splineEnd) { + splinePos = 0; + } + } + destReached = 0; + if (magnitude >= 1.0) { + destReached = 1; + magnitude -= 1.0; + } + *arg2 = catmull_rom_interpolation(splineX, destReached, magnitude); + *arg3 = catmull_rom_interpolation(splineY, destReached, magnitude); + *arg4 = catmull_rom_interpolation(splineZ, destReached, magnitude); + } +} + GLOBAL_ASM("asm/non_matchings/racer/func_80059208.s") void get_timestamp_from_frames(s32 frameCount, s32 *minutes, s32 *seconds, s32 *hundredths) { @@ -890,8 +1274,12 @@ GLOBAL_ASM("asm/non_matchings/racer/func_8005A6F0.s") GLOBAL_ASM("asm/non_matchings/racer/func_8005B818.s") // This gets called if an anti-piracy checksum fails in func_8005F850. -void func_8005C25C(void) { - D_800DCB9C[0] = 0.05f; +/** + * Triggered upon failure of an anti-tamper test. Sets the first index of the surface speed + * table to an unreasonable value, wrecking drivability while on it. + */ +void antipiracy_modify_surface_traction_table(void) { + gSurfaceTractionTable[0] = 0.05f; } void func_8005C270(unk8005C270 *arg0) { diff --git a/src/racer.h b/src/racer.h index dd396d73..707aae1a 100644 --- a/src/racer.h +++ b/src/racer.h @@ -5,26 +5,28 @@ #include "structs.h" typedef struct ObjectCamera { -/* 0x0000 */ s16 y_rotation; -/* 0x0002 */ s16 x_rotation; -/* 0x0004 */ s16 z_rotation; -/* 0x0006 */ s16 unk6; -/* 0x0008 */ f32 scale; -/* 0x000C */ f32 x_position; -/* 0x0010 */ f32 y_position; -/* 0x0014 */ f32 z_position; -/* 0x0018 */ u8 pad18[0xC]; -/* 0x0024 */ f32 unk24; -/* 0x0028 */ f32 unk28; -/* 0x002C */ f32 unk2C; -/* 0x0030 */ f32 unk30; -/* 0x0034 */ s16 unk34; -/* 0x0036 */ s16 unk36; + /* 0x0014 */ ObjectTransform trans; + /* 0x0018 */ f32 unk18; + /* 0x001C */ f32 unk1C; + /* 0x0020 */ f32 unk20; + /* 0x0024 */ f32 x_velocity; + /* 0x0028 */ f32 y_velocity; + /* 0x002C */ f32 z_velocity; + /* 0x0030 */ f32 unk30; + /* 0x0034 */ s16 unk34; + /* 0x0036 */ s16 unk36; + /* 0x0038 */ s16 unk38; + /* 0x003A */ u8 unk3A; + /* 0x003B */ u8 unk3B; + /* 0x003C */ u8 unk3C; + /* 0x003D */ u8 unk3D; + /* 0x003E */ u8 unk3E; + /* 0x003F */ u8 unk3F; } ObjectCamera; typedef struct unk8004F77C { u8 unk0[0x20A]; - u8 unk20A; + u8 flags; } unk8004F77C; /* Unknown Size */ @@ -33,6 +35,15 @@ typedef struct unk8005234C { s16 unk16C; } unk8005234C; +typedef struct Object_64_80053478 { + u8 unk0[0x2C]; + f32 unk2C; // Forward Velocity? + u8 unk30[0x1B1]; + s8 unk1E1; // Steering Value? + u8 unk1E2[4]; + s8 unk1E6; +} Object_64_80053478; + /* Unknown Size */ typedef struct unk800535C4 { s16 unk0; @@ -80,7 +91,7 @@ extern s32 D_800DCB5C; extern f32 D_800DCB60[14]; extern s32 D_800DCB98; -extern f32 D_800DCB9C[19]; +extern f32 gSurfaceTractionTable[19]; extern f32 D_800DCBE8[19]; @@ -130,9 +141,9 @@ s32 func_80052188(void); void func_800521B8(s32 arg0); void func_8005234C(unk8005234C *arg0); void func_80052988(Object *arg0, Object_Racer *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7); -void func_80053478(Object_Racer *obj); +void handle_car_steering(Object_Racer *obj); void func_800535C4(unk800535C4 *arg0, unk800535C4_2 *arg1); -void func_80053664(Object_Racer *arg0); +void handle_car_velocity_control(Object_Racer *obj); void play_char_horn_sound(Object *obj, Object_Racer *obj64); void func_80057048(Object *obj, s32 arg1); void func_800570A4(Object *obj, s32 arg1, s32 arg2); @@ -152,7 +163,7 @@ s16 func_80059E20(void); void func_8005A3B0(void); void func_8005A3C0(void); void func_8005A3D0(void); -void func_8005C25C(void); +void antipiracy_modify_surface_traction_table(void); //Non Matching void set_ghost_position_and_rotation(Object *obj); diff --git a/src/save_data.h b/src/save_data.h index fcc4d721..d9a24dab 100644 --- a/src/save_data.h +++ b/src/save_data.h @@ -31,7 +31,7 @@ typedef enum { CONTROLLER_PAK_UNK6, //Could be another way to mark as full according to tt_menu_loop RUMBLE_PAK, CONTROLLER_PAK_UNK8, // func_80074B34 Sets this, possibly set in func_800860A8 - CONTROLLER_PAK_BAD_DATA, + CONTROLLER_PAK_BAD_DATA } SIDeviceStatus; extern s8 *D_800DE440; diff --git a/src/textures_sprites.c b/src/textures_sprites.c index 21ec9fc5..1400210c 100644 --- a/src/textures_sprites.c +++ b/src/textures_sprites.c @@ -1094,7 +1094,24 @@ void func_8007B454(void) { D_80126382 = 1; } -GLOBAL_ASM("asm/non_matchings/textures_sprites/func_8007B46C.s") +typedef struct Struct_Unk_8007B46C { + u8 pad0[0x12]; + u16 unk12; + u8 pad14[2]; + s16 unk16; + u8 pad17[3]; +} Struct_Unk_8007B46C; + +Struct_Unk_8007B46C *func_8007B46C(Struct_Unk_8007B46C *arg0, s32 arg1) { + if (arg1 > 0) { + if (arg1 < arg0->unk12 << 8) { + arg0 = ((u8*)arg0) + ((arg1 >> 16) * arg0->unk16); + } else { + arg0 = ((u8*)arg0) + ((arg0->unk12 >> 8) - 1) * arg0->unk16; + } + } + return arg0; +} void func_8007B4C8(Gfx **dlist, TextureHeader *arg1, u32 flags) { func_8007B4E8(dlist, arg1, flags, 0); diff --git a/src/unknown_003260.c b/src/unknown_003260.c index 7fb33fb9..3a44e997 100644 --- a/src/unknown_003260.c +++ b/src/unknown_003260.c @@ -123,7 +123,7 @@ void audioNewThread(ALSynConfig *c, OSPri p, OSSched *arg2) { osCreateMesgQueue(&OSMesgQueue_80116160, &D_80116178, 8); osCreateMesgQueue(&audDMAMessageQ, &audDMAMessageBuf, 50); - osCreateThread(&audioThread, 4, &func_80002A98, NULL, &dmaState, p); + osCreateThread(&audioThread, 4, &thread4_audio, NULL, &dmaState, p); } #else GLOBAL_ASM("asm/non_matchings/unknown_003260/audioNewThread.s") @@ -137,7 +137,38 @@ void audioStopThread(void) { osStopThread(&audioThread); } -GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80002A98.s") +/** + * Main function for handling ingame audio. Loops continuously as long as the scheduler feeds it updates. + */ +void thread4_audio(UNUSED void *arg) { + s32 audioThreadMarkExit; + s16 *audioThreadRetraceMesg; + s16 *audioThreadUpdateMesg; + + audioThreadMarkExit = FALSE; + audioThreadRetraceMesg = NULL; + audioThreadUpdateMesg = NULL; + + osScAddClient(D_80115F90, &audioStack, &OSMesgQueue_80116160, 1); + while (!audioThreadMarkExit) { + osRecvMesg(&OSMesgQueue_80116160, &audioThreadRetraceMesg, 1); + switch (*audioThreadRetraceMesg) { + case 1: + func_80002C00(D_80115F98[(((u32) audFrameCt % 3))+2], audioThreadUpdateMesg); + osRecvMesg(&D_80116198, &audioThreadUpdateMesg, 1); + func_80002DF8(audioThreadUpdateMesg); + break; + case 4: + // Mysterious void. + break; + case 10: + audioThreadMarkExit = TRUE; + break; + } + } + alClose(&ALGlobals_801161D0); +} + GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80002C00.s") GLOBAL_ASM("asm/non_matchings/unknown_003260/func_80002DF8.s") diff --git a/src/unknown_003260.h b/src/unknown_003260.h index 446bc1a8..06095961 100644 --- a/src/unknown_003260.h +++ b/src/unknown_003260.h @@ -102,7 +102,7 @@ extern unk800DC6BC* gAlSndPlayer; extern s32 sfxVolumeSlider; extern s32 D_800DC6C4; -extern void func_80002A98(void*); +extern void thread4_audio(void*); void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size); //lib/src/al void alEvtqNew(ALEventQueue *evtq, ALEventListItem *items, s32 itemCount); //lib/src/unknown_0C9C90.c ALMicroTime alEvtqNextEvent(ALEventQueue *evtq, ALEvent *evt); //lib/src/unknown_0C9C90.c diff --git a/src/unknown_078050.c b/src/unknown_078050.c index 022e22d4..55b549f8 100644 --- a/src/unknown_078050.c +++ b/src/unknown_078050.c @@ -146,8 +146,8 @@ Gfx D_800DE6E8[][2] = { /************ .bss ************/ -s32 D_801242A0[256]; -s32 D_801246A0[1536]; +u8 gDramStack[SP_DRAM_STACK_SIZE8]; +u8 gGfxSPTaskYieldBuffer[0x1800]; OSMesgQueue D_80125EA0; OSMesg D_80125EB8; OSMesgQueue D_80125EC0; diff --git a/src/video.h b/src/video.h index db4aedd9..0dbde27c 100644 --- a/src/video.h +++ b/src/video.h @@ -53,7 +53,7 @@ enum LogicUpdateRates { LOGIC_15FPS, LOGIC_12FPS, LOGIC_10FPS, - LOGIC_5FPS = 12, + LOGIC_5FPS = 12 }; extern s32 gVideoRefreshRate; diff --git a/tools/python/calc_func_checksums.py b/tools/python/calc_func_checksums.py index ac121757..3948173b 100644 --- a/tools/python/calc_func_checksums.py +++ b/tools/python/calc_func_checksums.py @@ -13,7 +13,7 @@ ROM_FILEPATH = BUILD_DIR + '/dkr.z64' FUNCTIONS_TO_CALC = [ # function checksum variable func size variable ('func_80019808', 'gFunc80019808Checksum', 'gFunc80019808Length'), - ('func_80024D54', 'gFunc80024D54Checksum', 'gFunc80024D54Length'), + ('func_80024D54', 'gTractionTableChecksum', 'gFunc80024D54Length'), ('obj_loop_goldenballoon', 'gObjLoopGoldenBalloonChecksum', 'gObjLoopGoldenBalloonLength'), ('func_80068158', 'gFunc80068158Checksum', 'gFunc80068158Length') ]