From 04097806a550c578aacdff42f6b55f18eb353e63 Mon Sep 17 00:00:00 2001 From: ChiefFruitcake <96551211+ChiefFruitcake@users.noreply.github.com> Date: Sat, 15 Jan 2022 22:17:50 -0500 Subject: [PATCH] code_8008C1D0 part 2 (#138) * Matching more functions in code_8008C1D0 * More matches * Incorporate review comments. Match a few more functions --- .../code_8008C1D0/func_8008D4B4.s | 45 - .../code_8008C1D0/func_8008DF98.s | 100 -- .../code_8008C1D0/func_8008E3C0.s | 59 - .../code_8008C1D0/func_8008E4A4.s | 144 -- .../code_8008C1D0/func_8008E884.s | 22 - .../code_8008C1D0/func_8008E8D8.s | 137 -- .../code_8008C1D0/func_8008EAE0.s | 88 -- .../code_8008C1D0/func_8008EC34.s | 22 - .../code_8008C1D0/func_8008EC88.s | 82 - .../code_8008C1D0/func_8008EDC0.s | 72 - .../code_8008C1D0/func_8008EEC4.s | 9 - .../code_8008C1D0/func_8008EEE4.s | 77 - .../code_8008C1D0/func_8008F008.s | 60 - .../code_8008C1D0/func_8008F0E8.s | 8 - .../code_8008C1D0/func_8008F104.s | 47 - .../code_8008C1D0/func_8008F3E0.s | 6 - .../code_8008C1D0/func_8008F3F4.s | 43 - .../code_8008C1D0/func_8008F494.s | 74 - .../code_8008C1D0/func_8008F5A4.s | 45 - .../code_8008C1D0/func_8008F650.s | 80 - .../code_8008C1D0/func_8008F778.s | 66 - .../code_8008C1D0/func_8008F86C.s | 31 - .../code_8008C1D0/func_8008FA38.s | 66 - .../code_8008C1D0/func_8008FC1C.s | 20 - .../code_8008C1D0/func_8008FC64.s | 32 - .../code_8008C1D0/func_8008FCDC.s | 30 - .../code_8008C1D0/func_8008FD4C.s | 25 - .../code_8008C1D0/func_8008FDA8.s | 21 - .../code_8008C1D0/func_8008FDF4.s | 37 - .../code_8008C1D0/func_8008FE84.s | 24 - .../code_8008C1D0/func_8008FEDC.s | 12 - include/common_structs.h | 15 +- include/variables.h | 3 +- src/code_80027D00.h | 44 +- src/code_800393C0.c | 14 +- src/code_8008C1D0.c | 1338 ++++++----------- src/code_8008C1D0.h | 52 +- 37 files changed, 531 insertions(+), 2519 deletions(-) delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008D4B4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008DF98.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008E3C0.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008E4A4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008E884.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008E8D8.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008EAE0.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008EC34.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008EC88.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008EDC0.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008EEC4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008EEE4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F008.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F0E8.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F104.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F3E0.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F3F4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F494.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F5A4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F650.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F778.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008F86C.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FA38.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FC1C.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FC64.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FCDC.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FD4C.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FDA8.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FDF4.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FE84.s delete mode 100644 asm/non_matchings/code_8008C1D0/func_8008FEDC.s diff --git a/asm/non_matchings/code_8008C1D0/func_8008D4B4.s b/asm/non_matchings/code_8008C1D0/func_8008D4B4.s deleted file mode 100644 index 6b51b9e45..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008D4B4.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_8008D4B4 -/* 08E0B4 8008D4B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08E0B8 8008D4B8 AFBF0014 */ sw $ra, 0x14($sp) -/* 08E0BC 8008D4BC 848200DC */ lh $v0, 0xdc($a0) -/* 08E0C0 8008D4C0 C4840214 */ lwc1 $f4, 0x214($a0) -/* 08E0C4 8008D4C4 00803825 */ move $a3, $a0 -/* 08E0C8 8008D4C8 18400004 */ blez $v0, .L8008D4DC -/* 08E0CC 8008D4CC E484009C */ swc1 $f4, 0x9c($a0) -/* 08E0D0 8008D4D0 244EFFFF */ addiu $t6, $v0, -1 -/* 08E0D4 8008D4D4 A48E00DC */ sh $t6, 0xdc($a0) -/* 08E0D8 8008D4D8 848200DC */ lh $v0, 0xdc($a0) -.L8008D4DC: -/* 08E0DC 8008D4DC 10400008 */ beqz $v0, .L8008D500 -/* 08E0E0 8008D4E0 24E40080 */ addiu $a0, $a3, 0x80 -/* 08E0E4 8008D4E4 24E40080 */ addiu $a0, $a3, 0x80 -/* 08E0E8 8008D4E8 3C0543C8 */ lui $a1, 0x43c8 -/* 08E0EC 8008D4EC 3C063F00 */ lui $a2, 0x3f00 -/* 08E0F0 8008D4F0 0C008973 */ jal move_f32_towards -/* 08E0F4 8008D4F4 AFA70018 */ sw $a3, 0x18($sp) -/* 08E0F8 8008D4F8 10000007 */ b .L8008D518 -/* 08E0FC 8008D4FC 8FA70018 */ lw $a3, 0x18($sp) -.L8008D500: -/* 08E100 8008D500 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 08E104 8008D504 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 08E108 8008D508 24050000 */ li $a1, 0 -/* 08E10C 8008D50C 0C008973 */ jal move_f32_towards -/* 08E110 8008D510 AFA70018 */ sw $a3, 0x18($sp) -/* 08E114 8008D514 8FA70018 */ lw $a3, 0x18($sp) -.L8008D518: -/* 08E118 8008D518 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08E11C 8008D51C 44813000 */ mtc1 $at, $f6 -/* 08E120 8008D520 C4E80080 */ lwc1 $f8, 0x80($a3) -/* 08E124 8008D524 4606403E */ c.le.s $f8, $f6 -/* 08E128 8008D528 00000000 */ nop -/* 08E12C 8008D52C 45020006 */ bc1fl .L8008D548 -/* 08E130 8008D530 8FBF0014 */ lw $ra, 0x14($sp) -/* 08E134 8008D534 8CEF00BC */ lw $t7, 0xbc($a3) -/* 08E138 8008D538 2401DFFF */ li $at, -8193 -/* 08E13C 8008D53C 01E1C024 */ and $t8, $t7, $at -/* 08E140 8008D540 ACF800BC */ sw $t8, 0xbc($a3) -/* 08E144 8008D544 8FBF0014 */ lw $ra, 0x14($sp) -.L8008D548: -/* 08E148 8008D548 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08E14C 8008D54C 03E00008 */ jr $ra -/* 08E150 8008D550 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008DF98.s b/asm/non_matchings/code_8008C1D0/func_8008DF98.s deleted file mode 100644 index 5b4d1a451..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008DF98.s +++ /dev/null @@ -1,100 +0,0 @@ -glabel func_8008DF98 -/* 08EB98 8008DF98 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 08EB9C 8008DF9C AFB10018 */ sw $s1, 0x18($sp) -/* 08EBA0 8008DFA0 00058E00 */ sll $s1, $a1, 0x18 -/* 08EBA4 8008DFA4 00117603 */ sra $t6, $s1, 0x18 -/* 08EBA8 8008DFA8 AFA50024 */ sw $a1, 0x24($sp) -/* 08EBAC 8008DFAC 000E2E00 */ sll $a1, $t6, 0x18 -/* 08EBB0 8008DFB0 AFBF001C */ sw $ra, 0x1c($sp) -/* 08EBB4 8008DFB4 AFB00014 */ sw $s0, 0x14($sp) -/* 08EBB8 8008DFB8 00057E03 */ sra $t7, $a1, 0x18 -/* 08EBBC 8008DFBC 00808025 */ move $s0, $a0 -/* 08EBC0 8008DFC0 01C08825 */ move $s1, $t6 -/* 08EBC4 8008DFC4 0C0230D5 */ jal func_8008C354 -/* 08EBC8 8008DFC8 01E02825 */ move $a1, $t7 -/* 08EBCC 8008DFCC 8E18000C */ lw $t8, 0xc($s0) -/* 08EBD0 8008DFD0 8E0800BC */ lw $t0, 0xbc($s0) -/* 08EBD4 8008DFD4 2401BFFF */ li $at, -16385 -/* 08EBD8 8008DFD8 0301C824 */ and $t9, $t8, $at -/* 08EBDC 8008DFDC 3C014002 */ lui $at, 0x4002 -/* 08EBE0 8008DFE0 01014825 */ or $t1, $t0, $at -/* 08EBE4 8008DFE4 2401FFEF */ li $at, -17 -/* 08EBE8 8008DFE8 01215824 */ and $t3, $t1, $at -/* 08EBEC 8008DFEC C604008C */ lwc1 $f4, 0x8c($s0) -/* 08EBF0 8008DFF0 AE0900BC */ sw $t1, 0xbc($s0) -/* 08EBF4 8008DFF4 AE19000C */ sw $t9, 0xc($s0) -/* 08EBF8 8008DFF8 AE0B00BC */ sw $t3, 0xbc($s0) -/* 08EBFC 8008DFFC 3C01800F */ lui $at, %hi(D_800EF588) -/* 08EC00 8008E000 D428F588 */ ldc1 $f8, %lo(D_800EF588)($at) -/* 08EC04 8008E004 460021A1 */ cvt.d.s $f6, $f4 -/* 08EC08 8008E008 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08EC0C 8008E00C 46283282 */ mul.d $f10, $f6, $f8 -/* 08EC10 8008E010 44819000 */ mtc1 $at, $f18 -/* 08EC14 8008E014 A60000B0 */ sh $zero, 0xb0($s0) -/* 08EC18 8008E018 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e -/* 08EC1C 8008E01C E6120224 */ swc1 $f18, 0x224($s0) -/* 08EC20 8008E020 00117080 */ sll $t6, $s1, 2 -/* 08EC24 8008E024 3C198016 */ lui $t9, %hi(D_80165190) # $t9, 0x8016 -/* 08EC28 8008E028 24180002 */ li $t8, 2 -/* 08EC2C 8008E02C 46205420 */ cvt.s.d $f16, $f10 -/* 08EC30 8008E030 27395190 */ addiu $t9, %lo(D_80165190) # addiu $t9, $t9, 0x5190 -/* 08EC34 8008E034 00111840 */ sll $v1, $s1, 1 -/* 08EC38 8008E038 24050001 */ li $a1, 1 -/* 08EC3C 8008E03C E610008C */ swc1 $f16, 0x8c($s0) -/* 08EC40 8008E040 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at) -/* 08EC44 8008E044 3C018019 */ lui $at, %hi(D_8018D930) # 0x8019 -/* 08EC48 8008E048 002E0821 */ addu $at, $at, $t6 -/* 08EC4C 8008E04C 4600218D */ trunc.w.s $f6, $f4 -/* 08EC50 8008E050 00791021 */ addu $v0, $v1, $t9 -/* 08EC54 8008E054 440D3000 */ mfc1 $t5, $f6 -/* 08EC58 8008E058 00000000 */ nop -/* 08EC5C 8008E05C AC2DD930 */ sw $t5, %lo(D_8018D930)($at) # -0x26d0($at) -/* 08EC60 8008E060 860F002E */ lh $t7, 0x2e($s0) -/* 08EC64 8008E064 A61800B2 */ sh $t8, 0xb2($s0) -/* 08EC68 8008E068 A60000C0 */ sh $zero, 0xc0($s0) -/* 08EC6C 8008E06C AE00007C */ sw $zero, 0x7c($s0) -/* 08EC70 8008E070 A6000078 */ sh $zero, 0x78($s0) -/* 08EC74 8008E074 A60F00AE */ sh $t7, 0xae($s0) -/* 08EC78 8008E078 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019 -/* 08EC7C 8008E07C A4450000 */ sh $a1, ($v0) -/* 08EC80 8008E080 A4450010 */ sh $a1, 0x10($v0) -/* 08EC84 8008E084 A4450020 */ sh $a1, 0x20($v0) -/* 08EC88 8008E088 A4450030 */ sh $a1, 0x30($v0) -/* 08EC8C 8008E08C 00230821 */ addu $at, $at, $v1 -/* 08EC90 8008E090 A420D920 */ sh $zero, %lo(D_8018D920)($at) # -0x26e0($at) -/* 08EC94 8008E094 96040000 */ lhu $a0, ($s0) -/* 08EC98 8008E098 24014000 */ li $at, 16384 -/* 08EC9C 8008E09C 02002825 */ move $a1, $s0 -/* 08ECA0 8008E0A0 30884000 */ andi $t0, $a0, 0x4000 -/* 08ECA4 8008E0A4 1501000C */ bne $t0, $at, .L8008E0D8 -/* 08ECA8 8008E0A8 30890100 */ andi $t1, $a0, 0x100 -/* 08ECAC 8008E0AC 24010100 */ li $at, 256 -/* 08ECB0 8008E0B0 11210009 */ beq $t1, $at, .L8008E0D8 -/* 08ECB4 8008E0B4 322400FF */ andi $a0, $s1, 0xff -/* 08ECB8 8008E0B8 96050254 */ lhu $a1, 0x254($s0) -/* 08ECBC 8008E0BC 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900 -/* 08ECC0 8008E0C0 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003 -/* 08ECC4 8008E0C4 00055100 */ sll $t2, $a1, 4 -/* 08ECC8 8008E0C8 0C03243D */ jal func_800C90F4 -/* 08ECCC 8008E0CC 01412821 */ addu $a1, $t2, $at -/* 08ECD0 8008E0D0 10000003 */ b .L8008E0E0 -/* 08ECD4 8008E0D4 00000000 */ nop -.L8008E0D8: -/* 08ECD8 8008E0D8 0C00263F */ jal func_800098FC -/* 08ECDC 8008E0DC 02202025 */ move $a0, $s1 -.L8008E0E0: -/* 08ECE0 8008E0E0 3C0B800E */ lui $t3, %hi(gModeSelection) # $t3, 0x800e -/* 08ECE4 8008E0E4 8D6BC53C */ lw $t3, %lo(gModeSelection)($t3) -/* 08ECE8 8008E0E8 24010003 */ li $at, 3 -/* 08ECEC 8008E0EC 02002025 */ move $a0, $s0 -/* 08ECF0 8008E0F0 15610004 */ bne $t3, $at, .L8008E104 -/* 08ECF4 8008E0F4 00112E00 */ sll $a1, $s1, 0x18 -/* 08ECF8 8008E0F8 00056603 */ sra $t4, $a1, 0x18 -/* 08ECFC 8008E0FC 0C01AE2D */ jal func_8006B8B4 -/* 08ED00 8008E100 01802825 */ move $a1, $t4 -.L8008E104: -/* 08ED04 8008E104 8FBF001C */ lw $ra, 0x1c($sp) -/* 08ED08 8008E108 8FB00014 */ lw $s0, 0x14($sp) -/* 08ED0C 8008E10C 8FB10018 */ lw $s1, 0x18($sp) -/* 08ED10 8008E110 03E00008 */ jr $ra -/* 08ED14 8008E114 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/code_8008C1D0/func_8008E3C0.s b/asm/non_matchings/code_8008C1D0/func_8008E3C0.s deleted file mode 100644 index cca936d2d..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008E3C0.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_8008E3C0 -/* 08EFC0 8008E3C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08EFC4 8008E3C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08EFC8 8008E3C8 AFA5001C */ sw $a1, 0x1c($sp) -/* 08EFCC 8008E3CC 00803825 */ move $a3, $a0 -/* 08EFD0 8008E3D0 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 08EFD4 8008E3D4 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 08EFD8 8008E3D8 AFA70018 */ sw $a3, 0x18($sp) -/* 08EFDC 8008E3DC 24840224 */ addiu $a0, $a0, 0x224 -/* 08EFE0 8008E3E0 0C008973 */ jal move_f32_towards -/* 08EFE4 8008E3E4 3C053F80 */ lui $a1, 0x3f80 -/* 08EFE8 8008E3E8 8FA70018 */ lw $a3, 0x18($sp) -/* 08EFEC 8008E3EC 3C05800E */ lui $a1, %hi(gKartBoundingBoxTable) # 0x800e -/* 08EFF0 8008E3F0 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 08EFF4 8008E3F4 94EE0254 */ lhu $t6, 0x254($a3) -/* 08EFF8 8008E3F8 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 08EFFC 8008E3FC 24E40070 */ addiu $a0, $a3, 0x70 -/* 08F000 8008E400 000E7880 */ sll $t7, $t6, 2 -/* 08F004 8008E404 00AF2821 */ addu $a1, $a1, $t7 -/* 08F008 8008E408 0C008973 */ jal move_f32_towards -/* 08F00C 8008E40C 8CA526B0 */ lw $a1, %lo(gKartBoundingBoxTable)($a1) # 0x26b0($a1) -/* 08F010 8008E410 8FA70018 */ lw $a3, 0x18($sp) -/* 08F014 8008E414 3C01BFFF */ lui $at, (0xBFFFFFFF >> 16) # lui $at, 0xbfff -/* 08F018 8008E418 3421FFFF */ ori $at, (0xBFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F01C 8008E41C 8CF800BC */ lw $t8, 0xbc($a3) -/* 08F020 8008E420 94E80254 */ lhu $t0, 0x254($a3) -/* 08F024 8008E424 3C030002 */ lui $v1, 2 -/* 08F028 8008E428 0301C824 */ and $t9, $t8, $at -/* 08F02C 8008E42C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08F030 8008E430 44812000 */ mtc1 $at, $f4 -/* 08F034 8008E434 3C01800E */ lui $at, %hi(gKartBoundingBoxTable) -/* 08F038 8008E438 00084880 */ sll $t1, $t0, 2 -/* 08F03C 8008E43C 00290821 */ addu $at, $at, $t1 -/* 08F040 8008E440 ACF900BC */ sw $t9, 0xbc($a3) -/* 08F044 8008E444 E4E40224 */ swc1 $f4, 0x224($a3) -/* 08F048 8008E448 C42626B0 */ lwc1 $f6, %lo(gKartBoundingBoxTable)($at) -/* 08F04C 8008E44C 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 08F050 8008E450 44814000 */ mtc1 $at, $f8 -/* 08F054 8008E454 3C010800 */ lui $at, 0x800 -/* 08F058 8008E458 03215825 */ or $t3, $t9, $at -/* 08F05C 8008E45C 01636024 */ and $t4, $t3, $v1 -/* 08F060 8008E460 01601025 */ move $v0, $t3 -/* 08F064 8008E464 A4E00DB6 */ sh $zero, 0xdb6($a3) -/* 08F068 8008E468 ACEB00BC */ sw $t3, 0xbc($a3) -/* 08F06C 8008E46C E4E60070 */ swc1 $f6, 0x70($a3) -/* 08F070 8008E470 146C0004 */ bne $v1, $t4, .L8008E484 -/* 08F074 8008E474 E4E80DC4 */ swc1 $f8, 0xdc4($a3) -/* 08F078 8008E478 84ED00AE */ lh $t5, 0xae($a3) -/* 08F07C 8008E47C 01601025 */ move $v0, $t3 -/* 08F080 8008E480 A4ED002E */ sh $t5, 0x2e($a3) -.L8008E484: -/* 08F084 8008E484 3C01FFFD */ lui $at, (0xFFFDFFFF >> 16) # lui $at, 0xfffd -/* 08F088 8008E488 3421FFFF */ ori $at, (0xFFFDFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F08C 8008E48C 00417024 */ and $t6, $v0, $at -/* 08F090 8008E490 ACEE00BC */ sw $t6, 0xbc($a3) -/* 08F094 8008E494 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F098 8008E498 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F09C 8008E49C 03E00008 */ jr $ra -/* 08F0A0 8008E4A0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008E4A4.s b/asm/non_matchings/code_8008C1D0/func_8008E4A4.s deleted file mode 100644 index 261c4f353..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008E4A4.s +++ /dev/null @@ -1,144 +0,0 @@ -glabel func_8008E4A4 -/* 08F0A4 8008E4A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F0A8 8008E4A8 AFA5001C */ sw $a1, 0x1c($sp) -/* 08F0AC 8008E4AC AFBF0014 */ sw $ra, 0x14($sp) -/* 08F0B0 8008E4B0 8C8900BC */ lw $t1, 0xbc($a0) -/* 08F0B4 8008E4B4 44800000 */ mtc1 $zero, $f0 -/* 08F0B8 8008E4B8 84990042 */ lh $t9, 0x42($a0) -/* 08F0BC 8008E4BC 2401FF3F */ li $at, -193 -/* 08F0C0 8008E4C0 01215024 */ and $t2, $t1, $at -/* 08F0C4 8008E4C4 00057600 */ sll $t6, $a1, 0x18 -/* 08F0C8 8008E4C8 2418000F */ li $t8, 15 -/* 08F0CC 8008E4CC 314C0008 */ andi $t4, $t2, 8 -/* 08F0D0 8008E4D0 24010008 */ li $at, 8 -/* 08F0D4 8008E4D4 27280AAA */ addiu $t0, $t9, 0xaaa -/* 08F0D8 8008E4D8 000E2E03 */ sra $a1, $t6, 0x18 -/* 08F0DC 8008E4DC A4800206 */ sh $zero, 0x206($a0) -/* 08F0E0 8008E4E0 A48000C4 */ sh $zero, 0xc4($a0) -/* 08F0E4 8008E4E4 A48000C0 */ sh $zero, 0xc0($a0) -/* 08F0E8 8008E4E8 AC80007C */ sw $zero, 0x7c($a0) -/* 08F0EC 8008E4EC A49800C2 */ sh $t8, 0xc2($a0) -/* 08F0F0 8008E4F0 A4880042 */ sh $t0, 0x42($a0) -/* 08F0F4 8008E4F4 AC8A00BC */ sw $t2, 0xbc($a0) -/* 08F0F8 8008E4F8 E480008C */ swc1 $f0, 0x8c($a0) -/* 08F0FC 8008E4FC E480009C */ swc1 $f0, 0x9c($a0) -/* 08F100 8008E500 E4800034 */ swc1 $f0, 0x34($a0) -/* 08F104 8008E504 11810004 */ beq $t4, $at, .L8008E518 -/* 08F108 8008E508 E480003C */ swc1 $f0, 0x3c($a0) -/* 08F10C 8008E50C 848D00E0 */ lh $t5, 0xe0($a0) -/* 08F110 8008E510 25AE0001 */ addiu $t6, $t5, 1 -/* 08F114 8008E514 A48E00E0 */ sh $t6, 0xe0($a0) -.L8008E518: -/* 08F118 8008E518 848F00E0 */ lh $t7, 0xe0($a0) -/* 08F11C 8008E51C 24060003 */ li $a2, 3 -/* 08F120 8008E520 24030001 */ li $v1, 1 -/* 08F124 8008E524 14CF0029 */ bne $a2, $t7, .L8008E5CC -/* 08F128 8008E528 3C01FEFF */ lui $at, (0xFEFFFFFF >> 16) # lui $at, 0xfeff -/* 08F12C 8008E52C 8C9800BC */ lw $t8, 0xbc($a0) -/* 08F130 8008E530 3421FFFF */ ori $at, (0xFEFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F134 8008E534 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016 -/* 08F138 8008E538 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190 -/* 08F13C 8008E53C 00054040 */ sll $t0, $a1, 1 -/* 08F140 8008E540 0301C824 */ and $t9, $t8, $at -/* 08F144 8008E544 AC9900BC */ sw $t9, 0xbc($a0) -/* 08F148 8008E548 A48000A8 */ sh $zero, 0xa8($a0) -/* 08F14C 8008E54C A4800236 */ sh $zero, 0x236($a0) -/* 08F150 8008E550 01091021 */ addu $v0, $t0, $t1 -/* 08F154 8008E554 A4430000 */ sh $v1, ($v0) -/* 08F158 8008E558 A4430010 */ sh $v1, 0x10($v0) -/* 08F15C 8008E55C A4430020 */ sh $v1, 0x20($v0) -/* 08F160 8008E560 A4430030 */ sh $v1, 0x30($v0) -/* 08F164 8008E564 948A0000 */ lhu $t2, ($a0) -/* 08F168 8008E568 2401FF7F */ li $at, -129 -/* 08F16C 8008E56C 00056080 */ sll $t4, $a1, 2 -/* 08F170 8008E570 3C0D8016 */ lui $t5, %hi(D_80165460) # 0x8016 -/* 08F174 8008E574 01415824 */ and $t3, $t2, $at -/* 08F178 8008E578 A4800042 */ sh $zero, 0x42($a0) -/* 08F17C 8008E57C A48B0000 */ sh $t3, ($a0) -/* 08F180 8008E580 01AC6821 */ addu $t5, $t5, $t4 -/* 08F184 8008E584 8DAD5460 */ lw $t5, %lo(D_80165460)($t5) # 0x5460($t5) -/* 08F188 8008E588 316F4000 */ andi $t7, $t3, 0x4000 -/* 08F18C 8008E58C 24014000 */ li $at, 16384 -/* 08F190 8008E590 146D0007 */ bne $v1, $t5, .L8008E5B0 -/* 08F194 8008E594 3C18800E */ lui $t8, %hi(gModeSelection) # $t8, 0x800e -/* 08F198 8008E598 15E10005 */ bne $t7, $at, .L8008E5B0 -/* 08F19C 8008E59C 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 08F1A0 8008E5A0 44813000 */ mtc1 $at, $f6 -/* 08F1A4 8008E5A4 C484009C */ lwc1 $f4, 0x9c($a0) -/* 08F1A8 8008E5A8 46062200 */ add.s $f8, $f4, $f6 -/* 08F1AC 8008E5AC E488009C */ swc1 $f8, 0x9c($a0) -.L8008E5B0: -/* 08F1B0 8008E5B0 8F18C53C */ lw $t8, %lo(gModeSelection)($t8) -/* 08F1B4 8008E5B4 54D8003F */ bnel $a2, $t8, .L8008E6B4 -/* 08F1B8 8008E5B8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F1BC 8008E5BC 0C01AE2D */ jal func_8006B8B4 -/* 08F1C0 8008E5C0 00000000 */ nop -/* 08F1C4 8008E5C4 1000003B */ b .L8008E6B4 -/* 08F1C8 8008E5C8 8FBF0014 */ lw $ra, 0x14($sp) -.L8008E5CC: -/* 08F1CC 8008E5CC 849900A8 */ lh $t9, 0xa8($a0) -/* 08F1D0 8008E5D0 27280080 */ addiu $t0, $t9, 0x80 -/* 08F1D4 8008E5D4 A48800A8 */ sh $t0, 0xa8($a0) -/* 08F1D8 8008E5D8 848900A8 */ lh $t1, 0xa8($a0) -/* 08F1DC 8008E5DC 29212000 */ slti $at, $t1, 0x2000 -/* 08F1E0 8008E5E0 54200034 */ bnel $at, $zero, .L8008E6B4 -/* 08F1E4 8008E5E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F1E8 8008E5E8 848A0236 */ lh $t2, 0x236($a0) -/* 08F1EC 8008E5EC 3C01FEFF */ lui $at, (0xFEFFFFFF >> 16) # lui $at, 0xfeff -/* 08F1F0 8008E5F0 A48000A8 */ sh $zero, 0xa8($a0) -/* 08F1F4 8008E5F4 254BFFFF */ addiu $t3, $t2, -1 -/* 08F1F8 8008E5F8 A48B0236 */ sh $t3, 0x236($a0) -/* 08F1FC 8008E5FC 848C0236 */ lh $t4, 0x236($a0) -/* 08F200 8008E600 24030001 */ li $v1, 1 -/* 08F204 8008E604 3421FFFF */ ori $at, (0xFEFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F208 8008E608 15800029 */ bnez $t4, .L8008E6B0 -/* 08F20C 8008E60C 00057840 */ sll $t7, $a1, 1 -/* 08F210 8008E610 8C8D00BC */ lw $t5, 0xbc($a0) -/* 08F214 8008E614 3C188016 */ lui $t8, %hi(D_80165190) # $t8, 0x8016 -/* 08F218 8008E618 27185190 */ addiu $t8, %lo(D_80165190) # addiu $t8, $t8, 0x5190 -/* 08F21C 8008E61C 01A17024 */ and $t6, $t5, $at -/* 08F220 8008E620 AC8E00BC */ sw $t6, 0xbc($a0) -/* 08F224 8008E624 A4800236 */ sh $zero, 0x236($a0) -/* 08F228 8008E628 01F81021 */ addu $v0, $t7, $t8 -/* 08F22C 8008E62C A4430000 */ sh $v1, ($v0) -/* 08F230 8008E630 A4430010 */ sh $v1, 0x10($v0) -/* 08F234 8008E634 A4430020 */ sh $v1, 0x20($v0) -/* 08F238 8008E638 A4430030 */ sh $v1, 0x30($v0) -/* 08F23C 8008E63C A4800042 */ sh $zero, 0x42($a0) -/* 08F240 8008E640 3C19800E */ lui $t9, %hi(gModeSelection) # $t9, 0x800e -/* 08F244 8008E644 8F39C53C */ lw $t9, %lo(gModeSelection)($t9) -/* 08F248 8008E648 54D90008 */ bnel $a2, $t9, .L8008E66C -/* 08F24C 8008E64C 00054080 */ sll $t0, $a1, 2 -/* 08F250 8008E650 AFA40018 */ sw $a0, 0x18($sp) -/* 08F254 8008E654 0C01AE2D */ jal func_8006B8B4 -/* 08F258 8008E658 A3A5001F */ sb $a1, 0x1f($sp) -/* 08F25C 8008E65C 24030001 */ li $v1, 1 -/* 08F260 8008E660 8FA40018 */ lw $a0, 0x18($sp) -/* 08F264 8008E664 83A5001F */ lb $a1, 0x1f($sp) -/* 08F268 8008E668 00054080 */ sll $t0, $a1, 2 -.L8008E66C: -/* 08F26C 8008E66C 3C098016 */ lui $t1, %hi(D_80165460) # 0x8016 -/* 08F270 8008E670 01284821 */ addu $t1, $t1, $t0 -/* 08F274 8008E674 8D295460 */ lw $t1, %lo(D_80165460)($t1) # 0x5460($t1) -/* 08F278 8008E678 5469000B */ bnel $v1, $t1, .L8008E6A8 -/* 08F27C 8008E67C 948C0000 */ lhu $t4, ($a0) -/* 08F280 8008E680 948A0000 */ lhu $t2, ($a0) -/* 08F284 8008E684 24014000 */ li $at, 16384 -/* 08F288 8008E688 314B4000 */ andi $t3, $t2, 0x4000 -/* 08F28C 8008E68C 15610005 */ bne $t3, $at, .L8008E6A4 -/* 08F290 8008E690 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 08F294 8008E694 44818000 */ mtc1 $at, $f16 -/* 08F298 8008E698 C48A009C */ lwc1 $f10, 0x9c($a0) -/* 08F29C 8008E69C 46105480 */ add.s $f18, $f10, $f16 -/* 08F2A0 8008E6A0 E492009C */ swc1 $f18, 0x9c($a0) -.L8008E6A4: -/* 08F2A4 8008E6A4 948C0000 */ lhu $t4, ($a0) -.L8008E6A8: -/* 08F2A8 8008E6A8 318DFF7F */ andi $t5, $t4, 0xff7f -/* 08F2AC 8008E6AC A48D0000 */ sh $t5, ($a0) -.L8008E6B0: -/* 08F2B0 8008E6B0 8FBF0014 */ lw $ra, 0x14($sp) -.L8008E6B4: -/* 08F2B4 8008E6B4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F2B8 8008E6B8 03E00008 */ jr $ra -/* 08F2BC 8008E6BC 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008E884.s b/asm/non_matchings/code_8008C1D0/func_8008E884.s deleted file mode 100644 index 80da48552..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008E884.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_8008E884 -/* 08F484 8008E884 AFA50004 */ sw $a1, 4($sp) -/* 08F488 8008E888 8C9800BC */ lw $t8, 0xbc($a0) -/* 08F48C 8008E88C 00057600 */ sll $t6, $a1, 0x18 -/* 08F490 8008E890 3C01FEFF */ lui $at, (0xFEFFFFFF >> 16) # lui $at, 0xfeff -/* 08F494 8008E894 000E7E03 */ sra $t7, $t6, 0x18 -/* 08F498 8008E898 3421FFFF */ ori $at, (0xFEFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F49C 8008E89C 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016 -/* 08F4A0 8008E8A0 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190 -/* 08F4A4 8008E8A4 000F4040 */ sll $t0, $t7, 1 -/* 08F4A8 8008E8A8 0301C824 */ and $t9, $t8, $at -/* 08F4AC 8008E8AC 24030001 */ li $v1, 1 -/* 08F4B0 8008E8B0 AC9900BC */ sw $t9, 0xbc($a0) -/* 08F4B4 8008E8B4 A48000A8 */ sh $zero, 0xa8($a0) -/* 08F4B8 8008E8B8 A4800236 */ sh $zero, 0x236($a0) -/* 08F4BC 8008E8BC 01091021 */ addu $v0, $t0, $t1 -/* 08F4C0 8008E8C0 A4430000 */ sh $v1, ($v0) -/* 08F4C4 8008E8C4 A4430010 */ sh $v1, 0x10($v0) -/* 08F4C8 8008E8C8 A4430020 */ sh $v1, 0x20($v0) -/* 08F4CC 8008E8CC A4430030 */ sh $v1, 0x30($v0) -/* 08F4D0 8008E8D0 03E00008 */ jr $ra -/* 08F4D4 8008E8D4 A4800042 */ sh $zero, 0x42($a0) diff --git a/asm/non_matchings/code_8008C1D0/func_8008E8D8.s b/asm/non_matchings/code_8008C1D0/func_8008E8D8.s deleted file mode 100644 index 2bbc32ef4..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008E8D8.s +++ /dev/null @@ -1,137 +0,0 @@ -glabel func_8008E8D8 -/* 08F4D8 8008E8D8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F4DC 8008E8DC AFBF0014 */ sw $ra, 0x14($sp) -/* 08F4E0 8008E8E0 AFA5001C */ sw $a1, 0x1c($sp) -/* 08F4E4 8008E8E4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 08F4E8 8008E8E8 44813000 */ mtc1 $at, $f6 -/* 08F4EC 8008E8EC C484008C */ lwc1 $f4, 0x8c($a0) -/* 08F4F0 8008E8F0 8C8900BC */ lw $t1, 0xbc($a0) -/* 08F4F4 8008E8F4 84990042 */ lh $t9, 0x42($a0) -/* 08F4F8 8008E8F8 46062203 */ div.s $f8, $f4, $f6 -/* 08F4FC 8008E8FC 2401FF3F */ li $at, -193 -/* 08F500 8008E900 01215024 */ and $t2, $t1, $at -/* 08F504 8008E904 44805000 */ mtc1 $zero, $f10 -/* 08F508 8008E908 00057600 */ sll $t6, $a1, 0x18 -/* 08F50C 8008E90C 27280AAA */ addiu $t0, $t9, 0xaaa -/* 08F510 8008E910 000E2E03 */ sra $a1, $t6, 0x18 -/* 08F514 8008E914 2418000F */ li $t8, 15 -/* 08F518 8008E918 A4880042 */ sh $t0, 0x42($a0) -/* 08F51C 8008E91C 314C0008 */ andi $t4, $t2, 8 -/* 08F520 8008E920 24010008 */ li $at, 8 -/* 08F524 8008E924 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016 -/* 08F528 8008E928 A4800206 */ sh $zero, 0x206($a0) -/* 08F52C 8008E92C A48000C4 */ sh $zero, 0xc4($a0) -/* 08F530 8008E930 A48000C0 */ sh $zero, 0xc0($a0) -/* 08F534 8008E934 AC80007C */ sw $zero, 0x7c($a0) -/* 08F538 8008E938 A49800C2 */ sh $t8, 0xc2($a0) -/* 08F53C 8008E93C AC8A00BC */ sw $t2, 0xbc($a0) -/* 08F540 8008E940 24030001 */ li $v1, 1 -/* 08F544 8008E944 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190 -/* 08F548 8008E948 00054040 */ sll $t0, $a1, 1 -/* 08F54C 8008E94C E48A009C */ swc1 $f10, 0x9c($a0) -/* 08F550 8008E950 11810004 */ beq $t4, $at, .L8008E964 -/* 08F554 8008E954 E488008C */ swc1 $f8, 0x8c($a0) -/* 08F558 8008E958 848D00E0 */ lh $t5, 0xe0($a0) -/* 08F55C 8008E95C 25AE0001 */ addiu $t6, $t5, 1 -/* 08F560 8008E960 A48E00E0 */ sh $t6, 0xe0($a0) -.L8008E964: -/* 08F564 8008E964 848F00E0 */ lh $t7, 0xe0($a0) -/* 08F568 8008E968 24010004 */ li $at, 4 -/* 08F56C 8008E96C 01091021 */ addu $v0, $t0, $t1 -/* 08F570 8008E970 15E10024 */ bne $t7, $at, .L8008EA04 -/* 08F574 8008E974 00055080 */ sll $t2, $a1, 2 -/* 08F578 8008E978 8C9800BC */ lw $t8, 0xbc($a0) -/* 08F57C 8008E97C 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff -/* 08F580 8008E980 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F584 8008E984 0301C824 */ and $t9, $t8, $at -/* 08F588 8008E988 AC9900BC */ sw $t9, 0xbc($a0) -/* 08F58C 8008E98C A48000A8 */ sh $zero, 0xa8($a0) -/* 08F590 8008E990 A4800236 */ sh $zero, 0x236($a0) -/* 08F594 8008E994 A4430030 */ sh $v1, 0x30($v0) -/* 08F598 8008E998 A4430000 */ sh $v1, ($v0) -/* 08F59C 8008E99C A4430010 */ sh $v1, 0x10($v0) -/* 08F5A0 8008E9A0 A4430020 */ sh $v1, 0x20($v0) -/* 08F5A4 8008E9A4 3C0B8016 */ lui $t3, %hi(D_80165460) # 0x8016 -/* 08F5A8 8008E9A8 A4800042 */ sh $zero, 0x42($a0) -/* 08F5AC 8008E9AC 016A5821 */ addu $t3, $t3, $t2 -/* 08F5B0 8008E9B0 8D6B5460 */ lw $t3, %lo(D_80165460)($t3) # 0x5460($t3) -/* 08F5B4 8008E9B4 3C0E800E */ lui $t6, %hi(gModeSelection) # $t6, 0x800e -/* 08F5B8 8008E9B8 146B000A */ bne $v1, $t3, .L8008E9E4 -/* 08F5BC 8008E9BC 00000000 */ nop -/* 08F5C0 8008E9C0 948C0000 */ lhu $t4, ($a0) -/* 08F5C4 8008E9C4 24014000 */ li $at, 16384 -/* 08F5C8 8008E9C8 318D4000 */ andi $t5, $t4, 0x4000 -/* 08F5CC 8008E9CC 15A10005 */ bne $t5, $at, .L8008E9E4 -/* 08F5D0 8008E9D0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 08F5D4 8008E9D4 44819000 */ mtc1 $at, $f18 -/* 08F5D8 8008E9D8 C490009C */ lwc1 $f16, 0x9c($a0) -/* 08F5DC 8008E9DC 46128100 */ add.s $f4, $f16, $f18 -/* 08F5E0 8008E9E0 E484009C */ swc1 $f4, 0x9c($a0) -.L8008E9E4: -/* 08F5E4 8008E9E4 8DCEC53C */ lw $t6, %lo(gModeSelection)($t6) -/* 08F5E8 8008E9E8 24010003 */ li $at, 3 -/* 08F5EC 8008E9EC 55C10039 */ bnel $t6, $at, .L8008EAD4 -/* 08F5F0 8008E9F0 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F5F4 8008E9F4 0C01AE2D */ jal func_8006B8B4 -/* 08F5F8 8008E9F8 00000000 */ nop -/* 08F5FC 8008E9FC 10000035 */ b .L8008EAD4 -/* 08F600 8008EA00 8FBF0014 */ lw $ra, 0x14($sp) -.L8008EA04: -/* 08F604 8008EA04 848F00A8 */ lh $t7, 0xa8($a0) -/* 08F608 8008EA08 25F80090 */ addiu $t8, $t7, 0x90 -/* 08F60C 8008EA0C A49800A8 */ sh $t8, 0xa8($a0) -/* 08F610 8008EA10 849900A8 */ lh $t9, 0xa8($a0) -/* 08F614 8008EA14 2B212000 */ slti $at, $t9, 0x2000 -/* 08F618 8008EA18 5420002E */ bnel $at, $zero, .L8008EAD4 -/* 08F61C 8008EA1C 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F620 8008EA20 84880236 */ lh $t0, 0x236($a0) -/* 08F624 8008EA24 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff -/* 08F628 8008EA28 A48000A8 */ sh $zero, 0xa8($a0) -/* 08F62C 8008EA2C 2509FFFF */ addiu $t1, $t0, -1 -/* 08F630 8008EA30 A4890236 */ sh $t1, 0x236($a0) -/* 08F634 8008EA34 848A0236 */ lh $t2, 0x236($a0) -/* 08F638 8008EA38 24030001 */ li $v1, 1 -/* 08F63C 8008EA3C 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F640 8008EA40 15400023 */ bnez $t2, .L8008EAD0 -/* 08F644 8008EA44 00056840 */ sll $t5, $a1, 1 -/* 08F648 8008EA48 8C8B00BC */ lw $t3, 0xbc($a0) -/* 08F64C 8008EA4C 3C0E8016 */ lui $t6, %hi(D_80165190) # $t6, 0x8016 -/* 08F650 8008EA50 25CE5190 */ addiu $t6, %lo(D_80165190) # addiu $t6, $t6, 0x5190 -/* 08F654 8008EA54 01616024 */ and $t4, $t3, $at -/* 08F658 8008EA58 AC8C00BC */ sw $t4, 0xbc($a0) -/* 08F65C 8008EA5C A4800236 */ sh $zero, 0x236($a0) -/* 08F660 8008EA60 01AE1021 */ addu $v0, $t5, $t6 -/* 08F664 8008EA64 A4430000 */ sh $v1, ($v0) -/* 08F668 8008EA68 A4430010 */ sh $v1, 0x10($v0) -/* 08F66C 8008EA6C A4430020 */ sh $v1, 0x20($v0) -/* 08F670 8008EA70 A4430030 */ sh $v1, 0x30($v0) -/* 08F674 8008EA74 00057880 */ sll $t7, $a1, 2 -/* 08F678 8008EA78 3C188016 */ lui $t8, %hi(D_80165460) # 0x8016 -/* 08F67C 8008EA7C A4800042 */ sh $zero, 0x42($a0) -/* 08F680 8008EA80 030FC021 */ addu $t8, $t8, $t7 -/* 08F684 8008EA84 8F185460 */ lw $t8, %lo(D_80165460)($t8) # 0x5460($t8) -/* 08F688 8008EA88 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e -/* 08F68C 8008EA8C 1478000A */ bne $v1, $t8, .L8008EAB8 -/* 08F690 8008EA90 00000000 */ nop -/* 08F694 8008EA94 94990000 */ lhu $t9, ($a0) -/* 08F698 8008EA98 24014000 */ li $at, 16384 -/* 08F69C 8008EA9C 33284000 */ andi $t0, $t9, 0x4000 -/* 08F6A0 8008EAA0 15010005 */ bne $t0, $at, .L8008EAB8 -/* 08F6A4 8008EAA4 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 08F6A8 8008EAA8 44814000 */ mtc1 $at, $f8 -/* 08F6AC 8008EAAC C486009C */ lwc1 $f6, 0x9c($a0) -/* 08F6B0 8008EAB0 46083280 */ add.s $f10, $f6, $f8 -/* 08F6B4 8008EAB4 E48A009C */ swc1 $f10, 0x9c($a0) -.L8008EAB8: -/* 08F6B8 8008EAB8 8D29C53C */ lw $t1, %lo(gModeSelection)($t1) -/* 08F6BC 8008EABC 24010003 */ li $at, 3 -/* 08F6C0 8008EAC0 55210004 */ bnel $t1, $at, .L8008EAD4 -/* 08F6C4 8008EAC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 08F6C8 8008EAC8 0C01AE2D */ jal func_8006B8B4 -/* 08F6CC 8008EACC 00000000 */ nop -.L8008EAD0: -/* 08F6D0 8008EAD0 8FBF0014 */ lw $ra, 0x14($sp) -.L8008EAD4: -/* 08F6D4 8008EAD4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08F6D8 8008EAD8 03E00008 */ jr $ra -/* 08F6DC 8008EADC 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008EAE0.s b/asm/non_matchings/code_8008C1D0/func_8008EAE0.s deleted file mode 100644 index 39c5add05..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008EAE0.s +++ /dev/null @@ -1,88 +0,0 @@ -glabel func_8008EAE0 -/* 08F6E0 8008EAE0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08F6E4 8008EAE4 AFBF001C */ sw $ra, 0x1c($sp) -/* 08F6E8 8008EAE8 AFB00018 */ sw $s0, 0x18($sp) -/* 08F6EC 8008EAEC AFA5002C */ sw $a1, 0x2c($sp) -/* 08F6F0 8008EAF0 00808025 */ move $s0, $a0 -/* 08F6F4 8008EAF4 0C0230D5 */ jal func_8008C354 -/* 08F6F8 8008EAF8 83A5002F */ lb $a1, 0x2f($sp) -/* 08F6FC 8008EAFC 0C0230C4 */ jal func_8008C310 -/* 08F700 8008EB00 02002025 */ move $a0, $s0 -/* 08F704 8008EB04 44800000 */ mtc1 $zero, $f0 -/* 08F708 8008EB08 8E0E00BC */ lw $t6, 0xbc($s0) -/* 08F70C 8008EB0C 96030254 */ lhu $v1, 0x254($s0) -/* 08F710 8008EB10 2401FFEF */ li $at, -17 -/* 08F714 8008EB14 01C17824 */ and $t7, $t6, $at -/* 08F718 8008EB18 3C01800E */ lui $at, %hi(D_800E3730) -/* 08F71C 8008EB1C 00031080 */ sll $v0, $v1, 2 -/* 08F720 8008EB20 A60000A8 */ sh $zero, 0xa8($s0) -/* 08F724 8008EB24 AE0F00BC */ sw $t7, 0xbc($s0) -/* 08F728 8008EB28 00220821 */ addu $at, $at, $v0 -/* 08F72C 8008EB2C E60000F0 */ swc1 $f0, 0xf0($s0) -/* 08F730 8008EB30 E60000F4 */ swc1 $f0, 0xf4($s0) -/* 08F734 8008EB34 E60000EC */ swc1 $f0, 0xec($s0) -/* 08F738 8008EB38 C4243730 */ lwc1 $f4, %lo(D_800E3730)($at) -/* 08F73C 8008EB3C 3C01800E */ lui $at, %hi(D_800E3710) -/* 08F740 8008EB40 00220821 */ addu $at, $at, $v0 -/* 08F744 8008EB44 E60400F0 */ swc1 $f4, 0xf0($s0) -/* 08F748 8008EB48 C4263710 */ lwc1 $f6, %lo(D_800E3710)($at) -/* 08F74C 8008EB4C 96040000 */ lhu $a0, ($s0) -/* 08F750 8008EB50 24180004 */ li $t8, 4 -/* 08F754 8008EB54 24014000 */ li $at, 16384 -/* 08F758 8008EB58 30994000 */ andi $t9, $a0, 0x4000 -/* 08F75C 8008EB5C A6180236 */ sh $t8, 0x236($s0) -/* 08F760 8008EB60 A6000042 */ sh $zero, 0x42($s0) -/* 08F764 8008EB64 A60000E0 */ sh $zero, 0xe0($s0) -/* 08F768 8008EB68 17210011 */ bne $t9, $at, .L8008EBB0 -/* 08F76C 8008EB6C E60600EC */ swc1 $f6, 0xec($s0) -/* 08F770 8008EB70 30880100 */ andi $t0, $a0, 0x100 -/* 08F774 8008EB74 24010100 */ li $at, 256 -/* 08F778 8008EB78 1101000D */ beq $t0, $at, .L8008EBB0 -/* 08F77C 8008EB7C 93A4002F */ lbu $a0, 0x2f($sp) -/* 08F780 8008EB80 3C012900 */ lui $at, (0x29008005 >> 16) # lui $at, 0x2900 -/* 08F784 8008EB84 34218005 */ ori $at, (0x29008005 & 0xFFFF) # ori $at, $at, 0x8005 -/* 08F788 8008EB88 00032900 */ sll $a1, $v1, 4 -/* 08F78C 8008EB8C 00A12821 */ addu $a1, $a1, $at -/* 08F790 8008EB90 0C03243D */ jal func_800C90F4 -/* 08F794 8008EB94 AFA40020 */ sw $a0, 0x20($sp) -/* 08F798 8008EB98 3C051900 */ lui $a1, (0x19009005 >> 16) # lui $a1, 0x1900 -/* 08F79C 8008EB9C 8FA40020 */ lw $a0, 0x20($sp) -/* 08F7A0 8008EBA0 0C032418 */ jal func_800C9060 -/* 08F7A4 8008EBA4 34A59005 */ ori $a1, (0x19009005 & 0xFFFF) # ori $a1, $a1, 0x9005 -/* 08F7A8 8008EBA8 10000005 */ b .L8008EBC0 -/* 08F7AC 8008EBAC 8E0900BC */ lw $t1, 0xbc($s0) -.L8008EBB0: -/* 08F7B0 8008EBB0 83A4002F */ lb $a0, 0x2f($sp) -/* 08F7B4 8008EBB4 0C00263F */ jal func_800098FC -/* 08F7B8 8008EBB8 02002825 */ move $a1, $s0 -/* 08F7BC 8008EBBC 8E0900BC */ lw $t1, 0xbc($s0) -.L8008EBC0: -/* 08F7C0 8008EBC0 3C010200 */ lui $at, 0x200 -/* 08F7C4 8008EBC4 960B00B6 */ lhu $t3, 0xb6($s0) -/* 08F7C8 8008EBC8 8E0D000C */ lw $t5, 0xc($s0) -/* 08F7CC 8008EBCC 01215025 */ or $t2, $t1, $at -/* 08F7D0 8008EBD0 3C01FEFF */ lui $at, (0xFEFFFFFD >> 16) # lui $at, 0xfeff -/* 08F7D4 8008EBD4 3421FFFD */ ori $at, (0xFEFFFFFD & 0xFFFF) # ori $at, $at, 0xfffd -/* 08F7D8 8008EBD8 356C0040 */ ori $t4, $t3, 0x40 -/* 08F7DC 8008EBDC 01A17024 */ and $t6, $t5, $at -/* 08F7E0 8008EBE0 AE0A00BC */ sw $t2, 0xbc($s0) -/* 08F7E4 8008EBE4 A60C00B6 */ sh $t4, 0xb6($s0) -/* 08F7E8 8008EBE8 AE0E000C */ sw $t6, 0xc($s0) -/* 08F7EC 8008EBEC 83A2002F */ lb $v0, 0x2f($sp) -/* 08F7F0 8008EBF0 3C018016 */ lui $at, %hi(D_80165480) # 0x8016 -/* 08F7F4 8008EBF4 8FBF001C */ lw $ra, 0x1c($sp) -/* 08F7F8 8008EBF8 00027880 */ sll $t7, $v0, 2 -/* 08F7FC 8008EBFC 002F0821 */ addu $at, $at, $t7 -/* 08F800 8008EC00 AC205480 */ sw $zero, %lo(D_80165480)($at) # 0x5480($at) -/* 08F804 8008EC04 3C018016 */ lui $at, %hi(D_80165460) # 0x8016 -/* 08F808 8008EC08 002F0821 */ addu $at, $at, $t7 -/* 08F80C 8008EC0C AC205460 */ sw $zero, %lo(D_80165460)($at) # 0x5460($at) -/* 08F810 8008EC10 3C018016 */ lui $at, %hi(D_80165440) # 0x8016 -/* 08F814 8008EC14 002F0821 */ addu $at, $at, $t7 -/* 08F818 8008EC18 AC205440 */ sw $zero, %lo(D_80165440)($at) # 0x5440($at) -/* 08F81C 8008EC1C 3C018016 */ lui $at, %hi(D_80165420) # 0x8016 -/* 08F820 8008EC20 002F0821 */ addu $at, $at, $t7 -/* 08F824 8008EC24 8FB00018 */ lw $s0, 0x18($sp) -/* 08F828 8008EC28 AC205420 */ sw $zero, %lo(D_80165420)($at) # 0x5420($at) -/* 08F82C 8008EC2C 03E00008 */ jr $ra -/* 08F830 8008EC30 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/code_8008C1D0/func_8008EC34.s b/asm/non_matchings/code_8008C1D0/func_8008EC34.s deleted file mode 100644 index 392ee1cf5..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008EC34.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_8008EC34 -/* 08F834 8008EC34 AFA50004 */ sw $a1, 4($sp) -/* 08F838 8008EC38 8C9800BC */ lw $t8, 0xbc($a0) -/* 08F83C 8008EC3C 00057600 */ sll $t6, $a1, 0x18 -/* 08F840 8008EC40 3C01FDFF */ lui $at, (0xFDFFFFFF >> 16) # lui $at, 0xfdff -/* 08F844 8008EC44 000E7E03 */ sra $t7, $t6, 0x18 -/* 08F848 8008EC48 3421FFFF */ ori $at, (0xFDFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F84C 8008EC4C 3C098016 */ lui $t1, %hi(D_80165190) # $t1, 0x8016 -/* 08F850 8008EC50 25295190 */ addiu $t1, %lo(D_80165190) # addiu $t1, $t1, 0x5190 -/* 08F854 8008EC54 000F4040 */ sll $t0, $t7, 1 -/* 08F858 8008EC58 0301C824 */ and $t9, $t8, $at -/* 08F85C 8008EC5C 24030001 */ li $v1, 1 -/* 08F860 8008EC60 AC9900BC */ sw $t9, 0xbc($a0) -/* 08F864 8008EC64 A48000A8 */ sh $zero, 0xa8($a0) -/* 08F868 8008EC68 A4800236 */ sh $zero, 0x236($a0) -/* 08F86C 8008EC6C 01091021 */ addu $v0, $t0, $t1 -/* 08F870 8008EC70 A4430000 */ sh $v1, ($v0) -/* 08F874 8008EC74 A4430010 */ sh $v1, 0x10($v0) -/* 08F878 8008EC78 A4430020 */ sh $v1, 0x20($v0) -/* 08F87C 8008EC7C A4430030 */ sh $v1, 0x30($v0) -/* 08F880 8008EC80 03E00008 */ jr $ra -/* 08F884 8008EC84 A4800042 */ sh $zero, 0x42($a0) diff --git a/asm/non_matchings/code_8008C1D0/func_8008EC88.s b/asm/non_matchings/code_8008C1D0/func_8008EC88.s deleted file mode 100644 index 88f42fdd1..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008EC88.s +++ /dev/null @@ -1,82 +0,0 @@ -glabel func_8008EC88 -/* 08F888 8008EC88 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08F88C 8008EC8C AFA5002C */ sw $a1, 0x2c($sp) -/* 08F890 8008EC90 00A07025 */ move $t6, $a1 -/* 08F894 8008EC94 000E2E00 */ sll $a1, $t6, 0x18 -/* 08F898 8008EC98 AFBF001C */ sw $ra, 0x1c($sp) -/* 08F89C 8008EC9C AFB00018 */ sw $s0, 0x18($sp) -/* 08F8A0 8008ECA0 00057E03 */ sra $t7, $a1, 0x18 -/* 08F8A4 8008ECA4 00808025 */ move $s0, $a0 -/* 08F8A8 8008ECA8 01E02825 */ move $a1, $t7 -/* 08F8AC 8008ECAC 0C0230D5 */ jal func_8008C354 -/* 08F8B0 8008ECB0 A3AE002F */ sb $t6, 0x2f($sp) -/* 08F8B4 8008ECB4 8E1800BC */ lw $t8, 0xbc($s0) -/* 08F8B8 8008ECB8 3C010010 */ lui $at, 0x10 -/* 08F8BC 8008ECBC 8E08000C */ lw $t0, 0xc($s0) -/* 08F8C0 8008ECC0 0301C825 */ or $t9, $t8, $at -/* 08F8C4 8008ECC4 3C01FF7F */ lui $at, (0xFF7FFFFF >> 16) # lui $at, 0xff7f -/* 08F8C8 8008ECC8 3421FFFF */ ori $at, (0xFF7FFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08F8CC 8008ECCC 01014824 */ and $t1, $t0, $at -/* 08F8D0 8008ECD0 83A6002F */ lb $a2, 0x2f($sp) -/* 08F8D4 8008ECD4 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 08F8D8 8008ECD8 44812000 */ mtc1 $at, $f4 -/* 08F8DC 8008ECDC AE1900BC */ sw $t9, 0xbc($s0) -/* 08F8E0 8008ECE0 AE09000C */ sw $t1, 0xc($s0) -/* 08F8E4 8008ECE4 A6000DB4 */ sh $zero, 0xdb4($s0) -/* 08F8E8 8008ECE8 3C0A8016 */ lui $t2, %hi(D_8015F890) # $t2, 0x8016 -/* 08F8EC 8008ECEC E6040DBC */ swc1 $f4, 0xdbc($s0) -/* 08F8F0 8008ECF0 954AF890 */ lhu $t2, %lo(D_8015F890)($t2) -/* 08F8F4 8008ECF4 24010001 */ li $at, 1 -/* 08F8F8 8008ECF8 3C0E800E */ lui $t6, %hi(gPlayerOne) # $t6, 0x800e -/* 08F8FC 8008ECFC 11410015 */ beq $t2, $at, .L8008ED54 -/* 08F900 8008ED00 00000000 */ nop -/* 08F904 8008ED04 96020000 */ lhu $v0, ($s0) -/* 08F908 8008ED08 24014000 */ li $at, 16384 -/* 08F90C 8008ED0C 304B4000 */ andi $t3, $v0, 0x4000 -/* 08F910 8008ED10 1561001F */ bne $t3, $at, .L8008ED90 -/* 08F914 8008ED14 304C0100 */ andi $t4, $v0, 0x100 -/* 08F918 8008ED18 1580001D */ bnez $t4, .L8008ED90 -/* 08F91C 8008ED1C 30C400FF */ andi $a0, $a2, 0xff -/* 08F920 8008ED20 96050254 */ lhu $a1, 0x254($s0) -/* 08F924 8008ED24 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 08F928 8008ED28 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 08F92C 8008ED2C 00056900 */ sll $t5, $a1, 4 -/* 08F930 8008ED30 01A12821 */ addu $a1, $t5, $at -/* 08F934 8008ED34 0C03243D */ jal func_800C90F4 -/* 08F938 8008ED38 AFA40024 */ sw $a0, 0x24($sp) -/* 08F93C 8008ED3C 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900 -/* 08F940 8008ED40 8FA40024 */ lw $a0, 0x24($sp) -/* 08F944 8008ED44 0C032418 */ jal func_800C9060 -/* 08F948 8008ED48 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b -/* 08F94C 8008ED4C 10000011 */ b .L8008ED94 -/* 08F950 8008ED50 86180044 */ lh $t8, 0x44($s0) -.L8008ED54: -/* 08F954 8008ED54 8DCEC4DC */ lw $t6, %lo(gPlayerOne)($t6) -/* 08F958 8008ED58 30C400FF */ andi $a0, $a2, 0xff -/* 08F95C 8008ED5C 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 08F960 8008ED60 560E000C */ bnel $s0, $t6, .L8008ED94 -/* 08F964 8008ED64 86180044 */ lh $t8, 0x44($s0) -/* 08F968 8008ED68 96050254 */ lhu $a1, 0x254($s0) -/* 08F96C 8008ED6C 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 08F970 8008ED70 AFA40024 */ sw $a0, 0x24($sp) -/* 08F974 8008ED74 00057900 */ sll $t7, $a1, 4 -/* 08F978 8008ED78 0C03243D */ jal func_800C90F4 -/* 08F97C 8008ED7C 01E12821 */ addu $a1, $t7, $at -/* 08F980 8008ED80 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900 -/* 08F984 8008ED84 8FA40024 */ lw $a0, 0x24($sp) -/* 08F988 8008ED88 0C032418 */ jal func_800C9060 -/* 08F98C 8008ED8C 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b -.L8008ED90: -/* 08F990 8008ED90 86180044 */ lh $t8, 0x44($s0) -.L8008ED94: -/* 08F994 8008ED94 8E0800BC */ lw $t0, 0xbc($s0) -/* 08F998 8008ED98 2401FFDF */ li $at, -33 -/* 08F99C 8008ED9C 3319FFFE */ andi $t9, $t8, 0xfffe -/* 08F9A0 8008EDA0 01014824 */ and $t1, $t0, $at -/* 08F9A4 8008EDA4 A6190044 */ sh $t9, 0x44($s0) -/* 08F9A8 8008EDA8 AE0900BC */ sw $t1, 0xbc($s0) -/* 08F9AC 8008EDAC 8FBF001C */ lw $ra, 0x1c($sp) -/* 08F9B0 8008EDB0 8FB00018 */ lw $s0, 0x18($sp) -/* 08F9B4 8008EDB4 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08F9B8 8008EDB8 03E00008 */ jr $ra -/* 08F9BC 8008EDBC 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008EDC0.s b/asm/non_matchings/code_8008C1D0/func_8008EDC0.s deleted file mode 100644 index 39c99f2c1..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008EDC0.s +++ /dev/null @@ -1,72 +0,0 @@ -glabel func_8008EDC0 -/* 08F9C0 8008EDC0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08F9C4 8008EDC4 AFBF0014 */ sw $ra, 0x14($sp) -/* 08F9C8 8008EDC8 948E0256 */ lhu $t6, 0x256($a0) -/* 08F9CC 8008EDCC C4840214 */ lwc1 $f4, 0x214($a0) -/* 08F9D0 8008EDD0 00803825 */ move $a3, $a0 -/* 08F9D4 8008EDD4 19C00004 */ blez $t6, .L8008EDE8 -/* 08F9D8 8008EDD8 E484009C */ swc1 $f4, 0x9c($a0) -/* 08F9DC 8008EDDC 44803000 */ mtc1 $zero, $f6 -/* 08F9E0 8008EDE0 00000000 */ nop -/* 08F9E4 8008EDE4 E486009C */ swc1 $f6, 0x9c($a0) -.L8008EDE8: -/* 08F9E8 8008EDE8 94EF00F8 */ lhu $t7, 0xf8($a3) -/* 08F9EC 8008EDEC 240100FE */ li $at, 254 -/* 08F9F0 8008EDF0 24E40080 */ addiu $a0, $a3, 0x80 -/* 08F9F4 8008EDF4 11E1000D */ beq $t7, $at, .L8008EE2C -/* 08F9F8 8008EDF8 3C0543C8 */ lui $a1, 0x43c8 -/* 08F9FC 8008EDFC 8CF800BC */ lw $t8, 0xbc($a3) -/* 08FA00 8008EE00 24010008 */ li $at, 8 -/* 08FA04 8008EE04 3C063F80 */ lui $a2, 0x3f80 -/* 08FA08 8008EE08 33190008 */ andi $t9, $t8, 8 -/* 08FA0C 8008EE0C 53210008 */ beql $t9, $at, .L8008EE30 -/* 08FA10 8008EE10 3C063C23 */ lui $a2, 0x3c23 -/* 08FA14 8008EE14 24E40080 */ addiu $a0, $a3, 0x80 -/* 08FA18 8008EE18 24050000 */ li $a1, 0 -/* 08FA1C 8008EE1C 0C008973 */ jal move_f32_towards -/* 08FA20 8008EE20 AFA70018 */ sw $a3, 0x18($sp) -/* 08FA24 8008EE24 10000006 */ b .L8008EE40 -/* 08FA28 8008EE28 8FA70018 */ lw $a3, 0x18($sp) -.L8008EE2C: -/* 08FA2C 8008EE2C 3C063C23 */ lui $a2, (0x3C23D70A >> 16) # lui $a2, 0x3c23 -.L8008EE30: -/* 08FA30 8008EE30 34C6D70A */ ori $a2, (0x3C23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 08FA34 8008EE34 0C008973 */ jal move_f32_towards -/* 08FA38 8008EE38 AFA70018 */ sw $a3, 0x18($sp) -/* 08FA3C 8008EE3C 8FA70018 */ lw $a3, 0x18($sp) -.L8008EE40: -/* 08FA40 8008EE40 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08FA44 8008EE44 44814000 */ mtc1 $at, $f8 -/* 08FA48 8008EE48 C4EA0080 */ lwc1 $f10, 0x80($a3) -/* 08FA4C 8008EE4C 3C01FFEF */ lui $at, (0xFFEFFFFF >> 16) # lui $at, 0xffef -/* 08FA50 8008EE50 3421FFFF */ ori $at, (0xFFEFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08FA54 8008EE54 4608503E */ c.le.s $f10, $f8 -/* 08FA58 8008EE58 00000000 */ nop -/* 08FA5C 8008EE5C 45020016 */ bc1fl .L8008EEB8 -/* 08FA60 8008EE60 8FBF0014 */ lw $ra, 0x14($sp) -/* 08FA64 8008EE64 8CE800BC */ lw $t0, 0xbc($a3) -/* 08FA68 8008EE68 84EA00C2 */ lh $t2, 0xc2($a3) -/* 08FA6C 8008EE6C 44808000 */ mtc1 $zero, $f16 -/* 08FA70 8008EE70 01014824 */ and $t1, $t0, $at -/* 08FA74 8008EE74 29410033 */ slti $at, $t2, 0x33 -/* 08FA78 8008EE78 ACE900BC */ sw $t1, 0xbc($a3) -/* 08FA7C 8008EE7C 1420000D */ bnez $at, .L8008EEB4 -/* 08FA80 8008EE80 E4F00080 */ swc1 $f16, 0x80($a3) -/* 08FA84 8008EE84 C4F2009C */ lwc1 $f18, 0x9c($a3) -/* 08FA88 8008EE88 3C01800F */ lui $at, %hi(D_800EF5A0) -/* 08FA8C 8008EE8C D420F5A0 */ ldc1 $f0, %lo(D_800EF5A0)($at) -/* 08FA90 8008EE90 C4EA008C */ lwc1 $f10, 0x8c($a3) -/* 08FA94 8008EE94 46009121 */ cvt.d.s $f4, $f18 -/* 08FA98 8008EE98 46202182 */ mul.d $f6, $f4, $f0 -/* 08FA9C 8008EE9C 46005421 */ cvt.d.s $f16, $f10 -/* 08FAA0 8008EEA0 46208482 */ mul.d $f18, $f16, $f0 -/* 08FAA4 8008EEA4 46203220 */ cvt.s.d $f8, $f6 -/* 08FAA8 8008EEA8 46209120 */ cvt.s.d $f4, $f18 -/* 08FAAC 8008EEAC E4E8009C */ swc1 $f8, 0x9c($a3) -/* 08FAB0 8008EEB0 E4E4008C */ swc1 $f4, 0x8c($a3) -.L8008EEB4: -/* 08FAB4 8008EEB4 8FBF0014 */ lw $ra, 0x14($sp) -.L8008EEB8: -/* 08FAB8 8008EEB8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08FABC 8008EEBC 03E00008 */ jr $ra -/* 08FAC0 8008EEC0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008EEC4.s b/asm/non_matchings/code_8008C1D0/func_8008EEC4.s deleted file mode 100644 index 1f449b793..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008EEC4.s +++ /dev/null @@ -1,9 +0,0 @@ -glabel func_8008EEC4 -/* 08FAC4 8008EEC4 8C8E00BC */ lw $t6, 0xbc($a0) -/* 08FAC8 8008EEC8 3C01FFEF */ lui $at, (0xFFEFFFFF >> 16) # lui $at, 0xffef -/* 08FACC 8008EECC 44802000 */ mtc1 $zero, $f4 -/* 08FAD0 8008EED0 3421FFFF */ ori $at, (0xFFEFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08FAD4 8008EED4 01C17824 */ and $t7, $t6, $at -/* 08FAD8 8008EED8 AC8F00BC */ sw $t7, 0xbc($a0) -/* 08FADC 8008EEDC 03E00008 */ jr $ra -/* 08FAE0 8008EEE0 E4840080 */ swc1 $f4, 0x80($a0) diff --git a/asm/non_matchings/code_8008C1D0/func_8008EEE4.s b/asm/non_matchings/code_8008C1D0/func_8008EEE4.s deleted file mode 100644 index 9acf0488e..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008EEE4.s +++ /dev/null @@ -1,77 +0,0 @@ -glabel func_8008EEE4 -/* 08FAE4 8008EEE4 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 08FAE8 8008EEE8 AFA5002C */ sw $a1, 0x2c($sp) -/* 08FAEC 8008EEEC 00A07025 */ move $t6, $a1 -/* 08FAF0 8008EEF0 000E2E00 */ sll $a1, $t6, 0x18 -/* 08FAF4 8008EEF4 AFBF001C */ sw $ra, 0x1c($sp) -/* 08FAF8 8008EEF8 AFB00018 */ sw $s0, 0x18($sp) -/* 08FAFC 8008EEFC 00057E03 */ sra $t7, $a1, 0x18 -/* 08FB00 8008EF00 00808025 */ move $s0, $a0 -/* 08FB04 8008EF04 01E02825 */ move $a1, $t7 -/* 08FB08 8008EF08 0C0230D5 */ jal func_8008C354 -/* 08FB0C 8008EF0C A3AE002F */ sb $t6, 0x2f($sp) -/* 08FB10 8008EF10 8E1800BC */ lw $t8, 0xbc($s0) -/* 08FB14 8008EF14 8E08000C */ lw $t0, 0xc($s0) -/* 08FB18 8008EF18 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff -/* 08FB1C 8008EF1C 83A6002F */ lb $a2, 0x2f($sp) -/* 08FB20 8008EF20 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff -/* 08FB24 8008EF24 37190004 */ ori $t9, $t8, 4 -/* 08FB28 8008EF28 01014824 */ and $t1, $t0, $at -/* 08FB2C 8008EF2C AE1900BC */ sw $t9, 0xbc($s0) -/* 08FB30 8008EF30 AE09000C */ sw $t1, 0xc($s0) -/* 08FB34 8008EF34 3C0A8016 */ lui $t2, %hi(D_8015F890) # $t2, 0x8016 -/* 08FB38 8008EF38 954AF890 */ lhu $t2, %lo(D_8015F890)($t2) -/* 08FB3C 8008EF3C 24010001 */ li $at, 1 -/* 08FB40 8008EF40 3C0E800E */ lui $t6, %hi(gPlayerOne) # $t6, 0x800e -/* 08FB44 8008EF44 11410015 */ beq $t2, $at, .L8008EF9C -/* 08FB48 8008EF48 00000000 */ nop -/* 08FB4C 8008EF4C 96020000 */ lhu $v0, ($s0) -/* 08FB50 8008EF50 24014000 */ li $at, 16384 -/* 08FB54 8008EF54 304B4000 */ andi $t3, $v0, 0x4000 -/* 08FB58 8008EF58 1561001F */ bne $t3, $at, .L8008EFD8 -/* 08FB5C 8008EF5C 304C0100 */ andi $t4, $v0, 0x100 -/* 08FB60 8008EF60 1580001D */ bnez $t4, .L8008EFD8 -/* 08FB64 8008EF64 30C400FF */ andi $a0, $a2, 0xff -/* 08FB68 8008EF68 96050254 */ lhu $a1, 0x254($s0) -/* 08FB6C 8008EF6C 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 08FB70 8008EF70 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 08FB74 8008EF74 00056900 */ sll $t5, $a1, 4 -/* 08FB78 8008EF78 01A12821 */ addu $a1, $t5, $at -/* 08FB7C 8008EF7C 0C03243D */ jal func_800C90F4 -/* 08FB80 8008EF80 AFA40024 */ sw $a0, 0x24($sp) -/* 08FB84 8008EF84 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900 -/* 08FB88 8008EF88 8FA40024 */ lw $a0, 0x24($sp) -/* 08FB8C 8008EF8C 0C032418 */ jal func_800C9060 -/* 08FB90 8008EF90 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b -/* 08FB94 8008EF94 10000011 */ b .L8008EFDC -/* 08FB98 8008EF98 86180044 */ lh $t8, 0x44($s0) -.L8008EF9C: -/* 08FB9C 8008EF9C 8DCEC4DC */ lw $t6, %lo(gPlayerOne)($t6) -/* 08FBA0 8008EFA0 30C400FF */ andi $a0, $a2, 0xff -/* 08FBA4 8008EFA4 3C012900 */ lui $at, (0x29008001 >> 16) # lui $at, 0x2900 -/* 08FBA8 8008EFA8 560E000C */ bnel $s0, $t6, .L8008EFDC -/* 08FBAC 8008EFAC 86180044 */ lh $t8, 0x44($s0) -/* 08FBB0 8008EFB0 96050254 */ lhu $a1, 0x254($s0) -/* 08FBB4 8008EFB4 34218001 */ ori $at, (0x29008001 & 0xFFFF) # ori $at, $at, 0x8001 -/* 08FBB8 8008EFB8 AFA40024 */ sw $a0, 0x24($sp) -/* 08FBBC 8008EFBC 00057900 */ sll $t7, $a1, 4 -/* 08FBC0 8008EFC0 0C03243D */ jal func_800C90F4 -/* 08FBC4 8008EFC4 01E12821 */ addu $a1, $t7, $at -/* 08FBC8 8008EFC8 3C051900 */ lui $a1, (0x1900A40B >> 16) # lui $a1, 0x1900 -/* 08FBCC 8008EFCC 8FA40024 */ lw $a0, 0x24($sp) -/* 08FBD0 8008EFD0 0C032418 */ jal func_800C9060 -/* 08FBD4 8008EFD4 34A5A40B */ ori $a1, (0x1900A40B & 0xFFFF) # ori $a1, $a1, 0xa40b -.L8008EFD8: -/* 08FBD8 8008EFD8 86180044 */ lh $t8, 0x44($s0) -.L8008EFDC: -/* 08FBDC 8008EFDC 8E0800BC */ lw $t0, 0xbc($s0) -/* 08FBE0 8008EFE0 2401FFDF */ li $at, -33 -/* 08FBE4 8008EFE4 3319FFFE */ andi $t9, $t8, 0xfffe -/* 08FBE8 8008EFE8 01014824 */ and $t1, $t0, $at -/* 08FBEC 8008EFEC A6190044 */ sh $t9, 0x44($s0) -/* 08FBF0 8008EFF0 AE0900BC */ sw $t1, 0xbc($s0) -/* 08FBF4 8008EFF4 8FBF001C */ lw $ra, 0x1c($sp) -/* 08FBF8 8008EFF8 8FB00018 */ lw $s0, 0x18($sp) -/* 08FBFC 8008EFFC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 08FC00 8008F000 03E00008 */ jr $ra -/* 08FC04 8008F004 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F008.s b/asm/non_matchings/code_8008C1D0/func_8008F008.s deleted file mode 100644 index 8d6f76e3b..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F008.s +++ /dev/null @@ -1,60 +0,0 @@ -glabel func_8008F008 -/* 08FC08 8008F008 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08FC0C 8008F00C AFBF0014 */ sw $ra, 0x14($sp) -/* 08FC10 8008F010 948F0254 */ lhu $t7, 0x254($a0) -/* 08FC14 8008F014 3C0E800E */ lui $t6, %hi(D_800E261C) # $t6, 0x800e -/* 08FC18 8008F018 8DCE261C */ lw $t6, %lo(D_800E261C)($t6) -/* 08FC1C 8008F01C 000FC080 */ sll $t8, $t7, 2 -/* 08FC20 8008F020 948800F8 */ lhu $t0, 0xf8($a0) -/* 08FC24 8008F024 01D8C821 */ addu $t9, $t6, $t8 -/* 08FC28 8008F028 C7240000 */ lwc1 $f4, ($t9) -/* 08FC2C 8008F02C 240100FC */ li $at, 252 -/* 08FC30 8008F030 00803825 */ move $a3, $a0 -/* 08FC34 8008F034 1101000C */ beq $t0, $at, .L8008F068 -/* 08FC38 8008F038 E484009C */ swc1 $f4, 0x9c($a0) -/* 08FC3C 8008F03C 8C8900BC */ lw $t1, 0xbc($a0) -/* 08FC40 8008F040 24010008 */ li $at, 8 -/* 08FC44 8008F044 24840080 */ addiu $a0, $a0, 0x80 -/* 08FC48 8008F048 312A0008 */ andi $t2, $t1, 8 -/* 08FC4C 8008F04C 11410006 */ beq $t2, $at, .L8008F068 -/* 08FC50 8008F050 24050000 */ li $a1, 0 -/* 08FC54 8008F054 3C063F80 */ lui $a2, 0x3f80 -/* 08FC58 8008F058 0C008973 */ jal move_f32_towards -/* 08FC5C 8008F05C AFA70018 */ sw $a3, 0x18($sp) -/* 08FC60 8008F060 10000008 */ b .L8008F084 -/* 08FC64 8008F064 8FA70018 */ lw $a3, 0x18($sp) -.L8008F068: -/* 08FC68 8008F068 3C063DCC */ lui $a2, (0x3DCCCCCD >> 16) # lui $a2, 0x3dcc -/* 08FC6C 8008F06C 34C6CCCD */ ori $a2, (0x3DCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 08FC70 8008F070 24E40080 */ addiu $a0, $a3, 0x80 -/* 08FC74 8008F074 3C054396 */ lui $a1, 0x4396 -/* 08FC78 8008F078 0C008973 */ jal move_f32_towards -/* 08FC7C 8008F07C AFA70018 */ sw $a3, 0x18($sp) -/* 08FC80 8008F080 8FA70018 */ lw $a3, 0x18($sp) -.L8008F084: -/* 08FC84 8008F084 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08FC88 8008F088 44813000 */ mtc1 $at, $f6 -/* 08FC8C 8008F08C C4E80080 */ lwc1 $f8, 0x80($a3) -/* 08FC90 8008F090 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 08FC94 8008F094 4606403E */ c.le.s $f8, $f6 -/* 08FC98 8008F098 00000000 */ nop -/* 08FC9C 8008F09C 4502000F */ bc1fl .L8008F0DC -/* 08FCA0 8008F0A0 8FBF0014 */ lw $ra, 0x14($sp) -/* 08FCA4 8008F0A4 44810000 */ mtc1 $at, $f0 -/* 08FCA8 8008F0A8 C4F0009C */ lwc1 $f16, 0x9c($a3) -/* 08FCAC 8008F0AC C4E4008C */ lwc1 $f4, 0x8c($a3) -/* 08FCB0 8008F0B0 8CEB00BC */ lw $t3, 0xbc($a3) -/* 08FCB4 8008F0B4 46008483 */ div.s $f18, $f16, $f0 -/* 08FCB8 8008F0B8 44805000 */ mtc1 $zero, $f10 -/* 08FCBC 8008F0BC 2401FFFB */ li $at, -5 -/* 08FCC0 8008F0C0 01616024 */ and $t4, $t3, $at -/* 08FCC4 8008F0C4 ACEC00BC */ sw $t4, 0xbc($a3) -/* 08FCC8 8008F0C8 E4EA0080 */ swc1 $f10, 0x80($a3) -/* 08FCCC 8008F0CC 46002183 */ div.s $f6, $f4, $f0 -/* 08FCD0 8008F0D0 E4F2009C */ swc1 $f18, 0x9c($a3) -/* 08FCD4 8008F0D4 E4E6008C */ swc1 $f6, 0x8c($a3) -/* 08FCD8 8008F0D8 8FBF0014 */ lw $ra, 0x14($sp) -.L8008F0DC: -/* 08FCDC 8008F0DC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08FCE0 8008F0E0 03E00008 */ jr $ra -/* 08FCE4 8008F0E4 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F0E8.s b/asm/non_matchings/code_8008C1D0/func_8008F0E8.s deleted file mode 100644 index a366f7d61..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F0E8.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_8008F0E8 -/* 08FCE8 8008F0E8 8C8E00BC */ lw $t6, 0xbc($a0) -/* 08FCEC 8008F0EC 44802000 */ mtc1 $zero, $f4 -/* 08FCF0 8008F0F0 2401FFFB */ li $at, -5 -/* 08FCF4 8008F0F4 01C17824 */ and $t7, $t6, $at -/* 08FCF8 8008F0F8 AC8F00BC */ sw $t7, 0xbc($a0) -/* 08FCFC 8008F0FC 03E00008 */ jr $ra -/* 08FD00 8008F100 E4840080 */ swc1 $f4, 0x80($a0) diff --git a/asm/non_matchings/code_8008C1D0/func_8008F104.s b/asm/non_matchings/code_8008C1D0/func_8008F104.s deleted file mode 100644 index ca5e84435..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F104.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_8008F104 -/* 08FD04 8008F104 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08FD08 8008F108 AFA5001C */ sw $a1, 0x1c($sp) -/* 08FD0C 8008F10C 00A07025 */ move $t6, $a1 -/* 08FD10 8008F110 000E2E00 */ sll $a1, $t6, 0x18 -/* 08FD14 8008F114 AFBF0014 */ sw $ra, 0x14($sp) -/* 08FD18 8008F118 00057E03 */ sra $t7, $a1, 0x18 -/* 08FD1C 8008F11C 01E02825 */ move $a1, $t7 -/* 08FD20 8008F120 A3AE001F */ sb $t6, 0x1f($sp) -/* 08FD24 8008F124 0C0230D5 */ jal func_8008C354 -/* 08FD28 8008F128 AFA40018 */ sw $a0, 0x18($sp) -/* 08FD2C 8008F12C 8FA60018 */ lw $a2, 0x18($sp) -/* 08FD30 8008F130 83A7001F */ lb $a3, 0x1f($sp) -/* 08FD34 8008F134 24190002 */ li $t9, 2 -/* 08FD38 8008F138 8CC800BC */ lw $t0, 0xbc($a2) -/* 08FD3C 8008F13C 84D8002E */ lh $t8, 0x2e($a2) -/* 08FD40 8008F140 3C018019 */ lui $at, %hi(D_8018D920) # 0x8019 -/* 08FD44 8008F144 00075840 */ sll $t3, $a3, 1 -/* 08FD48 8008F148 35094000 */ ori $t1, $t0, 0x4000 -/* 08FD4C 8008F14C 002B0821 */ addu $at, $at, $t3 -/* 08FD50 8008F150 240A8000 */ li $t2, -32768 -/* 08FD54 8008F154 A4D900B2 */ sh $t9, 0xb2($a2) -/* 08FD58 8008F158 A4C000C0 */ sh $zero, 0xc0($a2) -/* 08FD5C 8008F15C ACC0007C */ sw $zero, 0x7c($a2) -/* 08FD60 8008F160 ACC900BC */ sw $t1, 0xbc($a2) -/* 08FD64 8008F164 A4C00078 */ sh $zero, 0x78($a2) -/* 08FD68 8008F168 A4D800AE */ sh $t8, 0xae($a2) -/* 08FD6C 8008F16C A42AD920 */ sh $t2, %lo(D_8018D920)($at) # -0x26e0($at) -/* 08FD70 8008F170 94C20000 */ lhu $v0, ($a2) -/* 08FD74 8008F174 24014000 */ li $at, 16384 -/* 08FD78 8008F178 304C4000 */ andi $t4, $v0, 0x4000 -/* 08FD7C 8008F17C 1581000A */ bne $t4, $at, .L8008F1A8 -/* 08FD80 8008F180 304D0100 */ andi $t5, $v0, 0x100 -/* 08FD84 8008F184 24010100 */ li $at, 256 -/* 08FD88 8008F188 11A10007 */ beq $t5, $at, .L8008F1A8 -/* 08FD8C 8008F18C 30E400FF */ andi $a0, $a3, 0xff -/* 08FD90 8008F190 94C50254 */ lhu $a1, 0x254($a2) -/* 08FD94 8008F194 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900 -/* 08FD98 8008F198 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003 -/* 08FD9C 8008F19C 00057100 */ sll $t6, $a1, 4 -/* 08FDA0 8008F1A0 0C03243D */ jal func_800C90F4 -/* 08FDA4 8008F1A4 01C12821 */ addu $a1, $t6, $at -.L8008F1A8: -/* 08FDA8 8008F1A8 8FBF0014 */ lw $ra, 0x14($sp) -/* 08FDAC 8008F1AC 27BD0018 */ addiu $sp, $sp, 0x18 -/* 08FDB0 8008F1B0 03E00008 */ jr $ra -/* 08FDB4 8008F1B4 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F3E0.s b/asm/non_matchings/code_8008C1D0/func_8008F3E0.s deleted file mode 100644 index 1c9bdfd14..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F3E0.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_8008F3E0 -/* 08FFE0 8008F3E0 8C8E00BC */ lw $t6, 0xbc($a0) -/* 08FFE4 8008F3E4 2401BFFF */ li $at, -16385 -/* 08FFE8 8008F3E8 01C17824 */ and $t7, $t6, $at -/* 08FFEC 8008F3EC 03E00008 */ jr $ra -/* 08FFF0 8008F3F0 AC8F00BC */ sw $t7, 0xbc($a0) diff --git a/asm/non_matchings/code_8008C1D0/func_8008F3F4.s b/asm/non_matchings/code_8008C1D0/func_8008F3F4.s deleted file mode 100644 index 2fe021290..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F3F4.s +++ /dev/null @@ -1,43 +0,0 @@ -glabel func_8008F3F4 -/* 08FFF4 8008F3F4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 08FFF8 8008F3F8 AFBF0014 */ sw $ra, 0x14($sp) -/* 08FFFC 8008F3FC AFA5001C */ sw $a1, 0x1c($sp) -/* 090000 8008F400 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 090004 8008F404 44814000 */ mtc1 $at, $f8 -/* 090008 8008F408 C486008C */ lwc1 $f6, 0x8c($a0) -/* 09000C 8008F40C 848E00A8 */ lh $t6, 0xa8($a0) -/* 090010 8008F410 84980042 */ lh $t8, 0x42($a0) -/* 090014 8008F414 46083283 */ div.s $f10, $f6, $f8 -/* 090018 8008F418 25CF0080 */ addiu $t7, $t6, 0x80 -/* 09001C 8008F41C A48F00A8 */ sh $t7, 0xa8($a0) -/* 090020 8008F420 848800A8 */ lh $t0, 0xa8($a0) -/* 090024 8008F424 44802000 */ mtc1 $zero, $f4 -/* 090028 8008F428 2719071C */ addiu $t9, $t8, 0x71c -/* 09002C 8008F42C 29012000 */ slti $at, $t0, 0x2000 -/* 090030 8008F430 A4990042 */ sh $t9, 0x42($a0) -/* 090034 8008F434 AC80007C */ sw $zero, 0x7c($a0) -/* 090038 8008F438 E484009C */ swc1 $f4, 0x9c($a0) -/* 09003C 8008F43C 14200011 */ bnez $at, .L8008F484 -/* 090040 8008F440 E48A008C */ swc1 $f10, 0x8c($a0) -/* 090044 8008F444 84890236 */ lh $t1, 0x236($a0) -/* 090048 8008F448 A48000A8 */ sh $zero, 0xa8($a0) -/* 09004C 8008F44C 252AFFFF */ addiu $t2, $t1, -1 -/* 090050 8008F450 A48A0236 */ sh $t2, 0x236($a0) -/* 090054 8008F454 848B0236 */ lh $t3, 0x236($a0) -/* 090058 8008F458 5560000B */ bnel $t3, $zero, .L8008F488 -/* 09005C 8008F45C 8FBF0014 */ lw $ra, 0x14($sp) -/* 090060 8008F460 8C8C00BC */ lw $t4, 0xbc($a0) -/* 090064 8008F464 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe -/* 090068 8008F468 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 09006C 8008F46C 01816824 */ and $t5, $t4, $at -/* 090070 8008F470 AC8D00BC */ sw $t5, 0xbc($a0) -/* 090074 8008F474 0C0241DE */ jal func_80090778 -/* 090078 8008F478 AFA40018 */ sw $a0, 0x18($sp) -/* 09007C 8008F47C 0C02421A */ jal func_80090868 -/* 090080 8008F480 8FA40018 */ lw $a0, 0x18($sp) -.L8008F484: -/* 090084 8008F484 8FBF0014 */ lw $ra, 0x14($sp) -.L8008F488: -/* 090088 8008F488 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09008C 8008F48C 03E00008 */ jr $ra -/* 090090 8008F490 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F494.s b/asm/non_matchings/code_8008C1D0/func_8008F494.s deleted file mode 100644 index 11a8f95ca..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F494.s +++ /dev/null @@ -1,74 +0,0 @@ -glabel func_8008F494 -/* 090094 8008F494 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 090098 8008F498 AFBF0014 */ sw $ra, 0x14($sp) -/* 09009C 8008F49C AFA5001C */ sw $a1, 0x1c($sp) -/* 0900A0 8008F4A0 8C8200BC */ lw $v0, 0xbc($a0) -/* 0900A4 8008F4A4 00803025 */ move $a2, $a0 -/* 0900A8 8008F4A8 00C02025 */ move $a0, $a2 -/* 0900AC 8008F4AC 304E0080 */ andi $t6, $v0, 0x80 -/* 0900B0 8008F4B0 15C00008 */ bnez $t6, .L8008F4D4 -/* 0900B4 8008F4B4 304F0040 */ andi $t7, $v0, 0x40 -/* 0900B8 8008F4B8 15E00006 */ bnez $t7, .L8008F4D4 -/* 0900BC 8008F4BC 0002C1C0 */ sll $t8, $v0, 7 -/* 0900C0 8008F4C0 07000004 */ bltz $t8, .L8008F4D4 -/* 0900C4 8008F4C4 0002C980 */ sll $t9, $v0, 6 -/* 0900C8 8008F4C8 07200002 */ bltz $t9, .L8008F4D4 -/* 0900CC 8008F4CC 30480400 */ andi $t0, $v0, 0x400 -/* 0900D0 8008F4D0 11000008 */ beqz $t0, .L8008F4F4 -.L8008F4D4: -/* 0900D4 8008F4D4 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e -/* 0900D8 8008F4D8 8D29C53C */ lw $t1, %lo(gModeSelection)($t1) -/* 0900DC 8008F4DC 24010003 */ li $at, 3 -/* 0900E0 8008F4E0 55210005 */ bnel $t1, $at, .L8008F4F8 -/* 0900E4 8008F4E4 83A5001F */ lb $a1, 0x1f($sp) -/* 0900E8 8008F4E8 84CA0044 */ lh $t2, 0x44($a2) -/* 0900EC 8008F4EC 354B8000 */ ori $t3, $t2, 0x8000 -/* 0900F0 8008F4F0 A4CB0044 */ sh $t3, 0x44($a2) -.L8008F4F4: -/* 0900F4 8008F4F4 83A5001F */ lb $a1, 0x1f($sp) -.L8008F4F8: -/* 0900F8 8008F4F8 0C0230D5 */ jal func_8008C354 -/* 0900FC 8008F4FC AFA60018 */ sw $a2, 0x18($sp) -/* 090100 8008F500 8FA40018 */ lw $a0, 0x18($sp) -/* 090104 8008F504 0C023E1B */ jal func_8008F86C -/* 090108 8008F508 83A5001F */ lb $a1, 0x1f($sp) -/* 09010C 8008F50C 8FA60018 */ lw $a2, 0x18($sp) -/* 090110 8008F510 3C010001 */ lui $at, 1 -/* 090114 8008F514 2418001E */ li $t8, 30 -/* 090118 8008F518 8CCC00BC */ lw $t4, 0xbc($a2) -/* 09011C 8008F51C 94C20000 */ lhu $v0, ($a2) -/* 090120 8008F520 A4C000A8 */ sh $zero, 0xa8($a2) -/* 090124 8008F524 01816825 */ or $t5, $t4, $at -/* 090128 8008F528 2401FFEF */ li $at, -17 -/* 09012C 8008F52C 01A17824 */ and $t7, $t5, $at -/* 090130 8008F530 ACCD00BC */ sw $t5, 0xbc($a2) -/* 090134 8008F534 30594000 */ andi $t9, $v0, 0x4000 -/* 090138 8008F538 ACCF00BC */ sw $t7, 0xbc($a2) -/* 09013C 8008F53C A4D80236 */ sh $t8, 0x236($a2) -/* 090140 8008F540 13200014 */ beqz $t9, .L8008F594 -/* 090144 8008F544 A4C00042 */ sh $zero, 0x42($a2) -/* 090148 8008F548 30480100 */ andi $t0, $v0, 0x100 -/* 09014C 8008F54C 55000012 */ bnel $t0, $zero, .L8008F598 -/* 090150 8008F550 8FBF0014 */ lw $ra, 0x14($sp) -/* 090154 8008F554 84C900CA */ lh $t1, 0xca($a2) -/* 090158 8008F558 312A0002 */ andi $t2, $t1, 2 -/* 09015C 8008F55C 5540000E */ bnel $t2, $zero, .L8008F598 -/* 090160 8008F560 8FBF0014 */ lw $ra, 0x14($sp) -/* 090164 8008F564 94C200DE */ lhu $v0, 0xde($a2) -/* 090168 8008F568 304B0001 */ andi $t3, $v0, 1 -/* 09016C 8008F56C 15600009 */ bnez $t3, .L8008F594 -/* 090170 8008F570 304C0002 */ andi $t4, $v0, 2 -/* 090174 8008F574 15800007 */ bnez $t4, .L8008F594 -/* 090178 8008F578 93A4001F */ lbu $a0, 0x1f($sp) -/* 09017C 8008F57C 94C50254 */ lhu $a1, 0x254($a2) -/* 090180 8008F580 3C012900 */ lui $at, (0x29008004 >> 16) # lui $at, 0x2900 -/* 090184 8008F584 34218004 */ ori $at, (0x29008004 & 0xFFFF) # ori $at, $at, 0x8004 -/* 090188 8008F588 00056900 */ sll $t5, $a1, 4 -/* 09018C 8008F58C 0C03243D */ jal func_800C90F4 -/* 090190 8008F590 01A12821 */ addu $a1, $t5, $at -.L8008F594: -/* 090194 8008F594 8FBF0014 */ lw $ra, 0x14($sp) -.L8008F598: -/* 090198 8008F598 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09019C 8008F59C 03E00008 */ jr $ra -/* 0901A0 8008F5A0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F5A4.s b/asm/non_matchings/code_8008C1D0/func_8008F5A4.s deleted file mode 100644 index 675deda7e..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F5A4.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_8008F5A4 -/* 0901A4 8008F5A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0901A8 8008F5A8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0901AC 8008F5AC AFA5001C */ sw $a1, 0x1c($sp) -/* 0901B0 8008F5B0 848E0044 */ lh $t6, 0x44($a0) -/* 0901B4 8008F5B4 83A5001F */ lb $a1, 0x1f($sp) -/* 0901B8 8008F5B8 31CF8000 */ andi $t7, $t6, 0x8000 -/* 0901BC 8008F5BC 51E00008 */ beql $t7, $zero, .L8008F5E0 -/* 0901C0 8008F5C0 8C8800BC */ lw $t0, 0xbc($a0) -/* 0901C4 8008F5C4 0C01AE2D */ jal func_8006B8B4 -/* 0901C8 8008F5C8 AFA40018 */ sw $a0, 0x18($sp) -/* 0901CC 8008F5CC 8FA40018 */ lw $a0, 0x18($sp) -/* 0901D0 8008F5D0 84980044 */ lh $t8, 0x44($a0) -/* 0901D4 8008F5D4 33197FFF */ andi $t9, $t8, 0x7fff -/* 0901D8 8008F5D8 A4990044 */ sh $t9, 0x44($a0) -/* 0901DC 8008F5DC 8C8800BC */ lw $t0, 0xbc($a0) -.L8008F5E0: -/* 0901E0 8008F5E0 44802000 */ mtc1 $zero, $f4 -/* 0901E4 8008F5E4 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe -/* 0901E8 8008F5E8 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 0901EC 8008F5EC 01014824 */ and $t1, $t0, $at -/* 0901F0 8008F5F0 A4800206 */ sh $zero, 0x206($a0) -/* 0901F4 8008F5F4 A48000C4 */ sh $zero, 0xc4($a0) -/* 0901F8 8008F5F8 AC8900BC */ sw $t1, 0xbc($a0) -/* 0901FC 8008F5FC A48000A8 */ sh $zero, 0xa8($a0) -/* 090200 8008F600 A48000C0 */ sh $zero, 0xc0($a0) -/* 090204 8008F604 AC80007C */ sw $zero, 0x7c($a0) -/* 090208 8008F608 A4800236 */ sh $zero, 0x236($a0) -/* 09020C 8008F60C A4800078 */ sh $zero, 0x78($a0) -/* 090210 8008F610 E484009C */ swc1 $f4, 0x9c($a0) -/* 090214 8008F614 83AA001F */ lb $t2, 0x1f($sp) -/* 090218 8008F618 3C0C8016 */ lui $t4, %hi(D_80165190) # $t4, 0x8016 -/* 09021C 8008F61C 258C5190 */ addiu $t4, %lo(D_80165190) # addiu $t4, $t4, 0x5190 -/* 090220 8008F620 000A5840 */ sll $t3, $t2, 1 -/* 090224 8008F624 24030001 */ li $v1, 1 -/* 090228 8008F628 016C1021 */ addu $v0, $t3, $t4 -/* 09022C 8008F62C A4430000 */ sh $v1, ($v0) -/* 090230 8008F630 A4430010 */ sh $v1, 0x10($v0) -/* 090234 8008F634 A4430020 */ sh $v1, 0x20($v0) -/* 090238 8008F638 A4430030 */ sh $v1, 0x30($v0) -/* 09023C 8008F63C A4800042 */ sh $zero, 0x42($a0) -/* 090240 8008F640 8FBF0014 */ lw $ra, 0x14($sp) -/* 090244 8008F644 27BD0018 */ addiu $sp, $sp, 0x18 -/* 090248 8008F648 03E00008 */ jr $ra -/* 09024C 8008F64C 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F650.s b/asm/non_matchings/code_8008C1D0/func_8008F650.s deleted file mode 100644 index da20a5552..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F650.s +++ /dev/null @@ -1,80 +0,0 @@ -glabel func_8008F650 -/* 090250 8008F650 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e -/* 090254 8008F654 C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at) -/* 090258 8008F658 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 09025C 8008F65C AFA5002C */ sw $a1, 0x2c($sp) -/* 090260 8008F660 4600218D */ trunc.w.s $f6, $f4 -/* 090264 8008F664 00057600 */ sll $t6, $a1, 0x18 -/* 090268 8008F668 000E2E03 */ sra $a1, $t6, 0x18 -/* 09026C 8008F66C 3C188019 */ lui $t8, %hi(D_8018D930) # $t8, 0x8019 -/* 090270 8008F670 2718D930 */ addiu $t8, %lo(D_8018D930) # addiu $t8, $t8, -0x26d0 -/* 090274 8008F674 00053080 */ sll $a2, $a1, 2 -/* 090278 8008F678 00D83821 */ addu $a3, $a2, $t8 -/* 09027C 8008F67C 8CEA0000 */ lw $t2, ($a3) -/* 090280 8008F680 44093000 */ mfc1 $t1, $f6 -/* 090284 8008F684 AFBF0014 */ sw $ra, 0x14($sp) -/* 090288 8008F688 AFA40028 */ sw $a0, 0x28($sp) -/* 09028C 8008F68C 012A1823 */ subu $v1, $t1, $t2 -/* 090290 8008F690 28610009 */ slti $at, $v1, 9 -/* 090294 8008F694 1420002D */ bnez $at, .L8008F74C -/* 090298 8008F698 24080001 */ li $t0, 1 -/* 09029C 8008F69C 3C0B8019 */ lui $t3, %hi(D_8018D900) # $t3, 0x8019 -/* 0902A0 8008F6A0 256BD900 */ addiu $t3, %lo(D_8018D900) # addiu $t3, $t3, -0x2700 -/* 0902A4 8008F6A4 00CB1021 */ addu $v0, $a2, $t3 -/* 0902A8 8008F6A8 AC480000 */ sw $t0, ($v0) -/* 0902AC 8008F6AC 94840000 */ lhu $a0, ($a0) -/* 0902B0 8008F6B0 24014000 */ li $at, 16384 -/* 0902B4 8008F6B4 308D4000 */ andi $t5, $a0, 0x4000 -/* 0902B8 8008F6B8 15A10013 */ bne $t5, $at, .L8008F708 -/* 0902BC 8008F6BC 308E0100 */ andi $t6, $a0, 0x100 -/* 0902C0 8008F6C0 24010100 */ li $at, 256 -/* 0902C4 8008F6C4 51C10011 */ beql $t6, $at, .L8008F70C -/* 0902C8 8008F6C8 8C4A0000 */ lw $t2, ($v0) -/* 0902CC 8008F6CC 1508001F */ bne $t0, $t0, .L8008F74C -/* 0902D0 8008F6D0 30A400FF */ andi $a0, $a1, 0xff -/* 0902D4 8008F6D4 AFA20018 */ sw $v0, 0x18($sp) -/* 0902D8 8008F6D8 0C0329CC */ jal func_800CA730 -/* 0902DC 8008F6DC AFA70020 */ sw $a3, 0x20($sp) -/* 0902E0 8008F6E0 8FA20018 */ lw $v0, 0x18($sp) -/* 0902E4 8008F6E4 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e -/* 0902E8 8008F6E8 8FA70020 */ lw $a3, 0x20($sp) -/* 0902EC 8008F6EC AC400000 */ sw $zero, ($v0) -/* 0902F0 8008F6F0 C428C598 */ lwc1 $f8, %lo(gCourseTimer)($at) -/* 0902F4 8008F6F4 8CE90000 */ lw $t1, ($a3) -/* 0902F8 8008F6F8 4600428D */ trunc.w.s $f10, $f8 -/* 0902FC 8008F6FC 44195000 */ mfc1 $t9, $f10 -/* 090300 8008F700 10000012 */ b .L8008F74C -/* 090304 8008F704 03291823 */ subu $v1, $t9, $t1 -.L8008F708: -/* 090308 8008F708 8C4A0000 */ lw $t2, ($v0) -.L8008F70C: -/* 09030C 8008F70C 30A400FF */ andi $a0, $a1, 0xff -/* 090310 8008F710 550A000F */ bnel $t0, $t2, .L8008F750 -/* 090314 8008F714 2861000A */ slti $at, $v1, 0xa -/* 090318 8008F718 AFA20018 */ sw $v0, 0x18($sp) -/* 09031C 8008F71C 0C032AB3 */ jal func_800CAACC -/* 090320 8008F720 AFA70020 */ sw $a3, 0x20($sp) -/* 090324 8008F724 8FA20018 */ lw $v0, 0x18($sp) -/* 090328 8008F728 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e -/* 09032C 8008F72C 8FA70020 */ lw $a3, 0x20($sp) -/* 090330 8008F730 AC400000 */ sw $zero, ($v0) -/* 090334 8008F734 C430C598 */ lwc1 $f16, %lo(gCourseTimer)($at) -/* 090338 8008F738 8CED0000 */ lw $t5, ($a3) -/* 09033C 8008F73C 4600848D */ trunc.w.s $f18, $f16 -/* 090340 8008F740 440C9000 */ mfc1 $t4, $f18 -/* 090344 8008F744 00000000 */ nop -/* 090348 8008F748 018D1823 */ subu $v1, $t4, $t5 -.L8008F74C: -/* 09034C 8008F74C 2861000A */ slti $at, $v1, 0xa -.L8008F750: -/* 090350 8008F750 14200005 */ bnez $at, .L8008F768 -/* 090354 8008F754 8FAE0028 */ lw $t6, 0x28($sp) -/* 090358 8008F758 8DCF00BC */ lw $t7, 0xbc($t6) -/* 09035C 8008F75C 2401FDFF */ li $at, -513 -/* 090360 8008F760 01E1C024 */ and $t8, $t7, $at -/* 090364 8008F764 ADD800BC */ sw $t8, 0xbc($t6) -.L8008F768: -/* 090368 8008F768 8FBF0014 */ lw $ra, 0x14($sp) -/* 09036C 8008F76C 27BD0028 */ addiu $sp, $sp, 0x28 -/* 090370 8008F770 03E00008 */ jr $ra -/* 090374 8008F774 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F778.s b/asm/non_matchings/code_8008C1D0/func_8008F778.s deleted file mode 100644 index 986bf9e23..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F778.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel func_8008F778 -/* 090378 8008F778 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 09037C 8008F77C AFA50024 */ sw $a1, 0x24($sp) -/* 090380 8008F780 00A07025 */ move $t6, $a1 -/* 090384 8008F784 000E2E00 */ sll $a1, $t6, 0x18 -/* 090388 8008F788 AFBF0014 */ sw $ra, 0x14($sp) -/* 09038C 8008F78C 00057E03 */ sra $t7, $a1, 0x18 -/* 090390 8008F790 01E02825 */ move $a1, $t7 -/* 090394 8008F794 A3AE0027 */ sb $t6, 0x27($sp) -/* 090398 8008F798 0C0230D5 */ jal func_8008C354 -/* 09039C 8008F79C AFA40020 */ sw $a0, 0x20($sp) -/* 0903A0 8008F7A0 8FA40020 */ lw $a0, 0x20($sp) -/* 0903A4 8008F7A4 2401DFFF */ li $at, -8193 -/* 0903A8 8008F7A8 83A60027 */ lb $a2, 0x27($sp) -/* 0903AC 8008F7AC 8C88000C */ lw $t0, 0xc($a0) -/* 0903B0 8008F7B0 8C9800BC */ lw $t8, 0xbc($a0) -/* 0903B4 8008F7B4 3C0C8019 */ lui $t4, %hi(D_8018D900) # $t4, 0x8019 -/* 0903B8 8008F7B8 01014824 */ and $t1, $t0, $at -/* 0903BC 8008F7BC 37190200 */ ori $t9, $t8, 0x200 -/* 0903C0 8008F7C0 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e -/* 0903C4 8008F7C4 AC9900BC */ sw $t9, 0xbc($a0) -/* 0903C8 8008F7C8 AC89000C */ sw $t1, 0xc($a0) -/* 0903CC 8008F7CC C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at) -/* 0903D0 8008F7D0 3C018019 */ lui $at, %hi(D_8018D930) # 0x8019 -/* 0903D4 8008F7D4 00061080 */ sll $v0, $a2, 2 -/* 0903D8 8008F7D8 4600218D */ trunc.w.s $f6, $f4 -/* 0903DC 8008F7DC 00220821 */ addu $at, $at, $v0 -/* 0903E0 8008F7E0 258CD900 */ addiu $t4, %lo(D_8018D900) # addiu $t4, $t4, -0x2700 -/* 0903E4 8008F7E4 24070001 */ li $a3, 1 -/* 0903E8 8008F7E8 440B3000 */ mfc1 $t3, $f6 -/* 0903EC 8008F7EC 004C1821 */ addu $v1, $v0, $t4 -/* 0903F0 8008F7F0 AC2BD930 */ sw $t3, %lo(D_8018D930)($at) # -0x26d0($at) -/* 0903F4 8008F7F4 AC670000 */ sw $a3, ($v1) -/* 0903F8 8008F7F8 94850000 */ lhu $a1, ($a0) -/* 0903FC 8008F7FC 24014000 */ li $at, 16384 -/* 090400 8008F800 30AD4000 */ andi $t5, $a1, 0x4000 -/* 090404 8008F804 15A1000C */ bne $t5, $at, .L8008F838 -/* 090408 8008F808 30AE0100 */ andi $t6, $a1, 0x100 -/* 09040C 8008F80C 24010100 */ li $at, 256 -/* 090410 8008F810 51C1000A */ beql $t6, $at, .L8008F83C -/* 090414 8008F814 8C790000 */ lw $t9, ($v1) -/* 090418 8008F818 14E70010 */ bne $a3, $a3, .L8008F85C -/* 09041C 8008F81C 30C400FF */ andi $a0, $a2, 0xff -/* 090420 8008F820 0C032967 */ jal func_800CA59C -/* 090424 8008F824 AFA3001C */ sw $v1, 0x1c($sp) -/* 090428 8008F828 8FA3001C */ lw $v1, 0x1c($sp) -/* 09042C 8008F82C 24180002 */ li $t8, 2 -/* 090430 8008F830 1000000A */ b .L8008F85C -/* 090434 8008F834 AC780000 */ sw $t8, ($v1) -.L8008F838: -/* 090438 8008F838 8C790000 */ lw $t9, ($v1) -.L8008F83C: -/* 09043C 8008F83C 30C400FF */ andi $a0, $a2, 0xff -/* 090440 8008F840 54F90007 */ bnel $a3, $t9, .L8008F860 -/* 090444 8008F844 8FBF0014 */ lw $ra, 0x14($sp) -/* 090448 8008F848 0C032A61 */ jal func_800CA984 -/* 09044C 8008F84C AFA3001C */ sw $v1, 0x1c($sp) -/* 090450 8008F850 8FA3001C */ lw $v1, 0x1c($sp) -/* 090454 8008F854 24080002 */ li $t0, 2 -/* 090458 8008F858 AC680000 */ sw $t0, ($v1) -.L8008F85C: -/* 09045C 8008F85C 8FBF0014 */ lw $ra, 0x14($sp) -.L8008F860: -/* 090460 8008F860 27BD0020 */ addiu $sp, $sp, 0x20 -/* 090464 8008F864 03E00008 */ jr $ra -/* 090468 8008F868 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008F86C.s b/asm/non_matchings/code_8008C1D0/func_8008F86C.s deleted file mode 100644 index 905961d24..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008F86C.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_8008F86C -/* 09046C 8008F86C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 090470 8008F870 AFBF0014 */ sw $ra, 0x14($sp) -/* 090474 8008F874 AFA5001C */ sw $a1, 0x1c($sp) -/* 090478 8008F878 8C9800BC */ lw $t8, 0xbc($a0) -/* 09047C 8008F87C 94820000 */ lhu $v0, ($a0) -/* 090480 8008F880 2401FDFF */ li $at, -513 -/* 090484 8008F884 00057600 */ sll $t6, $a1, 0x18 -/* 090488 8008F888 0301C824 */ and $t9, $t8, $at -/* 09048C 8008F88C 000E7E03 */ sra $t7, $t6, 0x18 -/* 090490 8008F890 24014000 */ li $at, 16384 -/* 090494 8008F894 30484000 */ andi $t0, $v0, 0x4000 -/* 090498 8008F898 01E02825 */ move $a1, $t7 -/* 09049C 8008F89C 15010009 */ bne $t0, $at, .L8008F8C4 -/* 0904A0 8008F8A0 AC9900BC */ sw $t9, 0xbc($a0) -/* 0904A4 8008F8A4 30490100 */ andi $t1, $v0, 0x100 -/* 0904A8 8008F8A8 24010100 */ li $at, 256 -/* 0904AC 8008F8AC 11210005 */ beq $t1, $at, .L8008F8C4 -/* 0904B0 8008F8B0 00000000 */ nop -/* 0904B4 8008F8B4 0C0329CC */ jal func_800CA730 -/* 0904B8 8008F8B8 31E400FF */ andi $a0, $t7, 0xff -/* 0904BC 8008F8BC 10000004 */ b .L8008F8D0 -/* 0904C0 8008F8C0 8FBF0014 */ lw $ra, 0x14($sp) -.L8008F8C4: -/* 0904C4 8008F8C4 0C032AB3 */ jal func_800CAACC -/* 0904C8 8008F8C8 30A400FF */ andi $a0, $a1, 0xff -/* 0904CC 8008F8CC 8FBF0014 */ lw $ra, 0x14($sp) -.L8008F8D0: -/* 0904D0 8008F8D0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0904D4 8008F8D4 03E00008 */ jr $ra -/* 0904D8 8008F8D8 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FA38.s b/asm/non_matchings/code_8008C1D0/func_8008FA38.s deleted file mode 100644 index 57a0d7ae3..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FA38.s +++ /dev/null @@ -1,66 +0,0 @@ -glabel func_8008FA38 -/* 090638 8008FA38 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09063C 8008FA3C AFBF0014 */ sw $ra, 0x14($sp) -/* 090640 8008FA40 AFA5001C */ sw $a1, 0x1c($sp) -/* 090644 8008FA44 94980000 */ lhu $t8, ($a0) -/* 090648 8008FA48 00057600 */ sll $t6, $a1, 0x18 -/* 09064C 8008FA4C 000E2E03 */ sra $a1, $t6, 0x18 -/* 090650 8008FA50 33194000 */ andi $t9, $t8, 0x4000 -/* 090654 8008FA54 13200011 */ beqz $t9, .L8008FA9C -/* 090658 8008FA58 00803025 */ move $a2, $a0 -/* 09065C 8008FA5C 84880044 */ lh $t0, 0x44($a0) -/* 090660 8008FA60 00001825 */ move $v1, $zero -/* 090664 8008FA64 35090200 */ ori $t1, $t0, 0x200 -/* 090668 8008FA68 A4890044 */ sh $t1, 0x44($a0) -/* 09066C 8008FA6C 24040048 */ li $a0, 72 -.L8008FA70: -/* 090670 8008FA70 00640019 */ multu $v1, $a0 -/* 090674 8008FA74 24630001 */ addiu $v1, $v1, 1 -/* 090678 8008FA78 00035C00 */ sll $t3, $v1, 0x10 -/* 09067C 8008FA7C 000B1C03 */ sra $v1, $t3, 0x10 -/* 090680 8008FA80 2861000A */ slti $at, $v1, 0xa -/* 090684 8008FA84 00005012 */ mflo $t2 -/* 090688 8008FA88 00CA1021 */ addu $v0, $a2, $t2 -/* 09068C 8008FA8C A4400274 */ sh $zero, 0x274($v0) -/* 090690 8008FA90 A4400276 */ sh $zero, 0x276($v0) -/* 090694 8008FA94 1420FFF6 */ bnez $at, .L8008FA70 -/* 090698 8008FA98 A440026A */ sh $zero, 0x26a($v0) -.L8008FA9C: -/* 09069C 8008FA9C 00C02025 */ move $a0, $a2 -/* 0906A0 8008FAA0 A3A5001F */ sb $a1, 0x1f($sp) -/* 0906A4 8008FAA4 0C0230D5 */ jal func_8008C354 -/* 0906A8 8008FAA8 AFA60018 */ sw $a2, 0x18($sp) -/* 0906AC 8008FAAC 8FA60018 */ lw $a2, 0x18($sp) -/* 0906B0 8008FAB0 3C018000 */ lui $at, 0x8000 -/* 0906B4 8008FAB4 83A5001F */ lb $a1, 0x1f($sp) -/* 0906B8 8008FAB8 8CCD00BC */ lw $t5, 0xbc($a2) -/* 0906BC 8008FABC 8CCF000C */ lw $t7, 0xc($a2) -/* 0906C0 8008FAC0 00051080 */ sll $v0, $a1, 2 -/* 0906C4 8008FAC4 01A17025 */ or $t6, $t5, $at -/* 0906C8 8008FAC8 2401F7FF */ li $at, -2049 -/* 0906CC 8008FACC 01E1C024 */ and $t8, $t7, $at -/* 0906D0 8008FAD0 3C01800E */ lui $at, %hi(gCourseTimer) # $at, 0x800e -/* 0906D4 8008FAD4 ACCE00BC */ sw $t6, 0xbc($a2) -/* 0906D8 8008FAD8 ACD8000C */ sw $t8, 0xc($a2) -/* 0906DC 8008FADC C424C598 */ lwc1 $f4, %lo(gCourseTimer)($at) -/* 0906E0 8008FAE0 3C018019 */ lui $at, %hi(D_8018D950) # 0x8019 -/* 0906E4 8008FAE4 00220821 */ addu $at, $at, $v0 -/* 0906E8 8008FAE8 4600218D */ trunc.w.s $f6, $f4 -/* 0906EC 8008FAEC 240900FF */ li $t1, 255 -/* 0906F0 8008FAF0 44083000 */ mfc1 $t0, $f6 -/* 0906F4 8008FAF4 00000000 */ nop -/* 0906F8 8008FAF8 AC28D950 */ sw $t0, %lo(D_8018D950)($at) # -0x26b0($at) -/* 0906FC 8008FAFC 3C018019 */ lui $at, %hi(D_8018D970) # 0x8019 -/* 090700 8008FB00 00220821 */ addu $at, $at, $v0 -/* 090704 8008FB04 AC29D970 */ sw $t1, %lo(D_8018D970)($at) # -0x2690($at) -/* 090708 8008FB08 94CA0000 */ lhu $t2, ($a2) -/* 09070C 8008FB0C 314B4000 */ andi $t3, $t2, 0x4000 -/* 090710 8008FB10 51600004 */ beql $t3, $zero, .L8008FB24 -/* 090714 8008FB14 8FBF0014 */ lw $ra, 0x14($sp) -/* 090718 8008FB18 0C032BF0 */ jal func_800CAFC0 -/* 09071C 8008FB1C 30A400FF */ andi $a0, $a1, 0xff -/* 090720 8008FB20 8FBF0014 */ lw $ra, 0x14($sp) -.L8008FB24: -/* 090724 8008FB24 27BD0018 */ addiu $sp, $sp, 0x18 -/* 090728 8008FB28 03E00008 */ jr $ra -/* 09072C 8008FB2C 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FC1C.s b/asm/non_matchings/code_8008C1D0/func_8008FC1C.s deleted file mode 100644 index a6a6a95b6..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FC1C.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_8008FC1C -/* 09081C 8008FC1C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 090820 8008FC20 AFBF0014 */ sw $ra, 0x14($sp) -/* 090824 8008FC24 948E0000 */ lhu $t6, ($a0) -/* 090828 8008FC28 00802825 */ move $a1, $a0 -/* 09082C 8008FC2C 31CF0040 */ andi $t7, $t6, 0x40 -/* 090830 8008FC30 51E00009 */ beql $t7, $zero, .L8008FC58 -/* 090834 8008FC34 8FBF0014 */ lw $ra, 0x14($sp) -/* 090838 8008FC38 0C009F40 */ jal get_player_index_for_player -/* 09083C 8008FC3C AFA50018 */ sw $a1, 0x18($sp) -/* 090840 8008FC40 8FA50018 */ lw $a1, 0x18($sp) -/* 090844 8008FC44 24187000 */ li $t8, 28672 -/* 090848 8008FC48 00402025 */ move $a0, $v0 -/* 09084C 8008FC4C 0C015AA5 */ jal func_80056A94 -/* 090850 8008FC50 A4B80000 */ sh $t8, ($a1) -/* 090854 8008FC54 8FBF0014 */ lw $ra, 0x14($sp) -.L8008FC58: -/* 090858 8008FC58 27BD0018 */ addiu $sp, $sp, 0x18 -/* 09085C 8008FC5C 03E00008 */ jr $ra -/* 090860 8008FC60 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FC64.s b/asm/non_matchings/code_8008C1D0/func_8008FC64.s deleted file mode 100644 index 75252707c..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FC64.s +++ /dev/null @@ -1,32 +0,0 @@ -glabel func_8008FC64 -/* 090864 8008FC64 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 090868 8008FC68 AFBF0014 */ sw $ra, 0x14($sp) -/* 09086C 8008FC6C AFA5001C */ sw $a1, 0x1c($sp) -/* 090870 8008FC70 848E00C6 */ lh $t6, 0xc6($a0) -/* 090874 8008FC74 25CFFFFC */ addiu $t7, $t6, -4 -/* 090878 8008FC78 A48F00C6 */ sh $t7, 0xc6($a0) -/* 09087C 8008FC7C 849800C6 */ lh $t8, 0xc6($a0) -/* 090880 8008FC80 2B010005 */ slti $at, $t8, 5 -/* 090884 8008FC84 50200012 */ beql $at, $zero, .L8008FCD0 -/* 090888 8008FC88 8FBF0014 */ lw $ra, 0x14($sp) -/* 09088C 8008FC8C 8C99000C */ lw $t9, 0xc($a0) -/* 090890 8008FC90 3C01FBFF */ lui $at, (0xFBFFFFFF >> 16) # lui $at, 0xfbff -/* 090894 8008FC94 3421FFFF */ ori $at, (0xFBFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 090898 8008FC98 948B0000 */ lhu $t3, ($a0) -/* 09089C 8008FC9C 03214024 */ and $t0, $t9, $at -/* 0908A0 8008FCA0 3C010800 */ lui $at, 0x800 -/* 0908A4 8008FCA4 AC88000C */ sw $t0, 0xc($a0) -/* 0908A8 8008FCA8 01015025 */ or $t2, $t0, $at -/* 0908AC 8008FCAC 356C0040 */ ori $t4, $t3, 0x40 -/* 0908B0 8008FCB0 A48000C6 */ sh $zero, 0xc6($a0) -/* 0908B4 8008FCB4 AC8A000C */ sw $t2, 0xc($a0) -/* 0908B8 8008FCB8 A48C0000 */ sh $t4, ($a0) -/* 0908BC 8008FCBC 0C023F6A */ jal func_8008FDA8 -/* 0908C0 8008FCC0 83A5001F */ lb $a1, 0x1f($sp) -/* 0908C4 8008FCC4 0C015A7D */ jal func_800569F4 -/* 0908C8 8008FCC8 83A4001F */ lb $a0, 0x1f($sp) -/* 0908CC 8008FCCC 8FBF0014 */ lw $ra, 0x14($sp) -.L8008FCD0: -/* 0908D0 8008FCD0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0908D4 8008FCD4 03E00008 */ jr $ra -/* 0908D8 8008FCD8 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FCDC.s b/asm/non_matchings/code_8008C1D0/func_8008FCDC.s deleted file mode 100644 index cb4271f61..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FCDC.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel func_8008FCDC -/* 0908DC 8008FCDC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0908E0 8008FCE0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0908E4 8008FCE4 AFA5001C */ sw $a1, 0x1c($sp) -/* 0908E8 8008FCE8 848F00C6 */ lh $t7, 0xc6($a0) -/* 0908EC 8008FCEC 00053600 */ sll $a2, $a1, 0x18 -/* 0908F0 8008FCF0 00067603 */ sra $t6, $a2, 0x18 -/* 0908F4 8008FCF4 25F80002 */ addiu $t8, $t7, 2 -/* 0908F8 8008FCF8 A49800C6 */ sh $t8, 0xc6($a0) -/* 0908FC 8008FCFC 848200C6 */ lh $v0, 0xc6($a0) -/* 090900 8008FD00 01C03025 */ move $a2, $t6 -/* 090904 8008FD04 241900FF */ li $t9, 255 -/* 090908 8008FD08 284100F0 */ slti $at, $v0, 0xf0 -/* 09090C 8008FD0C 54200009 */ bnel $at, $zero, .L8008FD34 -/* 090910 8008FD10 00C02025 */ move $a0, $a2 -/* 090914 8008FD14 8C88000C */ lw $t0, 0xc($a0) -/* 090918 8008FD18 3C01F7FF */ lui $at, (0xF7FFFFFF >> 16) # lui $at, 0xf7ff -/* 09091C 8008FD1C 3421FFFF */ ori $at, (0xF7FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 090920 8008FD20 A49900C6 */ sh $t9, 0xc6($a0) -/* 090924 8008FD24 01014824 */ and $t1, $t0, $at -/* 090928 8008FD28 AC89000C */ sw $t1, 0xc($a0) -/* 09092C 8008FD2C 848200C6 */ lh $v0, 0xc6($a0) -/* 090930 8008FD30 00C02025 */ move $a0, $a2 -.L8008FD34: -/* 090934 8008FD34 0C015A90 */ jal func_80056A40 -/* 090938 8008FD38 00402825 */ move $a1, $v0 -/* 09093C 8008FD3C 8FBF0014 */ lw $ra, 0x14($sp) -/* 090940 8008FD40 27BD0018 */ addiu $sp, $sp, 0x18 -/* 090944 8008FD44 03E00008 */ jr $ra -/* 090948 8008FD48 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FD4C.s b/asm/non_matchings/code_8008C1D0/func_8008FD4C.s deleted file mode 100644 index aaca7e290..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FD4C.s +++ /dev/null @@ -1,25 +0,0 @@ -glabel func_8008FD4C -/* 09094C 8008FD4C AFA50004 */ sw $a1, 4($sp) -/* 090950 8008FD50 8C8E000C */ lw $t6, 0xc($a0) -/* 090954 8008FD54 84980044 */ lh $t8, 0x44($a0) -/* 090958 8008FD58 3C010400 */ lui $at, 0x400 -/* 09095C 8008FD5C 01C17825 */ or $t7, $t6, $at -/* 090960 8008FD60 37190200 */ ori $t9, $t8, 0x200 -/* 090964 8008FD64 AC8F000C */ sw $t7, 0xc($a0) -/* 090968 8008FD68 A4990044 */ sh $t9, 0x44($a0) -/* 09096C 8008FD6C 24050048 */ li $a1, 72 -/* 090970 8008FD70 00001025 */ move $v0, $zero -.L8008FD74: -/* 090974 8008FD74 00450019 */ multu $v0, $a1 -/* 090978 8008FD78 24420001 */ addiu $v0, $v0, 1 -/* 09097C 8008FD7C 00024C00 */ sll $t1, $v0, 0x10 -/* 090980 8008FD80 00091403 */ sra $v0, $t1, 0x10 -/* 090984 8008FD84 2841000A */ slti $at, $v0, 0xa -/* 090988 8008FD88 00004012 */ mflo $t0 -/* 09098C 8008FD8C 00881821 */ addu $v1, $a0, $t0 -/* 090990 8008FD90 A4600274 */ sh $zero, 0x274($v1) -/* 090994 8008FD94 A4600276 */ sh $zero, 0x276($v1) -/* 090998 8008FD98 1420FFF6 */ bnez $at, .L8008FD74 -/* 09099C 8008FD9C A460026A */ sh $zero, 0x26a($v1) -/* 0909A0 8008FDA0 03E00008 */ jr $ra -/* 0909A4 8008FDA4 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FDA8.s b/asm/non_matchings/code_8008C1D0/func_8008FDA8.s deleted file mode 100644 index a2b8721a1..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FDA8.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_8008FDA8 -/* 0909A8 8008FDA8 AFA50004 */ sw $a1, 4($sp) -/* 0909AC 8008FDAC 848E0044 */ lh $t6, 0x44($a0) -/* 0909B0 8008FDB0 24050048 */ li $a1, 72 -/* 0909B4 8008FDB4 00001025 */ move $v0, $zero -/* 0909B8 8008FDB8 35CF0200 */ ori $t7, $t6, 0x200 -/* 0909BC 8008FDBC A48F0044 */ sh $t7, 0x44($a0) -.L8008FDC0: -/* 0909C0 8008FDC0 00450019 */ multu $v0, $a1 -/* 0909C4 8008FDC4 24420001 */ addiu $v0, $v0, 1 -/* 0909C8 8008FDC8 0002CC00 */ sll $t9, $v0, 0x10 -/* 0909CC 8008FDCC 00191403 */ sra $v0, $t9, 0x10 -/* 0909D0 8008FDD0 2841000A */ slti $at, $v0, 0xa -/* 0909D4 8008FDD4 0000C012 */ mflo $t8 -/* 0909D8 8008FDD8 00981821 */ addu $v1, $a0, $t8 -/* 0909DC 8008FDDC A4600274 */ sh $zero, 0x274($v1) -/* 0909E0 8008FDE0 A4600276 */ sh $zero, 0x276($v1) -/* 0909E4 8008FDE4 1420FFF6 */ bnez $at, .L8008FDC0 -/* 0909E8 8008FDE8 A460026A */ sh $zero, 0x26a($v1) -/* 0909EC 8008FDEC 03E00008 */ jr $ra -/* 0909F0 8008FDF0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FDF4.s b/asm/non_matchings/code_8008C1D0/func_8008FDF4.s deleted file mode 100644 index 827dceca3..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FDF4.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel func_8008FDF4 -/* 0909F4 8008FDF4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0909F8 8008FDF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0909FC 8008FDFC AFA5001C */ sw $a1, 0x1c($sp) -/* 090A00 8008FE00 00057600 */ sll $t6, $a1, 0x18 -/* 090A04 8008FE04 000E2E03 */ sra $a1, $t6, 0x18 -/* 090A08 8008FE08 0C0230D5 */ jal func_8008C354 -/* 090A0C 8008FE0C AFA40018 */ sw $a0, 0x18($sp) -/* 090A10 8008FE10 8FA40018 */ lw $a0, 0x18($sp) -/* 090A14 8008FE14 2401FFEF */ li $at, -17 -/* 090A18 8008FE18 44803000 */ mtc1 $zero, $f6 -/* 090A1C 8008FE1C 8C9800BC */ lw $t8, 0xbc($a0) -/* 090A20 8008FE20 94820254 */ lhu $v0, 0x254($a0) -/* 090A24 8008FE24 8C89000C */ lw $t1, 0xc($a0) -/* 090A28 8008FE28 0301C824 */ and $t9, $t8, $at -/* 090A2C 8008FE2C 3C01800E */ lui $at, %hi(D_800E37F0) -/* 090A30 8008FE30 00024080 */ sll $t0, $v0, 2 -/* 090A34 8008FE34 00280821 */ addu $at, $at, $t0 -/* 090A38 8008FE38 AC9900BC */ sw $t9, 0xbc($a0) -/* 090A3C 8008FE3C C42437F0 */ lwc1 $f4, %lo(D_800E37F0)($at) -/* 090A40 8008FE40 3C01800E */ lui $at, %hi(D_800E37D0) -/* 090A44 8008FE44 00280821 */ addu $at, $at, $t0 -/* 090A48 8008FE48 E48600F4 */ swc1 $f6, 0xf4($a0) -/* 090A4C 8008FE4C E48400F0 */ swc1 $f4, 0xf0($a0) -/* 090A50 8008FE50 C42837D0 */ lwc1 $f8, %lo(D_800E37D0)($at) -/* 090A54 8008FE54 3C01FFEF */ lui $at, (0xFFEFFFFF >> 16) # lui $at, 0xffef -/* 090A58 8008FE58 3421FFFF */ ori $at, (0xFFEFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 090A5C 8008FE5C 01215024 */ and $t2, $t1, $at -/* 090A60 8008FE60 3C011000 */ lui $at, 0x1000 -/* 090A64 8008FE64 03216025 */ or $t4, $t9, $at -/* 090A68 8008FE68 AC8A000C */ sw $t2, 0xc($a0) -/* 090A6C 8008FE6C AC8C00BC */ sw $t4, 0xbc($a0) -/* 090A70 8008FE70 E48800EC */ swc1 $f8, 0xec($a0) -/* 090A74 8008FE74 8FBF0014 */ lw $ra, 0x14($sp) -/* 090A78 8008FE78 27BD0018 */ addiu $sp, $sp, 0x18 -/* 090A7C 8008FE7C 03E00008 */ jr $ra -/* 090A80 8008FE80 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FE84.s b/asm/non_matchings/code_8008C1D0/func_8008FE84.s deleted file mode 100644 index 3a6f09672..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FE84.s +++ /dev/null @@ -1,24 +0,0 @@ -glabel func_8008FE84 -/* 090A84 8008FE84 AFA50004 */ sw $a1, 4($sp) -/* 090A88 8008FE88 8C8E00BC */ lw $t6, 0xbc($a0) -/* 090A8C 8008FE8C 2401FFEF */ li $at, -17 -/* 090A90 8008FE90 01C17824 */ and $t7, $t6, $at -/* 090A94 8008FE94 31F80008 */ andi $t8, $t7, 8 -/* 090A98 8008FE98 24010008 */ li $at, 8 -/* 090A9C 8008FE9C 1301000D */ beq $t8, $at, .L8008FED4 -/* 090AA0 8008FEA0 AC8F00BC */ sw $t7, 0xbc($a0) -/* 090AA4 8008FEA4 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 090AA8 8008FEA8 44810000 */ mtc1 $at, $f0 -/* 090AAC 8008FEAC C484009C */ lwc1 $f4, 0x9c($a0) -/* 090AB0 8008FEB0 C488008C */ lwc1 $f8, 0x8c($a0) -/* 090AB4 8008FEB4 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff -/* 090AB8 8008FEB8 46002183 */ div.s $f6, $f4, $f0 -/* 090ABC 8008FEBC 3421FFFF */ ori $at, (0xEFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 090AC0 8008FEC0 01E1C824 */ and $t9, $t7, $at -/* 090AC4 8008FEC4 AC9900BC */ sw $t9, 0xbc($a0) -/* 090AC8 8008FEC8 46004283 */ div.s $f10, $f8, $f0 -/* 090ACC 8008FECC E486009C */ swc1 $f6, 0x9c($a0) -/* 090AD0 8008FED0 E48A008C */ swc1 $f10, 0x8c($a0) -.L8008FED4: -/* 090AD4 8008FED4 03E00008 */ jr $ra -/* 090AD8 8008FED8 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FEDC.s b/asm/non_matchings/code_8008C1D0/func_8008FEDC.s deleted file mode 100644 index 3506037fb..000000000 --- a/asm/non_matchings/code_8008C1D0/func_8008FEDC.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel func_8008FEDC -/* 090ADC 8008FEDC AFA50004 */ sw $a1, 4($sp) -/* 090AE0 8008FEE0 44800000 */ mtc1 $zero, $f0 -/* 090AE4 8008FEE4 8C8E00BC */ lw $t6, 0xbc($a0) -/* 090AE8 8008FEE8 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff -/* 090AEC 8008FEEC 3421FFFF */ ori $at, (0xEFFFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 090AF0 8008FEF0 01C17824 */ and $t7, $t6, $at -/* 090AF4 8008FEF4 AC8F00BC */ sw $t7, 0xbc($a0) -/* 090AF8 8008FEF8 E48000F0 */ swc1 $f0, 0xf0($a0) -/* 090AFC 8008FEFC E48000EC */ swc1 $f0, 0xec($a0) -/* 090B00 8008FF00 03E00008 */ jr $ra -/* 090B04 8008FF04 E48000F4 */ swc1 $f0, 0xf4($a0) diff --git a/include/common_structs.h b/include/common_structs.h index 09c27815d..0b776b105 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -142,7 +142,6 @@ typedef struct { /* 0x000A */ char unk_00A[0x2]; /* 0x000C */ s32 unk_00C; /* 0x0010 */ char unk_010[0x4]; - /* 0x0014 */ f32 posX; /* 0x0018 */ f32 posY; /* 0x001C */ f32 posZ; @@ -172,7 +171,7 @@ typedef struct { /* 0x0078 */ s16 unk_078; /* 0x007A */ s16 unk_07A; /* 0x007C */ s32 unk_07C; - /* 0x0080 */ f32 unk_080; + /* 0x0080 */ f32 boostPower; /* 0x0084 */ f32 unk_084; /* 0x0088 */ f32 unk_088; /* 0x008C */ f32 unk_08C; @@ -199,8 +198,8 @@ typedef struct { /* 0x00C8 */ s16 unk_0C8; /* 0x00CA */ s16 unk_0CA; /* 0x00CC */ char unk_0CC[0x10]; - /* 0x00DC */ s16 unk_0DC; - /* 0x00DE */ s16 unk_0DE; + /* 0x00DC */ s16 boostTimer; + /* 0x00DE */ u16 unk_0DE; /* 0x00E0 */ s16 unk_0E0; /* 0x00E2 */ s16 unk_0E2; /* 0x00E4 */ f32 unk_0E4; @@ -240,7 +239,7 @@ typedef struct { /* 0x0198 */ f32 unk_198; /* 0x019C */ f32 unk_19C; /* 0x01A0 */ f32 unk_1A0; - /* 0x01A4 */ s8 unk_1A4; + /* 0x01A4 */ s8 frontLeftTyreSurface; /* 0x01A5 */ s8 unk_1A5; /* 0x01A6 */ s16 unk_1A6; /* 0x01A8 */ f32 unk_1A8; @@ -248,7 +247,7 @@ typedef struct { /* 0x01B0 */ f32 unk_1B0; /* 0x01B4 */ f32 unk_1B4; /* 0x01B8 */ f32 unk_1B8; - /* 0x01BC */ s8 unk_1BC; + /* 0x01BC */ s8 frontRightTyreSurface; /* 0x01BD */ s8 unk_1BD; /* 0x01BE */ s16 unk_1BE; /* 0x01C0 */ f32 unk_1C0; @@ -256,7 +255,7 @@ typedef struct { /* 0x01C8 */ f32 unk_1C8; /* 0x01CC */ f32 unk_1CC; /* 0x01D0 */ f32 unk_1D0; - /* 0x01D4 */ s8 unk_1D4; + /* 0x01D4 */ s8 backLeftTyreSurface; /* 0x01D5 */ s8 unk_1D5; /* 0x01D6 */ s16 unk_1D6; /* 0x01D8 */ f32 unk_1D8; @@ -264,7 +263,7 @@ typedef struct { /* 0x01E0 */ f32 unk_1E0; /* 0x01E4 */ f32 unk_1E4; /* 0x01E8 */ f32 unk_1E8; - /* 0x01EC */ s8 unk_1EC; + /* 0x01EC */ s8 backRightTyreSurface; /* 0x01ED */ s8 unk_1ED; /* 0x01EE */ s16 unk_1EE; /* 0x01F0 */ f32 unk_1F0; diff --git a/include/variables.h b/include/variables.h index 5a2c27585..b3e9decd7 100644 --- a/include/variables.h +++ b/include/variables.h @@ -15,6 +15,7 @@ extern s8 gControllerPakSelectedTableRow; // D_800E86C0 extern f32 gCourseCompletionPercentByPlayerId[8]; // D_801644D0 extern f32 gCourseCompletionPercentByRank[8]; // D_80162FD8 extern s8 gCourseRecordsMenuSelection; // D_8018EDF8 +extern f32 gCourseTimer; // D_800DC598 extern s16 gCupCourseOrder[NUM_CUPS][NUM_COURSES_PER_CUP]; // D_800F2BB4 extern s8 gCupCourseSelection; // D_8018EE0B extern char *gCupNames[]; // D_800E7500 @@ -167,6 +168,6 @@ extern s8 D_801657E8; extern s8 D_801658FE; extern s32 D_8018D120; -extern s32 D_8018D900; +extern s32 D_8018D900[]; #endif diff --git a/src/code_80027D00.h b/src/code_80027D00.h index 2bda64add..9cb890169 100644 --- a/src/code_80027D00.h +++ b/src/code_80027D00.h @@ -1,22 +1,22 @@ -#ifndef CODE_80027D00_H -#define CODE_80027D00_H - -#include "common_structs.h" - -/* Function Prototypes */ - -s32 get_player_index_for_player(Player*); -void func_80028F70(); -void func_80029060(); -void func_80029150(); -void func_80029158(); -void func_800291E8(); -void func_800291F0(); -void func_800291F8(); -void func_8002AAC0(Player*); - -/* This is where I'd put my static data, if I had any */ - -extern s16 D_80164AF0; - -#endif \ No newline at end of file +#ifndef CODE_80027D00_H +#define CODE_80027D00_H + +#include "common_structs.h" + +/* Function Prototypes */ + +s32 get_player_index_for_player(Player*); +void func_80028F70(); +void func_80029060(); +void func_80029150(); +void func_80029158(); +void func_800291E8(); +void func_800291F0(); +void func_800291F8(); +void func_8002AAC0(Player*); + +/* This is where I'd put my static data, if I had any */ + +extern s16 D_80164AF0; + +#endif diff --git a/src/code_800393C0.c b/src/code_800393C0.c index 7f4a6d8af..0ef6e038c 100644 --- a/src/code_800393C0.c +++ b/src/code_800393C0.c @@ -132,7 +132,7 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, player->unk_0C2 = 0; player->unk_0C8 = 0; player->unk_0CA = 0; - player->unk_0DC = 0; + player->boostTimer = 0; player->unk_0DE = 0; player->unk_0E0 = 0; player->unk_0E2 = 0; @@ -155,7 +155,7 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, player->unk_064 = 0.0f; player->unk_068 = 0.0f; player->unk_06C = 0.0f; - player->unk_080 = 0.0f; + player->boostPower = 0.0f; player->unk_D9C = 0.0f; player->unk_DA0 = 0.0f; player->unk_DA8 = 0.0f; @@ -220,7 +220,7 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, D_80165500[idx] = 0; D_80165520[idx] = 0; D_80165540[playerIndex] = 0; - D_8018D900 = 0; + D_8018D900[0] = 0; D_801652E0[playerIndex] = 0; D_801652C0[playerIndex] = 0; @@ -236,10 +236,10 @@ void spawn_player(Player *player, s8 playerIndex, f32 arg2, f32 arg3, f32 arg4, D_801654C0[playerIndex] = 0; D_80165340 = 0; - player->unk_1A4 = 0; - player->unk_1BC = 0; - player->unk_1D4 = 0; - player->unk_1EC = 0; + player->frontLeftTyreSurface = 0; + player->frontRightTyreSurface = 0; + player->backLeftTyreSurface = 0; + player->backRightTyreSurface = 0; player->unk_1A5 = 0; player->unk_1BD = 0; player->unk_1D5 = 0; diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index c27e00ced..1f407abf7 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -4,6 +4,7 @@ #include "functions.h" #include "variables.h" #include "code_8008C1D0.h" +#include "code_80027D00.h" #include UNUSED void func_unnamed(void) { @@ -167,13 +168,14 @@ void func_8008C354(Player *player, s8 arg1) { if ((player->unk_0BC & 0x400) == 0x400) { func_8008C6D0(player, arg1); } + if (((player->unk_0BC & 0x80) == 0x80) || (player->unk_0BC & 0x40) == 0x40) { func_8008C8C4(player, arg1); } if ((player->unk_0BC & 0x800) == 0x800) { func_8008D0E4(player, arg1); } - if ((player->unk_044 & 0x4000) != 0) { + if ((player->unk_044 & 0x4000) != 0) { func_8008D3B0(player, arg1); } if ((player->unk_0BC & 0x2000) == 0x2000) { @@ -656,33 +658,29 @@ void func_8008D3C4(Player* player, s8 arg1) { } } - player->unk_0DC = 0x50; + player->boostTimer = 0x50; } -#ifdef NEEDS_RODATA -void func_8008D4B4(Player* arg0) { - arg0->unk_09C = (f32) arg0->unk_214; - if ( arg0->unk_0DC > 0) { - --arg0->unk_0DC; +void func_8008D4B4(Player* player) { + player->unk_09C = (f32) player->unk_214; + if ( player->boostTimer > 0) { + --player->boostTimer; } - if (arg0->unk_0DC != 0) { - move_f32_towards(&arg0->unk_080, 400.0f, 0.5f); + if (player->boostTimer != 0) { + move_f32_towards(&player->boostPower, 400.0f, 0.5f); } else { - move_f32_towards(&arg0->unk_080, 0.0f, 0.1f); + move_f32_towards(&player->boostPower, 0.0f, 0.1f); } - if (arg0->unk_080 <= 1.0f) { - arg0->unk_0BC &= ~0x2000; + if (player->boostPower <= 1.0f) { + player->unk_0BC &= ~0x2000; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008D4B4.s") -#endif void func_8008D554(Player* player) { player->unk_0BC &= ~0x2000; - player->unk_080 = 0.0f; + player->boostPower = 0.0f; } void func_8008D570(Player *player, s8 arg1) { @@ -1029,60 +1027,38 @@ void func_8008DC08(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008DC08.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_800098FC(s8, void *); /* extern */ -? func_8006B8B4(void *, s8); /* extern */ -? func_8008C354(s8); /* extern */ -? func_800C90F4(s32, s32); /* extern */ -extern ? D_80165190; -extern ? D_8018D920; -extern ? D_8018D930; -extern f32 gCourseTimer; -extern s32 gModeSelection; +void func_8008DF98(Player* player, s8 arg1) { + func_8008C354(player, arg1); -void func_8008DF98(void *arg0, s8 arg1) { - s32 temp_t1; - s32 temp_t3; - s32 temp_v1; - u16 temp_a0; - void *temp_v0; + player->unk_00C &= ~0x4000; + player->unk_0BC |= 0x40020000; + player->unk_0BC &= ~0x10; + player->unk_08C *= D_800EF588; + player->unk_0B0 = 0; + player->unk_224 = 1.0f; + D_8018D930[arg1] = gCourseTimer; + player->unk_0AE = player->unk_02E; + player->unk_0B2 = 2; + player->unk_0C0 = 0; + player->unk_07C = 0; + player->unk_078 = 0; + + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; - func_8008C354(arg1); - temp_t1 = arg0->unkBC | 0x40020000; - temp_t3 = temp_t1 & ~0x10; - arg0->unkBC = temp_t1; - arg0->unkC = arg0->unkC & ~0x4000; - arg0->unkBC = temp_t3; - arg0->unkB0 = 0; - arg0->unk224 = 1.0f; - temp_v1 = arg1 * 2; - arg0->unk8C = arg0->unk8C * 0.6; - temp_v0 = temp_v1 + &D_80165190; - *(&D_8018D930 + (arg1 * 4)) = gCourseTimer; - arg0->unkB2 = 2; - arg0->unkC0 = 0; - arg0->unk7C = 0; - arg0->unk78 = 0; - arg0->unkAE = arg0->unk2E; - temp_v0->unk0 = 1; - temp_v0->unk10 = 1; - temp_v0->unk20 = 1; - temp_v0->unk30 = 1; - *(&D_8018D920 + temp_v1) = 0; - temp_a0 = arg0->unk0; - if (((temp_a0 & 0x4000) == 0x4000) && ((temp_a0 & 0x100) != 0x100)) { - func_800C90F4(arg1 & 0xFF, (arg0->unk254 * 0x10) + 0x29008003); + D_8018D920[arg1] = 0; + + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800C90F4(arg1 & 0xFF, (player->characterId * 0x10) + 0x29008003); } else { - func_800098FC(arg1, arg0); + func_800098FC(arg1, player); } if (gModeSelection == BATTLE) { - func_8006B8B4(arg0, arg1); + func_8006B8B4(player, arg1); } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008DF98.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -1172,121 +1148,84 @@ void func_8008E118(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008E118.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? move_f32_towards(void *, s32, ?, void *); /* extern */ -extern ? gKartBoundingBoxTable; - -void func_8008E3C0(void *arg0, ? arg1) { - s32 temp_t3; - s32 temp_t9; - void *temp_a3; - - temp_a3 = arg0; - arg0 = temp_a3; - move_f32_towards(arg0 + 0x224, 0x3F800000, 0x3DCCCCCD, temp_a3); - move_f32_towards(arg0 + 0x70, *(&gKartBoundingBoxTable + (arg0->unk254 * 4)), 0x3DCCCCCD, arg0); - temp_t9 = arg0->unkBC & 0xBFFFFFFF; - arg0->unkBC = temp_t9; - arg0->unk224 = 1.0f; - temp_t3 = temp_t9 | 0x8000000; - arg0->unkDB6 = 0; - arg0->unkBC = temp_t3; - arg0->unk70 = *(&gKartBoundingBoxTable + (arg0->unk254 * 4)); - arg0->unkDC4 = 3.0f; - if ((temp_t3 & 0x20000) == 0x20000) { - arg0->unk2E = arg0->unkAE; +void func_8008E3C0(Player* player, UNUSED s8 arg1) { + move_f32_towards(&player->unk_224, 1.0f, 0.1f); + move_f32_towards(&player->unk_070, gKartBoundingBoxTable[player->characterId], 0.1f); + + player->unk_0BC &= ~0x40000000; + player->unk_224 = 1.0f; + player->unk_070 = gKartBoundingBoxTable[player->characterId]; + player->unk_DC4 = 3.0f; + player->unk_DB6 = 0; + player->unk_0BC |= 0x08000000; + + if ((player->unk_0BC & 0x20000) == 0x20000) { + player->unk_02E = player->unk_0AE; } - arg0->unkBC = (temp_t9 | 0x8000000) & 0xFFFDFFFF; + + player->unk_0BC &= ~0x20000; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008E3C0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8006B8B4(s8, s32); /* extern */ -extern ? D_80165190; -extern ? D_80165460; -extern s32 gModeSelection; +void func_8008E4A4(Player* player, s8 arg1) { + player->unk_206 = 0; + player->unk_0C4 = 0; + player->unk_0C0 = 0; + player->unk_07C = 0; + player->unk_0C2 = 0xF; + player->unk_042 += 0xAAA; + player->unk_08C = 0.0f; + player->unk_09C = 0.0f; + player->unk_034 = 0.0f; + player->unk_03C = 0.0f; + player->unk_0BC &= ~0xC0; -void func_8008E4A4(void *arg0, s8 arg1) { - s32 temp_t2; - s32 temp_t4; - s8 temp_a1; - u16 temp_t3; - void *temp_v0; - void *temp_v0_2; - s8 phi_a1; - - temp_t2 = arg0->unkBC & ~0xC0; - temp_t4 = temp_t2 & 8; - temp_a1 = arg1; - arg0->unk206 = 0; - arg0->unkC4 = 0; - arg0->unkC0 = 0; - arg0->unk7C = 0; - arg0->unkC2 = 0xF; - arg0->unk42 = arg0->unk42 + 0xAAA; - arg0->unkBC = temp_t2; - arg0->unk8C = 0.0f; - arg0->unk9C = 0.0f; - arg0->unk34 = 0.0f; - arg0->unk3C = 0.0f; - phi_a1 = temp_a1; - if (temp_t4 != 8) { - arg0->unkE0 = arg0->unkE0 + 1; + if ((player->unk_0BC & 8) != 8) { + ++player->unk_0E0; } - if (arg0->unkE0 == 3) { - arg0->unkBC = arg0->unkBC & 0xFEFFFFFF; - arg0->unkA8 = 0; - arg0->unk236 = 0; - temp_v0 = (temp_a1 * 2) + &D_80165190; - temp_v0->unk0 = 1; - temp_v0->unk10 = 1; - temp_v0->unk20 = 1; - temp_v0->unk30 = 1; - temp_t3 = arg0->unk0 & ~0x80; - arg0->unk42 = 0; - arg0->unk0 = temp_t3; - if ((*(&D_80165460 + (temp_a1 * 4)) == 1) && ((temp_t3 & 0x4000) == 0x4000)) { - arg0->unk9C = arg0->unk9C + 100.0f; + + if (player->unk_0E0 == 3) { + player->unk_0BC &= ~0x01000000; + player->unk_0A8 = 0; + player->unk_236 = 0; + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; + player->unk_042 = 0; + player->unk_000 &= ~0x80; + + if ((D_80165460[arg1] == 1) && ((player->unk_000 & 0x4000) == 0x4000)) { + player->unk_09C += 100.0f; } - if (gModeSelection == BATTLE) { - func_8006B8B4(temp_a1, 3); - return; + if (gModeSelection == 3) { + func_8006B8B4(player, arg1); } - /* Duplicate return node #16. Try simplifying control flow for better match */ - return; - } - arg0->unkA8 = arg0->unkA8 + 0x80; - if (arg0->unkA8 >= 0x2000) { - arg0->unkA8 = 0; - arg0->unk236 = arg0->unk236 - 1; - if (arg0->unk236 == 0) { - arg0->unkBC = arg0->unkBC & 0xFEFFFFFF; - arg0->unk236 = 0; - temp_v0_2 = (temp_a1 * 2) + &D_80165190; - temp_v0_2->unk0 = 1; - temp_v0_2->unk10 = 1; - temp_v0_2->unk20 = 1; - temp_v0_2->unk30 = 1; - arg0->unk42 = 0; - if (gModeSelection == BATTLE) { - arg1 = temp_a1; - func_8006B8B4(temp_a1, 3); - phi_a1 = arg1; + } else { + player->unk_0A8 += 0x80; + if (player->unk_0A8 >= 0x2000) { + player->unk_0A8 = 0; + --player->unk_236; + if (player->unk_236 == 0) { + player->unk_0BC &= ~0x01000000; + player->unk_236 = 0; + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; + player->unk_042 = 0; + + if (gModeSelection == 3) { + func_8006B8B4(player, arg1); + } + if ((D_80165460[arg1] == 1) && ((player->unk_000 & 0x4000) == 0x4000)) { + player->unk_09C += 100.0f; + } + + player->unk_000 &= ~0x80; } - if ((*(&D_80165460 + (phi_a1 * 4)) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) { - arg0->unk9C = arg0->unk9C + 100.0f; - } - arg0->unk0 = arg0->unk0 & 0xFF7F; } } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008E4A4.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -1357,380 +1296,222 @@ void func_8008E6C0(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008E6C0.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -extern ? D_80165190; - -void func_8008E884(void *arg0, s8 arg1) { - void *temp_v0; - - arg0->unkBC = arg0->unkBC & 0xFEFFFFFF; - arg0->unkA8 = 0; - arg0->unk236 = 0; - temp_v0 = (arg1 * 2) + &D_80165190; - temp_v0->unk0 = 1; - temp_v0->unk10 = 1; - temp_v0->unk20 = 1; - temp_v0->unk30 = 1; - arg0->unk42 = 0; +void func_8008E884(Player* player, s8 arg1) { + player->unk_0BC &= ~0x01000000; + player->unk_0A8 = 0; + player->unk_236 = 0; + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; + player->unk_042 = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008E884.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8006B8B4(s8); /* extern */ -extern ? D_80165190; -extern ? D_80165460; -extern s32 gModeSelection; +void func_8008E8D8(Player *player, s8 arg1) { + player->unk_206 = 0; + player->unk_0C4 = 0; + player->unk_0C0 = 0; + player->unk_07C = 0; + player->unk_0C2 = 0xF; + player->unk_042 += 0xAAA; + player->unk_08C /= 2; + player->unk_09C = 0.0f; + player->unk_0BC &= ~0xC0; -void func_8008E8D8(void *arg0, s8 arg1) { - s32 temp_t2; - s32 temp_t4; - void *temp_v0; - void *temp_v0_2; - - temp_t2 = arg0->unkBC & ~0xC0; - arg0->unk42 = arg0->unk42 + 0xAAA; - temp_t4 = temp_t2 & 8; - arg0->unk206 = 0; - arg0->unkC4 = 0; - arg0->unkC0 = 0; - arg0->unk7C = 0; - arg0->unkC2 = 0xF; - arg0->unkBC = temp_t2; - arg0->unk9C = 0.0f; - arg0->unk8C = arg0->unk8C / 2.0f; - if (temp_t4 != 8) { - arg0->unkE0 = arg0->unkE0 + 1; + if ((player->unk_0BC & 8) != 8) { + ++player->unk_0E0; } - temp_v0 = (arg1 * 2) + &D_80165190; - if (arg0->unkE0 == 4) { - arg0->unkBC = arg0->unkBC & 0xFDFFFFFF; - arg0->unkA8 = 0; - arg0->unk236 = 0; - temp_v0->unk30 = 1; - temp_v0->unk0 = 1; - temp_v0->unk10 = 1; - temp_v0->unk20 = 1; - arg0->unk42 = 0; - if ((*(&D_80165460 + (arg1 * 4)) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) { - arg0->unk9C = arg0->unk9C + 100.0f; + + if (player->unk_0E0 == 4) { + player->unk_0BC &= ~0x02000000; + player->unk_0A8 = 0; + player->unk_236 = 0; + D_80165190[3][arg1] = 1; + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + player->unk_042 = 0; + + if ((D_80165460[arg1] == 1) && ((player->unk_000 & 0x4000) == 0x4000)) { + player->unk_09C += 100.0f; } + if (gModeSelection == BATTLE) { - func_8006B8B4(arg1); - return; + func_8006B8B4(player, arg1); } - /* Duplicate return node #15. Try simplifying control flow for better match */ - return; - } - arg0->unkA8 = arg0->unkA8 + 0x90; - if (arg0->unkA8 >= 0x2000) { - arg0->unkA8 = 0; - arg0->unk236 = arg0->unk236 - 1; - if (arg0->unk236 == 0) { - arg0->unkBC = arg0->unkBC & 0xFDFFFFFF; - arg0->unk236 = 0; - temp_v0_2 = (arg1 * 2) + &D_80165190; - temp_v0_2->unk0 = 1; - temp_v0_2->unk10 = 1; - temp_v0_2->unk20 = 1; - temp_v0_2->unk30 = 1; - arg0->unk42 = 0; - if ((*(&D_80165460 + (arg1 * 4)) == 1) && ((arg0->unk0 & 0x4000) == 0x4000)) { - arg0->unk9C = arg0->unk9C + 100.0f; - } - if (gModeSelection == BATTLE) { - func_8006B8B4(arg1); - } - } - } -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008E8D8.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_800098FC(s8, void *); /* extern */ -? func_8008C310(void *); /* extern */ -? func_8008C354(s8); /* extern */ -? func_800C9060(u8, ?); /* extern */ -? func_800C90F4(u8, s32); /* extern */ -extern ? D_800E3710; -extern ? D_800E3730; -extern ? D_80165420; -extern ? D_80165440; -extern ? D_80165460; -extern ? D_80165480; - -void func_8008EAE0(void *arg0, s8 arg1) { - s32 sp20; - s32 temp_t7; - s32 temp_v0; - u16 temp_a0; - u16 temp_v1; - - func_8008C354(arg1); - func_8008C310(arg0); - temp_v1 = arg0->unk254; - temp_v0 = temp_v1 * 4; - arg0->unkA8 = 0; - arg0->unkBC = arg0->unkBC & ~0x10; - arg0->unkF0 = 0.0f; - arg0->unkF4 = 0.0f; - arg0->unkEC = 0.0f; - arg0->unkF0 = *(&D_800E3730 + temp_v0); - temp_a0 = arg0->unk0; - arg0->unk236 = 4; - arg0->unk42 = 0; - arg0->unkE0 = 0; - arg0->unkEC = *(&D_800E3710 + temp_v0); - if (((temp_a0 & 0x4000) == 0x4000) && ((temp_a0 & 0x100) != 0x100)) { - sp20 = arg1; - func_800C90F4(arg1, (temp_v1 * 0x10) + 0x29008005); - func_800C9060(arg1, 0x19009005); } else { - func_800098FC(arg1, arg0); + player->unk_0A8 = (s16)(player->unk_0A8 + 0x90); + if (((s32)player->unk_0A8) >= 0x2000) { + player->unk_0A8 = 0; + --player->unk_236; + if (player->unk_236 == 0) { + player->unk_0BC &= ~0x02000000; + player->unk_236 = 0; + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; + player->unk_042 = 0; + if ((D_80165460[arg1] == 1) && ((player->unk_000 & 0x4000) == 0x4000)) { + player->unk_09C += 100.0f; + } + + if (gModeSelection == BATTLE) { + func_8006B8B4(player, arg1); + } + } + } } - arg0->unkBC = arg0->unkBC | 0x2000000; - arg0->unkB6 = arg0->unkB6 | 0x40; - arg0->unkC = arg0->unkC & 0xFEFFFFFD; - temp_t7 = arg1 * 4; - *(&D_80165480 + temp_t7) = 0; - *(&D_80165460 + temp_t7) = 0; - *(&D_80165440 + temp_t7) = 0; - *(&D_80165420 + temp_t7) = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008EAE0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -extern ? D_80165190; +void func_8008EAE0(Player* player, s8 arg1) { + func_8008C354(player, arg1); + func_8008C310(player); -void func_8008EC34(void *arg0, s8 arg1) { - void *temp_v0; + player->unk_0A8 = 0; + player->unk_0BC &= ~0x10; + player->kartHopJerk = 0.0f; + player->kartHopAcceleration = 0.0f; + player->kartHopVelocity = 0.0f; + player->kartHopJerk = D_800E3730[player->characterId]; + player->kartHopVelocity = D_800E3710[player->characterId]; + player->unk_236 = 4; + player->unk_042 = 0; + player->unk_0E0 = 0; + + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008005); + func_800C9060((u8) arg1, 0x19009005); + } else { + func_800098FC(arg1, player); + } + + player->unk_0BC |= 0x02000000; + player->unk_0B6 |= 0x40; + player->unk_00C &= ~0x01000002; - arg0->unkBC = arg0->unkBC & 0xFDFFFFFF; - arg0->unkA8 = 0; - arg0->unk236 = 0; - temp_v0 = (arg1 * 2) + &D_80165190; - temp_v0->unk0 = 1; - temp_v0->unk10 = 1; - temp_v0->unk20 = 1; - temp_v0->unk30 = 1; - arg0->unk42 = 0; + D_80165480[arg1] = 0; + D_80165460[arg1] = 0; + D_80165440[arg1] = 0; + D_80165420[arg1] = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008EC34.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C354(s8); /* extern */ -? func_800C9060(s32, ?); /* extern */ -? func_800C90F4(s32, s32, s8); /* extern */ -extern s32 gPlayerOne; -extern u16 D_8015F890; +void func_8008EC34(Player* player, s8 arg1) { + player->unk_0BC &= ~0x02000000; + player->unk_0A8 = 0; + player->unk_236 = 0; + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; + player->unk_042 = 0; +} -void func_8008EC88(void *arg0, s8 arg1) { - s32 sp24; - s32 temp_a0; - s32 temp_a0_2; - s8 temp_a1; - u16 temp_v0; +void func_8008EC88(Player* player, s8 arg1) { + func_8008C354(player, arg1); - temp_a1 = arg1; - arg1 = arg1; - func_8008C354(temp_a1); - arg0->unkBC = arg0->unkBC | 0x100000; - arg0->unkC = arg0->unkC & 0xFF7FFFFF; - arg0->unkDB4 = 0; - arg0->unkDBC = 8.0f; + player->unk_0BC |= 0x100000; + player->unk_00C &= ~0x00800000; + player->unk_DB4 = 0; + player->unk_DBC = 8.0f; if (D_8015F890 != 1) { - temp_v0 = arg0->unk0; - if ((temp_v0 & 0x4000) == 0x4000) { - temp_a0 = arg1 & 0xFF; - if ((temp_v0 & 0x100) == 0) { - sp24 = temp_a0; - func_800C90F4(temp_a0, (arg0->unk254 * 0x10) + 0x29008001, arg1); - func_800C9060(temp_a0, 0x1900A40B); - } + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) == 0)) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008001); + func_800C9060((u8) arg1, 0x1900A40B); } + } else if (player == gPlayerOne) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008001); + func_800C9060((u8) arg1, 0x1900A40B); + } + player->unk_044 &= ~0x1; + player->unk_0BC &= ~0x20; +} + +void func_8008EDC0(Player* player) { + f64 temp_f0; + + player->unk_09C = player->unk_214; + if ((u16) player->unk_256 > 0) { + player->unk_09C = 0.0f; + } + if ((*((u16*)&player->unk_0F8) != 0xFE) && ((player->unk_0BC & 8) != 8)) { + move_f32_towards(&player->boostPower, 0, 1.0f); } else { - temp_a0_2 = arg1 & 0xFF; - if (arg0 == gPlayerOne) { - sp24 = temp_a0_2; - func_800C90F4(temp_a0_2, (arg0->unk254 * 0x10) + 0x29008001, arg1); - func_800C9060(temp_a0_2, 0x1900A40B); - } + move_f32_towards(&player->boostPower, 400.0f, 0.01f); } - arg0->unk44 = arg0->unk44 & 0xFFFE; - arg0->unkBC = arg0->unkBC & ~0x20; -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008EC88.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? move_f32_towards(void *, ?, ?, void *); /* extern */ - -void func_8008EDC0(void *arg0) { - void *temp_a0; - void *temp_a3; - - temp_a3 = arg0; - arg0->unk9C = arg0->unk214; - if (arg0->unk256 > 0) { - arg0->unk9C = 0.0f; - } - if ((temp_a3->unkF8 != 0xFE) && ((temp_a3->unkBC & 8) != 8)) { - temp_a0 = temp_a3 + 0x80; - arg0 = temp_a3; - move_f32_towards(temp_a0, 0, 0x3F800000, temp_a3); - } else { - arg0 = temp_a3; - move_f32_towards(temp_a3 + 0x80, 0x43C80000, 0x3C23D70A, temp_a3); - } - if (arg0->unk80 <= 1.0f) { - arg0->unkBC = arg0->unkBC & 0xFFEFFFFF; - arg0->unk80 = 0.0f; - if (arg0->unkC2 >= 0x33) { - arg0->unk9C = arg0->unk9C * 0.7; - arg0->unk8C = arg0->unk8C * 0.7; + if (player->boostPower <= 1.0f) { + player->unk_0BC &= ~0x00100000; + player->boostPower = 0.0f; + if (player->unk_0C2 >= 0x33) { + temp_f0 = D_800EF5A0; + player->unk_09C = (player->unk_09C * temp_f0); + player->unk_08C = (player->unk_08C * temp_f0); } } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008EDC0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8008EEC4(void *arg0) { - arg0->unkBC = arg0->unkBC & 0xFFEFFFFF; - arg0->unk80 = 0.0f; +void func_8008EEC4(Player* player) { + player->unk_0BC &= ~0x00100000; + player->boostPower = 0.0f; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008EEC4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C354(s8); /* extern */ -? func_800C9060(s32, ?); /* extern */ -? func_800C90F4(s32, s32, s8); /* extern */ -extern s32 gPlayerOne; -extern u16 D_8015F890; +void func_8008EEE4(Player* player, s8 arg1) { + func_8008C354(player, arg1); -void func_8008EEE4(void *arg0, s8 arg1) { - s32 sp24; - s32 temp_a0; - s32 temp_a0_2; - s8 temp_a1; - u16 temp_v0; + player->unk_0BC |= 0x4; + player->unk_00C &= ~0x8000; - temp_a1 = arg1; - arg1 = arg1; - func_8008C354(temp_a1); - arg0->unkBC = arg0->unkBC | 4; - arg0->unkC = arg0->unkC & 0xFFFF7FFF; if (D_8015F890 != 1) { - temp_v0 = arg0->unk0; - if ((temp_v0 & 0x4000) == 0x4000) { - temp_a0 = arg1 & 0xFF; - if ((temp_v0 & 0x100) == 0) { - sp24 = temp_a0; - func_800C90F4(temp_a0, (arg0->unk254 * 0x10) + 0x29008001, arg1); - func_800C9060(temp_a0, 0x1900A40B); - } + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) == 0)) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008001); + func_800C9060((u8) arg1, 0x1900A40B); } + } else if (player == gPlayerOne) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008001); + func_800C9060((u8) arg1, 0x1900A40B); + } + + player->unk_044 &= ~0x1; + player->unk_0BC &= ~0x20; +} + +void func_8008F008(Player* player) { + player->unk_09C = D_800E261C.unk_00[0][player->characterId]; + + if ( ( *((u16*) player->unk_0F8) != 0xFC) && ((player->unk_0BC & 8) != 8)) { + move_f32_towards(&player->boostPower, 0, 1.0f); } else { - temp_a0_2 = arg1 & 0xFF; - if (arg0 == gPlayerOne) { - sp24 = temp_a0_2; - func_800C90F4(temp_a0_2, (arg0->unk254 * 0x10) + 0x29008001, arg1); - func_800C9060(temp_a0_2, 0x1900A40B); - } + move_f32_towards(&player->boostPower, 300.0f, 0.1f); } - arg0->unk44 = arg0->unk44 & 0xFFFE; - arg0->unkBC = arg0->unkBC & ~0x20; -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008EEE4.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? move_f32_towards(void *, ?, ?, void *); /* extern */ -extern s32 D_800E261C; - -void func_8008F008(void *arg0) { - void *temp_a0; - void *temp_a3; - - temp_a3 = arg0; - arg0->unk9C = *(D_800E261C + (arg0->unk254 * 4)); - if ((arg0->unkF8 != 0xFC) && (temp_a0 = arg0 + 0x80, ((arg0->unkBC & 8) != 8))) { - arg0 = temp_a3; - move_f32_towards(temp_a0, 0, 0x3F800000, temp_a3); - } else { - arg0 = temp_a3; - move_f32_towards(temp_a3 + 0x80, 0x43960000, 0x3DCCCCCD, temp_a3); - } - if (arg0->unk80 <= 1.0f) { - arg0->unkBC = arg0->unkBC & ~4; - arg0->unk80 = 0.0f; - arg0->unk9C = arg0->unk9C / 2.0f; - arg0->unk8C = arg0->unk8C / 2.0f; + + if (player->boostPower <= 1.0f) { + player->unk_0BC &= ~0x4; + player->boostPower = 0.0f; + player->unk_09C /= 2; + player->unk_08C /= 2; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F008.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8008F0E8(void *arg0) { - arg0->unkBC = arg0->unkBC & ~4; - arg0->unk80 = 0.0f; +void func_8008F0E8(Player* player) { + player->unk_0BC &= ~4; + player->boostPower = 0.0f; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F0E8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C354(s8); /* extern */ -? func_800C90F4(s32, s32, void *, s8); /* extern */ -extern ? D_8018D920; +void func_8008F104(Player* player, s8 arg1) { + func_8008C354(player, arg1); -void func_8008F104(void *arg0, s8 arg1) { - s8 temp_a1; - u16 temp_v0; - - temp_a1 = arg1; - arg1 = arg1; - func_8008C354(temp_a1); - arg0->unkB2 = 2; - arg0->unkC0 = 0; - arg0->unk7C = 0; - arg0->unkBC = arg0->unkBC | 0x4000; - arg0->unk78 = 0; - arg0->unkAE = arg0->unk2E; - *(&D_8018D920 + (arg1 * 2)) = -0x8000; - temp_v0 = arg0->unk0; - if (((temp_v0 & 0x4000) == 0x4000) && ((temp_v0 & 0x100) != 0x100)) { - func_800C90F4(arg1 & 0xFF, (arg0->unk254 * 0x10) + 0x29008003, arg0, arg1); + player->unk_0AE = player->unk_02E; + player->unk_0B2 = 2; + player->unk_0C0 = 0; + player->unk_07C = 0; + player->unk_0BC |= 0x4000; + player->unk_078 = 0; + D_8018D920[arg1] = -0x8000; + + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008003); } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F104.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -1803,231 +1584,124 @@ void func_8008F1B8(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F1B8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8008F3E0(void *arg0) { - arg0->unkBC = arg0->unkBC & ~0x4000; +void func_8008F3E0(Player* player) { + player->unk_0BC &= ~0x4000; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F3E0.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_80090778(); /* extern */ -? func_80090868(void *); /* extern */ - -void func_8008F3F4(void *arg0, ? arg1) { - arg0->unkA8 = arg0->unkA8 + 0x80; - arg0->unk42 = arg0->unk42 + 0x71C; - arg0->unk7C = 0; - arg0->unk9C = 0.0f; - arg0->unk8C = arg0->unk8C / 2.0f; - if (arg0->unkA8 >= 0x2000) { - arg0->unkA8 = 0; - arg0->unk236 = arg0->unk236 - 1; - if (arg0->unk236 == 0) { - arg0->unkBC = arg0->unkBC & 0xFFFEFFFF; - func_80090778(); - func_80090868(arg0); +void func_8008F3F4(Player* player, UNUSED s8 arg1) { + player->unk_0A8 += 0x80; + player->unk_042 += 0x71C; + player->unk_07C = 0; + player->unk_09C = 0.0f; + player->unk_08C /= 2; + if (player->unk_0A8 >= 0x2000) { + player->unk_0A8 = 0; + --player->unk_236; + if (player->unk_236 == 0) { + player->unk_0BC &= ~0x00010000; + func_80090778(player); + func_80090868(player); } } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F3F4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C354(void *, s8, void *); /* extern */ -? func_8008F86C(void *, s8); /* extern */ -? func_800C90F4(u8, s32, void *); /* extern */ -extern s32 gModeSelection; - -void func_8008F494(void *arg0, s8 arg1) { - s32 temp_t5; - s32 temp_t7; - s32 temp_v0; - u16 temp_v0_2; - u16 temp_v0_3; - void *temp_a0; - void *temp_a2; - - temp_v0 = arg0->unkBC; - temp_a2 = arg0; - temp_a0 = temp_a2; - if ((((temp_v0 & 0x80) != 0) || ((temp_v0 & 0x40) != 0) || ((temp_v0 << 7) < 0) || ((temp_v0 << 6) < 0) || ((temp_v0 & 0x400) != 0)) && (gModeSelection == BATTLE)) { - temp_a2->unk44 = temp_a2->unk44 | 0x8000; +void func_8008F494(Player* player, s8 arg1) { + if ((((player->unk_0BC & 0x80) != 0) || + ((player->unk_0BC & 0x40) != 0) || + ((player->unk_0BC << 7) < 0) || + ((player->unk_0BC << 6) < 0) || + ((player->unk_0BC & 0x400) != 0)) && (gModeSelection == 3)) { + player->unk_044 |= 0x8000; } - arg0 = temp_a2; - func_8008C354(temp_a0, arg1, temp_a2); - func_8008F86C(arg0, arg1); - temp_v0_2 = arg0->unk0; - arg0->unkA8 = 0; - temp_t5 = arg0->unkBC | 0x10000; - temp_t7 = temp_t5 & ~0x10; - arg0->unkBC = temp_t5; - arg0->unkBC = temp_t7; - arg0->unk236 = 0x1E; - arg0->unk42 = 0; - if (((temp_v0_2 & 0x4000) != 0) && ((temp_v0_2 & 0x100) == 0) && ((arg0->unkCA & 2) == 0)) { - temp_v0_3 = arg0->unkDE; - if (((temp_v0_3 & 1) == 0) && ((temp_v0_3 & 2) == 0)) { - func_800C90F4(arg1, (arg0->unk254 * 0x10) + 0x29008004, arg0); - } + + func_8008C354(player, arg1); + func_8008F86C(player, arg1); + + player->unk_0A8 = 0; + player->unk_0BC |= 0x10000; + player->unk_0BC &= ~0x10; + player->unk_236 = 0x1E; + player->unk_042 = 0; + + if (((player->unk_000 & 0x4000) != 0) && + ((player->unk_000 & 0x100) == 0) && + ((player->unk_0CA & 2) == 0) && + ((player->unk_0DE & 1) == 0) && + ((player->unk_0DE & 2) == 0)) { + func_800C90F4((u8) arg1, (player->characterId * 0x10) + 0x29008004); } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F494.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8006B8B4(s8); /* extern */ -extern ? D_80165190; +void func_8008F5A4(Player* player, s8 arg1) { -void func_8008F5A4(void *arg0, s8 arg1) { - void *temp_v0; - - if ((arg0->unk44 & 0x8000) != 0) { - func_8006B8B4(arg1); - arg0->unk44 = arg0->unk44 & 0x7FFF; + if ((player->unk_044 & 0x8000) != 0) { + func_8006B8B4(player, arg1); + player->unk_044 &= ~0x8000; } - arg0->unk206 = 0; - arg0->unkC4 = 0; - arg0->unkBC = arg0->unkBC & 0xFFFEFFFF; - arg0->unkA8 = 0; - arg0->unkC0 = 0; - arg0->unk7C = 0; - arg0->unk236 = 0; - arg0->unk78 = 0; - arg0->unk9C = 0.0f; - temp_v0 = (arg1 * 2) + &D_80165190; - temp_v0->unk0 = 1; - temp_v0->unk10 = 1; - temp_v0->unk20 = 1; - temp_v0->unk30 = 1; - arg0->unk42 = 0; + + player->unk_206 = 0; + player->unk_0C4 = 0; + player->unk_0BC &= ~0x10000; + player->unk_0A8 = 0; + player->unk_0C0 = 0; + player->unk_07C = 0; + player->unk_236 = 0; + player->unk_078 = 0; + player->unk_09C = 0.0f; + + D_80165190[0][arg1] = 1; + D_80165190[1][arg1] = 1; + D_80165190[2][arg1] = 1; + D_80165190[3][arg1] = 1; + player->unk_042 = 0; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F5A4.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_800CA730(s32, s8, s32, s32 *); /* extern */ -? func_800CAACC(s32, s8, s32, s32 *); /* extern */ -extern ? D_8018D900; -extern ? D_8018D930; -extern f32 gCourseTimer; +void func_8008F650(Player* player, s8 arg1) { + if (((s32) gCourseTimer - D_8018D930[arg1]) >= 9) { + D_8018D900[arg1] = 1; -void func_8008F650(void *arg0, s8 arg1) { - s32 *sp20; - s32 *sp18; - s32 *temp_a3; - s32 *temp_v0; - s32 temp_a2; - s32 temp_v1; - u16 temp_a0; - s32 phi_v1; - - temp_a2 = arg1 * 4; - temp_a3 = temp_a2 + &D_8018D930; - temp_v1 = gCourseTimer - *temp_a3; - phi_v1 = temp_v1; - if (temp_v1 >= 9) { - temp_v0 = temp_a2 + &D_8018D900; - *temp_v0 = 1; - temp_a0 = arg0->unk0; - if (((temp_a0 & 0x4000) == 0x4000) && ((temp_a0 & 0x100) != 0x100)) { - if (1 == 1) { - sp18 = temp_v0; - sp20 = temp_a3; - func_800CA730(arg1 & 0xFF, arg1, temp_a2, temp_a3); - *temp_v0 = 0; - phi_v1 = gCourseTimer - *temp_a3; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + if (D_8018D900[arg1] == 1) { + func_800CA730(arg1); + D_8018D900[arg1] = 0; } - } else if (*temp_v0 == 1) { - sp18 = temp_v0; - sp20 = temp_a3; - func_800CAACC(arg1 & 0xFF, arg1, temp_a2, temp_a3); - *temp_v0 = 0; - phi_v1 = gCourseTimer - *temp_a3; + } else if (D_8018D900[arg1] == 1) { + func_800CAACC((u8)arg1); + D_8018D900[arg1] = 0; } } - if (phi_v1 >= 0xA) { - arg0->unkBC = arg0->unkBC & ~0x200; + + if (((s32) gCourseTimer - D_8018D930[arg1]) >= 0xA) { + player->unk_0BC &= ~0x200; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F650.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C354(s8); /* extern */ -? func_800CA59C(s32, u16, s8, s32); /* extern */ -? func_800CA984(s32, u16, s8, s32); /* extern */ -extern ? D_8018D900; -extern ? D_8018D930; -extern f32 gCourseTimer; +void func_8008F778(Player* player, s8 arg1) { + func_8008C354(player, arg1); -void func_8008F778(void *arg0, s8 arg1) { - s32 *sp1C; - s32 *temp_v1; - s32 temp_v0; - s8 temp_a1; - u16 temp_a1_2; - - temp_a1 = arg1; - arg1 = arg1; - func_8008C354(temp_a1); - arg0->unkBC = arg0->unkBC | 0x200; - arg0->unkC = arg0->unkC & ~0x2000; - temp_v0 = arg1 * 4; - temp_v1 = temp_v0 + &D_8018D900; - *(&D_8018D930 + temp_v0) = gCourseTimer; - *temp_v1 = 1; - temp_a1_2 = arg0->unk0; - if (((temp_a1_2 & 0x4000) == 0x4000) && ((temp_a1_2 & 0x100) != 0x100)) { - if (1 == 1) { - sp1C = temp_v1; - func_800CA59C(arg1 & 0xFF, temp_a1_2, arg1, 1); - *temp_v1 = 2; - return; + player->unk_0BC |= 0x200; + player->unk_00C &= ~0x2000; + D_8018D930[arg1] = gCourseTimer; + D_8018D900[arg1] = 1; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + if (D_8018D900[arg1] == 1) { + func_800CA59C(arg1); + D_8018D900[arg1] = 2; } - /* Duplicate return node #6. Try simplifying control flow for better match */ - return; - } - if (*temp_v1 == 1) { - sp1C = temp_v1; - func_800CA984(arg1 & 0xFF, temp_a1_2, arg1, 1); - *temp_v1 = 2; + } else if (D_8018D900[arg1] == 1) { + func_800CA984((u8) arg1); + D_8018D900[arg1] = 2; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F778.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_800CA730(s32, s8); /* extern */ -? func_800CAACC(s32, s8); /* extern */ - -void func_8008F86C(void *arg0, s8 arg1) { - u16 temp_v0; - - temp_v0 = arg0->unk0; - arg0->unkBC = arg0->unkBC & ~0x200; - if (((temp_v0 & 0x4000) == 0x4000) && ((temp_v0 & 0x100) != 0x100)) { - func_800CA730(arg1 & 0xFF, arg1); +void func_8008F86C(Player* player, s8 arg1) { + player->unk_0BC &= ~0x200; + if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) { + func_800CA730(arg1); return; } - func_800CAACC(arg1 & 0xFF, arg1); + func_800CAACC(arg1); } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F86C.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -2100,53 +1774,30 @@ void func_8008F8DC(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008F8DC.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_8008C354(void *, s8, void *); /* extern */ -? func_800CAFC0(s32, s8, void *); /* extern */ -extern ? D_8018D950; -extern ? D_8018D970; -extern f32 gCourseTimer; - -void func_8008FA38(void *arg0, s8 arg1) { +void func_8008FA38(Player* player, s8 arg1) { s16 temp_v1; - s32 temp_v0_2; - s8 temp_a1; - void *temp_a0; - void *temp_a2; - void *temp_v0; - s16 phi_v1; - temp_a1 = arg1; - temp_a2 = arg0; - if ((arg0->unk0 & 0x4000) != 0) { - arg0->unk44 = arg0->unk44 | 0x200; - phi_v1 = 0; - do { - temp_v1 = phi_v1 + 1; - temp_v0 = temp_a2 + (phi_v1 * 0x48); - temp_v0->unk274 = 0; - temp_v0->unk276 = 0; - temp_v0->unk26A = 0; - phi_v1 = temp_v1; - } while (temp_v1 < 0xA); + if ((player->unk_000 & 0x4000) != 0) { + player->unk_044 |= 0x200; + + for (temp_v1 = 0; temp_v1 < 10; ++temp_v1) { + *((s16*) &player->unk_258[28 + temp_v1 * 0x48]) = 0; + *((s16*) &player->unk_258[30 + temp_v1 * 0x48]) = 0; + *((s16*) &player->unk_258[18 + temp_v1 * 0x48]) = 0; + } } - temp_a0 = temp_a2; - arg1 = temp_a1; - arg0 = temp_a2; - func_8008C354(temp_a0, temp_a1, temp_a2); - temp_v0_2 = arg1 * 4; - arg0->unkBC = arg0->unkBC | 0x80000000; - arg0->unkC = arg0->unkC & ~0x800; - *(&D_8018D950 + temp_v0_2) = gCourseTimer; - *(&D_8018D970 + temp_v0_2) = 0xFF; - if ((arg0->unk0 & 0x4000) != 0) { - func_800CAFC0(arg1 & 0xFF, arg1, arg0); + + func_8008C354(player, arg1); + + player->unk_0BC |= 0x80000000; + player->unk_00C &= ~0x800; + D_8018D950[arg1] = gCourseTimer; + D_8018D970[arg1] = 0xFF; + + if ((player->unk_000 & 0x4000) != 0) { + func_800CAFC0(arg1); } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FA38.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -2196,167 +1847,88 @@ void func_8008FB30(void *arg0, s8 arg1) { GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FB30.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s32 get_player_index_for_player(u16 *); /* extern */ -? func_80056A94(s32, u16 *); /* extern */ +void func_8008FC1C(Player* player) { + s32 playerIndex; -void func_8008FC1C(u16 *arg0) { - s32 temp_a0; - u16 *temp_a1; - - temp_a1 = arg0; - if ((*arg0 & 0x40) != 0) { - arg0 = temp_a1; - temp_a0 = get_player_index_for_player(temp_a1); - *arg0 = 0x7000; - func_80056A94(temp_a0, arg0); + if ((player->unk_000 & 0x40) != 0) { + playerIndex = get_player_index_for_player(player); + player->unk_000 = 0x7000; + func_80056A94(playerIndex, player); } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FC1C.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_800569F4(s8); /* extern */ -? func_8008FDA8(s8); /* extern */ - -void func_8008FC64(void *arg0, s8 arg1) { - s32 temp_t0; - - arg0->unkC6 = arg0->unkC6 - 4; - if (arg0->unkC6 < 5) { - temp_t0 = arg0->unkC & 0xFBFFFFFF; - arg0->unkC = temp_t0; - arg0->unkC6 = 0; - arg0->unkC = temp_t0 | 0x8000000; - arg0->unk0 = arg0->unk0 | 0x40; - func_8008FDA8(arg1); +void func_8008FC64(Player* player, s8 arg1) { + player->unk_0C6 -= 4; + if (player->unk_0C6 < 5) { + player->unk_0C6 = 0; + player->unk_00C &= 0xFBFFFFFF; + player->unk_00C |= 0x08000000; + player->unk_000 |= 0x40; + + func_8008FDA8(player, arg1); func_800569F4(arg1); } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FC64.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_80056A40(s8, s16, s8); /* extern */ - -void func_8008FCDC(void *arg0, s8 arg1) { - arg0->unkC6 = arg0->unkC6 + 2; - if (arg0->unkC6 >= 0xF0) { - arg0->unkC6 = 0xFF; - arg0->unkC = arg0->unkC & 0xF7FFFFFF; +void func_8008FCDC(Player* player, s8 arg1) { + player->unk_0C6 += 2; + if (player->unk_0C6 >= 0xF0) { + player->unk_0C6 = 0xFF; + player->unk_00C &= ~0x08000000; } - func_80056A40(arg1, arg0->unkC6, arg1); -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FCDC.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8008FD4C(void *arg0, ? arg1) { + func_80056A40(arg1, (u32) player->unk_0C6); +} + +void func_8008FD4C(Player* player, UNUSED s8 arg1) { s16 temp_v0; - void *temp_v1; - s16 phi_v0; + + player->unk_00C |= 0x04000000; + player->unk_044 |= 0x200; - arg0->unkC = arg0->unkC | 0x4000000; - arg0->unk44 = arg0->unk44 | 0x200; - phi_v0 = 0; - do { - temp_v0 = phi_v0 + 1; - temp_v1 = arg0 + (phi_v0 * 0x48); - temp_v1->unk274 = 0; - temp_v1->unk276 = 0; - temp_v1->unk26A = 0; - phi_v0 = temp_v0; - } while (temp_v0 < 0xA); -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FD4C.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8008FDA8(void *arg0, ? arg1) { - s16 temp_v0; - void *temp_v1; - s16 phi_v0; - - arg0->unk44 = arg0->unk44 | 0x200; - phi_v0 = 0; - do { - temp_v0 = phi_v0 + 1; - temp_v1 = arg0 + (phi_v0 * 0x48); - temp_v1->unk274 = 0; - temp_v1->unk276 = 0; - temp_v1->unk26A = 0; - phi_v0 = temp_v0; - } while (temp_v0 < 0xA); -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FDA8.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//This function did not have a glabel in the original assembly, as such it may -//be unused/unnamed -? func_8008C354(s8); /* extern */ -extern ? D_800E37D0; -extern ? D_800E37F0; - -void func_8008FDF4(void *arg0, s8 arg1) { - s32 temp_t0; - s32 temp_t9; - - func_8008C354(arg1); - temp_t9 = arg0->unkBC & ~0x10; - temp_t0 = arg0->unk254 * 4; - arg0->unkBC = temp_t9; - arg0->unkF4 = 0.0f; - arg0->unkF0 = *(&D_800E37F0 + temp_t0); - arg0->unkC = arg0->unkC & 0xFFEFFFFF; - arg0->unkBC = temp_t9 | 0x10000000; - arg0->unkEC = *(&D_800E37D0 + temp_t0); -} -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FDF4.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//This function did not have a glabel in the original assembly, as such it may -//be unused/unnamed -void func_8008FE84(void *arg0, ? arg1) { - s32 temp_t7; - - temp_t7 = arg0->unkBC & ~0x10; - arg0->unkBC = temp_t7; - if ((temp_t7 & 8) != 8) { - arg0->unkBC = temp_t7 & 0xEFFFFFFF; - arg0->unk9C = arg0->unk9C / 2.0f; - arg0->unk8C = arg0->unk8C / 2.0f; + for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { + *((s16*) &player->unk_258[28 + temp_v0 * 0x48]) = 0; + *((s16*) &player->unk_258[30 + temp_v0 * 0x48]) = 0; + *((s16*) &player->unk_258[18 + temp_v0 * 0x48]) = 0; } } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FE84.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -void func_8008FEDC(void *arg0, ? arg1) { - arg0->unkBC = arg0->unkBC & 0xEFFFFFFF; - arg0->unkF0 = 0.0f; - arg0->unkEC = 0.0f; - arg0->unkF4 = 0.0f; +void func_8008FDA8(Player* player, UNUSED s8 arg1) { + s16 temp_v0; + player->unk_044 |= 0x200; + for (temp_v0 = 0; temp_v0 < 10; ++temp_v0) { + *((s16*) &player->unk_258[28 + temp_v0 * 0x48]) = 0; + *((s16*) &player->unk_258[30 + temp_v0 * 0x48]) = 0; + *((s16*) &player->unk_258[18 + temp_v0 * 0x48]) = 0; + } +} + +void func_8008FDF4(Player* player, UNUSED s8 arg1) { + func_8008C354(player, arg1); + + player->unk_0BC &= ~0x10; + player->kartHopJerk = D_800E37F0[player->characterId]; + player->kartHopAcceleration = 0.0f; + player->kartHopVelocity = D_800E37D0[player->characterId]; + player->unk_00C &= ~0x00100000; + player->unk_0BC |= 0x10000000; +} + +void func_8008FE84(Player* player, UNUSED s8 arg1) { + player->unk_0BC &= ~0x10; + if ((player->unk_0BC & 8) != 8) { + player->unk_0BC &= ~0x10000000; + player->unk_09C /= 2; + player->unk_08C /= 2; + } +} + +void func_8008FEDC(Player* player, UNUSED s8 arg1) { + player->unk_0BC &= ~0x10000000; + player->kartHopJerk = 0.0f; + player->kartHopVelocity = 0.0f; + player->kartHopAcceleration = 0.0f; } -#else -GLOBAL_ASM("asm/non_matchings/code_8008C1D0/func_8008FEDC.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 diff --git a/src/code_8008C1D0.h b/src/code_8008C1D0.h index 84a831879..f1e6a0aa1 100644 --- a/src/code_8008C1D0.h +++ b/src/code_8008C1D0.h @@ -15,25 +15,40 @@ void func_8008D3B0(Player*, s8); void func_8008D554(Player*); void func_8008D760(Player*); void func_8008D97C(Player*); -s32 func_8008E884(); -s32 func_8008EC34(); -s32 func_8008EEC4(); -s32 func_8008F0E8(void *); -s32 func_8008F3E0(void *); -s32 func_8008F5A4(void *, s8); -s32 func_8008FEDC(void *, s8); - +void func_8008E884(Player*, s8); +void func_8008EC34(Player*, s8); +void func_8008EEC4(Player*); +void func_8008F0E8(Player*); +void func_8008F3E0(Player*); +void func_8008F5A4(Player*, s8); +void func_8008F86C(Player*, s8); +void func_8008FDA8(Player*, s8); +void func_8008FEDC(Player*, s8); void func_8008C8C4(Player*, s8); void func_8008C6D0(Player*, s8); +void func_80090778(Player*); +void func_80090868(Player*); +void func_800098FC(u32, Player*); + +// code_8001F980 +void move_f32_towards(f32*, f32, f32); +// code_800431B0 +void func_800569F4(s32); +void func_80056A40(s32, s32); +void func_80056A94(s32, Player*); +// code_80057C60 +void func_8006B8B4(Player*, s8); +// code_80027D00.c +s32 func_80031F48(Player*, float); +// audio/external.c void func_800C90F4(s32, s32); void func_800C9060(); void func_800C9250(s32); -void func_800098FC(u32, Player*); - -// code_80057C60 -s32 func_8006B8B4(); -// code_80027D00.c -s32 func_80031F48(Player*, float); +void func_800CA59C(u8); +void func_800CA730(u8); +void func_800CA984(s32); +void func_800CAACC(u8); +void func_800CAFC0(u8); /* This is where I'd put my static data, if I had any */ @@ -44,14 +59,23 @@ extern f32 D_800E3750[]; extern f32 D_800E3770[]; extern f32 D_800E37B0[]; extern f32 D_800E3790[]; +extern f32 D_800E37D0[]; +extern f32 D_800E37F0[]; extern f32 D_800EF568; extern f32 D_800EF56C; +extern f64 D_800EF588; +extern f64 D_800EF5A0; extern s16 D_80165190[4][8]; extern f32 D_80165280[]; extern s32 D_80165420[]; extern s32 D_80165440[]; extern s32 D_80165460[]; extern s32 D_80165480[]; +extern s32 D_8018D900[]; extern s16 D_8018D920[]; +extern s32 D_8018D930[]; +extern s32 D_8018D950[]; +extern s32 D_8018D970[]; + #endif