code_8008C1D0 part 2 (#138)

* Matching more functions in code_8008C1D0

* More matches

* Incorporate review comments. Match a few more functions
This commit is contained in:
ChiefFruitcake
2022-01-15 22:17:50 -05:00
committed by GitHub
parent 8a56620205
commit 04097806a5
37 changed files with 531 additions and 2519 deletions
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
@@ -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
@@ -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
@@ -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)
@@ -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
@@ -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
@@ -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)
@@ -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
@@ -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
@@ -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)
@@ -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
@@ -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)
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
+7 -8
View File
@@ -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;
+2 -1
View File
@@ -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
+22 -22
View File
@@ -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
#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
+7 -7
View File
@@ -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;
+455 -883
View File
File diff suppressed because it is too large Load Diff
+38 -14
View File
@@ -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