mirror of https://github.com/zeldaret/oot.git
121 lines
5.5 KiB
ArmAsm
121 lines
5.5 KiB
ArmAsm
glabel func_8003B218
|
|
/* AB23B8 8003B218 27BDFF98 */ addiu $sp, $sp, -0x68
|
|
/* AB23BC 8003B21C 87AE008E */ lh $t6, 0x8e($sp)
|
|
/* AB23C0 8003B220 AFBF0024 */ sw $ra, 0x24($sp)
|
|
/* AB23C4 8003B224 AFB00020 */ sw $s0, 0x20($sp)
|
|
/* AB23C8 8003B228 000E7900 */ sll $t7, $t6, 4
|
|
/* AB23CC 8003B22C AFA40068 */ sw $a0, 0x68($sp)
|
|
/* AB23D0 8003B230 AFA70074 */ sw $a3, 0x74($sp)
|
|
/* AB23D4 8003B234 00CF4021 */ addu $t0, $a2, $t7
|
|
/* AB23D8 8003B238 95030002 */ lhu $v1, 2($t0)
|
|
/* AB23DC 8003B23C 24090006 */ li $t1, 6
|
|
/* AB23E0 8003B240 00A08025 */ move $s0, $a1
|
|
/* AB23E4 8003B244 30631FFF */ andi $v1, $v1, 0x1fff
|
|
/* AB23E8 8003B248 00031C00 */ sll $v1, $v1, 0x10
|
|
/* AB23EC 8003B24C 00031C03 */ sra $v1, $v1, 0x10
|
|
/* AB23F0 8003B250 00690019 */ multu $v1, $t1
|
|
/* AB23F4 8003B254 AFA80034 */ sw $t0, 0x34($sp)
|
|
/* AB23F8 8003B258 27A4004C */ addiu $a0, $sp, 0x4c
|
|
/* AB23FC 8003B25C 0000C012 */ mflo $t8
|
|
/* AB2400 8003B260 03052821 */ addu $a1, $t8, $a1
|
|
/* AB2404 8003B264 0C01DF97 */ jal Math_Vec3s_ToVec3f
|
|
/* AB2408 8003B268 00000000 */ nop
|
|
/* AB240C 8003B26C 27A40058 */ addiu $a0, $sp, 0x58
|
|
/* AB2410 8003B270 0C01DF90 */ jal Math_Vec3f_Copy
|
|
/* AB2414 8003B274 27A5004C */ addiu $a1, $sp, 0x4c
|
|
/* AB2418 8003B278 8FA80034 */ lw $t0, 0x34($sp)
|
|
/* AB241C 8003B27C 24090006 */ li $t1, 6
|
|
/* AB2420 8003B280 25040004 */ addiu $a0, $t0, 4
|
|
/* AB2424 8003B284 25050008 */ addiu $a1, $t0, 8
|
|
/* AB2428 8003B288 0085082B */ sltu $at, $a0, $a1
|
|
/* AB242C 8003B28C 5020003C */ beql $at, $zero, .L8003B380
|
|
/* AB2430 8003B290 8FAD007C */ lw $t5, 0x7c($sp)
|
|
/* AB2434 8003B294 94830000 */ lhu $v1, ($a0)
|
|
.L8003B298:
|
|
/* AB2438 8003B298 C7AA0058 */ lwc1 $f10, 0x58($sp)
|
|
/* AB243C 8003B29C 24840002 */ addiu $a0, $a0, 2
|
|
/* AB2440 8003B2A0 30631FFF */ andi $v1, $v1, 0x1fff
|
|
/* AB2444 8003B2A4 00031C00 */ sll $v1, $v1, 0x10
|
|
/* AB2448 8003B2A8 00031C03 */ sra $v1, $v1, 0x10
|
|
/* AB244C 8003B2AC 00690019 */ multu $v1, $t1
|
|
/* AB2450 8003B2B0 0085082B */ sltu $at, $a0, $a1
|
|
/* AB2454 8003B2B4 C7B0004C */ lwc1 $f16, 0x4c($sp)
|
|
/* AB2458 8003B2B8 0000C812 */ mflo $t9
|
|
/* AB245C 8003B2BC 03301021 */ addu $v0, $t9, $s0
|
|
/* AB2460 8003B2C0 844A0000 */ lh $t2, ($v0)
|
|
/* AB2464 8003B2C4 844B0002 */ lh $t3, 2($v0)
|
|
/* AB2468 8003B2C8 844C0004 */ lh $t4, 4($v0)
|
|
/* AB246C 8003B2CC 448A2000 */ mtc1 $t2, $f4
|
|
/* AB2470 8003B2D0 448B3000 */ mtc1 $t3, $f6
|
|
/* AB2474 8003B2D4 448C4000 */ mtc1 $t4, $f8
|
|
/* AB2478 8003B2D8 46802020 */ cvt.s.w $f0, $f4
|
|
/* AB247C 8003B2DC 468030A0 */ cvt.s.w $f2, $f6
|
|
/* AB2480 8003B2E0 460A003C */ c.lt.s $f0, $f10
|
|
/* AB2484 8003B2E4 46804320 */ cvt.s.w $f12, $f8
|
|
/* AB2488 8003B2E8 45020004 */ bc1fl .L8003B2FC
|
|
/* AB248C 8003B2EC 4600803C */ c.lt.s $f16, $f0
|
|
/* AB2490 8003B2F0 10000006 */ b .L8003B30C
|
|
/* AB2494 8003B2F4 E7A00058 */ swc1 $f0, 0x58($sp)
|
|
/* AB2498 8003B2F8 4600803C */ c.lt.s $f16, $f0
|
|
.L8003B2FC:
|
|
/* AB249C 8003B2FC 00000000 */ nop
|
|
/* AB24A0 8003B300 45020003 */ bc1fl .L8003B310
|
|
/* AB24A4 8003B304 C7B2005C */ lwc1 $f18, 0x5c($sp)
|
|
/* AB24A8 8003B308 E7A0004C */ swc1 $f0, 0x4c($sp)
|
|
.L8003B30C:
|
|
/* AB24AC 8003B30C C7B2005C */ lwc1 $f18, 0x5c($sp)
|
|
.L8003B310:
|
|
/* AB24B0 8003B310 C7A40050 */ lwc1 $f4, 0x50($sp)
|
|
/* AB24B4 8003B314 4612103C */ c.lt.s $f2, $f18
|
|
/* AB24B8 8003B318 00000000 */ nop
|
|
/* AB24BC 8003B31C 45020004 */ bc1fl .L8003B330
|
|
/* AB24C0 8003B320 4602203C */ c.lt.s $f4, $f2
|
|
/* AB24C4 8003B324 10000006 */ b .L8003B340
|
|
/* AB24C8 8003B328 E7A2005C */ swc1 $f2, 0x5c($sp)
|
|
/* AB24CC 8003B32C 4602203C */ c.lt.s $f4, $f2
|
|
.L8003B330:
|
|
/* AB24D0 8003B330 00000000 */ nop
|
|
/* AB24D4 8003B334 45020003 */ bc1fl .L8003B344
|
|
/* AB24D8 8003B338 C7A60060 */ lwc1 $f6, 0x60($sp)
|
|
/* AB24DC 8003B33C E7A20050 */ swc1 $f2, 0x50($sp)
|
|
.L8003B340:
|
|
/* AB24E0 8003B340 C7A60060 */ lwc1 $f6, 0x60($sp)
|
|
.L8003B344:
|
|
/* AB24E4 8003B344 C7A80054 */ lwc1 $f8, 0x54($sp)
|
|
/* AB24E8 8003B348 4606603C */ c.lt.s $f12, $f6
|
|
/* AB24EC 8003B34C 00000000 */ nop
|
|
/* AB24F0 8003B350 45020004 */ bc1fl .L8003B364
|
|
/* AB24F4 8003B354 460C403C */ c.lt.s $f8, $f12
|
|
/* AB24F8 8003B358 10000006 */ b .L8003B374
|
|
/* AB24FC 8003B35C E7AC0060 */ swc1 $f12, 0x60($sp)
|
|
/* AB2500 8003B360 460C403C */ c.lt.s $f8, $f12
|
|
.L8003B364:
|
|
/* AB2504 8003B364 00000000 */ nop
|
|
/* AB2508 8003B368 45000002 */ bc1f .L8003B374
|
|
/* AB250C 8003B36C 00000000 */ nop
|
|
/* AB2510 8003B370 E7AC0054 */ swc1 $f12, 0x54($sp)
|
|
.L8003B374:
|
|
/* AB2514 8003B374 5420FFC8 */ bnezl $at, .L8003B298
|
|
/* AB2518 8003B378 94830000 */ lhu $v1, ($a0)
|
|
/* AB251C 8003B37C 8FAD007C */ lw $t5, 0x7c($sp)
|
|
.L8003B380:
|
|
/* AB2520 8003B380 8FA40068 */ lw $a0, 0x68($sp)
|
|
/* AB2524 8003B384 27A50058 */ addiu $a1, $sp, 0x58
|
|
/* AB2528 8003B388 8FA60074 */ lw $a2, 0x74($sp)
|
|
/* AB252C 8003B38C 8FA70078 */ lw $a3, 0x78($sp)
|
|
/* AB2530 8003B390 0C00EBAA */ jal func_8003AEA8
|
|
/* AB2534 8003B394 AFAD0010 */ sw $t5, 0x10($sp)
|
|
/* AB2538 8003B398 8FAE0088 */ lw $t6, 0x88($sp)
|
|
/* AB253C 8003B39C 8FA40068 */ lw $a0, 0x68($sp)
|
|
/* AB2540 8003B3A0 27A5004C */ addiu $a1, $sp, 0x4c
|
|
/* AB2544 8003B3A4 8FA60080 */ lw $a2, 0x80($sp)
|
|
/* AB2548 8003B3A8 8FA70084 */ lw $a3, 0x84($sp)
|
|
/* AB254C 8003B3AC 0C00EC13 */ jal func_8003B04C
|
|
/* AB2550 8003B3B0 AFAE0010 */ sw $t6, 0x10($sp)
|
|
/* AB2554 8003B3B4 8FBF0024 */ lw $ra, 0x24($sp)
|
|
/* AB2558 8003B3B8 8FB00020 */ lw $s0, 0x20($sp)
|
|
/* AB255C 8003B3BC 27BD0068 */ addiu $sp, $sp, 0x68
|
|
/* AB2560 8003B3C0 03E00008 */ jr $ra
|
|
/* AB2564 8003B3C4 00000000 */ nop
|
|
|