From a75389535917d21b0c7ecca6bc0e4f0e29c1e02d Mon Sep 17 00:00:00 2001 From: Tyler McGavran Date: Mon, 21 Nov 2022 13:57:07 -0500 Subject: [PATCH] Assorted matches, mostly focussing on 80027D00 (#277) * Assorted Matches * Matches in code_80027D00 Signed-off-by: Taggerung --- .../code_8001F980/func_80021B0C.s | 97 -- .../code_80027D00/func_8002A704.s | 40 - .../code_80027D00/func_8002A8A4.s | 121 -- .../code_80027D00/func_8002AE38.s | 267 --- .../code_80027D00/func_8002B8A4.s | 91 - .../code_80027D00/func_8002C17C.s | 237 --- .../code_80027D00/func_80037BB4.s | 95 -- .../code_80027D00/func_80038534.s | 247 --- .../code_80027D00/func_800388B0.s | 228 --- .../code_800431B0/func_80050644.s | 116 -- .../code_800431B0/func_800523B8.s | 65 - .../code_800431B0/func_800524B4.s | 59 - .../code_800431B0/func_800536C8.s | 109 -- asm/non_matchings/memory/func_802AF0FC.s | 144 -- data/data_0DD0A0_1_1.s | 2 +- include/common_structs.h | 14 +- include/objects.h | 2 +- include/waypoints.h | 4 + src/actors.c | 1 + src/actors.h | 1 - src/actors_extended.c | 2 + src/actors_extended.h | 7 - src/code_80005FD0.c | 12 +- src/code_8001F980.c | 337 +--- src/code_8001F980.h | 4 + src/code_80027D00.c | 1493 ++++++----------- src/code_80027D00.h | 12 + src/code_800431B0.c | 200 +-- src/code_800431B0.h | 8 + src/code_8008C1D0.c | 1 + src/code_8008C1D0.h | 3 - src/math_util.c | 92 +- src/memory.c | 186 +- src/memory.h | 1 + src/render_courses.c | 2 +- 35 files changed, 835 insertions(+), 3465 deletions(-) delete mode 100644 asm/non_matchings/code_8001F980/func_80021B0C.s delete mode 100644 asm/non_matchings/code_80027D00/func_8002A704.s delete mode 100644 asm/non_matchings/code_80027D00/func_8002A8A4.s delete mode 100644 asm/non_matchings/code_80027D00/func_8002AE38.s delete mode 100644 asm/non_matchings/code_80027D00/func_8002B8A4.s delete mode 100644 asm/non_matchings/code_80027D00/func_8002C17C.s delete mode 100644 asm/non_matchings/code_80027D00/func_80037BB4.s delete mode 100644 asm/non_matchings/code_80027D00/func_80038534.s delete mode 100644 asm/non_matchings/code_80027D00/func_800388B0.s delete mode 100644 asm/non_matchings/code_800431B0/func_80050644.s delete mode 100644 asm/non_matchings/code_800431B0/func_800523B8.s delete mode 100644 asm/non_matchings/code_800431B0/func_800524B4.s delete mode 100644 asm/non_matchings/code_800431B0/func_800536C8.s delete mode 100644 asm/non_matchings/memory/func_802AF0FC.s diff --git a/asm/non_matchings/code_8001F980/func_80021B0C.s b/asm/non_matchings/code_8001F980/func_80021B0C.s deleted file mode 100644 index 0eb35afa3..000000000 --- a/asm/non_matchings/code_8001F980/func_80021B0C.s +++ /dev/null @@ -1,97 +0,0 @@ -glabel func_80021B0C -/* 02270C 80021B0C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 022710 80021B10 AFBF0014 */ sw $ra, 0x14($sp) -/* 022714 80021B14 3C04800E */ lui $a0, %hi(gPlayerOneCopy) # $a0, 0x800e -/* 022718 80021B18 8C84C4FC */ lw $a0, %lo(gPlayerOneCopy)($a0) -/* 02271C 80021B1C 00002825 */ move $a1, $zero -/* 022720 80021B20 0C01B9F3 */ jal func_8006E7CC -/* 022724 80021B24 00003025 */ move $a2, $zero -/* 022728 80021B28 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 02272C 80021B2C 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 022730 80021B30 24050001 */ li $a1, 1 -/* 022734 80021B34 0C01B9F3 */ jal func_8006E7CC -/* 022738 80021B38 00003025 */ move $a2, $zero -/* 02273C 80021B3C 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 022740 80021B40 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 022744 80021B44 24050002 */ li $a1, 2 -/* 022748 80021B48 0C01B9F3 */ jal func_8006E7CC -/* 02274C 80021B4C 00003025 */ move $a2, $zero -/* 022750 80021B50 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 022754 80021B54 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 022758 80021B58 24050003 */ li $a1, 3 -/* 02275C 80021B5C 0C01B9F3 */ jal func_8006E7CC -/* 022760 80021B60 00003025 */ move $a2, $zero -/* 022764 80021B64 3C0E800E */ lui $t6, %hi(gActiveScreenMode) # $t6, 0x800e -/* 022768 80021B68 8DCEC52C */ lw $t6, %lo(gActiveScreenMode)($t6) -/* 02276C 80021B6C 24010003 */ li $at, 3 -/* 022770 80021B70 3C04800E */ lui $a0, %hi(gPlayerFive) # $a0, 0x800e -/* 022774 80021B74 11C10013 */ beq $t6, $at, .L80021BC4 -/* 022778 80021B78 24050004 */ li $a1, 4 -/* 02277C 80021B7C 8C84C4EC */ lw $a0, %lo(gPlayerFive)($a0) -/* 022780 80021B80 0C01B9F3 */ jal func_8006E7CC -/* 022784 80021B84 00003025 */ move $a2, $zero -/* 022788 80021B88 3C04800E */ lui $a0, %hi(gPlayerSix) # $a0, 0x800e -/* 02278C 80021B8C 8C84C4F0 */ lw $a0, %lo(gPlayerSix)($a0) -/* 022790 80021B90 24050005 */ li $a1, 5 -/* 022794 80021B94 0C01B9F3 */ jal func_8006E7CC -/* 022798 80021B98 00003025 */ move $a2, $zero -/* 02279C 80021B9C 3C04800E */ lui $a0, %hi(gPlayerSeven) # $a0, 0x800e -/* 0227A0 80021BA0 8C84C4F4 */ lw $a0, %lo(gPlayerSeven)($a0) -/* 0227A4 80021BA4 24050006 */ li $a1, 6 -/* 0227A8 80021BA8 0C01B9F3 */ jal func_8006E7CC -/* 0227AC 80021BAC 00003025 */ move $a2, $zero -/* 0227B0 80021BB0 3C04800E */ lui $a0, %hi(gPlayerEight) # $a0, 0x800e -/* 0227B4 80021BB4 8C84C4F8 */ lw $a0, %lo(gPlayerEight)($a0) -/* 0227B8 80021BB8 24050007 */ li $a1, 7 -/* 0227BC 80021BBC 0C01B9F3 */ jal func_8006E7CC -/* 0227C0 80021BC0 00003025 */ move $a2, $zero -.L80021BC4: -/* 0227C4 80021BC4 3C0F800E */ lui $t7, %hi(gGamestate) # $t7, 0x800e -/* 0227C8 80021BC8 8DEFC50C */ lw $t7, %lo(gGamestate)($t7) -/* 0227CC 80021BCC 24010005 */ li $at, 5 -/* 0227D0 80021BD0 3C04800E */ lui $a0, %hi(gPlayerOne) # $a0, 0x800e -/* 0227D4 80021BD4 55E10025 */ bnel $t7, $at, .L80021C6C -/* 0227D8 80021BD8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0227DC 80021BDC 8C84C4DC */ lw $a0, %lo(gPlayerOne)($a0) -/* 0227E0 80021BE0 00002825 */ move $a1, $zero -/* 0227E4 80021BE4 84980044 */ lh $t8, 0x44($a0) -/* 0227E8 80021BE8 33192000 */ andi $t9, $t8, 0x2000 -/* 0227EC 80021BEC 13200003 */ beqz $t9, .L80021BFC -/* 0227F0 80021BF0 00000000 */ nop -/* 0227F4 80021BF4 0C0090DD */ jal func_80024374 -/* 0227F8 80021BF8 00003025 */ move $a2, $zero -.L80021BFC: -/* 0227FC 80021BFC 3C04800E */ lui $a0, %hi(gPlayerTwo) # $a0, 0x800e -/* 022800 80021C00 8C84C4E0 */ lw $a0, %lo(gPlayerTwo)($a0) -/* 022804 80021C04 24050001 */ li $a1, 1 -/* 022808 80021C08 84880044 */ lh $t0, 0x44($a0) -/* 02280C 80021C0C 31092000 */ andi $t1, $t0, 0x2000 -/* 022810 80021C10 11200003 */ beqz $t1, .L80021C20 -/* 022814 80021C14 00000000 */ nop -/* 022818 80021C18 0C0090DD */ jal func_80024374 -/* 02281C 80021C1C 00003025 */ move $a2, $zero -.L80021C20: -/* 022820 80021C20 3C04800E */ lui $a0, %hi(gPlayerThree) # $a0, 0x800e -/* 022824 80021C24 8C84C4E4 */ lw $a0, %lo(gPlayerThree)($a0) -/* 022828 80021C28 24050002 */ li $a1, 2 -/* 02282C 80021C2C 848A0044 */ lh $t2, 0x44($a0) -/* 022830 80021C30 314B2000 */ andi $t3, $t2, 0x2000 -/* 022834 80021C34 11600003 */ beqz $t3, .L80021C44 -/* 022838 80021C38 00000000 */ nop -/* 02283C 80021C3C 0C0090DD */ jal func_80024374 -/* 022840 80021C40 00003025 */ move $a2, $zero -.L80021C44: -/* 022844 80021C44 3C04800E */ lui $a0, %hi(gPlayerFour) # $a0, 0x800e -/* 022848 80021C48 8C84C4E8 */ lw $a0, %lo(gPlayerFour)($a0) -/* 02284C 80021C4C 24050003 */ li $a1, 3 -/* 022850 80021C50 848C0044 */ lh $t4, 0x44($a0) -/* 022854 80021C54 318D2000 */ andi $t5, $t4, 0x2000 -/* 022858 80021C58 51A00004 */ beql $t5, $zero, .L80021C6C -/* 02285C 80021C5C 8FBF0014 */ lw $ra, 0x14($sp) -/* 022860 80021C60 0C0090DD */ jal func_80024374 -/* 022864 80021C64 00003025 */ move $a2, $zero -/* 022868 80021C68 8FBF0014 */ lw $ra, 0x14($sp) -.L80021C6C: -/* 02286C 80021C6C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 022870 80021C70 03E00008 */ jr $ra -/* 022874 80021C74 00000000 */ nop diff --git a/asm/non_matchings/code_80027D00/func_8002A704.s b/asm/non_matchings/code_80027D00/func_8002A704.s deleted file mode 100644 index aa61916d6..000000000 --- a/asm/non_matchings/code_80027D00/func_8002A704.s +++ /dev/null @@ -1,40 +0,0 @@ -glabel func_8002A704 -/* 02B304 8002A704 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B308 8002A708 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B30C 8002A70C AFA5001C */ sw $a1, 0x1c($sp) -/* 02B310 8002A710 8C98000C */ lw $t8, 0xc($a0) -/* 02B314 8002A714 8C8E00BC */ lw $t6, 0xbc($a0) -/* 02B318 8002A718 94820000 */ lhu $v0, ($a0) -/* 02B31C 8002A71C 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff -/* 02B320 8002A720 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 02B324 8002A724 0301C824 */ and $t9, $t8, $at -/* 02B328 8002A728 24014000 */ li $at, 16384 -/* 02B32C 8002A72C 35CF2000 */ ori $t7, $t6, 0x2000 -/* 02B330 8002A730 30484000 */ andi $t0, $v0, 0x4000 -/* 02B334 8002A734 00803025 */ move $a2, $a0 -/* 02B338 8002A738 AC8F00BC */ sw $t7, 0xbc($a0) -/* 02B33C 8002A73C 15010011 */ bne $t0, $at, .L8002A784 -/* 02B340 8002A740 AC99000C */ sw $t9, 0xc($a0) -/* 02B344 8002A744 30490100 */ andi $t1, $v0, 0x100 -/* 02B348 8002A748 24010100 */ li $at, 256 -/* 02B34C 8002A74C 1121000D */ beq $t1, $at, .L8002A784 -/* 02B350 8002A750 00002025 */ move $a0, $zero -/* 02B354 8002A754 94C50254 */ lhu $a1, 0x254($a2) -/* 02B358 8002A758 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 02B35C 8002A75C 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 02B360 8002A760 00055100 */ sll $t2, $a1, 4 -/* 02B364 8002A764 01412821 */ addu $a1, $t2, $at -/* 02B368 8002A768 0C03243D */ jal func_800C90F4 -/* 02B36C 8002A76C AFA60018 */ sw $a2, 0x18($sp) -/* 02B370 8002A770 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900 -/* 02B374 8002A774 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b -/* 02B378 8002A778 0C032418 */ jal func_800C9060 -/* 02B37C 8002A77C 93A4001F */ lbu $a0, 0x1f($sp) -/* 02B380 8002A780 8FA60018 */ lw $a2, 0x18($sp) -.L8002A784: -/* 02B384 8002A784 240B0050 */ li $t3, 80 -/* 02B388 8002A788 A4CB00DC */ sh $t3, 0xdc($a2) -/* 02B38C 8002A78C 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B390 8002A790 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B394 8002A794 03E00008 */ jr $ra -/* 02B398 8002A798 00000000 */ nop diff --git a/asm/non_matchings/code_80027D00/func_8002A8A4.s b/asm/non_matchings/code_80027D00/func_8002A8A4.s deleted file mode 100644 index 1c8770558..000000000 --- a/asm/non_matchings/code_80027D00/func_8002A8A4.s +++ /dev/null @@ -1,121 +0,0 @@ -glabel func_8002A8A4 -/* 02B4A4 8002A8A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 02B4A8 8002A8A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 02B4AC 8002A8AC AFA5001C */ sw $a1, 0x1c($sp) -/* 02B4B0 8002A8B0 848F00C0 */ lh $t7, 0xc0($a0) -/* 02B4B4 8002A8B4 240100B6 */ li $at, 182 -/* 02B4B8 8002A8B8 00053600 */ sll $a2, $a1, 0x18 -/* 02B4BC 8002A8BC 01E1001A */ div $zero, $t7, $at -/* 02B4C0 8002A8C0 00067603 */ sra $t6, $a2, 0x18 -/* 02B4C4 8002A8C4 0000C012 */ mflo $t8 -/* 02B4C8 8002A8C8 01C03025 */ move $a2, $t6 -/* 02B4CC 8002A8CC 5B000030 */ blezl $t8, .L8002A990 -/* 02B4D0 8002A8D0 8C8E007C */ lw $t6, 0x7c($a0) -/* 02B4D4 8002A8D4 8C99007C */ lw $t9, 0x7c($a0) -/* 02B4D8 8002A8D8 00194403 */ sra $t0, $t9, 0x10 -/* 02B4DC 8002A8DC 2901FFF7 */ slti $at, $t0, -9 -/* 02B4E0 8002A8E0 50200015 */ beql $at, $zero, .L8002A938 -/* 02B4E4 8002A8E4 84820228 */ lh $v0, 0x228($a0) -/* 02B4E8 8002A8E8 84820228 */ lh $v0, 0x228($a0) -/* 02B4EC 8002A8EC 28410065 */ slti $at, $v0, 0x65 -/* 02B4F0 8002A8F0 10200003 */ beqz $at, .L8002A900 -/* 02B4F4 8002A8F4 24490001 */ addiu $t1, $v0, 1 -/* 02B4F8 8002A8F8 A4890228 */ sh $t1, 0x228($a0) -/* 02B4FC 8002A8FC 84820228 */ lh $v0, 0x228($a0) -.L8002A900: -/* 02B500 8002A900 24010064 */ li $at, 100 -/* 02B504 8002A904 5441004F */ bnel $v0, $at, .L8002AA44 -/* 02B508 8002A908 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B50C 8002A90C 948A0000 */ lhu $t2, ($a0) -/* 02B510 8002A910 30C400FF */ andi $a0, $a2, 0xff -/* 02B514 8002A914 3C051900 */ lui $a1, (0x1900851E >> 16) # lui $a1, 0x1900 -/* 02B518 8002A918 314B4000 */ andi $t3, $t2, 0x4000 -/* 02B51C 8002A91C 51600049 */ beql $t3, $zero, .L8002AA44 -/* 02B520 8002A920 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B524 8002A924 0C032418 */ jal func_800C9060 -/* 02B528 8002A928 34A5851E */ ori $a1, (0x1900851E & 0xFFFF) # ori $a1, $a1, 0x851e -/* 02B52C 8002A92C 10000045 */ b .L8002AA44 -/* 02B530 8002A930 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B534 8002A934 84820228 */ lh $v0, 0x228($a0) -.L8002A938: -/* 02B538 8002A938 28410012 */ slti $at, $v0, 0x12 -/* 02B53C 8002A93C 14200009 */ bnez $at, .L8002A964 -/* 02B540 8002A940 28410064 */ slti $at, $v0, 0x64 -/* 02B544 8002A944 50200008 */ beql $at, $zero, .L8002A968 -/* 02B548 8002A948 2841000A */ slti $at, $v0, 0xa -/* 02B54C 8002A94C 8483022A */ lh $v1, 0x22a($a0) -/* 02B550 8002A950 28610003 */ slti $at, $v1, 3 -/* 02B554 8002A954 10200003 */ beqz $at, .L8002A964 -/* 02B558 8002A958 246C0001 */ addiu $t4, $v1, 1 -/* 02B55C 8002A95C A48C022A */ sh $t4, 0x22a($a0) -/* 02B560 8002A960 84820228 */ lh $v0, 0x228($a0) -.L8002A964: -/* 02B564 8002A964 2841000A */ slti $at, $v0, 0xa -.L8002A968: -/* 02B568 8002A968 14200005 */ bnez $at, .L8002A980 -/* 02B56C 8002A96C 28410064 */ slti $at, $v0, 0x64 -/* 02B570 8002A970 10200003 */ beqz $at, .L8002A980 -/* 02B574 8002A974 240D000A */ li $t5, 10 -/* 02B578 8002A978 10000031 */ b .L8002AA40 -/* 02B57C 8002A97C A48D0228 */ sh $t5, 0x228($a0) -.L8002A980: -/* 02B580 8002A980 A4800228 */ sh $zero, 0x228($a0) -/* 02B584 8002A984 1000002E */ b .L8002AA40 -/* 02B588 8002A988 A480022A */ sh $zero, 0x22a($a0) -/* 02B58C 8002A98C 8C8E007C */ lw $t6, 0x7c($a0) -.L8002A990: -/* 02B590 8002A990 000E7C03 */ sra $t7, $t6, 0x10 -/* 02B594 8002A994 29E1000A */ slti $at, $t7, 0xa -/* 02B598 8002A998 54200015 */ bnel $at, $zero, .L8002A9F0 -/* 02B59C 8002A99C 84820228 */ lh $v0, 0x228($a0) -/* 02B5A0 8002A9A0 84820228 */ lh $v0, 0x228($a0) -/* 02B5A4 8002A9A4 28410065 */ slti $at, $v0, 0x65 -/* 02B5A8 8002A9A8 10200003 */ beqz $at, .L8002A9B8 -/* 02B5AC 8002A9AC 24580001 */ addiu $t8, $v0, 1 -/* 02B5B0 8002A9B0 A4980228 */ sh $t8, 0x228($a0) -/* 02B5B4 8002A9B4 84820228 */ lh $v0, 0x228($a0) -.L8002A9B8: -/* 02B5B8 8002A9B8 24010064 */ li $at, 100 -/* 02B5BC 8002A9BC 54410021 */ bnel $v0, $at, .L8002AA44 -/* 02B5C0 8002A9C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B5C4 8002A9C4 94990000 */ lhu $t9, ($a0) -/* 02B5C8 8002A9C8 30C400FF */ andi $a0, $a2, 0xff -/* 02B5CC 8002A9CC 3C051900 */ lui $a1, (0x1900851E >> 16) # lui $a1, 0x1900 -/* 02B5D0 8002A9D0 33284000 */ andi $t0, $t9, 0x4000 -/* 02B5D4 8002A9D4 5100001B */ beql $t0, $zero, .L8002AA44 -/* 02B5D8 8002A9D8 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B5DC 8002A9DC 0C032418 */ jal func_800C9060 -/* 02B5E0 8002A9E0 34A5851E */ ori $a1, (0x1900851E & 0xFFFF) # ori $a1, $a1, 0x851e -/* 02B5E4 8002A9E4 10000017 */ b .L8002AA44 -/* 02B5E8 8002A9E8 8FBF0014 */ lw $ra, 0x14($sp) -/* 02B5EC 8002A9EC 84820228 */ lh $v0, 0x228($a0) -.L8002A9F0: -/* 02B5F0 8002A9F0 28410012 */ slti $at, $v0, 0x12 -/* 02B5F4 8002A9F4 14200009 */ bnez $at, .L8002AA1C -/* 02B5F8 8002A9F8 28410064 */ slti $at, $v0, 0x64 -/* 02B5FC 8002A9FC 50200008 */ beql $at, $zero, .L8002AA20 -/* 02B600 8002AA00 2841000A */ slti $at, $v0, 0xa -/* 02B604 8002AA04 8483022A */ lh $v1, 0x22a($a0) -/* 02B608 8002AA08 28610003 */ slti $at, $v1, 3 -/* 02B60C 8002AA0C 10200003 */ beqz $at, .L8002AA1C -/* 02B610 8002AA10 24690001 */ addiu $t1, $v1, 1 -/* 02B614 8002AA14 A489022A */ sh $t1, 0x22a($a0) -/* 02B618 8002AA18 84820228 */ lh $v0, 0x228($a0) -.L8002AA1C: -/* 02B61C 8002AA1C 2841000A */ slti $at, $v0, 0xa -.L8002AA20: -/* 02B620 8002AA20 14200005 */ bnez $at, .L8002AA38 -/* 02B624 8002AA24 28410064 */ slti $at, $v0, 0x64 -/* 02B628 8002AA28 10200003 */ beqz $at, .L8002AA38 -/* 02B62C 8002AA2C 240A000A */ li $t2, 10 -/* 02B630 8002AA30 10000003 */ b .L8002AA40 -/* 02B634 8002AA34 A48A0228 */ sh $t2, 0x228($a0) -.L8002AA38: -/* 02B638 8002AA38 A4800228 */ sh $zero, 0x228($a0) -/* 02B63C 8002AA3C A480022A */ sh $zero, 0x22a($a0) -.L8002AA40: -/* 02B640 8002AA40 8FBF0014 */ lw $ra, 0x14($sp) -.L8002AA44: -/* 02B644 8002AA44 27BD0018 */ addiu $sp, $sp, 0x18 -/* 02B648 8002AA48 03E00008 */ jr $ra -/* 02B64C 8002AA4C 00000000 */ nop diff --git a/asm/non_matchings/code_80027D00/func_8002AE38.s b/asm/non_matchings/code_80027D00/func_8002AE38.s deleted file mode 100644 index a1f191eec..000000000 --- a/asm/non_matchings/code_80027D00/func_8002AE38.s +++ /dev/null @@ -1,267 +0,0 @@ -glabel func_8002AE38 -/* 02BA38 8002AE38 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 02BA3C 8002AE3C AFA60048 */ sw $a2, 0x48($sp) -/* 02BA40 8002AE40 00803025 */ move $a2, $a0 -/* 02BA44 8002AE44 AFBF0014 */ sw $ra, 0x14($sp) -/* 02BA48 8002AE48 AFA40040 */ sw $a0, 0x40($sp) -/* 02BA4C 8002AE4C AFA50044 */ sw $a1, 0x44($sp) -/* 02BA50 8002AE50 AFA7004C */ sw $a3, 0x4c($sp) -/* 02BA54 8002AE54 8484002E */ lh $a0, 0x2e($a0) -/* 02BA58 8002AE58 AFA60040 */ sw $a2, 0x40($sp) -/* 02BA5C 8002AE5C 00042023 */ negu $a0, $a0 -/* 02BA60 8002AE60 308EFFFF */ andi $t6, $a0, 0xffff -/* 02BA64 8002AE64 0C0AE006 */ jal sins -/* 02BA68 8002AE68 01C02025 */ move $a0, $t6 -/* 02BA6C 8002AE6C 8FA60040 */ lw $a2, 0x40($sp) -/* 02BA70 8002AE70 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 02BA74 8002AE74 C4C40094 */ lwc1 $f4, 0x94($a2) -/* 02BA78 8002AE78 46040182 */ mul.s $f6, $f0, $f4 -/* 02BA7C 8002AE7C 46083280 */ add.s $f10, $f6, $f8 -/* 02BA80 8002AE80 E7AA0028 */ swc1 $f10, 0x28($sp) -/* 02BA84 8002AE84 84C4002E */ lh $a0, 0x2e($a2) -/* 02BA88 8002AE88 00042023 */ negu $a0, $a0 -/* 02BA8C 8002AE8C 308FFFFF */ andi $t7, $a0, 0xffff -/* 02BA90 8002AE90 0C0AE00E */ jal coss -/* 02BA94 8002AE94 01E02025 */ move $a0, $t7 -/* 02BA98 8002AE98 8FA60040 */ lw $a2, 0x40($sp) -/* 02BA9C 8002AE9C C7B2004C */ lwc1 $f18, 0x4c($sp) -/* 02BAA0 8002AEA0 24010800 */ li $at, 2048 -/* 02BAA4 8002AEA4 C4C20094 */ lwc1 $f2, 0x94($a2) -/* 02BAA8 8002AEA8 8CC200BC */ lw $v0, 0xbc($a2) -/* 02BAAC 8002AEAC 46020102 */ mul.s $f4, $f0, $f2 -/* 02BAB0 8002AEB0 30580800 */ andi $t8, $v0, 0x800 -/* 02BAB4 8002AEB4 30590010 */ andi $t9, $v0, 0x10 -/* 02BAB8 8002AEB8 1301003E */ beq $t8, $at, .L8002AFB4 -/* 02BABC 8002AEBC 46122400 */ add.s $f16, $f4, $f18 -/* 02BAC0 8002AEC0 24010010 */ li $at, 16 -/* 02BAC4 8002AEC4 5321003C */ beql $t9, $at, .L8002AFB8 -/* 02BAC8 8002AEC8 83B80047 */ lb $t8, 0x47($sp) -/* 02BACC 8002AECC 84C80044 */ lh $t0, 0x44($a2) -/* 02BAD0 8002AED0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 02BAD4 8002AED4 31094000 */ andi $t1, $t0, 0x4000 -/* 02BAD8 8002AED8 55200037 */ bnel $t1, $zero, .L8002AFB8 -/* 02BADC 8002AEDC 83B80047 */ lb $t8, 0x47($sp) -/* 02BAE0 8002AEE0 44813000 */ mtc1 $at, $f6 -/* 02BAE4 8002AEE4 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 02BAE8 8002AEE8 44814000 */ mtc1 $at, $f8 -/* 02BAEC 8002AEEC 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 02BAF0 8002AEF0 44812000 */ mtc1 $at, $f4 -/* 02BAF4 8002AEF4 46081283 */ div.s $f10, $f2, $f8 -/* 02BAF8 8002AEF8 304B0020 */ andi $t3, $v0, 0x20 -/* 02BAFC 8002AEFC 46045202 */ mul.s $f8, $f10, $f4 -/* 02BB00 8002AF00 4606403E */ c.le.s $f8, $f6 -/* 02BB04 8002AF04 00000000 */ nop -/* 02BB08 8002AF08 45030008 */ bc1tl .L8002AF2C -/* 02BB0C 8002AF0C 24010020 */ li $at, 32 -/* 02BB10 8002AF10 8CC3007C */ lw $v1, 0x7c($a2) -/* 02BB14 8002AF14 00035403 */ sra $t2, $v1, 0x10 -/* 02BB18 8002AF18 29410005 */ slti $at, $t2, 5 -/* 02BB1C 8002AF1C 10200025 */ beqz $at, .L8002AFB4 -/* 02BB20 8002AF20 2941FFFC */ slti $at, $t2, -4 -/* 02BB24 8002AF24 14200023 */ bnez $at, .L8002AFB4 -/* 02BB28 8002AF28 24010020 */ li $at, 32 -.L8002AF2C: -/* 02BB2C 8002AF2C 5561000E */ bnel $t3, $at, .L8002AF68 -/* 02BB30 8002AF30 84D80078 */ lh $t8, 0x78($a2) -/* 02BB34 8002AF34 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BB38 8002AF38 2401000A */ li $at, 10 -/* 02BB3C 8002AF3C 0041001A */ div $zero, $v0, $at -/* 02BB40 8002AF40 00006012 */ mflo $t4 -/* 02BB44 8002AF44 004C6823 */ subu $t5, $v0, $t4 -/* 02BB48 8002AF48 448D5000 */ mtc1 $t5, $f10 -/* 02BB4C 8002AF4C 00000000 */ nop -/* 02BB50 8002AF50 46805120 */ cvt.s.w $f4, $f10 -/* 02BB54 8002AF54 4600218D */ trunc.w.s $f6, $f4 -/* 02BB58 8002AF58 440F3000 */ mfc1 $t7, $f6 -/* 02BB5C 8002AF5C 100000AA */ b .L8002B208 -/* 02BB60 8002AF60 A4CF00C0 */ sh $t7, 0xc0($a2) -/* 02BB64 8002AF64 84D80078 */ lh $t8, 0x78($a2) -.L8002AF68: -/* 02BB68 8002AF68 84C400C0 */ lh $a0, 0xc0($a2) -/* 02BB6C 8002AF6C 2401000F */ li $at, 15 -/* 02BB70 8002AF70 0018C8C0 */ sll $t9, $t8, 3 -/* 02BB74 8002AF74 0338C821 */ addu $t9, $t9, $t8 -/* 02BB78 8002AF78 A4D900C0 */ sh $t9, 0xc0($a2) -/* 02BB7C 8002AF7C 84C800C0 */ lh $t0, 0xc0($a2) -/* 02BB80 8002AF80 01041823 */ subu $v1, $t0, $a0 -/* 02BB84 8002AF84 00034C00 */ sll $t1, $v1, 0x10 -/* 02BB88 8002AF88 00095403 */ sra $t2, $t1, 0x10 -/* 02BB8C 8002AF8C 0141001A */ div $zero, $t2, $at -/* 02BB90 8002AF90 00005812 */ mflo $t3 -/* 02BB94 8002AF94 008B6021 */ addu $t4, $a0, $t3 -/* 02BB98 8002AF98 448C4000 */ mtc1 $t4, $f8 -/* 02BB9C 8002AF9C 00000000 */ nop -/* 02BBA0 8002AFA0 468042A0 */ cvt.s.w $f10, $f8 -/* 02BBA4 8002AFA4 4600510D */ trunc.w.s $f4, $f10 -/* 02BBA8 8002AFA8 440E2000 */ mfc1 $t6, $f4 -/* 02BBAC 8002AFAC 10000096 */ b .L8002B208 -/* 02BBB0 8002AFB0 A4CE00C0 */ sh $t6, 0xc0($a2) -.L8002AFB4: -/* 02BBB4 8002AFB4 83B80047 */ lb $t8, 0x47($sp) -.L8002AFB8: -/* 02BBB8 8002AFB8 3C088016 */ lui $t0, %hi(D_801652C0) # 0x8016 -/* 02BBBC 8002AFBC 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BBC0 8002AFC0 0018C880 */ sll $t9, $t8, 2 -/* 02BBC4 8002AFC4 01194021 */ addu $t0, $t0, $t9 -/* 02BBC8 8002AFC8 8D0852C0 */ lw $t0, %lo(D_801652C0)($t0) # 0x52c0($t0) -/* 02BBCC 8002AFCC 00022400 */ sll $a0, $v0, 0x10 -/* 02BBD0 8002AFD0 00047C03 */ sra $t7, $a0, 0x10 -/* 02BBD4 8002AFD4 31090008 */ andi $t1, $t0, 8 -/* 02BBD8 8002AFD8 11200003 */ beqz $t1, .L8002AFE8 -/* 02BBDC 8002AFDC 01E02025 */ move $a0, $t7 -/* 02BBE0 8002AFE0 10000002 */ b .L8002AFEC -/* 02BBE4 8002AFE4 24030002 */ li $v1, 2 -.L8002AFE8: -/* 02BBE8 8002AFE8 00001825 */ move $v1, $zero -.L8002AFEC: -/* 02BBEC 8002AFEC 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 02BBF0 8002AFF0 44814000 */ mtc1 $at, $f8 -/* 02BBF4 8002AFF4 C4C6009C */ lwc1 $f6, 0x9c($a2) -/* 02BBF8 8002AFF8 24010002 */ li $at, 2 -/* 02BBFC 8002AFFC C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 02BC00 8002B000 4606403E */ c.le.s $f8, $f6 -/* 02BC04 8002B004 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 02BC08 8002B008 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 02BC0C 8002B00C 45020022 */ bc1fl .L8002B098 -/* 02BC10 8002B010 46083301 */ sub.s $f12, $f6, $f8 -/* 02BC14 8002B014 1461001F */ bne $v1, $at, .L8002B094 -/* 02BC18 8002B018 240100B6 */ li $at, 182 -/* 02BC1C 8002B01C 0041001A */ div $zero, $v0, $at -/* 02BC20 8002B020 00001812 */ mflo $v1 -/* 02BC24 8002B024 28610010 */ slti $at, $v1, 0x10 -/* 02BC28 8002B028 10200004 */ beqz $at, .L8002B03C -/* 02BC2C 8002B02C C7A40050 */ lwc1 $f4, 0x50($sp) -/* 02BC30 8002B030 2861FFF1 */ slti $at, $v1, -0xf -/* 02BC34 8002B034 50200018 */ beql $at, $zero, .L8002B098 -/* 02BC38 8002B038 46083301 */ sub.s $f12, $f6, $f8 -.L8002B03C: -/* 02BC3C 8002B03C C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 02BC40 8002B040 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 02BC44 8002B044 A7A4002E */ sh $a0, 0x2e($sp) -/* 02BC48 8002B048 AFA60040 */ sw $a2, 0x40($sp) -/* 02BC4C 8002B04C E7B00024 */ swc1 $f16, 0x24($sp) -/* 02BC50 8002B050 46045301 */ sub.s $f12, $f10, $f4 -/* 02BC54 8002B054 0C0ADE0C */ jal atan2s -/* 02BC58 8002B058 46069381 */ sub.s $f14, $f18, $f6 -/* 02BC5C 8002B05C C7B00024 */ lwc1 $f16, 0x24($sp) -/* 02BC60 8002B060 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 02BC64 8002B064 C7AA0028 */ lwc1 $f10, 0x28($sp) -/* 02BC68 8002B068 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 02BC6C 8002B06C A7A2001A */ sh $v0, 0x1a($sp) -/* 02BC70 8002B070 460A4301 */ sub.s $f12, $f8, $f10 -/* 02BC74 8002B074 0C0ADE0C */ jal atan2s -/* 02BC78 8002B078 46102381 */ sub.s $f14, $f4, $f16 -/* 02BC7C 8002B07C 97AA001A */ lhu $t2, 0x1a($sp) -/* 02BC80 8002B080 8FA60040 */ lw $a2, 0x40($sp) -/* 02BC84 8002B084 87A4002E */ lh $a0, 0x2e($sp) -/* 02BC88 8002B088 01425823 */ subu $t3, $t2, $v0 -/* 02BC8C 8002B08C 10000015 */ b .L8002B0E4 -/* 02BC90 8002B090 A4CB00C0 */ sh $t3, 0xc0($a2) -.L8002B094: -/* 02BC94 8002B094 46083301 */ sub.s $f12, $f6, $f8 -.L8002B098: -/* 02BC98 8002B098 A7A4002E */ sh $a0, 0x2e($sp) -/* 02BC9C 8002B09C AFA60040 */ sw $a2, 0x40($sp) -/* 02BCA0 8002B0A0 460A9381 */ sub.s $f14, $f18, $f10 -/* 02BCA4 8002B0A4 0C0ADE0C */ jal atan2s -/* 02BCA8 8002B0A8 E7B00024 */ swc1 $f16, 0x24($sp) -/* 02BCAC 8002B0AC C7B00024 */ lwc1 $f16, 0x24($sp) -/* 02BCB0 8002B0B0 C7A40048 */ lwc1 $f4, 0x48($sp) -/* 02BCB4 8002B0B4 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 02BCB8 8002B0B8 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 02BCBC 8002B0BC A7A2001A */ sh $v0, 0x1a($sp) -/* 02BCC0 8002B0C0 46062301 */ sub.s $f12, $f4, $f6 -/* 02BCC4 8002B0C4 0C0ADE0C */ jal atan2s -/* 02BCC8 8002B0C8 46104381 */ sub.s $f14, $f8, $f16 -/* 02BCCC 8002B0CC 97AC001A */ lhu $t4, 0x1a($sp) -/* 02BCD0 8002B0D0 8FA60040 */ lw $a2, 0x40($sp) -/* 02BCD4 8002B0D4 87A4002E */ lh $a0, 0x2e($sp) -/* 02BCD8 8002B0D8 01826823 */ subu $t5, $t4, $v0 -/* 02BCDC 8002B0DC 000D7040 */ sll $t6, $t5, 1 -/* 02BCE0 8002B0E0 A4CE00C0 */ sh $t6, 0xc0($a2) -.L8002B0E4: -/* 02BCE4 8002B0E4 8CCF00BC */ lw $t7, 0xbc($a2) -/* 02BCE8 8002B0E8 24010010 */ li $at, 16 -/* 02BCEC 8002B0EC 31F80010 */ andi $t8, $t7, 0x10 -/* 02BCF0 8002B0F0 5301002B */ beql $t8, $at, .L8002B1A0 -/* 02BCF4 8002B0F4 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BCF8 8002B0F8 8CC3007C */ lw $v1, 0x7c($a2) -/* 02BCFC 8002B0FC 0003CC03 */ sra $t9, $v1, 0x10 -/* 02BD00 8002B100 1B200004 */ blez $t9, .L8002B114 -/* 02BD04 8002B104 03201825 */ move $v1, $t9 -/* 02BD08 8002B108 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BD0C 8002B10C 04400006 */ bltz $v0, .L8002B128 -/* 02BD10 8002B110 00000000 */ nop -.L8002B114: -/* 02BD14 8002B114 04630022 */ bgezl $v1, .L8002B1A0 -/* 02BD18 8002B118 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BD1C 8002B11C 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BD20 8002B120 5840001F */ blezl $v0, .L8002B1A0 -/* 02BD24 8002B124 84C200C0 */ lh $v0, 0xc0($a2) -.L8002B128: -/* 02BD28 8002B128 18400007 */ blez $v0, .L8002B148 -/* 02BD2C 8002B12C 2401000C */ li $at, 12 -/* 02BD30 8002B130 84C80078 */ lh $t0, 0x78($a2) -/* 02BD34 8002B134 00084880 */ sll $t1, $t0, 2 -/* 02BD38 8002B138 01284821 */ addu $t1, $t1, $t0 -/* 02BD3C 8002B13C 00094880 */ sll $t1, $t1, 2 -/* 02BD40 8002B140 A4C900C0 */ sh $t1, 0xc0($a2) -/* 02BD44 8002B144 84C200C0 */ lh $v0, 0xc0($a2) -.L8002B148: -/* 02BD48 8002B148 04430008 */ bgezl $v0, .L8002B16C -/* 02BD4C 8002B14C 00441823 */ subu $v1, $v0, $a0 -/* 02BD50 8002B150 84CA0078 */ lh $t2, 0x78($a2) -/* 02BD54 8002B154 000A5880 */ sll $t3, $t2, 2 -/* 02BD58 8002B158 016A5821 */ addu $t3, $t3, $t2 -/* 02BD5C 8002B15C 000B5880 */ sll $t3, $t3, 2 -/* 02BD60 8002B160 A4CB00C0 */ sh $t3, 0xc0($a2) -/* 02BD64 8002B164 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BD68 8002B168 00441823 */ subu $v1, $v0, $a0 -.L8002B16C: -/* 02BD6C 8002B16C 00036400 */ sll $t4, $v1, 0x10 -/* 02BD70 8002B170 000C6C03 */ sra $t5, $t4, 0x10 -/* 02BD74 8002B174 01A1001A */ div $zero, $t5, $at -/* 02BD78 8002B178 00007012 */ mflo $t6 -/* 02BD7C 8002B17C 008E7821 */ addu $t7, $a0, $t6 -/* 02BD80 8002B180 448F5000 */ mtc1 $t7, $f10 -/* 02BD84 8002B184 00000000 */ nop -/* 02BD88 8002B188 46805120 */ cvt.s.w $f4, $f10 -/* 02BD8C 8002B18C 4600218D */ trunc.w.s $f6, $f4 -/* 02BD90 8002B190 44193000 */ mfc1 $t9, $f6 -/* 02BD94 8002B194 1000001C */ b .L8002B208 -/* 02BD98 8002B198 A4D900C0 */ sh $t9, 0xc0($a2) -/* 02BD9C 8002B19C 84C200C0 */ lh $v0, 0xc0($a2) -.L8002B1A0: -/* 02BDA0 8002B1A0 24081C70 */ li $t0, 7280 -/* 02BDA4 8002B1A4 2409E390 */ li $t1, -7280 -/* 02BDA8 8002B1A8 28411C71 */ slti $at, $v0, 0x1c71 -/* 02BDAC 8002B1AC 54200004 */ bnel $at, $zero, .L8002B1C0 -/* 02BDB0 8002B1B0 2841E390 */ slti $at, $v0, -0x1c70 -/* 02BDB4 8002B1B4 A4C800C0 */ sh $t0, 0xc0($a2) -/* 02BDB8 8002B1B8 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BDBC 8002B1BC 2841E390 */ slti $at, $v0, -0x1c70 -.L8002B1C0: -/* 02BDC0 8002B1C0 50200004 */ beql $at, $zero, .L8002B1D4 -/* 02BDC4 8002B1C4 00441823 */ subu $v1, $v0, $a0 -/* 02BDC8 8002B1C8 A4C900C0 */ sh $t1, 0xc0($a2) -/* 02BDCC 8002B1CC 84C200C0 */ lh $v0, 0xc0($a2) -/* 02BDD0 8002B1D0 00441823 */ subu $v1, $v0, $a0 -.L8002B1D4: -/* 02BDD4 8002B1D4 00035400 */ sll $t2, $v1, 0x10 -/* 02BDD8 8002B1D8 000A5C03 */ sra $t3, $t2, 0x10 -/* 02BDDC 8002B1DC 2401000C */ li $at, 12 -/* 02BDE0 8002B1E0 0161001A */ div $zero, $t3, $at -/* 02BDE4 8002B1E4 00006012 */ mflo $t4 -/* 02BDE8 8002B1E8 008C6821 */ addu $t5, $a0, $t4 -/* 02BDEC 8002B1EC 448D4000 */ mtc1 $t5, $f8 -/* 02BDF0 8002B1F0 00000000 */ nop -/* 02BDF4 8002B1F4 468042A0 */ cvt.s.w $f10, $f8 -/* 02BDF8 8002B1F8 4600510D */ trunc.w.s $f4, $f10 -/* 02BDFC 8002B1FC 440F2000 */ mfc1 $t7, $f4 -/* 02BE00 8002B200 00000000 */ nop -/* 02BE04 8002B204 A4CF00C0 */ sh $t7, 0xc0($a2) -.L8002B208: -/* 02BE08 8002B208 8FBF0014 */ lw $ra, 0x14($sp) -/* 02BE0C 8002B20C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 02BE10 8002B210 03E00008 */ jr $ra -/* 02BE14 8002B214 00000000 */ nop diff --git a/asm/non_matchings/code_80027D00/func_8002B8A4.s b/asm/non_matchings/code_80027D00/func_8002B8A4.s deleted file mode 100644 index 59b9cf991..000000000 --- a/asm/non_matchings/code_80027D00/func_8002B8A4.s +++ /dev/null @@ -1,91 +0,0 @@ -glabel func_8002B8A4 -/* 02C4A4 8002B8A4 3C02800E */ lui $v0, %hi(gPlayerOne) # $v0, 0x800e -/* 02C4A8 8002B8A8 8C42C4DC */ lw $v0, %lo(gPlayerOne)($v0) -/* 02C4AC 8002B8AC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 02C4B0 8002B8B0 AFB00004 */ sw $s0, 4($sp) -/* 02C4B4 8002B8B4 14820002 */ bne $a0, $v0, .L8002B8C0 -/* 02C4B8 8002B8B8 00A08025 */ move $s0, $a1 -/* 02C4BC 8002B8BC AFA0000C */ sw $zero, 0xc($sp) -.L8002B8C0: -/* 02C4C0 8002B8C0 3C05800E */ lui $a1, %hi(gPlayerTwo) # $a1, 0x800e -/* 02C4C4 8002B8C4 8CA5C4E0 */ lw $a1, %lo(gPlayerTwo)($a1) -/* 02C4C8 8002B8C8 8FA3000C */ lw $v1, 0xc($sp) -/* 02C4CC 8002B8CC 3C06800E */ lui $a2, %hi(gPlayerThree) # $a2, 0x800e -/* 02C4D0 8002B8D0 14850002 */ bne $a0, $a1, .L8002B8DC -/* 02C4D4 8002B8D4 3C07800E */ lui $a3, %hi(gPlayerFour) # $a3, 0x800e -/* 02C4D8 8002B8D8 24030001 */ li $v1, 1 -.L8002B8DC: -/* 02C4DC 8002B8DC 8CC6C4E4 */ lw $a2, %lo(gPlayerThree)($a2) -/* 02C4E0 8002B8E0 3C08800E */ lui $t0, %hi(gPlayerFive) # $t0, 0x800e -/* 02C4E4 8002B8E4 3C09800E */ lui $t1, %hi(gPlayerSix) # $t1, 0x800e -/* 02C4E8 8002B8E8 14860002 */ bne $a0, $a2, .L8002B8F4 -/* 02C4EC 8002B8EC 3C0A800E */ lui $t2, %hi(gPlayerSeven) # $t2, 0x800e -/* 02C4F0 8002B8F0 24030002 */ li $v1, 2 -.L8002B8F4: -/* 02C4F4 8002B8F4 8CE7C4E8 */ lw $a3, %lo(gPlayerFour)($a3) -/* 02C4F8 8002B8F8 3C0C8016 */ lui $t4, %hi(D_801653C0) # $t4, 0x8016 -/* 02C4FC 8002B8FC 258C53C0 */ addiu $t4, %lo(D_801653C0) # addiu $t4, $t4, 0x53c0 -/* 02C500 8002B900 14870002 */ bne $a0, $a3, .L8002B90C -/* 02C504 8002B904 3C0B800E */ lui $t3, %hi(gPlayerEight) # $t3, 0x800e -/* 02C508 8002B908 24030003 */ li $v1, 3 -.L8002B90C: -/* 02C50C 8002B90C 8D08C4EC */ lw $t0, %lo(gPlayerFive)($t0) -/* 02C510 8002B910 14880002 */ bne $a0, $t0, .L8002B91C -/* 02C514 8002B914 00000000 */ nop -/* 02C518 8002B918 24030004 */ li $v1, 4 -.L8002B91C: -/* 02C51C 8002B91C 8D29C4F0 */ lw $t1, %lo(gPlayerSix)($t1) -/* 02C520 8002B920 14890002 */ bne $a0, $t1, .L8002B92C -/* 02C524 8002B924 00000000 */ nop -/* 02C528 8002B928 24030005 */ li $v1, 5 -.L8002B92C: -/* 02C52C 8002B92C 8D4AC4F4 */ lw $t2, %lo(gPlayerSeven)($t2) -/* 02C530 8002B930 148A0002 */ bne $a0, $t2, .L8002B93C -/* 02C534 8002B934 00000000 */ nop -/* 02C538 8002B938 24030006 */ li $v1, 6 -.L8002B93C: -/* 02C53C 8002B93C 8D6BC4F8 */ lw $t3, %lo(gPlayerEight)($t3) -/* 02C540 8002B940 548B0003 */ bnel $a0, $t3, .L8002B950 -/* 02C544 8002B944 00037080 */ sll $t6, $v1, 2 -/* 02C548 8002B948 24030007 */ li $v1, 7 -/* 02C54C 8002B94C 00037080 */ sll $t6, $v1, 2 -.L8002B950: -/* 02C550 8002B950 018E7821 */ addu $t7, $t4, $t6 -/* 02C554 8002B954 16020002 */ bne $s0, $v0, .L8002B960 -/* 02C558 8002B958 ADF00000 */ sw $s0, ($t7) -/* 02C55C 8002B95C 00001825 */ move $v1, $zero -.L8002B960: -/* 02C560 8002B960 16050002 */ bne $s0, $a1, .L8002B96C -/* 02C564 8002B964 00000000 */ nop -/* 02C568 8002B968 24030001 */ li $v1, 1 -.L8002B96C: -/* 02C56C 8002B96C 16060002 */ bne $s0, $a2, .L8002B978 -/* 02C570 8002B970 00000000 */ nop -/* 02C574 8002B974 24030002 */ li $v1, 2 -.L8002B978: -/* 02C578 8002B978 16070002 */ bne $s0, $a3, .L8002B984 -/* 02C57C 8002B97C 00000000 */ nop -/* 02C580 8002B980 24030003 */ li $v1, 3 -.L8002B984: -/* 02C584 8002B984 16080002 */ bne $s0, $t0, .L8002B990 -/* 02C588 8002B988 00000000 */ nop -/* 02C58C 8002B98C 24030004 */ li $v1, 4 -.L8002B990: -/* 02C590 8002B990 16090002 */ bne $s0, $t1, .L8002B99C -/* 02C594 8002B994 00000000 */ nop -/* 02C598 8002B998 24030005 */ li $v1, 5 -.L8002B99C: -/* 02C59C 8002B99C 160A0002 */ bne $s0, $t2, .L8002B9A8 -/* 02C5A0 8002B9A0 00000000 */ nop -/* 02C5A4 8002B9A4 24030006 */ li $v1, 6 -.L8002B9A8: -/* 02C5A8 8002B9A8 560B0003 */ bnel $s0, $t3, .L8002B9B8 -/* 02C5AC 8002B9AC 0003C080 */ sll $t8, $v1, 2 -/* 02C5B0 8002B9B0 24030007 */ li $v1, 7 -/* 02C5B4 8002B9B4 0003C080 */ sll $t8, $v1, 2 -.L8002B9B8: -/* 02C5B8 8002B9B8 0198C821 */ addu $t9, $t4, $t8 -/* 02C5BC 8002B9BC AF240000 */ sw $a0, ($t9) -/* 02C5C0 8002B9C0 8FB00004 */ lw $s0, 4($sp) -/* 02C5C4 8002B9C4 03E00008 */ jr $ra -/* 02C5C8 8002B9C8 27BD0010 */ addiu $sp, $sp, 0x10 diff --git a/asm/non_matchings/code_80027D00/func_8002C17C.s b/asm/non_matchings/code_80027D00/func_8002C17C.s deleted file mode 100644 index 7426742c3..000000000 --- a/asm/non_matchings/code_80027D00/func_8002C17C.s +++ /dev/null @@ -1,237 +0,0 @@ -glabel func_8002C17C -/* 02CD7C 8002C17C 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e -/* 02CD80 8002C180 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0) -/* 02CD84 8002C184 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 02CD88 8002C188 AFA5002C */ sw $a1, 0x2c($sp) -/* 02CD8C 8002C18C 00057600 */ sll $t6, $a1, 0x18 -/* 02CD90 8002C190 24010004 */ li $at, 4 -/* 02CD94 8002C194 000E2E03 */ sra $a1, $t6, 0x18 -/* 02CD98 8002C198 AFBF0014 */ sw $ra, 0x14($sp) -/* 02CD9C 8002C19C 1041000A */ beq $v0, $at, .L8002C1C8 -/* 02CDA0 8002C1A0 00803025 */ move $a2, $a0 -/* 02CDA4 8002C1A4 24010005 */ li $at, 5 -/* 02CDA8 8002C1A8 1041003F */ beq $v0, $at, .L8002C2A8 -/* 02CDAC 8002C1AC 24010007 */ li $at, 7 -/* 02CDB0 8002C1B0 10410067 */ beq $v0, $at, .L8002C350 -/* 02CDB4 8002C1B4 2401000D */ li $at, 13 -/* 02CDB8 8002C1B8 10410092 */ beq $v0, $at, .L8002C404 -/* 02CDBC 8002C1BC 00057840 */ sll $t7, $a1, 1 -/* 02CDC0 8002C1C0 100000C7 */ b .L8002C4E0 -/* 02CDC4 8002C1C4 3C018016 */ lui $at, %hi(D_80165330) # 0x8016 -.L8002C1C8: -/* 02CDC8 8002C1C8 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 02CDCC 8002C1CC 44813000 */ mtc1 $at, $f6 -/* 02CDD0 8002C1D0 C4C40124 */ lwc1 $f4, 0x124($a2) -/* 02CDD4 8002C1D4 3C188016 */ lui $t8, %hi(D_80165330) # $t8, 0x8016 -/* 02CDD8 8002C1D8 27185330 */ addiu $t8, %lo(D_80165330) # addiu $t8, $t8, 0x5330 -/* 02CDDC 8002C1DC 4604303E */ c.le.s $f6, $f4 -/* 02CDE0 8002C1E0 00051040 */ sll $v0, $a1, 1 -/* 02CDE4 8002C1E4 3C0B8016 */ lui $t3, %hi(D_80165330) # $t3, 0x8016 -/* 02CDE8 8002C1E8 00581821 */ addu $v1, $v0, $t8 -/* 02CDEC 8002C1EC 45000012 */ bc1f .L8002C238 -/* 02CDF0 8002C1F0 256B5330 */ addiu $t3, %lo(D_80165330) # addiu $t3, $t3, 0x5330 -/* 02CDF4 8002C1F4 84790000 */ lh $t9, ($v1) -/* 02CDF8 8002C1F8 3C098016 */ lui $t1, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02CDFC 8002C1FC 24080001 */ li $t0, 1 -/* 02CE00 8002C200 1720000D */ bnez $t9, .L8002C238 -/* 02CE04 8002C204 01224821 */ addu $t1, $t1, $v0 -/* 02CE08 8002C208 A4680000 */ sh $t0, ($v1) -/* 02CE0C 8002C20C 95294438 */ lhu $t1, %lo(gNearestWaypointByPlayerId)($t1) # 0x4438($t1) -/* 02CE10 8002C210 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02CE14 8002C214 00220821 */ addu $at, $at, $v0 -/* 02CE18 8002C218 3C0A8016 */ lui $t2, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02CE1C 8002C21C 01425021 */ addu $t2, $t2, $v0 -/* 02CE20 8002C220 A4295320 */ sh $t1, %lo(D_80165320)($at) # 0x5320($at) -/* 02CE24 8002C224 954A45B0 */ lhu $t2, %lo(gPathIndexByPlayerId)($t2) # 0x45b0($t2) -/* 02CE28 8002C228 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02CE2C 8002C22C 00220821 */ addu $at, $at, $v0 -/* 02CE30 8002C230 100000AD */ b .L8002C4E8 -/* 02CE34 8002C234 A42A5310 */ sh $t2, %lo(D_80165310)($at) # 0x5310($at) -.L8002C238: -/* 02CE38 8002C238 00051040 */ sll $v0, $a1, 1 -/* 02CE3C 8002C23C 004B1821 */ addu $v1, $v0, $t3 -/* 02CE40 8002C240 846C0000 */ lh $t4, ($v1) -/* 02CE44 8002C244 3C0D8016 */ lui $t5, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02CE48 8002C248 01A26821 */ addu $t5, $t5, $v0 -/* 02CE4C 8002C24C 1580000B */ bnez $t4, .L8002C27C -/* 02CE50 8002C250 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02CE54 8002C254 95AD4438 */ lhu $t5, %lo(gNearestWaypointByPlayerId)($t5) # 0x4438($t5) -/* 02CE58 8002C258 00220821 */ addu $at, $at, $v0 -/* 02CE5C 8002C25C 3C0E8016 */ lui $t6, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02CE60 8002C260 01C27021 */ addu $t6, $t6, $v0 -/* 02CE64 8002C264 A42D5320 */ sh $t5, %lo(D_80165320)($at) # 0x5320($at) -/* 02CE68 8002C268 95CE45B0 */ lhu $t6, %lo(gPathIndexByPlayerId)($t6) # 0x45b0($t6) -/* 02CE6C 8002C26C 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02CE70 8002C270 00220821 */ addu $at, $at, $v0 -/* 02CE74 8002C274 1000009C */ b .L8002C4E8 -/* 02CE78 8002C278 A42E5310 */ sh $t6, %lo(D_80165310)($at) # 0x5310($at) -.L8002C27C: -/* 02CE7C 8002C27C 8CCF00BC */ lw $t7, 0xbc($a2) -/* 02CE80 8002C280 31F80008 */ andi $t8, $t7, 8 -/* 02CE84 8002C284 57000099 */ bnel $t8, $zero, .L8002C4EC -/* 02CE88 8002C288 8FBF0014 */ lw $ra, 0x14($sp) -/* 02CE8C 8002C28C 94C4011A */ lhu $a0, 0x11a($a2) -/* 02CE90 8002C290 0C0AAF7D */ jal func_802ABDF4 -/* 02CE94 8002C294 AFA3001C */ sw $v1, 0x1c($sp) -/* 02CE98 8002C298 14400093 */ bnez $v0, .L8002C4E8 -/* 02CE9C 8002C29C 8FA3001C */ lw $v1, 0x1c($sp) -/* 02CEA0 8002C2A0 10000091 */ b .L8002C4E8 -/* 02CEA4 8002C2A4 A4600000 */ sh $zero, ($v1) -.L8002C2A8: -/* 02CEA8 8002C2A8 94C400F8 */ lhu $a0, 0xf8($a2) -/* 02CEAC 8002C2AC 2407000B */ li $a3, 11 -/* 02CEB0 8002C2B0 00051040 */ sll $v0, $a1, 1 -/* 02CEB4 8002C2B4 14E40014 */ bne $a3, $a0, .L8002C308 -/* 02CEB8 8002C2B8 3C198016 */ lui $t9, %hi(D_80165330) # $t9, 0x8016 -/* 02CEBC 8002C2BC 27395330 */ addiu $t9, %lo(D_80165330) # addiu $t9, $t9, 0x5330 -/* 02CEC0 8002C2C0 00591821 */ addu $v1, $v0, $t9 -/* 02CEC4 8002C2C4 84680000 */ lh $t0, ($v1) -/* 02CEC8 8002C2C8 3C0A8016 */ lui $t2, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02CECC 8002C2CC 24090001 */ li $t1, 1 -/* 02CED0 8002C2D0 1500000D */ bnez $t0, .L8002C308 -/* 02CED4 8002C2D4 01425021 */ addu $t2, $t2, $v0 -/* 02CED8 8002C2D8 A4690000 */ sh $t1, ($v1) -/* 02CEDC 8002C2DC 954A4438 */ lhu $t2, %lo(gNearestWaypointByPlayerId)($t2) # 0x4438($t2) -/* 02CEE0 8002C2E0 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02CEE4 8002C2E4 00220821 */ addu $at, $at, $v0 -/* 02CEE8 8002C2E8 3C0B8016 */ lui $t3, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02CEEC 8002C2EC 01625821 */ addu $t3, $t3, $v0 -/* 02CEF0 8002C2F0 A42A5320 */ sh $t2, %lo(D_80165320)($at) # 0x5320($at) -/* 02CEF4 8002C2F4 956B45B0 */ lhu $t3, %lo(gPathIndexByPlayerId)($t3) # 0x45b0($t3) -/* 02CEF8 8002C2F8 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02CEFC 8002C2FC 00220821 */ addu $at, $at, $v0 -/* 02CF00 8002C300 10000079 */ b .L8002C4E8 -/* 02CF04 8002C304 A42B5310 */ sh $t3, %lo(D_80165310)($at) # 0x5310($at) -.L8002C308: -/* 02CF08 8002C308 10E40077 */ beq $a3, $a0, .L8002C4E8 -/* 02CF0C 8002C30C 00051040 */ sll $v0, $a1, 1 -/* 02CF10 8002C310 3C018016 */ lui $at, %hi(D_80165330) # 0x8016 -/* 02CF14 8002C314 3C0C8016 */ lui $t4, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02CF18 8002C318 00220821 */ addu $at, $at, $v0 -/* 02CF1C 8002C31C 01826021 */ addu $t4, $t4, $v0 -/* 02CF20 8002C320 958C4438 */ lhu $t4, %lo(gNearestWaypointByPlayerId)($t4) # 0x4438($t4) -/* 02CF24 8002C324 A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at) -/* 02CF28 8002C328 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02CF2C 8002C32C 00220821 */ addu $at, $at, $v0 -/* 02CF30 8002C330 3C0D8016 */ lui $t5, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02CF34 8002C334 01A26821 */ addu $t5, $t5, $v0 -/* 02CF38 8002C338 A42C5320 */ sh $t4, %lo(D_80165320)($at) # 0x5320($at) -/* 02CF3C 8002C33C 95AD45B0 */ lhu $t5, %lo(gPathIndexByPlayerId)($t5) # 0x45b0($t5) -/* 02CF40 8002C340 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02CF44 8002C344 00220821 */ addu $at, $at, $v0 -/* 02CF48 8002C348 10000067 */ b .L8002C4E8 -/* 02CF4C 8002C34C A42D5310 */ sh $t5, %lo(D_80165310)($at) # 0x5310($at) -.L8002C350: -/* 02CF50 8002C350 8CC400BC */ lw $a0, 0xbc($a2) -/* 02CF54 8002C354 3C010010 */ lui $at, 0x10 -/* 02CF58 8002C358 00051040 */ sll $v0, $a1, 1 -/* 02CF5C 8002C35C 00813824 */ and $a3, $a0, $at -/* 02CF60 8002C360 10E00014 */ beqz $a3, .L8002C3B4 -/* 02CF64 8002C364 3C0E8016 */ lui $t6, %hi(D_80165330) # $t6, 0x8016 -/* 02CF68 8002C368 25CE5330 */ addiu $t6, %lo(D_80165330) # addiu $t6, $t6, 0x5330 -/* 02CF6C 8002C36C 004E1821 */ addu $v1, $v0, $t6 -/* 02CF70 8002C370 846F0000 */ lh $t7, ($v1) -/* 02CF74 8002C374 3C198016 */ lui $t9, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02CF78 8002C378 24180001 */ li $t8, 1 -/* 02CF7C 8002C37C 15E0000D */ bnez $t7, .L8002C3B4 -/* 02CF80 8002C380 0322C821 */ addu $t9, $t9, $v0 -/* 02CF84 8002C384 A4780000 */ sh $t8, ($v1) -/* 02CF88 8002C388 97394438 */ lhu $t9, %lo(gNearestWaypointByPlayerId)($t9) # 0x4438($t9) -/* 02CF8C 8002C38C 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02CF90 8002C390 00220821 */ addu $at, $at, $v0 -/* 02CF94 8002C394 3C088016 */ lui $t0, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02CF98 8002C398 01024021 */ addu $t0, $t0, $v0 -/* 02CF9C 8002C39C A4395320 */ sh $t9, %lo(D_80165320)($at) # 0x5320($at) -/* 02CFA0 8002C3A0 950845B0 */ lhu $t0, %lo(gPathIndexByPlayerId)($t0) # 0x45b0($t0) -/* 02CFA4 8002C3A4 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02CFA8 8002C3A8 00220821 */ addu $at, $at, $v0 -/* 02CFAC 8002C3AC 1000004E */ b .L8002C4E8 -/* 02CFB0 8002C3B0 A4285310 */ sh $t0, %lo(D_80165310)($at) # 0x5310($at) -.L8002C3B4: -/* 02CFB4 8002C3B4 14E0004C */ bnez $a3, .L8002C4E8 -/* 02CFB8 8002C3B8 30890008 */ andi $t1, $a0, 8 -/* 02CFBC 8002C3BC 1520004A */ bnez $t1, .L8002C4E8 -/* 02CFC0 8002C3C0 00051040 */ sll $v0, $a1, 1 -/* 02CFC4 8002C3C4 3C018016 */ lui $at, %hi(D_80165330) # 0x8016 -/* 02CFC8 8002C3C8 3C0A8016 */ lui $t2, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02CFCC 8002C3CC 00220821 */ addu $at, $at, $v0 -/* 02CFD0 8002C3D0 01425021 */ addu $t2, $t2, $v0 -/* 02CFD4 8002C3D4 954A4438 */ lhu $t2, %lo(gNearestWaypointByPlayerId)($t2) # 0x4438($t2) -/* 02CFD8 8002C3D8 A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at) -/* 02CFDC 8002C3DC 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02CFE0 8002C3E0 00220821 */ addu $at, $at, $v0 -/* 02CFE4 8002C3E4 3C0B8016 */ lui $t3, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02CFE8 8002C3E8 01625821 */ addu $t3, $t3, $v0 -/* 02CFEC 8002C3EC A42A5320 */ sh $t2, %lo(D_80165320)($at) # 0x5320($at) -/* 02CFF0 8002C3F0 956B45B0 */ lhu $t3, %lo(gPathIndexByPlayerId)($t3) # 0x45b0($t3) -/* 02CFF4 8002C3F4 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02CFF8 8002C3F8 00220821 */ addu $at, $at, $v0 -/* 02CFFC 8002C3FC 1000003A */ b .L8002C4E8 -/* 02D000 8002C400 A42B5310 */ sh $t3, %lo(D_80165310)($at) # 0x5310($at) -.L8002C404: -/* 02D004 8002C404 3C014416 */ li $at, 0x44160000 # 600.000000 -/* 02D008 8002C408 44815000 */ mtc1 $at, $f10 -/* 02D00C 8002C40C C4C80124 */ lwc1 $f8, 0x124($a2) -/* 02D010 8002C410 3C0C8016 */ lui $t4, %hi(D_80165330) # $t4, 0x8016 -/* 02D014 8002C414 258C5330 */ addiu $t4, %lo(D_80165330) # addiu $t4, $t4, 0x5330 -/* 02D018 8002C418 4608503E */ c.le.s $f10, $f8 -/* 02D01C 8002C41C 00051040 */ sll $v0, $a1, 1 -/* 02D020 8002C420 3C198016 */ lui $t9, %hi(D_80165330) # $t9, 0x8016 -/* 02D024 8002C424 004C1821 */ addu $v1, $v0, $t4 -/* 02D028 8002C428 45000012 */ bc1f .L8002C474 -/* 02D02C 8002C42C 27395330 */ addiu $t9, %lo(D_80165330) # addiu $t9, $t9, 0x5330 -/* 02D030 8002C430 846D0000 */ lh $t5, ($v1) -/* 02D034 8002C434 3C0F8016 */ lui $t7, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02D038 8002C438 240E0001 */ li $t6, 1 -/* 02D03C 8002C43C 15A0000D */ bnez $t5, .L8002C474 -/* 02D040 8002C440 01E27821 */ addu $t7, $t7, $v0 -/* 02D044 8002C444 A46E0000 */ sh $t6, ($v1) -/* 02D048 8002C448 95EF4438 */ lhu $t7, %lo(gNearestWaypointByPlayerId)($t7) # 0x4438($t7) -/* 02D04C 8002C44C 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02D050 8002C450 00220821 */ addu $at, $at, $v0 -/* 02D054 8002C454 3C188016 */ lui $t8, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02D058 8002C458 0302C021 */ addu $t8, $t8, $v0 -/* 02D05C 8002C45C A42F5320 */ sh $t7, %lo(D_80165320)($at) # 0x5320($at) -/* 02D060 8002C460 971845B0 */ lhu $t8, %lo(gPathIndexByPlayerId)($t8) # 0x45b0($t8) -/* 02D064 8002C464 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02D068 8002C468 00220821 */ addu $at, $at, $v0 -/* 02D06C 8002C46C 1000001E */ b .L8002C4E8 -/* 02D070 8002C470 A4385310 */ sh $t8, %lo(D_80165310)($at) # 0x5310($at) -.L8002C474: -/* 02D074 8002C474 00051040 */ sll $v0, $a1, 1 -/* 02D078 8002C478 00591821 */ addu $v1, $v0, $t9 -/* 02D07C 8002C47C 84680000 */ lh $t0, ($v1) -/* 02D080 8002C480 3C098016 */ lui $t1, %hi(gNearestWaypointByPlayerId) # 0x8016 -/* 02D084 8002C484 01224821 */ addu $t1, $t1, $v0 -/* 02D088 8002C488 1500000B */ bnez $t0, .L8002C4B8 -/* 02D08C 8002C48C 3C018016 */ lui $at, %hi(D_80165320) # 0x8016 -/* 02D090 8002C490 95294438 */ lhu $t1, %lo(gNearestWaypointByPlayerId)($t1) # 0x4438($t1) -/* 02D094 8002C494 00220821 */ addu $at, $at, $v0 -/* 02D098 8002C498 3C0A8016 */ lui $t2, %hi(gPathIndexByPlayerId) # 0x8016 -/* 02D09C 8002C49C 01425021 */ addu $t2, $t2, $v0 -/* 02D0A0 8002C4A0 A4295320 */ sh $t1, %lo(D_80165320)($at) # 0x5320($at) -/* 02D0A4 8002C4A4 954A45B0 */ lhu $t2, %lo(gPathIndexByPlayerId)($t2) # 0x45b0($t2) -/* 02D0A8 8002C4A8 3C018016 */ lui $at, %hi(D_80165310) # 0x8016 -/* 02D0AC 8002C4AC 00220821 */ addu $at, $at, $v0 -/* 02D0B0 8002C4B0 1000000D */ b .L8002C4E8 -/* 02D0B4 8002C4B4 A42A5310 */ sh $t2, %lo(D_80165310)($at) # 0x5310($at) -.L8002C4B8: -/* 02D0B8 8002C4B8 8CCB00BC */ lw $t3, 0xbc($a2) -/* 02D0BC 8002C4BC 316C0008 */ andi $t4, $t3, 8 -/* 02D0C0 8002C4C0 5580000A */ bnel $t4, $zero, .L8002C4EC -/* 02D0C4 8002C4C4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02D0C8 8002C4C8 84CD00CA */ lh $t5, 0xca($a2) -/* 02D0CC 8002C4CC 31AE0001 */ andi $t6, $t5, 1 -/* 02D0D0 8002C4D0 55C00006 */ bnel $t6, $zero, .L8002C4EC -/* 02D0D4 8002C4D4 8FBF0014 */ lw $ra, 0x14($sp) -/* 02D0D8 8002C4D8 10000003 */ b .L8002C4E8 -/* 02D0DC 8002C4DC A4600000 */ sh $zero, ($v1) -.L8002C4E0: -/* 02D0E0 8002C4E0 002F0821 */ addu $at, $at, $t7 -/* 02D0E4 8002C4E4 A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at) -.L8002C4E8: -/* 02D0E8 8002C4E8 8FBF0014 */ lw $ra, 0x14($sp) -.L8002C4EC: -/* 02D0EC 8002C4EC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 02D0F0 8002C4F0 03E00008 */ jr $ra -/* 02D0F4 8002C4F4 00000000 */ nop diff --git a/asm/non_matchings/code_80027D00/func_80037BB4.s b/asm/non_matchings/code_80027D00/func_80037BB4.s deleted file mode 100644 index 52cc3f810..000000000 --- a/asm/non_matchings/code_80027D00/func_80037BB4.s +++ /dev/null @@ -1,95 +0,0 @@ -glabel func_80037BB4 -/* 0387B4 80037BB4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0387B8 80037BB8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0387BC 80037BBC 84820078 */ lh $v0, 0x78($a0) -/* 0387C0 80037BC0 00A03025 */ move $a2, $a1 -/* 0387C4 80037BC4 14400007 */ bnez $v0, .L80037BE4 -/* 0387C8 80037BC8 00000000 */ nop -/* 0387CC 80037BCC 44800000 */ mtc1 $zero, $f0 -/* 0387D0 80037BD0 00000000 */ nop -/* 0387D4 80037BD4 E4A00000 */ swc1 $f0, ($a1) -/* 0387D8 80037BD8 E4A00004 */ swc1 $f0, 4($a1) -/* 0387DC 80037BDC 10000043 */ b .L80037CEC -/* 0387E0 80037BE0 E4A00008 */ swc1 $f0, 8($a1) -.L80037BE4: -/* 0387E4 80037BE4 04430023 */ bgezl $v0, .L80037C74 -/* 0387E8 80037BE8 8C8C00BC */ lw $t4, 0xbc($a0) -/* 0387EC 80037BEC 8C8E00BC */ lw $t6, 0xbc($a0) -/* 0387F0 80037BF0 3C032000 */ lui $v1, 0x2000 -/* 0387F4 80037BF4 3C0B800E */ lui $t3, %hi(gModeSelection) # $t3, 0x800e -/* 0387F8 80037BF8 01C37824 */ and $t7, $t6, $v1 -/* 0387FC 80037BFC 546F0006 */ bnel $v1, $t7, .L80037C18 -/* 038800 80037C00 8499002E */ lh $t9, 0x2e($a0) -/* 038804 80037C04 84980228 */ lh $t8, 0x228($a0) -/* 038808 80037C08 2B010064 */ slti $at, $t8, 0x64 -/* 03880C 80037C0C 54200005 */ bnel $at, $zero, .L80037C24 -/* 038810 80037C10 94890000 */ lhu $t1, ($a0) -/* 038814 80037C14 8499002E */ lh $t9, 0x2e($a0) -.L80037C18: -/* 038818 80037C18 03224021 */ addu $t0, $t9, $v0 -/* 03881C 80037C1C A488002E */ sh $t0, 0x2e($a0) -/* 038820 80037C20 94890000 */ lhu $t1, ($a0) -.L80037C24: -/* 038824 80037C24 312A1000 */ andi $t2, $t1, 0x1000 -/* 038828 80037C28 1540000D */ bnez $t2, .L80037C60 -/* 03882C 80037C2C 00000000 */ nop -/* 038830 80037C30 8D6BC53C */ lw $t3, %lo(gModeSelection)($t3) -/* 038834 80037C34 24010003 */ li $at, 3 -/* 038838 80037C38 15610005 */ bne $t3, $at, .L80037C50 -/* 03883C 80037C3C 00000000 */ nop -/* 038840 80037C40 0C00DE3A */ jal func_800378E8 -/* 038844 80037C44 27A50020 */ addiu $a1, $sp, 0x20 -/* 038848 80037C48 10000029 */ b .L80037CF0 -/* 03884C 80037C4C 8FBF0014 */ lw $ra, 0x14($sp) -.L80037C50: -/* 038850 80037C50 0C00DB6D */ jal func_80036DB4 -/* 038854 80037C54 27A50020 */ addiu $a1, $sp, 0x20 -/* 038858 80037C58 10000025 */ b .L80037CF0 -/* 03885C 80037C5C 8FBF0014 */ lw $ra, 0x14($sp) -.L80037C60: -/* 038860 80037C60 0C00DD85 */ jal func_80037614 -/* 038864 80037C64 27A50020 */ addiu $a1, $sp, 0x20 -/* 038868 80037C68 10000021 */ b .L80037CF0 -/* 03886C 80037C6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 038870 80037C70 8C8C00BC */ lw $t4, 0xbc($a0) -.L80037C74: -/* 038874 80037C74 3C032000 */ lui $v1, 0x2000 -/* 038878 80037C78 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e -/* 03887C 80037C7C 01836824 */ and $t5, $t4, $v1 -/* 038880 80037C80 546D0006 */ bnel $v1, $t5, .L80037C9C -/* 038884 80037C84 848F002E */ lh $t7, 0x2e($a0) -/* 038888 80037C88 848E0228 */ lh $t6, 0x228($a0) -/* 03888C 80037C8C 29C10064 */ slti $at, $t6, 0x64 -/* 038890 80037C90 54200005 */ bnel $at, $zero, .L80037CA8 -/* 038894 80037C94 94990000 */ lhu $t9, ($a0) -/* 038898 80037C98 848F002E */ lh $t7, 0x2e($a0) -.L80037C9C: -/* 03889C 80037C9C 01E2C021 */ addu $t8, $t7, $v0 -/* 0388A0 80037CA0 A498002E */ sh $t8, 0x2e($a0) -/* 0388A4 80037CA4 94990000 */ lhu $t9, ($a0) -.L80037CA8: -/* 0388A8 80037CA8 33281000 */ andi $t0, $t9, 0x1000 -/* 0388AC 80037CAC 1500000D */ bnez $t0, .L80037CE4 -/* 0388B0 80037CB0 00000000 */ nop -/* 0388B4 80037CB4 8D29C53C */ lw $t1, %lo(gModeSelection)($t1) -/* 0388B8 80037CB8 24010003 */ li $at, 3 -/* 0388BC 80037CBC 15210005 */ bne $t1, $at, .L80037CD4 -/* 0388C0 80037CC0 00000000 */ nop -/* 0388C4 80037CC4 0C00DE93 */ jal func_80037A4C -/* 0388C8 80037CC8 27A50020 */ addiu $a1, $sp, 0x20 -/* 0388CC 80037CCC 10000008 */ b .L80037CF0 -/* 0388D0 80037CD0 8FBF0014 */ lw $ra, 0x14($sp) -.L80037CD4: -/* 0388D4 80037CD4 0C00DC7D */ jal func_800371F4 -/* 0388D8 80037CD8 27A50020 */ addiu $a1, $sp, 0x20 -/* 0388DC 80037CDC 10000004 */ b .L80037CF0 -/* 0388E0 80037CE0 8FBF0014 */ lw $ra, 0x14($sp) -.L80037CE4: -/* 0388E4 80037CE4 0C00DDDF */ jal func_8003777C -/* 0388E8 80037CE8 27A50020 */ addiu $a1, $sp, 0x20 -.L80037CEC: -/* 0388EC 80037CEC 8FBF0014 */ lw $ra, 0x14($sp) -.L80037CF0: -/* 0388F0 80037CF0 27BD0038 */ addiu $sp, $sp, 0x38 -/* 0388F4 80037CF4 03E00008 */ jr $ra -/* 0388F8 80037CF8 00000000 */ nop diff --git a/asm/non_matchings/code_80027D00/func_80038534.s b/asm/non_matchings/code_80027D00/func_80038534.s deleted file mode 100644 index 84afecb48..000000000 --- a/asm/non_matchings/code_80027D00/func_80038534.s +++ /dev/null @@ -1,247 +0,0 @@ -glabel func_80038534 -/* 039134 80038534 84820000 */ lh $v0, ($a0) -/* 039138 80038538 84860002 */ lh $a2, 2($a0) -/* 03913C 8003853C 2404000C */ li $a0, 12 -/* 039140 80038540 00021C00 */ sll $v1, $v0, 0x10 -/* 039144 80038544 00062C00 */ sll $a1, $a2, 0x10 -/* 039148 80038548 00037403 */ sra $t6, $v1, 0x10 -/* 03914C 8003854C 00057C03 */ sra $t7, $a1, 0x10 -/* 039150 80038550 000E3C00 */ sll $a3, $t6, 0x10 -/* 039154 80038554 000F4400 */ sll $t0, $t7, 0x10 -/* 039158 80038558 0007C403 */ sra $t8, $a3, 0x10 -/* 03915C 8003855C 0008CC03 */ sra $t9, $t0, 0x10 -/* 039160 80038560 29C1000D */ slti $at, $t6, 0xd -/* 039164 80038564 01C01825 */ move $v1, $t6 -/* 039168 80038568 01E02825 */ move $a1, $t7 -/* 03916C 8003856C 03003825 */ move $a3, $t8 -/* 039170 80038570 14200016 */ bnez $at, .L800385CC -/* 039174 80038574 03204025 */ move $t0, $t9 -/* 039178 80038578 00A40019 */ multu $a1, $a0 -/* 03917C 8003857C 00043C00 */ sll $a3, $a0, 0x10 -/* 039180 80038580 00076403 */ sra $t4, $a3, 0x10 -/* 039184 80038584 01803825 */ move $a3, $t4 -/* 039188 80038588 00004812 */ mflo $t1 -/* 03918C 8003858C 00000000 */ nop -/* 039190 80038590 00000000 */ nop -/* 039194 80038594 0123001A */ div $zero, $t1, $v1 -/* 039198 80038598 00004012 */ mflo $t0 -/* 03919C 8003859C 00085400 */ sll $t2, $t0, 0x10 -/* 0391A0 800385A0 000A5C03 */ sra $t3, $t2, 0x10 -/* 0391A4 800385A4 01604025 */ move $t0, $t3 -/* 0391A8 800385A8 14600002 */ bnez $v1, .L800385B4 -/* 0391AC 800385AC 00000000 */ nop -/* 0391B0 800385B0 0007000D */ break 7 -.L800385B4: -/* 0391B4 800385B4 2401FFFF */ li $at, -1 -/* 0391B8 800385B8 14610004 */ bne $v1, $at, .L800385CC -/* 0391BC 800385BC 3C018000 */ lui $at, 0x8000 -/* 0391C0 800385C0 15210002 */ bne $t1, $at, .L800385CC -/* 0391C4 800385C4 00000000 */ nop -/* 0391C8 800385C8 0006000D */ break 6 -.L800385CC: -/* 0391CC 800385CC 28E1FFF4 */ slti $at, $a3, -0xc -/* 0391D0 800385D0 10200015 */ beqz $at, .L80038628 -/* 0391D4 800385D4 2404000C */ li $a0, 12 -/* 0391D8 800385D8 01040019 */ multu $t0, $a0 -/* 0391DC 800385DC 00077023 */ negu $t6, $a3 -/* 0391E0 800385E0 2407FFF4 */ li $a3, -12 -/* 0391E4 800385E4 00006812 */ mflo $t5 -/* 0391E8 800385E8 00000000 */ nop -/* 0391EC 800385EC 00000000 */ nop -/* 0391F0 800385F0 01AE001A */ div $zero, $t5, $t6 -/* 0391F4 800385F4 00004012 */ mflo $t0 -/* 0391F8 800385F8 00087C00 */ sll $t7, $t0, 0x10 -/* 0391FC 800385FC 000FC403 */ sra $t8, $t7, 0x10 -/* 039200 80038600 03004025 */ move $t0, $t8 -/* 039204 80038604 15C00002 */ bnez $t6, .L80038610 -/* 039208 80038608 00000000 */ nop -/* 03920C 8003860C 0007000D */ break 7 -.L80038610: -/* 039210 80038610 2401FFFF */ li $at, -1 -/* 039214 80038614 15C10004 */ bne $t6, $at, .L80038628 -/* 039218 80038618 3C018000 */ lui $at, 0x8000 -/* 03921C 8003861C 15A10002 */ bne $t5, $at, .L80038628 -/* 039220 80038620 00000000 */ nop -/* 039224 80038624 0006000D */ break 6 -.L80038628: -/* 039228 80038628 2901000D */ slti $at, $t0, 0xd -/* 03922C 8003862C 54200017 */ bnel $at, $zero, .L8003868C -/* 039230 80038630 2901FFF4 */ slti $at, $t0, -0xc -/* 039234 80038634 00E40019 */ multu $a3, $a0 -/* 039238 80038638 0000C812 */ mflo $t9 -/* 03923C 8003863C 00000000 */ nop -/* 039240 80038640 00000000 */ nop -/* 039244 80038644 0328001A */ div $zero, $t9, $t0 -/* 039248 80038648 00003812 */ mflo $a3 -/* 03924C 8003864C 00074C00 */ sll $t1, $a3, 0x10 -/* 039250 80038650 15000002 */ bnez $t0, .L8003865C -/* 039254 80038654 00000000 */ nop -/* 039258 80038658 0007000D */ break 7 -.L8003865C: -/* 03925C 8003865C 2401FFFF */ li $at, -1 -/* 039260 80038660 15010004 */ bne $t0, $at, .L80038674 -/* 039264 80038664 3C018000 */ lui $at, 0x8000 -/* 039268 80038668 17210002 */ bne $t9, $at, .L80038674 -/* 03926C 8003866C 00000000 */ nop -/* 039270 80038670 0006000D */ break 6 -.L80038674: -/* 039274 80038674 00044400 */ sll $t0, $a0, 0x10 -/* 039278 80038678 00095403 */ sra $t2, $t1, 0x10 -/* 03927C 8003867C 00085C03 */ sra $t3, $t0, 0x10 -/* 039280 80038680 01403825 */ move $a3, $t2 -/* 039284 80038684 01604025 */ move $t0, $t3 -/* 039288 80038688 2901FFF4 */ slti $at, $t0, -0xc -.L8003868C: -/* 03928C 8003868C 50200016 */ beql $at, $zero, .L800386E8 -/* 039290 80038690 2841FFF4 */ slti $at, $v0, -0xc -/* 039294 80038694 00E40019 */ multu $a3, $a0 -/* 039298 80038698 00086823 */ negu $t5, $t0 -/* 03929C 8003869C 2408FFF4 */ li $t0, -12 -/* 0392A0 800386A0 00006012 */ mflo $t4 -/* 0392A4 800386A4 00000000 */ nop -/* 0392A8 800386A8 00000000 */ nop -/* 0392AC 800386AC 018D001A */ div $zero, $t4, $t5 -/* 0392B0 800386B0 00003812 */ mflo $a3 -/* 0392B4 800386B4 00077400 */ sll $t6, $a3, 0x10 -/* 0392B8 800386B8 000E7C03 */ sra $t7, $t6, 0x10 -/* 0392BC 800386BC 01E03825 */ move $a3, $t7 -/* 0392C0 800386C0 15A00002 */ bnez $t5, .L800386CC -/* 0392C4 800386C4 00000000 */ nop -/* 0392C8 800386C8 0007000D */ break 7 -.L800386CC: -/* 0392CC 800386CC 2401FFFF */ li $at, -1 -/* 0392D0 800386D0 15A10004 */ bne $t5, $at, .L800386E4 -/* 0392D4 800386D4 3C018000 */ lui $at, 0x8000 -/* 0392D8 800386D8 15810002 */ bne $t4, $at, .L800386E4 -/* 0392DC 800386DC 00000000 */ nop -/* 0392E0 800386E0 0006000D */ break 6 -.L800386E4: -/* 0392E4 800386E4 2841FFF4 */ slti $at, $v0, -0xc -.L800386E8: -/* 0392E8 800386E8 1420000B */ bnez $at, .L80038718 -/* 0392EC 800386EC 00671823 */ subu $v1, $v1, $a3 -/* 0392F0 800386F0 2841000D */ slti $at, $v0, 0xd -/* 0392F4 800386F4 10200008 */ beqz $at, .L80038718 -/* 0392F8 800386F8 28C1FFF4 */ slti $at, $a2, -0xc -/* 0392FC 800386FC 14200006 */ bnez $at, .L80038718 -/* 039300 80038700 28C1000D */ slti $at, $a2, 0xd -/* 039304 80038704 50200005 */ beql $at, $zero, .L8003871C -/* 039308 80038708 00A82823 */ subu $a1, $a1, $t0 -/* 03930C 8003870C 00001825 */ move $v1, $zero -/* 039310 80038710 10000008 */ b .L80038734 -/* 039314 80038714 00002825 */ move $a1, $zero -.L80038718: -/* 039318 80038718 00A82823 */ subu $a1, $a1, $t0 -.L8003871C: -/* 03931C 8003871C 0003C400 */ sll $t8, $v1, 0x10 -/* 039320 80038720 00054C00 */ sll $t1, $a1, 0x10 -/* 039324 80038724 0018CC03 */ sra $t9, $t8, 0x10 -/* 039328 80038728 00095403 */ sra $t2, $t1, 0x10 -/* 03932C 8003872C 03201825 */ move $v1, $t9 -/* 039330 80038730 01402825 */ move $a1, $t2 -.L80038734: -/* 039334 80038734 28610036 */ slti $at, $v1, 0x36 -/* 039338 80038738 14200016 */ bnez $at, .L80038794 -/* 03933C 8003873C 24020035 */ li $v0, 53 -/* 039340 80038740 00A20019 */ multu $a1, $v0 -/* 039344 80038744 00005812 */ mflo $t3 -/* 039348 80038748 00000000 */ nop -/* 03934C 8003874C 00000000 */ nop -/* 039350 80038750 0163001A */ div $zero, $t3, $v1 -/* 039354 80038754 00002812 */ mflo $a1 -/* 039358 80038758 00056400 */ sll $t4, $a1, 0x10 -/* 03935C 8003875C 14600002 */ bnez $v1, .L80038768 -/* 039360 80038760 00000000 */ nop -/* 039364 80038764 0007000D */ break 7 -.L80038768: -/* 039368 80038768 2401FFFF */ li $at, -1 -/* 03936C 8003876C 14610004 */ bne $v1, $at, .L80038780 -/* 039370 80038770 3C018000 */ lui $at, 0x8000 -/* 039374 80038774 15610002 */ bne $t3, $at, .L80038780 -/* 039378 80038778 00000000 */ nop -/* 03937C 8003877C 0006000D */ break 6 -.L80038780: -/* 039380 80038780 00021C00 */ sll $v1, $v0, 0x10 -/* 039384 80038784 000C6C03 */ sra $t5, $t4, 0x10 -/* 039388 80038788 00037403 */ sra $t6, $v1, 0x10 -/* 03938C 8003878C 01A02825 */ move $a1, $t5 -/* 039390 80038790 01C01825 */ move $v1, $t6 -.L80038794: -/* 039394 80038794 2861FFCB */ slti $at, $v1, -0x35 -/* 039398 80038798 10200015 */ beqz $at, .L800387F0 -/* 03939C 8003879C 24020035 */ li $v0, 53 -/* 0393A0 800387A0 00A20019 */ multu $a1, $v0 -/* 0393A4 800387A4 0003C023 */ negu $t8, $v1 -/* 0393A8 800387A8 2403FFCB */ li $v1, -53 -/* 0393AC 800387AC 00007812 */ mflo $t7 -/* 0393B0 800387B0 00000000 */ nop -/* 0393B4 800387B4 00000000 */ nop -/* 0393B8 800387B8 01F8001A */ div $zero, $t7, $t8 -/* 0393BC 800387BC 00002812 */ mflo $a1 -/* 0393C0 800387C0 0005CC00 */ sll $t9, $a1, 0x10 -/* 0393C4 800387C4 00194C03 */ sra $t1, $t9, 0x10 -/* 0393C8 800387C8 01202825 */ move $a1, $t1 -/* 0393CC 800387CC 17000002 */ bnez $t8, .L800387D8 -/* 0393D0 800387D0 00000000 */ nop -/* 0393D4 800387D4 0007000D */ break 7 -.L800387D8: -/* 0393D8 800387D8 2401FFFF */ li $at, -1 -/* 0393DC 800387DC 17010004 */ bne $t8, $at, .L800387F0 -/* 0393E0 800387E0 3C018000 */ lui $at, 0x8000 -/* 0393E4 800387E4 15E10002 */ bne $t7, $at, .L800387F0 -/* 0393E8 800387E8 00000000 */ nop -/* 0393EC 800387EC 0006000D */ break 6 -.L800387F0: -/* 0393F0 800387F0 28A10036 */ slti $at, $a1, 0x36 -/* 0393F4 800387F4 54200017 */ bnel $at, $zero, .L80038854 -/* 0393F8 800387F8 28A1FFCB */ slti $at, $a1, -0x35 -/* 0393FC 800387FC 00620019 */ multu $v1, $v0 -/* 039400 80038800 00005012 */ mflo $t2 -/* 039404 80038804 00000000 */ nop -/* 039408 80038808 00000000 */ nop -/* 03940C 8003880C 0145001A */ div $zero, $t2, $a1 -/* 039410 80038810 00001812 */ mflo $v1 -/* 039414 80038814 00035C00 */ sll $t3, $v1, 0x10 -/* 039418 80038818 14A00002 */ bnez $a1, .L80038824 -/* 03941C 8003881C 00000000 */ nop -/* 039420 80038820 0007000D */ break 7 -.L80038824: -/* 039424 80038824 2401FFFF */ li $at, -1 -/* 039428 80038828 14A10004 */ bne $a1, $at, .L8003883C -/* 03942C 8003882C 3C018000 */ lui $at, 0x8000 -/* 039430 80038830 15410002 */ bne $t2, $at, .L8003883C -/* 039434 80038834 00000000 */ nop -/* 039438 80038838 0006000D */ break 6 -.L8003883C: -/* 03943C 8003883C 00022C00 */ sll $a1, $v0, 0x10 -/* 039440 80038840 000B6403 */ sra $t4, $t3, 0x10 -/* 039444 80038844 00056C03 */ sra $t5, $a1, 0x10 -/* 039448 80038848 01801825 */ move $v1, $t4 -/* 03944C 8003884C 01A02825 */ move $a1, $t5 -/* 039450 80038850 28A1FFCB */ slti $at, $a1, -0x35 -.L80038854: -/* 039454 80038854 10200014 */ beqz $at, .L800388A8 -/* 039458 80038858 00000000 */ nop -/* 03945C 8003885C 00620019 */ multu $v1, $v0 -/* 039460 80038860 00057823 */ negu $t7, $a1 -/* 039464 80038864 00007012 */ mflo $t6 -/* 039468 80038868 00000000 */ nop -/* 03946C 8003886C 00000000 */ nop -/* 039470 80038870 01CF001A */ div $zero, $t6, $t7 -/* 039474 80038874 00001812 */ mflo $v1 -/* 039478 80038878 0003C400 */ sll $t8, $v1, 0x10 -/* 03947C 8003887C 0018CC03 */ sra $t9, $t8, 0x10 -/* 039480 80038880 03201825 */ move $v1, $t9 -/* 039484 80038884 15E00002 */ bnez $t7, .L80038890 -/* 039488 80038888 00000000 */ nop -/* 03948C 8003888C 0007000D */ break 7 -.L80038890: -/* 039490 80038890 2401FFFF */ li $at, -1 -/* 039494 80038894 15E10004 */ bne $t7, $at, .L800388A8 -/* 039498 80038898 3C018000 */ lui $at, 0x8000 -/* 03949C 8003889C 15C10002 */ bne $t6, $at, .L800388A8 -/* 0394A0 800388A0 00000000 */ nop -/* 0394A4 800388A4 0006000D */ break 6 -.L800388A8: -/* 0394A8 800388A8 03E00008 */ jr $ra -/* 0394AC 800388AC 00601025 */ move $v0, $v1 diff --git a/asm/non_matchings/code_80027D00/func_800388B0.s b/asm/non_matchings/code_80027D00/func_800388B0.s deleted file mode 100644 index 175063066..000000000 --- a/asm/non_matchings/code_80027D00/func_800388B0.s +++ /dev/null @@ -1,228 +0,0 @@ -glabel func_800388B0 -/* 0394B0 800388B0 84830000 */ lh $v1, ($a0) -/* 0394B4 800388B4 84860002 */ lh $a2, 2($a0) -/* 0394B8 800388B8 2404000C */ li $a0, 12 -/* 0394BC 800388BC 00031400 */ sll $v0, $v1, 0x10 -/* 0394C0 800388C0 00062C00 */ sll $a1, $a2, 0x10 -/* 0394C4 800388C4 00027403 */ sra $t6, $v0, 0x10 -/* 0394C8 800388C8 00057C03 */ sra $t7, $a1, 0x10 -/* 0394CC 800388CC 000E3C00 */ sll $a3, $t6, 0x10 -/* 0394D0 800388D0 000F4400 */ sll $t0, $t7, 0x10 -/* 0394D4 800388D4 0007C403 */ sra $t8, $a3, 0x10 -/* 0394D8 800388D8 0008CC03 */ sra $t9, $t0, 0x10 -/* 0394DC 800388DC 29C1000D */ slti $at, $t6, 0xd -/* 0394E0 800388E0 01C01025 */ move $v0, $t6 -/* 0394E4 800388E4 01E02825 */ move $a1, $t7 -/* 0394E8 800388E8 03003825 */ move $a3, $t8 -/* 0394EC 800388EC 14200016 */ bnez $at, .L80038948 -/* 0394F0 800388F0 03204025 */ move $t0, $t9 -/* 0394F4 800388F4 00A40019 */ multu $a1, $a0 -/* 0394F8 800388F8 00043C00 */ sll $a3, $a0, 0x10 -/* 0394FC 800388FC 00076403 */ sra $t4, $a3, 0x10 -/* 039500 80038900 01803825 */ move $a3, $t4 -/* 039504 80038904 00004812 */ mflo $t1 -/* 039508 80038908 00000000 */ nop -/* 03950C 8003890C 00000000 */ nop -/* 039510 80038910 0122001A */ div $zero, $t1, $v0 -/* 039514 80038914 00004012 */ mflo $t0 -/* 039518 80038918 00085400 */ sll $t2, $t0, 0x10 -/* 03951C 8003891C 000A5C03 */ sra $t3, $t2, 0x10 -/* 039520 80038920 01604025 */ move $t0, $t3 -/* 039524 80038924 14400002 */ bnez $v0, .L80038930 -/* 039528 80038928 00000000 */ nop -/* 03952C 8003892C 0007000D */ break 7 -.L80038930: -/* 039530 80038930 2401FFFF */ li $at, -1 -/* 039534 80038934 14410004 */ bne $v0, $at, .L80038948 -/* 039538 80038938 3C018000 */ lui $at, 0x8000 -/* 03953C 8003893C 15210002 */ bne $t1, $at, .L80038948 -/* 039540 80038940 00000000 */ nop -/* 039544 80038944 0006000D */ break 6 -.L80038948: -/* 039548 80038948 28E1FFF4 */ slti $at, $a3, -0xc -/* 03954C 8003894C 10200015 */ beqz $at, .L800389A4 -/* 039550 80038950 2404000C */ li $a0, 12 -/* 039554 80038954 01040019 */ multu $t0, $a0 -/* 039558 80038958 00077023 */ negu $t6, $a3 -/* 03955C 8003895C 2407FFF4 */ li $a3, -12 -/* 039560 80038960 00006812 */ mflo $t5 -/* 039564 80038964 00000000 */ nop -/* 039568 80038968 00000000 */ nop -/* 03956C 8003896C 01AE001A */ div $zero, $t5, $t6 -/* 039570 80038970 00004012 */ mflo $t0 -/* 039574 80038974 00087C00 */ sll $t7, $t0, 0x10 -/* 039578 80038978 000FC403 */ sra $t8, $t7, 0x10 -/* 03957C 8003897C 03004025 */ move $t0, $t8 -/* 039580 80038980 15C00002 */ bnez $t6, .L8003898C -/* 039584 80038984 00000000 */ nop -/* 039588 80038988 0007000D */ break 7 -.L8003898C: -/* 03958C 8003898C 2401FFFF */ li $at, -1 -/* 039590 80038990 15C10004 */ bne $t6, $at, .L800389A4 -/* 039594 80038994 3C018000 */ lui $at, 0x8000 -/* 039598 80038998 15A10002 */ bne $t5, $at, .L800389A4 -/* 03959C 8003899C 00000000 */ nop -/* 0395A0 800389A0 0006000D */ break 6 -.L800389A4: -/* 0395A4 800389A4 2901000D */ slti $at, $t0, 0xd -/* 0395A8 800389A8 54200017 */ bnel $at, $zero, .L80038A08 -/* 0395AC 800389AC 2901FFF4 */ slti $at, $t0, -0xc -/* 0395B0 800389B0 00E40019 */ multu $a3, $a0 -/* 0395B4 800389B4 0000C812 */ mflo $t9 -/* 0395B8 800389B8 00000000 */ nop -/* 0395BC 800389BC 00000000 */ nop -/* 0395C0 800389C0 0328001A */ div $zero, $t9, $t0 -/* 0395C4 800389C4 00003812 */ mflo $a3 -/* 0395C8 800389C8 00074C00 */ sll $t1, $a3, 0x10 -/* 0395CC 800389CC 15000002 */ bnez $t0, .L800389D8 -/* 0395D0 800389D0 00000000 */ nop -/* 0395D4 800389D4 0007000D */ break 7 -.L800389D8: -/* 0395D8 800389D8 2401FFFF */ li $at, -1 -/* 0395DC 800389DC 15010004 */ bne $t0, $at, .L800389F0 -/* 0395E0 800389E0 3C018000 */ lui $at, 0x8000 -/* 0395E4 800389E4 17210002 */ bne $t9, $at, .L800389F0 -/* 0395E8 800389E8 00000000 */ nop -/* 0395EC 800389EC 0006000D */ break 6 -.L800389F0: -/* 0395F0 800389F0 00044400 */ sll $t0, $a0, 0x10 -/* 0395F4 800389F4 00095403 */ sra $t2, $t1, 0x10 -/* 0395F8 800389F8 00085C03 */ sra $t3, $t0, 0x10 -/* 0395FC 800389FC 01403825 */ move $a3, $t2 -/* 039600 80038A00 01604025 */ move $t0, $t3 -/* 039604 80038A04 2901FFF4 */ slti $at, $t0, -0xc -.L80038A08: -/* 039608 80038A08 50200016 */ beql $at, $zero, .L80038A64 -/* 03960C 80038A0C 2861FFF4 */ slti $at, $v1, -0xc -/* 039610 80038A10 00E40019 */ multu $a3, $a0 -/* 039614 80038A14 00086823 */ negu $t5, $t0 -/* 039618 80038A18 2408FFF4 */ li $t0, -12 -/* 03961C 80038A1C 00006012 */ mflo $t4 -/* 039620 80038A20 00000000 */ nop -/* 039624 80038A24 00000000 */ nop -/* 039628 80038A28 018D001A */ div $zero, $t4, $t5 -/* 03962C 80038A2C 00003812 */ mflo $a3 -/* 039630 80038A30 00077400 */ sll $t6, $a3, 0x10 -/* 039634 80038A34 000E7C03 */ sra $t7, $t6, 0x10 -/* 039638 80038A38 01E03825 */ move $a3, $t7 -/* 03963C 80038A3C 15A00002 */ bnez $t5, .L80038A48 -/* 039640 80038A40 00000000 */ nop -/* 039644 80038A44 0007000D */ break 7 -.L80038A48: -/* 039648 80038A48 2401FFFF */ li $at, -1 -/* 03964C 80038A4C 15A10004 */ bne $t5, $at, .L80038A60 -/* 039650 80038A50 3C018000 */ lui $at, 0x8000 -/* 039654 80038A54 15810002 */ bne $t4, $at, .L80038A60 -/* 039658 80038A58 00000000 */ nop -/* 03965C 80038A5C 0006000D */ break 6 -.L80038A60: -/* 039660 80038A60 2861FFF4 */ slti $at, $v1, -0xc -.L80038A64: -/* 039664 80038A64 1420000B */ bnez $at, .L80038A94 -/* 039668 80038A68 00471023 */ subu $v0, $v0, $a3 -/* 03966C 80038A6C 2861000D */ slti $at, $v1, 0xd -/* 039670 80038A70 10200008 */ beqz $at, .L80038A94 -/* 039674 80038A74 28C1FFF4 */ slti $at, $a2, -0xc -/* 039678 80038A78 14200006 */ bnez $at, .L80038A94 -/* 03967C 80038A7C 28C1000D */ slti $at, $a2, 0xd -/* 039680 80038A80 50200005 */ beql $at, $zero, .L80038A98 -/* 039684 80038A84 00A82823 */ subu $a1, $a1, $t0 -/* 039688 80038A88 00001025 */ move $v0, $zero -/* 03968C 80038A8C 10000008 */ b .L80038AB0 -/* 039690 80038A90 00002825 */ move $a1, $zero -.L80038A94: -/* 039694 80038A94 00A82823 */ subu $a1, $a1, $t0 -.L80038A98: -/* 039698 80038A98 0002C400 */ sll $t8, $v0, 0x10 -/* 03969C 80038A9C 00054C00 */ sll $t1, $a1, 0x10 -/* 0396A0 80038AA0 0018CC03 */ sra $t9, $t8, 0x10 -/* 0396A4 80038AA4 00095403 */ sra $t2, $t1, 0x10 -/* 0396A8 80038AA8 03201025 */ move $v0, $t9 -/* 0396AC 80038AAC 01402825 */ move $a1, $t2 -.L80038AB0: -/* 0396B0 80038AB0 28410036 */ slti $at, $v0, 0x36 -/* 0396B4 80038AB4 14200016 */ bnez $at, .L80038B10 -/* 0396B8 80038AB8 24030035 */ li $v1, 53 -/* 0396BC 80038ABC 00A30019 */ multu $a1, $v1 -/* 0396C0 80038AC0 00005812 */ mflo $t3 -/* 0396C4 80038AC4 00000000 */ nop -/* 0396C8 80038AC8 00000000 */ nop -/* 0396CC 80038ACC 0162001A */ div $zero, $t3, $v0 -/* 0396D0 80038AD0 00002812 */ mflo $a1 -/* 0396D4 80038AD4 00056400 */ sll $t4, $a1, 0x10 -/* 0396D8 80038AD8 14400002 */ bnez $v0, .L80038AE4 -/* 0396DC 80038ADC 00000000 */ nop -/* 0396E0 80038AE0 0007000D */ break 7 -.L80038AE4: -/* 0396E4 80038AE4 2401FFFF */ li $at, -1 -/* 0396E8 80038AE8 14410004 */ bne $v0, $at, .L80038AFC -/* 0396EC 80038AEC 3C018000 */ lui $at, 0x8000 -/* 0396F0 80038AF0 15610002 */ bne $t3, $at, .L80038AFC -/* 0396F4 80038AF4 00000000 */ nop -/* 0396F8 80038AF8 0006000D */ break 6 -.L80038AFC: -/* 0396FC 80038AFC 00031400 */ sll $v0, $v1, 0x10 -/* 039700 80038B00 000C6C03 */ sra $t5, $t4, 0x10 -/* 039704 80038B04 00027403 */ sra $t6, $v0, 0x10 -/* 039708 80038B08 01A02825 */ move $a1, $t5 -/* 03970C 80038B0C 01C01025 */ move $v0, $t6 -.L80038B10: -/* 039710 80038B10 2841FFCB */ slti $at, $v0, -0x35 -/* 039714 80038B14 10200015 */ beqz $at, .L80038B6C -/* 039718 80038B18 24030035 */ li $v1, 53 -/* 03971C 80038B1C 00A30019 */ multu $a1, $v1 -/* 039720 80038B20 0002C023 */ negu $t8, $v0 -/* 039724 80038B24 2402FFCB */ li $v0, -53 -/* 039728 80038B28 00007812 */ mflo $t7 -/* 03972C 80038B2C 00000000 */ nop -/* 039730 80038B30 00000000 */ nop -/* 039734 80038B34 01F8001A */ div $zero, $t7, $t8 -/* 039738 80038B38 00002812 */ mflo $a1 -/* 03973C 80038B3C 0005CC00 */ sll $t9, $a1, 0x10 -/* 039740 80038B40 00194C03 */ sra $t1, $t9, 0x10 -/* 039744 80038B44 01202825 */ move $a1, $t1 -/* 039748 80038B48 17000002 */ bnez $t8, .L80038B54 -/* 03974C 80038B4C 00000000 */ nop -/* 039750 80038B50 0007000D */ break 7 -.L80038B54: -/* 039754 80038B54 2401FFFF */ li $at, -1 -/* 039758 80038B58 17010004 */ bne $t8, $at, .L80038B6C -/* 03975C 80038B5C 3C018000 */ lui $at, 0x8000 -/* 039760 80038B60 15E10002 */ bne $t7, $at, .L80038B6C -/* 039764 80038B64 00000000 */ nop -/* 039768 80038B68 0006000D */ break 6 -.L80038B6C: -/* 03976C 80038B6C 28A10036 */ slti $at, $a1, 0x36 -/* 039770 80038B70 54200017 */ bnel $at, $zero, .L80038BD0 -/* 039774 80038B74 28A1FFCB */ slti $at, $a1, -0x35 -/* 039778 80038B78 00430019 */ multu $v0, $v1 -/* 03977C 80038B7C 00005012 */ mflo $t2 -/* 039780 80038B80 00000000 */ nop -/* 039784 80038B84 00000000 */ nop -/* 039788 80038B88 0145001A */ div $zero, $t2, $a1 -/* 03978C 80038B8C 00001012 */ mflo $v0 -/* 039790 80038B90 00025C00 */ sll $t3, $v0, 0x10 -/* 039794 80038B94 14A00002 */ bnez $a1, .L80038BA0 -/* 039798 80038B98 00000000 */ nop -/* 03979C 80038B9C 0007000D */ break 7 -.L80038BA0: -/* 0397A0 80038BA0 2401FFFF */ li $at, -1 -/* 0397A4 80038BA4 14A10004 */ bne $a1, $at, .L80038BB8 -/* 0397A8 80038BA8 3C018000 */ lui $at, 0x8000 -/* 0397AC 80038BAC 15410002 */ bne $t2, $at, .L80038BB8 -/* 0397B0 80038BB0 00000000 */ nop -/* 0397B4 80038BB4 0006000D */ break 6 -.L80038BB8: -/* 0397B8 80038BB8 00032C00 */ sll $a1, $v1, 0x10 -/* 0397BC 80038BBC 000B6403 */ sra $t4, $t3, 0x10 -/* 0397C0 80038BC0 00056C03 */ sra $t5, $a1, 0x10 -/* 0397C4 80038BC4 01801025 */ move $v0, $t4 -/* 0397C8 80038BC8 01A02825 */ move $a1, $t5 -/* 0397CC 80038BCC 28A1FFCB */ slti $at, $a1, -0x35 -.L80038BD0: -/* 0397D0 80038BD0 10200002 */ beqz $at, .L80038BDC -/* 0397D4 80038BD4 00000000 */ nop -/* 0397D8 80038BD8 2405FFCB */ li $a1, -53 -.L80038BDC: -/* 0397DC 80038BDC 03E00008 */ jr $ra -/* 0397E0 80038BE0 00A01025 */ move $v0, $a1 diff --git a/asm/non_matchings/code_800431B0/func_80050644.s b/asm/non_matchings/code_800431B0/func_80050644.s deleted file mode 100644 index 46f30f48e..000000000 --- a/asm/non_matchings/code_800431B0/func_80050644.s +++ /dev/null @@ -1,116 +0,0 @@ -glabel func_80050644 -/* 051244 80050644 308EFFFF */ andi $t6, $a0, 0xffff -/* 051248 80050648 000E4080 */ sll $t0, $t6, 2 -/* 05124C 8005064C 3C078016 */ lui $a3, %hi(gLapCountByPlayerId) # 0x8016 -/* 051250 80050650 00E83821 */ addu $a3, $a3, $t0 -/* 051254 80050654 8CE74390 */ lw $a3, %lo(gLapCountByPlayerId)($a3) # 0x4390($a3) -/* 051258 80050658 AFA40000 */ sw $a0, ($sp) -/* 05125C 8005065C 00001825 */ move $v1, $zero -/* 051260 80050660 28E10003 */ slti $at, $a3, 3 -/* 051264 80050664 1020003E */ beqz $at, .L80050760 -/* 051268 80050668 00001025 */ move $v0, $zero -/* 05126C 8005066C 3C0F800E */ lui $t7, %hi(gPlayerCountSelection1) # $t7, 0x800e -/* 051270 80050670 8DEFC538 */ lw $t7, %lo(gPlayerCountSelection1)($t7) -/* 051274 80050674 24010001 */ li $at, 1 -/* 051278 80050678 15E1002A */ bne $t7, $at, .L80050724 -/* 05127C 8005067C 00000000 */ nop -/* 051280 80050680 04E0000A */ bltz $a3, .L800506AC -/* 051284 80050684 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 051288 80050688 00280821 */ addu $at, $at, $t0 -/* 05128C 8005068C C42444A8 */ lwc1 $f4, %lo(gLapCompletionPercentByPlayerId)($at) -/* 051290 80050690 3C014468 */ li $at, 0x44680000 # 928.000000 -/* 051294 80050694 44813000 */ mtc1 $at, $f6 -/* 051298 80050698 00000000 */ nop -/* 05129C 8005069C 46062202 */ mul.s $f8, $f4, $f6 -/* 0512A0 800506A0 4600428D */ trunc.w.s $f10, $f8 -/* 0512A4 800506A4 44025000 */ mfc1 $v0, $f10 -/* 0512A8 800506A8 00000000 */ nop -.L800506AC: -/* 0512AC 800506AC 28410104 */ slti $at, $v0, 0x104 -/* 0512B0 800506B0 50200006 */ beql $at, $zero, .L800506CC -/* 0512B4 800506B4 284101D0 */ slti $at, $v0, 0x1d0 -/* 0512B8 800506B8 ACA20000 */ sw $v0, ($a1) -/* 0512BC 800506BC ACC00000 */ sw $zero, ($a2) -/* 0512C0 800506C0 03E00008 */ jr $ra -/* 0512C4 800506C4 24020001 */ li $v0, 1 - -/* 0512C8 800506C8 284101D0 */ slti $at, $v0, 0x1d0 -.L800506CC: -/* 0512CC 800506CC 10200006 */ beqz $at, .L800506E8 -/* 0512D0 800506D0 24190104 */ li $t9, 260 -/* 0512D4 800506D4 ACB90000 */ sw $t9, ($a1) -/* 0512D8 800506D8 2449FEFC */ addiu $t1, $v0, -0x104 -/* 0512DC 800506DC ACC90000 */ sw $t1, ($a2) -/* 0512E0 800506E0 03E00008 */ jr $ra -/* 0512E4 800506E4 24020002 */ li $v0, 2 - -.L800506E8: -/* 0512E8 800506E8 284102D4 */ slti $at, $v0, 0x2d4 -/* 0512EC 800506EC 10200008 */ beqz $at, .L80050710 -/* 0512F0 800506F0 240D03A0 */ li $t5, 928 -/* 0512F4 800506F4 240A02D4 */ li $t2, 724 -/* 0512F8 800506F8 01425823 */ subu $t3, $t2, $v0 -/* 0512FC 800506FC ACAB0000 */ sw $t3, ($a1) -/* 051300 80050700 240C00CC */ li $t4, 204 -/* 051304 80050704 ACCC0000 */ sw $t4, ($a2) -/* 051308 80050708 03E00008 */ jr $ra -/* 05130C 8005070C 24020003 */ li $v0, 3 - -.L80050710: -/* 051310 80050710 ACA00000 */ sw $zero, ($a1) -/* 051314 80050714 01A27023 */ subu $t6, $t5, $v0 -/* 051318 80050718 ACCE0000 */ sw $t6, ($a2) -/* 05131C 8005071C 03E00008 */ jr $ra -/* 051320 80050720 24020004 */ li $v0, 4 - -.L80050724: -/* 051324 80050724 04E0000A */ bltz $a3, .L80050750 -/* 051328 80050728 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 05132C 8005072C 00280821 */ addu $at, $at, $t0 -/* 051330 80050730 C43044A8 */ lwc1 $f16, %lo(gLapCompletionPercentByPlayerId)($at) -/* 051334 80050734 3C014382 */ li $at, 0x43820000 # 260.000000 -/* 051338 80050738 44819000 */ mtc1 $at, $f18 -/* 05133C 8005073C 00000000 */ nop -/* 051340 80050740 46128102 */ mul.s $f4, $f16, $f18 -/* 051344 80050744 4600218D */ trunc.w.s $f6, $f4 -/* 051348 80050748 44023000 */ mfc1 $v0, $f6 -/* 05134C 8005074C 00000000 */ nop -.L80050750: -/* 051350 80050750 ACA20000 */ sw $v0, ($a1) -/* 051354 80050754 ACC00000 */ sw $zero, ($a2) -/* 051358 80050758 03E00008 */ jr $ra -/* 05135C 8005075C 00601025 */ move $v0, $v1 - -.L80050760: -/* 051360 80050760 3C18800E */ lui $t8, %hi(gPlayerCountSelection1) # $t8, 0x800e -/* 051364 80050764 8F18C538 */ lw $t8, %lo(gPlayerCountSelection1)($t8) -/* 051368 80050768 24010001 */ li $at, 1 -/* 05136C 8005076C 24190020 */ li $t9, 32 -/* 051370 80050770 1701000B */ bne $t8, $at, .L800507A0 -/* 051374 80050774 3C098016 */ lui $t1, %hi(gPlayerPositions) -/* 051378 80050778 ACB90000 */ sw $t9, ($a1) -/* 05137C 8005077C 01284821 */ addu $t1, $t1, $t0 -/* 051380 80050780 8D2943B8 */ lw $t1, %lo(gPlayerPositions)($t1) -/* 051384 80050784 00601025 */ move $v0, $v1 -/* 051388 80050788 00095080 */ sll $t2, $t1, 2 -/* 05138C 8005078C 01495021 */ addu $t2, $t2, $t1 -/* 051390 80050790 000A5080 */ sll $t2, $t2, 2 -/* 051394 80050794 254B0020 */ addiu $t3, $t2, 0x20 -/* 051398 80050798 03E00008 */ jr $ra -/* 05139C 8005079C ACCB0000 */ sw $t3, ($a2) - -.L800507A0: -/* 0513A0 800507A0 3C018016 */ lui $at, %hi(gLapCompletionPercentByPlayerId) -/* 0513A4 800507A4 00280821 */ addu $at, $at, $t0 -/* 0513A8 800507A8 C42844A8 */ lwc1 $f8, %lo(gLapCompletionPercentByPlayerId)($at) -/* 0513AC 800507AC 3C014382 */ li $at, 0x43820000 # 260.000000 -/* 0513B0 800507B0 44815000 */ mtc1 $at, $f10 -/* 0513B4 800507B4 00000000 */ nop -/* 0513B8 800507B8 460A4402 */ mul.s $f16, $f8, $f10 -/* 0513BC 800507BC 4600848D */ trunc.w.s $f18, $f16 -/* 0513C0 800507C0 44029000 */ mfc1 $v0, $f18 -/* 0513C4 800507C4 00000000 */ nop -/* 0513C8 800507C8 ACA20000 */ sw $v0, ($a1) -/* 0513CC 800507CC ACC00000 */ sw $zero, ($a2) -/* 0513D0 800507D0 03E00008 */ jr $ra -/* 0513D4 800507D4 00601025 */ move $v0, $v1 diff --git a/asm/non_matchings/code_800431B0/func_800523B8.s b/asm/non_matchings/code_800431B0/func_800523B8.s deleted file mode 100644 index f9123f78d..000000000 --- a/asm/non_matchings/code_800431B0/func_800523B8.s +++ /dev/null @@ -1,65 +0,0 @@ -glabel func_800523B8 -/* 052FB8 800523B8 00057080 */ sll $t6, $a1, 2 -/* 052FBC 800523BC 0004C8C0 */ sll $t9, $a0, 3 -/* 052FC0 800523C0 01C57023 */ subu $t6, $t6, $a1 -/* 052FC4 800523C4 0324C823 */ subu $t9, $t9, $a0 -/* 052FC8 800523C8 3C088016 */ lui $t0, %hi(D_80165C18) # $t0, 0x8016 -/* 052FCC 800523CC 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 052FD0 800523D0 000E70C0 */ sll $t6, $t6, 3 -/* 052FD4 800523D4 3C0F800E */ lui $t7, %hi(camera1) # $t7, 0x800e -/* 052FD8 800523D8 25085C18 */ addiu $t0, %lo(D_80165C18) # addiu $t0, $t0, 0x5c18 -/* 052FDC 800523DC 0019C940 */ sll $t9, $t9, 5 -/* 052FE0 800523E0 8DEFDB40 */ lw $t7, %lo(camera1)($t7) -/* 052FE4 800523E4 01C57023 */ subu $t6, $t6, $a1 -/* 052FE8 800523E8 03281821 */ addu $v1, $t9, $t0 -/* 052FEC 800523EC AFBF0034 */ sw $ra, 0x34($sp) -/* 052FF0 800523F0 AFA60058 */ sw $a2, 0x58($sp) -/* 052FF4 800523F4 000E70C0 */ sll $t6, $t6, 3 -/* 052FF8 800523F8 AFA40050 */ sw $a0, 0x50($sp) -/* 052FFC 800523FC C46C0004 */ lwc1 $f12, 4($v1) -/* 053000 80052400 C46E000C */ lwc1 $f14, 0xc($v1) -/* 053004 80052404 AFA3003C */ sw $v1, 0x3c($sp) -/* 053008 80052408 0C01062B */ jal func_800418AC -/* 05300C 8005240C 01CF3021 */ addu $a2, $t6, $t7 -/* 053010 80052410 8FA3003C */ lw $v1, 0x3c($sp) -/* 053014 80052414 240C0030 */ li $t4, 48 -/* 053018 80052418 240D0028 */ li $t5, 40 -/* 05301C 8005241C 8C690060 */ lw $t1, 0x60($v1) -/* 053020 80052420 8C6A0064 */ lw $t2, 0x64($v1) -/* 053024 80052424 8C6B0074 */ lw $t3, 0x74($v1) -/* 053028 80052428 240E0030 */ li $t6, 48 -/* 05302C 8005242C 240F0028 */ li $t7, 40 -/* 053030 80052430 24640004 */ addiu $a0, $v1, 4 -/* 053034 80052434 AFA40038 */ sw $a0, 0x38($sp) -/* 053038 80052438 AFAF0028 */ sw $t7, 0x28($sp) -/* 05303C 8005243C AFAE0024 */ sw $t6, 0x24($sp) -/* 053040 80052440 AFAD0020 */ sw $t5, 0x20($sp) -/* 053044 80052444 AFAC001C */ sw $t4, 0x1c($sp) -/* 053048 80052448 A46200B4 */ sh $v0, 0xb4($v1) -/* 05304C 8005244C 246500B2 */ addiu $a1, $v1, 0xb2 -/* 053050 80052450 8C660000 */ lw $a2, ($v1) -/* 053054 80052454 846700A0 */ lh $a3, 0xa0($v1) -/* 053058 80052458 AFA90010 */ sw $t1, 0x10($sp) -/* 05305C 8005245C AFAA0014 */ sw $t2, 0x14($sp) -/* 053060 80052460 0C01212F */ jal func_800484BC -/* 053064 80052464 AFAB0018 */ sw $t3, 0x18($sp) -/* 053068 80052468 8FA40050 */ lw $a0, 0x50($sp) -/* 05306C 8005246C 0C01C88F */ jal func_8007223C -/* 053070 80052470 24050020 */ li $a1, 32 -/* 053074 80052474 1040000B */ beqz $v0, .L800524A4 -/* 053078 80052478 8FB80058 */ lw $t8, 0x58($sp) -/* 05307C 8005247C 3C010001 */ lui $at, (0x00015F91 >> 16) # lui $at, 1 -/* 053080 80052480 34215F91 */ ori $at, (0x00015F91 & 0xFFFF) # ori $at, $at, 0x5f91 -/* 053084 80052484 0301082B */ sltu $at, $t8, $at -/* 053088 80052488 10200006 */ beqz $at, .L800524A4 -/* 05308C 8005248C 3C048019 */ lui $a0, %hi(D_8018C830) # $a0, 0x8019 -/* 053090 80052490 3C063ECC */ lui $a2, (0x3ECCCCCD >> 16) # lui $a2, 0x3ecc -/* 053094 80052494 34C6CCCD */ ori $a2, (0x3ECCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 053098 80052498 2484C830 */ addiu $a0, %lo(D_8018C830) # addiu $a0, $a0, -0x37d0 -/* 05309C 8005249C 0C01298C */ jal func_8004A630 -/* 0530A0 800524A0 8FA50038 */ lw $a1, 0x38($sp) -.L800524A4: -/* 0530A4 800524A4 8FBF0034 */ lw $ra, 0x34($sp) -/* 0530A8 800524A8 27BD0050 */ addiu $sp, $sp, 0x50 -/* 0530AC 800524AC 03E00008 */ jr $ra -/* 0530B0 800524B0 00000000 */ nop diff --git a/asm/non_matchings/code_800431B0/func_800524B4.s b/asm/non_matchings/code_800431B0/func_800524B4.s deleted file mode 100644 index 822077401..000000000 --- a/asm/non_matchings/code_800431B0/func_800524B4.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_800524B4 -/* 0530B4 800524B4 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 0530B8 800524B8 AFB70030 */ sw $s7, 0x30($sp) -/* 0530BC 800524BC AFB40024 */ sw $s4, 0x24($sp) -/* 0530C0 800524C0 AFB10018 */ sw $s1, 0x18($sp) -/* 0530C4 800524C4 AFB6002C */ sw $s6, 0x2c($sp) -/* 0530C8 800524C8 AFB50028 */ sw $s5, 0x28($sp) -/* 0530CC 800524CC AFB30020 */ sw $s3, 0x20($sp) -/* 0530D0 800524D0 3C118019 */ lui $s1, %hi(D_8018BFA8) # $s1, 0x8019 -/* 0530D4 800524D4 3C148016 */ lui $s4, %hi(D_80165C18) # $s4, 0x8016 -/* 0530D8 800524D8 3C178019 */ lui $s7, %hi(D_8018BFD0) # $s7, 0x8019 -/* 0530DC 800524DC 00809825 */ move $s3, $a0 -/* 0530E0 800524E0 AFBF0034 */ sw $ra, 0x34($sp) -/* 0530E4 800524E4 AFB2001C */ sw $s2, 0x1c($sp) -/* 0530E8 800524E8 AFB00014 */ sw $s0, 0x14($sp) -/* 0530EC 800524EC 26F7BFD0 */ addiu $s7, %lo(D_8018BFD0) # addiu $s7, $s7, -0x4030 -/* 0530F0 800524F0 26945C18 */ addiu $s4, %lo(D_80165C18) # addiu $s4, $s4, 0x5c18 -/* 0530F4 800524F4 2631BFA8 */ addiu $s1, %lo(D_8018BFA8) # addiu $s1, $s1, -0x4058 -/* 0530F8 800524F8 241500E0 */ li $s5, 224 -/* 0530FC 800524FC 3C160004 */ lui $s6, 4 -/* 053100 80052500 8E300000 */ lw $s0, ($s1) -.L80052504: -/* 053104 80052504 02602825 */ move $a1, $s3 -/* 053108 80052508 24064000 */ li $a2, 16384 -/* 05310C 8005250C 02150019 */ multu $s0, $s5 -/* 053110 80052510 02002025 */ move $a0, $s0 -/* 053114 80052514 00007012 */ mflo $t6 -/* 053118 80052518 028E7821 */ addu $t7, $s4, $t6 -/* 05311C 8005251C 85F800A6 */ lh $t8, 0xa6($t7) -/* 053120 80052520 2B010002 */ slti $at, $t8, 2 -/* 053124 80052524 5420000D */ bnel $at, $zero, .L8005255C -/* 053128 80052528 26310004 */ addiu $s1, $s1, 4 -/* 05312C 8005252C 0C0228D9 */ jal func_8008A364 -/* 053130 80052530 24070320 */ li $a3, 800 -/* 053134 80052534 00409025 */ move $s2, $v0 -/* 053138 80052538 02002025 */ move $a0, $s0 -/* 05313C 8005253C 0C01C88F */ jal func_8007223C -/* 053140 80052540 02C02825 */ move $a1, $s6 -/* 053144 80052544 10400004 */ beqz $v0, .L80052558 -/* 053148 80052548 02002025 */ move $a0, $s0 -/* 05314C 8005254C 02602825 */ move $a1, $s3 -/* 053150 80052550 0C0148EE */ jal func_800523B8 -/* 053154 80052554 02403025 */ move $a2, $s2 -.L80052558: -/* 053158 80052558 26310004 */ addiu $s1, $s1, 4 -.L8005255C: -/* 05315C 8005255C 5637FFE9 */ bnel $s1, $s7, .L80052504 -/* 053160 80052560 8E300000 */ lw $s0, ($s1) -/* 053164 80052564 8FBF0034 */ lw $ra, 0x34($sp) -/* 053168 80052568 8FB00014 */ lw $s0, 0x14($sp) -/* 05316C 8005256C 8FB10018 */ lw $s1, 0x18($sp) -/* 053170 80052570 8FB2001C */ lw $s2, 0x1c($sp) -/* 053174 80052574 8FB30020 */ lw $s3, 0x20($sp) -/* 053178 80052578 8FB40024 */ lw $s4, 0x24($sp) -/* 05317C 8005257C 8FB50028 */ lw $s5, 0x28($sp) -/* 053180 80052580 8FB6002C */ lw $s6, 0x2c($sp) -/* 053184 80052584 8FB70030 */ lw $s7, 0x30($sp) -/* 053188 80052588 03E00008 */ jr $ra -/* 05318C 8005258C 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/non_matchings/code_800431B0/func_800536C8.s b/asm/non_matchings/code_800431B0/func_800536C8.s deleted file mode 100644 index 2144784fd..000000000 --- a/asm/non_matchings/code_800431B0/func_800536C8.s +++ /dev/null @@ -1,109 +0,0 @@ -glabel func_800536C8 -/* 0542C8 800536C8 000470C0 */ sll $t6, $a0, 3 -/* 0542CC 800536CC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 0542D0 800536D0 01C47023 */ subu $t6, $t6, $a0 -/* 0542D4 800536D4 3C0F8016 */ lui $t7, %hi(D_80165C18) # $t7, 0x8016 -/* 0542D8 800536D8 AFB00018 */ sw $s0, 0x18($sp) -/* 0542DC 800536DC 25EF5C18 */ addiu $t7, %lo(D_80165C18) # addiu $t7, $t7, 0x5c18 -/* 0542E0 800536E0 000E7140 */ sll $t6, $t6, 5 -/* 0542E4 800536E4 01CF8021 */ addu $s0, $t6, $t7 -/* 0542E8 800536E8 861800A6 */ lh $t8, 0xa6($s0) -/* 0542EC 800536EC AFBF001C */ sw $ra, 0x1c($sp) -/* 0542F0 800536F0 24050040 */ li $a1, 64 -/* 0542F4 800536F4 2B010002 */ slti $at, $t8, 2 -/* 0542F8 800536F8 54200059 */ bnel $at, $zero, .L80053860 -/* 0542FC 800536FC 8FBF001C */ lw $ra, 0x1c($sp) -/* 054300 80053700 0C01C8D5 */ jal func_80072354 -/* 054304 80053704 AFA40040 */ sw $a0, 0x40($sp) -/* 054308 80053708 10400054 */ beqz $v0, .L8005385C -/* 05430C 8005370C 8FA40040 */ lw $a0, 0x40($sp) -/* 054310 80053710 0C0129EB */ jal func_8004A7AC -/* 054314 80053714 3C053FE0 */ lui $a1, 0x3fe0 -/* 054318 80053718 26040004 */ addiu $a0, $s0, 4 -/* 05431C 8005371C 260500B2 */ addiu $a1, $s0, 0xb2 -/* 054320 80053720 0C010B80 */ jal func_80042E00 -/* 054324 80053724 8E060000 */ lw $a2, ($s0) -/* 054328 80053728 0C014D3A */ jal func_800534E8 -/* 05432C 8005372C 8FA40040 */ lw $a0, 0x40($sp) -/* 054330 80053730 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 054334 80053734 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 054338 80053738 8C620000 */ lw $v0, ($v1) -/* 05433C 8005373C 3C0F0D00 */ lui $t7, %hi(D_0D007828) # $t7, 0xd00 -/* 054340 80053740 25EF7828 */ addiu $t7, %lo(D_0D007828) # addiu $t7, $t7, 0x7828 -/* 054344 80053744 24590008 */ addiu $t9, $v0, 8 -/* 054348 80053748 AC790000 */ sw $t9, ($v1) -/* 05434C 8005374C 3C0E0600 */ lui $t6, 0x600 -/* 054350 80053750 AC4E0000 */ sw $t6, ($v0) -/* 054354 80053754 AC4F0004 */ sw $t7, 4($v0) -/* 054358 80053758 8C620000 */ lw $v0, ($v1) -/* 05435C 8005375C 3C19BA00 */ lui $t9, (0xBA000E02 >> 16) # lui $t9, 0xba00 -/* 054360 80053760 37390E02 */ ori $t9, (0xBA000E02 & 0xFFFF) # ori $t9, $t9, 0xe02 -/* 054364 80053764 24580008 */ addiu $t8, $v0, 8 -/* 054368 80053768 AC780000 */ sw $t8, ($v1) -/* 05436C 8005376C 340E8000 */ li $t6, 32768 -/* 054370 80053770 AC4E0004 */ sw $t6, 4($v0) -/* 054374 80053774 AC590000 */ sw $t9, ($v0) -/* 054378 80053778 8C620000 */ lw $v0, ($v1) -/* 05437C 8005377C 3C190600 */ lui $t9, %hi(D_06006F38) # $t9, 0x600 -/* 054380 80053780 27396F38 */ addiu $t9, %lo(D_06006F38) # addiu $t9, $t9, 0x6f38 -/* 054384 80053784 244F0008 */ addiu $t7, $v0, 8 -/* 054388 80053788 AC6F0000 */ sw $t7, ($v1) -/* 05438C 8005378C 3C18FD10 */ lui $t8, 0xfd10 -/* 054390 80053790 AC580000 */ sw $t8, ($v0) -/* 054394 80053794 AC590004 */ sw $t9, 4($v0) -/* 054398 80053798 8C620000 */ lw $v0, ($v1) -/* 05439C 8005379C 3C0FE800 */ lui $t7, 0xe800 -/* 0543A0 800537A0 3C19F500 */ lui $t9, (0xF5000100 >> 16) # lui $t9, 0xf500 -/* 0543A4 800537A4 244E0008 */ addiu $t6, $v0, 8 -/* 0543A8 800537A8 AC6E0000 */ sw $t6, ($v1) -/* 0543AC 800537AC AC400004 */ sw $zero, 4($v0) -/* 0543B0 800537B0 AC4F0000 */ sw $t7, ($v0) -/* 0543B4 800537B4 8C620000 */ lw $v0, ($v1) -/* 0543B8 800537B8 3C0E0700 */ lui $t6, 0x700 -/* 0543BC 800537BC 37390100 */ ori $t9, (0xF5000100 & 0xFFFF) # ori $t9, $t9, 0x100 -/* 0543C0 800537C0 24580008 */ addiu $t8, $v0, 8 -/* 0543C4 800537C4 AC780000 */ sw $t8, ($v1) -/* 0543C8 800537C8 AC4E0004 */ sw $t6, 4($v0) -/* 0543CC 800537CC AC590000 */ sw $t9, ($v0) -/* 0543D0 800537D0 8C620000 */ lw $v0, ($v1) -/* 0543D4 800537D4 3C18E600 */ lui $t8, 0xe600 -/* 0543D8 800537D8 3C0EF000 */ lui $t6, 0xf000 -/* 0543DC 800537DC 244F0008 */ addiu $t7, $v0, 8 -/* 0543E0 800537E0 AC6F0000 */ sw $t7, ($v1) -/* 0543E4 800537E4 AC400004 */ sw $zero, 4($v0) -/* 0543E8 800537E8 AC580000 */ sw $t8, ($v0) -/* 0543EC 800537EC 8C620000 */ lw $v0, ($v1) -/* 0543F0 800537F0 3C0F073F */ lui $t7, (0x073FC000 >> 16) # lui $t7, 0x73f -/* 0543F4 800537F4 35EFC000 */ ori $t7, (0x073FC000 & 0xFFFF) # ori $t7, $t7, 0xc000 -/* 0543F8 800537F8 24590008 */ addiu $t9, $v0, 8 -/* 0543FC 800537FC AC790000 */ sw $t9, ($v1) -/* 054400 80053800 AC4F0004 */ sw $t7, 4($v0) -/* 054404 80053804 AC4E0000 */ sw $t6, ($v0) -/* 054408 80053808 8C620000 */ lw $v0, ($v1) -/* 05440C 8005380C 3C19E700 */ lui $t9, 0xe700 -/* 054410 80053810 24050010 */ li $a1, 16 -/* 054414 80053814 24580008 */ addiu $t8, $v0, 8 -/* 054418 80053818 AC780000 */ sw $t8, ($v1) -/* 05441C 8005381C AFA20020 */ sw $v0, 0x20($sp) -/* 054420 80053820 AC400004 */ sw $zero, 4($v0) -/* 054424 80053824 AC590000 */ sw $t9, ($v0) -/* 054428 80053828 8E040064 */ lw $a0, 0x64($s0) -/* 05442C 8005382C 24060040 */ li $a2, 64 -/* 054430 80053830 0C011513 */ jal func_8004544C -/* 054434 80053834 24070004 */ li $a3, 4 -/* 054438 80053838 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015 -/* 05443C 8005383C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298 -/* 054440 80053840 8C620000 */ lw $v0, ($v1) -/* 054444 80053844 3C180600 */ lui $t8, 0x600 -/* 054448 80053848 244F0008 */ addiu $t7, $v0, 8 -/* 05444C 8005384C AC6F0000 */ sw $t7, ($v1) -/* 054450 80053850 AC580000 */ sw $t8, ($v0) -/* 054454 80053854 8E190070 */ lw $t9, 0x70($s0) -/* 054458 80053858 AC590004 */ sw $t9, 4($v0) -.L8005385C: -/* 05445C 8005385C 8FBF001C */ lw $ra, 0x1c($sp) -.L80053860: -/* 054460 80053860 8FB00018 */ lw $s0, 0x18($sp) -/* 054464 80053864 27BD0040 */ addiu $sp, $sp, 0x40 -/* 054468 80053868 03E00008 */ jr $ra -/* 05446C 8005386C 00000000 */ nop diff --git a/asm/non_matchings/memory/func_802AF0FC.s b/asm/non_matchings/memory/func_802AF0FC.s deleted file mode 100644 index a0cb5a388..000000000 --- a/asm/non_matchings/memory/func_802AF0FC.s +++ /dev/null @@ -1,144 +0,0 @@ -glabel func_802AF0FC -/* 11870C 802AF0FC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 118710 802AF100 AFA40038 */ sw $a0, 0x38($sp) -/* 118714 802AF104 00047400 */ sll $t6, $a0, 0x10 -/* 118718 802AF108 000E2403 */ sra $a0, $t6, 0x10 -/* 11871C 802AF10C 00067400 */ sll $t6, $a2, 0x10 -/* 118720 802AF110 AFA60040 */ sw $a2, 0x40($sp) -/* 118724 802AF114 000E3403 */ sra $a2, $t6, 0x10 -/* 118728 802AF118 97AE004A */ lhu $t6, 0x4a($sp) -/* 11872C 802AF11C AFA5003C */ sw $a1, 0x3c($sp) -/* 118730 802AF120 0005C400 */ sll $t8, $a1, 0x10 -/* 118734 802AF124 00182C03 */ sra $a1, $t8, 0x10 -/* 118738 802AF128 0007C400 */ sll $t8, $a3, 0x10 -/* 11873C 802AF12C AFA70044 */ sw $a3, 0x44($sp) -/* 118740 802AF130 00183C03 */ sra $a3, $t8, 0x10 -/* 118744 802AF134 000E7880 */ sll $t7, $t6, 2 -/* 118748 802AF138 3C188016 */ lui $t8, %hi(D_8015F580) # $t8, 0x8016 -/* 11874C 802AF13C 01EE7823 */ subu $t7, $t7, $t6 -/* 118750 802AF140 8F18F580 */ lw $t8, %lo(D_8015F580)($t8) -/* 118754 802AF144 000F7880 */ sll $t7, $t7, 2 -/* 118758 802AF148 AFBF0024 */ sw $ra, 0x24($sp) -/* 11875C 802AF14C 01EE7823 */ subu $t7, $t7, $t6 -/* 118760 802AF150 000F7880 */ sll $t7, $t7, 2 -/* 118764 802AF154 01F81021 */ addu $v0, $t7, $t8 -/* 118768 802AF158 8C430010 */ lw $v1, 0x10($v0) -/* 11876C 802AF15C 8C480014 */ lw $t0, 0x14($v0) -/* 118770 802AF160 8C490018 */ lw $t1, 0x18($v0) -/* 118774 802AF164 846A0000 */ lh $t2, ($v1) -/* 118778 802AF168 846B0004 */ lh $t3, 4($v1) -/* 11877C 802AF16C 85390004 */ lh $t9, 4($t1) -/* 118780 802AF170 850C0000 */ lh $t4, ($t0) -/* 118784 802AF174 850D0004 */ lh $t5, 4($t0) -/* 118788 802AF178 853F0000 */ lh $ra, ($t1) -/* 11878C 802AF17C 0144082A */ slt $at, $t2, $a0 -/* 118790 802AF180 1420000A */ bnez $at, .L802AF1AC -/* 118794 802AF184 A7B90028 */ sh $t9, 0x28($sp) -/* 118798 802AF188 00AA082A */ slt $at, $a1, $t2 -/* 11879C 802AF18C 14200007 */ bnez $at, .L802AF1AC -/* 1187A0 802AF190 0166082A */ slt $at, $t3, $a2 -/* 1187A4 802AF194 14200005 */ bnez $at, .L802AF1AC -/* 1187A8 802AF198 00EB082A */ slt $at, $a3, $t3 -/* 1187AC 802AF19C 54200004 */ bnel $at, $zero, .L802AF1B0 -/* 1187B0 802AF1A0 0184082A */ slt $at, $t4, $a0 -/* 1187B4 802AF1A4 10000057 */ b .L802AF304 -/* 1187B8 802AF1A8 24020001 */ li $v0, 1 -.L802AF1AC: -/* 1187BC 802AF1AC 0184082A */ slt $at, $t4, $a0 -.L802AF1B0: -/* 1187C0 802AF1B0 14200009 */ bnez $at, .L802AF1D8 -/* 1187C4 802AF1B4 00AC082A */ slt $at, $a1, $t4 -/* 1187C8 802AF1B8 14200007 */ bnez $at, .L802AF1D8 -/* 1187CC 802AF1BC 01A6082A */ slt $at, $t5, $a2 -/* 1187D0 802AF1C0 14200005 */ bnez $at, .L802AF1D8 -/* 1187D4 802AF1C4 00ED082A */ slt $at, $a3, $t5 -/* 1187D8 802AF1C8 54200004 */ bnel $at, $zero, .L802AF1DC -/* 1187DC 802AF1CC 03E4082A */ slt $at, $ra, $a0 -/* 1187E0 802AF1D0 1000004C */ b .L802AF304 -/* 1187E4 802AF1D4 24020001 */ li $v0, 1 -.L802AF1D8: -/* 1187E8 802AF1D8 03E4082A */ slt $at, $ra, $a0 -.L802AF1DC: -/* 1187EC 802AF1DC 1420000A */ bnez $at, .L802AF208 -/* 1187F0 802AF1E0 00BF082A */ slt $at, $a1, $ra -/* 1187F4 802AF1E4 14200008 */ bnez $at, .L802AF208 -/* 1187F8 802AF1E8 87AE0028 */ lh $t6, 0x28($sp) -/* 1187FC 802AF1EC 01C6082A */ slt $at, $t6, $a2 -/* 118800 802AF1F0 14200005 */ bnez $at, .L802AF208 -/* 118804 802AF1F4 00EE082A */ slt $at, $a3, $t6 -/* 118808 802AF1F8 54200004 */ bnel $at, $zero, .L802AF20C -/* 11880C 802AF1FC A7BF002A */ sh $ra, 0x2a($sp) -/* 118810 802AF200 10000040 */ b .L802AF304 -/* 118814 802AF204 24020001 */ li $v0, 1 -.L802AF208: -/* 118818 802AF208 A7BF002A */ sh $ra, 0x2a($sp) -.L802AF20C: -/* 11881C 802AF20C AFAA0010 */ sw $t2, 0x10($sp) -/* 118820 802AF210 AFAB0014 */ sw $t3, 0x14($sp) -/* 118824 802AF214 AFAC0018 */ sw $t4, 0x18($sp) -/* 118828 802AF218 AFAD001C */ sw $t5, 0x1c($sp) -/* 11882C 802AF21C A7A4003A */ sh $a0, 0x3a($sp) -/* 118830 802AF220 A7A5003E */ sh $a1, 0x3e($sp) -/* 118834 802AF224 A7A60042 */ sh $a2, 0x42($sp) -/* 118838 802AF228 A7A70046 */ sh $a3, 0x46($sp) -/* 11883C 802AF22C A7AA0032 */ sh $t2, 0x32($sp) -/* 118840 802AF230 A7AB0030 */ sh $t3, 0x30($sp) -/* 118844 802AF234 A7AC002E */ sh $t4, 0x2e($sp) -/* 118848 802AF238 0C0ABB87 */ jal func_802AEE1C -/* 11884C 802AF23C A7AD002C */ sh $t5, 0x2c($sp) -/* 118850 802AF240 24010001 */ li $at, 1 -/* 118854 802AF244 87A4003A */ lh $a0, 0x3a($sp) -/* 118858 802AF248 87A5003E */ lh $a1, 0x3e($sp) -/* 11885C 802AF24C 87A60042 */ lh $a2, 0x42($sp) -/* 118860 802AF250 87A70046 */ lh $a3, 0x46($sp) -/* 118864 802AF254 87AA0032 */ lh $t2, 0x32($sp) -/* 118868 802AF258 87AB0030 */ lh $t3, 0x30($sp) -/* 11886C 802AF25C 87AC002E */ lh $t4, 0x2e($sp) -/* 118870 802AF260 87AD002C */ lh $t5, 0x2c($sp) -/* 118874 802AF264 14410003 */ bne $v0, $at, .L802AF274 -/* 118878 802AF268 87BF002A */ lh $ra, 0x2a($sp) -/* 11887C 802AF26C 10000025 */ b .L802AF304 -/* 118880 802AF270 24020001 */ li $v0, 1 -.L802AF274: -/* 118884 802AF274 87AF0028 */ lh $t7, 0x28($sp) -/* 118888 802AF278 AFBF0018 */ sw $ra, 0x18($sp) -/* 11888C 802AF27C A7BF002A */ sh $ra, 0x2a($sp) -/* 118890 802AF280 AFAC0010 */ sw $t4, 0x10($sp) -/* 118894 802AF284 AFAD0014 */ sw $t5, 0x14($sp) -/* 118898 802AF288 A7A4003A */ sh $a0, 0x3a($sp) -/* 11889C 802AF28C A7A5003E */ sh $a1, 0x3e($sp) -/* 1188A0 802AF290 A7A60042 */ sh $a2, 0x42($sp) -/* 1188A4 802AF294 A7A70046 */ sh $a3, 0x46($sp) -/* 1188A8 802AF298 A7AA0032 */ sh $t2, 0x32($sp) -/* 1188AC 802AF29C A7AB0030 */ sh $t3, 0x30($sp) -/* 1188B0 802AF2A0 0C0ABB87 */ jal func_802AEE1C -/* 1188B4 802AF2A4 AFAF001C */ sw $t7, 0x1c($sp) -/* 1188B8 802AF2A8 24010001 */ li $at, 1 -/* 1188BC 802AF2AC 87A4003A */ lh $a0, 0x3a($sp) -/* 1188C0 802AF2B0 87A5003E */ lh $a1, 0x3e($sp) -/* 1188C4 802AF2B4 87A60042 */ lh $a2, 0x42($sp) -/* 1188C8 802AF2B8 87A70046 */ lh $a3, 0x46($sp) -/* 1188CC 802AF2BC 87AA0032 */ lh $t2, 0x32($sp) -/* 1188D0 802AF2C0 87AB0030 */ lh $t3, 0x30($sp) -/* 1188D4 802AF2C4 14410003 */ bne $v0, $at, .L802AF2D4 -/* 1188D8 802AF2C8 87BF002A */ lh $ra, 0x2a($sp) -/* 1188DC 802AF2CC 1000000D */ b .L802AF304 -/* 1188E0 802AF2D0 24020001 */ li $v0, 1 -.L802AF2D4: -/* 1188E4 802AF2D4 87B80028 */ lh $t8, 0x28($sp) -/* 1188E8 802AF2D8 AFBF0010 */ sw $ra, 0x10($sp) -/* 1188EC 802AF2DC AFAA0018 */ sw $t2, 0x18($sp) -/* 1188F0 802AF2E0 AFAB001C */ sw $t3, 0x1c($sp) -/* 1188F4 802AF2E4 0C0ABB87 */ jal func_802AEE1C -/* 1188F8 802AF2E8 AFB80014 */ sw $t8, 0x14($sp) -/* 1188FC 802AF2EC 24010001 */ li $at, 1 -/* 118900 802AF2F0 54410004 */ bnel $v0, $at, .L802AF304 -/* 118904 802AF2F4 00001025 */ move $v0, $zero -/* 118908 802AF2F8 10000002 */ b .L802AF304 -/* 11890C 802AF2FC 24020001 */ li $v0, 1 -/* 118910 802AF300 00001025 */ move $v0, $zero -.L802AF304: -/* 118914 802AF304 8FBF0024 */ lw $ra, 0x24($sp) -/* 118918 802AF308 27BD0038 */ addiu $sp, $sp, 0x38 -/* 11891C 802AF30C 03E00008 */ jr $ra -/* 118920 802AF310 00000000 */ nop diff --git a/data/data_0DD0A0_1_1.s b/data/data_0DD0A0_1_1.s index 2879a7977..5d04dbf88 100644 --- a/data/data_0DD0A0_1_1.s +++ b/data/data_0DD0A0_1_1.s @@ -126,7 +126,7 @@ glabel D_800DDE74 .word 0x00000000 glabel D_800DDE9C -.word 0x41100000, 0x40e00000, 0x40a00000 +.float 9.0, 7.0, 5.0 .word 0x00000000, 0x00000000 diff --git a/include/common_structs.h b/include/common_structs.h index 56644bc01..8637e23e4 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -232,8 +232,8 @@ typedef struct { /* 0x0042 */ s16 unk_042; /* 0x0044 */ s16 unk_044; /* 0x0046 */ u16 unk_046; - /* 0x0048 */ Vec3s unk_048; - /* 0x004E */ char unk_04E[0xA]; + /* 0x0048 */ Vec4s unk_048; + /* 0x0050 */ Vec4s unk_050; /* 0x0058 */ f32 unk_058; /* 0x005C */ f32 unk_05C; /* 0x0060 */ f32 unk_060; @@ -271,14 +271,8 @@ typedef struct { /* 0x00C6 */ s16 unk_0C6; /* 0x00C8 */ s16 unk_0C8; /* 0x00CA */ s16 unk_0CA; - /* 0x00CC */ s16 unk_0CC; - /* 0x00CE */ s16 unk_0CE; - /* 0x00D0 */ s16 unk_0D0; - /* 0x00D2 */ s16 unk_0D2; - /* 0x00D4 */ s16 unk_0D4; - /* 0x00D6 */ s16 unk_0D6; - /* 0x00D8 */ s16 unk_0D8; - /* 0x00DA */ s16 unk_0DA; + /* 0x00CC */ Vec4s unk_0CC; + /* 0x00D4 */ Vec4s unk_0D4; /* 0x00DC */ s16 boostTimer; /* 0x00DE */ u16 unk_0DE; /* 0x00E0 */ s16 unk_0E0; diff --git a/include/objects.h b/include/objects.h index 16992c750..83ffe9148 100644 --- a/include/objects.h +++ b/include/objects.h @@ -27,7 +27,7 @@ typedef struct /* 0x64 */ s8 *unk_064; /* 0x68 */ s32 *unk_068; /* 0x6C */ s8 *unk_06C; - /* 0x70 */ s32 unk_070; + /* 0x70 */ Gfx *unk_070; // For at least 1 object type this is meant to be a Vtx*. See func_800555BC /* 0x74 */ Vtx *unk_074; /* 0x78 */ s8 unk_078[0x04]; diff --git a/include/waypoints.h b/include/waypoints.h index 9a2e58eca..80c80423e 100644 --- a/include/waypoints.h +++ b/include/waypoints.h @@ -41,6 +41,10 @@ extern s16 D_80162FCE; extern s32 D_80163448; // Shadows values from gPathIndexByPlayerId, but is an array extern u16 D_80165310[]; +// Shadows values from gNearestWaypointByPlayerId, but is an array +extern u16 D_80165320[]; +// Don't think this really belongs with waypoint stuff, but don't know where else to put it +extern s16 D_80165330[]; // Shadows values from D_80164560 extern struct TrackWayPoint *D_801631D0; // Shadows values from D_80164570 diff --git a/src/actors.c b/src/actors.c index 253959953..e0731f97a 100644 --- a/src/actors.c +++ b/src/actors.c @@ -16,6 +16,7 @@ #include "code_80071F00.h" #include "code_8008C1D0.h" #include +#include "audio/external.h" s32 D_802BA050; s32 D_802BA054; diff --git a/src/actors.h b/src/actors.h index 885f19c22..982428926 100644 --- a/src/actors.h +++ b/src/actors.h @@ -112,7 +112,6 @@ void update_simple_objects(); // audio/external.c extern void func_800C98B8(Vec3f, Vec3f, u32); -extern void func_800C90F4(u8, uintptr_t); extern void func_800C99E0(Vec3f, s32); extern void func_800C9D80(Vec3f, Vec3f, u32); diff --git a/src/actors_extended.c b/src/actors_extended.c index 2164310ad..2aacbe3c7 100644 --- a/src/actors_extended.c +++ b/src/actors_extended.c @@ -5,9 +5,11 @@ #include "math_util.h" #include "memory.h" #include "waypoints.h" +#include "code_80005FD0.h" #include "code_80091750.h" #include "actors.h" #include "actors_extended.h" +#include "audio/external.h" void func_802B0210(UnkActorInner *arg0, UnkActorInner *arg1) { arg1->unk30 = arg0->unk30; diff --git a/src/actors_extended.h b/src/actors_extended.h index f0e0eafcd..dab0ddd40 100644 --- a/src/actors_extended.h +++ b/src/actors_extended.h @@ -38,15 +38,8 @@ void update_obj_red_blue_shell(struct ShellActor*); void func_802B4E30(struct Actor*); // audio/external.c -extern void func_800C9060(u8, s32); -extern void func_800C90F4(u8, u32); extern void func_800CAB4C(u8); -// code_80005FD0.c -s32 func_8000ED80(s32); -s32 func_8000EDC8(s32); -s32 func_8000EE10(s32); - extern f32 D_802B9F68; extern s16 gPlayerBalloonCount[]; diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index d062fdf09..764605f24 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -936,9 +936,9 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_800070F4.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de +//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c extern ? D_801643D8; -extern s32 D_801643E0; +extern ? D_801643E0; void func_800074D4(void) { ? *var_v0_4; @@ -963,8 +963,6 @@ void func_800074D4(void) { f32 temp_f0_2; f32 temp_f0_3; f32 temp_f0_4; - f32 temp_f12; - f32 temp_f12_2; f32 temp_f2; f32 temp_f2_2; f32 temp_f2_3; @@ -1121,9 +1119,8 @@ block_41: temp_t0_2 = &sp68[0] + var_v1; if (temp_f0_2 < temp_f2_2) { temp_s0_2 = *temp_v0_2; - temp_f12 = temp_f0_2; *temp_a0 = temp_f2_2; - var_t4->unk0 = temp_f12; + var_t4->unk0 = temp_f0_2; *temp_v0_2 = *temp_t0_2; *temp_t0_2 = temp_s0_2; } @@ -1181,9 +1178,8 @@ block_55: temp_t0_5 = &sp68[0] + var_v1_2; if (temp_f0_4 < temp_f2_5) { temp_s0_5 = *temp_v0_5; - temp_f12_2 = temp_f0_4; *temp_a0_2 = temp_f2_5; - var_t4_2->unk0 = temp_f12_2; + var_t4_2->unk0 = temp_f0_4; *temp_v0_5 = *temp_t0_5; *temp_t0_5 = temp_s0_5; } diff --git a/src/code_8001F980.c b/src/code_8001F980.c index 9df04d96c..85382bb02 100644 --- a/src/code_8001F980.c +++ b/src/code_8001F980.c @@ -9,6 +9,7 @@ #include "main.h" #include "functions.h" #include "kart_dma.h" +#include "objects.h" #include "code_8001F980.h" #include "code_80057C60.h" #include "framebuffers.h" @@ -516,37 +517,24 @@ void func_80021244(Player *player, s8 arg1, s8 arg2) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_80020524(Player **, s8, s8); /* extern */ -extern u16 gFramebuffer0; -extern u16 gFramebuffer1; -extern u16 gFramebuffer2; -static ? *D_800DDB58[4] = { NULL, &gFramebuffer0, &gFramebuffer1, &gFramebuffer2 }; -static ? D_800DDB68; /* unable to generate initializer */ -static ? D_800DDB88; /* unable to generate initializer */ +#ifdef NEEDS_RODATA +// Arrays are from data/data_0DD0A0_1_1.s +// Array contents are found in data/data_0DD0A0_3.s +extern char *D_800DDB68[8];// <- sp3C +extern char *D_800DDB88[8];// <- sp1C void func_800212B4(void) { - ? sp3C; - ? sp1C; + s32 stackPadding0; + char *sp3C[8] = { + "S_MARIO", "S_LUIZI", "S_YOSSY", "S_KINOP", + "S_DONKY", "S_WARIO", "S_PEACH", "S_KUPPA", + }; + char *sp1C[8] = { + "J_MARIO", "J_LUIZI", "J_YOSSY", "J_KINOP", + "J_DONKY", "J_WARIO", "J_PEACH", "J_KUPPA", + }; - sp3C.unk0 = (s32) D_800DDB68.unk0; - sp3C.unk4 = (s32) D_800DDB68.unk4; - sp3C.unkC = (s32) D_800DDB68.unkC; - sp3C.unk8 = (s32) D_800DDB68.unk8; - sp3C.unk10 = (s32) D_800DDB68.unk10; - sp3C.unk14 = (s32) D_800DDB68.unk14; - sp3C.unk1C = (s32) D_800DDB68.unk1C; - sp3C.unk18 = (s32) D_800DDB68.unk18; - sp1C.unk0 = (s32) D_800DDB88.unk0; - sp1C.unk4 = (s32) D_800DDB88.unk4; - sp1C.unk8 = (s32) D_800DDB88.unk8; - sp1C.unkC = (s32) D_800DDB88.unkC; - sp1C.unk10 = (s32) D_800DDB88.unk10; - sp1C.unk14 = (s32) D_800DDB88.unk14; - sp1C.unk18 = (s32) D_800DDB88.unk18; - sp1C.unk1C = (s32) D_800DDB88.unk1C; - *D_800DDB58 = NULL; + D_800DDB58 = 0; func_80020000(gPlayerOneCopy, camera1, 0U, 0U); func_80020000(gPlayerTwo, camera1, 1U, 0U); func_80020000(gPlayerThree, camera1, 2U, 0U); @@ -567,8 +555,8 @@ void func_800212B4(void) { func_80021244(gPlayerSeven, 6U, 0U); func_80021244(gPlayerEight, 7U, 0U); } - if (*D_800DDB58 != NULL) { - func_80020524(&gPlayerOneCopy, 0, 0); + if (D_800DDB58 != 0) { + func_80020524(); } else { func_8006E5AC(gPlayerOneCopy, 0, 0); func_8006E5AC(gPlayerTwo, 1, 0); @@ -581,7 +569,7 @@ void func_800212B4(void) { func_8006E5AC(gPlayerEight, 7, 0); } } - *D_800DDB58 = NULL; + D_800DDB58 = 0; } #else GLOBAL_ASM("asm/non_matchings/code_8001F980/func_800212B4.s") @@ -626,8 +614,6 @@ void func_800215DC(void) { D_800DDB58 = 0; } -void func_8006E6BC(Player*, s8, s8); // extern - void func_8002186C(void) { D_800DDB58 = 0; func_80020000(gPlayerOneCopy, camera3, 0, 2); @@ -670,17 +656,7 @@ void func_800219BC(void) { D_800DDB58 = 0; } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_80024374(Player *, ?, ?); /* extern */ -extern s32 gGamestate; - void func_80021B0C(void) { - Player *temp_a0; - Player *temp_a0_2; - Player *temp_a0_3; - Player *temp_a0_4; - func_8006E7CC(gPlayerOneCopy, 0, 0); func_8006E7CC(gPlayerTwo, 1, 0); func_8006E7CC(gPlayerThree, 2, 0); @@ -692,27 +668,20 @@ void func_80021B0C(void) { func_8006E7CC(gPlayerEight, 7, 0); } if (gGamestate == 5) { - temp_a0 = gPlayerOne; - if (temp_a0->unk_044 & 0x2000) { - func_80024374(temp_a0, 0, 0); + if (gPlayerOne->unk_044 & 0x2000) { + func_80024374(gPlayerOne, 0, 0); } - temp_a0_2 = gPlayerTwo; - if (temp_a0_2->unk_044 & 0x2000) { - func_80024374(temp_a0_2, 1, 0); + if (gPlayerTwo->unk_044 & 0x2000) { + func_80024374(gPlayerTwo, 1, 0); } - temp_a0_3 = gPlayerThree; - if (temp_a0_3->unk_044 & 0x2000) { - func_80024374(temp_a0_3, 2, 0); + if (gPlayerThree->unk_044 & 0x2000) { + func_80024374(gPlayerThree, 2, 0); } - temp_a0_4 = gPlayerFour; - if (temp_a0_4->unk_044 & 0x2000) { - func_80024374(temp_a0_4, 3, 0); + if (gPlayerFour->unk_044 & 0x2000) { + func_80024374(gPlayerFour, 3, 0); } } } -#else -GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80021B0C.s") -#endif void func_80021C78(void) { func_8006E848(gPlayerOneCopy, 0, 1); @@ -1399,181 +1368,56 @@ void func_80023C84(Player *player, s8 arg1, s8 arg2) { gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -extern Gfx D_0D008C78; -extern Gfx D_0D008D58; -extern s32 D_80165C20; -extern u32 D_8018D474; -static f32 D_800DDBD4[8] = { 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 0.75f }; -static ? D_800DDE9C; /* unable to generate initializer */ -static Vtx D_800E51D0; /* unable to generate initializer */ -static ? D_800E5210; /* unable to generate initializer */ +#ifdef NEEDS_RODATA +// data/data_0DD0A0_2_0.s +extern Vec3f D_800DDE9C;// = { 9.0f, 7.0f, 5.0f }; void func_80024374(Player *player, s8 arg1, s8 arg2) { - f32 spD4; - f32 spD0; - f32 spCC; - s16 spC8; - s16 spC6; - s16 spC4; + Mat4 sp118; + Mat4 pad; + Vec3f spCC; + Vec3s spC4; + s16 temp_t9; s16 spC0; + Vec3f stackPadding0; f32 spB0; f32 spAC; - ? sp94; - f32 sp30; - Gfx *temp_v0_10; - Gfx *temp_v0_11; - Gfx *temp_v0_12; - Gfx *temp_v0_13; - Gfx *temp_v0_14; - Gfx *temp_v0_15; - Gfx *temp_v0_16; - Gfx *temp_v0_17; - Gfx *temp_v0_18; - Gfx *temp_v0_19; - Gfx *temp_v0_20; - Gfx *temp_v0_21; - Gfx *temp_v0_22; - Gfx *temp_v0_23; - Gfx *temp_v0_24; - Gfx *temp_v0_25; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - Gfx *temp_v0_9; - f32 temp_f18; - s16 temp_v0; - s16 temp_v1; - s32 temp_s0; - s32 temp_s0_2; - s32 temp_t9; + Vec3f stackPadding1; + Vec3f sp94 = { 9.0f, 7.0f, 5.0f }; - sp94.unk0 = (s32) D_800DDE9C.unk0; - sp94.unk4 = (s32) D_800DDE9C.unk4; - sp94.unk8 = (s32) D_800DDE9C.unk8; - temp_v0 = player->unk_02E; - temp_v1 = player->unk_0C0; - temp_t9 = (((s32) ((temp_v0 + (player + (arg2 * 2))->unk48 + temp_v1) & 0xFFFF) / 128) << 7) & 0xFFFF; - spC0 = -temp_v0 - temp_v1; - spB0 = -coss(temp_t9 & 0xFFFF) * 3.0f; - temp_f18 = -sins(temp_t9 & 0xFFFF) * 3.0f; - spC4 = 0; - temp_s0 = spC0 & 0xFFFF; - spC8 = 0; - spC6 = spC0; - spAC = temp_f18; - sp30 = sins(temp_s0 & 0xFFFF); - spCC = (coss(temp_s0 & 0xFFFF) * spAC) + (spB0 * sp30) + player->pos[0]; - sp30 = coss(temp_s0 & 0xFFFF); - spD4 = ((spB0 * sp30) - (sins(temp_s0 & 0xFFFF) * temp_f18)) + player->pos[2]; - spD0 = (sp + (arg1 * 4))->unk94 + *(&D_80165C20 + (D_80183EA0[arg1] * 0xE0)); - func_80021E10((f32 (*)[4]) &sp118[0], &spCC, &spC4); - func_80021F84((f32 (*)[4]) &sp118[0], D_800DDBD4[player->characterId] * player->unk_224); - temp_s0_2 = arg2 << 9; - func_80022180(&gGfxPool->mtxPool[arg1] + temp_s0_2 + 0xEAC0, (f32 (*)[4]) &sp118[0]); - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w0 = 0x01020040; - temp_v0_2->words.w1 = (s32) (&gGfxPool->mtxPool[arg1] + temp_s0_2 + 0xEAC0) & 0x1FFFFFFF; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w1 = (u32) &D_0D008D58; - temp_v0_3->words.w0 = 0x06000000; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = 0; - temp_v0_4->words.w0 = 0xBA000E02; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w0 = 0xFD900000; - temp_v0_5->words.w1 = D_8018D474; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w1 = 0x07080200; - temp_v0_6->words.w0 = 0xF5900000; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w1 = 0; - temp_v0_7->words.w0 = 0xE6000000; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - temp_v0_8->words.w1 = 0x073FF100; - temp_v0_8->words.w0 = 0xF3000000; - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->words.w1 = 0; - temp_v0_9->words.w0 = 0xE7000000; - temp_v0_10 = gDisplayListHead; - gDisplayListHead = temp_v0_10 + 8; - temp_v0_10->words.w0 = 0xF5881000; - temp_v0_10->words.w1 = 0x00080200; - temp_v0_11 = gDisplayListHead; - gDisplayListHead = temp_v0_11 + 8; - temp_v0_11->words.w0 = 0xF2000000; - temp_v0_11->words.w1 = 0x000FC07C; + temp_t9 = (u16)(player->unk_048[arg2] + player->unk_02C[1] + player->unk_0C0) / 128; + spC0 = -player->unk_02C[1] - player->unk_0C0; + + spB0 = -coss(temp_t9 << 7) * 3; + spAC = -sins(temp_t9 << 7) * 3; + + spC4[0] = 0; + spC4[1] = spC0; + spC4[2] = 0; + + spCC[0] = player->pos[0] + ((spB0 * sins(spC0)) + (spAC * coss(spC0))); + spCC[2] = player->pos[2] + ((spB0 * coss(spC0)) - (spAC * sins(spC0))); + spCC[1] = D_80165C18[D_80183EA0[arg1]].unk_004[1] + sp94[arg1]; + + func_80021E10(sp118, spCC, spC4); + func_80021F84(sp118, D_800DDBD4[player->characterId] * player->unk_224); + func_80022180(&gGfxPool->mtxPool[arg1 + (arg2 << 3) + 0x3AB], sp118); + gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[arg1 + (arg2 << 3) + 0x3AB]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gDisplayListHead++, D_0D008D58); + gDPSetTextureLUT(gDisplayListHead++, G_TT_NONE); + gDPLoadTextureBlock(gDisplayListHead++, D_8018D474, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B414(0, 0, 0, 0x000000D0); - temp_v0_12 = gDisplayListHead; - gDisplayListHead = temp_v0_12 + 8; - temp_v0_12->words.w0 = 0xB900031D; - temp_v0_12->words.w1 = 0x00504B50; - temp_v0_13 = gDisplayListHead; - gDisplayListHead = temp_v0_13 + 8; - temp_v0_13->words.w1 = (u32) &D_800E51D0; - temp_v0_13->words.w0 = 0x0400103F; - temp_v0_14 = gDisplayListHead; - gDisplayListHead = temp_v0_14 + 8; - temp_v0_14->words.w1 = (u32) &D_0D008C78; - temp_v0_14->words.w0 = 0x06000000; - temp_v0_15 = gDisplayListHead; - gDisplayListHead = temp_v0_15 + 8; - temp_v0_15->words.w0 = 0xFD900000; - temp_v0_15->words.w1 = D_8018D474 + 0x800; - temp_v0_16 = gDisplayListHead; - gDisplayListHead = temp_v0_16 + 8; - temp_v0_16->words.w1 = 0x07080200; - temp_v0_16->words.w0 = 0xF5900000; - temp_v0_17 = gDisplayListHead; - gDisplayListHead = temp_v0_17 + 8; - temp_v0_17->words.w1 = 0; - temp_v0_17->words.w0 = 0xE6000000; - temp_v0_18 = gDisplayListHead; - gDisplayListHead = temp_v0_18 + 8; - temp_v0_18->words.w1 = 0x073FF100; - temp_v0_18->words.w0 = 0xF3000000; - temp_v0_19 = gDisplayListHead; - gDisplayListHead = temp_v0_19 + 8; - temp_v0_19->words.w1 = 0; - temp_v0_19->words.w0 = 0xE7000000; - temp_v0_20 = gDisplayListHead; - gDisplayListHead = temp_v0_20 + 8; - temp_v0_20->words.w0 = 0xF5881000; - temp_v0_20->words.w1 = 0x00080200; - temp_v0_21 = gDisplayListHead; - gDisplayListHead = temp_v0_21 + 8; - temp_v0_21->words.w0 = 0xF2000000; - temp_v0_21->words.w1 = 0x000FC07C; + gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); + gSPVertex(gDisplayListHead++, &D_800E51D0[0], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D008C78); + gDPLoadTextureBlock(gDisplayListHead++, (D_8018D474 + SOME_TEXTURE_POINTER_MATH), G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, + G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); func_8004B414(0, 0, 0, 0x000000D0); - temp_v0_22 = gDisplayListHead; - gDisplayListHead = temp_v0_22 + 8; - temp_v0_22->words.w0 = 0xB900031D; - temp_v0_22->words.w1 = 0x00504B50; - temp_v0_23 = gDisplayListHead; - gDisplayListHead = temp_v0_23 + 8; - temp_v0_23->words.w1 = (u32) &D_800E5210; - temp_v0_23->words.w0 = 0x0400103F; - temp_v0_24 = gDisplayListHead; - gDisplayListHead = temp_v0_24 + 8; - temp_v0_24->words.w1 = (u32) &D_0D008C78; - temp_v0_24->words.w0 = 0x06000000; - temp_v0_25 = gDisplayListHead; - gDisplayListHead = temp_v0_25 + 8; - temp_v0_25->words.w1 = 0x00010001; - temp_v0_25->words.w0 = 0xBB000000; + gDPSetRenderMode(gDisplayListHead++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2); + gSPVertex(gDisplayListHead++, &D_800E5210[0], 4, 0); + gSPDisplayList(gDisplayListHead++, D_0D008C78); + gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } #else GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80024374.s") @@ -2606,15 +2450,12 @@ GLOBAL_ASM("asm/non_matchings/code_8001F980/func_800262E0.s") #endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_80023BF0(Player *, s8, s8, s8); // extern -void func_80023C84(Player *, s8, s8); // extern -void func_800248D0(Player *, s8, s8, s8); // extern -void func_800256F4(Player *, s8, s8, s8); // extern -void func_80025DE8(Player *, s8, s8, s8); // extern -void func_800262E0(Player *, s8, s8, s8); // extern -void func_80026B4C(s8, s8, s8); // extern -extern OSMesgQueue gDmaMesgQueue; +//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c +? func_800248D0(Player *, s8, s8, s8); /* extern */ +? func_800256F4(Player *, s8, s8, s8); /* extern */ +? func_80025DE8(Player *, s8, s8, s8); /* extern */ +? func_800262E0(Player *, s8, s8, s8); /* extern */ +? func_80026B4C(s8, s8, s8); /* extern */ extern ? D_801651D1; void func_800267AC(Player *player, s8 arg1, s8 arg2) { @@ -2624,21 +2465,21 @@ void func_800267AC(Player *player, s8 arg1, s8 arg2) { s32 sp28; s32 temp_t1; s32 temp_v0; - s8 phi_v1; + s8 var_v1; func_80026B4C(arg1, arg2, *(&D_801651D1 + ((arg2 * 0x10) + (arg1 * 2)))); temp_v0 = arg2 * 4; - if ((player->unk_002 & (4 << temp_v0)) == 0) { - phi_v1 = 0; + if (!(player->unk_002 & (4 << temp_v0))) { + var_v1 = 0; } else { - phi_v1 = 8; + var_v1 = 8; } - sp2C = phi_v1; + sp2C = (s32) var_v1; sp30 = temp_v0; - func_80023BF0(player, arg1, arg2, phi_v1); + func_80023BF0(player, arg1, arg2, var_v1); temp_t1 = 8 << temp_v0; sp28 = temp_t1; - if ((temp_t1 == (player->unk_002 & temp_t1)) && (player->unk_124 <= 50.0f) && (player->unk_0F8 != 9)) { + if ((temp_t1 == (player->unk_002 & temp_t1)) && (player->unk_110.unk3C[2] <= 50.0f) && (player->unk_0F8 != 9)) { if ((player->unk_0BC & 0x80000000) == 0x80000000) { if (arg1 == arg2) { func_80023C84(player, arg1, arg2); @@ -2647,17 +2488,17 @@ void func_800267AC(Player *player, s8 arg1, s8 arg2) { func_80023C84(player, arg1, arg2); } } - if ((player->unk_000 & PLAYER_INVISIBLE_OR_BOMB) != PLAYER_INVISIBLE_OR_BOMB) { - func_800248D0(player, arg1, arg2, sp2F); + if ((player->unk_000 & 0x100) != 0x100) { + func_800248D0(player, arg1, arg2, unksp2F); } else { - func_800256F4(player, arg1, arg2, sp2F); + func_800256F4(player, arg1, arg2, unksp2F); } osRecvMesg(&gDmaMesgQueue, &sp34, 1); - if ((sp28 == (player->unk_002 & sp28)) && (player->unk_0F8 == 9) && ((player->unk_0CA & 1) != 1) && (player->unk_124 <= 30.0f)) { - func_800262E0(player, arg1, arg2, sp2F); + if ((sp28 == (player->unk_002 & sp28)) && (player->unk_0F8 == 9) && ((player->unk_0CA & 1) != 1) && (player->unk_110.unk3C[2] <= 30.0f)) { + func_800262E0(player, arg1, arg2, unksp2F); } - if (player->unk_080 >= 2.0f) { - func_80025DE8(player, arg1, arg2, sp2F); + if (player->boostPower >= 2.0f) { + func_80025DE8(player, arg1, arg2, unksp2F); } } #else diff --git a/src/code_8001F980.h b/src/code_8001F980.h index fca0ac9b7..7ebc94035 100644 --- a/src/code_8001F980.h +++ b/src/code_8001F980.h @@ -17,9 +17,11 @@ void func_8002088C(); void func_80020F1C(); void func_80020524(); void func_80021244(Player*, s8, s8); +void func_800212B4(); void func_800215DC(); void func_8002186C(); void func_800219BC(); +void func_80021B0C(); void func_80021C78(); void func_80021D40(); void func_80021DA8(); @@ -50,6 +52,7 @@ void func_800231D8(Player*, s8); void func_800235AC(Player*, s8); void func_80023BF0(Player*, s8, s8, s8); void func_80023C84(Player*, s8, s8); +void func_80024374(Player*, s8, s8); void func_80026A48(Player*, s8); void func_80030A34(Player*); void func_8002701C(); @@ -85,6 +88,7 @@ extern Vtx *D_800DDBB4[]; extern f32 D_800DDBD4[]; extern s32 D_800DDE74[]; extern Vtx D_800E51D0[]; +extern Vtx D_800E5210[]; extern f64 D_800ED680; extern f64 D_800ED688; extern f32 D_800ED6A8; diff --git a/src/code_80027D00.c b/src/code_80027D00.c index c58bf3f46..5037fbce3 100644 --- a/src/code_80027D00.c +++ b/src/code_80027D00.c @@ -8,6 +8,8 @@ #include "code_8001F980.h" #include "code_80027D00.h" #include "code_8008C1D0.h" +#include "waypoints.h" +#include "audio/external.h" // func_80027D00 s32 get_player_index_for_player(Player *player) { @@ -757,7 +759,7 @@ void func_80029200(Player *player, s8 arg1) { } #ifdef MIPS_TO_C -//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c +//generated by m2c commit 9841ff34ca242f5f14b2eab2b54a7a65ac47d80f static f32 D_800DDBD4[8] = { 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 0.75f, 0.75f }; void func_8002934C(Player *player, Camera *camera, s8 arg2, s8 arg3) { @@ -1206,74 +1208,47 @@ void func_8002A5F4(Vec3f arg0, f32 arg1, Vec3f arg2, f32 arg3, f32 arg4) { GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002A5F4.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800C9060(u8, ?); // extern -void func_800C90F4(?, s32, void *); // extern - -void func_8002A704(void *arg0, u8 arg1) { - s32 temp_a1; - u16 temp_v0; - void *temp_a2; - void *phi_a2; - - temp_v0 = arg0->unk0; - temp_a2 = arg0; - arg0->unkBC = arg0->unkBC | 0x2000; - arg0->unkC = arg0->unkC & 0xFDFFFFFF; - phi_a2 = temp_a2; - if (((temp_v0 & 0x4000) == 0x4000) && ((temp_v0 & 0x100) != 0x100)) { - temp_a1 = (temp_a2->unk254 * 0x10) + 0x29008001; - arg0 = temp_a2; - func_800C90F4(0, temp_a1, temp_a2); - func_800C9060(arg1, 0x1900A40B); - phi_a2 = arg0; +void func_8002A704(Player *player, s8 arg1) { + player->unk_0BC |= 0x2000; + player->statusEffects &= ~0x02000000; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800C90F4(0U, (player->characterId * 0x10) + 0x29008001); + func_800C9060(arg1, 0x1900A40BU); } - phi_a2->unkDC = 0x50; + player->boostTimer = 0x0050; } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002A704.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800C9250(s32, s8, s32); // extern +//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c +? func_800C9250(s32, s8, s32); /* extern */ -void func_8002A79C(void *arg0, s8 arg1) { +void func_8002A79C(Player *player, s8 arg1) { s32 temp_v0; s32 temp_v1; u16 temp_v0_2; - temp_v0 = arg0->unkBC; + temp_v0 = player->unk_0BC; temp_v1 = temp_v0 & 0x100; - if ((temp_v1 != 0x100) && ((temp_v0 & 0x10) != 0x10) && (arg0->unk22A >= 2)) { - arg0->unkBC = temp_v0 | 0x100; - arg0->unk23A = 0; - arg0->unk22A = 0; - arg0->unk228 = 0; + if ((temp_v1 != 0x100) && ((temp_v0 & 0x10) != 0x10) && (player->unk_22A >= 2)) { + player->unk_0BC = temp_v0 | 0x100; + player->unk_23A = 0; + player->unk_22A = 0; + player->unk_228 = 0; if (D_8015F890 != 1) { - temp_v0_2 = arg0->unk0; - if (((temp_v0_2 & 0x4000) != 0) && ((temp_v0_2 & 0x100) == 0)) { + temp_v0_2 = player->unk_000; + if ((temp_v0_2 & 0x4000) && !(temp_v0_2 & 0x100)) { func_800C9250(arg1 & 0xFF, arg1, 0x100); - return; } - // Duplicate return node #12. Try simplifying control flow for better match - return; - } - if (arg0 == gPlayerOne) { + } else if (player == gPlayerOne) { func_800C9250(arg1 & 0xFF, arg1, 0x100); - return; } - // Duplicate return node #12. Try simplifying control flow for better match - return; - } - if (temp_v1 == 0x100) { - arg0->unk23A = arg0->unk23A + 1; - if (arg0->unk23A >= 0x1F) { - arg0->unk23A = 0; - arg0->unkBC = arg0->unkBC & ~0x100; - arg0->unk22A = 0; - arg0->unk228 = 0; + } else if (temp_v1 == 0x100) { + player->unk_23A += 1; + if (player->unk_23A >= 0x1F) { + player->unk_23A = 0; + player->unk_0BC &= ~0x100; + player->unk_22A = 0; + player->unk_228 = 0; } } } @@ -1281,75 +1256,49 @@ void func_8002A79C(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002A79C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -void func_800C9060(s32, ?, s8); // extern - -void func_8002A8A4(void *arg0, s8 arg1) { - s16 temp_v0; - s16 temp_v0_2; - s16 temp_v0_3; - s16 temp_v0_4; - s16 temp_v1; - s16 temp_v1_2; - - if ((arg0->unkC0 / 0xB6) > 0) { - if ((arg0->unk7C >> 0x10) < -9) { - temp_v0 = arg0->unk228; - if (temp_v0 < 0x65) { - arg0->unk228 = temp_v0 + 1; +void func_8002A8A4(Player *player, s8 arg1) { + if (((s16) player->unk_0C0 / 182) > 0) { + if (((s32) player->unk_07C >> 0x10) < -9) { + if (player->unk_228 < 0x65) { + player->unk_228++; } - if ((arg0->unk228 == 0x64) && ((arg0->unk0 & 0x4000) != 0)) { - func_800C9060(arg1 & 0xFF, 0x1900851E, arg1); - return; + if ((player->unk_228 == 0x0064) && (player->unk_000 & 0x4000)) { + func_800C9060(arg1, 0x1900851EU); } - // Duplicate return node #30. Try simplifying control flow for better match - return; - } - temp_v0_2 = arg0->unk228; - if ((temp_v0_2 >= 0x12) && (temp_v0_2 < 0x64)) { - temp_v1 = arg0->unk22A; - if (temp_v1 < 3) { - arg0->unk22A = temp_v1 + 1; + } else { + if ((player->unk_228 >= 0x12) && (player->unk_228 < 0x64)) { + if (player->unk_22A < 3) { + player->unk_22A++; + } + } + if ((player->unk_228 >= 0xA) && (player->unk_228 < 0x64)) { + player->unk_228 = 0x000A; + } else { + player->unk_228 = 0; + player->unk_22A = 0; } } - if ((arg0->unk228 >= 0xA) && (arg0->unk228 < 0x64)) { - arg0->unk228 = 0xA; - return; + } else if (((s32) player->unk_07C >> 0x10) >= 0xA) { + if (player->unk_228 < 0x65) { + player->unk_228++; } - arg0->unk228 = 0; - goto block_29; - } - if ((arg0->unk7C >> 0x10) >= 0xA) { - temp_v0_3 = arg0->unk228; - if (temp_v0_3 < 0x65) { - arg0->unk228 = temp_v0_3 + 1; + if ((player->unk_228 == 0x0064) && (player->unk_000 & 0x4000)) { + func_800C9060(arg1, 0x1900851EU); } - if ((arg0->unk228 == 0x64) && ((arg0->unk0 & 0x4000) != 0)) { - func_800C9060(arg1 & 0xFF, 0x1900851E, arg1); - return; + } else { + if ((player->unk_228 >= 0x12) && (player->unk_228 < 0x64)) { + if (player->unk_22A < 3) { + player->unk_22A++; + } } - // Duplicate return node #30. Try simplifying control flow for better match - return; - } - temp_v0_4 = arg0->unk228; - if ((temp_v0_4 >= 0x12) && (temp_v0_4 < 0x64)) { - temp_v1_2 = arg0->unk22A; - if (temp_v1_2 < 3) { - arg0->unk22A = temp_v1_2 + 1; + if ((player->unk_228 >= 0xA) && (player->unk_228 < 0x64)) { + player->unk_228 = 0x000A; + } else { + player->unk_228 = 0; + player->unk_22A = 0; } } - if ((arg0->unk228 >= 0xA) && (arg0->unk228 < 0x64)) { - arg0->unk228 = 0xA; - return; - } - arg0->unk228 = 0; -block_29: - arg0->unk22A = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002A8A4.s") -#endif void func_8002AA50(Player *player) { player->kartHopJerk = gKartHopJerkTable[player->characterId]; @@ -1461,80 +1410,86 @@ UNUSED void func_8002AE30(void) { } -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b void func_8002AE38(Player *player, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) { - s16 sp2E; - f32 sp28; - f32 sp24; - u16 sp1A; - f32 temp_f16; - f32 temp_f2; - s16 temp_a0; - s16 temp_v0_2; + s32 stackPadding0; + s32 stackPadding1; + s32 stackPadding3; + s32 stackPadding4; s16 temp_v0_3; - s32 temp_lo; - s32 temp_t2; - s32 temp_t9; - s32 temp_v0; - s32 var_t7; + f32 sp28; + f32 temp_f16; + s16 temp_a0; s32 var_v1; - sp28 = (sins(-player->unk_02C[1] & 0xFFFF) * player->unk_094) + arg2; - temp_f2 = player->unk_094; - temp_v0 = player->unk_0BC; - temp_f16 = (coss(-player->unk_02C[1] & 0xFFFF) * temp_f2) + arg3; - if (((temp_v0 & 0x800) != 0x800) && ((temp_v0 & 0x10) != 0x10) && !(player->unk_044 & 0x4000) && ((((temp_f2 / 18.0f) * 216.0f) <= 8.0f) || ((temp_t2 = (s32) player->unk_07C >> 0x10, ((temp_t2 < 5) != 0)) && (temp_t2 >= -4)))) { - if ((temp_v0 & 0x20) == 0x20) { - temp_v0_2 = player->unk_0C0; - var_t7 = (s32) (f32) (temp_v0_2 - (temp_v0_2 / 10)); - goto block_33; + sp28 = (sins(-player->unk_02C[1]) * player->unk_094) + arg2; + temp_f16 = (coss(-player->unk_02C[1]) * player->unk_094) + arg3; + if ( + ((player->unk_0BC & 0x800) != 0x800) && + ((player->unk_0BC & 0x10) != 0x10) && + !(player->unk_044 & 0x4000) && + ( + (((player->unk_094 / 18.0f) * 216.0f) <= 8.0f) || + ( + ((player->unk_07C >> 0x10) < 5) && + ((player->unk_07C >> 0x10) > -5) + ) + )) { + if ((player->unk_0BC & 0x20) == 0x20) { + player->unk_0C0 = (f32)(player->unk_0C0 - (player->unk_0C0 / 10)); + } else { + temp_v0_3 = player->unk_0C0; + player->unk_0C0 = player->unk_078 * 9; + temp_a0 = player->unk_0C0 - temp_v0_3; + player->unk_0C0 = (f32)(temp_v0_3 + (temp_a0 / 15)); } - temp_a0 = player->unk_0C0; - player->unk_0C0 = player->unk_078 * 9; - player->unk_0C0 = (s16) (s32) (f32) (temp_a0 + ((s16) (player->unk_0C0 - temp_a0) / 15)); - return; - } - temp_v0_3 = player->unk_0C0; - if (D_801652C0[arg1] & 8) { - var_v1 = 2; } else { - var_v1 = 0; - } - if ((player->unk_09C >= 200.0f) && (var_v1 == 2) && ((temp_lo = temp_v0_3 / 182, ((temp_lo < 0x10) == 0)) || (temp_lo < -0xF))) { - sp2E = temp_v0_3; - sp24 = temp_f16; - sp1A = atan2s(arg2 - arg4, arg3 - arg5); - player->unk_0C0 = sp1A - atan2s(arg2 - sp28, arg3 - temp_f16); - } else { - sp2E = temp_v0_3; - sp24 = temp_f16; - sp1A = atan2s(arg2 - arg4, arg3 - arg5); - player->unk_0C0 = (sp1A - atan2s(arg2 - sp28, arg3 - temp_f16)) * 2; - } - if (((player->unk_0BC & 0x10) != 0x10) && (((temp_t9 = (s32) player->unk_07C >> 0x10, (temp_t9 > 0)) && (player->unk_0C0 < 0)) || ((temp_t9 < 0) && (player->unk_0C0 > 0)))) { - if (player->unk_0C0 > 0) { - player->unk_0C0 = player->unk_078 * 0x14; + temp_v0_3 = player->unk_0C0; + if (D_801652C0[arg1] & 8) { + var_v1 = 2; + } else { + var_v1 = 0; } - if (player->unk_0C0 < 0) { - player->unk_0C0 = player->unk_078 * 0x14; + if ((player->unk_09C >= 200.0f) && + (var_v1 == 2) && + ( + ((player->unk_0C0 / 182) >= 0x10) || + ((player->unk_0C0 / 182) < -0xF) + )) { + player->unk_0C0 = atan2s(arg2 - arg4, arg3 - arg5) - atan2s(arg2 - sp28, arg3 - temp_f16); + } else { + player->unk_0C0 = (atan2s(arg2 - arg4, arg3 - arg5) - atan2s(arg2 - sp28, arg3 - temp_f16)) * 2; + } + if (((player->unk_0BC & 0x10) != 0x10) && + ( + ( + ((player->unk_07C >> 0x10) > 0) && + (player->unk_0C0 < 0) + ) || + ( + ((player->unk_07C >> 0x10) < 0) && + (player->unk_0C0 > 0) + ) + )) { + if (player->unk_0C0 > 0) { + player->unk_0C0 = player->unk_078 * 0x14; + } + if (player->unk_0C0 < 0) { + player->unk_0C0 = player->unk_078 * 0x14; + } + temp_a0 = player->unk_0C0 - temp_v0_3; + player->unk_0C0 = (f32)(temp_v0_3 + (temp_a0 / 12)); + } else { + if (player->unk_0C0 >= 0x1C71) { + player->unk_0C0 = 0x1C70; + } + if (player->unk_0C0 < -0x1C70) { + player->unk_0C0 = -0x1C70; + } + temp_a0 = player->unk_0C0 - temp_v0_3; + player->unk_0C0 = (f32)(temp_v0_3 + (temp_a0 / 12)); } - player->unk_0C0 = (s16) (s32) (f32) (temp_v0_3 + ((s16) (player->unk_0C0 - temp_v0_3) / 12)); - return; } - if (player->unk_0C0 >= 0x1C71) { - player->unk_0C0 = 0x1C70; - } - if (player->unk_0C0 < -0x1C70) { - player->unk_0C0 = -0x1C70; - } - var_t7 = (s32) (f32) (temp_v0_3 + ((s16) (player->unk_0C0 - temp_v0_3) / 12)); -block_33: - player->unk_0C0 = (s16) var_t7; } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002AE38.s") -#endif #ifdef NEEDS_RODATA //data_0DD0A0_2.s @@ -1688,85 +1643,33 @@ void func_8002B830(Player *player, s8 arg1, s8 arg2) { } } -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -extern ? D_801653C0; - void func_8002B8A4(Player *player_one, Player *player_two) { - s32 spC; - Player *temp_a1; - Player *temp_a2; - Player *temp_a3; - Player *temp_t0; - Player *temp_t1; - Player *temp_t2; - Player *temp_t3; - Player *temp_v0; s32 var_v1; - temp_v0 = gPlayerOne; - if (player_one == temp_v0) { - spC = 0; - } - temp_a1 = gPlayerTwo; - var_v1 = spC; - if (player_one == temp_a1) { - var_v1 = 1; - } - temp_a2 = gPlayerThree; - if (player_one == temp_a2) { - var_v1 = 2; - } - temp_a3 = gPlayerFour; - if (player_one == temp_a3) { - var_v1 = 3; - } - temp_t0 = gPlayerFive; - if (player_one == temp_t0) { - var_v1 = 4; - } - temp_t1 = gPlayerSix; - if (player_one == temp_t1) { - var_v1 = 5; - } - temp_t2 = gPlayerSeven; - if (player_one == temp_t2) { - var_v1 = 6; - } - temp_t3 = gPlayerEight; - if (player_one == temp_t3) { - var_v1 = 7; - } - *(&D_801653C0 + (var_v1 * 4)) = player_two; - if (player_two == temp_v0) { - var_v1 = 0; - } - if (player_two == temp_a1) { - var_v1 = 1; - } - if (player_two == temp_a2) { - var_v1 = 2; - } - if (player_two == temp_a3) { - var_v1 = 3; - } - if (player_two == temp_t0) { - var_v1 = 4; - } - if (player_two == temp_t1) { - var_v1 = 5; - } - if (player_two == temp_t2) { - var_v1 = 6; - } - if (player_two == temp_t3) { - var_v1 = 7; - } - *(&D_801653C0 + (var_v1 * 4)) = player_one; + /* + if's are being done bracket-less on purpose, + Technically only the `player_one == gPlayerEight` NEEDS to be + bracket-less that looks weird + */ + if (player_one == gPlayerOne) var_v1 = 0; + if (player_one == gPlayerTwo) var_v1 = 1; + if (player_one == gPlayerThree) var_v1 = 2; + if (player_one == gPlayerFour) var_v1 = 3; + if (player_one == gPlayerFive) var_v1 = 4; + if (player_one == gPlayerSix) var_v1 = 5; + if (player_one == gPlayerSeven) var_v1 = 6; + if (player_one == gPlayerEight) var_v1 = 7; + D_801653C0[var_v1] = player_two; + if (player_two == gPlayerOne) var_v1 = 0; + if (player_two == gPlayerTwo) var_v1 = 1; + if (player_two == gPlayerThree) var_v1 = 2; + if (player_two == gPlayerFour) var_v1 = 3; + if (player_two == gPlayerFive) var_v1 = 4; + if (player_two == gPlayerSix) var_v1 = 5; + if (player_two == gPlayerSeven) var_v1 = 6; + if (player_two == gPlayerEight) var_v1 = 7; + D_801653C0[var_v1] = player_one; } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002B8A4.s") -#endif #ifdef NON_MATCHING // data_0DD0A0_3_0_0.s @@ -1965,132 +1868,62 @@ void func_8002C11C(Player *player) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -extern ? D_80165310; -extern s16 D_80165320; -extern ? D_80165330; -s16 gCurrentCourseId; /* unable to generate initializer */ - void func_8002C17C(Player *player, s8 playerId) { - s16 *sp1C; - s16 *temp_v1; - s16 *temp_v1_2; - s16 *temp_v1_3; - s16 *temp_v1_4; - s16 *temp_v1_5; - s16 *temp_v1_6; - s16 temp_v0; - s32 temp_a0_2; - s32 temp_a3; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v0_4; - s32 temp_v0_5; - s32 temp_v0_6; - s32 temp_v0_7; - s32 temp_v0_8; - s32 temp_v0_9; - u16 temp_a0; - - temp_v0 = gCurrentCourseId; - switch (temp_v0) { /* irregular */ - case 4: - temp_v0_2 = playerId * 2; - temp_v1 = temp_v0_2 + &D_80165330; - if ((player->unk_110.unk3C[2] >= 600.0f) && (*temp_v1 == 0)) { - *temp_v1 = 1; - *(&D_80165320 + temp_v0_2) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_2) = gPathIndexByPlayerId[playerId]; - return; - } - temp_v0_3 = playerId * 2; - temp_v1_2 = temp_v0_3 + &D_80165330; - if (*temp_v1_2 == 0) { - *(&D_80165320 + temp_v0_3) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_3) = gPathIndexByPlayerId[playerId]; - return; - } - if (!(player->unk_0BC & 8)) { - sp1C = temp_v1_2; + switch (gCurrentCourseId) { /* irregular */ + case COURSE_YOSHI_VALLEY: + if ((player->unk_110.unk3C[2] >= 600.0f) && (D_80165330[playerId] == 0)) { + D_80165330[playerId] = 1; + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; + } else if (D_80165330[playerId] == 0) { + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; + } else if (!(player->unk_0BC & 8)) { if (func_802ABDF4(player->unk_110.unk3A) == 0) { - *temp_v1_2 = 0; - return; - } - } - return; - case 5: - temp_a0 = player->unk_0F8; - temp_v0_4 = playerId * 2; - if (temp_a0 == 0x000B) { - temp_v1_3 = temp_v0_4 + &D_80165330; - if (*temp_v1_3 == 0) { - *temp_v1_3 = 1; - *(&D_80165320 + temp_v0_4) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_4) = gPathIndexByPlayerId[playerId]; - return; - } - } - temp_v0_5 = playerId * 2; - if (temp_a0 != 0x000B) { - *(&D_80165330 + temp_v0_5) = 0; - *(&D_80165320 + temp_v0_5) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_5) = gPathIndexByPlayerId[playerId]; - return; - } - break; - case 7: - temp_a0_2 = player->unk_0BC; - temp_v0_6 = playerId * 2; - temp_a3 = temp_a0_2 & 0x100000; - if (temp_a3 != 0) { - temp_v1_4 = temp_v0_6 + &D_80165330; - if (*temp_v1_4 == 0) { - *temp_v1_4 = 1; - *(&D_80165320 + temp_v0_6) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_6) = gPathIndexByPlayerId[playerId]; - return; - } - } - if (temp_a3 == 0) { - temp_v0_7 = playerId * 2; - if (!(temp_a0_2 & 8)) { - *(&D_80165330 + temp_v0_7) = 0; - *(&D_80165320 + temp_v0_7) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_7) = gPathIndexByPlayerId[playerId]; - return; + D_80165330[playerId] = 0; } } break; - case 13: - temp_v0_8 = playerId * 2; - temp_v1_5 = temp_v0_8 + &D_80165330; - if ((player->unk_110.unk3C[2] >= 600.0f) && (*temp_v1_5 == 0)) { - *temp_v1_5 = 1; - *(&D_80165320 + temp_v0_8) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_8) = gPathIndexByPlayerId[playerId]; - return; + case COURSE_FRAPPE_SNOWLAND: + if ((player->unk_0F8 == 0x000B) && (D_80165330[playerId] == 0)) { + D_80165330[playerId] = 1; + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; + } else if (player->unk_0F8 != 0x000B) { + D_80165330[playerId] = 0; + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; } - temp_v0_9 = playerId * 2; - temp_v1_6 = temp_v0_9 + &D_80165330; - if (*temp_v1_6 == 0) { - *(&D_80165320 + temp_v0_9) = gNearestWaypointByPlayerId[playerId]; - *(&D_80165310 + temp_v0_9) = gPathIndexByPlayerId[playerId]; - return; + break; + case COURSE_ROYAL_RACEWAY: + if (((player->unk_0BC & 0x100000) != 0) && (D_80165330[playerId] == 0)) { + D_80165330[playerId] = 1; + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; + } else if (((player->unk_0BC & 0x100000) == 0) && !(player->unk_0BC & 8)) { + D_80165330[playerId] = 0; + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; } - if (!(player->unk_0BC & 8) && !(player->unk_0CA & 1)) { - *temp_v1_6 = 0; - return; + break; + case COURSE_RAINBOW_ROAD: + if ((player->unk_110.unk3C[2] >= 600.0f) && (D_80165330[playerId] == 0)) { + D_80165330[playerId] = 1; + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; + } else if (D_80165330[playerId] == 0) { + D_80165320[playerId] = gNearestWaypointByPlayerId[playerId]; + D_80165310[playerId] = gPathIndexByPlayerId[playerId]; + } else if (!((player->unk_0BC & 8) || (player->unk_0CA & 1))) { + D_80165330[playerId] = 0; } break; default: - *(&D_80165330 + (playerId * 2)) = 0; + D_80165330[playerId] = 0; + if(1){} break; } } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002C17C.s") -#endif #ifdef MIPS_TO_C //generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc @@ -2390,58 +2223,39 @@ void func_8002CD48(Player *player, s8 arg1, s8 arg2) { GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002CD48.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de -void func_8003680C(f32, Player *, s16, s16, s32); /* extern */ - +#ifdef NON_MATCHING void func_8002D028(Player *player, s8 arg1) { - f32 sp54; - f32 sp50; - f32 sp4C; - s16 sp46; - s32 sp34; - s16 *sp2C; + f32 thing0 = 8.0f; + f32 thing1 = 182.0f; + Vec3f sp4C; f32 temp_f0; - f32 temp_f0_2; - f32 temp_f2; - s16 *temp_v0_2; - s16 temp_v0; - s16 temp_v1; - s16 temp_v1_2; s16 var_a2; - s32 temp_f18; - s32 temp_f8; - s32 temp_t1; + s16 test; + f32 temp_f18; + s16 temp_t1; - temp_v0 = D_80165270[arg1]; - sp34 = arg1 * 2; - sp4C = D_80165210[temp_v0]; - sp50 = 0.0f; - sp54 = D_80165230[temp_v0]; - temp_f0 = 8.0f * 182.0f; - temp_v1 = -func_802B5224(player->pos, &sp4C) - player->unk_02C[1]; - temp_f8 = (s32) temp_f0; - var_a2 = temp_v1; - temp_f18 = (s32) (-8.0f * 182.0f); - if ((s16) temp_f8 < temp_v1) { - var_a2 = (s16) temp_f8; + sp4C[0] = D_80165210[D_80165270[arg1]]; + sp4C[1] = 0.0f; + sp4C[2] = D_80165230[D_80165270[arg1]]; + temp_f0 = thing0 * thing1; + test = -func_802B5224(player->pos, sp4C) - player->unk_02C[1]; + var_a2 = test; + if ((s16)temp_f0 < test) { + var_a2 = temp_f0; } - if (var_a2 < (s16) temp_f18) { - var_a2 = (s16) temp_f18; + temp_f18 = -thing0 * thing1; + if (test < (s16)temp_f18) { + var_a2 = temp_f18; } - temp_v0_2 = sp34 + D_80165020; - sp2C = temp_v0_2; - temp_t1 = (s32) (*temp_v0_2 + (s16) (s32) ((f32) (var_a2 * 0x35) / temp_f0)) / 2; - sp46 = (s16) temp_t1; - func_8003680C(182.0f, player, (s16) temp_t1, var_a2, sp34); - *temp_v0_2 = (s16) temp_t1; - temp_f0_2 = sp54 - player->pos[2]; - temp_f2 = sp4C - player->pos[0]; - if (sqrtf((temp_f0_2 * temp_f0_2) + (temp_f2 * temp_f2)) <= 8.0f) { + temp_t1 = (D_80165020[arg1] + (s16) ((var_a2 * 0x35) / temp_f0)) / 2; + func_8003680C(player, (s16) temp_t1); + D_80165020[arg1] = (s16) temp_t1; + temp_f0 = sp4C[2] - player->pos[2]; + temp_f18 = sp4C[0] - player->pos[0]; + if (sqrtf((temp_f0 * temp_f0) + (temp_f18 * temp_f18)) <= 8.0f) { func_800224F0(&player->unk_02C[1], -0x8000, 0x016C); - temp_v1_2 = player->unk_02C[1]; - if ((temp_v1_2 < -0x7F41) || (temp_v1_2 >= 0x7F42)) { - player->unk_000 &= 0xFDFF; + if ((player->unk_02C[1] < -0x7F41) || (player->unk_02C[1] > 0x7F41)) { + player->unk_000 &= ~0x0200; } player->unk_08C = 0.0f; player->unk_094 = 0.0f; @@ -2453,9 +2267,9 @@ void func_8002D028(Player *player, s8 arg1) { player->unk_034[2] = 0.0f; player->unk_0C0 = 0; player->unk_078 = 0; - return; + } else { + player->unk_08C = 1200.0f; } - player->unk_08C = 1200.0f; } #else GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002D028.s") @@ -4633,169 +4447,166 @@ GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80033A40.s") #endif #ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -? func_8002A8A4(f32, f32, Player *, s8); /* extern */ +//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c ? func_80033884(Player *, s32 *, s32 *, s32, s32, s32, s32); /* extern */ ? func_80033A40(Player *, s32 *, s32 *, s32, s32, s32, f32); /* extern */ -? func_80036CB4(Player *); /* extern */ -s32 func_80038534(struct Controller *); /* extern */ -static s32 D_800E3DF8[0x9C] = { - 0, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, +f32 D_800E3DF8[0x9C] = { + 0.0f, + 0.5f, + 0.5f, + 0.5f, + 0.5f, + 0.5f, + 0.5f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.5f, + 0.5f, + 0.5f, + 0.5f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.6f, + 0.6f, + 0.6f, + 0.6f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.7f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, + 0.8f, }; void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { @@ -4811,7 +4622,6 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { s32 sp40; s32 sp3C; s32 sp38; - ? *var_t6; f32 temp_f0; f32 temp_f0_2; f32 temp_f0_3; @@ -4823,14 +4633,14 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { f32 var_f2; f32 var_f2_2; f32 var_f2_3; + s16 temp_v0_3; s16 temp_v1_3; s16 temp_v1_6; s16 var_s1_2; s16 var_s1_3; + s16 var_t1; s32 *temp_v0; s32 *temp_v0_2; - s32 *var_t7; - s32 temp_at; s32 temp_f6; s32 temp_f8; s32 temp_lo; @@ -4859,7 +4669,6 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { s32 temp_t7; s32 temp_t9; s32 temp_v0_10; - s32 temp_v0_3; s32 temp_v0_7; s32 temp_v1; s32 temp_v1_2; @@ -4870,7 +4679,6 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { s32 var_a0; s32 var_s1; s32 var_t0; - s32 var_t1; s32 var_t4; s32 var_v1; u16 temp_v0_6; @@ -4880,17 +4688,8 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { u8 temp_v0_8; u8 temp_v0_9; - var_t7 = D_800E3DF8; - var_t6 = &sp44; sp2C0 = 0.0f; - do { - temp_at = *var_t7; - var_t7 += 0xC; - var_t6 += 0xC; - var_t6->unk-C = temp_at; - var_t6->unk-8 = (s32) var_t7->unk-8; - var_t6->unk-4 = (s32) var_t7->unk-4; - } while (var_t7 != (D_800E3DF8 + 0x270)); + M2C_MEMCPY_ALIGNED(&sp44, D_800E3DF8, 0x270); temp_v1 = player->unk_0BC; if ((((temp_v1 & 2) != 2) && (((temp_lo = (s16) player->unk_0C0 / 182, ((temp_lo < 7) != 0)) && (temp_lo >= -6)) || ((controller->button & 0x10) != 0x10))) || (((player->unk_094 / 18.0f) * 216.0f) <= 20.0f) || ((temp_v1 & 0x8000) == 0x8000)) { sp2BC = 0.0f; @@ -5008,7 +4807,7 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { var_t0 = (s32) ((f64) var_t0 * 1.05); } } - sp2E0 = var_t1; + sp2E0 = (s32) var_t1; sp2CC = var_t0; sp2C8 = var_v1; func_80033884(player, &sp2D0, &sp2E4, player->unk_07C, 0x0000005A, 0x78000 / var_v1, 0x000001C2); @@ -5216,7 +5015,7 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { } sp2C4 = var_f2_3; sp2C0 = var_f12; - func_8002A8A4(var_f12, 0.0f, player, arg2); + func_8002A8A4(player, arg2); } else { temp_t7 = (s32) player->unk_07C >> 0x10; var_s1_2 = ((s32) ((temp_t7 * 0xD) + 0x2B1) / 106) - 0x35; @@ -5229,7 +5028,7 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { } sp2C4 = var_f2_3; sp2C0 = var_f12; - func_8002A8A4(var_f12, 0.0f, player, arg2); + func_8002A8A4(player, arg2); } var_f0_3 = (player->unk_094 / 18.0f) * 216.0f; if ((var_f0_3 >= 0.0f) && (var_f0_3 < 8.0f)) { @@ -5247,7 +5046,7 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { player->unk_078 = (s16) (s32) ((f64) player->unk_078 * 0.9); } else { var_t4 = (s32) ((f64) player->unk_078 * 0.65); - goto block_125; + goto block_123; } } else { var_s1_3 = (s16) ((s32) player->unk_07C >> 0x10); @@ -5258,7 +5057,7 @@ void func_80033AE0(Player *player, struct Controller *controller, s8 arg2) { player->unk_078 = (s16) (s32) ((f32) var_s1_3 * (var_f2_3 + 6.0f)); } else { var_t4 = (s32) ((f32) var_s1_3 * (var_f2_3 + 1.5f)); -block_125: +block_123: player->unk_078 = (s16) var_t4; } } @@ -5270,267 +5069,101 @@ block_125: GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80033AE0.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -? func_80036CB4(f32, Player *, s32); /* extern */ -static s32 D_800E4068[0xA8] = { - 0, - 0x3DCCCCCD, - 0x3DCCCCCD, - 0x3E4CCCCD, - 0x3E99999A, - 0x3ECCCCCD, - 0x3F000000, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F19999A, - 0x3F000000, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3ECCCCCD, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F000000, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F333333, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F4CCCCD, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, - 0x3F19999A, -}; -static ? D_800E4308; /* unable to generate initializer */ +#ifdef NEEDS_RODATA +// data/data_0DD0A0_2.s +extern f32 D_800E4068[0xA8]; +extern f32 D_800E4308[8];// = { 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f }; +// data/data_0DD0A0_3_0_0.s +extern f64 D_800EDD88;// = 0.8; void func_8003680C(Player *player, s16 arg1) { - s32 sp304; - ? sp24; - f32 *var_t1; + s32 sp304 = 0; + f32 stackPadding0[6]; f32 var_f0; - f32 var_f0_2; - s16 temp_v1_2; s16 var_v0; - s16 var_v0_2; - s32 *var_t6; - s32 temp_at; - s32 temp_t8; - s32 temp_v0; - s32 temp_v0_2; - s32 temp_v0_3; - s32 temp_v1; + f32 sp44[168] = { + 0.0f, 0.1f, 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.7f, 0.7f, 0.7f, 0.7f, + 0.7f, 0.7f, 0.7f, 0.6f, 0.5f, 0.4f, 0.4f, 0.4f, + 0.4f, 0.4f, 0.4f, 0.4f, 0.4f, 0.4f, 0.4f, 0.4f, + 0.4f, 0.4f, 0.4f, 0.4f, 0.5f, 0.5f, 0.5f, 0.5f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, 0.7f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.8f, 0.8f, 0.8f, 0.8f, 0.8f, 0.8f, 0.8f, 0.8f, + 0.8f, 0.8f, 0.8f, 0.8f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, 0.6f, + }; + f32 sp24[8] = { + 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, + }; - var_t6 = D_800E4068; - var_t1 = &sp44[0]; - sp304 = 0; - do { - temp_at = *var_t6; - var_t6 += 0xC; - var_t1 += 0xC; - var_t1->unk-C = temp_at; - var_t1->unk-8 = (s32) var_t6->unk-8; - var_t1->unk-4 = (s32) var_t6->unk-4; - } while (var_t6 != (D_800E4068 + 0x2A0)); - sp24.unk0 = (s32) D_800E4308.unk0; - sp24.unk4 = (s32) D_800E4308.unk4; - sp24.unkC = (s32) D_800E4308.unkC; - sp24.unk8 = (s32) D_800E4308.unk8; - sp24.unk10 = (s32) D_800E4308.unk10; - sp24.unk14 = (s32) D_800E4308.unk14; - sp24.unk1C = (s32) D_800E4308.unk1C; - sp24.unk18 = (s32) D_800E4308.unk18; - temp_v0 = player->unk_0BC; - if (!(temp_v0 & 0x80) && !(temp_v0 & 0x40) && !(temp_v0 & 0x400) && !(temp_v0 & 0x10000) && !(temp_v0 & 0x20000) && !(temp_v0 & 0x01000000) && !(temp_v0 & 0x02000000) && !(temp_v0 & 0x04000000)) { - temp_t8 = temp_v0 & 0xDFFFFFFF; + if (!((player->unk_0BC & 0x80) || + (player->unk_0BC & 0x40) || + (player->unk_0BC & 0x400) || + (player->unk_0BC & 0x10000) || + (player->unk_0BC & 0x20000) || + (player->unk_0BC & 0x01000000) || + (player->unk_0BC & 0x02000000) || + (player->unk_0BC & 0x04000000))) { if (!(((player->unk_094 / 18.0f) * 216.0f) >= 110.0f)) { - player->unk_0BC = temp_t8; + player->unk_0BC &= ~0x20000000; player->unk_228 = 0; - if (!(temp_t8 & 0x80) && !(temp_t8 & 0x40)) { + if (!(player->unk_0BC & 0x80) && !(player->unk_0BC & 0x40)) { sp304 = (s32) player->unk_07C >> 0x10; move_s32_towards(&sp304, (s32) arg1, 0.35f); sp304 <<= 0x10; - temp_v0_2 = player->unk_0BC; - temp_v1 = temp_v0_2 & 0x10; - if (temp_v1 == 0x10) { - var_f0 = (f32) ((s16) sp304 / 5); + if ((player->unk_0BC & 0x10) == 0x10) { + var_f0 = (sp304 >> 0x10) / 5; } else { var_f0 = (f32) (sp304 >> 0x10) / (8.0f + (player->unk_09C / 50.0f)); } if (var_f0 < 0.0f) { var_f0 = -var_f0; } - if (temp_v1 == 0x10) { - var_f0_2 = (&sp44[0])[(s16) (s32) ((player->unk_094 / 18.0f) * 216.0f)] * var_f0; + if ((player->unk_0BC & 0x10) == 0x10) { + var_f0 = sp44[(s16) ((player->unk_094 / 18.0f) * 216.0f)] * var_f0; } else { - var_f0_2 = (sp + (player->characterId * 4))->unk24 * (&sp44[0])[(s16) (s32) ((player->unk_094 / 18.0f) * 216.0f)] * var_f0; + var_f0 = sp44[(s16) ((player->unk_094 / 18.0f) * 216.0f)] * sp24[player->characterId] * var_f0; } player->unk_07C = sp304; - if (((temp_v0_2 & 2) != 2) && (temp_v1 != 0x10)) { - if ((temp_v0_2 & 1) != 1) { - player->unk_078 = (s16) (s32) ((f32) (sp304 >> 0x10) * var_f0_2); + if (((player->unk_0BC & 2) != 2) && ((player->unk_0BC & 0x10) != 0x10)) { + if ((player->unk_0BC & 1) != 1) { + player->unk_078 = (player->unk_07C >> 0x10) * var_f0; } else { - player->unk_078 = (s16) (s32) ((f64) ((s32) player->unk_07C >> 0x10) * ((f64) var_f0_2 + 1.5)); + player->unk_078 = (player->unk_07C >> 0x10) * (var_f0 + 1.5); } - } else if ((temp_v0_2 & 8) != 8) { + } else if ((player->unk_0BC & 8) != 8) { if (((s16) player->unk_0C0 / 182) > 0) { - var_v0 = (s16) ((s32) player->unk_07C >> 0x10); + var_v0 = player->unk_07C >> 0x10; } else { - var_v0 = (s16) ((s32) player->unk_07C >> 0x10); + var_v0 = player->unk_07C >> 0x10; } - player->unk_078 = (s16) (s32) ((f64) var_v0 * ((f64) var_f0_2 + 3.0)); - player->unk_078 = (s16) (s32) ((f64) player->unk_078 * 0.8); + player->unk_078 = var_v0 * (var_f0 + 3.0); + player->unk_078 *= 0.8; } else { - var_v0_2 = (s16) ((s32) player->unk_07C >> 0x10); + var_v0 = (s16) ((s32) player->unk_07C >> 0x10); if (arg1 == 0) { - var_v0_2 = 0; + var_v0 = 0; } - player->unk_078 = (s16) (s32) ((f32) var_v0_2 * var_f0_2); + player->unk_078 = var_v0 * var_f0; } - temp_v0_3 = player->unk_0BC; - if ((((temp_v0_3 & 2) != 2) && (temp_v1_2 = player->unk_0C0, ((temp_v1_2 < 0x3D) != 0)) && (temp_v1_2 >= -0x3C)) || (((player->unk_094 / 18.0f) * 216.0f) <= 20.0f) || ((temp_v0_3 & 0x8000) == 0x8000)) { - func_80036CB4(216.0f, player, 2); + if ((((player->unk_0BC & 2) != 2) && + (player->unk_0C0 < 0x3D) && + (player->unk_0C0 > -0x3D)) || + (((player->unk_094 / 18.0f) * 216.0f) <= 20.0f) || + ((player->unk_0BC & 0x8000) == 0x8000)) { + func_80036CB4(player); } } } @@ -5645,7 +5278,7 @@ extern f64 D_800EDDE8;// = 0.15; extern f64 D_800EDDF0;// = 0.1; extern f64 D_800EDDF8;// = 0.05; -void func_800371F4(Player *player, f32 *arg1, f32 *arg2) { +void func_800371F4(Player *player, Vec3f arg1, Vec3f arg2) { s16 var_v0; f32 sp20; f32 var_f18; @@ -5810,53 +5443,44 @@ void func_80037A4C(Player *player, Vec3f arg1, Vec3f arg2) { arg2[2] = arg1[2]; } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc -void func_80036DB4(f32 *, f32 *); /* extern */ -void func_800371F4(f32 *, f32 *); /* extern */ +void func_80037BB4(Player *player, Vec3f arg1) { + s32 stackPadding0[3]; + Vec3f sp20; -void func_80037BB4(Player *player, f32 *arg1) { - f32 sp20; - s16 temp_v0; - - temp_v0 = player->unk_078; - if (temp_v0 == 0) { - arg1->unk0 = 0.0f; - arg1->unk4 = 0.0f; - arg1->unk8 = 0.0f; - return; - } - if (temp_v0 < 0) { - if (((player->unk_0BC & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { - player->unk_02E += temp_v0; - } - if (!(player->unk_000 & 0x1000)) { - if (gModeSelection == BATTLE) { - func_800378E8(player, &sp20, arg1); - return; + if (player->unk_078 == 0) { + arg1[0] = 0.0f; + arg1[1] = 0.0f; + arg1[2] = 0.0f; + } else { + if (player->unk_078 < 0) { + if (((player->unk_0BC & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { + player->unk_02C[1] += player->unk_078; + } + if (!(player->unk_000 & 0x1000)) { + if (gModeSelection == BATTLE) { + func_800378E8(player, sp20, arg1); + } else { + func_80036DB4(player, sp20, arg1); + } + } else { + func_80037614(player, sp20, arg1); + } + } else { + if (((player->unk_0BC & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { + player->unk_02C[1] += player->unk_078; + } + if (!(player->unk_000 & 0x1000)) { + if (gModeSelection == BATTLE) { + func_80037A4C(player, sp20, arg1); + } else { + func_800371F4(player, sp20, arg1); + } + } else { + func_8003777C(player, sp20, arg1); } - func_80036DB4(&sp20, arg1); - return; } - func_80037614(player, &sp20, arg1); - return; } - if (((player->unk_0BC & 0x20000000) != 0x20000000) || (player->unk_228 >= 0x64)) { - player->unk_02E += temp_v0; - } - if (!(player->unk_000 & 0x1000)) { - if (gModeSelection == BATTLE) { - func_80037A4C(player, &sp20, arg1); - return; - } - func_800371F4(&sp20, arg1); - return; - } - func_8003777C(player, &sp20, arg1); } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80037BB4.s") -#endif #ifdef MIPS_TO_C //generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b @@ -6083,129 +5707,112 @@ void func_800382DC(void) { } } -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc s16 func_80038534(struct Controller *controller) { s16 temp_a2; - s16 temp_t5; - s16 temp_t6; - s16 temp_t8; - s16 temp_v0; - s16 var_a1; s16 var_a3; s16 var_t0; - s16 var_v1; + s16 temp_v0; temp_v0 = controller->rawStickX; temp_a2 = controller->rawStickY; var_a3 = temp_v0; var_t0 = temp_a2; - if (temp_v0 >= 0xD) { + + if (temp_v0 > 0xC) { + var_t0 = (temp_a2 * 0x000C) / temp_v0; var_a3 = 0x000C; - var_t0 = (s16) ((s32) (temp_a2 * 0x000C) / temp_v0); } if (var_a3 < -0xC) { - temp_t6 = -var_a3; + var_t0 = (var_t0 * 0x000C) / -var_a3; var_a3 = -0x000C; - var_t0 = (s16) ((s32) (var_t0 * 0x000C) / temp_t6); } - if (var_t0 >= 0xD) { - var_a3 = (s16) ((s32) (var_a3 * 0x000C) / var_t0); + if (var_t0 > 0xC) { + var_a3 = (var_a3 * 0x000C) / var_t0; var_t0 = 0x000C; } if (var_t0 < -0xC) { - temp_t5 = -var_t0; + var_a3 = (var_a3 * 0x000C) / -var_t0; var_t0 = -0x000C; - var_a3 = (s16) ((s32) (var_a3 * 0x000C) / temp_t5); } - if ((temp_v0 >= -0xC) && (temp_v0 < 0xD) && (temp_a2 >= -0xC) && (temp_a2 < 0xD)) { - var_v1 = 0; - var_a1 = 0; - } else { - var_v1 = temp_v0 - var_a3; - var_a1 = temp_a2 - var_t0; + if ((((controller->rawStickX > -0xD) && (controller->rawStickX < 0xD)) && (controller->rawStickY > -0xD)) && (controller->rawStickY < 0xD)) { + temp_v0 = 0; + temp_a2 = 0; } - if (var_v1 >= 0x36) { - var_a1 = (s16) ((s32) (var_a1 * 0x0035) / var_v1); - var_v1 = 0x0035; + else { + temp_v0 -= var_a3; + temp_a2 -= var_t0; } - if (var_v1 < -0x35) { - temp_t8 = -var_v1; - var_v1 = -0x0035; - var_a1 = (s16) ((s32) (var_a1 * 0x0035) / temp_t8); + if (temp_v0 > 0x35) { + temp_a2 = (temp_a2 * 0x0035) / temp_v0; + temp_v0 = 0x0035; } - if (var_a1 >= 0x36) { - var_v1 = (s16) ((s32) (var_v1 * 0x0035) / var_a1); - var_a1 = 0x0035; + if (temp_v0 < -0x35) { + temp_a2 = (temp_a2 * 0x0035) / -temp_v0; + temp_v0 = -0x0035; } - if (var_a1 < -0x35) { - var_v1 = (s16) ((s32) (var_v1 * 0x0035) / (s16) -var_a1); + if (temp_a2 > 0x35) { + temp_v0 = (temp_v0 * 0x0035) / temp_a2; + temp_a2 = 0x0035; } - return var_v1; + if (temp_a2 < -0x35) { + temp_v0 = (temp_v0 * 0x0035) / -temp_a2; + } + return temp_v0; } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80038534.s") -#endif -#ifdef MIPS_TO_C -//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc s16 func_800388B0(struct Controller *controller) { s16 temp_a2; - s16 temp_t5; - s16 temp_t6; - s16 temp_v1; - s16 var_a1; s16 var_a3; s16 var_t0; - s16 var_v0; + s16 temp_v0; - temp_v1 = controller->rawStickX; + temp_v0 = controller->rawStickX; temp_a2 = controller->rawStickY; - var_a3 = temp_v1; + var_a3 = temp_v0; var_t0 = temp_a2; - if (temp_v1 >= 0xD) { + + if (temp_v0 > 0xC) { + var_t0 = (temp_a2 * 0x000C) / temp_v0; var_a3 = 0x000C; - var_t0 = (s16) ((s32) (temp_a2 * 0x000C) / temp_v1); } if (var_a3 < -0xC) { - temp_t6 = -var_a3; + var_t0 = (var_t0 * 0x000C) / -var_a3; var_a3 = -0x000C; - var_t0 = (s16) ((s32) (var_t0 * 0x000C) / temp_t6); } - if (var_t0 >= 0xD) { - var_a3 = (s16) ((s32) (var_a3 * 0x000C) / var_t0); + if (var_t0 > 0xC) { + var_a3 = (var_a3 * 0x000C) / var_t0; var_t0 = 0x000C; } if (var_t0 < -0xC) { - temp_t5 = -var_t0; + var_a3 = (var_a3 * 0x000C) / -var_t0; var_t0 = -0x000C; - var_a3 = (s16) ((s32) (var_a3 * 0x000C) / temp_t5); } - if ((temp_v1 >= -0xC) && (temp_v1 < 0xD) && (temp_a2 >= -0xC) && (temp_a2 < 0xD)) { - var_v0 = 0; - var_a1 = 0; - } else { - var_v0 = temp_v1 - var_a3; - var_a1 = temp_a2 - var_t0; + if ((((controller->rawStickX > -0xD) && (controller->rawStickX < 0xD)) && (controller->rawStickY > -0xD)) && (controller->rawStickY < 0xD)) { + temp_v0 = 0; + temp_a2 = 0; } - if (var_v0 >= 0x36) { - var_a1 = (s16) ((s32) (var_a1 * 0x0035) / var_v0); - var_v0 = 0x0035; + else { + temp_v0 -= var_a3; + temp_a2 -= var_t0; } - if (var_v0 < -0x35) { - var_a1 = (s16) ((s32) (var_a1 * 0x0035) / (s16) -var_v0); + if (temp_v0 > 0x35) { + temp_a2 = (temp_a2 * 0x0035) / temp_v0; + temp_v0 = 0x0035; } - if (var_a1 >= 0x36) { - var_a1 = 0x0035; + if (temp_v0 < -0x35) { + temp_a2 = (temp_a2 * 0x0035) / -temp_v0; + temp_v0 = -0x0035; } - if (var_a1 < -0x35) { - var_a1 = -0x0035; + if (temp_a2 > 0x35) { + temp_v0 = (temp_v0 * 0x0035) / temp_a2; + temp_a2 = 0x0035; } - return var_a1; + if (temp_a2 < -0x35) { + temp_v0 = (temp_v0 * 0x0035) / -temp_a2; + temp_a2 = -0x0035; + } + return temp_a2; } -#else -GLOBAL_ASM("asm/non_matchings/code_80027D00/func_800388B0.s") -#endif void func_80038BE4(Player *player, s16 arg1) { player->unk_09C += (f32) arg1; diff --git a/src/code_80027D00.h b/src/code_80027D00.h index e63ce019c..b4504d9dd 100644 --- a/src/code_80027D00.h +++ b/src/code_80027D00.h @@ -19,24 +19,29 @@ void func_8002934C(Player*, Camera*, s8, s8); void func_8002A194(Player*, f32, f32, f32); void func_8002A5F4(Vec3f, f32, Vec3f, f32, f32); void func_8002A704(Player*, s8); +void func_8002A8A4(Player*, s8); void func_8002AA50(Player*); void func_8002AAC0(Player*); void func_8002AB70(Player*); void func_8002AE20(); void func_8002AE28(); void func_8002AE30(); +void func_8002AE38(Player*, s8, f32, f32, f32, f32); void func_8002B218(Player*); void func_8002B308(Player*, s8, s8); void func_8002B5C0(Player*, s8, s8); void func_8002B830(Player*, s8, s8); +void func_8002B8A4(Player*, Player*); void func_8002BD58(Player*); void func_8002C11C(Player*); +void func_8002C17C(Player*, s8); void func_8002D268(Player*, Camera*, s8, s8); void func_8002E4C4(Player*); void func_8002FCA8(Player*, s8); void func_8002FE84(Player*, f32); f32 func_80030150(Player*, s8); void func_80030A34(Player*); +void func_80030C34(Player*); void func_80030E00(Player*); void func_80030FC8(Player*); void func_80031F48(Player*, f32); @@ -50,18 +55,25 @@ void func_80033280(Player*, f32); void func_800332E8(Player*, s32); void func_800337CC(Player*, f32, s32); void func_80033850(Player*, f32); +void func_8003680C(Player*, s16); void func_80036C5C(Player*); void func_80036CB4(Player*); void func_80036DB4(Player*, Vec3f, Vec3f); +void func_800371F4(Player*, Vec3f, Vec3f); void func_80037614(Player*, Vec3f, Vec3f); void func_8003777C(Player*, Vec3f, Vec3f); void func_800378E8(Player*, Vec3f, Vec3f); void func_80037A4C(Player*, Vec3f, Vec3f); +void func_80037BB4(Player*player, Vec3f); +void func_800382DC(); +s16 func_80038534(struct Controller*); +s16 func_800388B0(struct Controller*); void func_80038BE4(Player*, s16); /* This is where I'd put my static data, if I had any */ extern s16 D_80164AF0; +extern Player *D_801653C0[8]; extern f32 D_800ED7B8; extern f32 D_800ED7BC; diff --git a/src/code_800431B0.c b/src/code_800431B0.c index 2c1daad38..d3f95a9c4 100644 --- a/src/code_800431B0.c +++ b/src/code_800431B0.c @@ -3024,9 +3024,10 @@ void func_8004EB30(s32 arg0) { } -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -static s32 D_800E4570[3] = { (s32) D_0D00B158, (s32) D_0D00B558, (s32) D_0D00B958 }; +#ifdef NEEDS_RODATA +// data/data_0DD0A0_2_0.s +// Internals of the array are entries from common_textures.inc +extern s8* D_800E4570[3];// = { (s32) D_0D00B158, (s32) D_0D00B558, (s32) D_0D00B958 }; void func_8004EB38(s32 playerId) { struct_8018CA70_entry *temp_s0; @@ -3803,59 +3804,50 @@ void func_80050320(void) { GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80050320.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -s32 func_80050644(s32 arg0, s32 *arg1, s32 *arg2) { - s32 temp_a3; - s32 temp_t6; - s32 var_v0; +s32 func_80050644(u16 arg0, s32 *arg1, s32 *arg2) { + s32 var_v0 = 0; + s32 thing = 0; + s32 test = gLapCountByPlayerId[arg0]; - temp_t6 = arg0 & 0xFFFF; - temp_a3 = gLapCountByPlayerId[temp_t6]; - var_v0 = 0; - if (temp_a3 < 3) { + if (test < 3) { if (gPlayerCountSelection1 == 1) { - if (temp_a3 >= 0) { - var_v0 = (s32) (gLapCompletionPercentByPlayerId[temp_t6] * 928.0f); + if (test >= 0) { + thing = (s32) (gLapCompletionPercentByPlayerId[arg0] * 928); } - if (var_v0 < 0x104) { - *arg1 = var_v0; + if (thing < 0x104) { + *arg1 = thing; *arg2 = 0; - return 1; - } - if (var_v0 < 0x1D0) { + var_v0 = 1; + } else if (thing < 0x1D0) { *arg1 = 0x00000104; - *arg2 = var_v0 - 0x104; - return 2; - } - if (var_v0 < 0x2D4) { - *arg1 = 0x2D4 - var_v0; + *arg2 = thing - 0x104; + var_v0 = 2; + } else if (thing < 0x2D4) { + *arg1 = 0x2D4 - thing; *arg2 = 0x000000CC; - return 3; + var_v0 = 3; + } else { + *arg1 = 0; + *arg2 = 0x3A0 - thing; + var_v0 = 4; } - *arg1 = 0; - *arg2 = 0x3A0 - var_v0; - return 4; + } else { + if (test >= 0) { + thing = (s32) (gLapCompletionPercentByPlayerId[arg0] * 260); + } + *arg1 = thing; + *arg2 = 0; } - if (temp_a3 >= 0) { - var_v0 = (s32) (gLapCompletionPercentByPlayerId[temp_t6] * 260.0f); - } - *arg1 = var_v0; - *arg2 = 0; - return 0; - } - if (gPlayerCountSelection1 == 1) { + } else if (gPlayerCountSelection1 == 1) { *arg1 = 0x00000020; - *arg2 = (gPlayerPositions[temp_t6] * 0x14) + 0x20; - return 0; + *arg2 = (gPlayerPositions[arg0] * 0x14) + 0x20; + } else { + thing = (s32) (gLapCompletionPercentByPlayerId[arg0] * 260); + *arg1 = thing; + *arg2 = 0; } - *arg1 = (s32) (gLapCompletionPercentByPlayerId[temp_t6] * 260.0f); - *arg2 = 0; - return 0; + return var_v0; } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_80050644.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -4874,57 +4866,34 @@ void func_8005217C(s32 arg0) { GLOBAL_ASM("asm/non_matchings/code_800431B0/func_8005217C.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -extern UnkActorInner D_8018C830; - void func_800523B8(s32 arg0, s32 arg1, u32 arg2) { - struct_80165C18_entry *sp3C; - f32 *sp38; - f32 *temp_a0; - s32 temp_v0; + s32 stackPadding0[2]; struct_80165C18_entry *temp_v1; + Camera *camera = &camera1[arg1]; temp_v1 = &D_80165C18[arg0]; - sp3C = temp_v1; - temp_v0 = func_800418AC(temp_v1->unk_004[0], temp_v1->unk_004[2], camera1[arg1].pos); - temp_a0 = temp_v1->unk_004; - sp38 = temp_a0; - temp_v1->unk_0B4 = (u16) temp_v0; - func_800484BC((s32) temp_a0, (s32) &temp_v1->unk_0B2, temp_v1->unk_000, (s32) temp_v1->unk_0A0, (s32) temp_v1->unk_060, (s32) temp_v1->unk_064, (Vtx *) temp_v1->unk_074, 0x00000030, 0x00000028, 0x00000030, 0x00000028); + temp_v1->unk_0B2[1] = func_800418AC(temp_v1->unk_004[0], temp_v1->unk_004[2], camera->pos); + func_800484BC(temp_v1->unk_004, temp_v1->unk_0B2, temp_v1->unk_000, temp_v1->unk_0A0, temp_v1->unk_060, temp_v1->unk_064, (Vtx *) temp_v1->unk_074, 0x00000030, 0x00000028, 0x00000030, 0x00000028); if ((func_8007223C(arg0, 0x00000020) != 0) && (arg2 < 0x15F91U)) { - func_8004A630(&D_8018C830, sp38, 0.4f); + func_8004A630(&D_8018C830, temp_v1->unk_004, 0.4f); } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800523B8.s") -#endif - -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -? func_800523B8(s32, s32, u32); /* extern */ -extern ? D_8018BFD0; void func_800524B4(s32 arg0) { - s32 *var_s1; - s32 temp_s0; u32 temp_s2; + s32 someIndex; + s32 objectIndex; - var_s1 = D_8018BFA8; - do { - temp_s0 = *var_s1; - if (D_80165C18[temp_s0].unk_0A6 >= 2) { - temp_s2 = func_8008A364(temp_s0, arg0, 0x4000U, 0x00000320); - if (func_8007223C(temp_s0, 0x00040000) != 0) { - func_800523B8(temp_s0, arg0, temp_s2); + for (someIndex = 0; someIndex < 10; someIndex++) { + objectIndex = D_8018BFA8[someIndex]; + if (D_80165C18[objectIndex].unk_0A6 >= 2) { + temp_s2 = func_8008A364(objectIndex, arg0, 0x4000U, 0x00000320); + if (func_8007223C(objectIndex, 0x00040000) != 0) { + func_800523B8(objectIndex, arg0, temp_s2); } } - var_s1 += 4; - } while (var_s1 != &D_8018BFD0); + } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800524B4.s") -#endif #ifdef MIPS_TO_C //generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b @@ -5470,71 +5439,18 @@ void func_800534E8(s32 objectIndex) { GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800534E8.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b -extern ? D_06006F38; - void func_800536C8(s32 objectIndex) { - Gfx *sp20; - Gfx *temp_v0; - Gfx *temp_v0_2; - Gfx *temp_v0_3; - Gfx *temp_v0_4; - Gfx *temp_v0_5; - Gfx *temp_v0_6; - Gfx *temp_v0_7; - Gfx *temp_v0_8; - Gfx *temp_v0_9; - struct_80165C18_entry *temp_s0; - - temp_s0 = &D_80165C18[objectIndex]; - if ((temp_s0->unk_0A6 >= 2) && (func_80072354(objectIndex, 0x00000040) != 0)) { + if ((D_80165C18[objectIndex].unk_0A6 >= 2) && (func_80072354(objectIndex, 0x00000040) != 0)) { func_8004A7AC(objectIndex, 1.75f); - func_80042E00(temp_s0->unk_004, (s16 *) &temp_s0->unk_0B2, temp_s0->unk_000); + func_80042E00(D_80165C18[objectIndex].unk_004, D_80165C18[objectIndex].unk_0B2, D_80165C18[objectIndex].unk_000); func_800534E8(objectIndex); - temp_v0 = gDisplayListHead; - gDisplayListHead = temp_v0 + 8; - temp_v0->words.w0 = 0x06000000; - temp_v0->words.w1 = (u32) D_0D007828; - temp_v0_2 = gDisplayListHead; - gDisplayListHead = temp_v0_2 + 8; - temp_v0_2->words.w1 = 0x00008000; - temp_v0_2->words.w0 = 0xBA000E02; - temp_v0_3 = gDisplayListHead; - gDisplayListHead = temp_v0_3 + 8; - temp_v0_3->words.w0 = 0xFD100000; - temp_v0_3->words.w1 = (u32) &D_06006F38; - temp_v0_4 = gDisplayListHead; - gDisplayListHead = temp_v0_4 + 8; - temp_v0_4->words.w1 = 0; - temp_v0_4->words.w0 = 0xE8000000; - temp_v0_5 = gDisplayListHead; - gDisplayListHead = temp_v0_5 + 8; - temp_v0_5->words.w1 = 0x07000000; - temp_v0_5->words.w0 = 0xF5000100; - temp_v0_6 = gDisplayListHead; - gDisplayListHead = temp_v0_6 + 8; - temp_v0_6->words.w1 = 0; - temp_v0_6->words.w0 = 0xE6000000; - temp_v0_7 = gDisplayListHead; - gDisplayListHead = temp_v0_7 + 8; - temp_v0_7->words.w1 = 0x073FC000; - temp_v0_7->words.w0 = 0xF0000000; - temp_v0_8 = gDisplayListHead; - gDisplayListHead = temp_v0_8 + 8; - sp20 = temp_v0_8; - temp_v0_8->words.w1 = 0; - temp_v0_8->words.w0 = 0xE7000000; - func_8004544C((s8 *) temp_s0->unk_064, 0x00000010, 0x00000040, 4); - temp_v0_9 = gDisplayListHead; - gDisplayListHead = temp_v0_9 + 8; - temp_v0_9->words.w0 = 0x06000000; - temp_v0_9->words.w1 = (u32) temp_s0->unk_070; + gSPDisplayList(gDisplayListHead++, D_0D007828); + gDPSetTextureLUT(gDisplayListHead++, G_TT_RGBA16); + gDPLoadTLUT_pal256(gDisplayListHead++, D_06006F38); + func_8004544C(D_80165C18[objectIndex].unk_064, 0x00000010, 0x00000040, 4); + gSPDisplayList(gDisplayListHead++, D_80165C18[objectIndex].unk_070); } } -#else -GLOBAL_ASM("asm/non_matchings/code_800431B0/func_800536C8.s") -#endif #ifdef MIPS_TO_C //generated by m2c commit b7eac665cffd02361f73cec283ef16d0a35a0e5b diff --git a/src/code_800431B0.h b/src/code_800431B0.h index 5759dc8d7..782297999 100644 --- a/src/code_800431B0.h +++ b/src/code_800431B0.h @@ -275,6 +275,7 @@ void func_8004E800(s32); void func_8004E998(s32); void func_8004EB30(s32); void func_8004EB38(s32); +void func_8004EB38(s32); void func_8004ED40(s32); void func_8004EE54(s32); @@ -288,6 +289,7 @@ void func_8004FA78(s32); void func_8004FC78(s16, s16, s8); void func_80050320(); +s32 func_80050644(u16, s32*, s32*); void func_800514BC(); void func_80051638(s32); @@ -301,6 +303,8 @@ void func_80051F9C(); void func_80052044(); void func_80052080(); void func_8005217C(s32); +void func_800523B8(s32, s32, u32); +void func_800524B4(s32); void func_800524B4(s32); void func_800527D8(s32); void func_80052590(s32); @@ -310,6 +314,7 @@ void func_80052E30(s32); void func_8005327C(s32); void func_800532A4(s32); void func_800534E8(s32); +void func_800536C8(s32); void func_80053870(s32); void func_80053E6C(s32); @@ -384,6 +389,7 @@ extern Vec3f D_80183E70; extern s32 D_80183E88[]; extern Vec3s D_80183E98; extern s32 D_80183EAC; +extern UnkActorInner D_8018C830; extern s32 D_8018D1E0; extern Lights1 D_800E4638; @@ -395,6 +401,8 @@ extern Lights1 D_800E4698; extern s8 D_800E5670[]; extern s8 D_800E566A[]; +extern u8 D_06006F38[]; // Some type of pallette? + extern Gfx *gDisplayListHead; #endif diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index 573f5a5cd..06d86c195 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -11,6 +11,7 @@ #include "code_800431B0.h" #include "code_80057C60.h" #include "code_8008C1D0.h" +#include "audio/external.h" #include #include diff --git a/src/code_8008C1D0.h b/src/code_8008C1D0.h index 2b9b164b5..037ba393e 100644 --- a/src/code_8008C1D0.h +++ b/src/code_8008C1D0.h @@ -116,8 +116,6 @@ void func_800914A0(); // code_80005FD0 void func_800098FC(u32, Player*); // audio/external.c -void func_800C90F4(u8, uintptr_t); -void func_800C9060(u8, s32); void func_800C9250(u8); void func_800CA24C(u8); void func_800CA59C(u8); @@ -152,7 +150,6 @@ extern u16 D_80152308; extern u16 D_8015F6F8; extern s16 D_80165190[4][8]; extern f32 D_80165280[]; -extern s16 D_80165320[]; extern s32 D_80165420[]; extern s32 D_80165440[]; extern s32 D_80165460[]; diff --git a/src/math_util.c b/src/math_util.c index 68aa835a7..f2e96682c 100644 --- a/src/math_util.c +++ b/src/math_util.c @@ -414,12 +414,8 @@ void func_802B5D30(s16 arg0, s16 arg1, s32 arg2) { } #ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -f32 sins(s32); /* extern */ -f32 coss(s32); /* extern */ -extern uintptr_t gSegmentTable; - -void func_802B5D64(u32 arg0, u16 arg1, s32 arg2, s32 arg3) { +//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c +void func_802B5D64(u32 arg0, s16 arg1, s32 arg2, s32 arg3) { f32 sp48; f32 sp44; f32 sp40; @@ -430,68 +426,52 @@ void func_802B5D64(u32 arg0, u16 arg1, s32 arg2, s32 arg3) { f32 temp_f10; s32 temp_a0; s32 temp_a0_2; - s32 temp_v0; - s32 temp_v0_2; - void *temp_s0; - void *temp_s0_2; - void *temp_s0_3; - void *phi_s0; - s32 phi_v0; - void *phi_s0_2; - s32 phi_v0_2; + s32 var_v0; + void *var_s0; temp_a0 = arg2 & 0xFFFF; - temp_s0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000; + var_s0 = gSegmentTable[arg0 >> 0x18] + (arg0 & 0xFFFFFF) + 0x80000000; sp20 = temp_a0; - sp48 = sins(temp_a0); - sp44 = coss(temp_a0); - sp20 = arg1; - sp40 = sins(arg1); + sp48 = sins((u16) temp_a0); + sp44 = coss((u16) temp_a0); + sp20 = (s32) (u16) arg1; + sp40 = sins((u16) arg1); + var_v0 = 0; temp_a0_2 = arg3 & 3; - temp_f10 = sp44 * coss(arg1) * -120.0f; - sp2C = sp44 * sp40 * 120.0f; - sp2D = 120.0f * sp48; - sp2E = temp_f10; - phi_v0 = 0; - phi_v0_2 = 0; + temp_f10 = sp44 * coss((u16) arg1) * -120.0f; + sp2C = (s8) (s32) (sp44 * sp40 * 120.0f); + sp2D = (s8) (s32) (120.0f * sp48); + sp2E = (s8) (s32) temp_f10; if (arg3 > 0) { - phi_s0 = temp_s0; - phi_s0_2 = temp_s0; if (temp_a0_2 != 0) { do { - temp_v0 = phi_v0 + 1; - temp_s0_2 = phi_s0 + 0x18; - temp_s0_2->unk-8 = sp2C; - temp_s0_2->unk-7 = sp2D; - temp_s0_2->unk-6 = sp2E; - phi_s0 = temp_s0_2; - phi_v0 = temp_v0; - phi_s0_2 = temp_s0_2; - phi_v0_2 = temp_v0; - } while (temp_a0_2 != temp_v0); - if (temp_v0 != arg3) { + var_v0 += 1; + var_s0 += 0x18; + var_s0->unk-8 = sp2C; + var_s0->unk-7 = sp2D; + var_s0->unk-6 = sp2E; + } while (temp_a0_2 != var_v0); + if (var_v0 != arg3) { goto loop_4; } } else { do { loop_4: - temp_v0_2 = phi_v0_2 + 4; - temp_s0_3 = phi_s0_2 + 0x60; - temp_s0_3->unk-50 = sp2C; - temp_s0_3->unk-4F = sp2D; - temp_s0_3->unk-4E = sp2E; - temp_s0_3->unk-38 = sp2C; - temp_s0_3->unk-37 = sp2D; - temp_s0_3->unk-36 = sp2E; - temp_s0_3->unk-20 = sp2C; - temp_s0_3->unk-1F = sp2D; - temp_s0_3->unk-1E = sp2E; - temp_s0_3->unk-8 = sp2C; - temp_s0_3->unk-7 = sp2D; - temp_s0_3->unk-6 = sp2E; - phi_s0_2 = temp_s0_3; - phi_v0_2 = temp_v0_2; - } while (temp_v0_2 != arg3); + var_v0 += 4; + var_s0 += 0x60; + var_s0->unk-50 = sp2C; + var_s0->unk-4F = sp2D; + var_s0->unk-4E = sp2E; + var_s0->unk-38 = sp2C; + var_s0->unk-37 = sp2D; + var_s0->unk-36 = sp2E; + var_s0->unk-20 = sp2C; + var_s0->unk-1F = sp2D; + var_s0->unk-1E = sp2E; + var_s0->unk-8 = sp2C; + var_s0->unk-7 = sp2D; + var_s0->unk-6 = sp2E; + } while (var_v0 != arg3); } } } diff --git a/src/memory.c b/src/memory.c index 31ca33a65..f64fdef07 100644 --- a/src/memory.c +++ b/src/memory.c @@ -3747,98 +3747,46 @@ s32 func_802AEE1C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s1 return 0; } -#ifdef MIPS_TO_C -//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda -s32 func_802AEE1C(s16, s16, s16, s16, s32, s32, s32, s32); /* extern */ - -s32 func_802AF0FC(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u16 arg4) { - s16 sp32; - s16 sp30; - s16 sp2E; - s16 sp2C; - s16 sp2A; - s16 sp28; - Vtx *temp_t0; - Vtx *temp_t1; - Vtx *temp_v1; +s32 func_802AF0FC(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u16 surfaceMapIndex) { mk64_surface_map_ram *temp_v0; - s16 temp_a0; - s16 temp_a0_2; - s16 temp_a1; - s16 temp_a1_2; - s16 temp_a2; - s16 temp_a2_2; - s16 temp_a3; - s16 temp_a3_2; - s16 temp_ra; - s16 temp_t2; - s16 temp_t3; - s16 temp_t4; - s16 temp_t5; + s16 vx1; + s16 vz1; + s16 vx2; + s16 vz2; + s16 vx3; + s16 vz3; - temp_a0 = arg0; - temp_a2 = arg2; - temp_a1 = arg1; - temp_a3 = arg3; - temp_v0 = &(*D_8015F580)[arg4]; - temp_v1 = temp_v0->vtxs[0]; - temp_t0 = temp_v0->vtxs[1]; - temp_t1 = temp_v0->vtxs[2]; - temp_t2 = temp_v1->v.ob[0]; - temp_t3 = temp_v1->v.ob[2]; - temp_t4 = temp_t0->v.ob[0]; - temp_t5 = temp_t0->v.ob[2]; - temp_ra = temp_t1->v.ob[0]; - sp28 = temp_t1->v.ob[2]; - if (((s32) temp_t2 >= (s32) temp_a0) && ((s32) temp_a1 >= (s32) temp_t2) && ((s32) temp_t3 >= (s32) temp_a2) && ((s32) temp_a3 >= (s32) temp_t3)) { + temp_v0 = &D_8015F580[surfaceMapIndex]; + vx1 = temp_v0->vtxs[0]->v.ob[0]; + vz1 = temp_v0->vtxs[0]->v.ob[2]; + vx2 = temp_v0->vtxs[1]->v.ob[0]; + vz2 = temp_v0->vtxs[1]->v.ob[2]; + vx3 = temp_v0->vtxs[2]->v.ob[0]; + vz3 = temp_v0->vtxs[2]->v.ob[2]; + if ((vx1 >= arg0) && (arg1 >= vx1) && (vz1 >= arg2) && (arg3 >= vz1)) { return 1; } - if (((s32) temp_t4 >= (s32) temp_a0) && ((s32) temp_a1 >= (s32) temp_t4) && ((s32) temp_t5 >= (s32) temp_a2) && ((s32) temp_a3 >= (s32) temp_t5)) { + if ((vx2 >= arg0) && (arg1 >= vx2) && (vz2 >= arg2) && (arg3 >= vz2)) { return 1; } - if (((s32) temp_ra >= (s32) temp_a0) && ((s32) temp_a1 >= (s32) temp_ra) && ((s32) sp28 >= (s32) temp_a2) && ((s32) temp_a3 >= (s32) sp28)) { + if ((vx3 >= arg0) && (arg1 >= vx3) && (vz3 >= arg2) && (arg3 >= vz3)) { return 1; } - sp2A = temp_ra; - arg0 = temp_a0; - arg1 = temp_a1; - arg2 = temp_a2; - arg3 = temp_a3; - sp32 = temp_t2; - sp30 = temp_t3; - sp2E = temp_t4; - sp2C = temp_t5; - temp_a0_2 = arg0; - temp_a1_2 = arg1; - temp_a2_2 = arg2; - temp_a3_2 = arg3; - if (func_802AEE1C(temp_a0, temp_a1, temp_a2, temp_a3, (s32) temp_t2, (s32) temp_t3, (s32) temp_t4, (s32) temp_t5) == 1) { + if (func_802AEE1C(arg0, arg1, arg2, arg3, vx1, vz1, vx2, vz2) == 1) { return 1; } - sp2A = temp_ra; - arg0 = temp_a0_2; - arg1 = temp_a1_2; - arg2 = temp_a2_2; - arg3 = temp_a3_2; - sp32 = temp_t2; - sp30 = temp_t3; - if (func_802AEE1C(temp_a0_2, temp_a1_2, temp_a2_2, temp_a3_2, (s32) temp_t4, (s32) temp_t5, (s32) temp_ra, (s32) sp28) == 1) { + if (func_802AEE1C(arg0, arg1, arg2, arg3, vx2, vz2, vx3, vz3) == 1) { return 1; } - if (func_802AEE1C(arg0, arg1, arg2, arg3, (s32) temp_ra, (s32) sp28, (s32) temp_t2, (s32) temp_t3) == 1) { + if (func_802AEE1C(arg0, arg1, arg2, arg3, vx3, vz3, vx1, vz1) == 1) { return 1; } return 0; } -#else -GLOBAL_ASM("asm/non_matchings/memory/func_802AF0FC.s") -#endif #ifdef MIPS_TO_C -//generated by mips_to_c commit 792017ad9d422c2467bd42686f383a5c41f41c75 -s32 func_802AF0FC(s16, s16, s16, s16, s32); /* extern */ -extern u8 D_8014F110; -extern u16 gNumActors; +//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c +extern ? D_8014F110; extern s32 D_8015F584; extern u16 D_8015F58A; extern s16 D_8015F6E8; @@ -3849,87 +3797,69 @@ extern s32 gPrevLoadedAddress; void func_802AF314(void) { s32 sp4C; - ? *temp_v0; + ? *var_v0; s16 temp_a1; s16 temp_a3; s16 temp_s1; s16 temp_s2; s32 temp_fp; - s32 temp_s0; - s32 temp_s5; s32 temp_s6; - s32 temp_s7; + s32 var_s0; + s32 var_s3; + s32 var_s5; + s32 var_s7; + void *temp_v0; void *temp_v0_2; - void *temp_v0_3; - ? *phi_v0; - s32 phi_s7; - s32 phi_v1; - s32 phi_s3; - s32 phi_s5; - s32 phi_s0; - s32 phi_v1_2; - s32 phi_v1_3; - phi_v0 = &D_8014F110; + var_v0 = &D_8014F110; do { - temp_v0 = phi_v0 + 0x10; - temp_v0->unk-A = 0; - temp_v0->unk-6 = 0; - temp_v0->unk-2 = 0; - temp_v0->unk-E = 0; - phi_v0 = temp_v0; - } while (temp_v0 != &gNumActors); + var_v0 += 0x10; + var_v0->unk-A = 0; + var_v0->unk-6 = 0; + var_v0->unk-2 = 0; + var_v0->unk-E = 0; + } while (var_v0 != &gNumActors); D_8015F58A = 0; D_8015F584 = gPrevLoadedAddress; + var_s7 = 0; temp_s6 = (s32) (D_8015F6E8 - D_8015F6EA) / 32; temp_fp = (s32) (D_8015F6F0 - D_8015F6F2) / 32; - phi_s7 = 0; - phi_v1 = (s32) D_8015F588; do { - sp4C = temp_fp * phi_s7; - phi_s5 = 0; + var_s5 = 0; + sp4C = temp_fp * var_s7; loop_4: + var_s0 = 0; + var_s3 = 0; + temp_s1 = (D_8015F6EA + (temp_s6 * var_s5)) - 0x14; temp_s2 = (D_8015F6F2 + sp4C) - 0x14; - temp_s1 = (D_8015F6EA + (temp_s6 * phi_s5)) - 0x14; - phi_s3 = 0; - phi_s0 = 0; - phi_v1_3 = phi_v1; - phi_v1_2 = phi_v1; - if (phi_v1 > 0) { + if ((s32) D_8015F588 > 0) { do { temp_a3 = temp_s2 + temp_fp + 0x28; - temp_v0_2 = phi_s3 + D_8015F580; - if (((s32) temp_v0_2->unkE >= (s32) temp_s2) && ((s32) temp_a3 >= (s32) temp_v0_2->unk8)) { + temp_v0 = var_s3 + D_8015F580; + if ((temp_v0->unkE >= temp_s2) && (temp_a3 >= temp_v0->unk8)) { temp_a1 = temp_s1 + temp_s6 + 0x28; - if (((s32) temp_v0_2->unkA >= (s32) temp_s1) && ((s32) temp_a1 >= (s32) temp_v0_2->unk4)) { - if (func_802AF0FC(temp_s1, temp_a1, temp_s2, temp_a3, phi_s0) == 1) { - temp_v0_3 = (((phi_s7 << 5) + phi_s5) * 4) + &D_8014F110; - if (temp_v0_3->unk2 == 0) { - temp_v0_3->unk0 = (u16) D_8015F58A; + if ((temp_v0->unkA >= temp_s1) && (temp_a1 >= temp_v0->unk4)) { + if (func_802AF0FC(temp_s1, temp_a1, temp_s2, temp_a3, (u16) var_s0) == 1) { + temp_v0_2 = (((var_s7 << 5) + var_s5) * 4) + &D_8014F110; + if (temp_v0_2->unk2 == 0) { + temp_v0_2->unk0 = (u16) D_8015F58A; } - temp_v0_3->unk2 = (u16) (temp_v0_3->unk2 + 1); - *(D_8015F584 + (D_8015F58A * 2)) = (s16) phi_s0; + temp_v0_2->unk2 = (u16) (temp_v0_2->unk2 + 1); + *(D_8015F584 + (D_8015F58A * 2)) = (s16) var_s0; D_8015F58A += 1; } - phi_v1_2 = (s32) D_8015F588; } } - temp_s0 = phi_s0 + 1; - phi_s3 += 0x2C; - phi_s0 = temp_s0; - phi_v1_3 = phi_v1_2; - } while (temp_s0 < phi_v1_2); + var_s0 += 1; + var_s3 += 0x2C; + } while (var_s0 < (s32) D_8015F588); } - temp_s5 = phi_s5 + 1; - phi_v1 = phi_v1_3; - phi_s5 = temp_s5; - phi_v1 = phi_v1_3; - if (temp_s5 != 0x20) { + var_s5 += 1; + if (var_s5 != 0x20) { goto loop_4; } - temp_s7 = phi_s7 + 1; - phi_s7 = temp_s7; - } while (temp_s7 != 0x20); + var_s7 += 1; + } while (var_s7 != 0x20); } #else GLOBAL_ASM("asm/non_matchings/memory/func_802AF314.s") diff --git a/src/memory.h b/src/memory.h index ae89464bc..7c49144bb 100644 --- a/src/memory.h +++ b/src/memory.h @@ -102,6 +102,7 @@ void func_802AD950(UnkActorInner*, f32, f32, f32, f32, f32, f32, f32); s32 func_802ADDC8(UnkActorInner*, f32, f32, f32, f32); f32 func_802AE1C0(f32, f32, f32); s32 func_802AEE1C(s16, s16, s16, s16, s16, s16, s16, s16); +s32 func_802AF0FC(s16, s16, s16, s16, u16); void func_802AF314(); void func_802AF588(s32); void func_802AF5AC(s32, s8); diff --git a/src/render_courses.c b/src/render_courses.c index e35cc6be1..6bd033862 100644 --- a/src/render_courses.c +++ b/src/render_courses.c @@ -1759,7 +1759,7 @@ void func_80295BF8(s32 playerIndex) { } void func_80295C6C(void) { - gPrevLoadedAddress += ALIGNF(D_8015F588 * 0x2C); + gPrevLoadedAddress += ALIGNF(D_8015F588 * sizeof(mk64_surface_map_ram)); D_8015F6E8 += 20; D_8015F6F0 += 20; D_8015F6EA += -20;