Files
SpaghettiKart/asm/non_matchings/code_80005FD0/func_800188F4.s
T
Maciek Baron 7df6d01ef3 Add player and controller labels, rename function (#123)
* Add player labels, rename function

* Relabel controller vars to improve readability
2022-01-01 13:06:21 -07:00

546 lines
27 KiB
ArmAsm

glabel func_800188F4
/* 0194F4 800188F4 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 0194F8 800188F8 3C0E800E */ lui $t6, %hi(gPlayerOne)
/* 0194FC 800188FC 8DCEC4DC */ lw $t6, %lo(gPlayerOne)($t6)
/* 019500 80018900 AFBF0024 */ sw $ra, 0x24($sp)
/* 019504 80018904 AFB00020 */ sw $s0, 0x20($sp)
/* 019508 80018908 AFA500BC */ sw $a1, 0xbc($sp)
/* 01950C 8001890C AFA600C0 */ sw $a2, 0xc0($sp)
/* 019510 80018910 AFA700C4 */ sw $a3, 0xc4($sp)
/* 019514 80018914 AFAE00A0 */ sw $t6, 0xa0($sp)
/* 019518 80018918 848500AE */ lh $a1, 0xae($a0)
/* 01951C 8001891C 3C0F8016 */ lui $t7, %hi(D_801645B0) # 0x8016
/* 019520 80018920 3C038016 */ lui $v1, %hi(D_8016448C) # $v1, 0x8016
/* 019524 80018924 00051040 */ sll $v0, $a1, 1
/* 019528 80018928 000548C0 */ sll $t1, $a1, 3
/* 01952C 8001892C 01E27821 */ addu $t7, $t7, $v0
/* 019530 80018930 01254823 */ subu $t1, $t1, $a1
/* 019534 80018934 95EF45B0 */ lhu $t7, %lo(D_801645B0)($t7) # 0x45b0($t7)
/* 019538 80018938 00094900 */ sll $t1, $t1, 4
/* 01953C 8001893C 01254823 */ subu $t1, $t1, $a1
/* 019540 80018940 00094880 */ sll $t1, $t1, 2
/* 019544 80018944 01254823 */ subu $t1, $t1, $a1
/* 019548 80018948 2463448C */ addiu $v1, %lo(D_8016448C) # addiu $v1, $v1, 0x448c
/* 01954C 8001894C 000948C0 */ sll $t1, $t1, 3
/* 019550 80018950 3C01800F */ lui $at, %hi(gPlayers+0x94)
/* 019554 80018954 AFAF0068 */ sw $t7, 0x68($sp)
/* 019558 80018958 000FC840 */ sll $t9, $t7, 1
/* 01955C 8001895C 8C780000 */ lw $t8, ($v1)
/* 019560 80018960 3C0A8016 */ lui $t2, %hi(D_801645C8) # 0x8016
/* 019564 80018964 3C0F8016 */ lui $t7, %hi(D_80164648) # $t7, 0x8016
/* 019568 80018968 00290821 */ addu $at, $at, $t1
/* 01956C 8001896C C42C6A24 */ lwc1 $f12, %lo(gPlayers+0x94)($at)
/* 019570 80018970 01595021 */ addu $t2, $t2, $t9
/* 019574 80018974 25EF4648 */ addiu $t7, %lo(D_80164648) # addiu $t7, $t7, 0x4648
/* 019578 80018978 00076080 */ sll $t4, $a3, 2
/* 01957C 8001897C 954A45C8 */ lhu $t2, %lo(D_801645C8)($t2) # 0x45c8($t2)
/* 019580 80018980 018F6821 */ addu $t5, $t4, $t7
/* 019584 80018984 00808025 */ move $s0, $a0
/* 019588 80018988 17000054 */ bnez $t8, .L80018ADC
/* 01958C 8001898C E5AC0000 */ swc1 $f12, ($t5)
/* 019590 80018990 3C0F8016 */ lui $t7, %hi(D_80164438) # $t7, 0x8016
/* 019594 80018994 25EF4438 */ addiu $t7, %lo(D_80164438) # addiu $t7, $t7, 0x4438
/* 019598 80018998 3C0E8016 */ lui $t6, %hi(D_80164668) # $t6, 0x8016
/* 01959C 8001899C 25CE4668 */ addiu $t6, %lo(D_80164668) # addiu $t6, $t6, 0x4668
/* 0195A0 800189A0 004FC021 */ addu $t8, $v0, $t7
/* 0195A4 800189A4 0007C840 */ sll $t9, $a3, 1
/* 0195A8 800189A8 032E5821 */ addu $t3, $t9, $t6
/* 0195AC 800189AC AFB8003C */ sw $t8, 0x3c($sp)
/* 0195B0 800189B0 970E0000 */ lhu $t6, ($t8)
/* 0195B4 800189B4 0320F825 */ move $ra, $t9
/* 0195B8 800189B8 0300C825 */ move $t9, $t8
/* 0195BC 800189BC 01CA7821 */ addu $t7, $t6, $t2
/* 0195C0 800189C0 25F8FFFA */ addiu $t8, $t7, -6
/* 0195C4 800189C4 030A001A */ div $zero, $t8, $t2
/* 0195C8 800189C8 85670000 */ lh $a3, ($t3)
/* 0195CC 800189CC 15400002 */ bnez $t2, .L800189D8
/* 0195D0 800189D0 00000000 */ nop
/* 0195D4 800189D4 0007000D */ break 7
.L800189D8:
/* 0195D8 800189D8 2401FFFF */ li $at, -1
/* 0195DC 800189DC 15410004 */ bne $t2, $at, .L800189F0
/* 0195E0 800189E0 3C018000 */ lui $at, 0x8000
/* 0195E4 800189E4 17010002 */ bne $t8, $at, .L800189F0
/* 0195E8 800189E8 00000000 */ nop
/* 0195EC 800189EC 0006000D */ break 6
.L800189F0:
/* 0195F0 800189F0 0000C810 */ mfhi $t9
/* 0195F4 800189F4 3C0F8016 */ lui $t7, %hi(D_80164688) # $t7, 0x8016
/* 0195F8 800189F8 14F90003 */ bne $a3, $t9, .L80018A08
/* 0195FC 800189FC 25EF4688 */ addiu $t7, %lo(D_80164688) # addiu $t7, $t7, 0x4688
/* 019600 80018A00 240E0001 */ li $t6, 1
/* 019604 80018A04 AC6E0000 */ sw $t6, ($v1)
.L80018A08:
/* 019608 80018A08 0005C080 */ sll $t8, $a1, 2
/* 01960C 80018A0C 3C018016 */ lui $at, %hi(D_80163068)
/* 019610 80018A10 00380821 */ addu $at, $at, $t8
/* 019614 80018A14 C4263068 */ lwc1 $f6, %lo(D_80163068)($at)
/* 019618 80018A18 3C01800F */ lui $at, %hi(D_800ED2A8)
/* 01961C 80018A1C D428D2A8 */ ldc1 $f8, %lo(D_800ED2A8)($at)
/* 019620 80018A20 460030A1 */ cvt.d.s $f2, $f6
/* 019624 80018A24 018F1821 */ addu $v1, $t4, $t7
/* 019628 80018A28 C4640000 */ lwc1 $f4, ($v1)
/* 01962C 80018A2C 46281281 */ sub.d $f10, $f2, $f8
/* 019630 80018A30 3C01800F */ lui $at, %hi(D_800ED2B0)
/* 019634 80018A34 46002021 */ cvt.d.s $f0, $f4
/* 019638 80018A38 462A003C */ c.lt.d $f0, $f10
/* 01963C 80018A3C 00000000 */ nop
/* 019640 80018A40 45020007 */ bc1fl .L80018A60
/* 019644 80018A44 3C013FE0 */ lui $at, 0x3fe0
/* 019648 80018A48 D426D2B0 */ ldc1 $f6, %lo(D_800ED2B0)($at)
/* 01964C 80018A4C 46006121 */ cvt.d.s $f4, $f12
/* 019650 80018A50 46262202 */ mul.d $f8, $f4, $f6
/* 019654 80018A54 462042A0 */ cvt.s.d $f10, $f8
/* 019658 80018A58 E5AA0000 */ swc1 $f10, ($t5)
/* 01965C 80018A5C 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
.L80018A60:
/* 019660 80018A60 44812800 */ mtc1 $at, $f5
/* 019664 80018A64 44802000 */ mtc1 $zero, $f4
/* 019668 80018A68 3C01800F */ lui $at, %hi(D_800ED2B8)
/* 01966C 80018A6C 46241181 */ sub.d $f6, $f2, $f4
/* 019670 80018A70 4620303C */ c.lt.d $f6, $f0
/* 019674 80018A74 00000000 */ nop
/* 019678 80018A78 45000007 */ bc1f .L80018A98
/* 01967C 80018A7C 00000000 */ nop
/* 019680 80018A80 D428D2B8 */ ldc1 $f8, %lo(D_800ED2B8)($at)
/* 019684 80018A84 46280281 */ sub.d $f10, $f0, $f8
/* 019688 80018A88 46205120 */ cvt.s.d $f4, $f10
/* 01968C 80018A8C E4640000 */ swc1 $f4, ($v1)
/* 019690 80018A90 C4660000 */ lwc1 $f6, ($v1)
/* 019694 80018A94 46003021 */ cvt.d.s $f0, $f6
.L80018A98:
/* 019698 80018A98 3C01800F */ lui $at, %hi(D_800ED2C0)
/* 01969C 80018A9C D428D2C0 */ ldc1 $f8, %lo(D_800ED2C0)($at)
/* 0196A0 80018AA0 3C01800F */ lui $at, %hi(D_800ED2C8) # $at, 0x800f
/* 0196A4 80018AA4 4628003C */ c.lt.d $f0, $f8
/* 0196A8 80018AA8 00000000 */ nop
/* 0196AC 80018AAC 45000009 */ bc1f .L80018AD4
/* 0196B0 80018AB0 00000000 */ nop
/* 0196B4 80018AB4 C42AD2C8 */ lwc1 $f10, %lo(D_800ED2C8)($at)
/* 0196B8 80018AB8 3C01800F */ lui $at, %hi(D_800ED2D0)
/* 0196BC 80018ABC 46006121 */ cvt.d.s $f4, $f12
/* 0196C0 80018AC0 E46A0000 */ swc1 $f10, ($v1)
/* 0196C4 80018AC4 D426D2D0 */ ldc1 $f6, %lo(D_800ED2D0)($at)
/* 0196C8 80018AC8 46262202 */ mul.d $f8, $f4, $f6
/* 0196CC 80018ACC 462042A0 */ cvt.s.d $f10, $f8
/* 0196D0 80018AD0 E5AA0000 */ swc1 $f10, ($t5)
.L80018AD4:
/* 0196D4 80018AD4 10000051 */ b .L80018C1C
/* 0196D8 80018AD8 AFA70040 */ sw $a3, 0x40($sp)
.L80018ADC:
/* 0196DC 80018ADC 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 0196E0 80018AE0 3C0F8016 */ lui $t7, %hi(D_80164438) # $t7, 0x8016
/* 0196E4 80018AE4 25EF4438 */ addiu $t7, %lo(D_80164438) # addiu $t7, $t7, 0x4438
/* 0196E8 80018AE8 3C0E8016 */ lui $t6, %hi(D_80164668) # $t6, 0x8016
/* 0196EC 80018AEC 25CE4668 */ addiu $t6, %lo(D_80164668) # addiu $t6, $t6, 0x4668
/* 0196F0 80018AF0 004FC021 */ addu $t8, $v0, $t7
/* 0196F4 80018AF4 001FC840 */ sll $t9, $ra, 1
/* 0196F8 80018AF8 032E5821 */ addu $t3, $t9, $t6
/* 0196FC 80018AFC AFB8003C */ sw $t8, 0x3c($sp)
/* 019700 80018B00 970E0000 */ lhu $t6, ($t8)
/* 019704 80018B04 85680000 */ lh $t0, ($t3)
/* 019708 80018B08 0320F825 */ move $ra, $t9
/* 01970C 80018B0C 25CF0006 */ addiu $t7, $t6, 6
/* 019710 80018B10 01EA001A */ div $zero, $t7, $t2
/* 019714 80018B14 0300C825 */ move $t9, $t8
/* 019718 80018B18 15400002 */ bnez $t2, .L80018B24
/* 01971C 80018B1C 00000000 */ nop
/* 019720 80018B20 0007000D */ break 7
.L80018B24:
/* 019724 80018B24 2401FFFF */ li $at, -1
/* 019728 80018B28 15410004 */ bne $t2, $at, .L80018B3C
/* 01972C 80018B2C 3C018000 */ lui $at, 0x8000
/* 019730 80018B30 15E10002 */ bne $t7, $at, .L80018B3C
/* 019734 80018B34 00000000 */ nop
/* 019738 80018B38 0006000D */ break 6
.L80018B3C:
/* 01973C 80018B3C 0000C010 */ mfhi $t8
/* 019740 80018B40 3C018016 */ lui $at, %hi(D_80163068)
/* 019744 80018B44 15180002 */ bne $t0, $t8, .L80018B50
/* 019748 80018B48 0005C880 */ sll $t9, $a1, 2
/* 01974C 80018B4C AC600000 */ sw $zero, ($v1)
.L80018B50:
/* 019750 80018B50 00390821 */ addu $at, $at, $t9
/* 019754 80018B54 C4243068 */ lwc1 $f4, %lo(D_80163068)($at)
/* 019758 80018B58 3C01800F */ lui $at, %hi(D_800ED2D8)
/* 01975C 80018B5C 3C0E8016 */ lui $t6, %hi(D_80164688) # $t6, 0x8016
/* 019760 80018B60 D428D2D8 */ ldc1 $f8, %lo(D_800ED2D8)($at)
/* 019764 80018B64 25CE4688 */ addiu $t6, %lo(D_80164688) # addiu $t6, $t6, 0x4688
/* 019768 80018B68 460020A1 */ cvt.d.s $f2, $f4
/* 01976C 80018B6C 018E1821 */ addu $v1, $t4, $t6
/* 019770 80018B70 C4660000 */ lwc1 $f6, ($v1)
/* 019774 80018B74 46281280 */ add.d $f10, $f2, $f8
/* 019778 80018B78 46003021 */ cvt.d.s $f0, $f6
/* 01977C 80018B7C 4620503C */ c.lt.d $f10, $f0
/* 019780 80018B80 00000000 */ nop
/* 019784 80018B84 45000006 */ bc1f .L80018BA0
/* 019788 80018B88 3C01800F */ lui $at, %hi(D_800ED2E0)
/* 01978C 80018B8C D426D2E0 */ ldc1 $f6, %lo(D_800ED2E0)($at)
/* 019790 80018B90 46006121 */ cvt.d.s $f4, $f12
/* 019794 80018B94 46262202 */ mul.d $f8, $f4, $f6
/* 019798 80018B98 462042A0 */ cvt.s.d $f10, $f8
/* 01979C 80018B9C E5AA0000 */ swc1 $f10, ($t5)
.L80018BA0:
/* 0197A0 80018BA0 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 0197A4 80018BA4 44812800 */ mtc1 $at, $f5
/* 0197A8 80018BA8 44802000 */ mtc1 $zero, $f4
/* 0197AC 80018BAC 00000000 */ nop
/* 0197B0 80018BB0 46241180 */ add.d $f6, $f2, $f4
/* 0197B4 80018BB4 4626003C */ c.lt.d $f0, $f6
/* 0197B8 80018BB8 00000000 */ nop
/* 0197BC 80018BBC 45000007 */ bc1f .L80018BDC
/* 0197C0 80018BC0 3C01800F */ lui $at, %hi(D_800ED2E8)
/* 0197C4 80018BC4 D428D2E8 */ ldc1 $f8, %lo(D_800ED2E8)($at)
/* 0197C8 80018BC8 46280280 */ add.d $f10, $f0, $f8
/* 0197CC 80018BCC 46205120 */ cvt.s.d $f4, $f10
/* 0197D0 80018BD0 E4640000 */ swc1 $f4, ($v1)
/* 0197D4 80018BD4 C4660000 */ lwc1 $f6, ($v1)
/* 0197D8 80018BD8 46003021 */ cvt.d.s $f0, $f6
.L80018BDC:
/* 0197DC 80018BDC 3C01800F */ lui $at, %hi(D_800ED2F0)
/* 0197E0 80018BE0 D428D2F0 */ ldc1 $f8, %lo(D_800ED2F0)($at)
/* 0197E4 80018BE4 AFA80040 */ sw $t0, 0x40($sp)
/* 0197E8 80018BE8 4620403C */ c.lt.d $f8, $f0
/* 0197EC 80018BEC 00000000 */ nop
/* 0197F0 80018BF0 4500000A */ bc1f .L80018C1C
/* 0197F4 80018BF4 3C01800F */ lui $at, %hi(D_800ED2F8) # $at, 0x800f
/* 0197F8 80018BF8 C42AD2F8 */ lwc1 $f10, %lo(D_800ED2F8)($at)
/* 0197FC 80018BFC 3C01800F */ lui $at, %hi(D_800ED300)
/* 019800 80018C00 46006121 */ cvt.d.s $f4, $f12
/* 019804 80018C04 E46A0000 */ swc1 $f10, ($v1)
/* 019808 80018C08 D426D300 */ ldc1 $f6, %lo(D_800ED300)($at)
/* 01980C 80018C0C AFA80040 */ sw $t0, 0x40($sp)
/* 019810 80018C10 46262202 */ mul.d $f8, $f4, $f6
/* 019814 80018C14 462042A0 */ cvt.s.d $f10, $f8
/* 019818 80018C18 E5AA0000 */ swc1 $f10, ($t5)
.L80018C1C:
/* 01981C 80018C1C 8FAF00A0 */ lw $t7, 0xa0($sp)
/* 019820 80018C20 3C018016 */ lui $at, %hi(D_80163238) # $at, 0x8016
/* 019824 80018C24 AC253238 */ sw $a1, %lo(D_80163238)($at)
/* 019828 80018C28 01E9C021 */ addu $t8, $t7, $t1
/* 01982C 80018C2C AFB800A0 */ sw $t8, 0xa0($sp)
/* 019830 80018C30 8E060008 */ lw $a2, 8($s0)
/* 019834 80018C34 C60E0004 */ lwc1 $f14, 4($s0)
/* 019838 80018C38 C60C0000 */ lwc1 $f12, ($s0)
/* 01983C 80018C3C 8FB90068 */ lw $t9, 0x68($sp)
/* 019840 80018C40 AFBF0048 */ sw $ra, 0x48($sp)
/* 019844 80018C44 8FA70040 */ lw $a3, 0x40($sp)
/* 019848 80018C48 AFAD0054 */ sw $t5, 0x54($sp)
/* 01984C 80018C4C AFAC0058 */ sw $t4, 0x58($sp)
/* 019850 80018C50 AFAB0044 */ sw $t3, 0x44($sp)
/* 019854 80018C54 AFAA0064 */ sw $t2, 0x64($sp)
/* 019858 80018C58 AFA3005C */ sw $v1, 0x5c($sp)
/* 01985C 80018C5C 0C0034CF */ jal func_8000D33C
/* 019860 80018C60 AFB90010 */ sw $t9, 0x10($sp)
/* 019864 80018C64 8FAB0044 */ lw $t3, 0x44($sp)
/* 019868 80018C68 8FAE003C */ lw $t6, 0x3c($sp)
/* 01986C 80018C6C 8FAA0064 */ lw $t2, 0x64($sp)
/* 019870 80018C70 A5620000 */ sh $v0, ($t3)
/* 019874 80018C74 85690000 */ lh $t1, ($t3)
/* 019878 80018C78 85C80000 */ lh $t0, ($t6)
/* 01987C 80018C7C 2406000F */ li $a2, 15
/* 019880 80018C80 2407000F */ li $a3, 15
/* 019884 80018C84 AFAA0010 */ sw $t2, 0x10($sp)
/* 019888 80018C88 3125FFFF */ andi $a1, $t1, 0xffff
/* 01988C 80018C8C 0C001EFE */ jal func_80007BF8
/* 019890 80018C90 3104FFFF */ andi $a0, $t0, 0xffff
/* 019894 80018C94 8FA3005C */ lw $v1, 0x5c($sp)
/* 019898 80018C98 8FAA0064 */ lw $t2, 0x64($sp)
/* 01989C 80018C9C 8FAB0044 */ lw $t3, 0x44($sp)
/* 0198A0 80018CA0 8FAC0058 */ lw $t4, 0x58($sp)
/* 0198A4 80018CA4 8FAD0054 */ lw $t5, 0x54($sp)
/* 0198A8 80018CA8 1C400011 */ bgtz $v0, .L80018CF0
/* 0198AC 80018CAC 8FBF0048 */ lw $ra, 0x48($sp)
/* 0198B0 80018CB0 3C068016 */ lui $a2, %hi(D_80164680) # 0x8016
/* 0198B4 80018CB4 00DF3021 */ addu $a2, $a2, $ra
/* 0198B8 80018CB8 84C64680 */ lh $a2, %lo(D_80164680)($a2) # 0x4680($a2)
/* 0198BC 80018CBC 8FA400C4 */ lw $a0, 0xc4($sp)
/* 0198C0 80018CC0 8C650000 */ lw $a1, ($v1)
/* 0198C4 80018CC4 AFA3005C */ sw $v1, 0x5c($sp)
/* 0198C8 80018CC8 AFAA0064 */ sw $t2, 0x64($sp)
/* 0198CC 80018CCC AFAB0044 */ sw $t3, 0x44($sp)
/* 0198D0 80018CD0 AFAC0058 */ sw $t4, 0x58($sp)
/* 0198D4 80018CD4 0C0068D2 */ jal func_8001A348
/* 0198D8 80018CD8 AFAD0054 */ sw $t5, 0x54($sp)
/* 0198DC 80018CDC 8FA3005C */ lw $v1, 0x5c($sp)
/* 0198E0 80018CE0 8FAA0064 */ lw $t2, 0x64($sp)
/* 0198E4 80018CE4 8FAB0044 */ lw $t3, 0x44($sp)
/* 0198E8 80018CE8 8FAC0058 */ lw $t4, 0x58($sp)
/* 0198EC 80018CEC 8FAD0054 */ lw $t5, 0x54($sp)
.L80018CF0:
/* 0198F0 80018CF0 85680000 */ lh $t0, ($t3)
/* 0198F4 80018CF4 87A7006A */ lh $a3, 0x6a($sp)
/* 0198F8 80018CF8 8C650000 */ lw $a1, ($v1)
/* 0198FC 80018CFC 250F0001 */ addiu $t7, $t0, 1
/* 019900 80018D00 01EA001A */ div $zero, $t7, $t2
/* 019904 80018D04 250E0002 */ addiu $t6, $t0, 2
/* 019908 80018D08 00001010 */ mfhi $v0
/* 01990C 80018D0C 0002C400 */ sll $t8, $v0, 0x10
/* 019910 80018D10 15400002 */ bnez $t2, .L80018D1C
/* 019914 80018D14 00000000 */ nop
/* 019918 80018D18 0007000D */ break 7
.L80018D1C:
/* 01991C 80018D1C 2401FFFF */ li $at, -1
/* 019920 80018D20 15410004 */ bne $t2, $at, .L80018D34
/* 019924 80018D24 3C018000 */ li $at, 0x80000000 # -0.000000
/* 019928 80018D28 15E10002 */ bne $t7, $at, .L80018D34
/* 01992C 80018D2C 00000000 */ nop
/* 019930 80018D30 0006000D */ break 6
.L80018D34:
/* 019934 80018D34 01CA001A */ div $zero, $t6, $t2
/* 019938 80018D38 0018CC03 */ sra $t9, $t8, 0x10
/* 01993C 80018D3C 03201025 */ move $v0, $t9
/* 019940 80018D40 15400002 */ bnez $t2, .L80018D4C
/* 019944 80018D44 00000000 */ nop
/* 019948 80018D48 0007000D */ break 7
.L80018D4C:
/* 01994C 80018D4C 2401FFFF */ li $at, -1
/* 019950 80018D50 15410004 */ bne $t2, $at, .L80018D64
/* 019954 80018D54 3C018000 */ li $at, 0x80000000 # -0.000000
/* 019958 80018D58 15C10002 */ bne $t6, $at, .L80018D64
/* 01995C 80018D5C 00000000 */ nop
/* 019960 80018D60 0006000D */ break 6
.L80018D64:
/* 019964 80018D64 00007810 */ mfhi $t7
/* 019968 80018D68 A7AF0078 */ sh $t7, 0x78($sp)
/* 01996C 80018D6C 3044FFFF */ andi $a0, $v0, 0xffff
/* 019970 80018D70 A7A2007A */ sh $v0, 0x7a($sp)
/* 019974 80018D74 3C064270 */ lui $a2, 0x4270
/* 019978 80018D78 AFA3005C */ sw $v1, 0x5c($sp)
/* 01997C 80018D7C AFAC0058 */ sw $t4, 0x58($sp)
/* 019980 80018D80 AFAD0054 */ sw $t5, 0x54($sp)
/* 019984 80018D84 0C002E85 */ jal func_8000BA14
/* 019988 80018D88 AFA70050 */ sw $a3, 0x50($sp)
/* 01998C 80018D8C 3C088016 */ lui $t0, %hi(D_80162FA0) # $t0, 0x8016
/* 019990 80018D90 25082FA0 */ addiu $t0, %lo(D_80162FA0) # addiu $t0, $t0, 0x2fa0
/* 019994 80018D94 C5040000 */ lwc1 $f4, ($t0)
/* 019998 80018D98 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 01999C 80018D9C 44810800 */ mtc1 $at, $f1
/* 0199A0 80018DA0 44800000 */ mtc1 $zero, $f0
/* 0199A4 80018DA4 460021A1 */ cvt.d.s $f6, $f4
/* 0199A8 80018DA8 C5040008 */ lwc1 $f4, 8($t0)
/* 0199AC 80018DAC 46203202 */ mul.d $f8, $f6, $f0
/* 0199B0 80018DB0 8FA3005C */ lw $v1, 0x5c($sp)
/* 0199B4 80018DB4 460021A1 */ cvt.d.s $f6, $f4
/* 0199B8 80018DB8 8FA70050 */ lw $a3, 0x50($sp)
/* 0199BC 80018DBC 97A40078 */ lhu $a0, 0x78($sp)
/* 0199C0 80018DC0 3C064270 */ lui $a2, 0x4270
/* 0199C4 80018DC4 8C650000 */ lw $a1, ($v1)
/* 0199C8 80018DC8 462042A0 */ cvt.s.d $f10, $f8
/* 0199CC 80018DCC 46203202 */ mul.d $f8, $f6, $f0
/* 0199D0 80018DD0 E7AA0098 */ swc1 $f10, 0x98($sp)
/* 0199D4 80018DD4 462044A0 */ cvt.s.d $f18, $f8
/* 0199D8 80018DD8 0C002E85 */ jal func_8000BA14
/* 0199DC 80018DDC E7B20090 */ swc1 $f18, 0x90($sp)
/* 0199E0 80018DE0 3C088016 */ lui $t0, %hi(D_80162FA0) # $t0, 0x8016
/* 0199E4 80018DE4 25082FA0 */ addiu $t0, %lo(D_80162FA0) # addiu $t0, $t0, 0x2fa0
/* 0199E8 80018DE8 C50A0000 */ lwc1 $f10, ($t0)
/* 0199EC 80018DEC 3C013FE0 */ li $at, 0x3FE00000 # 1.750000
/* 0199F0 80018DF0 44813800 */ mtc1 $at, $f7
/* 0199F4 80018DF4 44803000 */ mtc1 $zero, $f6
/* 0199F8 80018DF8 46005121 */ cvt.d.s $f4, $f10
/* 0199FC 80018DFC C7AA0098 */ lwc1 $f10, 0x98($sp)
/* 019A00 80018E00 46262202 */ mul.d $f8, $f4, $f6
/* 019A04 80018E04 8FB80068 */ lw $t8, 0x68($sp)
/* 019A08 80018E08 46005121 */ cvt.d.s $f4, $f10
/* 019A0C 80018E0C 87AE0078 */ lh $t6, 0x78($sp)
/* 019A10 80018E10 3C028016 */ lui $v0, %hi(D_80164550) # 0x8016
/* 019A14 80018E14 0018C880 */ sll $t9, $t8, 2
/* 019A18 80018E18 00591021 */ addu $v0, $v0, $t9
/* 019A1C 80018E1C 8C424550 */ lw $v0, %lo(D_80164550)($v0) # 0x4550($v0)
/* 019A20 80018E20 46282180 */ add.d $f6, $f4, $f8
/* 019A24 80018E24 C5040008 */ lwc1 $f4, 8($t0)
/* 019A28 80018E28 000E78C0 */ sll $t7, $t6, 3
/* 019A2C 80018E2C 87AE007A */ lh $t6, 0x7a($sp)
/* 019A30 80018E30 462032A0 */ cvt.s.d $f10, $f6
/* 019A34 80018E34 44803000 */ mtc1 $zero, $f6
/* 019A38 80018E38 44813800 */ mtc1 $at, $f7
/* 019A3C 80018E3C 46002221 */ cvt.d.s $f8, $f4
/* 019A40 80018E40 004FC021 */ addu $t8, $v0, $t7
/* 019A44 80018E44 46264102 */ mul.d $f4, $f8, $f6
/* 019A48 80018E48 C7B20090 */ lwc1 $f18, 0x90($sp)
/* 019A4C 80018E4C E7AA0098 */ swc1 $f10, 0x98($sp)
/* 019A50 80018E50 87190002 */ lh $t9, 2($t8)
/* 019A54 80018E54 000E78C0 */ sll $t7, $t6, 3
/* 019A58 80018E58 004FC021 */ addu $t8, $v0, $t7
/* 019A5C 80018E5C 870E0002 */ lh $t6, 2($t8)
/* 019A60 80018E60 46009221 */ cvt.d.s $f8, $f18
/* 019A64 80018E64 8FAC0058 */ lw $t4, 0x58($sp)
/* 019A68 80018E68 46244180 */ add.d $f6, $f8, $f4
/* 019A6C 80018E6C 032E7821 */ addu $t7, $t9, $t6
/* 019A70 80018E70 448F4000 */ mtc1 $t7, $f8
/* 019A74 80018E74 3C188016 */ lui $t8, %hi(D_801645F8) # $t8, 0x8016
/* 019A78 80018E78 462034A0 */ cvt.s.d $f18, $f6
/* 019A7C 80018E7C 44803000 */ mtc1 $zero, $f6
/* 019A80 80018E80 44813800 */ mtc1 $at, $f7
/* 019A84 80018E84 46804121 */ cvt.d.w $f4, $f8
/* 019A88 80018E88 271845F8 */ addiu $t8, %lo(D_801645F8) # addiu $t8, $t8, 0x45f8
/* 019A8C 80018E8C 01981821 */ addu $v1, $t4, $t8
/* 019A90 80018E90 3C198016 */ lui $t9, %hi(D_80164618) # $t9, 0x8016
/* 019A94 80018E94 27394618 */ addiu $t9, %lo(D_80164618) # addiu $t9, $t9, 0x4618
/* 019A98 80018E98 46262202 */ mul.d $f8, $f4, $f6
/* 019A9C 80018E9C C4640000 */ lwc1 $f4, ($v1)
/* 019AA0 80018EA0 01993821 */ addu $a3, $t4, $t9
/* 019AA4 80018EA4 C4E60000 */ lwc1 $f6, ($a3)
/* 019AA8 80018EA8 3C0E8016 */ lui $t6, %hi(D_80164638) # $t6, 0x8016
/* 019AAC 80018EAC 25CE4638 */ addiu $t6, %lo(D_80164638) # addiu $t6, $t6, 0x4638
/* 019AB0 80018EB0 46045381 */ sub.s $f14, $f10, $f4
/* 019AB4 80018EB4 018E4821 */ addu $t1, $t4, $t6
/* 019AB8 80018EB8 AFA9004C */ sw $t1, 0x4c($sp)
/* 019ABC 80018EBC 462040A0 */ cvt.s.d $f2, $f8
/* 019AC0 80018EC0 460E7282 */ mul.s $f10, $f14, $f14
/* 019AC4 80018EC4 C5280000 */ lwc1 $f8, ($t1)
/* 019AC8 80018EC8 E7AE008C */ swc1 $f14, 0x8c($sp)
/* 019ACC 80018ECC AFA70050 */ sw $a3, 0x50($sp)
/* 019AD0 80018ED0 AFA3005C */ sw $v1, 0x5c($sp)
/* 019AD4 80018ED4 46061401 */ sub.s $f16, $f2, $f6
/* 019AD8 80018ED8 46089001 */ sub.s $f0, $f18, $f8
/* 019ADC 80018EDC 46108102 */ mul.s $f4, $f16, $f16
/* 019AE0 80018EE0 E7B00088 */ swc1 $f16, 0x88($sp)
/* 019AE4 80018EE4 46000202 */ mul.s $f8, $f0, $f0
/* 019AE8 80018EE8 E7A00084 */ swc1 $f0, 0x84($sp)
/* 019AEC 80018EEC 46045180 */ add.s $f6, $f10, $f4
/* 019AF0 80018EF0 0C033850 */ jal sqrtf
/* 019AF4 80018EF4 46083300 */ add.s $f12, $f6, $f8
/* 019AF8 80018EF8 44805800 */ mtc1 $zero, $f11
/* 019AFC 80018EFC 44805000 */ mtc1 $zero, $f10
/* 019B00 80018F00 46000121 */ cvt.d.s $f4, $f0
/* 019B04 80018F04 8FA3005C */ lw $v1, 0x5c($sp)
/* 019B08 80018F08 46245032 */ c.eq.d $f10, $f4
/* 019B0C 80018F0C 8FA70050 */ lw $a3, 0x50($sp)
/* 019B10 80018F10 8FA9004C */ lw $t1, 0x4c($sp)
/* 019B14 80018F14 8FAD0054 */ lw $t5, 0x54($sp)
/* 019B18 80018F18 C7AE008C */ lwc1 $f14, 0x8c($sp)
/* 019B1C 80018F1C 45010012 */ bc1t .L80018F68
/* 019B20 80018F20 C7B00088 */ lwc1 $f16, 0x88($sp)
/* 019B24 80018F24 C5A20000 */ lwc1 $f2, ($t5)
/* 019B28 80018F28 C46A0000 */ lwc1 $f10, ($v1)
/* 019B2C 80018F2C 460E1182 */ mul.s $f6, $f2, $f14
/* 019B30 80018F30 46003203 */ div.s $f8, $f6, $f0
/* 019B34 80018F34 46101102 */ mul.s $f4, $f2, $f16
/* 019B38 80018F38 46002183 */ div.s $f6, $f4, $f0
/* 019B3C 80018F3C C7A40084 */ lwc1 $f4, 0x84($sp)
/* 019B40 80018F40 460A4300 */ add.s $f12, $f8, $f10
/* 019B44 80018F44 C4E80000 */ lwc1 $f8, ($a3)
/* 019B48 80018F48 E7AC0098 */ swc1 $f12, 0x98($sp)
/* 019B4C 80018F4C 46083280 */ add.s $f10, $f6, $f8
/* 019B50 80018F50 46041182 */ mul.s $f6, $f2, $f4
/* 019B54 80018F54 E7AA0094 */ swc1 $f10, 0x94($sp)
/* 019B58 80018F58 C52A0000 */ lwc1 $f10, ($t1)
/* 019B5C 80018F5C 46003203 */ div.s $f8, $f6, $f0
/* 019B60 80018F60 10000006 */ b .L80018F7C
/* 019B64 80018F64 460A4480 */ add.s $f18, $f8, $f10
.L80018F68:
/* 019B68 80018F68 C4640000 */ lwc1 $f4, ($v1)
/* 019B6C 80018F6C C4E60000 */ lwc1 $f6, ($a3)
/* 019B70 80018F70 C5320000 */ lwc1 $f18, ($t1)
/* 019B74 80018F74 E7A40098 */ swc1 $f4, 0x98($sp)
/* 019B78 80018F78 E7A60094 */ swc1 $f6, 0x94($sp)
.L80018F7C:
/* 019B7C 80018F7C C7AC0098 */ lwc1 $f12, 0x98($sp)
/* 019B80 80018F80 E6120008 */ swc1 $f18, 8($s0)
/* 019B84 80018F84 3C01403E */ li $at, 0x403E0000 # 2.968750
/* 019B88 80018F88 E60C0000 */ swc1 $f12, ($s0)
/* 019B8C 80018F8C C7A80094 */ lwc1 $f8, 0x94($sp)
/* 019B90 80018F90 44815800 */ mtc1 $at, $f11
/* 019B94 80018F94 44805000 */ mtc1 $zero, $f10
/* 019B98 80018F98 46004421 */ cvt.d.s $f16, $f8
/* 019B9C 80018F9C 44069000 */ mfc1 $a2, $f18
/* 019BA0 80018FA0 462A8100 */ add.d $f4, $f16, $f10
/* 019BA4 80018FA4 F7B00028 */ sdc1 $f16, 0x28($sp)
/* 019BA8 80018FA8 E7B20090 */ swc1 $f18, 0x90($sp)
/* 019BAC 80018FAC AFA9004C */ sw $t1, 0x4c($sp)
/* 019BB0 80018FB0 462023A0 */ cvt.s.d $f14, $f4
/* 019BB4 80018FB4 AFA70050 */ sw $a3, 0x50($sp)
/* 019BB8 80018FB8 0C0AB870 */ jal func_802AE1C0
/* 019BBC 80018FBC AFA3005C */ sw $v1, 0x5c($sp)
/* 019BC0 80018FC0 3C014034 */ li $at, 0x40340000 # 2.812500
/* 019BC4 80018FC4 D7B00028 */ ldc1 $f16, 0x28($sp)
/* 019BC8 80018FC8 44813800 */ mtc1 $at, $f7
/* 019BCC 80018FCC 44803000 */ mtc1 $zero, $f6
/* 019BD0 80018FD0 460000A1 */ cvt.d.s $f2, $f0
/* 019BD4 80018FD4 8FA3005C */ lw $v1, 0x5c($sp)
/* 019BD8 80018FD8 46268201 */ sub.d $f8, $f16, $f6
/* 019BDC 80018FDC 8FA70050 */ lw $a3, 0x50($sp)
/* 019BE0 80018FE0 8FA9004C */ lw $t1, 0x4c($sp)
/* 019BE4 80018FE4 C7B20090 */ lwc1 $f18, 0x90($sp)
/* 019BE8 80018FE8 4628103C */ c.lt.d $f2, $f8
/* 019BEC 80018FEC 00000000 */ nop
/* 019BF0 80018FF0 45010007 */ bc1t .L80019010
/* 019BF4 80018FF4 3C01800F */ lui $at, %hi(D_800ED308)
/* 019BF8 80018FF8 D42AD308 */ ldc1 $f10, %lo(D_800ED308)($at)
/* 019BFC 80018FFC 3C014020 */ li $at, 0x40200000 # 2.500000
/* 019C00 80019000 4622503E */ c.le.d $f10, $f2
/* 019C04 80019004 00000000 */ nop
/* 019C08 80019008 4502000A */ bc1fl .L80019034
/* 019C0C 8001900C 44815800 */ mtc1 $at, $f11
.L80019010:
/* 019C10 80019010 3C014024 */ li $at, 0x40240000 # 2.562500
/* 019C14 80019014 44812800 */ mtc1 $at, $f5
/* 019C18 80019018 44802000 */ mtc1 $zero, $f4
/* 019C1C 8001901C 00000000 */ nop
/* 019C20 80019020 46248180 */ add.d $f6, $f16, $f4
/* 019C24 80019024 46203220 */ cvt.s.d $f8, $f6
/* 019C28 80019028 10000007 */ b .L80019048
/* 019C2C 8001902C E6080004 */ swc1 $f8, 4($s0)
/* 019C30 80019030 44815800 */ mtc1 $at, $f11
.L80019034:
/* 019C34 80019034 44805000 */ mtc1 $zero, $f10
/* 019C38 80019038 00000000 */ nop
/* 019C3C 8001903C 462A1100 */ add.d $f4, $f2, $f10
/* 019C40 80019040 462021A0 */ cvt.s.d $f6, $f4
/* 019C44 80019044 E6060004 */ swc1 $f6, 4($s0)
.L80019048:
/* 019C48 80019048 C7A80098 */ lwc1 $f8, 0x98($sp)
/* 019C4C 8001904C C7AA0094 */ lwc1 $f10, 0x94($sp)
/* 019C50 80019050 8FA200A0 */ lw $v0, 0xa0($sp)
/* 019C54 80019054 E5320000 */ swc1 $f18, ($t1)
/* 019C58 80019058 E4680000 */ swc1 $f8, ($v1)
/* 019C5C 8001905C E4EA0000 */ swc1 $f10, ($a3)
/* 019C60 80019060 C4440014 */ lwc1 $f4, 0x14($v0)
/* 019C64 80019064 3C014018 */ li $at, 0x40180000 # 2.375000
/* 019C68 80019068 44815800 */ mtc1 $at, $f11
/* 019C6C 8001906C E604000C */ swc1 $f4, 0xc($s0)
/* 019C70 80019070 C4460018 */ lwc1 $f6, 0x18($v0)
/* 019C74 80019074 44805000 */ mtc1 $zero, $f10
/* 019C78 80019078 46003221 */ cvt.d.s $f8, $f6
/* 019C7C 8001907C 462A4100 */ add.d $f4, $f8, $f10
/* 019C80 80019080 462021A0 */ cvt.s.d $f6, $f4
/* 019C84 80019084 E6060010 */ swc1 $f6, 0x10($s0)
/* 019C88 80019088 C448001C */ lwc1 $f8, 0x1c($v0)
/* 019C8C 8001908C E6080014 */ swc1 $f8, 0x14($s0)
/* 019C90 80019090 8FA50068 */ lw $a1, 0x68($sp)
/* 019C94 80019094 0C00534C */ jal func_80014D30
/* 019C98 80019098 8FA400C4 */ lw $a0, 0xc4($sp)
/* 019C9C 8001909C C60A000C */ lwc1 $f10, 0xc($s0)
/* 019CA0 800190A0 C6040000 */ lwc1 $f4, ($s0)
/* 019CA4 800190A4 C6060010 */ lwc1 $f6, 0x10($s0)
/* 019CA8 800190A8 C6080004 */ lwc1 $f8, 4($s0)
/* 019CAC 800190AC 46045301 */ sub.s $f12, $f10, $f4
/* 019CB0 800190B0 46083281 */ sub.s $f10, $f6, $f8
/* 019CB4 800190B4 E7AA00A8 */ swc1 $f10, 0xa8($sp)
/* 019CB8 800190B8 C6060008 */ lwc1 $f6, 8($s0)
/* 019CBC 800190BC C6040014 */ lwc1 $f4, 0x14($s0)
/* 019CC0 800190C0 E7AC00AC */ swc1 $f12, 0xac($sp)
/* 019CC4 800190C4 46062381 */ sub.s $f14, $f4, $f6
/* 019CC8 800190C8 0C0ADE0C */ jal func_802B7830
/* 019CCC 800190CC E7AE00A4 */ swc1 $f14, 0xa4($sp)
/* 019CD0 800190D0 C7A000AC */ lwc1 $f0, 0xac($sp)
/* 019CD4 800190D4 C7AE00A4 */ lwc1 $f14, 0xa4($sp)
/* 019CD8 800190D8 A6020026 */ sh $v0, 0x26($s0)
/* 019CDC 800190DC 46000202 */ mul.s $f8, $f0, $f0
/* 019CE0 800190E0 00000000 */ nop
/* 019CE4 800190E4 460E7282 */ mul.s $f10, $f14, $f14
/* 019CE8 800190E8 0C033850 */ jal sqrtf
/* 019CEC 800190EC 460A4300 */ add.s $f12, $f8, $f10
/* 019CF0 800190F0 46000306 */ mov.s $f12, $f0
/* 019CF4 800190F4 0C0ADE0C */ jal func_802B7830
/* 019CF8 800190F8 C7AE00A8 */ lwc1 $f14, 0xa8($sp)
/* 019CFC 800190FC A6020024 */ sh $v0, 0x24($s0)
/* 019D00 80019100 A6000028 */ sh $zero, 0x28($s0)
/* 019D04 80019104 8FBF0024 */ lw $ra, 0x24($sp)
/* 019D08 80019108 8FB00020 */ lw $s0, 0x20($sp)
/* 019D0C 8001910C 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 019D10 80019110 03E00008 */ jr $ra
/* 019D14 80019114 00000000 */ nop