mirror of https://github.com/zeldaret/oot.git
112 lines
5.5 KiB
ArmAsm
112 lines
5.5 KiB
ArmAsm
glabel func_800D1694
|
|
/* B48834 800D1694 27BDFFC8 */ addiu $sp, $sp, -0x38
|
|
/* B48838 800D1698 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* B4883C 800D169C AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* B48840 800D16A0 AFB10018 */ sw $s1, 0x18($sp)
|
|
/* B48844 800D16A4 E7AC0038 */ swc1 $f12, 0x38($sp)
|
|
/* B48848 800D16A8 E7AE003C */ swc1 $f14, 0x3c($sp)
|
|
/* B4884C 800D16AC AFA60040 */ sw $a2, 0x40($sp)
|
|
/* B48850 800D16B0 3C108017 */ lui $s0, %hi(sCurrentMatrix)
|
|
/* B48854 800D16B4 00E08825 */ move $s1, $a3
|
|
/* B48858 800D16B8 8E10A7C4 */ lw $s0, %lo(sCurrentMatrix)($s0)
|
|
/* B4885C 800D16BC 0C01DE1C */ jal Math_Sins
|
|
/* B48860 800D16C0 84E40002 */ lh $a0, 2($a3)
|
|
/* B48864 800D16C4 86240002 */ lh $a0, 2($s1)
|
|
/* B48868 800D16C8 0C01DE0D */ jal Math_Coss
|
|
/* B4886C 800D16CC E7A00030 */ swc1 $f0, 0x30($sp)
|
|
/* B48870 800D16D0 C7AE0030 */ lwc1 $f14, 0x30($sp)
|
|
/* B48874 800D16D4 E6000000 */ swc1 $f0, ($s0)
|
|
/* B48878 800D16D8 44808000 */ mtc1 $zero, $f16
|
|
/* B4887C 800D16DC 46007107 */ neg.s $f4, $f14
|
|
/* B48880 800D16E0 3C013F80 */ li $at, 0x3F800000 # 0.000000
|
|
/* B48884 800D16E4 E6040008 */ swc1 $f4, 8($s0)
|
|
/* B48888 800D16E8 C7A60038 */ lwc1 $f6, 0x38($sp)
|
|
/* B4888C 800D16EC 44811000 */ mtc1 $at, $f2
|
|
/* B48890 800D16F0 46000306 */ mov.s $f12, $f0
|
|
/* B48894 800D16F4 E6060030 */ swc1 $f6, 0x30($s0)
|
|
/* B48898 800D16F8 C7A8003C */ lwc1 $f8, 0x3c($sp)
|
|
/* B4889C 800D16FC E6080034 */ swc1 $f8, 0x34($s0)
|
|
/* B488A0 800D1700 C7AA0040 */ lwc1 $f10, 0x40($sp)
|
|
/* B488A4 800D1704 E610000C */ swc1 $f16, 0xc($s0)
|
|
/* B488A8 800D1708 E610001C */ swc1 $f16, 0x1c($s0)
|
|
/* B488AC 800D170C E610002C */ swc1 $f16, 0x2c($s0)
|
|
/* B488B0 800D1710 E602003C */ swc1 $f2, 0x3c($s0)
|
|
/* B488B4 800D1714 E60A0038 */ swc1 $f10, 0x38($s0)
|
|
/* B488B8 800D1718 86240000 */ lh $a0, ($s1)
|
|
/* B488BC 800D171C 50800018 */ beql $a0, $zero, .L800D1780
|
|
/* B488C0 800D1720 E6000028 */ swc1 $f0, 0x28($s0)
|
|
/* B488C4 800D1724 E7AC002C */ swc1 $f12, 0x2c($sp)
|
|
/* B488C8 800D1728 0C01DE1C */ jal Math_Sins
|
|
/* B488CC 800D172C E7AE0030 */ swc1 $f14, 0x30($sp)
|
|
/* B488D0 800D1730 86240000 */ lh $a0, ($s1)
|
|
/* B488D4 800D1734 0C01DE0D */ jal Math_Coss
|
|
/* B488D8 800D1738 E7A00024 */ swc1 $f0, 0x24($sp)
|
|
/* B488DC 800D173C C7AC002C */ lwc1 $f12, 0x2c($sp)
|
|
/* B488E0 800D1740 C7A20024 */ lwc1 $f2, 0x24($sp)
|
|
/* B488E4 800D1744 C7AE0030 */ lwc1 $f14, 0x30($sp)
|
|
/* B488E8 800D1748 46006482 */ mul.s $f18, $f12, $f0
|
|
/* B488EC 800D174C 46001287 */ neg.s $f10, $f2
|
|
/* B488F0 800D1750 44808000 */ mtc1 $zero, $f16
|
|
/* B488F4 800D1754 46026102 */ mul.s $f4, $f12, $f2
|
|
/* B488F8 800D1758 E60A0024 */ swc1 $f10, 0x24($s0)
|
|
/* B488FC 800D175C E6000014 */ swc1 $f0, 0x14($s0)
|
|
/* B48900 800D1760 46007182 */ mul.s $f6, $f14, $f0
|
|
/* B48904 800D1764 E6120028 */ swc1 $f18, 0x28($s0)
|
|
/* B48908 800D1768 46027202 */ mul.s $f8, $f14, $f2
|
|
/* B4890C 800D176C E6040018 */ swc1 $f4, 0x18($s0)
|
|
/* B48910 800D1770 E6060020 */ swc1 $f6, 0x20($s0)
|
|
/* B48914 800D1774 10000007 */ b .L800D1794
|
|
/* B48918 800D1778 E6080010 */ swc1 $f8, 0x10($s0)
|
|
/* B4891C 800D177C E6000028 */ swc1 $f0, 0x28($s0)
|
|
.L800D1780:
|
|
/* B48920 800D1780 E60E0020 */ swc1 $f14, 0x20($s0)
|
|
/* B48924 800D1784 E6100024 */ swc1 $f16, 0x24($s0)
|
|
/* B48928 800D1788 E6100018 */ swc1 $f16, 0x18($s0)
|
|
/* B4892C 800D178C E6100010 */ swc1 $f16, 0x10($s0)
|
|
/* B48930 800D1790 E6020014 */ swc1 $f2, 0x14($s0)
|
|
.L800D1794:
|
|
/* B48934 800D1794 86240004 */ lh $a0, 4($s1)
|
|
/* B48938 800D1798 50800024 */ beql $a0, $zero, .L800D182C
|
|
/* B4893C 800D179C E6100004 */ swc1 $f16, 4($s0)
|
|
/* B48940 800D17A0 0C01DE1C */ jal Math_Sins
|
|
/* B48944 800D17A4 00000000 */ nop
|
|
/* B48948 800D17A8 86240004 */ lh $a0, 4($s1)
|
|
/* B4894C 800D17AC 0C01DE0D */ jal Math_Coss
|
|
/* B48950 800D17B0 E7A00024 */ swc1 $f0, 0x24($sp)
|
|
/* B48954 800D17B4 C60E0000 */ lwc1 $f14, ($s0)
|
|
/* B48958 800D17B8 C7A20024 */ lwc1 $f2, 0x24($sp)
|
|
/* B4895C 800D17BC C60C0010 */ lwc1 $f12, 0x10($s0)
|
|
/* B48960 800D17C0 46007482 */ mul.s $f18, $f14, $f0
|
|
/* B48964 800D17C4 00000000 */ nop
|
|
/* B48968 800D17C8 46026102 */ mul.s $f4, $f12, $f2
|
|
/* B4896C 800D17CC 00000000 */ nop
|
|
/* B48970 800D17D0 46006202 */ mul.s $f8, $f12, $f0
|
|
/* B48974 800D17D4 C60C0018 */ lwc1 $f12, 0x18($s0)
|
|
/* B48978 800D17D8 46027282 */ mul.s $f10, $f14, $f2
|
|
/* B4897C 800D17DC C60E0008 */ lwc1 $f14, 8($s0)
|
|
/* B48980 800D17E0 46049180 */ add.s $f6, $f18, $f4
|
|
/* B48984 800D17E4 46007102 */ mul.s $f4, $f14, $f0
|
|
/* B48988 800D17E8 E6060000 */ swc1 $f6, ($s0)
|
|
/* B4898C 800D17EC 46026182 */ mul.s $f6, $f12, $f2
|
|
/* B48990 800D17F0 460A4481 */ sub.s $f18, $f8, $f10
|
|
/* B48994 800D17F4 46006282 */ mul.s $f10, $f12, $f0
|
|
/* B48998 800D17F8 C60C0014 */ lwc1 $f12, 0x14($s0)
|
|
/* B4899C 800D17FC E6120010 */ swc1 $f18, 0x10($s0)
|
|
/* B489A0 800D1800 46027482 */ mul.s $f18, $f14, $f2
|
|
/* B489A4 800D1804 46062200 */ add.s $f8, $f4, $f6
|
|
/* B489A8 800D1808 46026182 */ mul.s $f6, $f12, $f2
|
|
/* B489AC 800D180C E6080008 */ swc1 $f8, 8($s0)
|
|
/* B489B0 800D1810 46006202 */ mul.s $f8, $f12, $f0
|
|
/* B489B4 800D1814 46125101 */ sub.s $f4, $f10, $f18
|
|
/* B489B8 800D1818 E6060004 */ swc1 $f6, 4($s0)
|
|
/* B489BC 800D181C E6040018 */ swc1 $f4, 0x18($s0)
|
|
/* B489C0 800D1820 10000002 */ b .L800D182C
|
|
/* B489C4 800D1824 E6080014 */ swc1 $f8, 0x14($s0)
|
|
/* B489C8 800D1828 E6100004 */ swc1 $f16, 4($s0)
|
|
.L800D182C:
|
|
/* B489CC 800D182C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B489D0 800D1830 8FB00014 */ lw $s0, 0x14($sp)
|
|
/* B489D4 800D1834 8FB10018 */ lw $s1, 0x18($sp)
|
|
/* B489D8 800D1838 03E00008 */ jr $ra
|
|
/* B489DC 800D183C 27BD0038 */ addiu $sp, $sp, 0x38
|