mirror of https://github.com/zeldaret/oot.git
108 lines
4.5 KiB
ArmAsm
108 lines
4.5 KiB
ArmAsm
.late_rodata
|
|
glabel D_8013CB84
|
|
.float 57.295776
|
|
|
|
glabel D_8013CB88
|
|
.float 182.04167
|
|
|
|
glabel D_8013CB8C
|
|
.float 57.295776
|
|
|
|
glabel D_8013CB90
|
|
.float 182.04167
|
|
|
|
.text
|
|
glabel func_8007C29C
|
|
/* AF343C 8007C29C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* AF3440 8007C2A0 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* AF3444 8007C2A4 AFA40030 */ sw $a0, 0x30($sp)
|
|
/* AF3448 8007C2A8 C4AC0000 */ lwc1 $f12, ($a1)
|
|
/* AF344C 8007C2AC C4A20008 */ lwc1 $f2, 8($a1)
|
|
/* AF3450 8007C2B0 44809000 */ mtc1 $zero, $f18
|
|
/* AF3454 8007C2B4 460C6102 */ mul.s $f4, $f12, $f12
|
|
/* AF3458 8007C2B8 00000000 */ nop
|
|
/* AF345C 8007C2BC 46021182 */ mul.s $f6, $f2, $f2
|
|
/* AF3460 8007C2C0 46062400 */ add.s $f16, $f4, $f6
|
|
/* AF3464 8007C2C4 46008004 */ sqrt.s $f0, $f16
|
|
/* AF3468 8007C2C8 46120032 */ c.eq.s $f0, $f18
|
|
/* AF346C 8007C2CC E7A00020 */ swc1 $f0, 0x20($sp)
|
|
/* AF3470 8007C2D0 C7AC0020 */ lwc1 $f12, 0x20($sp)
|
|
/* AF3474 8007C2D4 45000008 */ bc1f .L8007C2F8
|
|
/* AF3478 8007C2D8 00000000 */ nop
|
|
/* AF347C 8007C2DC C4A80004 */ lwc1 $f8, 4($a1)
|
|
/* AF3480 8007C2E0 46089032 */ c.eq.s $f18, $f8
|
|
/* AF3484 8007C2E4 00000000 */ nop
|
|
/* AF3488 8007C2E8 45020004 */ bc1fl .L8007C2FC
|
|
/* AF348C 8007C2EC C4AE0004 */ lwc1 $f14, 4($a1)
|
|
/* AF3490 8007C2F0 10000015 */ b .L8007C348
|
|
/* AF3494 8007C2F4 A7A0002C */ sh $zero, 0x2c($sp)
|
|
.L8007C2F8:
|
|
/* AF3498 8007C2F8 C4AE0004 */ lwc1 $f14, 4($a1)
|
|
.L8007C2FC:
|
|
/* AF349C 8007C2FC E7B00024 */ swc1 $f16, 0x24($sp)
|
|
/* AF34A0 8007C300 0C03F494 */ jal Math_atan2f
|
|
/* AF34A4 8007C304 AFA50034 */ sw $a1, 0x34($sp)
|
|
/* AF34A8 8007C308 3C018014 */ lui $at, %hi(D_8013CB84)
|
|
/* AF34AC 8007C30C C42ACB84 */ lwc1 $f10, %lo(D_8013CB84)($at)
|
|
/* AF34B0 8007C310 3C018014 */ lui $at, %hi(D_8013CB88)
|
|
/* AF34B4 8007C314 C426CB88 */ lwc1 $f6, %lo(D_8013CB88)($at)
|
|
/* AF34B8 8007C318 460A0102 */ mul.s $f4, $f0, $f10
|
|
/* AF34BC 8007C31C 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
|
/* AF34C0 8007C320 44815000 */ mtc1 $at, $f10
|
|
/* AF34C4 8007C324 44809000 */ mtc1 $zero, $f18
|
|
/* AF34C8 8007C328 8FA50034 */ lw $a1, 0x34($sp)
|
|
/* AF34CC 8007C32C C7B00024 */ lwc1 $f16, 0x24($sp)
|
|
/* AF34D0 8007C330 46062202 */ mul.s $f8, $f4, $f6
|
|
/* AF34D4 8007C334 460A4100 */ add.s $f4, $f8, $f10
|
|
/* AF34D8 8007C338 4600218D */ trunc.w.s $f6, $f4
|
|
/* AF34DC 8007C33C 440F3000 */ mfc1 $t7, $f6
|
|
/* AF34E0 8007C340 00000000 */ nop
|
|
/* AF34E4 8007C344 A7AF002C */ sh $t7, 0x2c($sp)
|
|
.L8007C348:
|
|
/* AF34E8 8007C348 C4A20004 */ lwc1 $f2, 4($a1)
|
|
/* AF34EC 8007C34C 46021202 */ mul.s $f8, $f2, $f2
|
|
/* AF34F0 8007C350 46104000 */ add.s $f0, $f8, $f16
|
|
/* AF34F4 8007C354 46000004 */ sqrt.s $f0, $f0
|
|
/* AF34F8 8007C358 E7A00028 */ swc1 $f0, 0x28($sp)
|
|
/* AF34FC 8007C35C C4AC0000 */ lwc1 $f12, ($a1)
|
|
/* AF3500 8007C360 460C9032 */ c.eq.s $f18, $f12
|
|
/* AF3504 8007C364 00000000 */ nop
|
|
/* AF3508 8007C368 45000008 */ bc1f .L8007C38C
|
|
/* AF350C 8007C36C 00000000 */ nop
|
|
/* AF3510 8007C370 C4AA0008 */ lwc1 $f10, 8($a1)
|
|
/* AF3514 8007C374 460A9032 */ c.eq.s $f18, $f10
|
|
/* AF3518 8007C378 00000000 */ nop
|
|
/* AF351C 8007C37C 45000003 */ bc1f .L8007C38C
|
|
/* AF3520 8007C380 00000000 */ nop
|
|
/* AF3524 8007C384 10000010 */ b .L8007C3C8
|
|
/* AF3528 8007C388 A7A0002E */ sh $zero, 0x2e($sp)
|
|
.L8007C38C:
|
|
/* AF352C 8007C38C 0C03F494 */ jal Math_atan2f
|
|
/* AF3530 8007C390 C4AE0008 */ lwc1 $f14, 8($a1)
|
|
/* AF3534 8007C394 3C018014 */ lui $at, %hi(D_8013CB8C)
|
|
/* AF3538 8007C398 C424CB8C */ lwc1 $f4, %lo(D_8013CB8C)($at)
|
|
/* AF353C 8007C39C 3C018014 */ lui $at, %hi(D_8013CB90)
|
|
/* AF3540 8007C3A0 C428CB90 */ lwc1 $f8, %lo(D_8013CB90)($at)
|
|
/* AF3544 8007C3A4 46040182 */ mul.s $f6, $f0, $f4
|
|
/* AF3548 8007C3A8 3C013F00 */ li $at, 0x3F000000 # 0.000000
|
|
/* AF354C 8007C3AC 44812000 */ mtc1 $at, $f4
|
|
/* AF3550 8007C3B0 46083282 */ mul.s $f10, $f6, $f8
|
|
/* AF3554 8007C3B4 46045180 */ add.s $f6, $f10, $f4
|
|
/* AF3558 8007C3B8 4600320D */ trunc.w.s $f8, $f6
|
|
/* AF355C 8007C3BC 44194000 */ mfc1 $t9, $f8
|
|
/* AF3560 8007C3C0 00000000 */ nop
|
|
/* AF3564 8007C3C4 A7B9002E */ sh $t9, 0x2e($sp)
|
|
.L8007C3C8:
|
|
/* AF3568 8007C3C8 27A90028 */ addiu $t1, $sp, 0x28
|
|
/* AF356C 8007C3CC 8D2B0000 */ lw $t3, ($t1)
|
|
/* AF3570 8007C3D0 8FA80030 */ lw $t0, 0x30($sp)
|
|
/* AF3574 8007C3D4 AD0B0000 */ sw $t3, ($t0)
|
|
/* AF3578 8007C3D8 8D2A0004 */ lw $t2, 4($t1)
|
|
/* AF357C 8007C3DC AD0A0004 */ sw $t2, 4($t0)
|
|
/* AF3580 8007C3E0 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* AF3584 8007C3E4 8FA20030 */ lw $v0, 0x30($sp)
|
|
/* AF3588 8007C3E8 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* AF358C 8007C3EC 03E00008 */ jr $ra
|
|
/* AF3590 8007C3F0 00000000 */ nop
|
|
|