papermario/asm/nonmatchings/code_320C50/func_802BD6BC.s
Ethan Roseman a8e550dd9a yee
2020-10-17 22:27:25 -04:00

78 lines
3.9 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD6BC
/* 32120C 802BD6BC 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 321210 802BD6C0 AFB00010 */ sw $s0, 0x10($sp)
/* 321214 802BD6C4 0080802D */ daddu $s0, $a0, $zero
/* 321218 802BD6C8 AFB10014 */ sw $s1, 0x14($sp)
/* 32121C 802BD6CC 00A0882D */ daddu $s1, $a1, $zero
/* 321220 802BD6D0 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 321224 802BD6D4 4480A000 */ mtc1 $zero, $f20
/* 321228 802BD6D8 3C038011 */ lui $v1, %hi(D_8010EBB0)
/* 32122C 802BD6DC 2463EBB0 */ addiu $v1, $v1, %lo(D_8010EBB0)
/* 321230 802BD6E0 AFBF0018 */ sw $ra, 0x18($sp)
/* 321234 802BD6E4 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 321238 802BD6E8 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 32123C 802BD6EC F7B60028 */ sdc1 $f22, 0x28($sp)
/* 321240 802BD6F0 84620004 */ lh $v0, 4($v1)
/* 321244 802BD6F4 4600A306 */ mov.s $f12, $f20
/* 321248 802BD6F8 4482C000 */ mtc1 $v0, $f24
/* 32124C 802BD6FC 00000000 */ nop
/* 321250 802BD700 4680C620 */ cvt.s.w $f24, $f24
/* 321254 802BD704 84620006 */ lh $v0, 6($v1)
/* 321258 802BD708 4406C000 */ mfc1 $a2, $f24
/* 32125C 802BD70C 4482D000 */ mtc1 $v0, $f26
/* 321260 802BD710 00000000 */ nop
/* 321264 802BD714 4680D6A0 */ cvt.s.w $f26, $f26
/* 321268 802BD718 4600D587 */ neg.s $f22, $f26
/* 32126C 802BD71C 4407B000 */ mfc1 $a3, $f22
/* 321270 802BD720 0C00A720 */ jal atan2
/* 321274 802BD724 4600A386 */ mov.s $f14, $f20
/* 321278 802BD728 3C01800B */ lui $at, 0x800b
/* 32127C 802BD72C C42C1DEC */ lwc1 $f12, 0x1dec($at)
/* 321280 802BD730 0C00A6C9 */ jal clamp_angle
/* 321284 802BD734 460C0300 */ add.s $f12, $f0, $f12
/* 321288 802BD738 4600A306 */ mov.s $f12, $f20
/* 32128C 802BD73C 4600A386 */ mov.s $f14, $f20
/* 321290 802BD740 4406C000 */ mfc1 $a2, $f24
/* 321294 802BD744 4407B000 */ mfc1 $a3, $f22
/* 321298 802BD748 0C00A7B5 */ jal dist2D
/* 32129C 802BD74C 46000586 */ mov.s $f22, $f0
/* 3212A0 802BD750 3C013FF0 */ lui $at, 0x3ff0
/* 3212A4 802BD754 44811800 */ mtc1 $at, $f3
/* 3212A8 802BD758 44801000 */ mtc1 $zero, $f2
/* 3212AC 802BD75C 46000021 */ cvt.d.s $f0, $f0
/* 3212B0 802BD760 4620103E */ c.le.d $f2, $f0
/* 3212B4 802BD764 00000000 */ nop
/* 3212B8 802BD768 45000012 */ bc1f .L802BD7B4
/* 3212BC 802BD76C E6160000 */ swc1 $f22, ($s0)
/* 3212C0 802BD770 4618C002 */ mul.s $f0, $f24, $f24
/* 3212C4 802BD774 00000000 */ nop
/* 3212C8 802BD778 461AD082 */ mul.s $f2, $f26, $f26
/* 3212CC 802BD77C 00000000 */ nop
/* 3212D0 802BD780 46020000 */ add.s $f0, $f0, $f2
/* 3212D4 802BD784 3C01453D */ lui $at, 0x453d
/* 3212D8 802BD788 34211000 */ ori $at, $at, 0x1000
/* 3212DC 802BD78C 44811000 */ mtc1 $at, $f2
/* 3212E0 802BD790 3C014040 */ lui $at, 0x4040
/* 3212E4 802BD794 4481A000 */ mtc1 $at, $f20
/* 3212E8 802BD798 4600103C */ c.lt.s $f2, $f0
/* 3212EC 802BD79C 00000000 */ nop
/* 3212F0 802BD7A0 45000004 */ bc1f .L802BD7B4
/* 3212F4 802BD7A4 00000000 */ nop
/* 3212F8 802BD7A8 3C0140C0 */ lui $at, 0x40c0
/* 3212FC 802BD7AC 4481A000 */ mtc1 $at, $f20
/* 321300 802BD7B0 00000000 */ nop
.L802BD7B4:
/* 321304 802BD7B4 E6340000 */ swc1 $f20, ($s1)
/* 321308 802BD7B8 8FBF0018 */ lw $ra, 0x18($sp)
/* 32130C 802BD7BC 8FB10014 */ lw $s1, 0x14($sp)
/* 321310 802BD7C0 8FB00010 */ lw $s0, 0x10($sp)
/* 321314 802BD7C4 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 321318 802BD7C8 D7B80030 */ ldc1 $f24, 0x30($sp)
/* 32131C 802BD7CC D7B60028 */ ldc1 $f22, 0x28($sp)
/* 321320 802BD7D0 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 321324 802BD7D4 03E00008 */ jr $ra
/* 321328 802BD7D8 27BD0040 */ addiu $sp, $sp, 0x40