mirror of
https://github.com/pmret/papermario.git
synced 2024-11-15 07:22:29 +01:00
1c64f15db1
* Make a 224 functions show up in the elf * fix up appendGfx_model (as an example) * Changed all L labels to .L for local jump tables. Did not change global jump tables found in /data/ as .L is for local only * Decompile even more misc battle map funcs (#531) * decompile misc battle map funcs * fix warnings * Decompile misc battle map funcs (#528) * . * . * resolve issues * Update fx_api.c * Update fx_api.c * Make a 224 functions show up in the elf * fix up appendGfx_model (as an example) * Changed all L labels to .L for local jump tables. Did not change global jump tables found in /data/ as .L is for local only * Fix merge issue Co-authored-by: Ethan Roseman <ethteck@gmail.com> Co-authored-by: Alexander Faßbender <31699028+Brotenko@users.noreply.github.com>
1071 lines
50 KiB
ArmAsm
1071 lines
50 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
.section .rodata
|
|
|
|
dlabel jtbl_80098210
|
|
.word .L800305B0_B9B0, .L80030768_BB68, .L80030868_BC68, .L80030874_BC74, .L80030880_BC80, .L80030868_BC68, .L80030644_BA44, 0
|
|
|
|
dlabel jtbl_80098230
|
|
.word .L800308D0_BCD0, .L80030BFC_BFFC, .L80030E54_C254, .L80031210_C610, .L80031220_C620, .L8003106C_C46C, .L800309CC_BDCC, 0
|
|
|
|
.section .text
|
|
|
|
glabel update_camera_from_controller
|
|
/* B8FC 800304FC 27BDFF80 */ addiu $sp, $sp, -0x80
|
|
/* B900 80030500 AFB20030 */ sw $s2, 0x30($sp)
|
|
/* B904 80030504 00A0902D */ daddu $s2, $a1, $zero
|
|
/* B908 80030508 AFB40038 */ sw $s4, 0x38($sp)
|
|
/* B90C 8003050C 00C0A02D */ daddu $s4, $a2, $zero
|
|
/* B910 80030510 AFB30034 */ sw $s3, 0x34($sp)
|
|
/* B914 80030514 00E0982D */ daddu $s3, $a3, $zero
|
|
/* B918 80030518 AFB1002C */ sw $s1, 0x2c($sp)
|
|
/* B91C 8003051C AFBF0048 */ sw $ra, 0x48($sp)
|
|
/* B920 80030520 AFB70044 */ sw $s7, 0x44($sp)
|
|
/* B924 80030524 AFB60040 */ sw $s6, 0x40($sp)
|
|
/* B928 80030528 AFB5003C */ sw $s5, 0x3c($sp)
|
|
/* B92C 8003052C AFB00028 */ sw $s0, 0x28($sp)
|
|
/* B930 80030530 F7BE0078 */ sdc1 $f30, 0x78($sp)
|
|
/* B934 80030534 F7BC0070 */ sdc1 $f28, 0x70($sp)
|
|
/* B938 80030538 F7BA0068 */ sdc1 $f26, 0x68($sp)
|
|
/* B93C 8003053C F7B80060 */ sdc1 $f24, 0x60($sp)
|
|
/* B940 80030540 F7B60058 */ sdc1 $f22, 0x58($sp)
|
|
/* B944 80030544 F7B40050 */ sdc1 $f20, 0x50($sp)
|
|
/* B948 80030548 8E900000 */ lw $s0, ($s4)
|
|
/* B94C 8003054C C7B80094 */ lwc1 $f24, 0x94($sp)
|
|
/* B950 80030550 C7BE0098 */ lwc1 $f30, 0x98($sp)
|
|
/* B954 80030554 C7BA009C */ lwc1 $f26, 0x9c($sp)
|
|
/* B958 80030558 8FB500AC */ lw $s5, 0xac($sp)
|
|
/* B95C 8003055C 8FB600B0 */ lw $s6, 0xb0($sp)
|
|
/* B960 80030560 8FB700B4 */ lw $s7, 0xb4($sp)
|
|
/* B964 80030564 26020002 */ addiu $v0, $s0, 2
|
|
/* B968 80030568 2C420002 */ sltiu $v0, $v0, 2
|
|
/* B96C 8003056C 144000C4 */ bnez $v0, .L80030880_BC80
|
|
/* B970 80030570 0240882D */ daddu $s1, $s2, $zero
|
|
/* B974 80030574 16000005 */ bnez $s0, .L8003058C
|
|
/* B978 80030578 00000000 */ nop
|
|
/* B97C 8003057C E6580010 */ swc1 $f24, 0x10($s2)
|
|
/* B980 80030580 E65E0014 */ swc1 $f30, 0x14($s2)
|
|
/* B984 80030584 0800C220 */ j .L80030880_BC80
|
|
/* B988 80030588 E65A0018 */ swc1 $f26, 0x18($s2)
|
|
.L8003058C:
|
|
/* B98C 8003058C 8E030000 */ lw $v1, ($s0)
|
|
/* B990 80030590 2C620007 */ sltiu $v0, $v1, 7
|
|
/* B994 80030594 104000BA */ beqz $v0, .L80030880_BC80
|
|
/* B998 80030598 00031080 */ sll $v0, $v1, 2
|
|
/* B99C 8003059C 3C01800A */ lui $at, %hi(jtbl_80098210)
|
|
/* B9A0 800305A0 00220821 */ addu $at, $at, $v0
|
|
/* B9A4 800305A4 8C228210 */ lw $v0, %lo(jtbl_80098210)($at)
|
|
/* B9A8 800305A8 00400008 */ jr $v0
|
|
/* B9AC 800305AC 00000000 */ nop
|
|
.L800305B0_B9B0:
|
|
/* B9B0 800305B0 8E020028 */ lw $v0, 0x28($s0)
|
|
/* B9B4 800305B4 504000B0 */ beql $v0, $zero, .L80030878
|
|
/* B9B8 800305B8 E6380010 */ swc1 $f24, 0x10($s1)
|
|
/* B9BC 800305BC C60A0014 */ lwc1 $f10, 0x14($s0)
|
|
/* B9C0 800305C0 C60C0020 */ lwc1 $f12, 0x20($s0)
|
|
/* B9C4 800305C4 460C5281 */ sub.s $f10, $f10, $f12
|
|
/* B9C8 800305C8 C6000018 */ lwc1 $f0, 0x18($s0)
|
|
/* B9CC 800305CC 46005287 */ neg.s $f10, $f10
|
|
/* B9D0 800305D0 46005280 */ add.s $f10, $f10, $f0
|
|
/* B9D4 800305D4 460A0201 */ sub.s $f8, $f0, $f10
|
|
/* B9D8 800305D8 46084102 */ mul.s $f4, $f8, $f8
|
|
/* B9DC 800305DC 00000000 */ nop
|
|
/* B9E0 800305E0 C606000C */ lwc1 $f6, 0xc($s0)
|
|
/* B9E4 800305E4 46003181 */ sub.s $f6, $f6, $f0
|
|
/* B9E8 800305E8 460C3180 */ add.s $f6, $f6, $f12
|
|
/* B9EC 800305EC 46066301 */ sub.s $f12, $f12, $f6
|
|
/* B9F0 800305F0 460C6382 */ mul.s $f14, $f12, $f12
|
|
/* B9F4 800305F4 00000000 */ nop
|
|
/* B9F8 800305F8 460AC081 */ sub.s $f2, $f24, $f10
|
|
/* B9FC 800305FC 46081082 */ mul.s $f2, $f2, $f8
|
|
/* BA00 80030600 00000000 */ nop
|
|
/* BA04 80030604 4606D001 */ sub.s $f0, $f26, $f6
|
|
/* BA08 80030608 460C0002 */ mul.s $f0, $f0, $f12
|
|
/* BA0C 8003060C 00000000 */ nop
|
|
/* BA10 80030610 460E2100 */ add.s $f4, $f4, $f14
|
|
/* BA14 80030614 46001080 */ add.s $f2, $f2, $f0
|
|
/* BA18 80030618 46041103 */ div.s $f4, $f2, $f4
|
|
/* BA1C 8003061C 46082202 */ mul.s $f8, $f4, $f8
|
|
/* BA20 80030620 00000000 */ nop
|
|
/* BA24 80030624 460C2102 */ mul.s $f4, $f4, $f12
|
|
/* BA28 80030628 00000000 */ nop
|
|
/* BA2C 8003062C 460A4200 */ add.s $f8, $f8, $f10
|
|
/* BA30 80030630 46062100 */ add.s $f4, $f4, $f6
|
|
/* BA34 80030634 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BA38 80030638 E6280010 */ swc1 $f8, 0x10($s1)
|
|
/* BA3C 8003063C 0800C220 */ j .L80030880_BC80
|
|
/* BA40 80030640 E6240018 */ swc1 $f4, 0x18($s1)
|
|
.L80030644_BA44:
|
|
/* BA44 80030644 C60E000C */ lwc1 $f14, 0xc($s0)
|
|
/* BA48 80030648 C61C0018 */ lwc1 $f28, 0x18($s0)
|
|
/* BA4C 8003064C 460EE201 */ sub.s $f8, $f28, $f14
|
|
/* BA50 80030650 46084502 */ mul.s $f20, $f8, $f8
|
|
/* BA54 80030654 00000000 */ nop
|
|
/* BA58 80030658 460EC081 */ sub.s $f2, $f24, $f14
|
|
/* BA5C 8003065C 46081082 */ mul.s $f2, $f2, $f8
|
|
/* BA60 80030660 00000000 */ nop
|
|
/* BA64 80030664 E7BC0010 */ swc1 $f28, 0x10($sp)
|
|
/* BA68 80030668 C60C0014 */ lwc1 $f12, 0x14($s0)
|
|
/* BA6C 8003066C C61C0020 */ lwc1 $f28, 0x20($s0)
|
|
/* BA70 80030670 460CE181 */ sub.s $f6, $f28, $f12
|
|
/* BA74 80030674 46063482 */ mul.s $f18, $f6, $f6
|
|
/* BA78 80030678 00000000 */ nop
|
|
/* BA7C 8003067C 460CD001 */ sub.s $f0, $f26, $f12
|
|
/* BA80 80030680 46060002 */ mul.s $f0, $f0, $f6
|
|
/* BA84 80030684 00000000 */ nop
|
|
/* BA88 80030688 4612A100 */ add.s $f4, $f20, $f18
|
|
/* BA8C 8003068C 46001080 */ add.s $f2, $f2, $f0
|
|
/* BA90 80030690 46041103 */ div.s $f4, $f2, $f4
|
|
/* BA94 80030694 46082002 */ mul.s $f0, $f4, $f8
|
|
/* BA98 80030698 00000000 */ nop
|
|
/* BA9C 8003069C 46062102 */ mul.s $f4, $f4, $f6
|
|
/* BAA0 800306A0 00000000 */ nop
|
|
/* BAA4 800306A4 460E0400 */ add.s $f16, $f0, $f14
|
|
/* BAA8 800306A8 46007586 */ mov.s $f22, $f14
|
|
/* BAAC 800306AC 46004386 */ mov.s $f14, $f8
|
|
/* BAB0 800306B0 46168201 */ sub.s $f8, $f16, $f22
|
|
/* BAB4 800306B4 46087082 */ mul.s $f2, $f14, $f8
|
|
/* BAB8 800306B8 00000000 */ nop
|
|
/* BABC 800306BC 460C2280 */ add.s $f10, $f4, $f12
|
|
/* BAC0 800306C0 46006106 */ mov.s $f4, $f12
|
|
/* BAC4 800306C4 46003306 */ mov.s $f12, $f6
|
|
/* BAC8 800306C8 46045181 */ sub.s $f6, $f10, $f4
|
|
/* BACC 800306CC 46066002 */ mul.s $f0, $f12, $f6
|
|
/* BAD0 800306D0 00000000 */ nop
|
|
/* BAD4 800306D4 4610C501 */ sub.s $f20, $f24, $f16
|
|
/* BAD8 800306D8 460AD481 */ sub.s $f18, $f26, $f10
|
|
/* BADC 800306DC 46001080 */ add.s $f2, $f2, $f0
|
|
/* BAE0 800306E0 44800000 */ mtc1 $zero, $f0
|
|
/* BAE4 800306E4 00000000 */ nop
|
|
/* BAE8 800306E8 4600103C */ c.lt.s $f2, $f0
|
|
/* BAEC 800306EC 00000000 */ nop
|
|
/* BAF0 800306F0 45000004 */ bc1f .L80030704
|
|
/* BAF4 800306F4 E7BC0020 */ swc1 $f28, 0x20($sp)
|
|
/* BAF8 800306F8 4600B406 */ mov.s $f16, $f22
|
|
/* BAFC 800306FC 0800C1D1 */ j .L80030744
|
|
/* BB00 80030700 46002286 */ mov.s $f10, $f4
|
|
.L80030704:
|
|
/* BB04 80030704 46084082 */ mul.s $f2, $f8, $f8
|
|
/* BB08 80030708 00000000 */ nop
|
|
/* BB0C 8003070C 46063182 */ mul.s $f6, $f6, $f6
|
|
/* BB10 80030710 00000000 */ nop
|
|
/* BB14 80030714 460E7002 */ mul.s $f0, $f14, $f14
|
|
/* BB18 80030718 00000000 */ nop
|
|
/* BB1C 8003071C 460C6102 */ mul.s $f4, $f12, $f12
|
|
/* BB20 80030720 00000000 */ nop
|
|
/* BB24 80030724 46061080 */ add.s $f2, $f2, $f6
|
|
/* BB28 80030728 46040000 */ add.s $f0, $f0, $f4
|
|
/* BB2C 8003072C 4602003C */ c.lt.s $f0, $f2
|
|
/* BB30 80030730 00000000 */ nop
|
|
/* BB34 80030734 45000003 */ bc1f .L80030744
|
|
/* BB38 80030738 00000000 */ nop
|
|
/* BB3C 8003073C C7B00010 */ lwc1 $f16, 0x10($sp)
|
|
/* BB40 80030740 C7AA0020 */ lwc1 $f10, 0x20($sp)
|
|
.L80030744:
|
|
/* BB44 80030744 8E020028 */ lw $v0, 0x28($s0)
|
|
/* BB48 80030748 54400004 */ bnel $v0, $zero, .L8003075C
|
|
/* BB4C 8003074C E6300010 */ swc1 $f16, 0x10($s1)
|
|
/* BB50 80030750 46148400 */ add.s $f16, $f16, $f20
|
|
/* BB54 80030754 46125280 */ add.s $f10, $f10, $f18
|
|
/* BB58 80030758 E6300010 */ swc1 $f16, 0x10($s1)
|
|
.L8003075C:
|
|
/* BB5C 8003075C E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BB60 80030760 0800C220 */ j .L80030880_BC80
|
|
/* BB64 80030764 E62A0018 */ swc1 $f10, 0x18($s1)
|
|
.L80030768_BB68:
|
|
/* BB68 80030768 8E020028 */ lw $v0, 0x28($s0)
|
|
/* BB6C 8003076C 50400042 */ beql $v0, $zero, .L80030878
|
|
/* BB70 80030770 E6380010 */ swc1 $f24, 0x10($s1)
|
|
/* BB74 80030774 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* BB78 80030778 4600C581 */ sub.s $f22, $f24, $f0
|
|
/* BB7C 8003077C 4616B082 */ mul.s $f2, $f22, $f22
|
|
/* BB80 80030780 00000000 */ nop
|
|
/* BB84 80030784 C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* BB88 80030788 4600D501 */ sub.s $f20, $f26, $f0
|
|
/* BB8C 8003078C 4614A002 */ mul.s $f0, $f20, $f20
|
|
/* BB90 80030790 00000000 */ nop
|
|
/* BB94 80030794 46001600 */ add.s $f24, $f2, $f0
|
|
/* BB98 80030798 44800000 */ mtc1 $zero, $f0
|
|
/* BB9C 8003079C 00000000 */ nop
|
|
/* BBA0 800307A0 4600C032 */ c.eq.s $f24, $f0
|
|
/* BBA4 800307A4 00000000 */ nop
|
|
/* BBA8 800307A8 45010035 */ bc1t .L80030880_BC80
|
|
/* BBAC 800307AC 00000000 */ nop
|
|
/* BBB0 800307B0 4600C184 */ sqrt.s $f6, $f24
|
|
/* BBB4 800307B4 46063032 */ c.eq.s $f6, $f6
|
|
/* BBB8 800307B8 00000000 */ nop
|
|
/* BBBC 800307BC 45010004 */ bc1t .L800307D0
|
|
/* BBC0 800307C0 00000000 */ nop
|
|
/* BBC4 800307C4 0C0187BC */ jal sqrtf
|
|
/* BBC8 800307C8 4600C306 */ mov.s $f12, $f24
|
|
/* BBCC 800307CC 46000186 */ mov.s $f6, $f0
|
|
.L800307D0:
|
|
/* BBD0 800307D0 C6040018 */ lwc1 $f4, 0x18($s0)
|
|
/* BBD4 800307D4 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* BBD8 800307D8 46002101 */ sub.s $f4, $f4, $f0
|
|
/* BBDC 800307DC 46042102 */ mul.s $f4, $f4, $f4
|
|
/* BBE0 800307E0 00000000 */ nop
|
|
/* BBE4 800307E4 C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* BBE8 800307E8 C6000020 */ lwc1 $f0, 0x20($s0)
|
|
/* BBEC 800307EC 46020001 */ sub.s $f0, $f0, $f2
|
|
/* BBF0 800307F0 46000002 */ mul.s $f0, $f0, $f0
|
|
/* BBF4 800307F4 00000000 */ nop
|
|
/* BBF8 800307F8 3C013F80 */ lui $at, 0x3f80
|
|
/* BBFC 800307FC 44811000 */ mtc1 $at, $f2
|
|
/* BC00 80030800 46002300 */ add.s $f12, $f4, $f0
|
|
/* BC04 80030804 46061603 */ div.s $f24, $f2, $f6
|
|
/* BC08 80030808 46006084 */ sqrt.s $f2, $f12
|
|
/* BC0C 8003080C 46021032 */ c.eq.s $f2, $f2
|
|
/* BC10 80030810 00000000 */ nop
|
|
/* BC14 80030814 45010004 */ bc1t .L80030828
|
|
/* BC18 80030818 00000000 */ nop
|
|
/* BC1C 8003081C 0C0187BC */ jal sqrtf
|
|
/* BC20 80030820 00000000 */ nop
|
|
/* BC24 80030824 46000086 */ mov.s $f2, $f0
|
|
.L80030828:
|
|
/* BC28 80030828 4602B002 */ mul.s $f0, $f22, $f2
|
|
/* BC2C 8003082C 00000000 */ nop
|
|
/* BC30 80030830 4602A102 */ mul.s $f4, $f20, $f2
|
|
/* BC34 80030834 00000000 */ nop
|
|
/* BC38 80030838 46180002 */ mul.s $f0, $f0, $f24
|
|
/* BC3C 8003083C 00000000 */ nop
|
|
/* BC40 80030840 C602000C */ lwc1 $f2, 0xc($s0)
|
|
/* BC44 80030844 46001080 */ add.s $f2, $f2, $f0
|
|
/* BC48 80030848 46182102 */ mul.s $f4, $f4, $f24
|
|
/* BC4C 8003084C 00000000 */ nop
|
|
/* BC50 80030850 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BC54 80030854 E6220010 */ swc1 $f2, 0x10($s1)
|
|
/* BC58 80030858 C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* BC5C 8003085C 46040000 */ add.s $f0, $f0, $f4
|
|
/* BC60 80030860 0800C220 */ j .L80030880_BC80
|
|
/* BC64 80030864 E6200018 */ swc1 $f0, 0x18($s1)
|
|
.L80030868_BC68:
|
|
/* BC68 80030868 2402FFFF */ addiu $v0, $zero, -1
|
|
/* BC6C 8003086C 0800C220 */ j .L80030880_BC80
|
|
/* BC70 80030870 AE820000 */ sw $v0, ($s4)
|
|
.L80030874_BC74:
|
|
/* BC74 80030874 E6380010 */ swc1 $f24, 0x10($s1)
|
|
.L80030878:
|
|
/* BC78 80030878 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BC7C 8003087C E63A0018 */ swc1 $f26, 0x18($s1)
|
|
.L80030880_BC80:
|
|
/* BC80 80030880 8FA20090 */ lw $v0, 0x90($sp)
|
|
/* BC84 80030884 C7B800A0 */ lwc1 $f24, 0xa0($sp)
|
|
/* BC88 80030888 C7BE00A4 */ lwc1 $f30, 0xa4($sp)
|
|
/* BC8C 8003088C 8C500000 */ lw $s0, ($v0)
|
|
/* BC90 80030890 C7BA00A8 */ lwc1 $f26, 0xa8($sp)
|
|
/* BC94 80030894 16000005 */ bnez $s0, .L800308AC
|
|
/* BC98 80030898 0260882D */ daddu $s1, $s3, $zero
|
|
/* BC9C 8003089C E6780010 */ swc1 $f24, 0x10($s3)
|
|
/* BCA0 800308A0 E67E0014 */ swc1 $f30, 0x14($s3)
|
|
/* BCA4 800308A4 0800C4F0 */ j .L800313C0
|
|
/* BCA8 800308A8 E67A0018 */ swc1 $f26, 0x18($s3)
|
|
.L800308AC:
|
|
/* BCAC 800308AC 8E030000 */ lw $v1, ($s0)
|
|
/* BCB0 800308B0 2C620007 */ sltiu $v0, $v1, 7
|
|
/* BCB4 800308B4 10400279 */ beqz $v0, .L8003129C
|
|
/* BCB8 800308B8 00031080 */ sll $v0, $v1, 2
|
|
/* BCBC 800308BC 3C01800A */ lui $at, %hi(jtbl_80098230)
|
|
/* BCC0 800308C0 00220821 */ addu $at, $at, $v0
|
|
/* BCC4 800308C4 8C228230 */ lw $v0, %lo(jtbl_80098230)($at)
|
|
/* BCC8 800308C8 00400008 */ jr $v0
|
|
/* BCCC 800308CC 00000000 */ nop
|
|
.L800308D0_BCD0:
|
|
/* BCD0 800308D0 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* BCD4 800308D4 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* BCD8 800308D8 46001081 */ sub.s $f2, $f2, $f0
|
|
/* BCDC 800308DC C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* BCE0 800308E0 44061000 */ mfc1 $a2, $f2
|
|
/* BCE4 800308E4 C6020020 */ lwc1 $f2, 0x20($s0)
|
|
/* BCE8 800308E8 4480A000 */ mtc1 $zero, $f20
|
|
/* BCEC 800308EC 46001081 */ sub.s $f2, $f2, $f0
|
|
/* BCF0 800308F0 4600A306 */ mov.s $f12, $f20
|
|
/* BCF4 800308F4 44071000 */ mfc1 $a3, $f2
|
|
/* BCF8 800308F8 0C00A720 */ jal atan2
|
|
/* BCFC 800308FC 4600A386 */ mov.s $f14, $f20
|
|
/* BD00 80030900 E6200000 */ swc1 $f0, ($s1)
|
|
/* BD04 80030904 C6000004 */ lwc1 $f0, 4($s0)
|
|
/* BD08 80030908 4614003C */ c.lt.s $f0, $f20
|
|
/* BD0C 8003090C 00000000 */ nop
|
|
/* BD10 80030910 45030001 */ bc1tl .L80030918
|
|
/* BD14 80030914 46000007 */ neg.s $f0, $f0
|
|
.L80030918:
|
|
/* BD18 80030918 E6200004 */ swc1 $f0, 4($s1)
|
|
/* BD1C 8003091C C6000008 */ lwc1 $f0, 8($s0)
|
|
/* BD20 80030920 E6200008 */ swc1 $f0, 8($s1)
|
|
/* BD24 80030924 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* BD28 80030928 E620000C */ swc1 $f0, 0xc($s1)
|
|
/* BD2C 8003092C 8E020028 */ lw $v0, 0x28($s0)
|
|
/* BD30 80030930 50400023 */ beql $v0, $zero, .L800309C0
|
|
/* BD34 80030934 E6380010 */ swc1 $f24, 0x10($s1)
|
|
/* BD38 80030938 C60A0014 */ lwc1 $f10, 0x14($s0)
|
|
/* BD3C 8003093C C60C0020 */ lwc1 $f12, 0x20($s0)
|
|
/* BD40 80030940 460C5281 */ sub.s $f10, $f10, $f12
|
|
/* BD44 80030944 C6000018 */ lwc1 $f0, 0x18($s0)
|
|
/* BD48 80030948 46005287 */ neg.s $f10, $f10
|
|
/* BD4C 8003094C 46005280 */ add.s $f10, $f10, $f0
|
|
/* BD50 80030950 460A0201 */ sub.s $f8, $f0, $f10
|
|
/* BD54 80030954 46084102 */ mul.s $f4, $f8, $f8
|
|
/* BD58 80030958 00000000 */ nop
|
|
/* BD5C 8003095C C606000C */ lwc1 $f6, 0xc($s0)
|
|
/* BD60 80030960 46003181 */ sub.s $f6, $f6, $f0
|
|
/* BD64 80030964 460C3180 */ add.s $f6, $f6, $f12
|
|
/* BD68 80030968 46066301 */ sub.s $f12, $f12, $f6
|
|
/* BD6C 8003096C 460C6382 */ mul.s $f14, $f12, $f12
|
|
/* BD70 80030970 00000000 */ nop
|
|
/* BD74 80030974 460AC081 */ sub.s $f2, $f24, $f10
|
|
/* BD78 80030978 46081082 */ mul.s $f2, $f2, $f8
|
|
/* BD7C 8003097C 00000000 */ nop
|
|
/* BD80 80030980 4606D001 */ sub.s $f0, $f26, $f6
|
|
/* BD84 80030984 460C0002 */ mul.s $f0, $f0, $f12
|
|
/* BD88 80030988 00000000 */ nop
|
|
/* BD8C 8003098C 460E2100 */ add.s $f4, $f4, $f14
|
|
/* BD90 80030990 46001080 */ add.s $f2, $f2, $f0
|
|
/* BD94 80030994 46041103 */ div.s $f4, $f2, $f4
|
|
/* BD98 80030998 46082202 */ mul.s $f8, $f4, $f8
|
|
/* BD9C 8003099C 00000000 */ nop
|
|
/* BDA0 800309A0 460C2102 */ mul.s $f4, $f4, $f12
|
|
/* BDA4 800309A4 00000000 */ nop
|
|
/* BDA8 800309A8 460A4200 */ add.s $f8, $f8, $f10
|
|
/* BDAC 800309AC 46062100 */ add.s $f4, $f4, $f6
|
|
/* BDB0 800309B0 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BDB4 800309B4 E6280010 */ swc1 $f8, 0x10($s1)
|
|
/* BDB8 800309B8 0800C2D4 */ j .L80030B50
|
|
/* BDBC 800309BC E6240018 */ swc1 $f4, 0x18($s1)
|
|
.L800309C0:
|
|
/* BDC0 800309C0 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BDC4 800309C4 0800C2D4 */ j .L80030B50
|
|
/* BDC8 800309C8 E63A0018 */ swc1 $f26, 0x18($s1)
|
|
.L800309CC_BDCC:
|
|
/* BDCC 800309CC C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* BDD0 800309D0 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* BDD4 800309D4 46001581 */ sub.s $f22, $f2, $f0
|
|
/* BDD8 800309D8 C6020020 */ lwc1 $f2, 0x20($s0)
|
|
/* BDDC 800309DC C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* BDE0 800309E0 46001081 */ sub.s $f2, $f2, $f0
|
|
/* BDE4 800309E4 44806000 */ mtc1 $zero, $f12
|
|
/* BDE8 800309E8 4600B587 */ neg.s $f22, $f22
|
|
/* BDEC 800309EC 4407B000 */ mfc1 $a3, $f22
|
|
/* BDF0 800309F0 44061000 */ mfc1 $a2, $f2
|
|
/* BDF4 800309F4 0C00A720 */ jal atan2
|
|
/* BDF8 800309F8 46006386 */ mov.s $f14, $f12
|
|
/* BDFC 800309FC E6200000 */ swc1 $f0, ($s1)
|
|
/* BE00 80030A00 C6000004 */ lwc1 $f0, 4($s0)
|
|
/* BE04 80030A04 4480E000 */ mtc1 $zero, $f28
|
|
/* BE08 80030A08 00000000 */ nop
|
|
/* BE0C 80030A0C 461C003C */ c.lt.s $f0, $f28
|
|
/* BE10 80030A10 00000000 */ nop
|
|
/* BE14 80030A14 45030001 */ bc1tl .L80030A1C
|
|
/* BE18 80030A18 46000007 */ neg.s $f0, $f0
|
|
.L80030A1C:
|
|
/* BE1C 80030A1C E6200004 */ swc1 $f0, 4($s1)
|
|
/* BE20 80030A20 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* BE24 80030A24 E6200008 */ swc1 $f0, 8($s1)
|
|
/* BE28 80030A28 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* BE2C 80030A2C E620000C */ swc1 $f0, 0xc($s1)
|
|
/* BE30 80030A30 C60E000C */ lwc1 $f14, 0xc($s0)
|
|
/* BE34 80030A34 C61C0018 */ lwc1 $f28, 0x18($s0)
|
|
/* BE38 80030A38 460EE201 */ sub.s $f8, $f28, $f14
|
|
/* BE3C 80030A3C 46084502 */ mul.s $f20, $f8, $f8
|
|
/* BE40 80030A40 00000000 */ nop
|
|
/* BE44 80030A44 460EC081 */ sub.s $f2, $f24, $f14
|
|
/* BE48 80030A48 46081082 */ mul.s $f2, $f2, $f8
|
|
/* BE4C 80030A4C 00000000 */ nop
|
|
/* BE50 80030A50 E7BC0014 */ swc1 $f28, 0x14($sp)
|
|
/* BE54 80030A54 C60C0014 */ lwc1 $f12, 0x14($s0)
|
|
/* BE58 80030A58 C61C0020 */ lwc1 $f28, 0x20($s0)
|
|
/* BE5C 80030A5C 460CE181 */ sub.s $f6, $f28, $f12
|
|
/* BE60 80030A60 46063482 */ mul.s $f18, $f6, $f6
|
|
/* BE64 80030A64 00000000 */ nop
|
|
/* BE68 80030A68 460CD001 */ sub.s $f0, $f26, $f12
|
|
/* BE6C 80030A6C 46060002 */ mul.s $f0, $f0, $f6
|
|
/* BE70 80030A70 00000000 */ nop
|
|
/* BE74 80030A74 4612A100 */ add.s $f4, $f20, $f18
|
|
/* BE78 80030A78 46001080 */ add.s $f2, $f2, $f0
|
|
/* BE7C 80030A7C 46041103 */ div.s $f4, $f2, $f4
|
|
/* BE80 80030A80 46082002 */ mul.s $f0, $f4, $f8
|
|
/* BE84 80030A84 00000000 */ nop
|
|
/* BE88 80030A88 46062102 */ mul.s $f4, $f4, $f6
|
|
/* BE8C 80030A8C 00000000 */ nop
|
|
/* BE90 80030A90 460E0400 */ add.s $f16, $f0, $f14
|
|
/* BE94 80030A94 46007586 */ mov.s $f22, $f14
|
|
/* BE98 80030A98 46004386 */ mov.s $f14, $f8
|
|
/* BE9C 80030A9C 46168201 */ sub.s $f8, $f16, $f22
|
|
/* BEA0 80030AA0 46087002 */ mul.s $f0, $f14, $f8
|
|
/* BEA4 80030AA4 00000000 */ nop
|
|
/* BEA8 80030AA8 460C2280 */ add.s $f10, $f4, $f12
|
|
/* BEAC 80030AAC 46006106 */ mov.s $f4, $f12
|
|
/* BEB0 80030AB0 46003306 */ mov.s $f12, $f6
|
|
/* BEB4 80030AB4 46045181 */ sub.s $f6, $f10, $f4
|
|
/* BEB8 80030AB8 46066082 */ mul.s $f2, $f12, $f6
|
|
/* BEBC 80030ABC 00000000 */ nop
|
|
/* BEC0 80030AC0 4610C501 */ sub.s $f20, $f24, $f16
|
|
/* BEC4 80030AC4 E7BC0018 */ swc1 $f28, 0x18($sp)
|
|
/* BEC8 80030AC8 46020000 */ add.s $f0, $f0, $f2
|
|
/* BECC 80030ACC 4480E000 */ mtc1 $zero, $f28
|
|
/* BED0 80030AD0 00000000 */ nop
|
|
/* BED4 80030AD4 461C003C */ c.lt.s $f0, $f28
|
|
/* BED8 80030AD8 00000000 */ nop
|
|
/* BEDC 80030ADC 45000004 */ bc1f .L80030AF0
|
|
/* BEE0 80030AE0 460AD481 */ sub.s $f18, $f26, $f10
|
|
/* BEE4 80030AE4 4600B406 */ mov.s $f16, $f22
|
|
/* BEE8 80030AE8 0800C2CC */ j .L80030B30
|
|
/* BEEC 80030AEC 46002286 */ mov.s $f10, $f4
|
|
.L80030AF0:
|
|
/* BEF0 80030AF0 46084082 */ mul.s $f2, $f8, $f8
|
|
/* BEF4 80030AF4 00000000 */ nop
|
|
/* BEF8 80030AF8 46063182 */ mul.s $f6, $f6, $f6
|
|
/* BEFC 80030AFC 00000000 */ nop
|
|
/* BF00 80030B00 460E7002 */ mul.s $f0, $f14, $f14
|
|
/* BF04 80030B04 00000000 */ nop
|
|
/* BF08 80030B08 460C6102 */ mul.s $f4, $f12, $f12
|
|
/* BF0C 80030B0C 00000000 */ nop
|
|
/* BF10 80030B10 46061080 */ add.s $f2, $f2, $f6
|
|
/* BF14 80030B14 46040000 */ add.s $f0, $f0, $f4
|
|
/* BF18 80030B18 4602003C */ c.lt.s $f0, $f2
|
|
/* BF1C 80030B1C 00000000 */ nop
|
|
/* BF20 80030B20 45000003 */ bc1f .L80030B30
|
|
/* BF24 80030B24 00000000 */ nop
|
|
/* BF28 80030B28 C7B00014 */ lwc1 $f16, 0x14($sp)
|
|
/* BF2C 80030B2C C7AA0018 */ lwc1 $f10, 0x18($sp)
|
|
.L80030B30:
|
|
/* BF30 80030B30 8E020028 */ lw $v0, 0x28($s0)
|
|
/* BF34 80030B34 54400004 */ bnel $v0, $zero, .L80030B48
|
|
/* BF38 80030B38 E6300010 */ swc1 $f16, 0x10($s1)
|
|
/* BF3C 80030B3C 46148400 */ add.s $f16, $f16, $f20
|
|
/* BF40 80030B40 46125280 */ add.s $f10, $f10, $f18
|
|
/* BF44 80030B44 E6300010 */ swc1 $f16, 0x10($s1)
|
|
.L80030B48:
|
|
/* BF48 80030B48 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* BF4C 80030B4C E62A0018 */ swc1 $f10, 0x18($s1)
|
|
.L80030B50:
|
|
/* BF50 80030B50 12E0021B */ beqz $s7, .L800313C0
|
|
/* BF54 80030B54 00000000 */ nop
|
|
/* BF58 80030B58 C6C00000 */ lwc1 $f0, ($s6)
|
|
/* BF5C 80030B5C 3C013F80 */ lui $at, 0x3f80
|
|
/* BF60 80030B60 44812000 */ mtc1 $at, $f4
|
|
/* BF64 80030B64 00000000 */ nop
|
|
/* BF68 80030B68 46040032 */ c.eq.s $f0, $f4
|
|
/* BF6C 80030B6C 00000000 */ nop
|
|
/* BF70 80030B70 450101CA */ bc1t .L8003129C
|
|
/* BF74 80030B74 00000000 */ nop
|
|
/* BF78 80030B78 8E840000 */ lw $a0, ($s4)
|
|
/* BF7C 80030B7C 24820002 */ addiu $v0, $a0, 2
|
|
/* BF80 80030B80 2C420003 */ sltiu $v0, $v0, 3
|
|
/* BF84 80030B84 144001C5 */ bnez $v0, .L8003129C
|
|
/* BF88 80030B88 00000000 */ nop
|
|
/* BF8C 80030B8C 8C830000 */ lw $v1, ($a0)
|
|
/* BF90 80030B90 8E020000 */ lw $v0, ($s0)
|
|
/* BF94 80030B94 146201C1 */ bne $v1, $v0, .L8003129C
|
|
/* BF98 80030B98 00000000 */ nop
|
|
/* BF9C 80030B9C C4820004 */ lwc1 $f2, 4($a0)
|
|
/* BFA0 80030BA0 C6000004 */ lwc1 $f0, 4($s0)
|
|
/* BFA4 80030BA4 46001032 */ c.eq.s $f2, $f0
|
|
/* BFA8 80030BA8 00000000 */ nop
|
|
/* BFAC 80030BAC 450001BB */ bc1f .L8003129C
|
|
/* BFB0 80030BB0 00000000 */ nop
|
|
/* BFB4 80030BB4 C4820008 */ lwc1 $f2, 8($a0)
|
|
/* BFB8 80030BB8 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* BFBC 80030BBC 46001032 */ c.eq.s $f2, $f0
|
|
/* BFC0 80030BC0 00000000 */ nop
|
|
/* BFC4 80030BC4 450001B5 */ bc1f .L8003129C
|
|
/* BFC8 80030BC8 00000000 */ nop
|
|
/* BFCC 80030BCC C4820024 */ lwc1 $f2, 0x24($a0)
|
|
/* BFD0 80030BD0 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* BFD4 80030BD4 46001032 */ c.eq.s $f2, $f0
|
|
/* BFD8 80030BD8 00000000 */ nop
|
|
/* BFDC 80030BDC 450001AF */ bc1f .L8003129C
|
|
/* BFE0 80030BE0 00000000 */ nop
|
|
/* BFE4 80030BE4 8C830028 */ lw $v1, 0x28($a0)
|
|
/* BFE8 80030BE8 8E020028 */ lw $v0, 0x28($s0)
|
|
/* BFEC 80030BEC 546201AB */ bnel $v1, $v0, .L8003129C
|
|
/* BFF0 80030BF0 E6C40000 */ swc1 $f4, ($s6)
|
|
/* BFF4 80030BF4 0800C4A7 */ j .L8003129C
|
|
/* BFF8 80030BF8 00000000 */ nop
|
|
.L80030BFC_BFFC:
|
|
/* BFFC 80030BFC C6040004 */ lwc1 $f4, 4($s0)
|
|
/* C000 80030C00 44800000 */ mtc1 $zero, $f0
|
|
/* C004 80030C04 00000000 */ nop
|
|
/* C008 80030C08 4600203C */ c.lt.s $f4, $f0
|
|
/* C00C 80030C0C 00000000 */ nop
|
|
/* C010 80030C10 45000008 */ bc1f .L80030C34
|
|
/* C014 80030C14 00000000 */ nop
|
|
/* C018 80030C18 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C01C 80030C1C 4600C581 */ sub.s $f22, $f24, $f0
|
|
/* C020 80030C20 C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* C024 80030C24 46002007 */ neg.s $f0, $f4
|
|
/* C028 80030C28 E6200004 */ swc1 $f0, 4($s1)
|
|
/* C02C 80030C2C 0800C312 */ j .L80030C48
|
|
/* C030 80030C30 4602D501 */ sub.s $f20, $f26, $f2
|
|
.L80030C34:
|
|
/* C034 80030C34 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C038 80030C38 46180581 */ sub.s $f22, $f0, $f24
|
|
/* C03C 80030C3C C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C040 80030C40 E6240004 */ swc1 $f4, 4($s1)
|
|
/* C044 80030C44 461A0501 */ sub.s $f20, $f0, $f26
|
|
.L80030C48:
|
|
/* C048 80030C48 4406B000 */ mfc1 $a2, $f22
|
|
/* C04C 80030C4C 44806000 */ mtc1 $zero, $f12
|
|
/* C050 80030C50 4407A000 */ mfc1 $a3, $f20
|
|
/* C054 80030C54 0C00A720 */ jal atan2
|
|
/* C058 80030C58 46006386 */ mov.s $f14, $f12
|
|
/* C05C 80030C5C E6200000 */ swc1 $f0, ($s1)
|
|
/* C060 80030C60 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C064 80030C64 E6200008 */ swc1 $f0, 8($s1)
|
|
/* C068 80030C68 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C06C 80030C6C E620000C */ swc1 $f0, 0xc($s1)
|
|
/* C070 80030C70 8E020028 */ lw $v0, 0x28($s0)
|
|
/* C074 80030C74 5040003E */ beql $v0, $zero, .L80030D70
|
|
/* C078 80030C78 E6380010 */ swc1 $f24, 0x10($s1)
|
|
/* C07C 80030C7C C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C080 80030C80 4600C581 */ sub.s $f22, $f24, $f0
|
|
/* C084 80030C84 4616B082 */ mul.s $f2, $f22, $f22
|
|
/* C088 80030C88 00000000 */ nop
|
|
/* C08C 80030C8C C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C090 80030C90 4600D501 */ sub.s $f20, $f26, $f0
|
|
/* C094 80030C94 4614A002 */ mul.s $f0, $f20, $f20
|
|
/* C098 80030C98 00000000 */ nop
|
|
/* C09C 80030C9C 46001600 */ add.s $f24, $f2, $f0
|
|
/* C0A0 80030CA0 4480E000 */ mtc1 $zero, $f28
|
|
/* C0A4 80030CA4 00000000 */ nop
|
|
/* C0A8 80030CA8 461CC032 */ c.eq.s $f24, $f28
|
|
/* C0AC 80030CAC 00000000 */ nop
|
|
/* C0B0 80030CB0 45010031 */ bc1t .L80030D78
|
|
/* C0B4 80030CB4 00000000 */ nop
|
|
/* C0B8 80030CB8 4600C184 */ sqrt.s $f6, $f24
|
|
/* C0BC 80030CBC 46063032 */ c.eq.s $f6, $f6
|
|
/* C0C0 80030CC0 00000000 */ nop
|
|
/* C0C4 80030CC4 45010004 */ bc1t .L80030CD8
|
|
/* C0C8 80030CC8 00000000 */ nop
|
|
/* C0CC 80030CCC 0C0187BC */ jal sqrtf
|
|
/* C0D0 80030CD0 4600C306 */ mov.s $f12, $f24
|
|
/* C0D4 80030CD4 46000186 */ mov.s $f6, $f0
|
|
.L80030CD8:
|
|
/* C0D8 80030CD8 C6040018 */ lwc1 $f4, 0x18($s0)
|
|
/* C0DC 80030CDC C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C0E0 80030CE0 46002101 */ sub.s $f4, $f4, $f0
|
|
/* C0E4 80030CE4 46042102 */ mul.s $f4, $f4, $f4
|
|
/* C0E8 80030CE8 00000000 */ nop
|
|
/* C0EC 80030CEC C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* C0F0 80030CF0 C6000020 */ lwc1 $f0, 0x20($s0)
|
|
/* C0F4 80030CF4 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C0F8 80030CF8 46000002 */ mul.s $f0, $f0, $f0
|
|
/* C0FC 80030CFC 00000000 */ nop
|
|
/* C100 80030D00 3C013F80 */ lui $at, 0x3f80
|
|
/* C104 80030D04 44811000 */ mtc1 $at, $f2
|
|
/* C108 80030D08 46002300 */ add.s $f12, $f4, $f0
|
|
/* C10C 80030D0C 46061603 */ div.s $f24, $f2, $f6
|
|
/* C110 80030D10 46006084 */ sqrt.s $f2, $f12
|
|
/* C114 80030D14 46021032 */ c.eq.s $f2, $f2
|
|
/* C118 80030D18 00000000 */ nop
|
|
/* C11C 80030D1C 45010004 */ bc1t .L80030D30
|
|
/* C120 80030D20 00000000 */ nop
|
|
/* C124 80030D24 0C0187BC */ jal sqrtf
|
|
/* C128 80030D28 00000000 */ nop
|
|
/* C12C 80030D2C 46000086 */ mov.s $f2, $f0
|
|
.L80030D30:
|
|
/* C130 80030D30 4602B002 */ mul.s $f0, $f22, $f2
|
|
/* C134 80030D34 00000000 */ nop
|
|
/* C138 80030D38 4602A102 */ mul.s $f4, $f20, $f2
|
|
/* C13C 80030D3C 00000000 */ nop
|
|
/* C140 80030D40 46180002 */ mul.s $f0, $f0, $f24
|
|
/* C144 80030D44 00000000 */ nop
|
|
/* C148 80030D48 C602000C */ lwc1 $f2, 0xc($s0)
|
|
/* C14C 80030D4C 46001080 */ add.s $f2, $f2, $f0
|
|
/* C150 80030D50 46182102 */ mul.s $f4, $f4, $f24
|
|
/* C154 80030D54 00000000 */ nop
|
|
/* C158 80030D58 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* C15C 80030D5C E6220010 */ swc1 $f2, 0x10($s1)
|
|
/* C160 80030D60 C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C164 80030D64 46040000 */ add.s $f0, $f0, $f4
|
|
/* C168 80030D68 0800C35E */ j .L80030D78
|
|
/* C16C 80030D6C E6200018 */ swc1 $f0, 0x18($s1)
|
|
.L80030D70:
|
|
/* C170 80030D70 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* C174 80030D74 E63A0018 */ swc1 $f26, 0x18($s1)
|
|
.L80030D78:
|
|
/* C178 80030D78 12E00191 */ beqz $s7, .L800313C0
|
|
/* C17C 80030D7C 00000000 */ nop
|
|
/* C180 80030D80 C6C00000 */ lwc1 $f0, ($s6)
|
|
/* C184 80030D84 3C013F80 */ lui $at, 0x3f80
|
|
/* C188 80030D88 44812000 */ mtc1 $at, $f4
|
|
/* C18C 80030D8C 00000000 */ nop
|
|
/* C190 80030D90 46040032 */ c.eq.s $f0, $f4
|
|
/* C194 80030D94 00000000 */ nop
|
|
/* C198 80030D98 45010140 */ bc1t .L8003129C
|
|
/* C19C 80030D9C 00000000 */ nop
|
|
/* C1A0 80030DA0 8E840000 */ lw $a0, ($s4)
|
|
/* C1A4 80030DA4 24820002 */ addiu $v0, $a0, 2
|
|
/* C1A8 80030DA8 2C420003 */ sltiu $v0, $v0, 3
|
|
/* C1AC 80030DAC 1440013B */ bnez $v0, .L8003129C
|
|
/* C1B0 80030DB0 00000000 */ nop
|
|
/* C1B4 80030DB4 8C830000 */ lw $v1, ($a0)
|
|
/* C1B8 80030DB8 8E020000 */ lw $v0, ($s0)
|
|
/* C1BC 80030DBC 14620137 */ bne $v1, $v0, .L8003129C
|
|
/* C1C0 80030DC0 00000000 */ nop
|
|
/* C1C4 80030DC4 C4820004 */ lwc1 $f2, 4($a0)
|
|
/* C1C8 80030DC8 C6000004 */ lwc1 $f0, 4($s0)
|
|
/* C1CC 80030DCC 46001032 */ c.eq.s $f2, $f0
|
|
/* C1D0 80030DD0 00000000 */ nop
|
|
/* C1D4 80030DD4 45000131 */ bc1f .L8003129C
|
|
/* C1D8 80030DD8 00000000 */ nop
|
|
/* C1DC 80030DDC C4820008 */ lwc1 $f2, 8($a0)
|
|
/* C1E0 80030DE0 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C1E4 80030DE4 46001032 */ c.eq.s $f2, $f0
|
|
/* C1E8 80030DE8 00000000 */ nop
|
|
/* C1EC 80030DEC 4500012B */ bc1f .L8003129C
|
|
/* C1F0 80030DF0 00000000 */ nop
|
|
/* C1F4 80030DF4 C4820024 */ lwc1 $f2, 0x24($a0)
|
|
/* C1F8 80030DF8 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C1FC 80030DFC 46001032 */ c.eq.s $f2, $f0
|
|
/* C200 80030E00 00000000 */ nop
|
|
/* C204 80030E04 45000125 */ bc1f .L8003129C
|
|
/* C208 80030E08 00000000 */ nop
|
|
/* C20C 80030E0C 8C830028 */ lw $v1, 0x28($a0)
|
|
/* C210 80030E10 8E020028 */ lw $v0, 0x28($s0)
|
|
/* C214 80030E14 10620121 */ beq $v1, $v0, .L8003129C
|
|
/* C218 80030E18 00000000 */ nop
|
|
/* C21C 80030E1C C482000C */ lwc1 $f2, 0xc($a0)
|
|
/* C220 80030E20 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C224 80030E24 46001032 */ c.eq.s $f2, $f0
|
|
/* C228 80030E28 00000000 */ nop
|
|
/* C22C 80030E2C 4500011B */ bc1f .L8003129C
|
|
/* C230 80030E30 00000000 */ nop
|
|
/* C234 80030E34 C4820014 */ lwc1 $f2, 0x14($a0)
|
|
/* C238 80030E38 C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C23C 80030E3C 46001032 */ c.eq.s $f2, $f0
|
|
/* C240 80030E40 00000000 */ nop
|
|
/* C244 80030E44 45030115 */ bc1tl .L8003129C
|
|
/* C248 80030E48 E6C40000 */ swc1 $f4, ($s6)
|
|
/* C24C 80030E4C 0800C4A7 */ j .L8003129C
|
|
/* C250 80030E50 00000000 */ nop
|
|
.L80030E54_C254:
|
|
/* C254 80030E54 8E020028 */ lw $v0, 0x28($s0)
|
|
/* C258 80030E58 1440005D */ bnez $v0, .L80030FD0
|
|
/* C25C 80030E5C 00000000 */ nop
|
|
/* C260 80030E60 C612000C */ lwc1 $f18, 0xc($s0)
|
|
/* C264 80030E64 C6100018 */ lwc1 $f16, 0x18($s0)
|
|
/* C268 80030E68 C60A0014 */ lwc1 $f10, 0x14($s0)
|
|
/* C26C 80030E6C C60C0020 */ lwc1 $f12, 0x20($s0)
|
|
/* C270 80030E70 C6040010 */ lwc1 $f4, 0x10($s0)
|
|
/* C274 80030E74 C60E001C */ lwc1 $f14, 0x1c($s0)
|
|
/* C278 80030E78 46109032 */ c.eq.s $f18, $f16
|
|
/* C27C 80030E7C 00000000 */ nop
|
|
/* C280 80030E80 45000007 */ bc1f .L80030EA0
|
|
/* C284 80030E84 46048201 */ sub.s $f8, $f16, $f4
|
|
/* C288 80030E88 460C5032 */ c.eq.s $f10, $f12
|
|
/* C28C 80030E8C 00000000 */ nop
|
|
/* C290 80030E90 45000003 */ bc1f .L80030EA0
|
|
/* C294 80030E94 00000000 */ nop
|
|
/* C298 80030E98 46002486 */ mov.s $f18, $f4
|
|
/* C29C 80030E9C 46007286 */ mov.s $f10, $f14
|
|
.L80030EA0:
|
|
/* C2A0 80030EA0 44800000 */ mtc1 $zero, $f0
|
|
/* C2A4 80030EA4 00000000 */ nop
|
|
/* C2A8 80030EA8 46004032 */ c.eq.s $f8, $f0
|
|
/* C2AC 80030EAC 00000000 */ nop
|
|
/* C2B0 80030EB0 45020017 */ bc1fl .L80030F10
|
|
/* C2B4 80030EB4 460C5181 */ sub.s $f6, $f10, $f12
|
|
/* C2B8 80030EB8 46128181 */ sub.s $f6, $f16, $f18
|
|
/* C2BC 80030EBC 46064102 */ mul.s $f4, $f8, $f6
|
|
/* C2C0 80030EC0 00000000 */ nop
|
|
/* C2C4 80030EC4 461A6081 */ sub.s $f2, $f12, $f26
|
|
/* C2C8 80030EC8 46081082 */ mul.s $f2, $f2, $f8
|
|
/* C2CC 80030ECC 00000000 */ nop
|
|
/* C2D0 80030ED0 460C5281 */ sub.s $f10, $f10, $f12
|
|
/* C2D4 80030ED4 460E6201 */ sub.s $f8, $f12, $f14
|
|
/* C2D8 80030ED8 4610C001 */ sub.s $f0, $f24, $f16
|
|
/* C2DC 80030EDC 46081083 */ div.s $f2, $f2, $f8
|
|
/* C2E0 80030EE0 46020000 */ add.s $f0, $f0, $f2
|
|
/* C2E4 80030EE4 46005082 */ mul.s $f2, $f10, $f0
|
|
/* C2E8 80030EE8 00000000 */ nop
|
|
/* C2EC 80030EEC 46003182 */ mul.s $f6, $f6, $f0
|
|
/* C2F0 80030EF0 00000000 */ nop
|
|
/* C2F4 80030EF4 46082103 */ div.s $f4, $f4, $f8
|
|
/* C2F8 80030EF8 460A2101 */ sub.s $f4, $f4, $f10
|
|
/* C2FC 80030EFC 46041083 */ div.s $f2, $f2, $f4
|
|
/* C300 80030F00 46181200 */ add.s $f8, $f2, $f24
|
|
/* C304 80030F04 46043183 */ div.s $f6, $f6, $f4
|
|
/* C308 80030F08 0800C3D8 */ j .L80030F60
|
|
/* C30C 80030F0C 461A3000 */ add.s $f0, $f6, $f26
|
|
.L80030F10:
|
|
/* C310 80030F10 460E6081 */ sub.s $f2, $f12, $f14
|
|
/* C314 80030F14 46023102 */ mul.s $f4, $f6, $f2
|
|
/* C318 80030F18 00000000 */ nop
|
|
/* C31C 80030F1C 46188001 */ sub.s $f0, $f16, $f24
|
|
/* C320 80030F20 46020002 */ mul.s $f0, $f0, $f2
|
|
/* C324 80030F24 00000000 */ nop
|
|
/* C328 80030F28 460CD081 */ sub.s $f2, $f26, $f12
|
|
/* C32C 80030F2C 46080003 */ div.s $f0, $f0, $f8
|
|
/* C330 80030F30 46001080 */ add.s $f2, $f2, $f0
|
|
/* C334 80030F34 46023182 */ mul.s $f6, $f6, $f2
|
|
/* C338 80030F38 00000000 */ nop
|
|
/* C33C 80030F3C 46128001 */ sub.s $f0, $f16, $f18
|
|
/* C340 80030F40 46020082 */ mul.s $f2, $f0, $f2
|
|
/* C344 80030F44 00000000 */ nop
|
|
/* C348 80030F48 46082103 */ div.s $f4, $f4, $f8
|
|
/* C34C 80030F4C 46002101 */ sub.s $f4, $f4, $f0
|
|
/* C350 80030F50 46043183 */ div.s $f6, $f6, $f4
|
|
/* C354 80030F54 46183200 */ add.s $f8, $f6, $f24
|
|
/* C358 80030F58 46041083 */ div.s $f2, $f2, $f4
|
|
/* C35C 80030F5C 461A1000 */ add.s $f0, $f2, $f26
|
|
.L80030F60:
|
|
/* C360 80030F60 E6280010 */ swc1 $f8, 0x10($s1)
|
|
/* C364 80030F64 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* C368 80030F68 12A0003E */ beqz $s5, .L80031064
|
|
/* C36C 80030F6C E6200018 */ swc1 $f0, 0x18($s1)
|
|
/* C370 80030F70 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* C374 80030F74 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C378 80030F78 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C37C 80030F7C C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C380 80030F80 44061000 */ mfc1 $a2, $f2
|
|
/* C384 80030F84 C6020020 */ lwc1 $f2, 0x20($s0)
|
|
/* C388 80030F88 4480A000 */ mtc1 $zero, $f20
|
|
/* C38C 80030F8C 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C390 80030F90 4600A306 */ mov.s $f12, $f20
|
|
/* C394 80030F94 44071000 */ mfc1 $a3, $f2
|
|
/* C398 80030F98 0C00A720 */ jal atan2
|
|
/* C39C 80030F9C 4600A386 */ mov.s $f14, $f20
|
|
/* C3A0 80030FA0 E6200000 */ swc1 $f0, ($s1)
|
|
/* C3A4 80030FA4 C6000004 */ lwc1 $f0, 4($s0)
|
|
/* C3A8 80030FA8 4614003C */ c.lt.s $f0, $f20
|
|
/* C3AC 80030FAC 00000000 */ nop
|
|
/* C3B0 80030FB0 45030001 */ bc1tl .L80030FB8
|
|
/* C3B4 80030FB4 46000007 */ neg.s $f0, $f0
|
|
.L80030FB8:
|
|
/* C3B8 80030FB8 E6200004 */ swc1 $f0, 4($s1)
|
|
/* C3BC 80030FBC C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C3C0 80030FC0 E6200008 */ swc1 $f0, 8($s1)
|
|
/* C3C4 80030FC4 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C3C8 80030FC8 0800C419 */ j .L80031064
|
|
/* C3CC 80030FCC E620000C */ swc1 $f0, 0xc($s1)
|
|
.L80030FD0:
|
|
/* C3D0 80030FD0 12A0001D */ beqz $s5, .L80031048
|
|
/* C3D4 80030FD4 00000000 */ nop
|
|
/* C3D8 80030FD8 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* C3DC 80030FDC C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C3E0 80030FE0 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C3E4 80030FE4 C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C3E8 80030FE8 44061000 */ mfc1 $a2, $f2
|
|
/* C3EC 80030FEC C6020020 */ lwc1 $f2, 0x20($s0)
|
|
/* C3F0 80030FF0 4480A000 */ mtc1 $zero, $f20
|
|
/* C3F4 80030FF4 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C3F8 80030FF8 4600A306 */ mov.s $f12, $f20
|
|
/* C3FC 80030FFC 44071000 */ mfc1 $a3, $f2
|
|
/* C400 80031000 0C00A720 */ jal atan2
|
|
/* C404 80031004 4600A386 */ mov.s $f14, $f20
|
|
/* C408 80031008 E6200000 */ swc1 $f0, ($s1)
|
|
/* C40C 8003100C C6000004 */ lwc1 $f0, 4($s0)
|
|
/* C410 80031010 4614003C */ c.lt.s $f0, $f20
|
|
/* C414 80031014 00000000 */ nop
|
|
/* C418 80031018 45030001 */ bc1tl .L80031020
|
|
/* C41C 8003101C 46000007 */ neg.s $f0, $f0
|
|
.L80031020:
|
|
/* C420 80031020 E6200004 */ swc1 $f0, 4($s1)
|
|
/* C424 80031024 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C428 80031028 E6200008 */ swc1 $f0, 8($s1)
|
|
/* C42C 8003102C C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C430 80031030 E620000C */ swc1 $f0, 0xc($s1)
|
|
/* C434 80031034 C6000018 */ lwc1 $f0, 0x18($s0)
|
|
/* C438 80031038 E6200010 */ swc1 $f0, 0x10($s1)
|
|
/* C43C 8003103C C6000020 */ lwc1 $f0, 0x20($s0)
|
|
/* C440 80031040 0800C418 */ j .L80031060
|
|
/* C444 80031044 E6200018 */ swc1 $f0, 0x18($s1)
|
|
.L80031048:
|
|
/* C448 80031048 52E00006 */ beql $s7, $zero, .L80031064
|
|
/* C44C 8003104C E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* C450 80031050 C6400010 */ lwc1 $f0, 0x10($s2)
|
|
/* C454 80031054 E6200010 */ swc1 $f0, 0x10($s1)
|
|
/* C458 80031058 C6400018 */ lwc1 $f0, 0x18($s2)
|
|
/* C45C 8003105C E6200018 */ swc1 $f0, 0x18($s1)
|
|
.L80031060:
|
|
/* C460 80031060 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
.L80031064:
|
|
/* C464 80031064 0800C4A6 */ j .L80031298
|
|
/* C468 80031068 2402FFFF */ addiu $v0, $zero, -1
|
|
.L8003106C_C46C:
|
|
/* C46C 8003106C 8E020028 */ lw $v0, 0x28($s0)
|
|
/* C470 80031070 1440003A */ bnez $v0, .L8003115C
|
|
/* C474 80031074 00000000 */ nop
|
|
/* C478 80031078 C60C0010 */ lwc1 $f12, 0x10($s0)
|
|
/* C47C 8003107C C6060018 */ lwc1 $f6, 0x18($s0)
|
|
/* C480 80031080 460C3181 */ sub.s $f6, $f6, $f12
|
|
/* C484 80031084 46063102 */ mul.s $f4, $f6, $f6
|
|
/* C488 80031088 00000000 */ nop
|
|
/* C48C 8003108C C60A001C */ lwc1 $f10, 0x1c($s0)
|
|
/* C490 80031090 C6080020 */ lwc1 $f8, 0x20($s0)
|
|
/* C494 80031094 460A4201 */ sub.s $f8, $f8, $f10
|
|
/* C498 80031098 46084382 */ mul.s $f14, $f8, $f8
|
|
/* C49C 8003109C 00000000 */ nop
|
|
/* C4A0 800310A0 460CC081 */ sub.s $f2, $f24, $f12
|
|
/* C4A4 800310A4 46061082 */ mul.s $f2, $f2, $f6
|
|
/* C4A8 800310A8 00000000 */ nop
|
|
/* C4AC 800310AC 460AD001 */ sub.s $f0, $f26, $f10
|
|
/* C4B0 800310B0 46080002 */ mul.s $f0, $f0, $f8
|
|
/* C4B4 800310B4 00000000 */ nop
|
|
/* C4B8 800310B8 460E2100 */ add.s $f4, $f4, $f14
|
|
/* C4BC 800310BC 46001080 */ add.s $f2, $f2, $f0
|
|
/* C4C0 800310C0 46041103 */ div.s $f4, $f2, $f4
|
|
/* C4C4 800310C4 46062182 */ mul.s $f6, $f4, $f6
|
|
/* C4C8 800310C8 00000000 */ nop
|
|
/* C4CC 800310CC 46082102 */ mul.s $f4, $f4, $f8
|
|
/* C4D0 800310D0 00000000 */ nop
|
|
/* C4D4 800310D4 460C3080 */ add.s $f2, $f6, $f12
|
|
/* C4D8 800310D8 44800000 */ mtc1 $zero, $f0
|
|
/* C4DC 800310DC 460A2100 */ add.s $f4, $f4, $f10
|
|
/* C4E0 800310E0 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* C4E4 800310E4 E6220010 */ swc1 $f2, 0x10($s1)
|
|
/* C4E8 800310E8 E6240018 */ swc1 $f4, 0x18($s1)
|
|
/* C4EC 800310EC C6080004 */ lwc1 $f8, 4($s0)
|
|
/* C4F0 800310F0 4600403C */ c.lt.s $f8, $f0
|
|
/* C4F4 800310F4 00000000 */ nop
|
|
/* C4F8 800310F8 45000008 */ bc1f .L8003111C
|
|
/* C4FC 800310FC 00000000 */ nop
|
|
/* C500 80031100 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C504 80031104 46001581 */ sub.s $f22, $f2, $f0
|
|
/* C508 80031108 C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* C50C 8003110C 46004007 */ neg.s $f0, $f8
|
|
/* C510 80031110 E6200004 */ swc1 $f0, 4($s1)
|
|
/* C514 80031114 0800C44C */ j .L80031130
|
|
/* C518 80031118 46022501 */ sub.s $f20, $f4, $f2
|
|
.L8003111C:
|
|
/* C51C 8003111C C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C520 80031120 46020581 */ sub.s $f22, $f0, $f2
|
|
/* C524 80031124 C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C528 80031128 E6280004 */ swc1 $f8, 4($s1)
|
|
/* C52C 8003112C 46040501 */ sub.s $f20, $f0, $f4
|
|
.L80031130:
|
|
/* C530 80031130 4406B000 */ mfc1 $a2, $f22
|
|
/* C534 80031134 44806000 */ mtc1 $zero, $f12
|
|
/* C538 80031138 4407A000 */ mfc1 $a3, $f20
|
|
/* C53C 8003113C 0C00A720 */ jal atan2
|
|
/* C540 80031140 46006386 */ mov.s $f14, $f12
|
|
/* C544 80031144 E6200000 */ swc1 $f0, ($s1)
|
|
/* C548 80031148 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C54C 8003114C E6200008 */ swc1 $f0, 8($s1)
|
|
/* C550 80031150 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C554 80031154 0800C482 */ j .L80031208
|
|
/* C558 80031158 E620000C */ swc1 $f0, 0xc($s1)
|
|
.L8003115C:
|
|
/* C55C 8003115C 12A00023 */ beqz $s5, .L800311EC
|
|
/* C560 80031160 00000000 */ nop
|
|
/* C564 80031164 C6060004 */ lwc1 $f6, 4($s0)
|
|
/* C568 80031168 44800000 */ mtc1 $zero, $f0
|
|
/* C56C 8003116C 00000000 */ nop
|
|
/* C570 80031170 4600303C */ c.lt.s $f6, $f0
|
|
/* C574 80031174 00000000 */ nop
|
|
/* C578 80031178 4500000A */ bc1f .L800311A4
|
|
/* C57C 8003117C 00000000 */ nop
|
|
/* C580 80031180 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* C584 80031184 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C588 80031188 46001581 */ sub.s $f22, $f2, $f0
|
|
/* C58C 8003118C C6040020 */ lwc1 $f4, 0x20($s0)
|
|
/* C590 80031190 C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* C594 80031194 46003007 */ neg.s $f0, $f6
|
|
/* C598 80031198 E6200004 */ swc1 $f0, 4($s1)
|
|
/* C59C 8003119C 0800C470 */ j .L800311C0
|
|
/* C5A0 800311A0 46022501 */ sub.s $f20, $f4, $f2
|
|
.L800311A4:
|
|
/* C5A4 800311A4 C602000C */ lwc1 $f2, 0xc($s0)
|
|
/* C5A8 800311A8 C6000018 */ lwc1 $f0, 0x18($s0)
|
|
/* C5AC 800311AC 46001581 */ sub.s $f22, $f2, $f0
|
|
/* C5B0 800311B0 C6020014 */ lwc1 $f2, 0x14($s0)
|
|
/* C5B4 800311B4 C6000020 */ lwc1 $f0, 0x20($s0)
|
|
/* C5B8 800311B8 E6260004 */ swc1 $f6, 4($s1)
|
|
/* C5BC 800311BC 46001501 */ sub.s $f20, $f2, $f0
|
|
.L800311C0:
|
|
/* C5C0 800311C0 4406B000 */ mfc1 $a2, $f22
|
|
/* C5C4 800311C4 44806000 */ mtc1 $zero, $f12
|
|
/* C5C8 800311C8 4407A000 */ mfc1 $a3, $f20
|
|
/* C5CC 800311CC 0C00A720 */ jal atan2
|
|
/* C5D0 800311D0 46006386 */ mov.s $f14, $f12
|
|
/* C5D4 800311D4 E6200000 */ swc1 $f0, ($s1)
|
|
/* C5D8 800311D8 C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C5DC 800311DC E6200008 */ swc1 $f0, 8($s1)
|
|
/* C5E0 800311E0 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C5E4 800311E4 0800C47D */ j .L800311F4
|
|
/* C5E8 800311E8 E620000C */ swc1 $f0, 0xc($s1)
|
|
.L800311EC:
|
|
/* C5EC 800311EC 52E00006 */ beql $s7, $zero, .L80031208
|
|
/* C5F0 800311F0 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
.L800311F4:
|
|
/* C5F4 800311F4 C6000018 */ lwc1 $f0, 0x18($s0)
|
|
/* C5F8 800311F8 E6200010 */ swc1 $f0, 0x10($s1)
|
|
/* C5FC 800311FC C6000020 */ lwc1 $f0, 0x20($s0)
|
|
/* C600 80031200 E6200018 */ swc1 $f0, 0x18($s1)
|
|
/* C604 80031204 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
.L80031208:
|
|
/* C608 80031208 0800C4A6 */ j .L80031298
|
|
/* C60C 8003120C 2402FFFF */ addiu $v0, $zero, -1
|
|
.L80031210_C610:
|
|
/* C610 80031210 E6380010 */ swc1 $f24, 0x10($s1)
|
|
/* C614 80031214 E63E0014 */ swc1 $f30, 0x14($s1)
|
|
/* C618 80031218 0800C4A7 */ j .L8003129C
|
|
/* C61C 8003121C E63A0018 */ swc1 $f26, 0x18($s1)
|
|
.L80031220_C620:
|
|
/* C620 80031220 C6020018 */ lwc1 $f2, 0x18($s0)
|
|
/* C624 80031224 C600000C */ lwc1 $f0, 0xc($s0)
|
|
/* C628 80031228 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C62C 8003122C C6000014 */ lwc1 $f0, 0x14($s0)
|
|
/* C630 80031230 44061000 */ mfc1 $a2, $f2
|
|
/* C634 80031234 C6020020 */ lwc1 $f2, 0x20($s0)
|
|
/* C638 80031238 4480A000 */ mtc1 $zero, $f20
|
|
/* C63C 8003123C 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C640 80031240 4600A306 */ mov.s $f12, $f20
|
|
/* C644 80031244 44071000 */ mfc1 $a3, $f2
|
|
/* C648 80031248 0C00A720 */ jal atan2
|
|
/* C64C 8003124C 4600A386 */ mov.s $f14, $f20
|
|
/* C650 80031250 E6200000 */ swc1 $f0, ($s1)
|
|
/* C654 80031254 C6000004 */ lwc1 $f0, 4($s0)
|
|
/* C658 80031258 4614003C */ c.lt.s $f0, $f20
|
|
/* C65C 8003125C 00000000 */ nop
|
|
/* C660 80031260 45030001 */ bc1tl .L80031268
|
|
/* C664 80031264 46000007 */ neg.s $f0, $f0
|
|
.L80031268:
|
|
/* C668 80031268 E6200004 */ swc1 $f0, 4($s1)
|
|
/* C66C 8003126C C6000008 */ lwc1 $f0, 8($s0)
|
|
/* C670 80031270 E6200008 */ swc1 $f0, 8($s1)
|
|
/* C674 80031274 C6000024 */ lwc1 $f0, 0x24($s0)
|
|
/* C678 80031278 E620000C */ swc1 $f0, 0xc($s1)
|
|
/* C67C 8003127C C6000018 */ lwc1 $f0, 0x18($s0)
|
|
/* C680 80031280 E6200010 */ swc1 $f0, 0x10($s1)
|
|
/* C684 80031284 C600001C */ lwc1 $f0, 0x1c($s0)
|
|
/* C688 80031288 E6200014 */ swc1 $f0, 0x14($s1)
|
|
/* C68C 8003128C C6000020 */ lwc1 $f0, 0x20($s0)
|
|
/* C690 80031290 2402FFFE */ addiu $v0, $zero, -2
|
|
/* C694 80031294 E6200018 */ swc1 $f0, 0x18($s1)
|
|
.L80031298:
|
|
/* C698 80031298 AE820000 */ sw $v0, ($s4)
|
|
.L8003129C:
|
|
/* C69C 8003129C 12E00048 */ beqz $s7, .L800313C0
|
|
/* C6A0 800312A0 24020005 */ addiu $v0, $zero, 5
|
|
/* C6A4 800312A4 8E030000 */ lw $v1, ($s0)
|
|
/* C6A8 800312A8 10620007 */ beq $v1, $v0, .L800312C8
|
|
/* C6AC 800312AC 00000000 */ nop
|
|
/* C6B0 800312B0 C6420000 */ lwc1 $f2, ($s2)
|
|
/* C6B4 800312B4 C6600000 */ lwc1 $f0, ($s3)
|
|
/* C6B8 800312B8 46001032 */ c.eq.s $f2, $f0
|
|
/* C6BC 800312BC 00000000 */ nop
|
|
/* C6C0 800312C0 4501003F */ bc1t .L800313C0
|
|
/* C6C4 800312C4 00000000 */ nop
|
|
.L800312C8:
|
|
/* C6C8 800312C8 C6400000 */ lwc1 $f0, ($s2)
|
|
/* C6CC 800312CC C6620000 */ lwc1 $f2, ($s3)
|
|
/* C6D0 800312D0 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C6D4 800312D4 3C014040 */ lui $at, 0x4040
|
|
/* C6D8 800312D8 44811000 */ mtc1 $at, $f2
|
|
/* C6DC 800312DC 46000005 */ abs.s $f0, $f0
|
|
/* C6E0 800312E0 4602003C */ c.lt.s $f0, $f2
|
|
/* C6E4 800312E4 00000000 */ nop
|
|
/* C6E8 800312E8 45000035 */ bc1f .L800313C0
|
|
/* C6EC 800312EC 00000000 */ nop
|
|
/* C6F0 800312F0 C6400004 */ lwc1 $f0, 4($s2)
|
|
/* C6F4 800312F4 C6620004 */ lwc1 $f2, 4($s3)
|
|
/* C6F8 800312F8 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C6FC 800312FC 3C014120 */ lui $at, 0x4120
|
|
/* C700 80031300 44812000 */ mtc1 $at, $f4
|
|
/* C704 80031304 46000005 */ abs.s $f0, $f0
|
|
/* C708 80031308 4604003C */ c.lt.s $f0, $f4
|
|
/* C70C 8003130C 00000000 */ nop
|
|
/* C710 80031310 4500002B */ bc1f .L800313C0
|
|
/* C714 80031314 00000000 */ nop
|
|
/* C718 80031318 C6400008 */ lwc1 $f0, 8($s2)
|
|
/* C71C 8003131C C6620008 */ lwc1 $f2, 8($s3)
|
|
/* C720 80031320 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C724 80031324 3C013F80 */ lui $at, 0x3f80
|
|
/* C728 80031328 44813000 */ mtc1 $at, $f6
|
|
/* C72C 8003132C 46000005 */ abs.s $f0, $f0
|
|
/* C730 80031330 4606003C */ c.lt.s $f0, $f6
|
|
/* C734 80031334 00000000 */ nop
|
|
/* C738 80031338 45000021 */ bc1f .L800313C0
|
|
/* C73C 8003133C 00000000 */ nop
|
|
/* C740 80031340 C640000C */ lwc1 $f0, 0xc($s2)
|
|
/* C744 80031344 C662000C */ lwc1 $f2, 0xc($s3)
|
|
/* C748 80031348 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C74C 8003134C 46000005 */ abs.s $f0, $f0
|
|
/* C750 80031350 4606003C */ c.lt.s $f0, $f6
|
|
/* C754 80031354 00000000 */ nop
|
|
/* C758 80031358 45000019 */ bc1f .L800313C0
|
|
/* C75C 8003135C 00000000 */ nop
|
|
/* C760 80031360 C6400010 */ lwc1 $f0, 0x10($s2)
|
|
/* C764 80031364 C6620010 */ lwc1 $f2, 0x10($s3)
|
|
/* C768 80031368 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C76C 8003136C 46000005 */ abs.s $f0, $f0
|
|
/* C770 80031370 4604003C */ c.lt.s $f0, $f4
|
|
/* C774 80031374 00000000 */ nop
|
|
/* C778 80031378 45000011 */ bc1f .L800313C0
|
|
/* C77C 8003137C 00000000 */ nop
|
|
/* C780 80031380 C6400014 */ lwc1 $f0, 0x14($s2)
|
|
/* C784 80031384 C6620014 */ lwc1 $f2, 0x14($s3)
|
|
/* C788 80031388 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C78C 8003138C 46000005 */ abs.s $f0, $f0
|
|
/* C790 80031390 4604003C */ c.lt.s $f0, $f4
|
|
/* C794 80031394 00000000 */ nop
|
|
/* C798 80031398 45000009 */ bc1f .L800313C0
|
|
/* C79C 8003139C 00000000 */ nop
|
|
/* C7A0 800313A0 C6400018 */ lwc1 $f0, 0x18($s2)
|
|
/* C7A4 800313A4 C6620018 */ lwc1 $f2, 0x18($s3)
|
|
/* C7A8 800313A8 46020001 */ sub.s $f0, $f0, $f2
|
|
/* C7AC 800313AC 46000005 */ abs.s $f0, $f0
|
|
/* C7B0 800313B0 4604003C */ c.lt.s $f0, $f4
|
|
/* C7B4 800313B4 00000000 */ nop
|
|
/* C7B8 800313B8 45030001 */ bc1tl .L800313C0
|
|
/* C7BC 800313BC E6C60000 */ swc1 $f6, ($s6)
|
|
.L800313C0:
|
|
/* C7C0 800313C0 8E830000 */ lw $v1, ($s4)
|
|
/* C7C4 800313C4 2402FFFF */ addiu $v0, $zero, -1
|
|
/* C7C8 800313C8 14620021 */ bne $v1, $v0, .L80031450
|
|
/* C7CC 800313CC 00000000 */ nop
|
|
/* C7D0 800313D0 12E00010 */ beqz $s7, .L80031414
|
|
/* C7D4 800313D4 00000000 */ nop
|
|
/* C7D8 800313D8 C6460010 */ lwc1 $f6, 0x10($s2)
|
|
/* C7DC 800313DC C6600010 */ lwc1 $f0, 0x10($s3)
|
|
/* C7E0 800313E0 C6440014 */ lwc1 $f4, 0x14($s2)
|
|
/* C7E4 800313E4 46003181 */ sub.s $f6, $f6, $f0
|
|
/* C7E8 800313E8 C6600014 */ lwc1 $f0, 0x14($s3)
|
|
/* C7EC 800313EC C6420018 */ lwc1 $f2, 0x18($s2)
|
|
/* C7F0 800313F0 46002101 */ sub.s $f4, $f4, $f0
|
|
/* C7F4 800313F4 C6600018 */ lwc1 $f0, 0x18($s3)
|
|
/* C7F8 800313F8 46001081 */ sub.s $f2, $f2, $f0
|
|
/* C7FC 800313FC 3C01800A */ lui $at, %hi(D_800A08E4)
|
|
/* C800 80031400 E42608E4 */ swc1 $f6, %lo(D_800A08E4)($at)
|
|
/* C804 80031404 3C01800A */ lui $at, %hi(D_800A08E8)
|
|
/* C808 80031408 E42408E8 */ swc1 $f4, %lo(D_800A08E8)($at)
|
|
/* C80C 8003140C 3C01800A */ lui $at, %hi(D_800A08EC)
|
|
/* C810 80031410 E42208EC */ swc1 $f2, %lo(D_800A08EC)($at)
|
|
.L80031414:
|
|
/* C814 80031414 C6600010 */ lwc1 $f0, 0x10($s3)
|
|
/* C818 80031418 3C01800A */ lui $at, %hi(D_800A08E4)
|
|
/* C81C 8003141C C42208E4 */ lwc1 $f2, %lo(D_800A08E4)($at)
|
|
/* C820 80031420 46020000 */ add.s $f0, $f0, $f2
|
|
/* C824 80031424 3C01800A */ lui $at, %hi(D_800A08E8)
|
|
/* C828 80031428 C42208E8 */ lwc1 $f2, %lo(D_800A08E8)($at)
|
|
/* C82C 8003142C E6400010 */ swc1 $f0, 0x10($s2)
|
|
/* C830 80031430 C6600014 */ lwc1 $f0, 0x14($s3)
|
|
/* C834 80031434 46020000 */ add.s $f0, $f0, $f2
|
|
/* C838 80031438 3C01800A */ lui $at, %hi(D_800A08EC)
|
|
/* C83C 8003143C C42208EC */ lwc1 $f2, %lo(D_800A08EC)($at)
|
|
/* C840 80031440 E6400014 */ swc1 $f0, 0x14($s2)
|
|
/* C844 80031444 C6600018 */ lwc1 $f0, 0x18($s3)
|
|
/* C848 80031448 46020000 */ add.s $f0, $f0, $f2
|
|
/* C84C 8003144C E6400018 */ swc1 $f0, 0x18($s2)
|
|
.L80031450:
|
|
/* C850 80031450 8FBF0048 */ lw $ra, 0x48($sp)
|
|
/* C854 80031454 8FB70044 */ lw $s7, 0x44($sp)
|
|
/* C858 80031458 8FB60040 */ lw $s6, 0x40($sp)
|
|
/* C85C 8003145C 8FB5003C */ lw $s5, 0x3c($sp)
|
|
/* C860 80031460 8FB40038 */ lw $s4, 0x38($sp)
|
|
/* C864 80031464 8FB30034 */ lw $s3, 0x34($sp)
|
|
/* C868 80031468 8FB20030 */ lw $s2, 0x30($sp)
|
|
/* C86C 8003146C 8FB1002C */ lw $s1, 0x2c($sp)
|
|
/* C870 80031470 8FB00028 */ lw $s0, 0x28($sp)
|
|
/* C874 80031474 D7BE0078 */ ldc1 $f30, 0x78($sp)
|
|
/* C878 80031478 D7BC0070 */ ldc1 $f28, 0x70($sp)
|
|
/* C87C 8003147C D7BA0068 */ ldc1 $f26, 0x68($sp)
|
|
/* C880 80031480 D7B80060 */ ldc1 $f24, 0x60($sp)
|
|
/* C884 80031484 D7B60058 */ ldc1 $f22, 0x58($sp)
|
|
/* C888 80031488 D7B40050 */ ldc1 $f20, 0x50($sp)
|
|
/* C88C 8003148C 03E00008 */ jr $ra
|
|
/* C890 80031490 27BD0080 */ addiu $sp, $sp, 0x80
|