mirror of https://github.com/zeldaret/oot.git
120 lines
5.7 KiB
ArmAsm
120 lines
5.7 KiB
ArmAsm
glabel func_800A57C0
|
|
/* B1C960 800A57C0 27BDFF70 */ addiu $sp, $sp, -0x90
|
|
/* B1C964 800A57C4 AFBF005C */ sw $ra, 0x5c($sp)
|
|
/* B1C968 800A57C8 AFBE0058 */ sw $fp, 0x58($sp)
|
|
/* B1C96C 800A57CC AFB70054 */ sw $s7, 0x54($sp)
|
|
/* B1C970 800A57D0 AFB60050 */ sw $s6, 0x50($sp)
|
|
/* B1C974 800A57D4 AFB5004C */ sw $s5, 0x4c($sp)
|
|
/* B1C978 800A57D8 AFB40048 */ sw $s4, 0x48($sp)
|
|
/* B1C97C 800A57DC AFB30044 */ sw $s3, 0x44($sp)
|
|
/* B1C980 800A57E0 AFB20040 */ sw $s2, 0x40($sp)
|
|
/* B1C984 800A57E4 AFB1003C */ sw $s1, 0x3c($sp)
|
|
/* B1C988 800A57E8 AFB00038 */ sw $s0, 0x38($sp)
|
|
/* B1C98C 800A57EC F7BA0030 */ sdc1 $f26, 0x30($sp)
|
|
/* B1C990 800A57F0 F7B80028 */ sdc1 $f24, 0x28($sp)
|
|
/* B1C994 800A57F4 F7B60020 */ sdc1 $f22, 0x20($sp)
|
|
/* B1C998 800A57F8 F7B40018 */ sdc1 $f20, 0x18($sp)
|
|
/* B1C99C 800A57FC 94CE0000 */ lhu $t6, ($a2)
|
|
/* B1C9A0 800A5800 2417000A */ li $s7, 10
|
|
/* B1C9A4 800A5804 00808025 */ move $s0, $a0
|
|
/* B1C9A8 800A5808 01D70019 */ multu $t6, $s7
|
|
/* B1C9AC 800A580C 00A0A025 */ move $s4, $a1
|
|
/* B1C9B0 800A5810 00C0A825 */ move $s5, $a2
|
|
/* B1C9B4 800A5814 00E0B025 */ move $s6, $a3
|
|
/* B1C9B8 800A5818 00A08825 */ move $s1, $a1
|
|
/* B1C9BC 800A581C 27BE0064 */ addiu $fp, $sp, 0x64
|
|
/* B1C9C0 800A5820 00007812 */ mflo $t7
|
|
/* B1C9C4 800A5824 01E5C021 */ addu $t8, $t7, $a1
|
|
/* B1C9C8 800A5828 00B8082B */ sltu $at, $a1, $t8
|
|
/* B1C9CC 800A582C 50200048 */ beql $at, $zero, .L800A5950
|
|
/* B1C9D0 800A5830 8FBF005C */ lw $ra, 0x5c($sp)
|
|
/* B1C9D4 800A5834 4480A000 */ mtc1 $zero, $f20
|
|
/* B1C9D8 800A5838 8FB300A0 */ lw $s3, 0xa0($sp)
|
|
/* B1C9DC 800A583C C6640000 */ lwc1 $f4, ($s3)
|
|
.L800A5840:
|
|
/* B1C9E0 800A5840 96390000 */ lhu $t9, ($s1)
|
|
/* B1C9E4 800A5844 02002025 */ move $a0, $s0
|
|
/* B1C9E8 800A5848 4600218D */ trunc.w.s $f6, $f4
|
|
/* B1C9EC 800A584C 00194100 */ sll $t0, $t9, 4
|
|
/* B1C9F0 800A5850 01169021 */ addu $s2, $t0, $s6
|
|
/* B1C9F4 800A5854 03C02825 */ move $a1, $fp
|
|
/* B1C9F8 800A5858 440A3000 */ mfc1 $t2, $f6
|
|
/* B1C9FC 800A585C 27A60070 */ addiu $a2, $sp, 0x70
|
|
/* B1CA00 800A5860 A64A0000 */ sh $t2, ($s2)
|
|
/* B1CA04 800A5864 C6680004 */ lwc1 $f8, 4($s3)
|
|
/* B1CA08 800A5868 4600428D */ trunc.w.s $f10, $f8
|
|
/* B1CA0C 800A586C 440C5000 */ mfc1 $t4, $f10
|
|
/* B1CA10 800A5870 00000000 */ nop
|
|
/* B1CA14 800A5874 A64C0002 */ sh $t4, 2($s2)
|
|
/* B1CA18 800A5878 C6700008 */ lwc1 $f16, 8($s3)
|
|
/* B1CA1C 800A587C 4600848D */ trunc.w.s $f18, $f16
|
|
/* B1CA20 800A5880 440E9000 */ mfc1 $t6, $f18
|
|
/* B1CA24 800A5884 00000000 */ nop
|
|
/* B1CA28 800A5888 A64E0004 */ sh $t6, 4($s2)
|
|
/* B1CA2C 800A588C C6160030 */ lwc1 $f22, 0x30($s0)
|
|
/* B1CA30 800A5890 C6180034 */ lwc1 $f24, 0x34($s0)
|
|
/* B1CA34 800A5894 C61A0038 */ lwc1 $f26, 0x38($s0)
|
|
/* B1CA38 800A5898 E6140038 */ swc1 $f20, 0x38($s0)
|
|
/* B1CA3C 800A589C E6140034 */ swc1 $f20, 0x34($s0)
|
|
/* B1CA40 800A58A0 E6140030 */ swc1 $f20, 0x30($s0)
|
|
/* B1CA44 800A58A4 822F0006 */ lb $t7, 6($s1)
|
|
/* B1CA48 800A58A8 448F2000 */ mtc1 $t7, $f4
|
|
/* B1CA4C 800A58AC 00000000 */ nop
|
|
/* B1CA50 800A58B0 468021A0 */ cvt.s.w $f6, $f4
|
|
/* B1CA54 800A58B4 E7A60064 */ swc1 $f6, 0x64($sp)
|
|
/* B1CA58 800A58B8 82380007 */ lb $t8, 7($s1)
|
|
/* B1CA5C 800A58BC 44984000 */ mtc1 $t8, $f8
|
|
/* B1CA60 800A58C0 00000000 */ nop
|
|
/* B1CA64 800A58C4 468042A0 */ cvt.s.w $f10, $f8
|
|
/* B1CA68 800A58C8 E7AA0068 */ swc1 $f10, 0x68($sp)
|
|
/* B1CA6C 800A58CC 82390008 */ lb $t9, 8($s1)
|
|
/* B1CA70 800A58D0 44998000 */ mtc1 $t9, $f16
|
|
/* B1CA74 800A58D4 00000000 */ nop
|
|
/* B1CA78 800A58D8 468084A0 */ cvt.s.w $f18, $f16
|
|
/* B1CA7C 800A58DC 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
|
|
/* B1CA80 800A58E0 E7B2006C */ swc1 $f18, 0x6c($sp)
|
|
/* B1CA84 800A58E4 C7A40070 */ lwc1 $f4, 0x70($sp)
|
|
/* B1CA88 800A58E8 2631000A */ addiu $s1, $s1, 0xa
|
|
/* B1CA8C 800A58EC 4600218D */ trunc.w.s $f6, $f4
|
|
/* B1CA90 800A58F0 44093000 */ mfc1 $t1, $f6
|
|
/* B1CA94 800A58F4 00000000 */ nop
|
|
/* B1CA98 800A58F8 A249000C */ sb $t1, 0xc($s2)
|
|
/* B1CA9C 800A58FC C7A80074 */ lwc1 $f8, 0x74($sp)
|
|
/* B1CAA0 800A5900 4600428D */ trunc.w.s $f10, $f8
|
|
/* B1CAA4 800A5904 440B5000 */ mfc1 $t3, $f10
|
|
/* B1CAA8 800A5908 00000000 */ nop
|
|
/* B1CAAC 800A590C A24B000D */ sb $t3, 0xd($s2)
|
|
/* B1CAB0 800A5910 C7B00078 */ lwc1 $f16, 0x78($sp)
|
|
/* B1CAB4 800A5914 4600848D */ trunc.w.s $f18, $f16
|
|
/* B1CAB8 800A5918 440D9000 */ mfc1 $t5, $f18
|
|
/* B1CABC 800A591C 00000000 */ nop
|
|
/* B1CAC0 800A5920 A24D000E */ sb $t5, 0xe($s2)
|
|
/* B1CAC4 800A5924 E6160030 */ swc1 $f22, 0x30($s0)
|
|
/* B1CAC8 800A5928 E6180034 */ swc1 $f24, 0x34($s0)
|
|
/* B1CACC 800A592C E61A0038 */ swc1 $f26, 0x38($s0)
|
|
/* B1CAD0 800A5930 96AE0000 */ lhu $t6, ($s5)
|
|
/* B1CAD4 800A5934 01D70019 */ multu $t6, $s7
|
|
/* B1CAD8 800A5938 00007812 */ mflo $t7
|
|
/* B1CADC 800A593C 01F4C021 */ addu $t8, $t7, $s4
|
|
/* B1CAE0 800A5940 0238082B */ sltu $at, $s1, $t8
|
|
/* B1CAE4 800A5944 5420FFBE */ bnezl $at, .L800A5840
|
|
/* B1CAE8 800A5948 C6640000 */ lwc1 $f4, ($s3)
|
|
/* B1CAEC 800A594C 8FBF005C */ lw $ra, 0x5c($sp)
|
|
.L800A5950:
|
|
/* B1CAF0 800A5950 D7B40018 */ ldc1 $f20, 0x18($sp)
|
|
/* B1CAF4 800A5954 D7B60020 */ ldc1 $f22, 0x20($sp)
|
|
/* B1CAF8 800A5958 D7B80028 */ ldc1 $f24, 0x28($sp)
|
|
/* B1CAFC 800A595C D7BA0030 */ ldc1 $f26, 0x30($sp)
|
|
/* B1CB00 800A5960 8FB00038 */ lw $s0, 0x38($sp)
|
|
/* B1CB04 800A5964 8FB1003C */ lw $s1, 0x3c($sp)
|
|
/* B1CB08 800A5968 8FB20040 */ lw $s2, 0x40($sp)
|
|
/* B1CB0C 800A596C 8FB30044 */ lw $s3, 0x44($sp)
|
|
/* B1CB10 800A5970 8FB40048 */ lw $s4, 0x48($sp)
|
|
/* B1CB14 800A5974 8FB5004C */ lw $s5, 0x4c($sp)
|
|
/* B1CB18 800A5978 8FB60050 */ lw $s6, 0x50($sp)
|
|
/* B1CB1C 800A597C 8FB70054 */ lw $s7, 0x54($sp)
|
|
/* B1CB20 800A5980 8FBE0058 */ lw $fp, 0x58($sp)
|
|
/* B1CB24 800A5984 03E00008 */ jr $ra
|
|
/* B1CB28 800A5988 27BD0090 */ addiu $sp, $sp, 0x90
|
|
|