mirror of https://github.com/zeldaret/oot.git
485 lines
24 KiB
ArmAsm
485 lines
24 KiB
ArmAsm
glabel func_8003B3C8
|
|
/* AB2568 8003B3C8 27BDFF48 */ addiu $sp, $sp, -0xb8
|
|
/* AB256C 8003B3CC 87AE00CA */ lh $t6, 0xca($sp)
|
|
/* AB2570 8003B3D0 AFBF003C */ sw $ra, 0x3c($sp)
|
|
/* AB2574 8003B3D4 AFB10038 */ sw $s1, 0x38($sp)
|
|
/* AB2578 8003B3D8 000E7900 */ sll $t7, $t6, 4
|
|
/* AB257C 8003B3DC AFB00034 */ sw $s0, 0x34($sp)
|
|
/* AB2580 8003B3E0 AFA700C4 */ sw $a3, 0xc4($sp)
|
|
/* AB2584 8003B3E4 AFA00050 */ sw $zero, 0x50($sp)
|
|
/* AB2588 8003B3E8 AFA0004C */ sw $zero, 0x4c($sp)
|
|
/* AB258C 8003B3EC 01E61021 */ addu $v0, $t7, $a2
|
|
/* AB2590 8003B3F0 94580002 */ lhu $t8, 2($v0)
|
|
/* AB2594 8003B3F4 00808025 */ move $s0, $a0
|
|
/* AB2598 8003B3F8 00A08825 */ move $s1, $a1
|
|
/* AB259C 8003B3FC 33191FFF */ andi $t9, $t8, 0x1fff
|
|
/* AB25A0 8003B400 00194880 */ sll $t1, $t9, 2
|
|
/* AB25A4 8003B404 01394823 */ subu $t1, $t1, $t9
|
|
/* AB25A8 8003B408 00094840 */ sll $t1, $t1, 1
|
|
/* AB25AC 8003B40C 01272021 */ addu $a0, $t1, $a3
|
|
/* AB25B0 8003B410 27A50070 */ addiu $a1, $sp, 0x70
|
|
/* AB25B4 8003B414 0C00E22A */ jal func_800388A8
|
|
/* AB25B8 8003B418 AFA20044 */ sw $v0, 0x44($sp)
|
|
/* AB25BC 8003B41C 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB25C0 8003B420 02002825 */ move $a1, $s0
|
|
/* AB25C4 8003B424 0C032E23 */ jal Math3D_PointRelativeToCubeFaces
|
|
/* AB25C8 8003B428 02203025 */ move $a2, $s1
|
|
/* AB25CC 8003B42C 14400003 */ bnez $v0, .L8003B43C
|
|
/* AB25D0 8003B430 AFA2004C */ sw $v0, 0x4c($sp)
|
|
/* AB25D4 8003B434 100001B3 */ b .L8003BB04
|
|
/* AB25D8 8003B438 24020001 */ li $v0, 1
|
|
.L8003B43C:
|
|
/* AB25DC 8003B43C 8FAB0044 */ lw $t3, 0x44($sp)
|
|
/* AB25E0 8003B440 8FAF00C4 */ lw $t7, 0xc4($sp)
|
|
/* AB25E4 8003B444 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB25E8 8003B448 956C0004 */ lhu $t4, 4($t3)
|
|
/* AB25EC 8003B44C 318D1FFF */ andi $t5, $t4, 0x1fff
|
|
/* AB25F0 8003B450 000D7080 */ sll $t6, $t5, 2
|
|
/* AB25F4 8003B454 01CD7023 */ subu $t6, $t6, $t5
|
|
/* AB25F8 8003B458 000E7040 */ sll $t6, $t6, 1
|
|
/* AB25FC 8003B45C 0C00E22A */ jal func_800388A8
|
|
/* AB2600 8003B460 01CF2021 */ addu $a0, $t6, $t7
|
|
/* AB2604 8003B464 27A40064 */ addiu $a0, $sp, 0x64
|
|
/* AB2608 8003B468 02002825 */ move $a1, $s0
|
|
/* AB260C 8003B46C 0C032E23 */ jal Math3D_PointRelativeToCubeFaces
|
|
/* AB2610 8003B470 02203025 */ move $a2, $s1
|
|
/* AB2614 8003B474 14400003 */ bnez $v0, .L8003B484
|
|
/* AB2618 8003B478 AFA20050 */ sw $v0, 0x50($sp)
|
|
/* AB261C 8003B47C 100001A1 */ b .L8003BB04
|
|
/* AB2620 8003B480 24020001 */ li $v0, 1
|
|
.L8003B484:
|
|
/* AB2624 8003B484 8FB80044 */ lw $t8, 0x44($sp)
|
|
/* AB2628 8003B488 8FAA00C4 */ lw $t2, 0xc4($sp)
|
|
/* AB262C 8003B48C 27A50058 */ addiu $a1, $sp, 0x58
|
|
/* AB2630 8003B490 97190006 */ lhu $t9, 6($t8)
|
|
/* AB2634 8003B494 00194880 */ sll $t1, $t9, 2
|
|
/* AB2638 8003B498 01394823 */ subu $t1, $t1, $t9
|
|
/* AB263C 8003B49C 00094840 */ sll $t1, $t1, 1
|
|
/* AB2640 8003B4A0 0C00E22A */ jal func_800388A8
|
|
/* AB2644 8003B4A4 012A2021 */ addu $a0, $t1, $t2
|
|
/* AB2648 8003B4A8 27A40058 */ addiu $a0, $sp, 0x58
|
|
/* AB264C 8003B4AC 02002825 */ move $a1, $s0
|
|
/* AB2650 8003B4B0 0C032E23 */ jal Math3D_PointRelativeToCubeFaces
|
|
/* AB2654 8003B4B4 02203025 */ move $a2, $s1
|
|
/* AB2658 8003B4B8 14400003 */ bnez $v0, .L8003B4C8
|
|
/* AB265C 8003B4BC AFA20054 */ sw $v0, 0x54($sp)
|
|
/* AB2660 8003B4C0 10000190 */ b .L8003BB04
|
|
/* AB2664 8003B4C4 24020001 */ li $v0, 1
|
|
.L8003B4C8:
|
|
/* AB2668 8003B4C8 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* AB266C 8003B4CC 8FA70050 */ lw $a3, 0x50($sp)
|
|
/* AB2670 8003B4D0 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2674 8003B4D4 00485824 */ and $t3, $v0, $t0
|
|
/* AB2678 8003B4D8 01676024 */ and $t4, $t3, $a3
|
|
/* AB267C 8003B4DC 11800003 */ beqz $t4, .L8003B4EC
|
|
/* AB2680 8003B4E0 02002825 */ move $a1, $s0
|
|
/* AB2684 8003B4E4 10000187 */ b .L8003BB04
|
|
/* AB2688 8003B4E8 00001025 */ move $v0, $zero
|
|
.L8003B4EC:
|
|
/* AB268C 8003B4EC 0C032E4D */ jal Math3D_PointRelativeToCubeEdges
|
|
/* AB2690 8003B4F0 02203025 */ move $a2, $s1
|
|
/* AB2694 8003B4F4 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* AB2698 8003B4F8 00026A00 */ sll $t5, $v0, 8
|
|
/* AB269C 8003B4FC 27A40064 */ addiu $a0, $sp, 0x64
|
|
/* AB26A0 8003B500 010D4025 */ or $t0, $t0, $t5
|
|
/* AB26A4 8003B504 AFA8004C */ sw $t0, 0x4c($sp)
|
|
/* AB26A8 8003B508 02002825 */ move $a1, $s0
|
|
/* AB26AC 8003B50C 0C032E4D */ jal Math3D_PointRelativeToCubeEdges
|
|
/* AB26B0 8003B510 02203025 */ move $a2, $s1
|
|
/* AB26B4 8003B514 8FA70050 */ lw $a3, 0x50($sp)
|
|
/* AB26B8 8003B518 00027200 */ sll $t6, $v0, 8
|
|
/* AB26BC 8003B51C 27A40058 */ addiu $a0, $sp, 0x58
|
|
/* AB26C0 8003B520 00EE3825 */ or $a3, $a3, $t6
|
|
/* AB26C4 8003B524 AFA70050 */ sw $a3, 0x50($sp)
|
|
/* AB26C8 8003B528 02002825 */ move $a1, $s0
|
|
/* AB26CC 8003B52C 0C032E4D */ jal Math3D_PointRelativeToCubeEdges
|
|
/* AB26D0 8003B530 02203025 */ move $a2, $s1
|
|
/* AB26D4 8003B534 8FA30054 */ lw $v1, 0x54($sp)
|
|
/* AB26D8 8003B538 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* AB26DC 8003B53C 8FA70050 */ lw $a3, 0x50($sp)
|
|
/* AB26E0 8003B540 00027A00 */ sll $t7, $v0, 8
|
|
/* AB26E4 8003B544 006F1825 */ or $v1, $v1, $t7
|
|
/* AB26E8 8003B548 0068C024 */ and $t8, $v1, $t0
|
|
/* AB26EC 8003B54C 0307C824 */ and $t9, $t8, $a3
|
|
/* AB26F0 8003B550 13200003 */ beqz $t9, .L8003B560
|
|
/* AB26F4 8003B554 AFA30054 */ sw $v1, 0x54($sp)
|
|
/* AB26F8 8003B558 1000016A */ b .L8003BB04
|
|
/* AB26FC 8003B55C 00001025 */ move $v0, $zero
|
|
.L8003B560:
|
|
/* AB2700 8003B560 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2704 8003B564 02002825 */ move $a1, $s0
|
|
/* AB2708 8003B568 0C032EB9 */ jal Math3D_PointRelativeToCubeVertices
|
|
/* AB270C 8003B56C 02203025 */ move $a2, $s1
|
|
/* AB2710 8003B570 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* AB2714 8003B574 00024E00 */ sll $t1, $v0, 0x18
|
|
/* AB2718 8003B578 27A40064 */ addiu $a0, $sp, 0x64
|
|
/* AB271C 8003B57C 01094025 */ or $t0, $t0, $t1
|
|
/* AB2720 8003B580 AFA8004C */ sw $t0, 0x4c($sp)
|
|
/* AB2724 8003B584 02002825 */ move $a1, $s0
|
|
/* AB2728 8003B588 0C032EB9 */ jal Math3D_PointRelativeToCubeVertices
|
|
/* AB272C 8003B58C 02203025 */ move $a2, $s1
|
|
/* AB2730 8003B590 8FA70050 */ lw $a3, 0x50($sp)
|
|
/* AB2734 8003B594 00025600 */ sll $t2, $v0, 0x18
|
|
/* AB2738 8003B598 27A40058 */ addiu $a0, $sp, 0x58
|
|
/* AB273C 8003B59C 00EA3825 */ or $a3, $a3, $t2
|
|
/* AB2740 8003B5A0 AFA70050 */ sw $a3, 0x50($sp)
|
|
/* AB2744 8003B5A4 02002825 */ move $a1, $s0
|
|
/* AB2748 8003B5A8 0C032EB9 */ jal Math3D_PointRelativeToCubeVertices
|
|
/* AB274C 8003B5AC 02203025 */ move $a2, $s1
|
|
/* AB2750 8003B5B0 8FA30054 */ lw $v1, 0x54($sp)
|
|
/* AB2754 8003B5B4 8FA8004C */ lw $t0, 0x4c($sp)
|
|
/* AB2758 8003B5B8 8FA70050 */ lw $a3, 0x50($sp)
|
|
/* AB275C 8003B5BC 00025E00 */ sll $t3, $v0, 0x18
|
|
/* AB2760 8003B5C0 006B1825 */ or $v1, $v1, $t3
|
|
/* AB2764 8003B5C4 00686024 */ and $t4, $v1, $t0
|
|
/* AB2768 8003B5C8 01876824 */ and $t5, $t4, $a3
|
|
/* AB276C 8003B5CC 11A00003 */ beqz $t5, .L8003B5DC
|
|
/* AB2770 8003B5D0 AFA30054 */ sw $v1, 0x54($sp)
|
|
/* AB2774 8003B5D4 1000014B */ b .L8003BB04
|
|
/* AB2778 8003B5D8 00001025 */ move $v0, $zero
|
|
.L8003B5DC:
|
|
/* AB277C 8003B5DC 8FA40044 */ lw $a0, 0x44($sp)
|
|
/* AB2780 8003B5E0 27A50088 */ addiu $a1, $sp, 0x88
|
|
/* AB2784 8003B5E4 27A60084 */ addiu $a2, $sp, 0x84
|
|
/* AB2788 8003B5E8 0C00E275 */ jal func_800389D4
|
|
/* AB278C 8003B5EC 27A70080 */ addiu $a3, $sp, 0x80
|
|
/* AB2790 8003B5F0 8FAE0044 */ lw $t6, 0x44($sp)
|
|
/* AB2794 8003B5F4 C7A60084 */ lwc1 $f6, 0x84($sp)
|
|
/* AB2798 8003B5F8 C7A80080 */ lwc1 $f8, 0x80($sp)
|
|
/* AB279C 8003B5FC 85CF000E */ lh $t7, 0xe($t6)
|
|
/* AB27A0 8003B600 E7A60010 */ swc1 $f6, 0x10($sp)
|
|
/* AB27A4 8003B604 E7A80014 */ swc1 $f8, 0x14($sp)
|
|
/* AB27A8 8003B608 448F2000 */ mtc1 $t7, $f4
|
|
/* AB27AC 8003B60C 27B800B4 */ addiu $t8, $sp, 0xb4
|
|
/* AB27B0 8003B610 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB27B4 8003B614 46802020 */ cvt.s.w $f0, $f4
|
|
/* AB27B8 8003B618 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB27BC 8003B61C 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB27C0 8003B620 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB27C4 8003B624 E7A00018 */ swc1 $f0, 0x18($sp)
|
|
/* AB27C8 8003B628 C60A0008 */ lwc1 $f10, 8($s0)
|
|
/* AB27CC 8003B62C E7AA001C */ swc1 $f10, 0x1c($sp)
|
|
/* AB27D0 8003B630 C6100000 */ lwc1 $f16, ($s0)
|
|
/* AB27D4 8003B634 AFB80024 */ sw $t8, 0x24($sp)
|
|
/* AB27D8 8003B638 E7B00020 */ swc1 $f16, 0x20($sp)
|
|
/* AB27DC 8003B63C C6120004 */ lwc1 $f18, 4($s0)
|
|
/* AB27E0 8003B640 E7B20028 */ swc1 $f18, 0x28($sp)
|
|
/* AB27E4 8003B644 C6240004 */ lwc1 $f4, 4($s1)
|
|
/* AB27E8 8003B648 E7A0007C */ swc1 $f0, 0x7c($sp)
|
|
/* AB27EC 8003B64C 0C03345A */ jal Math3D_TriChkLineSegParaYIntersect
|
|
/* AB27F0 8003B650 E7A4002C */ swc1 $f4, 0x2c($sp)
|
|
/* AB27F4 8003B654 14400043 */ bnez $v0, .L8003B764
|
|
/* AB27F8 8003B658 C7A60084 */ lwc1 $f6, 0x84($sp)
|
|
/* AB27FC 8003B65C C7A80080 */ lwc1 $f8, 0x80($sp)
|
|
/* AB2800 8003B660 C7AA007C */ lwc1 $f10, 0x7c($sp)
|
|
/* AB2804 8003B664 E7A60010 */ swc1 $f6, 0x10($sp)
|
|
/* AB2808 8003B668 E7A80014 */ swc1 $f8, 0x14($sp)
|
|
/* AB280C 8003B66C E7AA0018 */ swc1 $f10, 0x18($sp)
|
|
/* AB2810 8003B670 C6300008 */ lwc1 $f16, 8($s1)
|
|
/* AB2814 8003B674 27B900B4 */ addiu $t9, $sp, 0xb4
|
|
/* AB2818 8003B678 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB281C 8003B67C E7B0001C */ swc1 $f16, 0x1c($sp)
|
|
/* AB2820 8003B680 C6120000 */ lwc1 $f18, ($s0)
|
|
/* AB2824 8003B684 AFB90024 */ sw $t9, 0x24($sp)
|
|
/* AB2828 8003B688 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB282C 8003B68C E7B20020 */ swc1 $f18, 0x20($sp)
|
|
/* AB2830 8003B690 C6040004 */ lwc1 $f4, 4($s0)
|
|
/* AB2834 8003B694 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2838 8003B698 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB283C 8003B69C E7A40028 */ swc1 $f4, 0x28($sp)
|
|
/* AB2840 8003B6A0 C6260004 */ lwc1 $f6, 4($s1)
|
|
/* AB2844 8003B6A4 0C03345A */ jal Math3D_TriChkLineSegParaYIntersect
|
|
/* AB2848 8003B6A8 E7A6002C */ swc1 $f6, 0x2c($sp)
|
|
/* AB284C 8003B6AC 1440002D */ bnez $v0, .L8003B764
|
|
/* AB2850 8003B6B0 C7A80084 */ lwc1 $f8, 0x84($sp)
|
|
/* AB2854 8003B6B4 C7AA0080 */ lwc1 $f10, 0x80($sp)
|
|
/* AB2858 8003B6B8 C7B0007C */ lwc1 $f16, 0x7c($sp)
|
|
/* AB285C 8003B6BC E7A80010 */ swc1 $f8, 0x10($sp)
|
|
/* AB2860 8003B6C0 E7AA0014 */ swc1 $f10, 0x14($sp)
|
|
/* AB2864 8003B6C4 E7B00018 */ swc1 $f16, 0x18($sp)
|
|
/* AB2868 8003B6C8 C6120008 */ lwc1 $f18, 8($s0)
|
|
/* AB286C 8003B6CC 27A900B4 */ addiu $t1, $sp, 0xb4
|
|
/* AB2870 8003B6D0 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2874 8003B6D4 E7B2001C */ swc1 $f18, 0x1c($sp)
|
|
/* AB2878 8003B6D8 C6240000 */ lwc1 $f4, ($s1)
|
|
/* AB287C 8003B6DC AFA90024 */ sw $t1, 0x24($sp)
|
|
/* AB2880 8003B6E0 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2884 8003B6E4 E7A40020 */ swc1 $f4, 0x20($sp)
|
|
/* AB2888 8003B6E8 C6060004 */ lwc1 $f6, 4($s0)
|
|
/* AB288C 8003B6EC 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2890 8003B6F0 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB2894 8003B6F4 E7A60028 */ swc1 $f6, 0x28($sp)
|
|
/* AB2898 8003B6F8 C6280004 */ lwc1 $f8, 4($s1)
|
|
/* AB289C 8003B6FC 0C03345A */ jal Math3D_TriChkLineSegParaYIntersect
|
|
/* AB28A0 8003B700 E7A8002C */ swc1 $f8, 0x2c($sp)
|
|
/* AB28A4 8003B704 14400017 */ bnez $v0, .L8003B764
|
|
/* AB28A8 8003B708 C7AA0084 */ lwc1 $f10, 0x84($sp)
|
|
/* AB28AC 8003B70C C7B00080 */ lwc1 $f16, 0x80($sp)
|
|
/* AB28B0 8003B710 C7B2007C */ lwc1 $f18, 0x7c($sp)
|
|
/* AB28B4 8003B714 E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* AB28B8 8003B718 E7B00014 */ swc1 $f16, 0x14($sp)
|
|
/* AB28BC 8003B71C E7B20018 */ swc1 $f18, 0x18($sp)
|
|
/* AB28C0 8003B720 C6240008 */ lwc1 $f4, 8($s1)
|
|
/* AB28C4 8003B724 27AA00B4 */ addiu $t2, $sp, 0xb4
|
|
/* AB28C8 8003B728 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB28CC 8003B72C E7A4001C */ swc1 $f4, 0x1c($sp)
|
|
/* AB28D0 8003B730 C6260000 */ lwc1 $f6, ($s1)
|
|
/* AB28D4 8003B734 AFAA0024 */ sw $t2, 0x24($sp)
|
|
/* AB28D8 8003B738 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB28DC 8003B73C E7A60020 */ swc1 $f6, 0x20($sp)
|
|
/* AB28E0 8003B740 C6080004 */ lwc1 $f8, 4($s0)
|
|
/* AB28E4 8003B744 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB28E8 8003B748 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB28EC 8003B74C E7A80028 */ swc1 $f8, 0x28($sp)
|
|
/* AB28F0 8003B750 C62A0004 */ lwc1 $f10, 4($s1)
|
|
/* AB28F4 8003B754 0C03345A */ jal Math3D_TriChkLineSegParaYIntersect
|
|
/* AB28F8 8003B758 E7AA002C */ swc1 $f10, 0x2c($sp)
|
|
/* AB28FC 8003B75C 10400003 */ beqz $v0, .L8003B76C
|
|
/* AB2900 8003B760 C7B00084 */ lwc1 $f16, 0x84($sp)
|
|
.L8003B764:
|
|
/* AB2904 8003B764 100000E7 */ b .L8003BB04
|
|
/* AB2908 8003B768 24020001 */ li $v0, 1
|
|
.L8003B76C:
|
|
/* AB290C 8003B76C C7B20080 */ lwc1 $f18, 0x80($sp)
|
|
/* AB2910 8003B770 C7A4007C */ lwc1 $f4, 0x7c($sp)
|
|
/* AB2914 8003B774 E7B00010 */ swc1 $f16, 0x10($sp)
|
|
/* AB2918 8003B778 E7B20014 */ swc1 $f18, 0x14($sp)
|
|
/* AB291C 8003B77C E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* AB2920 8003B780 C6060000 */ lwc1 $f6, ($s0)
|
|
/* AB2924 8003B784 27AB00B4 */ addiu $t3, $sp, 0xb4
|
|
/* AB2928 8003B788 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB292C 8003B78C E7A6001C */ swc1 $f6, 0x1c($sp)
|
|
/* AB2930 8003B790 C6080004 */ lwc1 $f8, 4($s0)
|
|
/* AB2934 8003B794 AFAB0024 */ sw $t3, 0x24($sp)
|
|
/* AB2938 8003B798 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB293C 8003B79C E7A80020 */ swc1 $f8, 0x20($sp)
|
|
/* AB2940 8003B7A0 C60A0008 */ lwc1 $f10, 8($s0)
|
|
/* AB2944 8003B7A4 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2948 8003B7A8 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB294C 8003B7AC E7AA0028 */ swc1 $f10, 0x28($sp)
|
|
/* AB2950 8003B7B0 C6300008 */ lwc1 $f16, 8($s1)
|
|
/* AB2954 8003B7B4 0C0337A2 */ jal Math3D_TriChkLineSegParaZIntersect
|
|
/* AB2958 8003B7B8 E7B0002C */ swc1 $f16, 0x2c($sp)
|
|
/* AB295C 8003B7BC 14400043 */ bnez $v0, .L8003B8CC
|
|
/* AB2960 8003B7C0 C7B20084 */ lwc1 $f18, 0x84($sp)
|
|
/* AB2964 8003B7C4 C7A40080 */ lwc1 $f4, 0x80($sp)
|
|
/* AB2968 8003B7C8 C7A6007C */ lwc1 $f6, 0x7c($sp)
|
|
/* AB296C 8003B7CC E7B20010 */ swc1 $f18, 0x10($sp)
|
|
/* AB2970 8003B7D0 E7A40014 */ swc1 $f4, 0x14($sp)
|
|
/* AB2974 8003B7D4 E7A60018 */ swc1 $f6, 0x18($sp)
|
|
/* AB2978 8003B7D8 C6080000 */ lwc1 $f8, ($s0)
|
|
/* AB297C 8003B7DC 27AC00B4 */ addiu $t4, $sp, 0xb4
|
|
/* AB2980 8003B7E0 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2984 8003B7E4 E7A8001C */ swc1 $f8, 0x1c($sp)
|
|
/* AB2988 8003B7E8 C62A0004 */ lwc1 $f10, 4($s1)
|
|
/* AB298C 8003B7EC AFAC0024 */ sw $t4, 0x24($sp)
|
|
/* AB2990 8003B7F0 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2994 8003B7F4 E7AA0020 */ swc1 $f10, 0x20($sp)
|
|
/* AB2998 8003B7F8 C6100008 */ lwc1 $f16, 8($s0)
|
|
/* AB299C 8003B7FC 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB29A0 8003B800 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB29A4 8003B804 E7B00028 */ swc1 $f16, 0x28($sp)
|
|
/* AB29A8 8003B808 C6320008 */ lwc1 $f18, 8($s1)
|
|
/* AB29AC 8003B80C 0C0337A2 */ jal Math3D_TriChkLineSegParaZIntersect
|
|
/* AB29B0 8003B810 E7B2002C */ swc1 $f18, 0x2c($sp)
|
|
/* AB29B4 8003B814 1440002D */ bnez $v0, .L8003B8CC
|
|
/* AB29B8 8003B818 C7A40084 */ lwc1 $f4, 0x84($sp)
|
|
/* AB29BC 8003B81C C7A60080 */ lwc1 $f6, 0x80($sp)
|
|
/* AB29C0 8003B820 C7A8007C */ lwc1 $f8, 0x7c($sp)
|
|
/* AB29C4 8003B824 E7A40010 */ swc1 $f4, 0x10($sp)
|
|
/* AB29C8 8003B828 E7A60014 */ swc1 $f6, 0x14($sp)
|
|
/* AB29CC 8003B82C E7A80018 */ swc1 $f8, 0x18($sp)
|
|
/* AB29D0 8003B830 C62A0000 */ lwc1 $f10, ($s1)
|
|
/* AB29D4 8003B834 27AD00B4 */ addiu $t5, $sp, 0xb4
|
|
/* AB29D8 8003B838 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB29DC 8003B83C E7AA001C */ swc1 $f10, 0x1c($sp)
|
|
/* AB29E0 8003B840 C6100004 */ lwc1 $f16, 4($s0)
|
|
/* AB29E4 8003B844 AFAD0024 */ sw $t5, 0x24($sp)
|
|
/* AB29E8 8003B848 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB29EC 8003B84C E7B00020 */ swc1 $f16, 0x20($sp)
|
|
/* AB29F0 8003B850 C6120008 */ lwc1 $f18, 8($s0)
|
|
/* AB29F4 8003B854 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB29F8 8003B858 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB29FC 8003B85C E7B20028 */ swc1 $f18, 0x28($sp)
|
|
/* AB2A00 8003B860 C6240008 */ lwc1 $f4, 8($s1)
|
|
/* AB2A04 8003B864 0C0337A2 */ jal Math3D_TriChkLineSegParaZIntersect
|
|
/* AB2A08 8003B868 E7A4002C */ swc1 $f4, 0x2c($sp)
|
|
/* AB2A0C 8003B86C 14400017 */ bnez $v0, .L8003B8CC
|
|
/* AB2A10 8003B870 C7A60084 */ lwc1 $f6, 0x84($sp)
|
|
/* AB2A14 8003B874 C7A80080 */ lwc1 $f8, 0x80($sp)
|
|
/* AB2A18 8003B878 C7AA007C */ lwc1 $f10, 0x7c($sp)
|
|
/* AB2A1C 8003B87C E7A60010 */ swc1 $f6, 0x10($sp)
|
|
/* AB2A20 8003B880 E7A80014 */ swc1 $f8, 0x14($sp)
|
|
/* AB2A24 8003B884 E7AA0018 */ swc1 $f10, 0x18($sp)
|
|
/* AB2A28 8003B888 C6300000 */ lwc1 $f16, ($s1)
|
|
/* AB2A2C 8003B88C 27AE00B4 */ addiu $t6, $sp, 0xb4
|
|
/* AB2A30 8003B890 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2A34 8003B894 E7B0001C */ swc1 $f16, 0x1c($sp)
|
|
/* AB2A38 8003B898 C6320004 */ lwc1 $f18, 4($s1)
|
|
/* AB2A3C 8003B89C AFAE0024 */ sw $t6, 0x24($sp)
|
|
/* AB2A40 8003B8A0 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2A44 8003B8A4 E7B20020 */ swc1 $f18, 0x20($sp)
|
|
/* AB2A48 8003B8A8 C6040008 */ lwc1 $f4, 8($s0)
|
|
/* AB2A4C 8003B8AC 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2A50 8003B8B0 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB2A54 8003B8B4 E7A40028 */ swc1 $f4, 0x28($sp)
|
|
/* AB2A58 8003B8B8 C6260008 */ lwc1 $f6, 8($s1)
|
|
/* AB2A5C 8003B8BC 0C0337A2 */ jal Math3D_TriChkLineSegParaZIntersect
|
|
/* AB2A60 8003B8C0 E7A6002C */ swc1 $f6, 0x2c($sp)
|
|
/* AB2A64 8003B8C4 10400003 */ beqz $v0, .L8003B8D4
|
|
/* AB2A68 8003B8C8 C7A80084 */ lwc1 $f8, 0x84($sp)
|
|
.L8003B8CC:
|
|
/* AB2A6C 8003B8CC 1000008D */ b .L8003BB04
|
|
/* AB2A70 8003B8D0 24020001 */ li $v0, 1
|
|
.L8003B8D4:
|
|
/* AB2A74 8003B8D4 C7AA0080 */ lwc1 $f10, 0x80($sp)
|
|
/* AB2A78 8003B8D8 C7B0007C */ lwc1 $f16, 0x7c($sp)
|
|
/* AB2A7C 8003B8DC E7A80010 */ swc1 $f8, 0x10($sp)
|
|
/* AB2A80 8003B8E0 E7AA0014 */ swc1 $f10, 0x14($sp)
|
|
/* AB2A84 8003B8E4 E7B00018 */ swc1 $f16, 0x18($sp)
|
|
/* AB2A88 8003B8E8 C6120004 */ lwc1 $f18, 4($s0)
|
|
/* AB2A8C 8003B8EC 27AF00B4 */ addiu $t7, $sp, 0xb4
|
|
/* AB2A90 8003B8F0 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2A94 8003B8F4 E7B2001C */ swc1 $f18, 0x1c($sp)
|
|
/* AB2A98 8003B8F8 C6040008 */ lwc1 $f4, 8($s0)
|
|
/* AB2A9C 8003B8FC AFAF0024 */ sw $t7, 0x24($sp)
|
|
/* AB2AA0 8003B900 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2AA4 8003B904 E7A40020 */ swc1 $f4, 0x20($sp)
|
|
/* AB2AA8 8003B908 C6060000 */ lwc1 $f6, ($s0)
|
|
/* AB2AAC 8003B90C 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2AB0 8003B910 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB2AB4 8003B914 E7A60028 */ swc1 $f6, 0x28($sp)
|
|
/* AB2AB8 8003B918 C6280000 */ lwc1 $f8, ($s1)
|
|
/* AB2ABC 8003B91C 0C0335F6 */ jal Math3D_TriChkLineSegParaXIntersect
|
|
/* AB2AC0 8003B920 E7A8002C */ swc1 $f8, 0x2c($sp)
|
|
/* AB2AC4 8003B924 14400043 */ bnez $v0, .L8003BA34
|
|
/* AB2AC8 8003B928 C7AA0084 */ lwc1 $f10, 0x84($sp)
|
|
/* AB2ACC 8003B92C C7B00080 */ lwc1 $f16, 0x80($sp)
|
|
/* AB2AD0 8003B930 C7B2007C */ lwc1 $f18, 0x7c($sp)
|
|
/* AB2AD4 8003B934 E7AA0010 */ swc1 $f10, 0x10($sp)
|
|
/* AB2AD8 8003B938 E7B00014 */ swc1 $f16, 0x14($sp)
|
|
/* AB2ADC 8003B93C E7B20018 */ swc1 $f18, 0x18($sp)
|
|
/* AB2AE0 8003B940 C6040004 */ lwc1 $f4, 4($s0)
|
|
/* AB2AE4 8003B944 27B800B4 */ addiu $t8, $sp, 0xb4
|
|
/* AB2AE8 8003B948 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2AEC 8003B94C E7A4001C */ swc1 $f4, 0x1c($sp)
|
|
/* AB2AF0 8003B950 C6260008 */ lwc1 $f6, 8($s1)
|
|
/* AB2AF4 8003B954 AFB80024 */ sw $t8, 0x24($sp)
|
|
/* AB2AF8 8003B958 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2AFC 8003B95C E7A60020 */ swc1 $f6, 0x20($sp)
|
|
/* AB2B00 8003B960 C6080000 */ lwc1 $f8, ($s0)
|
|
/* AB2B04 8003B964 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2B08 8003B968 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB2B0C 8003B96C E7A80028 */ swc1 $f8, 0x28($sp)
|
|
/* AB2B10 8003B970 C62A0000 */ lwc1 $f10, ($s1)
|
|
/* AB2B14 8003B974 0C0335F6 */ jal Math3D_TriChkLineSegParaXIntersect
|
|
/* AB2B18 8003B978 E7AA002C */ swc1 $f10, 0x2c($sp)
|
|
/* AB2B1C 8003B97C 1440002D */ bnez $v0, .L8003BA34
|
|
/* AB2B20 8003B980 C7B00084 */ lwc1 $f16, 0x84($sp)
|
|
/* AB2B24 8003B984 C7B20080 */ lwc1 $f18, 0x80($sp)
|
|
/* AB2B28 8003B988 C7A4007C */ lwc1 $f4, 0x7c($sp)
|
|
/* AB2B2C 8003B98C E7B00010 */ swc1 $f16, 0x10($sp)
|
|
/* AB2B30 8003B990 E7B20014 */ swc1 $f18, 0x14($sp)
|
|
/* AB2B34 8003B994 E7A40018 */ swc1 $f4, 0x18($sp)
|
|
/* AB2B38 8003B998 C6260004 */ lwc1 $f6, 4($s1)
|
|
/* AB2B3C 8003B99C 27B900B4 */ addiu $t9, $sp, 0xb4
|
|
/* AB2B40 8003B9A0 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2B44 8003B9A4 E7A6001C */ swc1 $f6, 0x1c($sp)
|
|
/* AB2B48 8003B9A8 C6080008 */ lwc1 $f8, 8($s0)
|
|
/* AB2B4C 8003B9AC AFB90024 */ sw $t9, 0x24($sp)
|
|
/* AB2B50 8003B9B0 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2B54 8003B9B4 E7A80020 */ swc1 $f8, 0x20($sp)
|
|
/* AB2B58 8003B9B8 C60A0000 */ lwc1 $f10, ($s0)
|
|
/* AB2B5C 8003B9BC 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2B60 8003B9C0 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB2B64 8003B9C4 E7AA0028 */ swc1 $f10, 0x28($sp)
|
|
/* AB2B68 8003B9C8 C6300000 */ lwc1 $f16, ($s1)
|
|
/* AB2B6C 8003B9CC 0C0335F6 */ jal Math3D_TriChkLineSegParaXIntersect
|
|
/* AB2B70 8003B9D0 E7B0002C */ swc1 $f16, 0x2c($sp)
|
|
/* AB2B74 8003B9D4 14400017 */ bnez $v0, .L8003BA34
|
|
/* AB2B78 8003B9D8 C7B20084 */ lwc1 $f18, 0x84($sp)
|
|
/* AB2B7C 8003B9DC C7A40080 */ lwc1 $f4, 0x80($sp)
|
|
/* AB2B80 8003B9E0 C7A6007C */ lwc1 $f6, 0x7c($sp)
|
|
/* AB2B84 8003B9E4 E7B20010 */ swc1 $f18, 0x10($sp)
|
|
/* AB2B88 8003B9E8 E7A40014 */ swc1 $f4, 0x14($sp)
|
|
/* AB2B8C 8003B9EC E7A60018 */ swc1 $f6, 0x18($sp)
|
|
/* AB2B90 8003B9F0 C6280004 */ lwc1 $f8, 4($s1)
|
|
/* AB2B94 8003B9F4 27A900B4 */ addiu $t1, $sp, 0xb4
|
|
/* AB2B98 8003B9F8 27A40070 */ addiu $a0, $sp, 0x70
|
|
/* AB2B9C 8003B9FC E7A8001C */ swc1 $f8, 0x1c($sp)
|
|
/* AB2BA0 8003BA00 C62A0008 */ lwc1 $f10, 8($s1)
|
|
/* AB2BA4 8003BA04 AFA90024 */ sw $t1, 0x24($sp)
|
|
/* AB2BA8 8003BA08 27A50064 */ addiu $a1, $sp, 0x64
|
|
/* AB2BAC 8003BA0C E7AA0020 */ swc1 $f10, 0x20($sp)
|
|
/* AB2BB0 8003BA10 C6100000 */ lwc1 $f16, ($s0)
|
|
/* AB2BB4 8003BA14 27A60058 */ addiu $a2, $sp, 0x58
|
|
/* AB2BB8 8003BA18 8FA70088 */ lw $a3, 0x88($sp)
|
|
/* AB2BBC 8003BA1C E7B00028 */ swc1 $f16, 0x28($sp)
|
|
/* AB2BC0 8003BA20 C6320000 */ lwc1 $f18, ($s1)
|
|
/* AB2BC4 8003BA24 0C0335F6 */ jal Math3D_TriChkLineSegParaXIntersect
|
|
/* AB2BC8 8003BA28 E7B2002C */ swc1 $f18, 0x2c($sp)
|
|
/* AB2BCC 8003BA2C 10400003 */ beqz $v0, .L8003BA3C
|
|
/* AB2BD0 8003BA30 8FAA0044 */ lw $t2, 0x44($sp)
|
|
.L8003BA34:
|
|
/* AB2BD4 8003BA34 10000033 */ b .L8003BB04
|
|
/* AB2BD8 8003BA38 24020001 */ li $v0, 1
|
|
.L8003BA3C:
|
|
/* AB2BDC 8003BA3C 954B0002 */ lhu $t3, 2($t2)
|
|
/* AB2BE0 8003BA40 8FAE00C4 */ lw $t6, 0xc4($sp)
|
|
/* AB2BE4 8003BA44 27A500A8 */ addiu $a1, $sp, 0xa8
|
|
/* AB2BE8 8003BA48 316C1FFF */ andi $t4, $t3, 0x1fff
|
|
/* AB2BEC 8003BA4C 000C6880 */ sll $t5, $t4, 2
|
|
/* AB2BF0 8003BA50 01AC6823 */ subu $t5, $t5, $t4
|
|
/* AB2BF4 8003BA54 000D6840 */ sll $t5, $t5, 1
|
|
/* AB2BF8 8003BA58 0C00E22A */ jal func_800388A8
|
|
/* AB2BFC 8003BA5C 01AE2021 */ addu $a0, $t5, $t6
|
|
/* AB2C00 8003BA60 8FAF0044 */ lw $t7, 0x44($sp)
|
|
/* AB2C04 8003BA64 8FAA00C4 */ lw $t2, 0xc4($sp)
|
|
/* AB2C08 8003BA68 27A5009C */ addiu $a1, $sp, 0x9c
|
|
/* AB2C0C 8003BA6C 95F80004 */ lhu $t8, 4($t7)
|
|
/* AB2C10 8003BA70 33191FFF */ andi $t9, $t8, 0x1fff
|
|
/* AB2C14 8003BA74 00194880 */ sll $t1, $t9, 2
|
|
/* AB2C18 8003BA78 01394823 */ subu $t1, $t1, $t9
|
|
/* AB2C1C 8003BA7C 00094840 */ sll $t1, $t1, 1
|
|
/* AB2C20 8003BA80 0C00E22A */ jal func_800388A8
|
|
/* AB2C24 8003BA84 012A2021 */ addu $a0, $t1, $t2
|
|
/* AB2C28 8003BA88 8FAB0044 */ lw $t3, 0x44($sp)
|
|
/* AB2C2C 8003BA8C 8FAE00C4 */ lw $t6, 0xc4($sp)
|
|
/* AB2C30 8003BA90 27A50090 */ addiu $a1, $sp, 0x90
|
|
/* AB2C34 8003BA94 956C0006 */ lhu $t4, 6($t3)
|
|
/* AB2C38 8003BA98 000C6880 */ sll $t5, $t4, 2
|
|
/* AB2C3C 8003BA9C 01AC6823 */ subu $t5, $t5, $t4
|
|
/* AB2C40 8003BAA0 000D6840 */ sll $t5, $t5, 1
|
|
/* AB2C44 8003BAA4 0C00E22A */ jal func_800388A8
|
|
/* AB2C48 8003BAA8 01AE2021 */ addu $a0, $t5, $t6
|
|
/* AB2C4C 8003BAAC 02002025 */ move $a0, $s0
|
|
/* AB2C50 8003BAB0 02202825 */ move $a1, $s1
|
|
/* AB2C54 8003BAB4 27A600A8 */ addiu $a2, $sp, 0xa8
|
|
/* AB2C58 8003BAB8 0C032F18 */ jal Math3D_LineVsCube
|
|
/* AB2C5C 8003BABC 27A7009C */ addiu $a3, $sp, 0x9c
|
|
/* AB2C60 8003BAC0 1440000D */ bnez $v0, .L8003BAF8
|
|
/* AB2C64 8003BAC4 02002025 */ move $a0, $s0
|
|
/* AB2C68 8003BAC8 02202825 */ move $a1, $s1
|
|
/* AB2C6C 8003BACC 27A6009C */ addiu $a2, $sp, 0x9c
|
|
/* AB2C70 8003BAD0 0C032F18 */ jal Math3D_LineVsCube
|
|
/* AB2C74 8003BAD4 27A70090 */ addiu $a3, $sp, 0x90
|
|
/* AB2C78 8003BAD8 14400007 */ bnez $v0, .L8003BAF8
|
|
/* AB2C7C 8003BADC 02002025 */ move $a0, $s0
|
|
/* AB2C80 8003BAE0 02202825 */ move $a1, $s1
|
|
/* AB2C84 8003BAE4 27A60090 */ addiu $a2, $sp, 0x90
|
|
/* AB2C88 8003BAE8 0C032F18 */ jal Math3D_LineVsCube
|
|
/* AB2C8C 8003BAEC 27A700A8 */ addiu $a3, $sp, 0xa8
|
|
/* AB2C90 8003BAF0 50400004 */ beql $v0, $zero, .L8003BB04
|
|
/* AB2C94 8003BAF4 00001025 */ move $v0, $zero
|
|
.L8003BAF8:
|
|
/* AB2C98 8003BAF8 10000002 */ b .L8003BB04
|
|
/* AB2C9C 8003BAFC 24020001 */ li $v0, 1
|
|
/* AB2CA0 8003BB00 00001025 */ move $v0, $zero
|
|
.L8003BB04:
|
|
/* AB2CA4 8003BB04 8FBF003C */ lw $ra, 0x3c($sp)
|
|
/* AB2CA8 8003BB08 8FB00034 */ lw $s0, 0x34($sp)
|
|
/* AB2CAC 8003BB0C 8FB10038 */ lw $s1, 0x38($sp)
|
|
/* AB2CB0 8003BB10 03E00008 */ jr $ra
|
|
/* AB2CB4 8003BB14 27BD00B8 */ addiu $sp, $sp, 0xb8
|
|
|