mirror of https://github.com/zeldaret/oot.git
92 lines
4.3 KiB
ArmAsm
92 lines
4.3 KiB
ArmAsm
glabel func_800B4088
|
|
/* B2B228 800B4088 27BDFFC8 */ addiu $sp, $sp, -0x38
|
|
/* B2B22C 800B408C AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* B2B230 800B4090 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* B2B234 800B4094 AFA5003C */ sw $a1, 0x3c($sp)
|
|
/* B2B238 800B4098 848E0082 */ lh $t6, 0x82($a0)
|
|
/* B2B23C 800B409C 2418FFFF */ li $t8, -1
|
|
/* B2B240 800B40A0 2408001E */ li $t0, 30
|
|
/* B2B244 800B40A4 000E7900 */ sll $t7, $t6, 4
|
|
/* B2B248 800B40A8 008F3021 */ addu $a2, $a0, $t7
|
|
/* B2B24C 800B40AC 24C200A0 */ addiu $v0, $a2, 0xa0
|
|
/* B2B250 800B40B0 A0580000 */ sb $t8, ($v0)
|
|
/* B2B254 800B40B4 80590000 */ lb $t9, ($v0)
|
|
/* B2B258 800B40B8 24C308B0 */ addiu $v1, $a2, 0x8b0
|
|
/* B2B25C 800B40BC 3C013FB4 */ li $at, 0x3FB40000 # 0.000000
|
|
/* B2B260 800B40C0 A0790000 */ sb $t9, ($v1)
|
|
/* B2B264 800B40C4 A4400002 */ sh $zero, 2($v0)
|
|
/* B2B268 800B40C8 A4680002 */ sh $t0, 2($v1)
|
|
/* B2B26C 800B40CC 8489004C */ lh $t1, 0x4c($a0)
|
|
/* B2B270 800B40D0 44814000 */ mtc1 $at, $f8
|
|
/* B2B274 800B40D4 00808025 */ move $s0, $a0
|
|
/* B2B278 800B40D8 44892000 */ mtc1 $t1, $f4
|
|
/* B2B27C 800B40DC 24010001 */ li $at, 1
|
|
/* B2B280 800B40E0 24840010 */ addiu $a0, $a0, 0x10
|
|
/* B2B284 800B40E4 468021A0 */ cvt.s.w $f6, $f4
|
|
/* B2B288 800B40E8 26050004 */ addiu $a1, $s0, 4
|
|
/* B2B28C 800B40EC 46083282 */ mul.s $f10, $f6, $f8
|
|
/* B2B290 800B40F0 4600540D */ trunc.w.s $f16, $f10
|
|
/* B2B294 800B40F4 44078000 */ mfc1 $a3, $f16
|
|
/* B2B298 800B40F8 00000000 */ nop
|
|
/* B2B29C 800B40FC 00073E00 */ sll $a3, $a3, 0x18
|
|
/* B2B2A0 800B4100 00073E03 */ sra $a3, $a3, 0x18
|
|
/* B2B2A4 800B4104 A0470001 */ sb $a3, 1($v0)
|
|
/* B2B2A8 800B4108 A0670001 */ sb $a3, 1($v1)
|
|
/* B2B2AC 800B410C C4800038 */ lwc1 $f0, 0x38($a0)
|
|
/* B2B2B0 800B4110 E4400004 */ swc1 $f0, 4($v0)
|
|
/* B2B2B4 800B4114 E4600004 */ swc1 $f0, 4($v1)
|
|
/* B2B2B8 800B4118 848B006C */ lh $t3, 0x6c($a0)
|
|
/* B2B2BC 800B411C 5161000B */ beql $t3, $at, .L800B414C
|
|
/* B2B2C0 800B4120 8FA4003C */ lw $a0, 0x3c($sp)
|
|
/* B2B2C4 800B4124 24450008 */ addiu $a1, $v0, 8
|
|
/* B2B2C8 800B4128 0C02CFBF */ jal func_800B3EFC
|
|
/* B2B2CC 800B412C AFA30030 */ sw $v1, 0x30($sp)
|
|
/* B2B2D0 800B4130 8FA30030 */ lw $v1, 0x30($sp)
|
|
/* B2B2D4 800B4134 26040004 */ addiu $a0, $s0, 4
|
|
/* B2B2D8 800B4138 0C02CFBF */ jal func_800B3EFC
|
|
/* B2B2DC 800B413C 24650008 */ addiu $a1, $v1, 8
|
|
/* B2B2E0 800B4140 1000000D */ b .L800B4178
|
|
/* B2B2E4 800B4144 860C0080 */ lh $t4, 0x80($s0)
|
|
/* B2B2E8 800B4148 8FA4003C */ lw $a0, 0x3c($sp)
|
|
.L800B414C:
|
|
/* B2B2EC 800B414C 24660008 */ addiu $a2, $v1, 8
|
|
/* B2B2F0 800B4150 AFA20034 */ sw $v0, 0x34($sp)
|
|
/* B2B2F4 800B4154 24840094 */ addiu $a0, $a0, 0x94
|
|
/* B2B2F8 800B4158 0C02CFE5 */ jal func_800B3F94
|
|
/* B2B2FC 800B415C AFA40020 */ sw $a0, 0x20($sp)
|
|
/* B2B300 800B4160 8FA20034 */ lw $v0, 0x34($sp)
|
|
/* B2B304 800B4164 8FA40020 */ lw $a0, 0x20($sp)
|
|
/* B2B308 800B4168 26050010 */ addiu $a1, $s0, 0x10
|
|
/* B2B30C 800B416C 0C02CFE5 */ jal func_800B3F94
|
|
/* B2B310 800B4170 24460008 */ addiu $a2, $v0, 8
|
|
/* B2B314 800B4174 860C0080 */ lh $t4, 0x80($s0)
|
|
.L800B4178:
|
|
/* B2B318 800B4178 00002025 */ move $a0, $zero
|
|
/* B2B31C 800B417C 02001825 */ move $v1, $s0
|
|
/* B2B320 800B4180 258DFFFE */ addiu $t5, $t4, -2
|
|
/* B2B324 800B4184 19A0000B */ blez $t5, .L800B41B4
|
|
/* B2B328 800B4188 2408FFFF */ li $t0, -1
|
|
/* B2B32C 800B418C A06008B0 */ sb $zero, 0x8b0($v1)
|
|
.L800B4190:
|
|
/* B2B330 800B4190 806E08B0 */ lb $t6, 0x8b0($v1)
|
|
/* B2B334 800B4194 24840001 */ addiu $a0, $a0, 1
|
|
/* B2B338 800B4198 24630010 */ addiu $v1, $v1, 0x10
|
|
/* B2B33C 800B419C A06E0090 */ sb $t6, 0x90($v1)
|
|
/* B2B340 800B41A0 860F0080 */ lh $t7, 0x80($s0)
|
|
/* B2B344 800B41A4 25F8FFFE */ addiu $t8, $t7, -2
|
|
/* B2B348 800B41A8 0098082A */ slt $at, $a0, $t8
|
|
/* B2B34C 800B41AC 5420FFF8 */ bnezl $at, .L800B4190
|
|
/* B2B350 800B41B0 A06008B0 */ sb $zero, 0x8b0($v1)
|
|
.L800B41B4:
|
|
/* B2B354 800B41B4 0004C900 */ sll $t9, $a0, 4
|
|
/* B2B358 800B41B8 02191821 */ addu $v1, $s0, $t9
|
|
/* B2B35C 800B41BC A06808B0 */ sb $t0, 0x8b0($v1)
|
|
/* B2B360 800B41C0 806908B0 */ lb $t1, 0x8b0($v1)
|
|
/* B2B364 800B41C4 A06900A0 */ sb $t1, 0xa0($v1)
|
|
/* B2B368 800B41C8 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B2B36C 800B41CC 86020082 */ lh $v0, 0x82($s0)
|
|
/* B2B370 800B41D0 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* B2B374 800B41D4 03E00008 */ jr $ra
|
|
/* B2B378 800B41D8 27BD0038 */ addiu $sp, $sp, 0x38
|
|
|