mirror of https://github.com/zeldaret/oot.git
107 lines
4.8 KiB
ArmAsm
107 lines
4.8 KiB
ArmAsm
.late_rodata
|
|
glabel D_80139E70
|
|
.float 0.8
|
|
|
|
.text
|
|
glabel func_80046B44
|
|
/* ABDCE4 80046B44 27BDFFC8 */ addiu $sp, $sp, -0x38
|
|
/* ABDCE8 80046B48 AFA5003C */ sw $a1, 0x3c($sp)
|
|
/* ABDCEC 80046B4C 00052C00 */ sll $a1, $a1, 0x10
|
|
/* ABDCF0 80046B50 AFA70044 */ sw $a3, 0x44($sp)
|
|
/* ABDCF4 80046B54 00073C00 */ sll $a3, $a3, 0x10
|
|
/* ABDCF8 80046B58 00052C03 */ sra $a1, $a1, 0x10
|
|
/* ABDCFC 80046B5C 00073C03 */ sra $a3, $a3, 0x10
|
|
/* ABDD00 80046B60 AFBF0014 */ sw $ra, 0x14($sp)
|
|
/* ABDD04 80046B64 AFA40038 */ sw $a0, 0x38($sp)
|
|
/* ABDD08 80046B68 04A00004 */ bltz $a1, .L80046B7C
|
|
/* ABDD0C 80046B6C AFA60040 */ sw $a2, 0x40($sp)
|
|
/* ABDD10 80046B70 00051C00 */ sll $v1, $a1, 0x10
|
|
/* ABDD14 80046B74 10000004 */ b .L80046B88
|
|
/* ABDD18 80046B78 00031C03 */ sra $v1, $v1, 0x10
|
|
.L80046B7C:
|
|
/* ABDD1C 80046B7C 00051823 */ negu $v1, $a1
|
|
/* ABDD20 80046B80 00031C00 */ sll $v1, $v1, 0x10
|
|
/* ABDD24 80046B84 00031C03 */ sra $v1, $v1, 0x10
|
|
.L80046B88:
|
|
/* ABDD28 80046B88 18E00014 */ blez $a3, .L80046BDC
|
|
/* ABDD2C 80046B8C 00071400 */ sll $v0, $a3, 0x10
|
|
/* ABDD30 80046B90 00072400 */ sll $a0, $a3, 0x10
|
|
/* ABDD34 80046B94 00042403 */ sra $a0, $a0, 0x10
|
|
/* ABDD38 80046B98 A7A30028 */ sh $v1, 0x28($sp)
|
|
/* ABDD3C 80046B9C A7A5003E */ sh $a1, 0x3e($sp)
|
|
/* ABDD40 80046BA0 0C01DE0D */ jal Math_Coss
|
|
/* ABDD44 80046BA4 A7A70046 */ sh $a3, 0x46($sp)
|
|
/* ABDD48 80046BA8 87A70046 */ lh $a3, 0x46($sp)
|
|
/* ABDD4C 80046BAC 87A30028 */ lh $v1, 0x28($sp)
|
|
/* ABDD50 80046BB0 87A5003E */ lh $a1, 0x3e($sp)
|
|
/* ABDD54 80046BB4 44872000 */ mtc1 $a3, $f4
|
|
/* ABDD58 80046BB8 00000000 */ nop
|
|
/* ABDD5C 80046BBC 468021A0 */ cvt.s.w $f6, $f4
|
|
/* ABDD60 80046BC0 46060202 */ mul.s $f8, $f0, $f6
|
|
/* ABDD64 80046BC4 4600428D */ trunc.w.s $f10, $f8
|
|
/* ABDD68 80046BC8 44025000 */ mfc1 $v0, $f10
|
|
/* ABDD6C 80046BCC 00000000 */ nop
|
|
/* ABDD70 80046BD0 00021400 */ sll $v0, $v0, 0x10
|
|
/* ABDD74 80046BD4 10000002 */ b .L80046BE0
|
|
/* ABDD78 80046BD8 00021403 */ sra $v0, $v0, 0x10
|
|
.L80046BDC:
|
|
/* ABDD7C 80046BDC 00021403 */ sra $v0, $v0, 0x10
|
|
.L80046BE0:
|
|
/* ABDD80 80046BE0 87AF0042 */ lh $t7, 0x42($sp)
|
|
/* ABDD84 80046BE4 8FB80038 */ lw $t8, 0x38($sp)
|
|
/* ABDD88 80046BE8 3C198016 */ lui $t9, %hi(gGameInfo)
|
|
/* ABDD8C 80046BEC 01E22023 */ subu $a0, $t7, $v0
|
|
/* ABDD90 80046BF0 00042400 */ sll $a0, $a0, 0x10
|
|
/* ABDD94 80046BF4 00042403 */ sra $a0, $a0, 0x10
|
|
/* ABDD98 80046BF8 04800003 */ bltz $a0, .L80046C08
|
|
/* ABDD9C 80046BFC 00041023 */ negu $v0, $a0
|
|
/* ABDDA0 80046C00 10000001 */ b .L80046C08
|
|
/* ABDDA4 80046C04 00801025 */ move $v0, $a0
|
|
.L80046C08:
|
|
/* ABDDA8 80046C08 0043082A */ slt $at, $v0, $v1
|
|
/* ABDDAC 80046C0C 10200009 */ beqz $at, .L80046C34
|
|
/* ABDDB0 80046C10 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* ABDDB4 80046C14 44818000 */ mtc1 $at, $f16
|
|
/* ABDDB8 80046C18 C71200C4 */ lwc1 $f18, 0xc4($t8)
|
|
/* ABDDBC 80046C1C 3C014040 */ li $at, 0x40400000 # 0.000000
|
|
/* ABDDC0 80046C20 44813000 */ mtc1 $at, $f6
|
|
/* ABDDC4 80046C24 46128103 */ div.s $f4, $f16, $f18
|
|
/* ABDDC8 80046C28 46062082 */ mul.s $f2, $f4, $f6
|
|
/* ABDDCC 80046C2C 1000001B */ b .L80046C9C
|
|
/* ABDDD0 80046C30 44061000 */ mfc1 $a2, $f2
|
|
.L80046C34:
|
|
/* ABDDD4 80046C34 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9)
|
|
/* ABDDD8 80046C38 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* ABDDDC 80046C3C 44811000 */ mtc1 $at, $f2
|
|
/* ABDDE0 80046C40 8728019E */ lh $t0, 0x19e($t9)
|
|
/* ABDDE4 80046C44 44839000 */ mtc1 $v1, $f18
|
|
/* ABDDE8 80046C48 3C018014 */ lui $at, %hi(D_80139E70)
|
|
/* ABDDEC 80046C4C 44884000 */ mtc1 $t0, $f8
|
|
/* ABDDF0 80046C50 46809120 */ cvt.s.w $f4, $f18
|
|
/* ABDDF4 80046C54 C42C9E70 */ lwc1 $f12, %lo(D_80139E70)($at)
|
|
/* ABDDF8 80046C58 A7A5003E */ sh $a1, 0x3e($sp)
|
|
/* ABDDFC 80046C5C AFA4001C */ sw $a0, 0x1c($sp)
|
|
/* ABDE00 80046C60 468042A0 */ cvt.s.w $f10, $f8
|
|
/* ABDE04 80046C64 460A1403 */ div.s $f16, $f2, $f10
|
|
/* ABDE08 80046C68 46048002 */ mul.s $f0, $f16, $f4
|
|
/* ABDE0C 80046C6C 0C010DFC */ jal func_800437F0
|
|
/* ABDE10 80046C70 46001381 */ sub.s $f14, $f2, $f0
|
|
/* ABDE14 80046C74 8FA90038 */ lw $t1, 0x38($sp)
|
|
/* ABDE18 80046C78 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* ABDE1C 80046C7C 44813000 */ mtc1 $at, $f6
|
|
/* ABDE20 80046C80 C52800C4 */ lwc1 $f8, 0xc4($t1)
|
|
/* ABDE24 80046C84 8FA4001C */ lw $a0, 0x1c($sp)
|
|
/* ABDE28 80046C88 87A5003E */ lh $a1, 0x3e($sp)
|
|
/* ABDE2C 80046C8C 46083283 */ div.s $f10, $f6, $f8
|
|
/* ABDE30 80046C90 46005082 */ mul.s $f2, $f10, $f0
|
|
/* ABDE34 80046C94 00000000 */ nop
|
|
/* ABDE38 80046C98 44061000 */ mfc1 $a2, $f2
|
|
.L80046C9C:
|
|
/* ABDE3C 80046C9C 0C010E47 */ jal func_8004391C
|
|
/* ABDE40 80046CA0 2407000A */ li $a3, 10
|
|
/* ABDE44 80046CA4 8FBF0014 */ lw $ra, 0x14($sp)
|
|
/* ABDE48 80046CA8 27BD0038 */ addiu $sp, $sp, 0x38
|
|
/* ABDE4C 80046CAC 03E00008 */ jr $ra
|
|
/* ABDE50 80046CB0 00000000 */ nop
|
|
|