From 99b7c97f01be99e5a2e32e4f6ae7c9287658eca3 Mon Sep 17 00:00:00 2001 From: Mr-Wiseguy <68165316+Mr-Wiseguy@users.noreply.github.com> Date: Mon, 2 Nov 2020 00:43:39 -0500 Subject: [PATCH] Matching in ovl0_6 (#33) --- asm/non_matchings/ovl0/ovl0_4/func_800171E0.s | 6 +- asm/non_matchings/ovl0/ovl0_6/func_80019A30.s | 141 - asm/non_matchings/ovl0/ovl0_6/func_80019C60.s | 110 - asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s | 164 -- asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s | 30 - asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s | 183 -- asm/non_matchings/ovl0/ovl0_6/func_8001A488.s | 2 +- asm/non_matchings/ovl0/ovl0_6/func_8001A504.s | 259 -- asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s | 31 - asm/non_matchings/ovl0/ovl0_6/func_8001A964.s | 278 -- asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s | 2 +- asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s | 109 - asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s | 26 - asm/non_matchings/ovl0/ovl0_6/func_8001B008.s | 2 +- asm/non_matchings/ovl1/ovl1/func_8009E8F4.s | 6 +- data/kirby.039DF0.0.5.c | 2402 ++--------------- src/ovl0/ovl0_6.c | 1162 ++++---- src/ovl0/ovl0_8.h | 29 + tools/non_matchings.txt | 8 - undefined_syms.txt | 15 +- 20 files changed, 792 insertions(+), 4173 deletions(-) delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_80019A30.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_80019C60.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001A504.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001A964.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s delete mode 100644 asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s create mode 100644 src/ovl0/ovl0_8.h diff --git a/asm/non_matchings/ovl0/ovl0_4/func_800171E0.s b/asm/non_matchings/ovl0/ovl0_4/func_800171E0.s index 9b400f74..b0671dbb 100644 --- a/asm/non_matchings/ovl0/ovl0_4/func_800171E0.s +++ b/asm/non_matchings/ovl0/ovl0_4/func_800171E0.s @@ -111,7 +111,7 @@ glabel func_800171E0 /* 017F8C 8001738C C6080030 */ lwc1 $f8, 0x30($s0) /* 017F90 80017390 E7A80018 */ swc1 $f8, 0x18($sp) /* 017F94 80017394 C60A0034 */ lwc1 $f10, 0x34($s0) -/* 017F98 80017398 0C006BE9 */ jal func_8001AFA4 +/* 017F98 80017398 0C006BE9 */ jal guOrtho /* 017F9C 8001739C E7AA001C */ swc1 $f10, 0x1c($sp) /* 017FA0 800173A0 AEF20000 */ sw $s2, ($s7) /* 017FA4 800173A4 100000A9 */ b .L8001764C_ovl0 @@ -131,7 +131,7 @@ glabel func_800171E0 /* 017FDC 800173DC C6080058 */ lwc1 $f8, 0x58($s0) /* 017FE0 800173E0 E7A80020 */ swc1 $f8, 0x20($sp) /* 017FE4 800173E4 C60A005C */ lwc1 $f10, 0x5c($s0) -/* 017FE8 800173E8 0C00684F */ jal func_8001A13C +/* 017FE8 800173E8 0C00684F */ jal guLookAt /* 017FEC 800173EC E7AA0024 */ swc1 $f10, 0x24($sp) /* 017FF0 800173F0 C610005C */ lwc1 $f16, 0x5c($s0) /* 017FF4 800173F4 C6120058 */ lwc1 $f18, 0x58($s0) @@ -205,7 +205,7 @@ glabel func_800171E0 /* 018100 80017500 C6060058 */ lwc1 $f6, 0x58($s0) /* 018104 80017504 E7A60024 */ swc1 $f6, 0x24($sp) /* 018108 80017508 C608005C */ lwc1 $f8, 0x5c($s0) -/* 01810C 8001750C 0C006A3B */ jal func_8001A8EC +/* 01810C 8001750C 0C006A3B */ jal guLookAtReflect /* 018110 80017510 E7A80028 */ swc1 $f8, 0x28($sp) /* 018114 80017514 C60A005C */ lwc1 $f10, 0x5c($s0) /* 018118 80017518 C6100058 */ lwc1 $f16, 0x58($s0) diff --git a/asm/non_matchings/ovl0/ovl0_6/func_80019A30.s b/asm/non_matchings/ovl0/ovl0_6/func_80019A30.s deleted file mode 100644 index e15d6a40..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_80019A30.s +++ /dev/null @@ -1,141 +0,0 @@ -glabel func_80019A30 -/* 01A630 80019A30 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 01A634 80019A34 44810000 */ mtc1 $at, $f0 -/* 01A638 80019A38 C4840000 */ lwc1 $f4, ($a0) -/* 01A63C 80019A3C C48A0004 */ lwc1 $f10, 4($a0) -/* 01A640 80019A40 3C06FFFF */ lui $a2, 0xffff -/* 01A644 80019A44 46002182 */ mul.s $f6, $f4, $f0 -/* 01A648 80019A48 00000000 */ nop -/* 01A64C 80019A4C 46005402 */ mul.s $f16, $f10, $f0 -/* 01A650 80019A50 4600320D */ trunc.w.s $f8, $f6 -/* 01A654 80019A54 4600848D */ trunc.w.s $f18, $f16 -/* 01A658 80019A58 44024000 */ mfc1 $v0, $f8 -/* 01A65C 80019A5C 44039000 */ mfc1 $v1, $f18 -/* 01A660 80019A60 0046C024 */ and $t8, $v0, $a2 -/* 01A664 80019A64 00024C00 */ sll $t1, $v0, 0x10 -/* 01A668 80019A68 0003CC02 */ srl $t9, $v1, 0x10 -/* 01A66C 80019A6C 306AFFFF */ andi $t2, $v1, 0xffff -/* 01A670 80019A70 03194025 */ or $t0, $t8, $t9 -/* 01A674 80019A74 012A5825 */ or $t3, $t1, $t2 -/* 01A678 80019A78 ACA80000 */ sw $t0, ($a1) -/* 01A67C 80019A7C ACAB0020 */ sw $t3, 0x20($a1) -/* 01A680 80019A80 C4840008 */ lwc1 $f4, 8($a0) -/* 01A684 80019A84 C48A000C */ lwc1 $f10, 0xc($a0) -/* 01A688 80019A88 46002182 */ mul.s $f6, $f4, $f0 -/* 01A68C 80019A8C 00000000 */ nop -/* 01A690 80019A90 46005402 */ mul.s $f16, $f10, $f0 -/* 01A694 80019A94 4600320D */ trunc.w.s $f8, $f6 -/* 01A698 80019A98 4600848D */ trunc.w.s $f18, $f16 -/* 01A69C 80019A9C 44024000 */ mfc1 $v0, $f8 -/* 01A6A0 80019AA0 44039000 */ mfc1 $v1, $f18 -/* 01A6A4 80019AA4 00467024 */ and $t6, $v0, $a2 -/* 01A6A8 80019AA8 0002CC00 */ sll $t9, $v0, 0x10 -/* 01A6AC 80019AAC 00037C02 */ srl $t7, $v1, 0x10 -/* 01A6B0 80019AB0 3068FFFF */ andi $t0, $v1, 0xffff -/* 01A6B4 80019AB4 01CFC025 */ or $t8, $t6, $t7 -/* 01A6B8 80019AB8 03284825 */ or $t1, $t9, $t0 -/* 01A6BC 80019ABC ACB80004 */ sw $t8, 4($a1) -/* 01A6C0 80019AC0 ACA90024 */ sw $t1, 0x24($a1) -/* 01A6C4 80019AC4 C4840010 */ lwc1 $f4, 0x10($a0) -/* 01A6C8 80019AC8 C48A0014 */ lwc1 $f10, 0x14($a0) -/* 01A6CC 80019ACC 46002182 */ mul.s $f6, $f4, $f0 -/* 01A6D0 80019AD0 00000000 */ nop -/* 01A6D4 80019AD4 46005402 */ mul.s $f16, $f10, $f0 -/* 01A6D8 80019AD8 4600320D */ trunc.w.s $f8, $f6 -/* 01A6DC 80019ADC 4600848D */ trunc.w.s $f18, $f16 -/* 01A6E0 80019AE0 44024000 */ mfc1 $v0, $f8 -/* 01A6E4 80019AE4 44039000 */ mfc1 $v1, $f18 -/* 01A6E8 80019AE8 00466024 */ and $t4, $v0, $a2 -/* 01A6EC 80019AEC 00027C00 */ sll $t7, $v0, 0x10 -/* 01A6F0 80019AF0 00036C02 */ srl $t5, $v1, 0x10 -/* 01A6F4 80019AF4 3078FFFF */ andi $t8, $v1, 0xffff -/* 01A6F8 80019AF8 018D7025 */ or $t6, $t4, $t5 -/* 01A6FC 80019AFC 01F8C825 */ or $t9, $t7, $t8 -/* 01A700 80019B00 ACAE0008 */ sw $t6, 8($a1) -/* 01A704 80019B04 ACB90028 */ sw $t9, 0x28($a1) -/* 01A708 80019B08 C4840018 */ lwc1 $f4, 0x18($a0) -/* 01A70C 80019B0C C48A001C */ lwc1 $f10, 0x1c($a0) -/* 01A710 80019B10 46002182 */ mul.s $f6, $f4, $f0 -/* 01A714 80019B14 00000000 */ nop -/* 01A718 80019B18 46005402 */ mul.s $f16, $f10, $f0 -/* 01A71C 80019B1C 4600320D */ trunc.w.s $f8, $f6 -/* 01A720 80019B20 4600848D */ trunc.w.s $f18, $f16 -/* 01A724 80019B24 44024000 */ mfc1 $v0, $f8 -/* 01A728 80019B28 44039000 */ mfc1 $v1, $f18 -/* 01A72C 80019B2C 00465024 */ and $t2, $v0, $a2 -/* 01A730 80019B30 00026C00 */ sll $t5, $v0, 0x10 -/* 01A734 80019B34 00035C02 */ srl $t3, $v1, 0x10 -/* 01A738 80019B38 306EFFFF */ andi $t6, $v1, 0xffff -/* 01A73C 80019B3C 014B6025 */ or $t4, $t2, $t3 -/* 01A740 80019B40 01AE7825 */ or $t7, $t5, $t6 -/* 01A744 80019B44 ACAC000C */ sw $t4, 0xc($a1) -/* 01A748 80019B48 ACAF002C */ sw $t7, 0x2c($a1) -/* 01A74C 80019B4C C4840020 */ lwc1 $f4, 0x20($a0) -/* 01A750 80019B50 C48A0024 */ lwc1 $f10, 0x24($a0) -/* 01A754 80019B54 46002182 */ mul.s $f6, $f4, $f0 -/* 01A758 80019B58 00000000 */ nop -/* 01A75C 80019B5C 46005402 */ mul.s $f16, $f10, $f0 -/* 01A760 80019B60 4600320D */ trunc.w.s $f8, $f6 -/* 01A764 80019B64 4600848D */ trunc.w.s $f18, $f16 -/* 01A768 80019B68 44024000 */ mfc1 $v0, $f8 -/* 01A76C 80019B6C 44039000 */ mfc1 $v1, $f18 -/* 01A770 80019B70 00464024 */ and $t0, $v0, $a2 -/* 01A774 80019B74 00025C00 */ sll $t3, $v0, 0x10 -/* 01A778 80019B78 00034C02 */ srl $t1, $v1, 0x10 -/* 01A77C 80019B7C 306CFFFF */ andi $t4, $v1, 0xffff -/* 01A780 80019B80 01095025 */ or $t2, $t0, $t1 -/* 01A784 80019B84 016C6825 */ or $t5, $t3, $t4 -/* 01A788 80019B88 ACAA0010 */ sw $t2, 0x10($a1) -/* 01A78C 80019B8C ACAD0030 */ sw $t5, 0x30($a1) -/* 01A790 80019B90 C4840028 */ lwc1 $f4, 0x28($a0) -/* 01A794 80019B94 C48A002C */ lwc1 $f10, 0x2c($a0) -/* 01A798 80019B98 46002182 */ mul.s $f6, $f4, $f0 -/* 01A79C 80019B9C 00000000 */ nop -/* 01A7A0 80019BA0 46005402 */ mul.s $f16, $f10, $f0 -/* 01A7A4 80019BA4 4600320D */ trunc.w.s $f8, $f6 -/* 01A7A8 80019BA8 4600848D */ trunc.w.s $f18, $f16 -/* 01A7AC 80019BAC 44024000 */ mfc1 $v0, $f8 -/* 01A7B0 80019BB0 44039000 */ mfc1 $v1, $f18 -/* 01A7B4 80019BB4 0046C024 */ and $t8, $v0, $a2 -/* 01A7B8 80019BB8 00024C00 */ sll $t1, $v0, 0x10 -/* 01A7BC 80019BBC 0003CC02 */ srl $t9, $v1, 0x10 -/* 01A7C0 80019BC0 306AFFFF */ andi $t2, $v1, 0xffff -/* 01A7C4 80019BC4 03194025 */ or $t0, $t8, $t9 -/* 01A7C8 80019BC8 012A5825 */ or $t3, $t1, $t2 -/* 01A7CC 80019BCC ACA80014 */ sw $t0, 0x14($a1) -/* 01A7D0 80019BD0 ACAB0034 */ sw $t3, 0x34($a1) -/* 01A7D4 80019BD4 C4840030 */ lwc1 $f4, 0x30($a0) -/* 01A7D8 80019BD8 C48A0034 */ lwc1 $f10, 0x34($a0) -/* 01A7DC 80019BDC 46002182 */ mul.s $f6, $f4, $f0 -/* 01A7E0 80019BE0 00000000 */ nop -/* 01A7E4 80019BE4 46005402 */ mul.s $f16, $f10, $f0 -/* 01A7E8 80019BE8 4600320D */ trunc.w.s $f8, $f6 -/* 01A7EC 80019BEC 4600848D */ trunc.w.s $f18, $f16 -/* 01A7F0 80019BF0 44024000 */ mfc1 $v0, $f8 -/* 01A7F4 80019BF4 44039000 */ mfc1 $v1, $f18 -/* 01A7F8 80019BF8 00467024 */ and $t6, $v0, $a2 -/* 01A7FC 80019BFC 0002CC00 */ sll $t9, $v0, 0x10 -/* 01A800 80019C00 00037C02 */ srl $t7, $v1, 0x10 -/* 01A804 80019C04 3068FFFF */ andi $t0, $v1, 0xffff -/* 01A808 80019C08 01CFC025 */ or $t8, $t6, $t7 -/* 01A80C 80019C0C 03284825 */ or $t1, $t9, $t0 -/* 01A810 80019C10 ACB80018 */ sw $t8, 0x18($a1) -/* 01A814 80019C14 ACA90038 */ sw $t1, 0x38($a1) -/* 01A818 80019C18 C4840038 */ lwc1 $f4, 0x38($a0) -/* 01A81C 80019C1C C48A003C */ lwc1 $f10, 0x3c($a0) -/* 01A820 80019C20 46002182 */ mul.s $f6, $f4, $f0 -/* 01A824 80019C24 00000000 */ nop -/* 01A828 80019C28 46005402 */ mul.s $f16, $f10, $f0 -/* 01A82C 80019C2C 4600320D */ trunc.w.s $f8, $f6 -/* 01A830 80019C30 4600848D */ trunc.w.s $f18, $f16 -/* 01A834 80019C34 44024000 */ mfc1 $v0, $f8 -/* 01A838 80019C38 44039000 */ mfc1 $v1, $f18 -/* 01A83C 80019C3C 00466024 */ and $t4, $v0, $a2 -/* 01A840 80019C40 00027C00 */ sll $t7, $v0, 0x10 -/* 01A844 80019C44 00036C02 */ srl $t5, $v1, 0x10 -/* 01A848 80019C48 3078FFFF */ andi $t8, $v1, 0xffff -/* 01A84C 80019C4C 018D7025 */ or $t6, $t4, $t5 -/* 01A850 80019C50 01F8C825 */ or $t9, $t7, $t8 -/* 01A854 80019C54 ACAE001C */ sw $t6, 0x1c($a1) -/* 01A858 80019C58 03E00008 */ jr $ra -/* 01A85C 80019C5C ACB9003C */ sw $t9, 0x3c($a1) diff --git a/asm/non_matchings/ovl0/ovl0_6/func_80019C60.s b/asm/non_matchings/ovl0/ovl0_6/func_80019C60.s deleted file mode 100644 index a8f39455..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_80019C60.s +++ /dev/null @@ -1,110 +0,0 @@ -glabel func_80019C60 -/* 01A860 80019C60 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 01A864 80019C64 44810000 */ mtc1 $at, $f0 -/* 01A868 80019C68 C4840000 */ lwc1 $f4, ($a0) -/* 01A86C 80019C6C C48A0004 */ lwc1 $f10, 4($a0) -/* 01A870 80019C70 3C06FFFF */ lui $a2, 0xffff -/* 01A874 80019C74 46002182 */ mul.s $f6, $f4, $f0 -/* 01A878 80019C78 00000000 */ nop -/* 01A87C 80019C7C 46005402 */ mul.s $f16, $f10, $f0 -/* 01A880 80019C80 4600320D */ trunc.w.s $f8, $f6 -/* 01A884 80019C84 4600848D */ trunc.w.s $f18, $f16 -/* 01A888 80019C88 44024000 */ mfc1 $v0, $f8 -/* 01A88C 80019C8C 44039000 */ mfc1 $v1, $f18 -/* 01A890 80019C90 0046C024 */ and $t8, $v0, $a2 -/* 01A894 80019C94 00024C00 */ sll $t1, $v0, 0x10 -/* 01A898 80019C98 0003CC02 */ srl $t9, $v1, 0x10 -/* 01A89C 80019C9C 306AFFFF */ andi $t2, $v1, 0xffff -/* 01A8A0 80019CA0 03194025 */ or $t0, $t8, $t9 -/* 01A8A4 80019CA4 012A5825 */ or $t3, $t1, $t2 -/* 01A8A8 80019CA8 ACA80000 */ sw $t0, ($a1) -/* 01A8AC 80019CAC ACAB0020 */ sw $t3, 0x20($a1) -/* 01A8B0 80019CB0 C4840008 */ lwc1 $f4, 8($a0) -/* 01A8B4 80019CB4 46002182 */ mul.s $f6, $f4, $f0 -/* 01A8B8 80019CB8 4600320D */ trunc.w.s $f8, $f6 -/* 01A8BC 80019CBC 44024000 */ mfc1 $v0, $f8 -/* 01A8C0 80019CC0 00000000 */ nop -/* 01A8C4 80019CC4 00466824 */ and $t5, $v0, $a2 -/* 01A8C8 80019CC8 00027400 */ sll $t6, $v0, 0x10 -/* 01A8CC 80019CCC ACAD0004 */ sw $t5, 4($a1) -/* 01A8D0 80019CD0 ACAE0024 */ sw $t6, 0x24($a1) -/* 01A8D4 80019CD4 C48A0010 */ lwc1 $f10, 0x10($a0) -/* 01A8D8 80019CD8 C4840014 */ lwc1 $f4, 0x14($a0) -/* 01A8DC 80019CDC 46005402 */ mul.s $f16, $f10, $f0 -/* 01A8E0 80019CE0 00000000 */ nop -/* 01A8E4 80019CE4 46002182 */ mul.s $f6, $f4, $f0 -/* 01A8E8 80019CE8 4600848D */ trunc.w.s $f18, $f16 -/* 01A8EC 80019CEC 4600320D */ trunc.w.s $f8, $f6 -/* 01A8F0 80019CF0 44029000 */ mfc1 $v0, $f18 -/* 01A8F4 80019CF4 44034000 */ mfc1 $v1, $f8 -/* 01A8F8 80019CF8 0046C824 */ and $t9, $v0, $a2 -/* 01A8FC 80019CFC 00025400 */ sll $t2, $v0, 0x10 -/* 01A900 80019D00 00034402 */ srl $t0, $v1, 0x10 -/* 01A904 80019D04 306BFFFF */ andi $t3, $v1, 0xffff -/* 01A908 80019D08 03284825 */ or $t1, $t9, $t0 -/* 01A90C 80019D0C 014B6025 */ or $t4, $t2, $t3 -/* 01A910 80019D10 ACA90008 */ sw $t1, 8($a1) -/* 01A914 80019D14 ACAC0028 */ sw $t4, 0x28($a1) -/* 01A918 80019D18 C48A0018 */ lwc1 $f10, 0x18($a0) -/* 01A91C 80019D1C 46005402 */ mul.s $f16, $f10, $f0 -/* 01A920 80019D20 4600848D */ trunc.w.s $f18, $f16 -/* 01A924 80019D24 44029000 */ mfc1 $v0, $f18 -/* 01A928 80019D28 00000000 */ nop -/* 01A92C 80019D2C 00467024 */ and $t6, $v0, $a2 -/* 01A930 80019D30 00027C00 */ sll $t7, $v0, 0x10 -/* 01A934 80019D34 ACAE000C */ sw $t6, 0xc($a1) -/* 01A938 80019D38 ACAF002C */ sw $t7, 0x2c($a1) -/* 01A93C 80019D3C C4840020 */ lwc1 $f4, 0x20($a0) -/* 01A940 80019D40 C48A0024 */ lwc1 $f10, 0x24($a0) -/* 01A944 80019D44 46002182 */ mul.s $f6, $f4, $f0 -/* 01A948 80019D48 00000000 */ nop -/* 01A94C 80019D4C 46005402 */ mul.s $f16, $f10, $f0 -/* 01A950 80019D50 4600320D */ trunc.w.s $f8, $f6 -/* 01A954 80019D54 4600848D */ trunc.w.s $f18, $f16 -/* 01A958 80019D58 44024000 */ mfc1 $v0, $f8 -/* 01A95C 80019D5C 44039000 */ mfc1 $v1, $f18 -/* 01A960 80019D60 00464024 */ and $t0, $v0, $a2 -/* 01A964 80019D64 00025C00 */ sll $t3, $v0, 0x10 -/* 01A968 80019D68 00034C02 */ srl $t1, $v1, 0x10 -/* 01A96C 80019D6C 306CFFFF */ andi $t4, $v1, 0xffff -/* 01A970 80019D70 01095025 */ or $t2, $t0, $t1 -/* 01A974 80019D74 016C6825 */ or $t5, $t3, $t4 -/* 01A978 80019D78 ACAA0010 */ sw $t2, 0x10($a1) -/* 01A97C 80019D7C ACAD0030 */ sw $t5, 0x30($a1) -/* 01A980 80019D80 C4840028 */ lwc1 $f4, 0x28($a0) -/* 01A984 80019D84 46002182 */ mul.s $f6, $f4, $f0 -/* 01A988 80019D88 4600320D */ trunc.w.s $f8, $f6 -/* 01A98C 80019D8C 44024000 */ mfc1 $v0, $f8 -/* 01A990 80019D90 00000000 */ nop -/* 01A994 80019D94 00467824 */ and $t7, $v0, $a2 -/* 01A998 80019D98 0002C400 */ sll $t8, $v0, 0x10 -/* 01A99C 80019D9C ACAF0014 */ sw $t7, 0x14($a1) -/* 01A9A0 80019DA0 ACB80034 */ sw $t8, 0x34($a1) -/* 01A9A4 80019DA4 C48A0030 */ lwc1 $f10, 0x30($a0) -/* 01A9A8 80019DA8 C4840034 */ lwc1 $f4, 0x34($a0) -/* 01A9AC 80019DAC 46005402 */ mul.s $f16, $f10, $f0 -/* 01A9B0 80019DB0 00000000 */ nop -/* 01A9B4 80019DB4 46002182 */ mul.s $f6, $f4, $f0 -/* 01A9B8 80019DB8 4600848D */ trunc.w.s $f18, $f16 -/* 01A9BC 80019DBC 4600320D */ trunc.w.s $f8, $f6 -/* 01A9C0 80019DC0 44029000 */ mfc1 $v0, $f18 -/* 01A9C4 80019DC4 44034000 */ mfc1 $v1, $f8 -/* 01A9C8 80019DC8 00464824 */ and $t1, $v0, $a2 -/* 01A9CC 80019DCC 00026400 */ sll $t4, $v0, 0x10 -/* 01A9D0 80019DD0 00035402 */ srl $t2, $v1, 0x10 -/* 01A9D4 80019DD4 306DFFFF */ andi $t5, $v1, 0xffff -/* 01A9D8 80019DD8 012A5825 */ or $t3, $t1, $t2 -/* 01A9DC 80019DDC 018D7025 */ or $t6, $t4, $t5 -/* 01A9E0 80019DE0 ACAB0018 */ sw $t3, 0x18($a1) -/* 01A9E4 80019DE4 ACAE0038 */ sw $t6, 0x38($a1) -/* 01A9E8 80019DE8 C48A0038 */ lwc1 $f10, 0x38($a0) -/* 01A9EC 80019DEC 46005402 */ mul.s $f16, $f10, $f0 -/* 01A9F0 80019DF0 4600848D */ trunc.w.s $f18, $f16 -/* 01A9F4 80019DF4 44029000 */ mfc1 $v0, $f18 -/* 01A9F8 80019DF8 00000000 */ nop -/* 01A9FC 80019DFC 0046C024 */ and $t8, $v0, $a2 -/* 01AA00 80019E00 37190001 */ ori $t9, $t8, 1 -/* 01AA04 80019E04 00024400 */ sll $t0, $v0, 0x10 -/* 01AA08 80019E08 ACB9001C */ sw $t9, 0x1c($a1) -/* 01AA0C 80019E0C 03E00008 */ jr $ra -/* 01AA10 80019E10 ACA8003C */ sw $t0, 0x3c($a1) diff --git a/asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s b/asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s deleted file mode 100644 index 3bc00bfe..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s +++ /dev/null @@ -1,164 +0,0 @@ -glabel guLookAtF -/* 01AAB0 80019EB0 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 01AAB4 80019EB4 AFA5004C */ sw $a1, 0x4c($sp) -/* 01AAB8 80019EB8 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01AABC 80019EBC C7A40058 */ lwc1 $f4, 0x58($sp) -/* 01AAC0 80019EC0 AFA60050 */ sw $a2, 0x50($sp) -/* 01AAC4 80019EC4 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 01AAC8 80019EC8 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 01AACC 80019ECC 46062001 */ sub.s $f0, $f4, $f6 -/* 01AAD0 80019ED0 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 01AAD4 80019ED4 AFA70054 */ sw $a3, 0x54($sp) -/* 01AAD8 80019ED8 460A4581 */ sub.s $f22, $f8, $f10 -/* 01AADC 80019EDC 46000202 */ mul.s $f8, $f0, $f0 -/* 01AAE0 80019EE0 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 01AAE4 80019EE4 C7A40060 */ lwc1 $f4, 0x60($sp) -/* 01AAE8 80019EE8 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 01AAEC 80019EEC 4616B282 */ mul.s $f10, $f22, $f22 -/* 01AAF0 80019EF0 46062601 */ sub.s $f24, $f4, $f6 -/* 01AAF4 80019EF4 AFBF0044 */ sw $ra, 0x44($sp) -/* 01AAF8 80019EF8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 01AAFC 80019EFC F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 01AB00 80019F00 4618C182 */ mul.s $f6, $f24, $f24 -/* 01AB04 80019F04 F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 01AB08 80019F08 460A4100 */ add.s $f4, $f8, $f10 -/* 01AB0C 80019F0C F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 01AB10 80019F10 46000506 */ mov.s $f20, $f0 -/* 01AB14 80019F14 AFA40048 */ sw $a0, 0x48($sp) -/* 01AB18 80019F18 0C00CAC8 */ jal sqrtf -/* 01AB1C 80019F1C 46062300 */ add.s $f12, $f4, $f6 -/* 01AB20 80019F20 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 01AB24 80019F24 44814000 */ mtc1 $at, $f8 -/* 01AB28 80019F28 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 01AB2C 80019F2C C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 01AB30 80019F30 46004083 */ div.s $f2, $f8, $f0 -/* 01AB34 80019F34 4602A502 */ mul.s $f20, $f20, $f2 -/* 01AB38 80019F38 00000000 */ nop -/* 01AB3C 80019F3C 4602B582 */ mul.s $f22, $f22, $f2 -/* 01AB40 80019F40 00000000 */ nop -/* 01AB44 80019F44 4602C602 */ mul.s $f24, $f24, $f2 -/* 01AB48 80019F48 00000000 */ nop -/* 01AB4C 80019F4C 46185102 */ mul.s $f4, $f10, $f24 -/* 01AB50 80019F50 00000000 */ nop -/* 01AB54 80019F54 46163202 */ mul.s $f8, $f6, $f22 -/* 01AB58 80019F58 46082681 */ sub.s $f26, $f4, $f8 -/* 01AB5C 80019F5C 46143102 */ mul.s $f4, $f6, $f20 -/* 01AB60 80019F60 C7A80064 */ lwc1 $f8, 0x64($sp) -/* 01AB64 80019F64 46184182 */ mul.s $f6, $f8, $f24 -/* 01AB68 80019F68 46062701 */ sub.s $f28, $f4, $f6 -/* 01AB6C 80019F6C 46164102 */ mul.s $f4, $f8, $f22 -/* 01AB70 80019F70 00000000 */ nop -/* 01AB74 80019F74 46145182 */ mul.s $f6, $f10, $f20 -/* 01AB78 80019F78 46062781 */ sub.s $f30, $f4, $f6 -/* 01AB7C 80019F7C 461AD202 */ mul.s $f8, $f26, $f26 -/* 01AB80 80019F80 00000000 */ nop -/* 01AB84 80019F84 461CE282 */ mul.s $f10, $f28, $f28 -/* 01AB88 80019F88 460A4100 */ add.s $f4, $f8, $f10 -/* 01AB8C 80019F8C 461EF182 */ mul.s $f6, $f30, $f30 -/* 01AB90 80019F90 0C00CAC8 */ jal sqrtf -/* 01AB94 80019F94 46062300 */ add.s $f12, $f4, $f6 -/* 01AB98 80019F98 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01AB9C 80019F9C 44814000 */ mtc1 $at, $f8 -/* 01ABA0 80019FA0 00000000 */ nop -/* 01ABA4 80019FA4 46004083 */ div.s $f2, $f8, $f0 -/* 01ABA8 80019FA8 4602D682 */ mul.s $f26, $f26, $f2 -/* 01ABAC 80019FAC 00000000 */ nop -/* 01ABB0 80019FB0 4602E702 */ mul.s $f28, $f28, $f2 -/* 01ABB4 80019FB4 00000000 */ nop -/* 01ABB8 80019FB8 4602F782 */ mul.s $f30, $f30, $f2 -/* 01ABBC 80019FBC 00000000 */ nop -/* 01ABC0 80019FC0 461EB282 */ mul.s $f10, $f22, $f30 -/* 01ABC4 80019FC4 00000000 */ nop -/* 01ABC8 80019FC8 461CC102 */ mul.s $f4, $f24, $f28 -/* 01ABCC 80019FCC 00000000 */ nop -/* 01ABD0 80019FD0 461AC182 */ mul.s $f6, $f24, $f26 -/* 01ABD4 80019FD4 00000000 */ nop -/* 01ABD8 80019FD8 461EA202 */ mul.s $f8, $f20, $f30 -/* 01ABDC 80019FDC 46045381 */ sub.s $f14, $f10, $f4 -/* 01ABE0 80019FE0 461CA282 */ mul.s $f10, $f20, $f28 -/* 01ABE4 80019FE4 00000000 */ nop -/* 01ABE8 80019FE8 461AB102 */ mul.s $f4, $f22, $f26 -/* 01ABEC 80019FEC E7AE0064 */ swc1 $f14, 0x64($sp) -/* 01ABF0 80019FF0 46083401 */ sub.s $f16, $f6, $f8 -/* 01ABF4 80019FF4 460E7182 */ mul.s $f6, $f14, $f14 -/* 01ABF8 80019FF8 00000000 */ nop -/* 01ABFC 80019FFC 46108202 */ mul.s $f8, $f16, $f16 -/* 01AC00 8001A000 E7B00068 */ swc1 $f16, 0x68($sp) -/* 01AC04 8001A004 46045481 */ sub.s $f18, $f10, $f4 -/* 01AC08 8001A008 46129102 */ mul.s $f4, $f18, $f18 -/* 01AC0C 8001A00C 46083280 */ add.s $f10, $f6, $f8 -/* 01AC10 8001A010 E7B2006C */ swc1 $f18, 0x6c($sp) -/* 01AC14 8001A014 0C00CAC8 */ jal sqrtf -/* 01AC18 8001A018 46045300 */ add.s $f12, $f10, $f4 -/* 01AC1C 8001A01C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01AC20 8001A020 44813000 */ mtc1 $at, $f6 -/* 01AC24 8001A024 C7AE0064 */ lwc1 $f14, 0x64($sp) -/* 01AC28 8001A028 C7AC0068 */ lwc1 $f12, 0x68($sp) -/* 01AC2C 8001A02C 46003083 */ div.s $f2, $f6, $f0 -/* 01AC30 8001A030 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 01AC34 8001A034 8FA40048 */ lw $a0, 0x48($sp) -/* 01AC38 8001A038 46027382 */ mul.s $f14, $f14, $f2 -/* 01AC3C 8001A03C 00000000 */ nop -/* 01AC40 8001A040 46026302 */ mul.s $f12, $f12, $f2 -/* 01AC44 8001A044 00000000 */ nop -/* 01AC48 8001A048 46024282 */ mul.s $f10, $f8, $f2 -/* 01AC4C 8001A04C E7AA006C */ swc1 $f10, 0x6c($sp) -/* 01AC50 8001A050 E49A0000 */ swc1 $f26, ($a0) -/* 01AC54 8001A054 E49C0010 */ swc1 $f28, 0x10($a0) -/* 01AC58 8001A058 E49E0020 */ swc1 $f30, 0x20($a0) -/* 01AC5C 8001A05C C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 01AC60 8001A060 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 01AC64 8001A064 461A2182 */ mul.s $f6, $f4, $f26 -/* 01AC68 8001A068 00000000 */ nop -/* 01AC6C 8001A06C 461C4282 */ mul.s $f10, $f8, $f28 -/* 01AC70 8001A070 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 01AC74 8001A074 E48E0004 */ swc1 $f14, 4($a0) -/* 01AC78 8001A078 E48C0014 */ swc1 $f12, 0x14($a0) -/* 01AC7C 8001A07C 460A3100 */ add.s $f4, $f6, $f10 -/* 01AC80 8001A080 461E4182 */ mul.s $f6, $f8, $f30 -/* 01AC84 8001A084 46062280 */ add.s $f10, $f4, $f6 -/* 01AC88 8001A088 46005207 */ neg.s $f8, $f10 -/* 01AC8C 8001A08C E4880030 */ swc1 $f8, 0x30($a0) -/* 01AC90 8001A090 C7A0006C */ lwc1 $f0, 0x6c($sp) -/* 01AC94 8001A094 E7AC0068 */ swc1 $f12, 0x68($sp) -/* 01AC98 8001A098 E7AE0064 */ swc1 $f14, 0x64($sp) -/* 01AC9C 8001A09C C7AE004C */ lwc1 $f14, 0x4c($sp) -/* 01ACA0 8001A0A0 C7AC0050 */ lwc1 $f12, 0x50($sp) -/* 01ACA4 8001A0A4 C7A20054 */ lwc1 $f2, 0x54($sp) -/* 01ACA8 8001A0A8 E4800024 */ swc1 $f0, 0x24($a0) -/* 01ACAC 8001A0AC C7A40064 */ lwc1 $f4, 0x64($sp) -/* 01ACB0 8001A0B0 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 01ACB4 8001A0B4 E4940008 */ swc1 $f20, 8($a0) -/* 01ACB8 8001A0B8 46047182 */ mul.s $f6, $f14, $f4 -/* 01ACBC 8001A0BC E4960018 */ swc1 $f22, 0x18($a0) -/* 01ACC0 8001A0C0 E4980028 */ swc1 $f24, 0x28($a0) -/* 01ACC4 8001A0C4 460A6202 */ mul.s $f8, $f12, $f10 -/* 01ACC8 8001A0C8 46083100 */ add.s $f4, $f6, $f8 -/* 01ACCC 8001A0CC 46001282 */ mul.s $f10, $f2, $f0 -/* 01ACD0 8001A0D0 44800000 */ mtc1 $zero, $f0 -/* 01ACD4 8001A0D4 00000000 */ nop -/* 01ACD8 8001A0D8 E480000C */ swc1 $f0, 0xc($a0) -/* 01ACDC 8001A0DC E480001C */ swc1 $f0, 0x1c($a0) -/* 01ACE0 8001A0E0 E480002C */ swc1 $f0, 0x2c($a0) -/* 01ACE4 8001A0E4 460A2180 */ add.s $f6, $f4, $f10 -/* 01ACE8 8001A0E8 46147102 */ mul.s $f4, $f14, $f20 -/* 01ACEC 8001A0EC 00000000 */ nop -/* 01ACF0 8001A0F0 46166282 */ mul.s $f10, $f12, $f22 -/* 01ACF4 8001A0F4 46003207 */ neg.s $f8, $f6 -/* 01ACF8 8001A0F8 E4880034 */ swc1 $f8, 0x34($a0) -/* 01ACFC 8001A0FC 46181202 */ mul.s $f8, $f2, $f24 -/* 01AD00 8001A100 460A2180 */ add.s $f6, $f4, $f10 -/* 01AD04 8001A104 46083100 */ add.s $f4, $f6, $f8 -/* 01AD08 8001A108 44813000 */ mtc1 $at, $f6 -/* 01AD0C 8001A10C 46002287 */ neg.s $f10, $f4 -/* 01AD10 8001A110 E486003C */ swc1 $f6, 0x3c($a0) -/* 01AD14 8001A114 E48A0038 */ swc1 $f10, 0x38($a0) -/* 01AD18 8001A118 8FBF0044 */ lw $ra, 0x44($sp) -/* 01AD1C 8001A11C D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 01AD20 8001A120 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 01AD24 8001A124 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 01AD28 8001A128 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 01AD2C 8001A12C D7B60018 */ ldc1 $f22, 0x18($sp) -/* 01AD30 8001A130 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 01AD34 8001A134 03E00008 */ jr $ra -/* 01AD38 8001A138 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s b/asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s deleted file mode 100644 index 6a2b1ed8..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s +++ /dev/null @@ -1,30 +0,0 @@ -glabel func_8001A13C -/* 01AD3C 8001A13C 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 01AD40 8001A140 44856000 */ mtc1 $a1, $f12 -/* 01AD44 8001A144 44867000 */ mtc1 $a2, $f14 -/* 01AD48 8001A148 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 01AD4C 8001A14C C7A60084 */ lwc1 $f6, 0x84($sp) -/* 01AD50 8001A150 C7A80088 */ lwc1 $f8, 0x88($sp) -/* 01AD54 8001A154 C7AA008C */ lwc1 $f10, 0x8c($sp) -/* 01AD58 8001A158 C7B00090 */ lwc1 $f16, 0x90($sp) -/* 01AD5C 8001A15C C7B20094 */ lwc1 $f18, 0x94($sp) -/* 01AD60 8001A160 AFBF002C */ sw $ra, 0x2c($sp) -/* 01AD64 8001A164 AFA40070 */ sw $a0, 0x70($sp) -/* 01AD68 8001A168 44056000 */ mfc1 $a1, $f12 -/* 01AD6C 8001A16C 44067000 */ mfc1 $a2, $f14 -/* 01AD70 8001A170 AFA7007C */ sw $a3, 0x7c($sp) -/* 01AD74 8001A174 27A40030 */ addiu $a0, $sp, 0x30 -/* 01AD78 8001A178 E7A40010 */ swc1 $f4, 0x10($sp) -/* 01AD7C 8001A17C E7A60014 */ swc1 $f6, 0x14($sp) -/* 01AD80 8001A180 E7A80018 */ swc1 $f8, 0x18($sp) -/* 01AD84 8001A184 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 01AD88 8001A188 E7B00020 */ swc1 $f16, 0x20($sp) -/* 01AD8C 8001A18C 0C0067AC */ jal guLookAtF -/* 01AD90 8001A190 E7B20024 */ swc1 $f18, 0x24($sp) -/* 01AD94 8001A194 27A40030 */ addiu $a0, $sp, 0x30 -/* 01AD98 8001A198 0C00668C */ jal func_80019A30 -/* 01AD9C 8001A19C 8FA50070 */ lw $a1, 0x70($sp) -/* 01ADA0 8001A1A0 8FBF002C */ lw $ra, 0x2c($sp) -/* 01ADA4 8001A1A4 27BD0070 */ addiu $sp, $sp, 0x70 -/* 01ADA8 8001A1A8 03E00008 */ jr $ra -/* 01ADAC 8001A1AC 00000000 */ nop diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s b/asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s deleted file mode 100644 index 40cf8207..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s +++ /dev/null @@ -1,183 +0,0 @@ -glabel func_8001A1B0 -/* 01ADB0 8001A1B0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 01ADB4 8001A1B4 AFA50064 */ sw $a1, 0x64($sp) -/* 01ADB8 8001A1B8 C7A60064 */ lwc1 $f6, 0x64($sp) -/* 01ADBC 8001A1BC C7A40070 */ lwc1 $f4, 0x70($sp) -/* 01ADC0 8001A1C0 AFA60068 */ sw $a2, 0x68($sp) -/* 01ADC4 8001A1C4 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 01ADC8 8001A1C8 C7A80074 */ lwc1 $f8, 0x74($sp) -/* 01ADCC 8001A1CC F7B60020 */ sdc1 $f22, 0x20($sp) -/* 01ADD0 8001A1D0 46062581 */ sub.s $f22, $f4, $f6 -/* 01ADD4 8001A1D4 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 01ADD8 8001A1D8 AFA7006C */ sw $a3, 0x6c($sp) -/* 01ADDC 8001A1DC 460A4601 */ sub.s $f24, $f8, $f10 -/* 01ADE0 8001A1E0 4616B202 */ mul.s $f8, $f22, $f22 -/* 01ADE4 8001A1E4 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 01ADE8 8001A1E8 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 01ADEC 8001A1EC F7BA0030 */ sdc1 $f26, 0x30($sp) -/* 01ADF0 8001A1F0 4618C282 */ mul.s $f10, $f24, $f24 -/* 01ADF4 8001A1F4 46062681 */ sub.s $f26, $f4, $f6 -/* 01ADF8 8001A1F8 AFBF003C */ sw $ra, 0x3c($sp) -/* 01ADFC 8001A1FC AFB00038 */ sw $s0, 0x38($sp) -/* 01AE00 8001A200 00808025 */ move $s0, $a0 -/* 01AE04 8001A204 461AD182 */ mul.s $f6, $f26, $f26 -/* 01AE08 8001A208 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01AE0C 8001A20C 460A4100 */ add.s $f4, $f8, $f10 -/* 01AE10 8001A210 E7BA0058 */ swc1 $f26, 0x58($sp) -/* 01AE14 8001A214 E7B80054 */ swc1 $f24, 0x54($sp) -/* 01AE18 8001A218 E7B60050 */ swc1 $f22, 0x50($sp) -/* 01AE1C 8001A21C 0C00CAC8 */ jal sqrtf -/* 01AE20 8001A220 46062300 */ add.s $f12, $f4, $f6 -/* 01AE24 8001A224 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 01AE28 8001A228 44814000 */ mtc1 $at, $f8 -/* 01AE2C 8001A22C C7B60050 */ lwc1 $f22, 0x50($sp) -/* 01AE30 8001A230 C7B80054 */ lwc1 $f24, 0x54($sp) -/* 01AE34 8001A234 46004083 */ div.s $f2, $f8, $f0 -/* 01AE38 8001A238 C7BA0058 */ lwc1 $f26, 0x58($sp) -/* 01AE3C 8001A23C C7B00084 */ lwc1 $f16, 0x84($sp) -/* 01AE40 8001A240 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 01AE44 8001A244 C7B40080 */ lwc1 $f20, 0x80($sp) -/* 01AE48 8001A248 4602B582 */ mul.s $f22, $f22, $f2 -/* 01AE4C 8001A24C 00000000 */ nop -/* 01AE50 8001A250 4602C602 */ mul.s $f24, $f24, $f2 -/* 01AE54 8001A254 00000000 */ nop -/* 01AE58 8001A258 4602D682 */ mul.s $f26, $f26, $f2 -/* 01AE5C 8001A25C E7B60050 */ swc1 $f22, 0x50($sp) -/* 01AE60 8001A260 E7B80054 */ swc1 $f24, 0x54($sp) -/* 01AE64 8001A264 461A8282 */ mul.s $f10, $f16, $f26 -/* 01AE68 8001A268 E7BA0058 */ swc1 $f26, 0x58($sp) -/* 01AE6C 8001A26C 46189102 */ mul.s $f4, $f18, $f24 -/* 01AE70 8001A270 00000000 */ nop -/* 01AE74 8001A274 46169182 */ mul.s $f6, $f18, $f22 -/* 01AE78 8001A278 00000000 */ nop -/* 01AE7C 8001A27C 461AA202 */ mul.s $f8, $f20, $f26 -/* 01AE80 8001A280 46045381 */ sub.s $f14, $f10, $f4 -/* 01AE84 8001A284 4618A102 */ mul.s $f4, $f20, $f24 -/* 01AE88 8001A288 E7AE0044 */ swc1 $f14, 0x44($sp) -/* 01AE8C 8001A28C 46083281 */ sub.s $f10, $f6, $f8 -/* 01AE90 8001A290 46168182 */ mul.s $f6, $f16, $f22 -/* 01AE94 8001A294 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 01AE98 8001A298 46062201 */ sub.s $f8, $f4, $f6 -/* 01AE9C 8001A29C 460A5102 */ mul.s $f4, $f10, $f10 -/* 01AEA0 8001A2A0 00000000 */ nop -/* 01AEA4 8001A2A4 460E7182 */ mul.s $f6, $f14, $f14 -/* 01AEA8 8001A2A8 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 01AEAC 8001A2AC 46043280 */ add.s $f10, $f6, $f4 -/* 01AEB0 8001A2B0 46084182 */ mul.s $f6, $f8, $f8 -/* 01AEB4 8001A2B4 0C00CAC8 */ jal sqrtf -/* 01AEB8 8001A2B8 46065300 */ add.s $f12, $f10, $f6 -/* 01AEBC 8001A2BC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01AEC0 8001A2C0 44812000 */ mtc1 $at, $f4 -/* 01AEC4 8001A2C4 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 01AEC8 8001A2C8 C7A60048 */ lwc1 $f6, 0x48($sp) -/* 01AECC 8001A2CC 46002083 */ div.s $f2, $f4, $f0 -/* 01AED0 8001A2D0 27A40044 */ addiu $a0, $sp, 0x44 -/* 01AED4 8001A2D4 27A50050 */ addiu $a1, $sp, 0x50 -/* 01AED8 8001A2D8 8FA6007C */ lw $a2, 0x7c($sp) -/* 01AEDC 8001A2DC 46024282 */ mul.s $f10, $f8, $f2 -/* 01AEE0 8001A2E0 C7A8004C */ lwc1 $f8, 0x4c($sp) -/* 01AEE4 8001A2E4 46023102 */ mul.s $f4, $f6, $f2 -/* 01AEE8 8001A2E8 E7AA0044 */ swc1 $f10, 0x44($sp) -/* 01AEEC 8001A2EC 46024282 */ mul.s $f10, $f8, $f2 -/* 01AEF0 8001A2F0 E7A40048 */ swc1 $f4, 0x48($sp) -/* 01AEF4 8001A2F4 0C00647E */ jal func_800191F8 -/* 01AEF8 8001A2F8 E7AA004C */ swc1 $f10, 0x4c($sp) -/* 01AEFC 8001A2FC C7B80054 */ lwc1 $f24, 0x54($sp) -/* 01AF00 8001A300 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01AF04 8001A304 C7BA0058 */ lwc1 $f26, 0x58($sp) -/* 01AF08 8001A308 C7A80048 */ lwc1 $f8, 0x48($sp) -/* 01AF0C 8001A30C 4606C102 */ mul.s $f4, $f24, $f6 -/* 01AF10 8001A310 C7B60050 */ lwc1 $f22, 0x50($sp) -/* 01AF14 8001A314 4608D282 */ mul.s $f10, $f26, $f8 -/* 01AF18 8001A318 460A2001 */ sub.s $f0, $f4, $f10 -/* 01AF1C 8001A31C C7A40044 */ lwc1 $f4, 0x44($sp) -/* 01AF20 8001A320 4604D282 */ mul.s $f10, $f26, $f4 -/* 01AF24 8001A324 46000506 */ mov.s $f20, $f0 -/* 01AF28 8001A328 4606B182 */ mul.s $f6, $f22, $f6 -/* 01AF2C 8001A32C 46065401 */ sub.s $f16, $f10, $f6 -/* 01AF30 8001A330 4608B282 */ mul.s $f10, $f22, $f8 -/* 01AF34 8001A334 00000000 */ nop -/* 01AF38 8001A338 4604C182 */ mul.s $f6, $f24, $f4 -/* 01AF3C 8001A33C E7B00084 */ swc1 $f16, 0x84($sp) -/* 01AF40 8001A340 46000202 */ mul.s $f8, $f0, $f0 -/* 01AF44 8001A344 00000000 */ nop -/* 01AF48 8001A348 46108102 */ mul.s $f4, $f16, $f16 -/* 01AF4C 8001A34C 46065481 */ sub.s $f18, $f10, $f6 -/* 01AF50 8001A350 46129182 */ mul.s $f6, $f18, $f18 -/* 01AF54 8001A354 46044280 */ add.s $f10, $f8, $f4 -/* 01AF58 8001A358 E7B20088 */ swc1 $f18, 0x88($sp) -/* 01AF5C 8001A35C 0C00CAC8 */ jal sqrtf -/* 01AF60 8001A360 46065300 */ add.s $f12, $f10, $f6 -/* 01AF64 8001A364 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01AF68 8001A368 44814000 */ mtc1 $at, $f8 -/* 01AF6C 8001A36C C7A40044 */ lwc1 $f4, 0x44($sp) -/* 01AF70 8001A370 C7AC0064 */ lwc1 $f12, 0x64($sp) -/* 01AF74 8001A374 46004083 */ div.s $f2, $f8, $f0 -/* 01AF78 8001A378 C7AE0068 */ lwc1 $f14, 0x68($sp) -/* 01AF7C 8001A37C C7B00084 */ lwc1 $f16, 0x84($sp) -/* 01AF80 8001A380 C7B20088 */ lwc1 $f18, 0x88($sp) -/* 01AF84 8001A384 C7B6006C */ lwc1 $f22, 0x6c($sp) -/* 01AF88 8001A388 E6040000 */ swc1 $f4, ($s0) -/* 01AF8C 8001A38C C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 01AF90 8001A390 44800000 */ mtc1 $zero, $f0 -/* 01AF94 8001A394 E60A0010 */ swc1 $f10, 0x10($s0) -/* 01AF98 8001A398 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01AF9C 8001A39C E6060020 */ swc1 $f6, 0x20($s0) -/* 01AFA0 8001A3A0 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 01AFA4 8001A3A4 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 01AFA8 8001A3A8 4602A502 */ mul.s $f20, $f20, $f2 -/* 01AFAC 8001A3AC 00000000 */ nop -/* 01AFB0 8001A3B0 46028402 */ mul.s $f16, $f16, $f2 -/* 01AFB4 8001A3B4 00000000 */ nop -/* 01AFB8 8001A3B8 46029482 */ mul.s $f18, $f18, $f2 -/* 01AFBC 8001A3BC 00000000 */ nop -/* 01AFC0 8001A3C0 46086102 */ mul.s $f4, $f12, $f8 -/* 01AFC4 8001A3C4 00000000 */ nop -/* 01AFC8 8001A3C8 460A7182 */ mul.s $f6, $f14, $f10 -/* 01AFCC 8001A3CC C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 01AFD0 8001A3D0 E6140004 */ swc1 $f20, 4($s0) -/* 01AFD4 8001A3D4 E6100014 */ swc1 $f16, 0x14($s0) -/* 01AFD8 8001A3D8 E6120024 */ swc1 $f18, 0x24($s0) -/* 01AFDC 8001A3DC 46062200 */ add.s $f8, $f4, $f6 -/* 01AFE0 8001A3E0 460AB102 */ mul.s $f4, $f22, $f10 -/* 01AFE4 8001A3E4 46044180 */ add.s $f6, $f8, $f4 -/* 01AFE8 8001A3E8 46146202 */ mul.s $f8, $f12, $f20 -/* 01AFEC 8001A3EC 00000000 */ nop -/* 01AFF0 8001A3F0 46107102 */ mul.s $f4, $f14, $f16 -/* 01AFF4 8001A3F4 46003287 */ neg.s $f10, $f6 -/* 01AFF8 8001A3F8 E60A0030 */ swc1 $f10, 0x30($s0) -/* 01AFFC 8001A3FC 4612B282 */ mul.s $f10, $f22, $f18 -/* 01B000 8001A400 46044180 */ add.s $f6, $f8, $f4 -/* 01B004 8001A404 460A3200 */ add.s $f8, $f6, $f10 -/* 01B008 8001A408 46004107 */ neg.s $f4, $f8 -/* 01B00C 8001A40C E6040034 */ swc1 $f4, 0x34($s0) -/* 01B010 8001A410 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 01B014 8001A414 E6060008 */ swc1 $f6, 8($s0) -/* 01B018 8001A418 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 01B01C 8001A41C E60A0018 */ swc1 $f10, 0x18($s0) -/* 01B020 8001A420 C7A80058 */ lwc1 $f8, 0x58($sp) -/* 01B024 8001A424 E6080028 */ swc1 $f8, 0x28($s0) -/* 01B028 8001A428 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 01B02C 8001A42C C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 01B030 8001A430 46046182 */ mul.s $f6, $f12, $f4 -/* 01B034 8001A434 00000000 */ nop -/* 01B038 8001A438 460A7202 */ mul.s $f8, $f14, $f10 -/* 01B03C 8001A43C C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 01B040 8001A440 E600000C */ swc1 $f0, 0xc($s0) -/* 01B044 8001A444 E600001C */ swc1 $f0, 0x1c($s0) -/* 01B048 8001A448 E600002C */ swc1 $f0, 0x2c($s0) -/* 01B04C 8001A44C 46083100 */ add.s $f4, $f6, $f8 -/* 01B050 8001A450 460AB182 */ mul.s $f6, $f22, $f10 -/* 01B054 8001A454 46062200 */ add.s $f8, $f4, $f6 -/* 01B058 8001A458 44812000 */ mtc1 $at, $f4 -/* 01B05C 8001A45C 46004287 */ neg.s $f10, $f8 -/* 01B060 8001A460 E604003C */ swc1 $f4, 0x3c($s0) -/* 01B064 8001A464 E60A0038 */ swc1 $f10, 0x38($s0) -/* 01B068 8001A468 8FBF003C */ lw $ra, 0x3c($sp) -/* 01B06C 8001A46C 8FB00038 */ lw $s0, 0x38($sp) -/* 01B070 8001A470 D7BA0030 */ ldc1 $f26, 0x30($sp) -/* 01B074 8001A474 D7B80028 */ ldc1 $f24, 0x28($sp) -/* 01B078 8001A478 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 01B07C 8001A47C D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01B080 8001A480 03E00008 */ jr $ra -/* 01B084 8001A484 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001A488.s b/asm/non_matchings/ovl0/ovl0_6/func_8001A488.s index 2d247a65..4d053f6d 100644 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001A488.s +++ b/asm/non_matchings/ovl0/ovl0_6/func_8001A488.s @@ -21,7 +21,7 @@ glabel func_8001A488 /* 01B0D4 8001A4D4 E7A80018 */ swc1 $f8, 0x18($sp) /* 01B0D8 8001A4D8 E7AA001C */ swc1 $f10, 0x1c($sp) /* 01B0DC 8001A4DC E7B00020 */ swc1 $f16, 0x20($sp) -/* 01B0E0 8001A4E0 0C00686C */ jal func_8001A1B0 +/* 01B0E0 8001A4E0 0C00686C */ jal guLookAtF_2 /* 01B0E4 8001A4E4 E7B20024 */ swc1 $f18, 0x24($sp) /* 01B0E8 8001A4E8 27A40038 */ addiu $a0, $sp, 0x38 /* 01B0EC 8001A4EC 0C00668C */ jal func_80019A30 diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001A504.s b/asm/non_matchings/ovl0/ovl0_6/func_8001A504.s deleted file mode 100644 index ec1c4ba7..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001A504.s +++ /dev/null @@ -1,259 +0,0 @@ -glabel func_8001A504 -/* 01B104 8001A504 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 01B108 8001A508 AFA60050 */ sw $a2, 0x50($sp) -/* 01B10C 8001A50C C7A60050 */ lwc1 $f6, 0x50($sp) -/* 01B110 8001A510 C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 01B114 8001A514 AFA70054 */ sw $a3, 0x54($sp) -/* 01B118 8001A518 C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 01B11C 8001A51C C7A80060 */ lwc1 $f8, 0x60($sp) -/* 01B120 8001A520 46062001 */ sub.s $f0, $f4, $f6 -/* 01B124 8001A524 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 01B128 8001A528 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 01B12C 8001A52C 460A4581 */ sub.s $f22, $f8, $f10 -/* 01B130 8001A530 46000202 */ mul.s $f8, $f0, $f0 -/* 01B134 8001A534 C7A40064 */ lwc1 $f4, 0x64($sp) -/* 01B138 8001A538 F7B80020 */ sdc1 $f24, 0x20($sp) -/* 01B13C 8001A53C 4616B282 */ mul.s $f10, $f22, $f22 -/* 01B140 8001A540 AFBF0044 */ sw $ra, 0x44($sp) -/* 01B144 8001A544 46062601 */ sub.s $f24, $f4, $f6 -/* 01B148 8001A548 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 01B14C 8001A54C F7BE0038 */ sdc1 $f30, 0x38($sp) -/* 01B150 8001A550 F7BC0030 */ sdc1 $f28, 0x30($sp) -/* 01B154 8001A554 4618C182 */ mul.s $f6, $f24, $f24 -/* 01B158 8001A558 460A4100 */ add.s $f4, $f8, $f10 -/* 01B15C 8001A55C F7BA0028 */ sdc1 $f26, 0x28($sp) -/* 01B160 8001A560 46000506 */ mov.s $f20, $f0 -/* 01B164 8001A564 AFA40048 */ sw $a0, 0x48($sp) -/* 01B168 8001A568 AFA5004C */ sw $a1, 0x4c($sp) -/* 01B16C 8001A56C 0C00CAC8 */ jal sqrtf -/* 01B170 8001A570 46062300 */ add.s $f12, $f4, $f6 -/* 01B174 8001A574 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 01B178 8001A578 44814000 */ mtc1 $at, $f8 -/* 01B17C 8001A57C C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 01B180 8001A580 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 01B184 8001A584 46004083 */ div.s $f2, $f8, $f0 -/* 01B188 8001A588 4602A502 */ mul.s $f20, $f20, $f2 -/* 01B18C 8001A58C 00000000 */ nop -/* 01B190 8001A590 4602B582 */ mul.s $f22, $f22, $f2 -/* 01B194 8001A594 00000000 */ nop -/* 01B198 8001A598 4602C602 */ mul.s $f24, $f24, $f2 -/* 01B19C 8001A59C 00000000 */ nop -/* 01B1A0 8001A5A0 46185102 */ mul.s $f4, $f10, $f24 -/* 01B1A4 8001A5A4 00000000 */ nop -/* 01B1A8 8001A5A8 46163202 */ mul.s $f8, $f6, $f22 -/* 01B1AC 8001A5AC 46082681 */ sub.s $f26, $f4, $f8 -/* 01B1B0 8001A5B0 46143102 */ mul.s $f4, $f6, $f20 -/* 01B1B4 8001A5B4 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 01B1B8 8001A5B8 46184182 */ mul.s $f6, $f8, $f24 -/* 01B1BC 8001A5BC 46062701 */ sub.s $f28, $f4, $f6 -/* 01B1C0 8001A5C0 46164102 */ mul.s $f4, $f8, $f22 -/* 01B1C4 8001A5C4 00000000 */ nop -/* 01B1C8 8001A5C8 46145182 */ mul.s $f6, $f10, $f20 -/* 01B1CC 8001A5CC 46062781 */ sub.s $f30, $f4, $f6 -/* 01B1D0 8001A5D0 461AD202 */ mul.s $f8, $f26, $f26 -/* 01B1D4 8001A5D4 00000000 */ nop -/* 01B1D8 8001A5D8 461CE282 */ mul.s $f10, $f28, $f28 -/* 01B1DC 8001A5DC 460A4100 */ add.s $f4, $f8, $f10 -/* 01B1E0 8001A5E0 461EF182 */ mul.s $f6, $f30, $f30 -/* 01B1E4 8001A5E4 0C00CAC8 */ jal sqrtf -/* 01B1E8 8001A5E8 46062300 */ add.s $f12, $f4, $f6 -/* 01B1EC 8001A5EC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B1F0 8001A5F0 44814000 */ mtc1 $at, $f8 -/* 01B1F4 8001A5F4 00000000 */ nop -/* 01B1F8 8001A5F8 46004083 */ div.s $f2, $f8, $f0 -/* 01B1FC 8001A5FC 4602D682 */ mul.s $f26, $f26, $f2 -/* 01B200 8001A600 00000000 */ nop -/* 01B204 8001A604 4602E702 */ mul.s $f28, $f28, $f2 -/* 01B208 8001A608 00000000 */ nop -/* 01B20C 8001A60C 4602F782 */ mul.s $f30, $f30, $f2 -/* 01B210 8001A610 00000000 */ nop -/* 01B214 8001A614 461EB282 */ mul.s $f10, $f22, $f30 -/* 01B218 8001A618 00000000 */ nop -/* 01B21C 8001A61C 461CC102 */ mul.s $f4, $f24, $f28 -/* 01B220 8001A620 00000000 */ nop -/* 01B224 8001A624 461AC182 */ mul.s $f6, $f24, $f26 -/* 01B228 8001A628 00000000 */ nop -/* 01B22C 8001A62C 461EA202 */ mul.s $f8, $f20, $f30 -/* 01B230 8001A630 46045381 */ sub.s $f14, $f10, $f4 -/* 01B234 8001A634 461CA282 */ mul.s $f10, $f20, $f28 -/* 01B238 8001A638 00000000 */ nop -/* 01B23C 8001A63C 461AB102 */ mul.s $f4, $f22, $f26 -/* 01B240 8001A640 E7AE0068 */ swc1 $f14, 0x68($sp) -/* 01B244 8001A644 46083401 */ sub.s $f16, $f6, $f8 -/* 01B248 8001A648 460E7182 */ mul.s $f6, $f14, $f14 -/* 01B24C 8001A64C 00000000 */ nop -/* 01B250 8001A650 46108202 */ mul.s $f8, $f16, $f16 -/* 01B254 8001A654 E7B0006C */ swc1 $f16, 0x6c($sp) -/* 01B258 8001A658 46045481 */ sub.s $f18, $f10, $f4 -/* 01B25C 8001A65C 46129102 */ mul.s $f4, $f18, $f18 -/* 01B260 8001A660 46083280 */ add.s $f10, $f6, $f8 -/* 01B264 8001A664 E7B20070 */ swc1 $f18, 0x70($sp) -/* 01B268 8001A668 0C00CAC8 */ jal sqrtf -/* 01B26C 8001A66C 46045300 */ add.s $f12, $f10, $f4 -/* 01B270 8001A670 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 01B274 8001A674 44816000 */ mtc1 $at, $f12 -/* 01B278 8001A678 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 01B27C 8001A67C 44818000 */ mtc1 $at, $f16 -/* 01B280 8001A680 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B284 8001A684 44813000 */ mtc1 $at, $f6 -/* 01B288 8001A688 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 01B28C 8001A68C C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 01B290 8001A690 46003083 */ div.s $f2, $f6, $f0 -/* 01B294 8001A694 8FA40048 */ lw $a0, 0x48($sp) -/* 01B298 8001A698 8FA5004C */ lw $a1, 0x4c($sp) -/* 01B29C 8001A69C 24020080 */ li $v0, 128 -/* 01B2A0 8001A6A0 46024282 */ mul.s $f10, $f8, $f2 -/* 01B2A4 8001A6A4 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 01B2A8 8001A6A8 46022182 */ mul.s $f6, $f4, $f2 -/* 01B2AC 8001A6AC E7AA0068 */ swc1 $f10, 0x68($sp) -/* 01B2B0 8001A6B0 46024282 */ mul.s $f10, $f8, $f2 -/* 01B2B4 8001A6B4 E7A6006C */ swc1 $f6, 0x6c($sp) -/* 01B2B8 8001A6B8 4610D382 */ mul.s $f14, $f26, $f16 -/* 01B2BC 8001A6BC E7AA0070 */ swc1 $f10, 0x70($sp) -/* 01B2C0 8001A6C0 4610E082 */ mul.s $f2, $f28, $f16 -/* 01B2C4 8001A6C4 460C703C */ c.lt.s $f14, $f12 -/* 01B2C8 8001A6C8 00000000 */ nop -/* 01B2CC 8001A6CC 45020004 */ bc1fl .L8001A6E0_ovl0 -/* 01B2D0 8001A6D0 46006006 */ mov.s $f0, $f12 -/* 01B2D4 8001A6D4 10000002 */ b .L8001A6E0_ovl0 -/* 01B2D8 8001A6D8 46007006 */ mov.s $f0, $f14 -/* 01B2DC 8001A6DC 46006006 */ mov.s $f0, $f12 -.L8001A6E0_ovl0: -/* 01B2E0 8001A6E0 4600010D */ trunc.w.s $f4, $f0 -/* 01B2E4 8001A6E4 460C103C */ c.lt.s $f2, $f12 -/* 01B2E8 8001A6E8 44182000 */ mfc1 $t8, $f4 -/* 01B2EC 8001A6EC 45000003 */ bc1f .L8001A6FC_ovl0 -/* 01B2F0 8001A6F0 A0B80008 */ sb $t8, 8($a1) -/* 01B2F4 8001A6F4 10000002 */ b .L8001A700_ovl0 -/* 01B2F8 8001A6F8 46001006 */ mov.s $f0, $f2 -.L8001A6FC_ovl0: -/* 01B2FC 8001A6FC 46006006 */ mov.s $f0, $f12 -.L8001A700_ovl0: -/* 01B300 8001A700 4610F082 */ mul.s $f2, $f30, $f16 -/* 01B304 8001A704 4600018D */ trunc.w.s $f6, $f0 -/* 01B308 8001A708 460C103C */ c.lt.s $f2, $f12 -/* 01B30C 8001A70C 44093000 */ mfc1 $t1, $f6 -/* 01B310 8001A710 45000003 */ bc1f .L8001A720_ovl0 -/* 01B314 8001A714 A0A90009 */ sb $t1, 9($a1) -/* 01B318 8001A718 10000002 */ b .L8001A724_ovl0 -/* 01B31C 8001A71C 46001006 */ mov.s $f0, $f2 -.L8001A720_ovl0: -/* 01B320 8001A720 46006006 */ mov.s $f0, $f12 -.L8001A724_ovl0: -/* 01B324 8001A724 4600020D */ trunc.w.s $f8, $f0 -/* 01B328 8001A728 440C4000 */ mfc1 $t4, $f8 -/* 01B32C 8001A72C 00000000 */ nop -/* 01B330 8001A730 A0AC000A */ sb $t4, 0xa($a1) -/* 01B334 8001A734 C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 01B338 8001A738 46105082 */ mul.s $f2, $f10, $f16 -/* 01B33C 8001A73C 460C103C */ c.lt.s $f2, $f12 -/* 01B340 8001A740 00000000 */ nop -/* 01B344 8001A744 45020004 */ bc1fl .L8001A758_ovl0 -/* 01B348 8001A748 46006006 */ mov.s $f0, $f12 -/* 01B34C 8001A74C 10000002 */ b .L8001A758_ovl0 -/* 01B350 8001A750 46001006 */ mov.s $f0, $f2 -/* 01B354 8001A754 46006006 */ mov.s $f0, $f12 -.L8001A758_ovl0: -/* 01B358 8001A758 4600010D */ trunc.w.s $f4, $f0 -/* 01B35C 8001A75C 440F2000 */ mfc1 $t7, $f4 -/* 01B360 8001A760 00000000 */ nop -/* 01B364 8001A764 A0AF0018 */ sb $t7, 0x18($a1) -/* 01B368 8001A768 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 01B36C 8001A76C 46103082 */ mul.s $f2, $f6, $f16 -/* 01B370 8001A770 460C103C */ c.lt.s $f2, $f12 -/* 01B374 8001A774 00000000 */ nop -/* 01B378 8001A778 45020004 */ bc1fl .L8001A78C_ovl0 -/* 01B37C 8001A77C 46006006 */ mov.s $f0, $f12 -/* 01B380 8001A780 10000002 */ b .L8001A78C_ovl0 -/* 01B384 8001A784 46001006 */ mov.s $f0, $f2 -/* 01B388 8001A788 46006006 */ mov.s $f0, $f12 -.L8001A78C_ovl0: -/* 01B38C 8001A78C 4600020D */ trunc.w.s $f8, $f0 -/* 01B390 8001A790 44084000 */ mfc1 $t0, $f8 -/* 01B394 8001A794 00000000 */ nop -/* 01B398 8001A798 A0A80019 */ sb $t0, 0x19($a1) -/* 01B39C 8001A79C C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 01B3A0 8001A7A0 46105082 */ mul.s $f2, $f10, $f16 -/* 01B3A4 8001A7A4 460C103C */ c.lt.s $f2, $f12 -/* 01B3A8 8001A7A8 00000000 */ nop -/* 01B3AC 8001A7AC 45020004 */ bc1fl .L8001A7C0_ovl0 -/* 01B3B0 8001A7B0 46006006 */ mov.s $f0, $f12 -/* 01B3B4 8001A7B4 10000002 */ b .L8001A7C0_ovl0 -/* 01B3B8 8001A7B8 46001006 */ mov.s $f0, $f2 -/* 01B3BC 8001A7BC 46006006 */ mov.s $f0, $f12 -.L8001A7C0_ovl0: -/* 01B3C0 8001A7C0 4600010D */ trunc.w.s $f4, $f0 -/* 01B3C4 8001A7C4 A0A00000 */ sb $zero, ($a1) -/* 01B3C8 8001A7C8 A0A00001 */ sb $zero, 1($a1) -/* 01B3CC 8001A7CC A0A00002 */ sb $zero, 2($a1) -/* 01B3D0 8001A7D0 440B2000 */ mfc1 $t3, $f4 -/* 01B3D4 8001A7D4 A0A00003 */ sb $zero, 3($a1) -/* 01B3D8 8001A7D8 A0A00004 */ sb $zero, 4($a1) -/* 01B3DC 8001A7DC A0A00005 */ sb $zero, 5($a1) -/* 01B3E0 8001A7E0 A0A00006 */ sb $zero, 6($a1) -/* 01B3E4 8001A7E4 A0A00007 */ sb $zero, 7($a1) -/* 01B3E8 8001A7E8 A0A00010 */ sb $zero, 0x10($a1) -/* 01B3EC 8001A7EC A0A20011 */ sb $v0, 0x11($a1) -/* 01B3F0 8001A7F0 A0A00012 */ sb $zero, 0x12($a1) -/* 01B3F4 8001A7F4 A0A00013 */ sb $zero, 0x13($a1) -/* 01B3F8 8001A7F8 A0A00014 */ sb $zero, 0x14($a1) -/* 01B3FC 8001A7FC A0A20015 */ sb $v0, 0x15($a1) -/* 01B400 8001A800 A0A00016 */ sb $zero, 0x16($a1) -/* 01B404 8001A804 A0A00017 */ sb $zero, 0x17($a1) -/* 01B408 8001A808 A0AB001A */ sb $t3, 0x1a($a1) -/* 01B40C 8001A80C E49A0000 */ swc1 $f26, ($a0) -/* 01B410 8001A810 C7B20050 */ lwc1 $f18, 0x50($sp) -/* 01B414 8001A814 C7B00054 */ lwc1 $f16, 0x54($sp) -/* 01B418 8001A818 C7AE0058 */ lwc1 $f14, 0x58($sp) -/* 01B41C 8001A81C 461A9182 */ mul.s $f6, $f18, $f26 -/* 01B420 8001A820 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 01B424 8001A824 C7AC006C */ lwc1 $f12, 0x6c($sp) -/* 01B428 8001A828 461C8202 */ mul.s $f8, $f16, $f28 -/* 01B42C 8001A82C C7A20070 */ lwc1 $f2, 0x70($sp) -/* 01B430 8001A830 E49C0010 */ swc1 $f28, 0x10($a0) -/* 01B434 8001A834 461E7102 */ mul.s $f4, $f14, $f30 -/* 01B438 8001A838 E49E0020 */ swc1 $f30, 0x20($a0) -/* 01B43C 8001A83C E4940008 */ swc1 $f20, 8($a0) -/* 01B440 8001A840 E4960018 */ swc1 $f22, 0x18($a0) -/* 01B444 8001A844 E4980028 */ swc1 $f24, 0x28($a0) -/* 01B448 8001A848 46083280 */ add.s $f10, $f6, $f8 -/* 01B44C 8001A84C E4800004 */ swc1 $f0, 4($a0) -/* 01B450 8001A850 E48C0014 */ swc1 $f12, 0x14($a0) -/* 01B454 8001A854 E4820024 */ swc1 $f2, 0x24($a0) -/* 01B458 8001A858 46045180 */ add.s $f6, $f10, $f4 -/* 01B45C 8001A85C 46009282 */ mul.s $f10, $f18, $f0 -/* 01B460 8001A860 44800000 */ mtc1 $zero, $f0 -/* 01B464 8001A864 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B468 8001A868 460C8102 */ mul.s $f4, $f16, $f12 -/* 01B46C 8001A86C 46003207 */ neg.s $f8, $f6 -/* 01B470 8001A870 E4880030 */ swc1 $f8, 0x30($a0) -/* 01B474 8001A874 46027202 */ mul.s $f8, $f14, $f2 -/* 01B478 8001A878 46045180 */ add.s $f6, $f10, $f4 -/* 01B47C 8001A87C 46083280 */ add.s $f10, $f6, $f8 -/* 01B480 8001A880 46005107 */ neg.s $f4, $f10 -/* 01B484 8001A884 E4840034 */ swc1 $f4, 0x34($a0) -/* 01B488 8001A888 C7A60050 */ lwc1 $f6, 0x50($sp) -/* 01B48C 8001A88C C7AA0054 */ lwc1 $f10, 0x54($sp) -/* 01B490 8001A890 46143202 */ mul.s $f8, $f6, $f20 -/* 01B494 8001A894 00000000 */ nop -/* 01B498 8001A898 46165102 */ mul.s $f4, $f10, $f22 -/* 01B49C 8001A89C C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 01B4A0 8001A8A0 E480000C */ swc1 $f0, 0xc($a0) -/* 01B4A4 8001A8A4 E480001C */ swc1 $f0, 0x1c($a0) -/* 01B4A8 8001A8A8 E480002C */ swc1 $f0, 0x2c($a0) -/* 01B4AC 8001A8AC 46044180 */ add.s $f6, $f8, $f4 -/* 01B4B0 8001A8B0 46185202 */ mul.s $f8, $f10, $f24 -/* 01B4B4 8001A8B4 46083100 */ add.s $f4, $f6, $f8 -/* 01B4B8 8001A8B8 44813000 */ mtc1 $at, $f6 -/* 01B4BC 8001A8BC 46002287 */ neg.s $f10, $f4 -/* 01B4C0 8001A8C0 E486003C */ swc1 $f6, 0x3c($a0) -/* 01B4C4 8001A8C4 E48A0038 */ swc1 $f10, 0x38($a0) -/* 01B4C8 8001A8C8 8FBF0044 */ lw $ra, 0x44($sp) -/* 01B4CC 8001A8CC D7BE0038 */ ldc1 $f30, 0x38($sp) -/* 01B4D0 8001A8D0 D7BC0030 */ ldc1 $f28, 0x30($sp) -/* 01B4D4 8001A8D4 D7BA0028 */ ldc1 $f26, 0x28($sp) -/* 01B4D8 8001A8D8 D7B80020 */ ldc1 $f24, 0x20($sp) -/* 01B4DC 8001A8DC D7B60018 */ ldc1 $f22, 0x18($sp) -/* 01B4E0 8001A8E0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 01B4E4 8001A8E4 03E00008 */ jr $ra -/* 01B4E8 8001A8E8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s b/asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s deleted file mode 100644 index a6cf6a2a..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s +++ /dev/null @@ -1,31 +0,0 @@ -glabel func_8001A8EC -/* 01B4EC 8001A8EC 27BDFF88 */ addiu $sp, $sp, -0x78 -/* 01B4F0 8001A8F0 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 01B4F4 8001A8F4 44866000 */ mtc1 $a2, $f12 -/* 01B4F8 8001A8F8 44877000 */ mtc1 $a3, $f14 -/* 01B4FC 8001A8FC E7A40010 */ swc1 $f4, 0x10($sp) -/* 01B500 8001A900 C7A400A0 */ lwc1 $f4, 0xa0($sp) -/* 01B504 8001A904 C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 01B508 8001A908 C7A80090 */ lwc1 $f8, 0x90($sp) -/* 01B50C 8001A90C C7AA0094 */ lwc1 $f10, 0x94($sp) -/* 01B510 8001A910 C7B00098 */ lwc1 $f16, 0x98($sp) -/* 01B514 8001A914 C7B2009C */ lwc1 $f18, 0x9c($sp) -/* 01B518 8001A918 AFBF0034 */ sw $ra, 0x34($sp) -/* 01B51C 8001A91C AFA40078 */ sw $a0, 0x78($sp) -/* 01B520 8001A920 44066000 */ mfc1 $a2, $f12 -/* 01B524 8001A924 44077000 */ mfc1 $a3, $f14 -/* 01B528 8001A928 27A40038 */ addiu $a0, $sp, 0x38 -/* 01B52C 8001A92C E7A40028 */ swc1 $f4, 0x28($sp) -/* 01B530 8001A930 E7A60014 */ swc1 $f6, 0x14($sp) -/* 01B534 8001A934 E7A80018 */ swc1 $f8, 0x18($sp) -/* 01B538 8001A938 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 01B53C 8001A93C E7B00020 */ swc1 $f16, 0x20($sp) -/* 01B540 8001A940 0C006941 */ jal func_8001A504 -/* 01B544 8001A944 E7B20024 */ swc1 $f18, 0x24($sp) -/* 01B548 8001A948 27A40038 */ addiu $a0, $sp, 0x38 -/* 01B54C 8001A94C 0C00668C */ jal func_80019A30 -/* 01B550 8001A950 8FA50078 */ lw $a1, 0x78($sp) -/* 01B554 8001A954 8FBF0034 */ lw $ra, 0x34($sp) -/* 01B558 8001A958 27BD0078 */ addiu $sp, $sp, 0x78 -/* 01B55C 8001A95C 03E00008 */ jr $ra -/* 01B560 8001A960 00000000 */ nop diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001A964.s b/asm/non_matchings/ovl0/ovl0_6/func_8001A964.s deleted file mode 100644 index 6f16a1e9..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001A964.s +++ /dev/null @@ -1,278 +0,0 @@ -glabel func_8001A964 -/* 01B564 8001A964 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01B568 8001A968 AFA60070 */ sw $a2, 0x70($sp) -/* 01B56C 8001A96C C7A60070 */ lwc1 $f6, 0x70($sp) -/* 01B570 8001A970 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 01B574 8001A974 AFA70074 */ sw $a3, 0x74($sp) -/* 01B578 8001A978 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 01B57C 8001A97C C7A80080 */ lwc1 $f8, 0x80($sp) -/* 01B580 8001A980 46062401 */ sub.s $f16, $f4, $f6 -/* 01B584 8001A984 C7A60078 */ lwc1 $f6, 0x78($sp) -/* 01B588 8001A988 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 01B58C 8001A98C 460A4481 */ sub.s $f18, $f8, $f10 -/* 01B590 8001A990 46108202 */ mul.s $f8, $f16, $f16 -/* 01B594 8001A994 AFBF0034 */ sw $ra, 0x34($sp) -/* 01B598 8001A998 46062001 */ sub.s $f0, $f4, $f6 -/* 01B59C 8001A99C 46129282 */ mul.s $f10, $f18, $f18 -/* 01B5A0 8001A9A0 AFB00030 */ sw $s0, 0x30($sp) -/* 01B5A4 8001A9A4 AFA5006C */ sw $a1, 0x6c($sp) -/* 01B5A8 8001A9A8 46000182 */ mul.s $f6, $f0, $f0 -/* 01B5AC 8001A9AC 00808025 */ move $s0, $a0 -/* 01B5B0 8001A9B0 F7B80028 */ sdc1 $f24, 0x28($sp) -/* 01B5B4 8001A9B4 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 01B5B8 8001A9B8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 01B5BC 8001A9BC 460A4100 */ add.s $f4, $f8, $f10 -/* 01B5C0 8001A9C0 AFA5006C */ sw $a1, 0x6c($sp) -/* 01B5C4 8001A9C4 E7A00060 */ swc1 $f0, 0x60($sp) -/* 01B5C8 8001A9C8 E7B2005C */ swc1 $f18, 0x5c($sp) -/* 01B5CC 8001A9CC 46062300 */ add.s $f12, $f4, $f6 -/* 01B5D0 8001A9D0 0C00CAC8 */ jal sqrtf -/* 01B5D4 8001A9D4 E7B00058 */ swc1 $f16, 0x58($sp) -/* 01B5D8 8001A9D8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 01B5DC 8001A9DC 44814000 */ mtc1 $at, $f8 -/* 01B5E0 8001A9E0 C7B00058 */ lwc1 $f16, 0x58($sp) -/* 01B5E4 8001A9E4 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 01B5E8 8001A9E8 46004083 */ div.s $f2, $f8, $f0 -/* 01B5EC 8001A9EC C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 01B5F0 8001A9F0 C7B40090 */ lwc1 $f20, 0x90($sp) -/* 01B5F4 8001A9F4 C7B60094 */ lwc1 $f22, 0x94($sp) -/* 01B5F8 8001A9F8 C7B8008C */ lwc1 $f24, 0x8c($sp) -/* 01B5FC 8001A9FC 46028402 */ mul.s $f16, $f16, $f2 -/* 01B600 8001AA00 00000000 */ nop -/* 01B604 8001AA04 46029482 */ mul.s $f18, $f18, $f2 -/* 01B608 8001AA08 00000000 */ nop -/* 01B60C 8001AA0C 46025102 */ mul.s $f4, $f10, $f2 -/* 01B610 8001AA10 E7B00058 */ swc1 $f16, 0x58($sp) -/* 01B614 8001AA14 E7B2005C */ swc1 $f18, 0x5c($sp) -/* 01B618 8001AA18 4604A182 */ mul.s $f6, $f20, $f4 -/* 01B61C 8001AA1C E7A40060 */ swc1 $f4, 0x60($sp) -/* 01B620 8001AA20 4612B202 */ mul.s $f8, $f22, $f18 -/* 01B624 8001AA24 46083381 */ sub.s $f14, $f6, $f8 -/* 01B628 8001AA28 4610B282 */ mul.s $f10, $f22, $f16 -/* 01B62C 8001AA2C 00000000 */ nop -/* 01B630 8001AA30 4604C182 */ mul.s $f6, $f24, $f4 -/* 01B634 8001AA34 E7AE004C */ swc1 $f14, 0x4c($sp) -/* 01B638 8001AA38 4612C102 */ mul.s $f4, $f24, $f18 -/* 01B63C 8001AA3C 46065201 */ sub.s $f8, $f10, $f6 -/* 01B640 8001AA40 4610A282 */ mul.s $f10, $f20, $f16 -/* 01B644 8001AA44 E7A80050 */ swc1 $f8, 0x50($sp) -/* 01B648 8001AA48 460A2181 */ sub.s $f6, $f4, $f10 -/* 01B64C 8001AA4C 46084102 */ mul.s $f4, $f8, $f8 -/* 01B650 8001AA50 00000000 */ nop -/* 01B654 8001AA54 460E7282 */ mul.s $f10, $f14, $f14 -/* 01B658 8001AA58 E7A60054 */ swc1 $f6, 0x54($sp) -/* 01B65C 8001AA5C 46045200 */ add.s $f8, $f10, $f4 -/* 01B660 8001AA60 46063282 */ mul.s $f10, $f6, $f6 -/* 01B664 8001AA64 0C00CAC8 */ jal sqrtf -/* 01B668 8001AA68 460A4300 */ add.s $f12, $f8, $f10 -/* 01B66C 8001AA6C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B670 8001AA70 44812000 */ mtc1 $at, $f4 -/* 01B674 8001AA74 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01B678 8001AA78 C7AA0050 */ lwc1 $f10, 0x50($sp) -/* 01B67C 8001AA7C 46002083 */ div.s $f2, $f4, $f0 -/* 01B680 8001AA80 27A4004C */ addiu $a0, $sp, 0x4c -/* 01B684 8001AA84 27A50058 */ addiu $a1, $sp, 0x58 -/* 01B688 8001AA88 8FA60088 */ lw $a2, 0x88($sp) -/* 01B68C 8001AA8C 46023202 */ mul.s $f8, $f6, $f2 -/* 01B690 8001AA90 C7A60054 */ lwc1 $f6, 0x54($sp) -/* 01B694 8001AA94 46025102 */ mul.s $f4, $f10, $f2 -/* 01B698 8001AA98 E7A8004C */ swc1 $f8, 0x4c($sp) -/* 01B69C 8001AA9C 46023202 */ mul.s $f8, $f6, $f2 -/* 01B6A0 8001AAA0 E7A40050 */ swc1 $f4, 0x50($sp) -/* 01B6A4 8001AAA4 0C00647E */ jal func_800191F8 -/* 01B6A8 8001AAA8 E7A80054 */ swc1 $f8, 0x54($sp) -/* 01B6AC 8001AAAC C7AA0060 */ lwc1 $f10, 0x60($sp) -/* 01B6B0 8001AAB0 C7A40050 */ lwc1 $f4, 0x50($sp) -/* 01B6B4 8001AAB4 C7B2005C */ lwc1 $f18, 0x5c($sp) -/* 01B6B8 8001AAB8 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 01B6BC 8001AABC 46045182 */ mul.s $f6, $f10, $f4 -/* 01B6C0 8001AAC0 E7AA0038 */ swc1 $f10, 0x38($sp) -/* 01B6C4 8001AAC4 C7B00058 */ lwc1 $f16, 0x58($sp) -/* 01B6C8 8001AAC8 46089282 */ mul.s $f10, $f18, $f8 -/* 01B6CC 8001AACC 46065001 */ sub.s $f0, $f10, $f6 -/* 01B6D0 8001AAD0 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01B6D4 8001AAD4 C7AA0038 */ lwc1 $f10, 0x38($sp) -/* 01B6D8 8001AAD8 46000606 */ mov.s $f24, $f0 -/* 01B6DC 8001AADC 46065282 */ mul.s $f10, $f10, $f6 -/* 01B6E0 8001AAE0 00000000 */ nop -/* 01B6E4 8001AAE4 46088202 */ mul.s $f8, $f16, $f8 -/* 01B6E8 8001AAE8 46085501 */ sub.s $f20, $f10, $f8 -/* 01B6EC 8001AAEC 46048282 */ mul.s $f10, $f16, $f4 -/* 01B6F0 8001AAF0 00000000 */ nop -/* 01B6F4 8001AAF4 46069202 */ mul.s $f8, $f18, $f6 -/* 01B6F8 8001AAF8 46085581 */ sub.s $f22, $f10, $f8 -/* 01B6FC 8001AAFC 46000102 */ mul.s $f4, $f0, $f0 -/* 01B700 8001AB00 00000000 */ nop -/* 01B704 8001AB04 4614A182 */ mul.s $f6, $f20, $f20 -/* 01B708 8001AB08 46062280 */ add.s $f10, $f4, $f6 -/* 01B70C 8001AB0C 4616B202 */ mul.s $f8, $f22, $f22 -/* 01B710 8001AB10 0C00CAC8 */ jal sqrtf -/* 01B714 8001AB14 46085300 */ add.s $f12, $f10, $f8 -/* 01B718 8001AB18 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 01B71C 8001AB1C 44816000 */ mtc1 $at, $f12 -/* 01B720 8001AB20 3C014300 */ li $at, 0x43000000 # 128.000000 -/* 01B724 8001AB24 44818000 */ mtc1 $at, $f16 -/* 01B728 8001AB28 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B72C 8001AB2C 44812000 */ mtc1 $at, $f4 -/* 01B730 8001AB30 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01B734 8001AB34 8FA7006C */ lw $a3, 0x6c($sp) -/* 01B738 8001AB38 46002083 */ div.s $f2, $f4, $f0 -/* 01B73C 8001AB3C 24020080 */ li $v0, 128 -/* 01B740 8001AB40 4602C602 */ mul.s $f24, $f24, $f2 -/* 01B744 8001AB44 00000000 */ nop -/* 01B748 8001AB48 4602A502 */ mul.s $f20, $f20, $f2 -/* 01B74C 8001AB4C 00000000 */ nop -/* 01B750 8001AB50 4602B582 */ mul.s $f22, $f22, $f2 -/* 01B754 8001AB54 00000000 */ nop -/* 01B758 8001AB58 46103382 */ mul.s $f14, $f6, $f16 -/* 01B75C 8001AB5C 460C703C */ c.lt.s $f14, $f12 -/* 01B760 8001AB60 00000000 */ nop -/* 01B764 8001AB64 45000003 */ bc1f .L8001AB74_ovl0 -/* 01B768 8001AB68 00000000 */ nop -/* 01B76C 8001AB6C 10000002 */ b .L8001AB78_ovl0 -/* 01B770 8001AB70 46007006 */ mov.s $f0, $f14 -.L8001AB74_ovl0: -/* 01B774 8001AB74 46006006 */ mov.s $f0, $f12 -.L8001AB78_ovl0: -/* 01B778 8001AB78 4600028D */ trunc.w.s $f10, $f0 -/* 01B77C 8001AB7C 440E5000 */ mfc1 $t6, $f10 -/* 01B780 8001AB80 00000000 */ nop -/* 01B784 8001AB84 A0EE0008 */ sb $t6, 8($a3) -/* 01B788 8001AB88 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 01B78C 8001AB8C 46104082 */ mul.s $f2, $f8, $f16 -/* 01B790 8001AB90 460C103C */ c.lt.s $f2, $f12 -/* 01B794 8001AB94 00000000 */ nop -/* 01B798 8001AB98 45020004 */ bc1fl .L8001ABAC_ovl0 -/* 01B79C 8001AB9C 46006006 */ mov.s $f0, $f12 -/* 01B7A0 8001ABA0 10000002 */ b .L8001ABAC_ovl0 -/* 01B7A4 8001ABA4 46001006 */ mov.s $f0, $f2 -/* 01B7A8 8001ABA8 46006006 */ mov.s $f0, $f12 -.L8001ABAC_ovl0: -/* 01B7AC 8001ABAC 4600010D */ trunc.w.s $f4, $f0 -/* 01B7B0 8001ABB0 44192000 */ mfc1 $t9, $f4 -/* 01B7B4 8001ABB4 00000000 */ nop -/* 01B7B8 8001ABB8 A0F90009 */ sb $t9, 9($a3) -/* 01B7BC 8001ABBC C7A60054 */ lwc1 $f6, 0x54($sp) -/* 01B7C0 8001ABC0 46103082 */ mul.s $f2, $f6, $f16 -/* 01B7C4 8001ABC4 460C103C */ c.lt.s $f2, $f12 -/* 01B7C8 8001ABC8 00000000 */ nop -/* 01B7CC 8001ABCC 45020004 */ bc1fl .L8001ABE0_ovl0 -/* 01B7D0 8001ABD0 46006006 */ mov.s $f0, $f12 -/* 01B7D4 8001ABD4 10000002 */ b .L8001ABE0_ovl0 -/* 01B7D8 8001ABD8 46001006 */ mov.s $f0, $f2 -/* 01B7DC 8001ABDC 46006006 */ mov.s $f0, $f12 -.L8001ABE0_ovl0: -/* 01B7E0 8001ABE0 4610C082 */ mul.s $f2, $f24, $f16 -/* 01B7E4 8001ABE4 4600028D */ trunc.w.s $f10, $f0 -/* 01B7E8 8001ABE8 460C103C */ c.lt.s $f2, $f12 -/* 01B7EC 8001ABEC 440A5000 */ mfc1 $t2, $f10 -/* 01B7F0 8001ABF0 45000003 */ bc1f .L8001AC00_ovl0 -/* 01B7F4 8001ABF4 A0EA000A */ sb $t2, 0xa($a3) -/* 01B7F8 8001ABF8 10000002 */ b .L8001AC04_ovl0 -/* 01B7FC 8001ABFC 46001006 */ mov.s $f0, $f2 -.L8001AC00_ovl0: -/* 01B800 8001AC00 46006006 */ mov.s $f0, $f12 -.L8001AC04_ovl0: -/* 01B804 8001AC04 4610A082 */ mul.s $f2, $f20, $f16 -/* 01B808 8001AC08 4600020D */ trunc.w.s $f8, $f0 -/* 01B80C 8001AC0C 460C103C */ c.lt.s $f2, $f12 -/* 01B810 8001AC10 440D4000 */ mfc1 $t5, $f8 -/* 01B814 8001AC14 45000003 */ bc1f .L8001AC24_ovl0 -/* 01B818 8001AC18 A0ED0018 */ sb $t5, 0x18($a3) -/* 01B81C 8001AC1C 10000002 */ b .L8001AC28_ovl0 -/* 01B820 8001AC20 46001006 */ mov.s $f0, $f2 -.L8001AC24_ovl0: -/* 01B824 8001AC24 46006006 */ mov.s $f0, $f12 -.L8001AC28_ovl0: -/* 01B828 8001AC28 4610B082 */ mul.s $f2, $f22, $f16 -/* 01B82C 8001AC2C 4600010D */ trunc.w.s $f4, $f0 -/* 01B830 8001AC30 460C103C */ c.lt.s $f2, $f12 -/* 01B834 8001AC34 44182000 */ mfc1 $t8, $f4 -/* 01B838 8001AC38 45000003 */ bc1f .L8001AC48_ovl0 -/* 01B83C 8001AC3C A0F80019 */ sb $t8, 0x19($a3) -/* 01B840 8001AC40 10000002 */ b .L8001AC4C_ovl0 -/* 01B844 8001AC44 46001006 */ mov.s $f0, $f2 -.L8001AC48_ovl0: -/* 01B848 8001AC48 46006006 */ mov.s $f0, $f12 -.L8001AC4C_ovl0: -/* 01B84C 8001AC4C 4600018D */ trunc.w.s $f6, $f0 -/* 01B850 8001AC50 A0E00000 */ sb $zero, ($a3) -/* 01B854 8001AC54 A0E00001 */ sb $zero, 1($a3) -/* 01B858 8001AC58 A0E00002 */ sb $zero, 2($a3) -/* 01B85C 8001AC5C 44093000 */ mfc1 $t1, $f6 -/* 01B860 8001AC60 A0E00003 */ sb $zero, 3($a3) -/* 01B864 8001AC64 A0E00004 */ sb $zero, 4($a3) -/* 01B868 8001AC68 A0E00005 */ sb $zero, 5($a3) -/* 01B86C 8001AC6C A0E00006 */ sb $zero, 6($a3) -/* 01B870 8001AC70 A0E00007 */ sb $zero, 7($a3) -/* 01B874 8001AC74 A0E00010 */ sb $zero, 0x10($a3) -/* 01B878 8001AC78 A0E20011 */ sb $v0, 0x11($a3) -/* 01B87C 8001AC7C A0E00012 */ sb $zero, 0x12($a3) -/* 01B880 8001AC80 A0E00013 */ sb $zero, 0x13($a3) -/* 01B884 8001AC84 A0E00014 */ sb $zero, 0x14($a3) -/* 01B888 8001AC88 A0E20015 */ sb $v0, 0x15($a3) -/* 01B88C 8001AC8C A0E00016 */ sb $zero, 0x16($a3) -/* 01B890 8001AC90 A0E00017 */ sb $zero, 0x17($a3) -/* 01B894 8001AC94 A0E9001A */ sb $t1, 0x1a($a3) -/* 01B898 8001AC98 C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 01B89C 8001AC9C 44800000 */ mtc1 $zero, $f0 -/* 01B8A0 8001ACA0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01B8A4 8001ACA4 E60A0000 */ swc1 $f10, ($s0) -/* 01B8A8 8001ACA8 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 01B8AC 8001ACAC C7AE0078 */ lwc1 $f14, 0x78($sp) -/* 01B8B0 8001ACB0 C7AC0074 */ lwc1 $f12, 0x74($sp) -/* 01B8B4 8001ACB4 C7A20070 */ lwc1 $f2, 0x70($sp) -/* 01B8B8 8001ACB8 E6080010 */ swc1 $f8, 0x10($s0) -/* 01B8BC 8001ACBC C7A40054 */ lwc1 $f4, 0x54($sp) -/* 01B8C0 8001ACC0 E6040020 */ swc1 $f4, 0x20($s0) -/* 01B8C4 8001ACC4 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 01B8C8 8001ACC8 C7A80050 */ lwc1 $f8, 0x50($sp) -/* 01B8CC 8001ACCC 46061282 */ mul.s $f10, $f2, $f6 -/* 01B8D0 8001ACD0 00000000 */ nop -/* 01B8D4 8001ACD4 46086102 */ mul.s $f4, $f12, $f8 -/* 01B8D8 8001ACD8 C7A80054 */ lwc1 $f8, 0x54($sp) -/* 01B8DC 8001ACDC E6180004 */ swc1 $f24, 4($s0) -/* 01B8E0 8001ACE0 E6140014 */ swc1 $f20, 0x14($s0) -/* 01B8E4 8001ACE4 E6160024 */ swc1 $f22, 0x24($s0) -/* 01B8E8 8001ACE8 46045180 */ add.s $f6, $f10, $f4 -/* 01B8EC 8001ACEC 46087282 */ mul.s $f10, $f14, $f8 -/* 01B8F0 8001ACF0 460A3100 */ add.s $f4, $f6, $f10 -/* 01B8F4 8001ACF4 46181182 */ mul.s $f6, $f2, $f24 -/* 01B8F8 8001ACF8 00000000 */ nop -/* 01B8FC 8001ACFC 46146282 */ mul.s $f10, $f12, $f20 -/* 01B900 8001AD00 46002207 */ neg.s $f8, $f4 -/* 01B904 8001AD04 E6080030 */ swc1 $f8, 0x30($s0) -/* 01B908 8001AD08 46167202 */ mul.s $f8, $f14, $f22 -/* 01B90C 8001AD0C 460A3100 */ add.s $f4, $f6, $f10 -/* 01B910 8001AD10 46082180 */ add.s $f6, $f4, $f8 -/* 01B914 8001AD14 46003287 */ neg.s $f10, $f6 -/* 01B918 8001AD18 E60A0034 */ swc1 $f10, 0x34($s0) -/* 01B91C 8001AD1C C7A40058 */ lwc1 $f4, 0x58($sp) -/* 01B920 8001AD20 E6040008 */ swc1 $f4, 8($s0) -/* 01B924 8001AD24 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 01B928 8001AD28 E6080018 */ swc1 $f8, 0x18($s0) -/* 01B92C 8001AD2C C7A60060 */ lwc1 $f6, 0x60($sp) -/* 01B930 8001AD30 E6060028 */ swc1 $f6, 0x28($s0) -/* 01B934 8001AD34 C7AA0058 */ lwc1 $f10, 0x58($sp) -/* 01B938 8001AD38 C7A8005C */ lwc1 $f8, 0x5c($sp) -/* 01B93C 8001AD3C 460A1102 */ mul.s $f4, $f2, $f10 -/* 01B940 8001AD40 00000000 */ nop -/* 01B944 8001AD44 46086182 */ mul.s $f6, $f12, $f8 -/* 01B948 8001AD48 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 01B94C 8001AD4C E600000C */ swc1 $f0, 0xc($s0) -/* 01B950 8001AD50 E600001C */ swc1 $f0, 0x1c($s0) -/* 01B954 8001AD54 E600002C */ swc1 $f0, 0x2c($s0) -/* 01B958 8001AD58 46062280 */ add.s $f10, $f4, $f6 -/* 01B95C 8001AD5C 46087102 */ mul.s $f4, $f14, $f8 -/* 01B960 8001AD60 46045180 */ add.s $f6, $f10, $f4 -/* 01B964 8001AD64 44815000 */ mtc1 $at, $f10 -/* 01B968 8001AD68 46003207 */ neg.s $f8, $f6 -/* 01B96C 8001AD6C E60A003C */ swc1 $f10, 0x3c($s0) -/* 01B970 8001AD70 E6080038 */ swc1 $f8, 0x38($s0) -/* 01B974 8001AD74 8FBF0034 */ lw $ra, 0x34($sp) -/* 01B978 8001AD78 8FB00030 */ lw $s0, 0x30($sp) -/* 01B97C 8001AD7C D7B80028 */ ldc1 $f24, 0x28($sp) -/* 01B980 8001AD80 D7B60020 */ ldc1 $f22, 0x20($sp) -/* 01B984 8001AD84 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 01B988 8001AD88 03E00008 */ jr $ra -/* 01B98C 8001AD8C 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s b/asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s index edcae0bd..635f520f 100644 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s +++ b/asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s @@ -22,7 +22,7 @@ glabel func_8001AD90 /* 01B9E0 8001ADE0 E7A80018 */ swc1 $f8, 0x18($sp) /* 01B9E4 8001ADE4 E7AA001C */ swc1 $f10, 0x1c($sp) /* 01B9E8 8001ADE8 E7B00020 */ swc1 $f16, 0x20($sp) -/* 01B9EC 8001ADEC 0C006A59 */ jal func_8001A964 +/* 01B9EC 8001ADEC 0C006A59 */ jal guLookAtReflectF_2 /* 01B9F0 8001ADF0 E7B20024 */ swc1 $f18, 0x24($sp) /* 01B9F4 8001ADF4 27A40038 */ addiu $a0, $sp, 0x38 /* 01B9F8 8001ADF8 0C00668C */ jal func_80019A30 diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s b/asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s deleted file mode 100644 index 86502e80..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s +++ /dev/null @@ -1,109 +0,0 @@ -glabel func_8001AE10 -/* 01BA10 8001AE10 44857000 */ mtc1 $a1, $f14 -/* 01BA14 8001AE14 44866000 */ mtc1 $a2, $f12 -/* 01BA18 8001AE18 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 01BA1C 8001AE1C 44819000 */ mtc1 $at, $f18 -/* 01BA20 8001AE20 460E6001 */ sub.s $f0, $f12, $f14 -/* 01BA24 8001AE24 AFA7000C */ sw $a3, 0xc($sp) -/* 01BA28 8001AE28 3C01C000 */ li $at, 0xC0000000 # -2.000000 -/* 01BA2C 8001AE2C 24060003 */ li $a2, 3 -/* 01BA30 8001AE30 46009103 */ div.s $f4, $f18, $f0 -/* 01BA34 8001AE34 24050002 */ li $a1, 2 -/* 01BA38 8001AE38 00001025 */ move $v0, $zero -/* 01BA3C 8001AE3C 24030001 */ li $v1, 1 -/* 01BA40 8001AE40 E4840000 */ swc1 $f4, ($a0) -/* 01BA44 8001AE44 C7A8000C */ lwc1 $f8, 0xc($sp) -/* 01BA48 8001AE48 C7A60010 */ lwc1 $f6, 0x10($sp) -/* 01BA4C 8001AE4C 46083081 */ sub.s $f2, $f6, $f8 -/* 01BA50 8001AE50 44814000 */ mtc1 $at, $f8 -/* 01BA54 8001AE54 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 01BA58 8001AE58 46029283 */ div.s $f10, $f18, $f2 -/* 01BA5C 8001AE5C E48A0014 */ swc1 $f10, 0x14($a0) -/* 01BA60 8001AE60 C7A60014 */ lwc1 $f6, 0x14($sp) -/* 01BA64 8001AE64 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 01BA68 8001AE68 46062401 */ sub.s $f16, $f4, $f6 -/* 01BA6C 8001AE6C 460E6100 */ add.s $f4, $f12, $f14 -/* 01BA70 8001AE70 46104283 */ div.s $f10, $f8, $f16 -/* 01BA74 8001AE74 46002187 */ neg.s $f6, $f4 -/* 01BA78 8001AE78 46003203 */ div.s $f8, $f6, $f0 -/* 01BA7C 8001AE7C E48A0028 */ swc1 $f10, 0x28($a0) -/* 01BA80 8001AE80 44800000 */ mtc1 $zero, $f0 -/* 01BA84 8001AE84 E4880030 */ swc1 $f8, 0x30($a0) -/* 01BA88 8001AE88 C7A4000C */ lwc1 $f4, 0xc($sp) -/* 01BA8C 8001AE8C C7AA0010 */ lwc1 $f10, 0x10($sp) -/* 01BA90 8001AE90 46045180 */ add.s $f6, $f10, $f4 -/* 01BA94 8001AE94 46003207 */ neg.s $f8, $f6 -/* 01BA98 8001AE98 46024283 */ div.s $f10, $f8, $f2 -/* 01BA9C 8001AE9C E48A0034 */ swc1 $f10, 0x34($a0) -/* 01BAA0 8001AEA0 C7A60014 */ lwc1 $f6, 0x14($sp) -/* 01BAA4 8001AEA4 C7A40018 */ lwc1 $f4, 0x18($sp) -/* 01BAA8 8001AEA8 46062200 */ add.s $f8, $f4, $f6 -/* 01BAAC 8001AEAC 44813000 */ mtc1 $at, $f6 -/* 01BAB0 8001AEB0 46004287 */ neg.s $f10, $f8 -/* 01BAB4 8001AEB4 E486003C */ swc1 $f6, 0x3c($a0) -/* 01BAB8 8001AEB8 46105103 */ div.s $f4, $f10, $f16 -/* 01BABC 8001AEBC E4840038 */ swc1 $f4, 0x38($a0) -.L8001AEC0_ovl0: -/* 01BAC0 8001AEC0 10400003 */ beqz $v0, .L8001AED0_ovl0 -/* 01BAC4 8001AEC4 00027100 */ sll $t6, $v0, 4 -/* 01BAC8 8001AEC8 008E7821 */ addu $t7, $a0, $t6 -/* 01BACC 8001AECC E5E00000 */ swc1 $f0, ($t7) -.L8001AED0_ovl0: -/* 01BAD0 8001AED0 10430003 */ beq $v0, $v1, .L8001AEE0_ovl0 -/* 01BAD4 8001AED4 0002C100 */ sll $t8, $v0, 4 -/* 01BAD8 8001AED8 0098C821 */ addu $t9, $a0, $t8 -/* 01BADC 8001AEDC E7200004 */ swc1 $f0, 4($t9) -.L8001AEE0_ovl0: -/* 01BAE0 8001AEE0 10450003 */ beq $v0, $a1, .L8001AEF0_ovl0 -/* 01BAE4 8001AEE4 00024100 */ sll $t0, $v0, 4 -/* 01BAE8 8001AEE8 00884821 */ addu $t1, $a0, $t0 -/* 01BAEC 8001AEEC E5200008 */ swc1 $f0, 8($t1) -.L8001AEF0_ovl0: -/* 01BAF0 8001AEF0 10460003 */ beq $v0, $a2, .L8001AF00_ovl0 -/* 01BAF4 8001AEF4 00025100 */ sll $t2, $v0, 4 -/* 01BAF8 8001AEF8 008A5821 */ addu $t3, $a0, $t2 -/* 01BAFC 8001AEFC E560000C */ swc1 $f0, 0xc($t3) -.L8001AF00_ovl0: -/* 01BB00 8001AF00 24420001 */ addiu $v0, $v0, 1 -/* 01BB04 8001AF04 28410003 */ slti $at, $v0, 3 -/* 01BB08 8001AF08 1420FFED */ bnez $at, .L8001AEC0_ovl0 -/* 01BB0C 8001AF0C 00000000 */ nop -/* 01BB10 8001AF10 00801825 */ move $v1, $a0 -/* 01BB14 8001AF14 24040004 */ li $a0, 4 -/* 01BB18 8001AF18 00001025 */ move $v0, $zero -/* 01BB1C 8001AF1C C7A0001C */ lwc1 $f0, 0x1c($sp) -/* 01BB20 8001AF20 C4680000 */ lwc1 $f8, ($v1) -/* 01BB24 8001AF24 24420001 */ addiu $v0, $v0, 1 -/* 01BB28 8001AF28 C4720004 */ lwc1 $f18, 4($v1) -/* 01BB2C 8001AF2C 46004302 */ mul.s $f12, $f8, $f0 -/* 01BB30 8001AF30 C46E0008 */ lwc1 $f14, 8($v1) -/* 01BB34 8001AF34 10440010 */ beq $v0, $a0, .L8001AF78_ovl0 -/* 01BB38 8001AF38 C470000C */ lwc1 $f16, 0xc($v1) -.L8001AF3C_ovl0: -/* 01BB3C 8001AF3C 46009282 */ mul.s $f10, $f18, $f0 -/* 01BB40 8001AF40 C4680010 */ lwc1 $f8, 0x10($v1) -/* 01BB44 8001AF44 C4720014 */ lwc1 $f18, 0x14($v1) -/* 01BB48 8001AF48 46007182 */ mul.s $f6, $f14, $f0 -/* 01BB4C 8001AF4C C46E0018 */ lwc1 $f14, 0x18($v1) -/* 01BB50 8001AF50 24420001 */ addiu $v0, $v0, 1 -/* 01BB54 8001AF54 46008102 */ mul.s $f4, $f16, $f0 -/* 01BB58 8001AF58 C470001C */ lwc1 $f16, 0x1c($v1) -/* 01BB5C 8001AF5C E46C0000 */ swc1 $f12, ($v1) -/* 01BB60 8001AF60 46004302 */ mul.s $f12, $f8, $f0 -/* 01BB64 8001AF64 E46A0004 */ swc1 $f10, 4($v1) -/* 01BB68 8001AF68 E4660008 */ swc1 $f6, 8($v1) -/* 01BB6C 8001AF6C 24630010 */ addiu $v1, $v1, 0x10 -/* 01BB70 8001AF70 1444FFF2 */ bne $v0, $a0, .L8001AF3C_ovl0 -/* 01BB74 8001AF74 E464FFFC */ swc1 $f4, -4($v1) -.L8001AF78_ovl0: -/* 01BB78 8001AF78 46009282 */ mul.s $f10, $f18, $f0 -/* 01BB7C 8001AF7C 24630010 */ addiu $v1, $v1, 0x10 -/* 01BB80 8001AF80 E46CFFF0 */ swc1 $f12, -0x10($v1) -/* 01BB84 8001AF84 46007182 */ mul.s $f6, $f14, $f0 -/* 01BB88 8001AF88 00000000 */ nop -/* 01BB8C 8001AF8C 46008102 */ mul.s $f4, $f16, $f0 -/* 01BB90 8001AF90 E46AFFF4 */ swc1 $f10, -0xc($v1) -/* 01BB94 8001AF94 E466FFF8 */ swc1 $f6, -8($v1) -/* 01BB98 8001AF98 E464FFFC */ swc1 $f4, -4($v1) -/* 01BB9C 8001AF9C 03E00008 */ jr $ra -/* 01BBA0 8001AFA0 00000000 */ nop diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s b/asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s deleted file mode 100644 index a45fc643..00000000 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_8001AFA4 -/* 01BBA4 8001AFA4 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 01BBA8 8001AFA8 44856000 */ mtc1 $a1, $f12 -/* 01BBAC 8001AFAC 44867000 */ mtc1 $a2, $f14 -/* 01BBB0 8001AFB0 C7A40078 */ lwc1 $f4, 0x78($sp) -/* 01BBB4 8001AFB4 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 01BBB8 8001AFB8 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 01BBBC 8001AFBC C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 01BBC0 8001AFC0 AFBF0024 */ sw $ra, 0x24($sp) -/* 01BBC4 8001AFC4 AFA40068 */ sw $a0, 0x68($sp) -/* 01BBC8 8001AFC8 44056000 */ mfc1 $a1, $f12 -/* 01BBCC 8001AFCC 44067000 */ mfc1 $a2, $f14 -/* 01BBD0 8001AFD0 AFA70074 */ sw $a3, 0x74($sp) -/* 01BBD4 8001AFD4 27A40028 */ addiu $a0, $sp, 0x28 -/* 01BBD8 8001AFD8 E7A40010 */ swc1 $f4, 0x10($sp) -/* 01BBDC 8001AFDC E7A60014 */ swc1 $f6, 0x14($sp) -/* 01BBE0 8001AFE0 E7A80018 */ swc1 $f8, 0x18($sp) -/* 01BBE4 8001AFE4 0C006B84 */ jal func_8001AE10 -/* 01BBE8 8001AFE8 E7AA001C */ swc1 $f10, 0x1c($sp) -/* 01BBEC 8001AFEC 27A40028 */ addiu $a0, $sp, 0x28 -/* 01BBF0 8001AFF0 0C00668C */ jal func_80019A30 -/* 01BBF4 8001AFF4 8FA50068 */ lw $a1, 0x68($sp) -/* 01BBF8 8001AFF8 8FBF0024 */ lw $ra, 0x24($sp) -/* 01BBFC 8001AFFC 27BD0068 */ addiu $sp, $sp, 0x68 -/* 01BC00 8001B000 03E00008 */ jr $ra -/* 01BC04 8001B004 00000000 */ nop diff --git a/asm/non_matchings/ovl0/ovl0_6/func_8001B008.s b/asm/non_matchings/ovl0/ovl0_6/func_8001B008.s index 638f6e03..b79855d0 100644 --- a/asm/non_matchings/ovl0/ovl0_6/func_8001B008.s +++ b/asm/non_matchings/ovl0/ovl0_6/func_8001B008.s @@ -2,7 +2,7 @@ glabel func_8001B008 /* 01BC08 8001B008 3C018004 */ lui $at, %hi(D_80040C7C) # $at, 0x8004 /* 01BC0C 8001B00C 44866000 */ mtc1 $a2, $f12 /* 01BC10 8001B010 C4240C7C */ lwc1 $f4, %lo(D_80040C7C)($at) -/* 01BC14 8001B014 3C018004 */ li $at, 0x80040000 # -0.000000 +/* 01BC14 8001B014 3C018004 */ lui $at, %hi(D_80040C80) # $at, 0x8004 /* 01BC18 8001B018 C4260C80 */ lwc1 $f6, %lo(D_80040C80)($at) /* 01BC1C 8001B01C 46046302 */ mul.s $f12, $f12, $f4 /* 01BC20 8001B020 27BDFFD8 */ addiu $sp, $sp, -0x28 diff --git a/asm/non_matchings/ovl1/ovl1/func_8009E8F4.s b/asm/non_matchings/ovl1/ovl1/func_8009E8F4.s index cfa5468b..c0335062 100644 --- a/asm/non_matchings/ovl1/ovl1/func_8009E8F4.s +++ b/asm/non_matchings/ovl1/ovl1/func_8009E8F4.s @@ -81,7 +81,7 @@ glabel func_8009E8F4 /* 046C7C 8009EA2C C6040030 */ lwc1 $f4, 0x30($s0) /* 046C80 8009EA30 E7A40018 */ swc1 $f4, 0x18($sp) /* 046C84 8009EA34 C6060034 */ lwc1 $f6, 0x34($s0) -/* 046C88 8009EA38 0C006B84 */ jal func_8001AE10_ovl1 +/* 046C88 8009EA38 0C006B84 */ jal guOrthoF_ovl1 /* 046C8C 8009EA3C E7A6001C */ swc1 $f6, 0x1c($sp) /* 046C90 8009EA40 10000055 */ b .L8009EB98_ovl1 /* 046C94 8009EA44 8E020060 */ lw $v0, 0x60($s0) @@ -118,7 +118,7 @@ glabel func_8009E8F4 /* 046D10 8009EAC0 E7BE0028 */ swc1 $f30, 0x28($sp) /* 046D14 8009EAC4 E7B40024 */ swc1 $f20, 0x24($sp) /* 046D18 8009EAC8 E7BE0020 */ swc1 $f30, 0x20($sp) -/* 046D1C 8009EACC 0C00686C */ jal func_8001A1B0_ovl1 +/* 046D1C 8009EACC 0C00686C */ jal guLookAtF_2_ovl1 /* 046D20 8009EAD0 E7AA001C */ swc1 $f10, 0x1c($sp) /* 046D24 8009EAD4 10000030 */ b .L8009EB98_ovl1 /* 046D28 8009EAD8 8E020060 */ lw $v0, 0x60($s0) @@ -136,7 +136,7 @@ glabel func_8009E8F4 /* 046D58 8009EB08 E7B40028 */ swc1 $f20, 0x28($sp) /* 046D5C 8009EB0C E7BE0024 */ swc1 $f30, 0x24($sp) /* 046D60 8009EB10 E7BE0020 */ swc1 $f30, 0x20($sp) -/* 046D64 8009EB14 0C00686C */ jal func_8001A1B0_ovl1 +/* 046D64 8009EB14 0C00686C */ jal guLookAtF_2_ovl1 /* 046D68 8009EB18 E7AA001C */ swc1 $f10, 0x1c($sp) /* 046D6C 8009EB1C 1000001E */ b .L8009EB98_ovl1 /* 046D70 8009EB20 8E020060 */ lw $v0, 0x60($s0) diff --git a/data/kirby.039DF0.0.5.c b/data/kirby.039DF0.0.5.c index 50911f57..a5119097 100644 --- a/data/kirby.039DF0.0.5.c +++ b/data/kirby.039DF0.0.5.c @@ -4,6 +4,7 @@ #include "segments.h" #include "banks.h" #include "src/ovl0/main.h" +#include "src/ovl0/ovl0_8.h" extern long long int gspF3DEX2_fifoDataStart[]; extern long long int gspF3DEX2_fifoTextStart[]; @@ -158,7 +159,7 @@ u32 D_8003DE48 = 0x00000000; u32 D_8003DE4C = 0x00000000; -u32 D_8003DE50 = 0x00989680; +u32 D_8003DE50 = 10000000; u32 D_8003DE54 = 0x00000000; @@ -337,2053 +338,264 @@ u32 D_8003E328 = 0x00000000; u32 D_8003E32C = 0x00000000; -u32 D_8003E330 = 0x00000032; - -u32 D_8003E334 = 0x00640096; - -u32 D_8003E338 = 0x00C900FB; - -u32 D_8003E33C = 0x012D015F; - -u32 D_8003E340 = 0x019201C4; - -u32 D_8003E344 = 0x01F60228; - -u32 D_8003E348 = 0x025B028D; - -u32 D_8003E34C = 0x02BF02F1; - -u32 D_8003E350 = 0x03240356; - -u32 D_8003E354 = 0x038803BA; - -u32 D_8003E358 = 0x03ED041F; - -u32 D_8003E35C = 0x04510483; - -u32 D_8003E360 = 0x04B604E8; - -u32 D_8003E364 = 0x051A054C; - -u32 D_8003E368 = 0x057F05B1; - -u32 D_8003E36C = 0x05E30615; - -u32 D_8003E370 = 0x0647067A; - -u32 D_8003E374 = 0x06AC06DE; - -u32 D_8003E378 = 0x07100742; - -u32 D_8003E37C = 0x077507A7; - -u32 D_8003E380 = 0x07D9080B; - -u32 D_8003E384 = 0x083D086F; - -u32 D_8003E388 = 0x08A208D4; - -u32 D_8003E38C = 0x09060938; - -u32 D_8003E390 = 0x096A099C; - -u32 D_8003E394 = 0x09CE0A00; - -u32 D_8003E398 = 0x0A330A65; - -u32 D_8003E39C = 0x0A970AC9; - -u32 D_8003E3A0 = 0x0AFB0B2D; - -u32 D_8003E3A4 = 0x0B5F0B91; - -u32 D_8003E3A8 = 0x0BC30BF5; - -u32 D_8003E3AC = 0x0C270C59; - -u32 D_8003E3B0 = 0x0C8B0CBD; - -u32 D_8003E3B4 = 0x0CEF0D21; - -u32 D_8003E3B8 = 0x0D530D85; - -u32 D_8003E3BC = 0x0DB70DE9; - -u32 D_8003E3C0 = 0x0E1B0E4D; - -u32 D_8003E3C4 = 0x0E7F0EB1; - -u32 D_8003E3C8 = 0x0EE30F15; - -u32 D_8003E3CC = 0x0F470F79; - -u32 D_8003E3D0 = 0x0FAB0FDD; - -u32 D_8003E3D4 = 0x100E1040; - -u32 D_8003E3D8 = 0x107210A4; - -u32 D_8003E3DC = 0x10D61108; - -u32 D_8003E3E0 = 0x1139116B; - -u32 D_8003E3E4 = 0x119D11CF; - -u32 D_8003E3E8 = 0x12011232; - -u32 D_8003E3EC = 0x12641296; - -u32 D_8003E3F0 = 0x12C812F9; - -u32 D_8003E3F4 = 0x132B135D; - -u32 D_8003E3F8 = 0x138E13C0; - -u32 D_8003E3FC = 0x13F21423; - -u32 D_8003E400 = 0x14551487; - -u32 D_8003E404 = 0x14B814EA; - -u32 D_8003E408 = 0x151B154D; - -u32 D_8003E40C = 0x157F15B0; - -u32 D_8003E410 = 0x15E21613; - -u32 D_8003E414 = 0x16451676; - -u32 D_8003E418 = 0x16A816D9; - -u32 D_8003E41C = 0x170A173C; - -u32 D_8003E420 = 0x176D179F; - -u32 D_8003E424 = 0x17D01802; - -u32 D_8003E428 = 0x18331864; - -u32 D_8003E42C = 0x189618C7; - -u32 D_8003E430 = 0x18F8192A; - -u32 D_8003E434 = 0x195B198C; - -u32 D_8003E438 = 0x19BD19EF; - -u32 D_8003E43C = 0x1A201A51; - -u32 D_8003E440 = 0x1A821AB3; - -u32 D_8003E444 = 0x1AE41B16; - -u32 D_8003E448 = 0x1B471B78; - -u32 D_8003E44C = 0x1BA91BDA; - -u32 D_8003E450 = 0x1C0B1C3C; - -u32 D_8003E454 = 0x1C6D1C9E; - -u32 D_8003E458 = 0x1CCF1D00; - -u32 D_8003E45C = 0x1D311D62; - -u32 D_8003E460 = 0x1D931DC4; - -u32 D_8003E464 = 0x1DF51E25; - -u32 D_8003E468 = 0x1E561E87; - -u32 D_8003E46C = 0x1EB81EE9; - -u32 D_8003E470 = 0x1F191F4A; - -u32 D_8003E474 = 0x1F7B1FAC; - -u32 D_8003E478 = 0x1FDC200D; - -u32 D_8003E47C = 0x203E206E; - -u32 D_8003E480 = 0x209F20D0; - -u32 D_8003E484 = 0x21002131; - -u32 D_8003E488 = 0x21612192; - -u32 D_8003E48C = 0x21C221F3; - -u32 D_8003E490 = 0x22232254; - -u32 D_8003E494 = 0x228422B4; - -u32 D_8003E498 = 0x22E52315; - -u32 D_8003E49C = 0x23452376; - -u32 D_8003E4A0 = 0x23A623D6; - -u32 D_8003E4A4 = 0x24072437; - -u32 D_8003E4A8 = 0x24672497; - -u32 D_8003E4AC = 0x24C724F7; - -u32 D_8003E4B0 = 0x25282558; - -u32 D_8003E4B4 = 0x258825B8; - -u32 D_8003E4B8 = 0x25E82618; - -u32 D_8003E4BC = 0x26482678; - -u32 D_8003E4C0 = 0x26A826D8; - -u32 D_8003E4C4 = 0x27072737; - -u32 D_8003E4C8 = 0x27672797; - -u32 D_8003E4CC = 0x27C727F6; - -u32 D_8003E4D0 = 0x28262856; - -u32 D_8003E4D4 = 0x288628B5; - -u32 D_8003E4D8 = 0x28E52915; - -u32 D_8003E4DC = 0x29442974; - -u32 D_8003E4E0 = 0x29A329D3; - -u32 D_8003E4E4 = 0x2A022A32; - -u32 D_8003E4E8 = 0x2A612A91; - -u32 D_8003E4EC = 0x2AC02AEF; - -u32 D_8003E4F0 = 0x2B1F2B4E; - -u32 D_8003E4F4 = 0x2B7D2BAD; - -u32 D_8003E4F8 = 0x2BDC2C0B; - -u32 D_8003E4FC = 0x2C3A2C69; - -u32 D_8003E500 = 0x2C982CC8; - -u32 D_8003E504 = 0x2CF72D26; - -u32 D_8003E508 = 0x2D552D84; - -u32 D_8003E50C = 0x2DB32DE2; - -u32 D_8003E510 = 0x2E112E3F; - -u32 D_8003E514 = 0x2E6E2E9D; - -u32 D_8003E518 = 0x2ECC2EFB; - -u32 D_8003E51C = 0x2F292F58; - -u32 D_8003E520 = 0x2F872FB5; - -u32 D_8003E524 = 0x2FE43013; - -u32 D_8003E528 = 0x30413070; - -u32 D_8003E52C = 0x309E30CD; - -u32 D_8003E530 = 0x30FB312A; - -u32 D_8003E534 = 0x31583186; - -u32 D_8003E538 = 0x31B531E3; - -u32 D_8003E53C = 0x32113240; - -u32 D_8003E540 = 0x326E329C; - -u32 D_8003E544 = 0x32CA32F8; - -u32 D_8003E548 = 0x33263354; - -u32 D_8003E54C = 0x338233B0; - -u32 D_8003E550 = 0x33DE340C; - -u32 D_8003E554 = 0x343A3468; - -u32 D_8003E558 = 0x349634C4; - -u32 D_8003E55C = 0x34F2351F; - -u32 D_8003E560 = 0x354D357B; - -u32 D_8003E564 = 0x35A835D6; - -u32 D_8003E568 = 0x36043631; - -u32 D_8003E56C = 0x365F368C; - -u32 D_8003E570 = 0x36BA36E7; - -u32 D_8003E574 = 0x37143742; - -u32 D_8003E578 = 0x376F379C; - -u32 D_8003E57C = 0x37CA37F7; - -u32 D_8003E580 = 0x38243851; - -u32 D_8003E584 = 0x387E38AB; - -u32 D_8003E588 = 0x38D83906; - -u32 D_8003E58C = 0x3932395F; - -u32 D_8003E590 = 0x398C39B9; - -u32 D_8003E594 = 0x39E63A13; - -u32 D_8003E598 = 0x3A403A6C; - -u32 D_8003E59C = 0x3A993AC6; - -u32 D_8003E5A0 = 0x3AF23B1F; - -u32 D_8003E5A4 = 0x3B4C3B78; - -u32 D_8003E5A8 = 0x3BA53BD1; - -u32 D_8003E5AC = 0x3BFD3C2A; - -u32 D_8003E5B0 = 0x3C563C83; - -u32 D_8003E5B4 = 0x3CAF3CDB; - -u32 D_8003E5B8 = 0x3D073D33; - -u32 D_8003E5BC = 0x3D603D8C; - -u32 D_8003E5C0 = 0x3DB83DE4; - -u32 D_8003E5C4 = 0x3E103E3C; - -u32 D_8003E5C8 = 0x3E683E93; - -u32 D_8003E5CC = 0x3EBF3EEB; - -u32 D_8003E5D0 = 0x3F173F43; - -u32 D_8003E5D4 = 0x3F6E3F9A; - -u32 D_8003E5D8 = 0x3FC53FF1; - -u32 D_8003E5DC = 0x401D4048; - -u32 D_8003E5E0 = 0x4073409F; - -u32 D_8003E5E4 = 0x40CA40F6; - -u32 D_8003E5E8 = 0x4121414C; - -u32 D_8003E5EC = 0x417741A2; - -u32 D_8003E5F0 = 0x41CE41F9; - -u32 D_8003E5F4 = 0x4224424F; - -u32 D_8003E5F8 = 0x427A42A5; - -u32 D_8003E5FC = 0x42D042FA; - -u32 D_8003E600 = 0x43254350; - -u32 D_8003E604 = 0x437B43A5; - -u32 D_8003E608 = 0x43D043FB; - -u32 D_8003E60C = 0x44254450; - -u32 D_8003E610 = 0x447A44A5; - -u32 D_8003E614 = 0x44CF44FA; - -u32 D_8003E618 = 0x4524454E; - -u32 D_8003E61C = 0x457845A3; - -u32 D_8003E620 = 0x45CD45F7; - -u32 D_8003E624 = 0x4621464B; - -u32 D_8003E628 = 0x4675469F; - -u32 D_8003E62C = 0x46C946F3; - -u32 D_8003E630 = 0x471C4746; - -u32 D_8003E634 = 0x4770479A; - -u32 D_8003E638 = 0x47C347ED; - -u32 D_8003E63C = 0x48164840; - -u32 D_8003E640 = 0x48694893; - -u32 D_8003E644 = 0x48BC48E6; - -u32 D_8003E648 = 0x490F4938; - -u32 D_8003E64C = 0x4961498A; - -u32 D_8003E650 = 0x49B449DD; - -u32 D_8003E654 = 0x4A064A2F; - -u32 D_8003E658 = 0x4A584A81; - -u32 D_8003E65C = 0x4AA94AD2; - -u32 D_8003E660 = 0x4AFB4B24; - -u32 D_8003E664 = 0x4B4C4B75; - -u32 D_8003E668 = 0x4B9E4BC6; - -u32 D_8003E66C = 0x4BEF4C17; - -u32 D_8003E670 = 0x4C3F4C68; - -u32 D_8003E674 = 0x4C904CB8; - -u32 D_8003E678 = 0x4CE14D09; - -u32 D_8003E67C = 0x4D314D59; - -u32 D_8003E680 = 0x4D814DA9; - -u32 D_8003E684 = 0x4DD14DF9; - -u32 D_8003E688 = 0x4E214E48; - -u32 D_8003E68C = 0x4E704E98; - -u32 D_8003E690 = 0x4EBF4EE7; - -u32 D_8003E694 = 0x4F0F4F36; - -u32 D_8003E698 = 0x4F5E4F85; - -u32 D_8003E69C = 0x4FAC4FD4; - -u32 D_8003E6A0 = 0x4FFB5022; - -u32 D_8003E6A4 = 0x50495070; - -u32 D_8003E6A8 = 0x509750BF; - -u32 D_8003E6AC = 0x50E5510C; - -u32 D_8003E6B0 = 0x5133515A; - -u32 D_8003E6B4 = 0x518151A8; - -u32 D_8003E6B8 = 0x51CE51F5; - -u32 D_8003E6BC = 0x521C5242; - -u32 D_8003E6C0 = 0x5269528F; - -u32 D_8003E6C4 = 0x52B552DC; - -u32 D_8003E6C8 = 0x53025328; - -u32 D_8003E6CC = 0x534E5375; - -u32 D_8003E6D0 = 0x539B53C1; - -u32 D_8003E6D4 = 0x53E7540D; - -u32 D_8003E6D8 = 0x54335458; - -u32 D_8003E6DC = 0x547E54A4; - -u32 D_8003E6E0 = 0x54CA54EF; - -u32 D_8003E6E4 = 0x5515553A; - -u32 D_8003E6E8 = 0x55605585; - -u32 D_8003E6EC = 0x55AB55D0; - -u32 D_8003E6F0 = 0x55F5561A; - -u32 D_8003E6F4 = 0x56405665; - -u32 D_8003E6F8 = 0x568A56AF; - -u32 D_8003E6FC = 0x56D456F9; - -u32 D_8003E700 = 0x571D5742; - -u32 D_8003E704 = 0x5767578C; - -u32 D_8003E708 = 0x57B057D5; - -u32 D_8003E70C = 0x57F9581E; - -u32 D_8003E710 = 0x58425867; - -u32 D_8003E714 = 0x588B58AF; - -u32 D_8003E718 = 0x58D458F8; - -u32 D_8003E71C = 0x591C5940; - -u32 D_8003E720 = 0x59645988; - -u32 D_8003E724 = 0x59AC59D0; - -u32 D_8003E728 = 0x59F35A17; - -u32 D_8003E72C = 0x5A3B5A5E; - -u32 D_8003E730 = 0x5A825AA5; - -u32 D_8003E734 = 0x5AC95AEC; - -u32 D_8003E738 = 0x5B105B33; - -u32 D_8003E73C = 0x5B565B79; - -u32 D_8003E740 = 0x5B9D5BC0; - -u32 D_8003E744 = 0x5BE35C06; - -u32 D_8003E748 = 0x5C295C4B; - -u32 D_8003E74C = 0x5C6E5C91; - -u32 D_8003E750 = 0x5CB45CD6; - -u32 D_8003E754 = 0x5CF95D1B; - -u32 D_8003E758 = 0x5D3E5D60; - -u32 D_8003E75C = 0x5D835DA5; - -u32 D_8003E760 = 0x5DC75DE9; - -u32 D_8003E764 = 0x5E0B5E2D; - -u32 D_8003E768 = 0x5E505E71; - -u32 D_8003E76C = 0x5E935EB5; - -u32 D_8003E770 = 0x5ED75EF9; - -u32 D_8003E774 = 0x5F1A5F3C; - -u32 D_8003E778 = 0x5F5E5F7F; - -u32 D_8003E77C = 0x5FA05FC2; - -u32 D_8003E780 = 0x5FE36004; - -u32 D_8003E784 = 0x60266047; - -u32 D_8003E788 = 0x60686089; - -u32 D_8003E78C = 0x60AA60CB; - -u32 D_8003E790 = 0x60EC610D; - -u32 D_8003E794 = 0x612D614E; - -u32 D_8003E798 = 0x616F618F; - -u32 D_8003E79C = 0x61B061D0; - -u32 D_8003E7A0 = 0x61F16211; - -u32 D_8003E7A4 = 0x62316251; - -u32 D_8003E7A8 = 0x62716292; - -u32 D_8003E7AC = 0x62B262D2; - -u32 D_8003E7B0 = 0x62F26311; - -u32 D_8003E7B4 = 0x63316351; - -u32 D_8003E7B8 = 0x63716390; - -u32 D_8003E7BC = 0x63B063CF; - -u32 D_8003E7C0 = 0x63EF640E; - -u32 D_8003E7C4 = 0x642D644D; - -u32 D_8003E7C8 = 0x646C648B; - -u32 D_8003E7CC = 0x64AA64C9; - -u32 D_8003E7D0 = 0x64E86507; - -u32 D_8003E7D4 = 0x65266545; - -u32 D_8003E7D8 = 0x65636582; - -u32 D_8003E7DC = 0x65A065BF; - -u32 D_8003E7E0 = 0x65DD65FC; - -u32 D_8003E7E4 = 0x661A6639; - -u32 D_8003E7E8 = 0x66576675; - -u32 D_8003E7EC = 0x669366B1; - -u32 D_8003E7F0 = 0x66CF66ED; - -u32 D_8003E7F4 = 0x670B6729; - -u32 D_8003E7F8 = 0x67466764; - -u32 D_8003E7FC = 0x6782679F; - -u32 D_8003E800 = 0x67BD67DA; - -u32 D_8003E804 = 0x67F76815; - -u32 D_8003E808 = 0x6832684F; - -u32 D_8003E80C = 0x686C6889; - -u32 D_8003E810 = 0x68A668C3; - -u32 D_8003E814 = 0x68E068FD; - -u32 D_8003E818 = 0x69196936; - -u32 D_8003E81C = 0x6953696F; - -u32 D_8003E820 = 0x698C69A8; - -u32 D_8003E824 = 0x69C469E1; - -u32 D_8003E828 = 0x69FD6A19; - -u32 D_8003E82C = 0x6A356A51; - -u32 D_8003E830 = 0x6A6D6A89; - -u32 D_8003E834 = 0x6AA56AC1; - -u32 D_8003E838 = 0x6ADC6AF8; - -u32 D_8003E83C = 0x6B136B2F; - -u32 D_8003E840 = 0x6B4A6B66; - -u32 D_8003E844 = 0x6B816B9C; - -u32 D_8003E848 = 0x6BB86BD3; - -u32 D_8003E84C = 0x6BEE6C09; - -u32 D_8003E850 = 0x6C246C3F; - -u32 D_8003E854 = 0x6C596C74; - -u32 D_8003E858 = 0x6C8F6CA9; - -u32 D_8003E85C = 0x6CC46CDE; - -u32 D_8003E860 = 0x6CF96D13; - -u32 D_8003E864 = 0x6D2D6D48; - -u32 D_8003E868 = 0x6D626D7C; - -u32 D_8003E86C = 0x6D966DB0; - -u32 D_8003E870 = 0x6DCA6DE3; - -u32 D_8003E874 = 0x6DFD6E17; - -u32 D_8003E878 = 0x6E306E4A; - -u32 D_8003E87C = 0x6E636E7D; - -u32 D_8003E880 = 0x6E966EAF; - -u32 D_8003E884 = 0x6EC96EE2; - -u32 D_8003E888 = 0x6EFB6F14; - -u32 D_8003E88C = 0x6F2D6F46; - -u32 D_8003E890 = 0x6F5F6F77; - -u32 D_8003E894 = 0x6F906FA9; - -u32 D_8003E898 = 0x6FC16FDA; - -u32 D_8003E89C = 0x6FF2700A; - -u32 D_8003E8A0 = 0x7023703B; - -u32 D_8003E8A4 = 0x7053706B; - -u32 D_8003E8A8 = 0x7083709B; - -u32 D_8003E8AC = 0x70B370CB; - -u32 D_8003E8B0 = 0x70E270FA; - -u32 D_8003E8B4 = 0x71127129; - -u32 D_8003E8B8 = 0x71417158; - -u32 D_8003E8BC = 0x716F7186; - -u32 D_8003E8C0 = 0x719E71B5; - -u32 D_8003E8C4 = 0x71CC71E3; - -u32 D_8003E8C8 = 0x71FA7211; - -u32 D_8003E8CC = 0x7227723E; - -u32 D_8003E8D0 = 0x7255726B; - -u32 D_8003E8D4 = 0x72827298; - -u32 D_8003E8D8 = 0x72AF72C5; - -u32 D_8003E8DC = 0x72DB72F1; - -u32 D_8003E8E0 = 0x7307731D; - -u32 D_8003E8E4 = 0x73337349; - -u32 D_8003E8E8 = 0x735F7375; - -u32 D_8003E8EC = 0x738A73A0; - -u32 D_8003E8F0 = 0x73B573CB; - -u32 D_8003E8F4 = 0x73E073F6; - -u32 D_8003E8F8 = 0x740B7420; - -u32 D_8003E8FC = 0x7435744A; - -u32 D_8003E900 = 0x745F7474; - -u32 D_8003E904 = 0x7489749E; - -u32 D_8003E908 = 0x74B274C7; - -u32 D_8003E90C = 0x74DB74F0; - -u32 D_8003E910 = 0x75047519; - -u32 D_8003E914 = 0x752D7541; - -u32 D_8003E918 = 0x75557569; - -u32 D_8003E91C = 0x757D7591; - -u32 D_8003E920 = 0x75A575B9; - -u32 D_8003E924 = 0x75CC75E0; - -u32 D_8003E928 = 0x75F47607; - -u32 D_8003E92C = 0x761B762E; - -u32 D_8003E930 = 0x76417654; - -u32 D_8003E934 = 0x7668767B; - -u32 D_8003E938 = 0x768E76A0; - -u32 D_8003E93C = 0x76B376C6; - -u32 D_8003E940 = 0x76D976EB; - -u32 D_8003E944 = 0x76FE7710; - -u32 D_8003E948 = 0x77237735; - -u32 D_8003E94C = 0x7747775A; - -u32 D_8003E950 = 0x776C777E; - -u32 D_8003E954 = 0x779077A2; - -u32 D_8003E958 = 0x77B477C5; - -u32 D_8003E95C = 0x77D777E9; - -u32 D_8003E960 = 0x77FA780C; - -u32 D_8003E964 = 0x781D782E; - -u32 D_8003E968 = 0x78407851; - -u32 D_8003E96C = 0x78627873; - -u32 D_8003E970 = 0x78847895; - -u32 D_8003E974 = 0x78A678B6; - -u32 D_8003E978 = 0x78C778D8; - -u32 D_8003E97C = 0x78E878F9; - -u32 D_8003E980 = 0x79097919; - -u32 D_8003E984 = 0x792A793A; - -u32 D_8003E988 = 0x794A795A; - -u32 D_8003E98C = 0x796A797A; - -u32 D_8003E990 = 0x798A7999; - -u32 D_8003E994 = 0x79A979B9; - -u32 D_8003E998 = 0x79C879D8; - -u32 D_8003E99C = 0x79E779F6; - -u32 D_8003E9A0 = 0x7A057A15; - -u32 D_8003E9A4 = 0x7A247A33; - -u32 D_8003E9A8 = 0x7A427A50; - -u32 D_8003E9AC = 0x7A5F7A6E; - -u32 D_8003E9B0 = 0x7A7D7A8B; - -u32 D_8003E9B4 = 0x7A9A7AA8; - -u32 D_8003E9B8 = 0x7AB67AC5; - -u32 D_8003E9BC = 0x7AD37AE1; - -u32 D_8003E9C0 = 0x7AEF7AFD; - -u32 D_8003E9C4 = 0x7B0B7B19; - -u32 D_8003E9C8 = 0x7B267B34; - -u32 D_8003E9CC = 0x7B427B4F; - -u32 D_8003E9D0 = 0x7B5D7B6A; - -u32 D_8003E9D4 = 0x7B777B84; - -u32 D_8003E9D8 = 0x7B927B9F; - -u32 D_8003E9DC = 0x7BAC7BB9; - -u32 D_8003E9E0 = 0x7BC57BD2; - -u32 D_8003E9E4 = 0x7BDF7BEB; - -u32 D_8003E9E8 = 0x7BF87C05; - -u32 D_8003E9EC = 0x7C117C1D; - -u32 D_8003E9F0 = 0x7C297C36; - -u32 D_8003E9F4 = 0x7C427C4E; - -u32 D_8003E9F8 = 0x7C5A7C66; - -u32 D_8003E9FC = 0x7C717C7D; - -u32 D_8003EA00 = 0x7C897C94; - -u32 D_8003EA04 = 0x7CA07CAB; - -u32 D_8003EA08 = 0x7CB77CC2; - -u32 D_8003EA0C = 0x7CCD7CD8; - -u32 D_8003EA10 = 0x7CE37CEE; - -u32 D_8003EA14 = 0x7CF97D04; - -u32 D_8003EA18 = 0x7D0F7D19; - -u32 D_8003EA1C = 0x7D247D2F; - -u32 D_8003EA20 = 0x7D397D43; - -u32 D_8003EA24 = 0x7D4E7D58; - -u32 D_8003EA28 = 0x7D627D6C; - -u32 D_8003EA2C = 0x7D767D80; - -u32 D_8003EA30 = 0x7D8A7D94; - -u32 D_8003EA34 = 0x7D9D7DA7; - -u32 D_8003EA38 = 0x7DB07DBA; - -u32 D_8003EA3C = 0x7DC37DCD; - -u32 D_8003EA40 = 0x7DD67DDF; - -u32 D_8003EA44 = 0x7DE87DF1; - -u32 D_8003EA48 = 0x7DFA7E03; - -u32 D_8003EA4C = 0x7E0C7E14; - -u32 D_8003EA50 = 0x7E1D7E26; - -u32 D_8003EA54 = 0x7E2E7E37; - -u32 D_8003EA58 = 0x7E3F7E47; - -u32 D_8003EA5C = 0x7E4F7E57; - -u32 D_8003EA60 = 0x7E5F7E67; - -u32 D_8003EA64 = 0x7E6F7E77; - -u32 D_8003EA68 = 0x7E7F7E86; - -u32 D_8003EA6C = 0x7E8E7E95; - -u32 D_8003EA70 = 0x7E9D7EA4; - -u32 D_8003EA74 = 0x7EAB7EB3; - -u32 D_8003EA78 = 0x7EBA7EC1; - -u32 D_8003EA7C = 0x7EC87ECF; - -u32 D_8003EA80 = 0x7ED57EDC; - -u32 D_8003EA84 = 0x7EE37EE9; - -u32 D_8003EA88 = 0x7EF07EF6; - -u32 D_8003EA8C = 0x7EFD7F03; - -u32 D_8003EA90 = 0x7F097F0F; - -u32 D_8003EA94 = 0x7F157F1B; - -u32 D_8003EA98 = 0x7F217F27; - -u32 D_8003EA9C = 0x7F2D7F32; - -u32 D_8003EAA0 = 0x7F387F3D; - -u32 D_8003EAA4 = 0x7F437F48; - -u32 D_8003EAA8 = 0x7F4D7F53; - -u32 D_8003EAAC = 0x7F587F5D; - -u32 D_8003EAB0 = 0x7F627F67; - -u32 D_8003EAB4 = 0x7F6B7F70; - -u32 D_8003EAB8 = 0x7F757F79; - -u32 D_8003EABC = 0x7F7E7F82; - -u32 D_8003EAC0 = 0x7F877F8B; - -u32 D_8003EAC4 = 0x7F8F7F93; - -u32 D_8003EAC8 = 0x7F977F9B; - -u32 D_8003EACC = 0x7F9F7FA3; - -u32 D_8003EAD0 = 0x7FA77FAA; - -u32 D_8003EAD4 = 0x7FAE7FB1; - -u32 D_8003EAD8 = 0x7FB57FB8; - -u32 D_8003EADC = 0x7FBC7FBF; - -u32 D_8003EAE0 = 0x7FC27FC5; - -u32 D_8003EAE4 = 0x7FC87FCB; - -u32 D_8003EAE8 = 0x7FCE7FD0; - -u32 D_8003EAEC = 0x7FD37FD6; - -u32 D_8003EAF0 = 0x7FD87FDA; - -u32 D_8003EAF4 = 0x7FDD7FDF; - -u32 D_8003EAF8 = 0x7FE17FE3; - -u32 D_8003EAFC = 0x7FE57FE7; - -u32 D_8003EB00 = 0x7FE97FEB; - -u32 D_8003EB04 = 0x7FED7FEE; - -u32 D_8003EB08 = 0x7FF07FF2; - -u32 D_8003EB0C = 0x7FF37FF4; - -u32 D_8003EB10 = 0x7FF67FF7; - -u32 D_8003EB14 = 0x7FF87FF9; - -u32 D_8003EB18 = 0x7FFA7FFB; - -u32 D_8003EB1C = 0x7FFC7FFC; - -u32 D_8003EB20 = 0x7FFD7FFE; - -u32 D_8003EB24 = 0x7FFE7FFF; - -u32 D_8003EB28 = 0x7FFF7FFF; - -u32 D_8003EB2C = 0x7FFF8000; - -u32 D_8003EB30 = 0x80007FFF; - -u32 D_8003EB34 = 0x7FFF7FFF; - -u32 D_8003EB38 = 0x7FFF7FFE; - -u32 D_8003EB3C = 0x7FFE7FFD; - -u32 D_8003EB40 = 0x7FFC7FFC; - -u32 D_8003EB44 = 0x7FFB7FFA; - -u32 D_8003EB48 = 0x7FF97FF8; - -u32 D_8003EB4C = 0x7FF77FF6; - -u32 D_8003EB50 = 0x7FF47FF3; - -u32 D_8003EB54 = 0x7FF27FF0; - -u32 D_8003EB58 = 0x7FEE7FED; - -u32 D_8003EB5C = 0x7FEB7FE9; - -u32 D_8003EB60 = 0x7FE77FE5; - -u32 D_8003EB64 = 0x7FE37FE1; - -u32 D_8003EB68 = 0x7FDF7FDD; - -u32 D_8003EB6C = 0x7FDA7FD8; - -u32 D_8003EB70 = 0x7FD67FD3; - -u32 D_8003EB74 = 0x7FD07FCE; - -u32 D_8003EB78 = 0x7FCB7FC8; - -u32 D_8003EB7C = 0x7FC57FC2; - -u32 D_8003EB80 = 0x7FBF7FBC; - -u32 D_8003EB84 = 0x7FB87FB5; - -u32 D_8003EB88 = 0x7FB17FAE; - -u32 D_8003EB8C = 0x7FAA7FA7; - -u32 D_8003EB90 = 0x7FA37F9F; - -u32 D_8003EB94 = 0x7F9B7F97; - -u32 D_8003EB98 = 0x7F937F8F; - -u32 D_8003EB9C = 0x7F8B7F87; - -u32 D_8003EBA0 = 0x7F827F7E; - -u32 D_8003EBA4 = 0x7F797F75; - -u32 D_8003EBA8 = 0x7F707F6B; - -u32 D_8003EBAC = 0x7F677F62; - -u32 D_8003EBB0 = 0x7F5D7F58; - -u32 D_8003EBB4 = 0x7F537F4D; - -u32 D_8003EBB8 = 0x7F487F43; - -u32 D_8003EBBC = 0x7F3D7F38; - -u32 D_8003EBC0 = 0x7F327F2D; - -u32 D_8003EBC4 = 0x7F277F21; - -u32 D_8003EBC8 = 0x7F1B7F15; - -u32 D_8003EBCC = 0x7F0F7F09; - -u32 D_8003EBD0 = 0x7F037EFD; - -u32 D_8003EBD4 = 0x7EF67EF0; - -u32 D_8003EBD8 = 0x7EE97EE3; - -u32 D_8003EBDC = 0x7EDC7ED5; - -u32 D_8003EBE0 = 0x7ECF7EC8; - -u32 D_8003EBE4 = 0x7EC17EBA; - -u32 D_8003EBE8 = 0x7EB37EAB; - -u32 D_8003EBEC = 0x7EA47E9D; - -u32 D_8003EBF0 = 0x7E957E8E; - -u32 D_8003EBF4 = 0x7E867E7F; - -u32 D_8003EBF8 = 0x7E777E6F; - -u32 D_8003EBFC = 0x7E677E5F; - -u32 D_8003EC00 = 0x7E577E4F; - -u32 D_8003EC04 = 0x7E477E3F; - -u32 D_8003EC08 = 0x7E377E2E; - -u32 D_8003EC0C = 0x7E267E1D; - -u32 D_8003EC10 = 0x7E147E0C; - -u32 D_8003EC14 = 0x7E037DFA; - -u32 D_8003EC18 = 0x7DF17DE8; - -u32 D_8003EC1C = 0x7DDF7DD6; - -u32 D_8003EC20 = 0x7DCD7DC3; - -u32 D_8003EC24 = 0x7DBA7DB0; - -u32 D_8003EC28 = 0x7DA77D9D; - -u32 D_8003EC2C = 0x7D947D8A; - -u32 D_8003EC30 = 0x7D807D76; - -u32 D_8003EC34 = 0x7D6C7D62; - -u32 D_8003EC38 = 0x7D587D4E; - -u32 D_8003EC3C = 0x7D437D39; - -u32 D_8003EC40 = 0x7D2F7D24; - -u32 D_8003EC44 = 0x7D197D0F; - -u32 D_8003EC48 = 0x7D047CF9; - -u32 D_8003EC4C = 0x7CEE7CE3; - -u32 D_8003EC50 = 0x7CD87CCD; - -u32 D_8003EC54 = 0x7CC27CB7; - -u32 D_8003EC58 = 0x7CAB7CA0; - -u32 D_8003EC5C = 0x7C947C89; - -u32 D_8003EC60 = 0x7C7D7C71; - -u32 D_8003EC64 = 0x7C667C5A; - -u32 D_8003EC68 = 0x7C4E7C42; - -u32 D_8003EC6C = 0x7C367C29; - -u32 D_8003EC70 = 0x7C1D7C11; - -u32 D_8003EC74 = 0x7C057BF8; - -u32 D_8003EC78 = 0x7BEB7BDF; - -u32 D_8003EC7C = 0x7BD27BC5; - -u32 D_8003EC80 = 0x7BB97BAC; - -u32 D_8003EC84 = 0x7B9F7B92; - -u32 D_8003EC88 = 0x7B847B77; - -u32 D_8003EC8C = 0x7B6A7B5D; - -u32 D_8003EC90 = 0x7B4F7B42; - -u32 D_8003EC94 = 0x7B347B26; - -u32 D_8003EC98 = 0x7B197B0B; - -u32 D_8003EC9C = 0x7AFD7AEF; - -u32 D_8003ECA0 = 0x7AE17AD3; - -u32 D_8003ECA4 = 0x7AC57AB6; - -u32 D_8003ECA8 = 0x7AA87A9A; - -u32 D_8003ECAC = 0x7A8B7A7D; - -u32 D_8003ECB0 = 0x7A6E7A5F; - -u32 D_8003ECB4 = 0x7A507A42; - -u32 D_8003ECB8 = 0x7A337A24; - -u32 D_8003ECBC = 0x7A157A05; - -u32 D_8003ECC0 = 0x79F679E7; - -u32 D_8003ECC4 = 0x79D879C8; - -u32 D_8003ECC8 = 0x79B979A9; - -u32 D_8003ECCC = 0x7999798A; - -u32 D_8003ECD0 = 0x797A796A; - -u32 D_8003ECD4 = 0x795A794A; - -u32 D_8003ECD8 = 0x793A792A; - -u32 D_8003ECDC = 0x79197909; - -u32 D_8003ECE0 = 0x78F978E8; - -u32 D_8003ECE4 = 0x78D878C7; - -u32 D_8003ECE8 = 0x78B678A6; - -u32 D_8003ECEC = 0x78957884; - -u32 D_8003ECF0 = 0x78737862; - -u32 D_8003ECF4 = 0x78517840; - -u32 D_8003ECF8 = 0x782E781D; - -u32 D_8003ECFC = 0x780C77FA; - -u32 D_8003ED00 = 0x77E977D7; - -u32 D_8003ED04 = 0x77C577B4; - -u32 D_8003ED08 = 0x77A27790; - -u32 D_8003ED0C = 0x777E776C; - -u32 D_8003ED10 = 0x775A7747; - -u32 D_8003ED14 = 0x77357723; - -u32 D_8003ED18 = 0x771076FE; - -u32 D_8003ED1C = 0x76EB76D9; - -u32 D_8003ED20 = 0x76C676B3; - -u32 D_8003ED24 = 0x76A0768E; - -u32 D_8003ED28 = 0x767B7668; - -u32 D_8003ED2C = 0x76547641; - -u32 D_8003ED30 = 0x762E761B; - -u32 D_8003ED34 = 0x760775F4; - -u32 D_8003ED38 = 0x75E075CC; - -u32 D_8003ED3C = 0x75B975A5; - -u32 D_8003ED40 = 0x7591757D; - -u32 D_8003ED44 = 0x75697555; - -u32 D_8003ED48 = 0x7541752D; - -u32 D_8003ED4C = 0x75197504; - -u32 D_8003ED50 = 0x74F074DB; - -u32 D_8003ED54 = 0x74C774B2; - -u32 D_8003ED58 = 0x749E7489; - -u32 D_8003ED5C = 0x7474745F; - -u32 D_8003ED60 = 0x744A7435; - -u32 D_8003ED64 = 0x7420740B; - -u32 D_8003ED68 = 0x73F673E0; - -u32 D_8003ED6C = 0x73CB73B5; - -u32 D_8003ED70 = 0x73A0738A; - -u32 D_8003ED74 = 0x7375735F; - -u32 D_8003ED78 = 0x73497333; - -u32 D_8003ED7C = 0x731D7307; - -u32 D_8003ED80 = 0x72F172DB; - -u32 D_8003ED84 = 0x72C572AF; - -u32 D_8003ED88 = 0x72987282; - -u32 D_8003ED8C = 0x726B7255; - -u32 D_8003ED90 = 0x723E7227; - -u32 D_8003ED94 = 0x721171FA; - -u32 D_8003ED98 = 0x71E371CC; - -u32 D_8003ED9C = 0x71B5719E; - -u32 D_8003EDA0 = 0x7186716F; - -u32 D_8003EDA4 = 0x71587141; - -u32 D_8003EDA8 = 0x71297112; - -u32 D_8003EDAC = 0x70FA70E2; - -u32 D_8003EDB0 = 0x70CB70B3; - -u32 D_8003EDB4 = 0x709B7083; - -u32 D_8003EDB8 = 0x706B7053; - -u32 D_8003EDBC = 0x703B7023; - -u32 D_8003EDC0 = 0x700A6FF2; - -u32 D_8003EDC4 = 0x6FDA6FC1; - -u32 D_8003EDC8 = 0x6FA96F90; - -u32 D_8003EDCC = 0x6F776F5F; - -u32 D_8003EDD0 = 0x6F466F2D; - -u32 D_8003EDD4 = 0x6F146EFB; - -u32 D_8003EDD8 = 0x6EE26EC9; - -u32 D_8003EDDC = 0x6EAF6E96; - -u32 D_8003EDE0 = 0x6E7D6E63; - -u32 D_8003EDE4 = 0x6E4A6E30; - -u32 D_8003EDE8 = 0x6E176DFD; - -u32 D_8003EDEC = 0x6DE36DCA; - -u32 D_8003EDF0 = 0x6DB06D96; - -u32 D_8003EDF4 = 0x6D7C6D62; - -u32 D_8003EDF8 = 0x6D486D2D; - -u32 D_8003EDFC = 0x6D136CF9; - -u32 D_8003EE00 = 0x6CDE6CC4; - -u32 D_8003EE04 = 0x6CA96C8F; - -u32 D_8003EE08 = 0x6C746C59; - -u32 D_8003EE0C = 0x6C3F6C24; - -u32 D_8003EE10 = 0x6C096BEE; - -u32 D_8003EE14 = 0x6BD36BB8; - -u32 D_8003EE18 = 0x6B9C6B81; - -u32 D_8003EE1C = 0x6B666B4A; - -u32 D_8003EE20 = 0x6B2F6B13; - -u32 D_8003EE24 = 0x6AF86ADC; - -u32 D_8003EE28 = 0x6AC16AA5; - -u32 D_8003EE2C = 0x6A896A6D; - -u32 D_8003EE30 = 0x6A516A35; - -u32 D_8003EE34 = 0x6A1969FD; - -u32 D_8003EE38 = 0x69E169C4; - -u32 D_8003EE3C = 0x69A8698C; - -u32 D_8003EE40 = 0x696F6953; - -u32 D_8003EE44 = 0x69366919; - -u32 D_8003EE48 = 0x68FD68E0; - -u32 D_8003EE4C = 0x68C368A6; - -u32 D_8003EE50 = 0x6889686C; - -u32 D_8003EE54 = 0x684F6832; - -u32 D_8003EE58 = 0x681567F7; - -u32 D_8003EE5C = 0x67DA67BD; - -u32 D_8003EE60 = 0x679F6782; - -u32 D_8003EE64 = 0x67646746; - -u32 D_8003EE68 = 0x6729670B; - -u32 D_8003EE6C = 0x66ED66CF; - -u32 D_8003EE70 = 0x66B16693; - -u32 D_8003EE74 = 0x66756657; - -u32 D_8003EE78 = 0x6639661A; - -u32 D_8003EE7C = 0x65FC65DD; - -u32 D_8003EE80 = 0x65BF65A0; - -u32 D_8003EE84 = 0x65826563; - -u32 D_8003EE88 = 0x65456526; - -u32 D_8003EE8C = 0x650764E8; - -u32 D_8003EE90 = 0x64C964AA; - -u32 D_8003EE94 = 0x648B646C; - -u32 D_8003EE98 = 0x644D642D; - -u32 D_8003EE9C = 0x640E63EF; - -u32 D_8003EEA0 = 0x63CF63B0; - -u32 D_8003EEA4 = 0x63906371; - -u32 D_8003EEA8 = 0x63516331; - -u32 D_8003EEAC = 0x631162F2; - -u32 D_8003EEB0 = 0x62D262B2; - -u32 D_8003EEB4 = 0x62926271; - -u32 D_8003EEB8 = 0x62516231; - -u32 D_8003EEBC = 0x621161F1; - -u32 D_8003EEC0 = 0x61D061B0; - -u32 D_8003EEC4 = 0x618F616F; - -u32 D_8003EEC8 = 0x614E612D; - -u32 D_8003EECC = 0x610D60EC; - -u32 D_8003EED0 = 0x60CB60AA; - -u32 D_8003EED4 = 0x60896068; - -u32 D_8003EED8 = 0x60476026; - -u32 D_8003EEDC = 0x60045FE3; - -u32 D_8003EEE0 = 0x5FC25FA0; - -u32 D_8003EEE4 = 0x5F7F5F5E; - -u32 D_8003EEE8 = 0x5F3C5F1A; - -u32 D_8003EEEC = 0x5EF95ED7; - -u32 D_8003EEF0 = 0x5EB55E93; - -u32 D_8003EEF4 = 0x5E715E50; - -u32 D_8003EEF8 = 0x5E2D5E0B; - -u32 D_8003EEFC = 0x5DE95DC7; - -u32 D_8003EF00 = 0x5DA55D83; - -u32 D_8003EF04 = 0x5D605D3E; - -u32 D_8003EF08 = 0x5D1B5CF9; - -u32 D_8003EF0C = 0x5CD65CB4; - -u32 D_8003EF10 = 0x5C915C6E; - -u32 D_8003EF14 = 0x5C4B5C29; - -u32 D_8003EF18 = 0x5C065BE3; - -u32 D_8003EF1C = 0x5BC05B9D; - -u32 D_8003EF20 = 0x5B795B56; - -u32 D_8003EF24 = 0x5B335B10; - -u32 D_8003EF28 = 0x5AEC5AC9; - -u32 D_8003EF2C = 0x5AA55A82; - -u32 D_8003EF30 = 0x5A5E5A3B; - -u32 D_8003EF34 = 0x5A1759F3; - -u32 D_8003EF38 = 0x59D059AC; - -u32 D_8003EF3C = 0x59885964; - -u32 D_8003EF40 = 0x5940591C; - -u32 D_8003EF44 = 0x58F858D4; - -u32 D_8003EF48 = 0x58AF588B; - -u32 D_8003EF4C = 0x58675842; - -u32 D_8003EF50 = 0x581E57F9; - -u32 D_8003EF54 = 0x57D557B0; - -u32 D_8003EF58 = 0x578C5767; - -u32 D_8003EF5C = 0x5742571D; - -u32 D_8003EF60 = 0x56F956D4; - -u32 D_8003EF64 = 0x56AF568A; - -u32 D_8003EF68 = 0x56655640; - -u32 D_8003EF6C = 0x561A55F5; - -u32 D_8003EF70 = 0x55D055AB; - -u32 D_8003EF74 = 0x55855560; - -u32 D_8003EF78 = 0x553A5515; - -u32 D_8003EF7C = 0x54EF54CA; - -u32 D_8003EF80 = 0x54A4547E; - -u32 D_8003EF84 = 0x54585433; - -u32 D_8003EF88 = 0x540D53E7; - -u32 D_8003EF8C = 0x53C1539B; - -u32 D_8003EF90 = 0x5375534E; - -u32 D_8003EF94 = 0x53285302; - -u32 D_8003EF98 = 0x52DC52B5; - -u32 D_8003EF9C = 0x528F5269; - -u32 D_8003EFA0 = 0x5242521C; - -u32 D_8003EFA4 = 0x51F551CE; - -u32 D_8003EFA8 = 0x51A85181; - -u32 D_8003EFAC = 0x515A5133; - -u32 D_8003EFB0 = 0x510C50E5; - -u32 D_8003EFB4 = 0x50BF5097; - -u32 D_8003EFB8 = 0x50705049; - -u32 D_8003EFBC = 0x50224FFB; - -u32 D_8003EFC0 = 0x4FD44FAC; - -u32 D_8003EFC4 = 0x4F854F5E; - -u32 D_8003EFC8 = 0x4F364F0F; - -u32 D_8003EFCC = 0x4EE74EBF; - -u32 D_8003EFD0 = 0x4E984E70; - -u32 D_8003EFD4 = 0x4E484E21; - -u32 D_8003EFD8 = 0x4DF94DD1; - -u32 D_8003EFDC = 0x4DA94D81; - -u32 D_8003EFE0 = 0x4D594D31; - -u32 D_8003EFE4 = 0x4D094CE1; - -u32 D_8003EFE8 = 0x4CB84C90; - -u32 D_8003EFEC = 0x4C684C3F; - -u32 D_8003EFF0 = 0x4C174BEF; - -u32 D_8003EFF4 = 0x4BC64B9E; - -u32 D_8003EFF8 = 0x4B754B4C; - -u32 D_8003EFFC = 0x4B244AFB; - -u32 D_8003F000 = 0x4AD24AA9; - -u32 D_8003F004 = 0x4A814A58; - -u32 D_8003F008 = 0x4A2F4A06; - -u32 D_8003F00C = 0x49DD49B4; - -u32 D_8003F010 = 0x498A4961; - -u32 D_8003F014 = 0x4938490F; - -u32 D_8003F018 = 0x48E648BC; - -u32 D_8003F01C = 0x48934869; - -u32 D_8003F020 = 0x48404816; - -u32 D_8003F024 = 0x47ED47C3; - -u32 D_8003F028 = 0x479A4770; - -u32 D_8003F02C = 0x4746471C; - -u32 D_8003F030 = 0x46F346C9; - -u32 D_8003F034 = 0x469F4675; - -u32 D_8003F038 = 0x464B4621; - -u32 D_8003F03C = 0x45F745CD; - -u32 D_8003F040 = 0x45A34578; - -u32 D_8003F044 = 0x454E4524; - -u32 D_8003F048 = 0x44FA44CF; - -u32 D_8003F04C = 0x44A5447A; - -u32 D_8003F050 = 0x44504425; - -u32 D_8003F054 = 0x43FB43D0; - -u32 D_8003F058 = 0x43A5437B; - -u32 D_8003F05C = 0x43504325; - -u32 D_8003F060 = 0x42FA42D0; - -u32 D_8003F064 = 0x42A5427A; - -u32 D_8003F068 = 0x424F4224; - -u32 D_8003F06C = 0x41F941CE; - -u32 D_8003F070 = 0x41A24177; - -u32 D_8003F074 = 0x414C4121; - -u32 D_8003F078 = 0x40F640CA; - -u32 D_8003F07C = 0x409F4073; - -u32 D_8003F080 = 0x4048401D; - -u32 D_8003F084 = 0x3FF13FC5; - -u32 D_8003F088 = 0x3F9A3F6E; - -u32 D_8003F08C = 0x3F433F17; - -u32 D_8003F090 = 0x3EEB3EBF; - -u32 D_8003F094 = 0x3E933E68; - -u32 D_8003F098 = 0x3E3C3E10; - -u32 D_8003F09C = 0x3DE43DB8; - -u32 D_8003F0A0 = 0x3D8C3D60; - -u32 D_8003F0A4 = 0x3D333D07; - -u32 D_8003F0A8 = 0x3CDB3CAF; - -u32 D_8003F0AC = 0x3C833C56; - -u32 D_8003F0B0 = 0x3C2A3BFD; - -u32 D_8003F0B4 = 0x3BD13BA5; - -u32 D_8003F0B8 = 0x3B783B4C; - -u32 D_8003F0BC = 0x3B1F3AF2; - -u32 D_8003F0C0 = 0x3AC63A99; - -u32 D_8003F0C4 = 0x3A6C3A40; - -u32 D_8003F0C8 = 0x3A1339E6; - -u32 D_8003F0CC = 0x39B9398C; - -u32 D_8003F0D0 = 0x395F3932; - -u32 D_8003F0D4 = 0x390638D8; - -u32 D_8003F0D8 = 0x38AB387E; - -u32 D_8003F0DC = 0x38513824; - -u32 D_8003F0E0 = 0x37F737CA; - -u32 D_8003F0E4 = 0x379C376F; - -u32 D_8003F0E8 = 0x37423714; - -u32 D_8003F0EC = 0x36E736BA; - -u32 D_8003F0F0 = 0x368C365F; - -u32 D_8003F0F4 = 0x36313604; - -u32 D_8003F0F8 = 0x35D635A8; - -u32 D_8003F0FC = 0x357B354D; - -u32 D_8003F100 = 0x351F34F2; - -u32 D_8003F104 = 0x34C43496; - -u32 D_8003F108 = 0x3468343A; - -u32 D_8003F10C = 0x340C33DE; - -u32 D_8003F110 = 0x33B03382; - -u32 D_8003F114 = 0x33543326; - -u32 D_8003F118 = 0x32F832CA; - -u32 D_8003F11C = 0x329C326E; - -u32 D_8003F120 = 0x32403211; - -u32 D_8003F124 = 0x31E331B5; - -u32 D_8003F128 = 0x31863158; - -u32 D_8003F12C = 0x312A30FB; - -u32 D_8003F130 = 0x30CD309E; - -u32 D_8003F134 = 0x30703041; - -u32 D_8003F138 = 0x30132FE4; - -u32 D_8003F13C = 0x2FB52F87; - -u32 D_8003F140 = 0x2F582F29; - -u32 D_8003F144 = 0x2EFB2ECC; - -u32 D_8003F148 = 0x2E9D2E6E; - -u32 D_8003F14C = 0x2E3F2E11; - -u32 D_8003F150 = 0x2DE22DB3; - -u32 D_8003F154 = 0x2D842D55; - -u32 D_8003F158 = 0x2D262CF7; - -u32 D_8003F15C = 0x2CC82C98; - -u32 D_8003F160 = 0x2C692C3A; - -u32 D_8003F164 = 0x2C0B2BDC; - -u32 D_8003F168 = 0x2BAD2B7D; - -u32 D_8003F16C = 0x2B4E2B1F; - -u32 D_8003F170 = 0x2AEF2AC0; - -u32 D_8003F174 = 0x2A912A61; - -u32 D_8003F178 = 0x2A322A02; - -u32 D_8003F17C = 0x29D329A3; - -u32 D_8003F180 = 0x29742944; - -u32 D_8003F184 = 0x291528E5; - -u32 D_8003F188 = 0x28B52886; - -u32 D_8003F18C = 0x28562826; - -u32 D_8003F190 = 0x27F627C7; - -u32 D_8003F194 = 0x27972767; - -u32 D_8003F198 = 0x27372707; - -u32 D_8003F19C = 0x26D826A8; - -u32 D_8003F1A0 = 0x26782648; - -u32 D_8003F1A4 = 0x261825E8; - -u32 D_8003F1A8 = 0x25B82588; - -u32 D_8003F1AC = 0x25582528; - -u32 D_8003F1B0 = 0x24F724C7; - -u32 D_8003F1B4 = 0x24972467; - -u32 D_8003F1B8 = 0x24372407; - -u32 D_8003F1BC = 0x23D623A6; - -u32 D_8003F1C0 = 0x23762345; - -u32 D_8003F1C4 = 0x231522E5; - -u32 D_8003F1C8 = 0x22B42284; - -u32 D_8003F1CC = 0x22542223; - -u32 D_8003F1D0 = 0x21F321C2; - -u32 D_8003F1D4 = 0x21922161; - -u32 D_8003F1D8 = 0x21312100; - -u32 D_8003F1DC = 0x20D0209F; - -u32 D_8003F1E0 = 0x206E203E; - -u32 D_8003F1E4 = 0x200D1FDC; - -u32 D_8003F1E8 = 0x1FAC1F7B; - -u32 D_8003F1EC = 0x1F4A1F19; - -u32 D_8003F1F0 = 0x1EE91EB8; - -u32 D_8003F1F4 = 0x1E871E56; - -u32 D_8003F1F8 = 0x1E251DF5; - -u32 D_8003F1FC = 0x1DC41D93; - -u32 D_8003F200 = 0x1D621D31; - -u32 D_8003F204 = 0x1D001CCF; - -u32 D_8003F208 = 0x1C9E1C6D; - -u32 D_8003F20C = 0x1C3C1C0B; - -u32 D_8003F210 = 0x1BDA1BA9; - -u32 D_8003F214 = 0x1B781B47; - -u32 D_8003F218 = 0x1B161AE4; - -u32 D_8003F21C = 0x1AB31A82; - -u32 D_8003F220 = 0x1A511A20; - -u32 D_8003F224 = 0x19EF19BD; - -u32 D_8003F228 = 0x198C195B; - -u32 D_8003F22C = 0x192A18F8; - -u32 D_8003F230 = 0x18C71896; - -u32 D_8003F234 = 0x18641833; - -u32 D_8003F238 = 0x180217D0; - -u32 D_8003F23C = 0x179F176D; - -u32 D_8003F240 = 0x173C170A; - -u32 D_8003F244 = 0x16D916A8; - -u32 D_8003F248 = 0x16761645; - -u32 D_8003F24C = 0x161315E2; - -u32 D_8003F250 = 0x15B0157F; - -u32 D_8003F254 = 0x154D151B; - -u32 D_8003F258 = 0x14EA14B8; - -u32 D_8003F25C = 0x14871455; - -u32 D_8003F260 = 0x142313F2; - -u32 D_8003F264 = 0x13C0138E; - -u32 D_8003F268 = 0x135D132B; - -u32 D_8003F26C = 0x12F912C8; - -u32 D_8003F270 = 0x12961264; - -u32 D_8003F274 = 0x12321201; - -u32 D_8003F278 = 0x11CF119D; - -u32 D_8003F27C = 0x116B1139; - -u32 D_8003F280 = 0x110810D6; - -u32 D_8003F284 = 0x10A41072; - -u32 D_8003F288 = 0x1040100E; - -u32 D_8003F28C = 0x0FDD0FAB; - -u32 D_8003F290 = 0x0F790F47; - -u32 D_8003F294 = 0x0F150EE3; - -u32 D_8003F298 = 0x0EB10E7F; - -u32 D_8003F29C = 0x0E4D0E1B; - -u32 D_8003F2A0 = 0x0DE90DB7; - -u32 D_8003F2A4 = 0x0D850D53; - -u32 D_8003F2A8 = 0x0D210CEF; - -u32 D_8003F2AC = 0x0CBD0C8B; - -u32 D_8003F2B0 = 0x0C590C27; - -u32 D_8003F2B4 = 0x0BF50BC3; - -u32 D_8003F2B8 = 0x0B910B5F; - -u32 D_8003F2BC = 0x0B2D0AFB; - -u32 D_8003F2C0 = 0x0AC90A97; - -u32 D_8003F2C4 = 0x0A650A33; - -u32 D_8003F2C8 = 0x0A0009CE; - -u32 D_8003F2CC = 0x099C096A; - -u32 D_8003F2D0 = 0x09380906; - -u32 D_8003F2D4 = 0x08D408A2; - -u32 D_8003F2D8 = 0x086F083D; - -u32 D_8003F2DC = 0x080B07D9; - -u32 D_8003F2E0 = 0x07A70775; - -u32 D_8003F2E4 = 0x07420710; - -u32 D_8003F2E8 = 0x06DE06AC; - -u32 D_8003F2EC = 0x067A0647; - -u32 D_8003F2F0 = 0x061505E3; - -u32 D_8003F2F4 = 0x05B1057F; - -u32 D_8003F2F8 = 0x054C051A; - -u32 D_8003F2FC = 0x04E804B6; - -u32 D_8003F300 = 0x04830451; - -u32 D_8003F304 = 0x041F03ED; - -u32 D_8003F308 = 0x03BA0388; - -u32 D_8003F30C = 0x03560324; - -u32 D_8003F310 = 0x02F102BF; - -u32 D_8003F314 = 0x028D025B; - -u32 D_8003F318 = 0x022801F6; - -u32 D_8003F31C = 0x01C40192; - -u32 D_8003F320 = 0x015F012D; - -u32 D_8003F324 = 0x00FB00C9; - -u32 D_8003F328 = 0x00960064; - -u32 D_8003F32C = 0x00320000; +s16 D_8003E330[0x800] = { + 0x0000, 0x0032, 0x0064, 0x0096, 0x00C9, 0x00FB, 0x012D, 0x015F, + 0x0192, 0x01C4, 0x01F6, 0x0228, 0x025B, 0x028D, 0x02BF, 0x02F1, + 0x0324, 0x0356, 0x0388, 0x03BA, 0x03ED, 0x041F, 0x0451, 0x0483, + 0x04B6, 0x04E8, 0x051A, 0x054C, 0x057F, 0x05B1, 0x05E3, 0x0615, + 0x0647, 0x067A, 0x06AC, 0x06DE, 0x0710, 0x0742, 0x0775, 0x07A7, + 0x07D9, 0x080B, 0x083D, 0x086F, 0x08A2, 0x08D4, 0x0906, 0x0938, + 0x096A, 0x099C, 0x09CE, 0x0A00, 0x0A33, 0x0A65, 0x0A97, 0x0AC9, + 0x0AFB, 0x0B2D, 0x0B5F, 0x0B91, 0x0BC3, 0x0BF5, 0x0C27, 0x0C59, + 0x0C8B, 0x0CBD, 0x0CEF, 0x0D21, 0x0D53, 0x0D85, 0x0DB7, 0x0DE9, + 0x0E1B, 0x0E4D, 0x0E7F, 0x0EB1, 0x0EE3, 0x0F15, 0x0F47, 0x0F79, + 0x0FAB, 0x0FDD, 0x100E, 0x1040, 0x1072, 0x10A4, 0x10D6, 0x1108, + 0x1139, 0x116B, 0x119D, 0x11CF, 0x1201, 0x1232, 0x1264, 0x1296, + 0x12C8, 0x12F9, 0x132B, 0x135D, 0x138E, 0x13C0, 0x13F2, 0x1423, + 0x1455, 0x1487, 0x14B8, 0x14EA, 0x151B, 0x154D, 0x157F, 0x15B0, + 0x15E2, 0x1613, 0x1645, 0x1676, 0x16A8, 0x16D9, 0x170A, 0x173C, + 0x176D, 0x179F, 0x17D0, 0x1802, 0x1833, 0x1864, 0x1896, 0x18C7, + 0x18F8, 0x192A, 0x195B, 0x198C, 0x19BD, 0x19EF, 0x1A20, 0x1A51, + 0x1A82, 0x1AB3, 0x1AE4, 0x1B16, 0x1B47, 0x1B78, 0x1BA9, 0x1BDA, + 0x1C0B, 0x1C3C, 0x1C6D, 0x1C9E, 0x1CCF, 0x1D00, 0x1D31, 0x1D62, + 0x1D93, 0x1DC4, 0x1DF5, 0x1E25, 0x1E56, 0x1E87, 0x1EB8, 0x1EE9, + 0x1F19, 0x1F4A, 0x1F7B, 0x1FAC, 0x1FDC, 0x200D, 0x203E, 0x206E, + 0x209F, 0x20D0, 0x2100, 0x2131, 0x2161, 0x2192, 0x21C2, 0x21F3, + 0x2223, 0x2254, 0x2284, 0x22B4, 0x22E5, 0x2315, 0x2345, 0x2376, + 0x23A6, 0x23D6, 0x2407, 0x2437, 0x2467, 0x2497, 0x24C7, 0x24F7, + 0x2528, 0x2558, 0x2588, 0x25B8, 0x25E8, 0x2618, 0x2648, 0x2678, + 0x26A8, 0x26D8, 0x2707, 0x2737, 0x2767, 0x2797, 0x27C7, 0x27F6, + 0x2826, 0x2856, 0x2886, 0x28B5, 0x28E5, 0x2915, 0x2944, 0x2974, + 0x29A3, 0x29D3, 0x2A02, 0x2A32, 0x2A61, 0x2A91, 0x2AC0, 0x2AEF, + 0x2B1F, 0x2B4E, 0x2B7D, 0x2BAD, 0x2BDC, 0x2C0B, 0x2C3A, 0x2C69, + 0x2C98, 0x2CC8, 0x2CF7, 0x2D26, 0x2D55, 0x2D84, 0x2DB3, 0x2DE2, + 0x2E11, 0x2E3F, 0x2E6E, 0x2E9D, 0x2ECC, 0x2EFB, 0x2F29, 0x2F58, + 0x2F87, 0x2FB5, 0x2FE4, 0x3013, 0x3041, 0x3070, 0x309E, 0x30CD, + 0x30FB, 0x312A, 0x3158, 0x3186, 0x31B5, 0x31E3, 0x3211, 0x3240, + 0x326E, 0x329C, 0x32CA, 0x32F8, 0x3326, 0x3354, 0x3382, 0x33B0, + 0x33DE, 0x340C, 0x343A, 0x3468, 0x3496, 0x34C4, 0x34F2, 0x351F, + 0x354D, 0x357B, 0x35A8, 0x35D6, 0x3604, 0x3631, 0x365F, 0x368C, + 0x36BA, 0x36E7, 0x3714, 0x3742, 0x376F, 0x379C, 0x37CA, 0x37F7, + 0x3824, 0x3851, 0x387E, 0x38AB, 0x38D8, 0x3906, 0x3932, 0x395F, + 0x398C, 0x39B9, 0x39E6, 0x3A13, 0x3A40, 0x3A6C, 0x3A99, 0x3AC6, + 0x3AF2, 0x3B1F, 0x3B4C, 0x3B78, 0x3BA5, 0x3BD1, 0x3BFD, 0x3C2A, + 0x3C56, 0x3C83, 0x3CAF, 0x3CDB, 0x3D07, 0x3D33, 0x3D60, 0x3D8C, + 0x3DB8, 0x3DE4, 0x3E10, 0x3E3C, 0x3E68, 0x3E93, 0x3EBF, 0x3EEB, + 0x3F17, 0x3F43, 0x3F6E, 0x3F9A, 0x3FC5, 0x3FF1, 0x401D, 0x4048, + 0x4073, 0x409F, 0x40CA, 0x40F6, 0x4121, 0x414C, 0x4177, 0x41A2, + 0x41CE, 0x41F9, 0x4224, 0x424F, 0x427A, 0x42A5, 0x42D0, 0x42FA, + 0x4325, 0x4350, 0x437B, 0x43A5, 0x43D0, 0x43FB, 0x4425, 0x4450, + 0x447A, 0x44A5, 0x44CF, 0x44FA, 0x4524, 0x454E, 0x4578, 0x45A3, + 0x45CD, 0x45F7, 0x4621, 0x464B, 0x4675, 0x469F, 0x46C9, 0x46F3, + 0x471C, 0x4746, 0x4770, 0x479A, 0x47C3, 0x47ED, 0x4816, 0x4840, + 0x4869, 0x4893, 0x48BC, 0x48E6, 0x490F, 0x4938, 0x4961, 0x498A, + 0x49B4, 0x49DD, 0x4A06, 0x4A2F, 0x4A58, 0x4A81, 0x4AA9, 0x4AD2, + 0x4AFB, 0x4B24, 0x4B4C, 0x4B75, 0x4B9E, 0x4BC6, 0x4BEF, 0x4C17, + 0x4C3F, 0x4C68, 0x4C90, 0x4CB8, 0x4CE1, 0x4D09, 0x4D31, 0x4D59, + 0x4D81, 0x4DA9, 0x4DD1, 0x4DF9, 0x4E21, 0x4E48, 0x4E70, 0x4E98, + 0x4EBF, 0x4EE7, 0x4F0F, 0x4F36, 0x4F5E, 0x4F85, 0x4FAC, 0x4FD4, + 0x4FFB, 0x5022, 0x5049, 0x5070, 0x5097, 0x50BF, 0x50E5, 0x510C, + 0x5133, 0x515A, 0x5181, 0x51A8, 0x51CE, 0x51F5, 0x521C, 0x5242, + 0x5269, 0x528F, 0x52B5, 0x52DC, 0x5302, 0x5328, 0x534E, 0x5375, + 0x539B, 0x53C1, 0x53E7, 0x540D, 0x5433, 0x5458, 0x547E, 0x54A4, + 0x54CA, 0x54EF, 0x5515, 0x553A, 0x5560, 0x5585, 0x55AB, 0x55D0, + 0x55F5, 0x561A, 0x5640, 0x5665, 0x568A, 0x56AF, 0x56D4, 0x56F9, + 0x571D, 0x5742, 0x5767, 0x578C, 0x57B0, 0x57D5, 0x57F9, 0x581E, + 0x5842, 0x5867, 0x588B, 0x58AF, 0x58D4, 0x58F8, 0x591C, 0x5940, + 0x5964, 0x5988, 0x59AC, 0x59D0, 0x59F3, 0x5A17, 0x5A3B, 0x5A5E, + 0x5A82, 0x5AA5, 0x5AC9, 0x5AEC, 0x5B10, 0x5B33, 0x5B56, 0x5B79, + 0x5B9D, 0x5BC0, 0x5BE3, 0x5C06, 0x5C29, 0x5C4B, 0x5C6E, 0x5C91, + 0x5CB4, 0x5CD6, 0x5CF9, 0x5D1B, 0x5D3E, 0x5D60, 0x5D83, 0x5DA5, + 0x5DC7, 0x5DE9, 0x5E0B, 0x5E2D, 0x5E50, 0x5E71, 0x5E93, 0x5EB5, + 0x5ED7, 0x5EF9, 0x5F1A, 0x5F3C, 0x5F5E, 0x5F7F, 0x5FA0, 0x5FC2, + 0x5FE3, 0x6004, 0x6026, 0x6047, 0x6068, 0x6089, 0x60AA, 0x60CB, + 0x60EC, 0x610D, 0x612D, 0x614E, 0x616F, 0x618F, 0x61B0, 0x61D0, + 0x61F1, 0x6211, 0x6231, 0x6251, 0x6271, 0x6292, 0x62B2, 0x62D2, + 0x62F2, 0x6311, 0x6331, 0x6351, 0x6371, 0x6390, 0x63B0, 0x63CF, + 0x63EF, 0x640E, 0x642D, 0x644D, 0x646C, 0x648B, 0x64AA, 0x64C9, + 0x64E8, 0x6507, 0x6526, 0x6545, 0x6563, 0x6582, 0x65A0, 0x65BF, + 0x65DD, 0x65FC, 0x661A, 0x6639, 0x6657, 0x6675, 0x6693, 0x66B1, + 0x66CF, 0x66ED, 0x670B, 0x6729, 0x6746, 0x6764, 0x6782, 0x679F, + 0x67BD, 0x67DA, 0x67F7, 0x6815, 0x6832, 0x684F, 0x686C, 0x6889, + 0x68A6, 0x68C3, 0x68E0, 0x68FD, 0x6919, 0x6936, 0x6953, 0x696F, + 0x698C, 0x69A8, 0x69C4, 0x69E1, 0x69FD, 0x6A19, 0x6A35, 0x6A51, + 0x6A6D, 0x6A89, 0x6AA5, 0x6AC1, 0x6ADC, 0x6AF8, 0x6B13, 0x6B2F, + 0x6B4A, 0x6B66, 0x6B81, 0x6B9C, 0x6BB8, 0x6BD3, 0x6BEE, 0x6C09, + 0x6C24, 0x6C3F, 0x6C59, 0x6C74, 0x6C8F, 0x6CA9, 0x6CC4, 0x6CDE, + 0x6CF9, 0x6D13, 0x6D2D, 0x6D48, 0x6D62, 0x6D7C, 0x6D96, 0x6DB0, + 0x6DCA, 0x6DE3, 0x6DFD, 0x6E17, 0x6E30, 0x6E4A, 0x6E63, 0x6E7D, + 0x6E96, 0x6EAF, 0x6EC9, 0x6EE2, 0x6EFB, 0x6F14, 0x6F2D, 0x6F46, + 0x6F5F, 0x6F77, 0x6F90, 0x6FA9, 0x6FC1, 0x6FDA, 0x6FF2, 0x700A, + 0x7023, 0x703B, 0x7053, 0x706B, 0x7083, 0x709B, 0x70B3, 0x70CB, + 0x70E2, 0x70FA, 0x7112, 0x7129, 0x7141, 0x7158, 0x716F, 0x7186, + 0x719E, 0x71B5, 0x71CC, 0x71E3, 0x71FA, 0x7211, 0x7227, 0x723E, + 0x7255, 0x726B, 0x7282, 0x7298, 0x72AF, 0x72C5, 0x72DB, 0x72F1, + 0x7307, 0x731D, 0x7333, 0x7349, 0x735F, 0x7375, 0x738A, 0x73A0, + 0x73B5, 0x73CB, 0x73E0, 0x73F6, 0x740B, 0x7420, 0x7435, 0x744A, + 0x745F, 0x7474, 0x7489, 0x749E, 0x74B2, 0x74C7, 0x74DB, 0x74F0, + 0x7504, 0x7519, 0x752D, 0x7541, 0x7555, 0x7569, 0x757D, 0x7591, + 0x75A5, 0x75B9, 0x75CC, 0x75E0, 0x75F4, 0x7607, 0x761B, 0x762E, + 0x7641, 0x7654, 0x7668, 0x767B, 0x768E, 0x76A0, 0x76B3, 0x76C6, + 0x76D9, 0x76EB, 0x76FE, 0x7710, 0x7723, 0x7735, 0x7747, 0x775A, + 0x776C, 0x777E, 0x7790, 0x77A2, 0x77B4, 0x77C5, 0x77D7, 0x77E9, + 0x77FA, 0x780C, 0x781D, 0x782E, 0x7840, 0x7851, 0x7862, 0x7873, + 0x7884, 0x7895, 0x78A6, 0x78B6, 0x78C7, 0x78D8, 0x78E8, 0x78F9, + 0x7909, 0x7919, 0x792A, 0x793A, 0x794A, 0x795A, 0x796A, 0x797A, + 0x798A, 0x7999, 0x79A9, 0x79B9, 0x79C8, 0x79D8, 0x79E7, 0x79F6, + 0x7A05, 0x7A15, 0x7A24, 0x7A33, 0x7A42, 0x7A50, 0x7A5F, 0x7A6E, + 0x7A7D, 0x7A8B, 0x7A9A, 0x7AA8, 0x7AB6, 0x7AC5, 0x7AD3, 0x7AE1, + 0x7AEF, 0x7AFD, 0x7B0B, 0x7B19, 0x7B26, 0x7B34, 0x7B42, 0x7B4F, + 0x7B5D, 0x7B6A, 0x7B77, 0x7B84, 0x7B92, 0x7B9F, 0x7BAC, 0x7BB9, + 0x7BC5, 0x7BD2, 0x7BDF, 0x7BEB, 0x7BF8, 0x7C05, 0x7C11, 0x7C1D, + 0x7C29, 0x7C36, 0x7C42, 0x7C4E, 0x7C5A, 0x7C66, 0x7C71, 0x7C7D, + 0x7C89, 0x7C94, 0x7CA0, 0x7CAB, 0x7CB7, 0x7CC2, 0x7CCD, 0x7CD8, + 0x7CE3, 0x7CEE, 0x7CF9, 0x7D04, 0x7D0F, 0x7D19, 0x7D24, 0x7D2F, + 0x7D39, 0x7D43, 0x7D4E, 0x7D58, 0x7D62, 0x7D6C, 0x7D76, 0x7D80, + 0x7D8A, 0x7D94, 0x7D9D, 0x7DA7, 0x7DB0, 0x7DBA, 0x7DC3, 0x7DCD, + 0x7DD6, 0x7DDF, 0x7DE8, 0x7DF1, 0x7DFA, 0x7E03, 0x7E0C, 0x7E14, + 0x7E1D, 0x7E26, 0x7E2E, 0x7E37, 0x7E3F, 0x7E47, 0x7E4F, 0x7E57, + 0x7E5F, 0x7E67, 0x7E6F, 0x7E77, 0x7E7F, 0x7E86, 0x7E8E, 0x7E95, + 0x7E9D, 0x7EA4, 0x7EAB, 0x7EB3, 0x7EBA, 0x7EC1, 0x7EC8, 0x7ECF, + 0x7ED5, 0x7EDC, 0x7EE3, 0x7EE9, 0x7EF0, 0x7EF6, 0x7EFD, 0x7F03, + 0x7F09, 0x7F0F, 0x7F15, 0x7F1B, 0x7F21, 0x7F27, 0x7F2D, 0x7F32, + 0x7F38, 0x7F3D, 0x7F43, 0x7F48, 0x7F4D, 0x7F53, 0x7F58, 0x7F5D, + 0x7F62, 0x7F67, 0x7F6B, 0x7F70, 0x7F75, 0x7F79, 0x7F7E, 0x7F82, + 0x7F87, 0x7F8B, 0x7F8F, 0x7F93, 0x7F97, 0x7F9B, 0x7F9F, 0x7FA3, + 0x7FA7, 0x7FAA, 0x7FAE, 0x7FB1, 0x7FB5, 0x7FB8, 0x7FBC, 0x7FBF, + 0x7FC2, 0x7FC5, 0x7FC8, 0x7FCB, 0x7FCE, 0x7FD0, 0x7FD3, 0x7FD6, + 0x7FD8, 0x7FDA, 0x7FDD, 0x7FDF, 0x7FE1, 0x7FE3, 0x7FE5, 0x7FE7, + 0x7FE9, 0x7FEB, 0x7FED, 0x7FEE, 0x7FF0, 0x7FF2, 0x7FF3, 0x7FF4, + 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFC, 0x7FFC, + 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x8000, + 0x8000, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFE, 0x7FFE, 0x7FFD, + 0x7FFC, 0x7FFC, 0x7FFB, 0x7FFA, 0x7FF9, 0x7FF8, 0x7FF7, 0x7FF6, + 0x7FF4, 0x7FF3, 0x7FF2, 0x7FF0, 0x7FEE, 0x7FED, 0x7FEB, 0x7FE9, + 0x7FE7, 0x7FE5, 0x7FE3, 0x7FE1, 0x7FDF, 0x7FDD, 0x7FDA, 0x7FD8, + 0x7FD6, 0x7FD3, 0x7FD0, 0x7FCE, 0x7FCB, 0x7FC8, 0x7FC5, 0x7FC2, + 0x7FBF, 0x7FBC, 0x7FB8, 0x7FB5, 0x7FB1, 0x7FAE, 0x7FAA, 0x7FA7, + 0x7FA3, 0x7F9F, 0x7F9B, 0x7F97, 0x7F93, 0x7F8F, 0x7F8B, 0x7F87, + 0x7F82, 0x7F7E, 0x7F79, 0x7F75, 0x7F70, 0x7F6B, 0x7F67, 0x7F62, + 0x7F5D, 0x7F58, 0x7F53, 0x7F4D, 0x7F48, 0x7F43, 0x7F3D, 0x7F38, + 0x7F32, 0x7F2D, 0x7F27, 0x7F21, 0x7F1B, 0x7F15, 0x7F0F, 0x7F09, + 0x7F03, 0x7EFD, 0x7EF6, 0x7EF0, 0x7EE9, 0x7EE3, 0x7EDC, 0x7ED5, + 0x7ECF, 0x7EC8, 0x7EC1, 0x7EBA, 0x7EB3, 0x7EAB, 0x7EA4, 0x7E9D, + 0x7E95, 0x7E8E, 0x7E86, 0x7E7F, 0x7E77, 0x7E6F, 0x7E67, 0x7E5F, + 0x7E57, 0x7E4F, 0x7E47, 0x7E3F, 0x7E37, 0x7E2E, 0x7E26, 0x7E1D, + 0x7E14, 0x7E0C, 0x7E03, 0x7DFA, 0x7DF1, 0x7DE8, 0x7DDF, 0x7DD6, + 0x7DCD, 0x7DC3, 0x7DBA, 0x7DB0, 0x7DA7, 0x7D9D, 0x7D94, 0x7D8A, + 0x7D80, 0x7D76, 0x7D6C, 0x7D62, 0x7D58, 0x7D4E, 0x7D43, 0x7D39, + 0x7D2F, 0x7D24, 0x7D19, 0x7D0F, 0x7D04, 0x7CF9, 0x7CEE, 0x7CE3, + 0x7CD8, 0x7CCD, 0x7CC2, 0x7CB7, 0x7CAB, 0x7CA0, 0x7C94, 0x7C89, + 0x7C7D, 0x7C71, 0x7C66, 0x7C5A, 0x7C4E, 0x7C42, 0x7C36, 0x7C29, + 0x7C1D, 0x7C11, 0x7C05, 0x7BF8, 0x7BEB, 0x7BDF, 0x7BD2, 0x7BC5, + 0x7BB9, 0x7BAC, 0x7B9F, 0x7B92, 0x7B84, 0x7B77, 0x7B6A, 0x7B5D, + 0x7B4F, 0x7B42, 0x7B34, 0x7B26, 0x7B19, 0x7B0B, 0x7AFD, 0x7AEF, + 0x7AE1, 0x7AD3, 0x7AC5, 0x7AB6, 0x7AA8, 0x7A9A, 0x7A8B, 0x7A7D, + 0x7A6E, 0x7A5F, 0x7A50, 0x7A42, 0x7A33, 0x7A24, 0x7A15, 0x7A05, + 0x79F6, 0x79E7, 0x79D8, 0x79C8, 0x79B9, 0x79A9, 0x7999, 0x798A, + 0x797A, 0x796A, 0x795A, 0x794A, 0x793A, 0x792A, 0x7919, 0x7909, + 0x78F9, 0x78E8, 0x78D8, 0x78C7, 0x78B6, 0x78A6, 0x7895, 0x7884, + 0x7873, 0x7862, 0x7851, 0x7840, 0x782E, 0x781D, 0x780C, 0x77FA, + 0x77E9, 0x77D7, 0x77C5, 0x77B4, 0x77A2, 0x7790, 0x777E, 0x776C, + 0x775A, 0x7747, 0x7735, 0x7723, 0x7710, 0x76FE, 0x76EB, 0x76D9, + 0x76C6, 0x76B3, 0x76A0, 0x768E, 0x767B, 0x7668, 0x7654, 0x7641, + 0x762E, 0x761B, 0x7607, 0x75F4, 0x75E0, 0x75CC, 0x75B9, 0x75A5, + 0x7591, 0x757D, 0x7569, 0x7555, 0x7541, 0x752D, 0x7519, 0x7504, + 0x74F0, 0x74DB, 0x74C7, 0x74B2, 0x749E, 0x7489, 0x7474, 0x745F, + 0x744A, 0x7435, 0x7420, 0x740B, 0x73F6, 0x73E0, 0x73CB, 0x73B5, + 0x73A0, 0x738A, 0x7375, 0x735F, 0x7349, 0x7333, 0x731D, 0x7307, + 0x72F1, 0x72DB, 0x72C5, 0x72AF, 0x7298, 0x7282, 0x726B, 0x7255, + 0x723E, 0x7227, 0x7211, 0x71FA, 0x71E3, 0x71CC, 0x71B5, 0x719E, + 0x7186, 0x716F, 0x7158, 0x7141, 0x7129, 0x7112, 0x70FA, 0x70E2, + 0x70CB, 0x70B3, 0x709B, 0x7083, 0x706B, 0x7053, 0x703B, 0x7023, + 0x700A, 0x6FF2, 0x6FDA, 0x6FC1, 0x6FA9, 0x6F90, 0x6F77, 0x6F5F, + 0x6F46, 0x6F2D, 0x6F14, 0x6EFB, 0x6EE2, 0x6EC9, 0x6EAF, 0x6E96, + 0x6E7D, 0x6E63, 0x6E4A, 0x6E30, 0x6E17, 0x6DFD, 0x6DE3, 0x6DCA, + 0x6DB0, 0x6D96, 0x6D7C, 0x6D62, 0x6D48, 0x6D2D, 0x6D13, 0x6CF9, + 0x6CDE, 0x6CC4, 0x6CA9, 0x6C8F, 0x6C74, 0x6C59, 0x6C3F, 0x6C24, + 0x6C09, 0x6BEE, 0x6BD3, 0x6BB8, 0x6B9C, 0x6B81, 0x6B66, 0x6B4A, + 0x6B2F, 0x6B13, 0x6AF8, 0x6ADC, 0x6AC1, 0x6AA5, 0x6A89, 0x6A6D, + 0x6A51, 0x6A35, 0x6A19, 0x69FD, 0x69E1, 0x69C4, 0x69A8, 0x698C, + 0x696F, 0x6953, 0x6936, 0x6919, 0x68FD, 0x68E0, 0x68C3, 0x68A6, + 0x6889, 0x686C, 0x684F, 0x6832, 0x6815, 0x67F7, 0x67DA, 0x67BD, + 0x679F, 0x6782, 0x6764, 0x6746, 0x6729, 0x670B, 0x66ED, 0x66CF, + 0x66B1, 0x6693, 0x6675, 0x6657, 0x6639, 0x661A, 0x65FC, 0x65DD, + 0x65BF, 0x65A0, 0x6582, 0x6563, 0x6545, 0x6526, 0x6507, 0x64E8, + 0x64C9, 0x64AA, 0x648B, 0x646C, 0x644D, 0x642D, 0x640E, 0x63EF, + 0x63CF, 0x63B0, 0x6390, 0x6371, 0x6351, 0x6331, 0x6311, 0x62F2, + 0x62D2, 0x62B2, 0x6292, 0x6271, 0x6251, 0x6231, 0x6211, 0x61F1, + 0x61D0, 0x61B0, 0x618F, 0x616F, 0x614E, 0x612D, 0x610D, 0x60EC, + 0x60CB, 0x60AA, 0x6089, 0x6068, 0x6047, 0x6026, 0x6004, 0x5FE3, + 0x5FC2, 0x5FA0, 0x5F7F, 0x5F5E, 0x5F3C, 0x5F1A, 0x5EF9, 0x5ED7, + 0x5EB5, 0x5E93, 0x5E71, 0x5E50, 0x5E2D, 0x5E0B, 0x5DE9, 0x5DC7, + 0x5DA5, 0x5D83, 0x5D60, 0x5D3E, 0x5D1B, 0x5CF9, 0x5CD6, 0x5CB4, + 0x5C91, 0x5C6E, 0x5C4B, 0x5C29, 0x5C06, 0x5BE3, 0x5BC0, 0x5B9D, + 0x5B79, 0x5B56, 0x5B33, 0x5B10, 0x5AEC, 0x5AC9, 0x5AA5, 0x5A82, + 0x5A5E, 0x5A3B, 0x5A17, 0x59F3, 0x59D0, 0x59AC, 0x5988, 0x5964, + 0x5940, 0x591C, 0x58F8, 0x58D4, 0x58AF, 0x588B, 0x5867, 0x5842, + 0x581E, 0x57F9, 0x57D5, 0x57B0, 0x578C, 0x5767, 0x5742, 0x571D, + 0x56F9, 0x56D4, 0x56AF, 0x568A, 0x5665, 0x5640, 0x561A, 0x55F5, + 0x55D0, 0x55AB, 0x5585, 0x5560, 0x553A, 0x5515, 0x54EF, 0x54CA, + 0x54A4, 0x547E, 0x5458, 0x5433, 0x540D, 0x53E7, 0x53C1, 0x539B, + 0x5375, 0x534E, 0x5328, 0x5302, 0x52DC, 0x52B5, 0x528F, 0x5269, + 0x5242, 0x521C, 0x51F5, 0x51CE, 0x51A8, 0x5181, 0x515A, 0x5133, + 0x510C, 0x50E5, 0x50BF, 0x5097, 0x5070, 0x5049, 0x5022, 0x4FFB, + 0x4FD4, 0x4FAC, 0x4F85, 0x4F5E, 0x4F36, 0x4F0F, 0x4EE7, 0x4EBF, + 0x4E98, 0x4E70, 0x4E48, 0x4E21, 0x4DF9, 0x4DD1, 0x4DA9, 0x4D81, + 0x4D59, 0x4D31, 0x4D09, 0x4CE1, 0x4CB8, 0x4C90, 0x4C68, 0x4C3F, + 0x4C17, 0x4BEF, 0x4BC6, 0x4B9E, 0x4B75, 0x4B4C, 0x4B24, 0x4AFB, + 0x4AD2, 0x4AA9, 0x4A81, 0x4A58, 0x4A2F, 0x4A06, 0x49DD, 0x49B4, + 0x498A, 0x4961, 0x4938, 0x490F, 0x48E6, 0x48BC, 0x4893, 0x4869, + 0x4840, 0x4816, 0x47ED, 0x47C3, 0x479A, 0x4770, 0x4746, 0x471C, + 0x46F3, 0x46C9, 0x469F, 0x4675, 0x464B, 0x4621, 0x45F7, 0x45CD, + 0x45A3, 0x4578, 0x454E, 0x4524, 0x44FA, 0x44CF, 0x44A5, 0x447A, + 0x4450, 0x4425, 0x43FB, 0x43D0, 0x43A5, 0x437B, 0x4350, 0x4325, + 0x42FA, 0x42D0, 0x42A5, 0x427A, 0x424F, 0x4224, 0x41F9, 0x41CE, + 0x41A2, 0x4177, 0x414C, 0x4121, 0x40F6, 0x40CA, 0x409F, 0x4073, + 0x4048, 0x401D, 0x3FF1, 0x3FC5, 0x3F9A, 0x3F6E, 0x3F43, 0x3F17, + 0x3EEB, 0x3EBF, 0x3E93, 0x3E68, 0x3E3C, 0x3E10, 0x3DE4, 0x3DB8, + 0x3D8C, 0x3D60, 0x3D33, 0x3D07, 0x3CDB, 0x3CAF, 0x3C83, 0x3C56, + 0x3C2A, 0x3BFD, 0x3BD1, 0x3BA5, 0x3B78, 0x3B4C, 0x3B1F, 0x3AF2, + 0x3AC6, 0x3A99, 0x3A6C, 0x3A40, 0x3A13, 0x39E6, 0x39B9, 0x398C, + 0x395F, 0x3932, 0x3906, 0x38D8, 0x38AB, 0x387E, 0x3851, 0x3824, + 0x37F7, 0x37CA, 0x379C, 0x376F, 0x3742, 0x3714, 0x36E7, 0x36BA, + 0x368C, 0x365F, 0x3631, 0x3604, 0x35D6, 0x35A8, 0x357B, 0x354D, + 0x351F, 0x34F2, 0x34C4, 0x3496, 0x3468, 0x343A, 0x340C, 0x33DE, + 0x33B0, 0x3382, 0x3354, 0x3326, 0x32F8, 0x32CA, 0x329C, 0x326E, + 0x3240, 0x3211, 0x31E3, 0x31B5, 0x3186, 0x3158, 0x312A, 0x30FB, + 0x30CD, 0x309E, 0x3070, 0x3041, 0x3013, 0x2FE4, 0x2FB5, 0x2F87, + 0x2F58, 0x2F29, 0x2EFB, 0x2ECC, 0x2E9D, 0x2E6E, 0x2E3F, 0x2E11, + 0x2DE2, 0x2DB3, 0x2D84, 0x2D55, 0x2D26, 0x2CF7, 0x2CC8, 0x2C98, + 0x2C69, 0x2C3A, 0x2C0B, 0x2BDC, 0x2BAD, 0x2B7D, 0x2B4E, 0x2B1F, + 0x2AEF, 0x2AC0, 0x2A91, 0x2A61, 0x2A32, 0x2A02, 0x29D3, 0x29A3, + 0x2974, 0x2944, 0x2915, 0x28E5, 0x28B5, 0x2886, 0x2856, 0x2826, + 0x27F6, 0x27C7, 0x2797, 0x2767, 0x2737, 0x2707, 0x26D8, 0x26A8, + 0x2678, 0x2648, 0x2618, 0x25E8, 0x25B8, 0x2588, 0x2558, 0x2528, + 0x24F7, 0x24C7, 0x2497, 0x2467, 0x2437, 0x2407, 0x23D6, 0x23A6, + 0x2376, 0x2345, 0x2315, 0x22E5, 0x22B4, 0x2284, 0x2254, 0x2223, + 0x21F3, 0x21C2, 0x2192, 0x2161, 0x2131, 0x2100, 0x20D0, 0x209F, + 0x206E, 0x203E, 0x200D, 0x1FDC, 0x1FAC, 0x1F7B, 0x1F4A, 0x1F19, + 0x1EE9, 0x1EB8, 0x1E87, 0x1E56, 0x1E25, 0x1DF5, 0x1DC4, 0x1D93, + 0x1D62, 0x1D31, 0x1D00, 0x1CCF, 0x1C9E, 0x1C6D, 0x1C3C, 0x1C0B, + 0x1BDA, 0x1BA9, 0x1B78, 0x1B47, 0x1B16, 0x1AE4, 0x1AB3, 0x1A82, + 0x1A51, 0x1A20, 0x19EF, 0x19BD, 0x198C, 0x195B, 0x192A, 0x18F8, + 0x18C7, 0x1896, 0x1864, 0x1833, 0x1802, 0x17D0, 0x179F, 0x176D, + 0x173C, 0x170A, 0x16D9, 0x16A8, 0x1676, 0x1645, 0x1613, 0x15E2, + 0x15B0, 0x157F, 0x154D, 0x151B, 0x14EA, 0x14B8, 0x1487, 0x1455, + 0x1423, 0x13F2, 0x13C0, 0x138E, 0x135D, 0x132B, 0x12F9, 0x12C8, + 0x1296, 0x1264, 0x1232, 0x1201, 0x11CF, 0x119D, 0x116B, 0x1139, + 0x1108, 0x10D6, 0x10A4, 0x1072, 0x1040, 0x100E, 0x0FDD, 0x0FAB, + 0x0F79, 0x0F47, 0x0F15, 0x0EE3, 0x0EB1, 0x0E7F, 0x0E4D, 0x0E1B, + 0x0DE9, 0x0DB7, 0x0D85, 0x0D53, 0x0D21, 0x0CEF, 0x0CBD, 0x0C8B, + 0x0C59, 0x0C27, 0x0BF5, 0x0BC3, 0x0B91, 0x0B5F, 0x0B2D, 0x0AFB, + 0x0AC9, 0x0A97, 0x0A65, 0x0A33, 0x0A00, 0x09CE, 0x099C, 0x096A, + 0x0938, 0x0906, 0x08D4, 0x08A2, 0x086F, 0x083D, 0x080B, 0x07D9, + 0x07A7, 0x0775, 0x0742, 0x0710, 0x06DE, 0x06AC, 0x067A, 0x0647, + 0x0615, 0x05E3, 0x05B1, 0x057F, 0x054C, 0x051A, 0x04E8, 0x04B6, + 0x0483, 0x0451, 0x041F, 0x03ED, 0x03BA, 0x0388, 0x0356, 0x0324, + 0x02F1, 0x02BF, 0x028D, 0x025B, 0x0228, 0x01F6, 0x01C4, 0x0192, + 0x015F, 0x012D, 0x00FB, 0x00C9, 0x0096, 0x0064, 0x0032, 0x0000, +}; u32 D_8003F330 = 0x00000000; @@ -2410,13 +622,13 @@ u32 D_8003F358 = 0x7D001018; u32 D_8003F35C = 0x40400818; u32 D_8003F360 = 0x00003214; -u32 *D_8003F364 = _data_3E1400SegmentRomStart; -u32 *D_8003F368 = _data_3E6BC0SegmentRomStart; -u32 *D_8003F36C = _data_3E6BC0SegmentRomStart; -u32 *D_8003F370 = _data_2A8CB0SegmentRomStart; -u32 *D_8003F374 = _data_2B1510SegmentRomStart; -u32 *D_8003F378 = _data_2B1510SegmentRomStart; -u32 *D_8003F37C = _data_250320SegmentRomStart; +u32 *D_8003F364 = (u32*)_data_3E1400SegmentRomStart; +u32 *D_8003F368 = (u32*)_data_3E6BC0SegmentRomStart; +u32 *D_8003F36C = (u32*)_data_3E6BC0SegmentRomStart; +u32 *D_8003F370 = (u32*)_data_2A8CB0SegmentRomStart; +u32 *D_8003F374 = (u32*)_data_2B1510SegmentRomStart; +u32 *D_8003F378 = (u32*)_data_2B1510SegmentRomStart; +u32 *D_8003F37C = (u32*)_data_250320SegmentRomStart; u32 D_8003F380 = 0x00100808; u32 D_8003F384 = 0x00000000; @@ -2428,14 +640,14 @@ u32 D_8003F394 = 0x00000000; u32 D_8003F398 = 0x00000000; u32 D_8003F39C = 0x00000000; -u32 *D_8003F3A0 = _data_49F590SegmentRomStart; -u32 *D_8003F3A4 = _data_49F590SegmentRomEnd; +u32 *D_8003F3A0 = (u32*)_data_49F590SegmentRomStart; +u32 *D_8003F3A4 = (u32*)_data_49F590SegmentRomEnd; -u32 *D_8003F3A8 = _data_4A0340SegmentRomStart; -u32 *D_8003F3AC = _data_4A0340SegmentRomEnd; +u32 *D_8003F3A8 = (u32*)_data_4A0340SegmentRomStart; +u32 *D_8003F3AC = (u32*)_data_4A0340SegmentRomEnd; -u32 *D_8003F3B0 = _data_4A3B60SegmentRomStart; -u32 *D_8003F3B4 = _data_4A3B60SegmentRomEnd; +u32 *D_8003F3B0 = (u32*)_data_4A3B60SegmentRomStart; +u32 *D_8003F3B4 = (u32*)_data_4A3B60SegmentRomEnd; u32 D_8003F3B8 = 0x00000000; u32 D_8003F3BC = 0x00000000; @@ -2990,49 +1202,33 @@ u32 D_8003F804 = 0x20800020; u32 D_8003F808 = 0x00000000; -u32 D_8003F80C = 0x80040D10; +// Crash screen message pointers +const char *D_8003F80C = D_80040D10; +const char *D_8003F810 = D_80040D1C; +const char *D_8003F814 = D_80040D30; +const char *D_8003F818 = D_80040D48; +const char *D_8003F81C = D_80040D60; +const char *D_8003F820 = D_80040D78; +const char *D_8003F824 = D_80040D90; +const char *D_8003F828 = D_80040DA4; +const char *D_8003F82C = D_80040DB8; +const char *D_8003F830 = D_80040DD0; +const char *D_8003F834 = D_80040DE8; +const char *D_8003F838 = D_80040E00; +const char *D_8003F83C = D_80040E18; +const char *D_8003F840 = D_80040E2C; +const char *D_8003F844 = D_80040E3C; +const char *D_8003F848 = D_80040E58; +const char *D_8003F84C = D_80040E74; +const char *D_8003F850 = D_80040E8C; -u32 D_8003F810 = 0x80040D1C; - -u32 D_8003F814 = 0x80040D30; - -u32 D_8003F818 = 0x80040D48; - -u32 D_8003F81C = 0x80040D60; - -u32 D_8003F820 = 0x80040D78; - -u32 D_8003F824 = 0x80040D90; - -u32 D_8003F828 = 0x80040DA4; - -u32 D_8003F82C = 0x80040DB8; - -u32 D_8003F830 = 0x80040DD0; - -u32 D_8003F834 = 0x80040DE8; - -u32 D_8003F838 = 0x80040E00; - -u32 D_8003F83C = 0x80040E18; - -u32 D_8003F840 = 0x80040E2C; - -u32 D_8003F844 = 0x80040E3C; - -u32 D_8003F848 = 0x80040E58; - -u32 D_8003F84C = 0x80040E74; - -u32 D_8003F850 = 0x80040E8C; - -char *D_8003F854[] = { - 0x80040EA8, - 0x80040EC0, - 0x80040ED4, - 0x80040EE8, - 0x80040EF4, - 0x80040F00, +const char *D_8003F854[] = { + D_80040EA8, + D_80040EC0, + D_80040ED4, + D_80040EE8, + D_80040EF4, + D_80040F00, }; u32 D_8003F86C = 0x0000001E; diff --git a/src/ovl0/ovl0_6.c b/src/ovl0/ovl0_6.c index 65f3887a..8e7fef3d 100644 --- a/src/ovl0/ovl0_6.c +++ b/src/ovl0/ovl0_6.c @@ -1,118 +1,110 @@ #include #include +#include #include "types.h" #include "ovl0_6.h" +#define COMBINE_INTEGRAL(a, b) ((a & 0xffff0000 ) | ((b >> 16))) +#define COMBINE_FRACTIONAL(a, b) ((a << 16)) | (b & 0xffff) + typedef f32 Mat4[4][4]; -// maybe related to guMtxF2L? -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -s32 func_80019A30(void *arg0, void *arg1) { - s32 temp_f18; - s32 temp_f18_2; - s32 temp_f18_3; - s32 temp_f18_4; - s32 temp_f18_5; - s32 temp_f18_6; - s32 temp_f18_7; - s32 temp_f18_8; - s32 temp_f8; - s32 temp_f8_2; - s32 temp_f8_3; - s32 temp_f8_4; - s32 temp_f8_5; - s32 temp_f8_6; - s32 temp_f8_7; - s32 temp_f8_8; +// Seems to be a version of MtxF2L that uses unsigned values only +void func_80019A30(float mf[4][4], Mtx *m) { + u32 e1,e2; - temp_f8_2 = arg0->unk0 * 65536.0f; - temp_f18 = arg0->unk4 * 65536.0f; - arg1->unk0 = (temp_f8_2 & 0xFFFF0000) | (temp_f18 >> 0x10); - arg1->unk20 = (temp_f8_2 << 0x10) | (temp_f18 & 0xFFFF); - temp_f8_3 = arg0->unk8 * 65536.0f; - temp_f18_2 = arg0->unkC * 65536.0f; - arg1->unk4 = (temp_f8_3 & 0xFFFF0000) | (temp_f18_2 >> 0x10); - arg1->unk24 = (temp_f8_3 << 0x10) | (temp_f18_2 & 0xFFFF); - temp_f8_4 = arg0->unk10 * 65536.0f; - temp_f18_3 = arg0->unk14 * 65536.0f; - arg1->unk8 = (temp_f8_4 & 0xFFFF0000) | (temp_f18_3 >> 0x10); - arg1->unk28 = (temp_f8_4 << 0x10) | (temp_f18_3 & 0xFFFF); - temp_f8_5 = arg0->unk18 * 65536.0f; - temp_f18_4 = arg0->unk1C * 65536.0f; - arg1->unkC = (temp_f8_5 & 0xFFFF0000) | (temp_f18_4 >> 0x10); - arg1->unk2C = (temp_f8_5 << 0x10) | (temp_f18_4 & 0xFFFF); - temp_f8_6 = arg0->unk20 * 65536.0f; - temp_f18_5 = arg0->unk24 * 65536.0f; - arg1->unk10 = (temp_f8_6 & 0xFFFF0000) | (temp_f18_5 >> 0x10); - arg1->unk30 = (temp_f8_6 << 0x10) | (temp_f18_5 & 0xFFFF); - temp_f8_7 = arg0->unk28 * 65536.0f; - temp_f18_6 = arg0->unk2C * 65536.0f; - arg1->unk14 = (temp_f8_7 & 0xFFFF0000) | (temp_f18_6 >> 0x10); - arg1->unk34 = (temp_f8_7 << 0x10) | (temp_f18_6 & 0xFFFF); - temp_f8_8 = arg0->unk30 * 65536.0f; - temp_f18_7 = arg0->unk34 * 65536.0f; - arg1->unk18 = (temp_f8_8 & 0xFFFF0000) | (temp_f18_7 >> 0x10); - arg1->unk38 = (temp_f8_8 << 0x10) | (temp_f18_7 & 0xFFFF); - temp_f8 = arg0->unk38 * 65536.0f; - temp_f18_8 = arg0->unk3C * 65536.0f; - arg1->unk1C = (temp_f8 & 0xFFFF0000) | (temp_f18_8 >> 0x10); - arg1->unk3C = (temp_f8 << 0x10) | (temp_f18_8 & 0xFFFF); - return temp_f8; + // This macro should match, but doesn't (some instructions are reordered) + // This is because the two `mtx->m[...][...] = ...` lines in the macro end up on the same line of code + // When this happens, the two or instructions are misordered (confirmed by checking with the matching code). + +// #define MTXF_TO_MTXF_UNSIGNED_CELL(i, j, mtxf, mtx) \ +// e1=FTOFIX32(mtxf[i][j*2]); \ +// e2=FTOFIX32(mtxf[i][j*2+1]); \ +// mtx->m[0 + i/2][j + 2 * (i % 2)] = COMBINE_INTEGRAL(e1, e2); \ +// mtx->m[2 + i/2][j + 2 * (i % 2)] = COMBINE_FRACTIONAL(e1, e2); + +// MTXF_TO_MTXF_UNSIGNED_CELL(0,0,mf,m); +// MTXF_TO_MTXF_UNSIGNED_CELL(0,1,mf,m); +// MTXF_TO_MTXF_UNSIGNED_CELL(1,0,mf,m); +// MTXF_TO_MTXF_UNSIGNED_CELL(1,1,mf,m); + +// MTXF_TO_MTXF_UNSIGNED_CELL(2,0,mf,m); +// MTXF_TO_MTXF_UNSIGNED_CELL(2,1,mf,m); +// MTXF_TO_MTXF_UNSIGNED_CELL(3,0,mf,m); +// MTXF_TO_MTXF_UNSIGNED_CELL(3,1,mf,m); + + // This is probably an unrolled loop, but I couldn't get it to match + e1=FTOFIX32(mf[0][0]); + e2=FTOFIX32(mf[0][1]); + m->m[0][0] = COMBINE_INTEGRAL(e1, e2); + m->m[2][0] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[0][2]); + e2=FTOFIX32(mf[0][3]); + m->m[0][1] = COMBINE_INTEGRAL(e1, e2); + m->m[2][1] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[1][0]); + e2=FTOFIX32(mf[1][1]); + m->m[0][2] = COMBINE_INTEGRAL(e1, e2); + m->m[2][2] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[1][2]); + e2=FTOFIX32(mf[1][3]); + m->m[0][3] = COMBINE_INTEGRAL(e1, e2); + m->m[2][3] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[2][0]); + e2=FTOFIX32(mf[2][1]); + m->m[1][0] = COMBINE_INTEGRAL(e1, e2); + m->m[3][0] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[2][2]); + e2=FTOFIX32(mf[2][3]); + m->m[1][1] = COMBINE_INTEGRAL(e1, e2); + m->m[3][1] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[3][0]); + e2=FTOFIX32(mf[3][1]); + m->m[1][2] = COMBINE_INTEGRAL(e1, e2); + m->m[3][2] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[3][2]); + e2=FTOFIX32(mf[3][3]); + m->m[1][3] = COMBINE_INTEGRAL(e1, e2); + m->m[3][3] = COMBINE_FRACTIONAL(e1, e2); } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_80019A30.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -s32 func_80019C60(void *arg0, void *arg1) { - s32 temp_f18; - s32 temp_f18_2; - s32 temp_f18_3; - s32 temp_f18_4; - s32 temp_f18_5; - s32 temp_f18_6; - s32 temp_f8; - s32 temp_f8_2; - s32 temp_f8_3; - s32 temp_f8_4; - s32 temp_f8_5; - s32 temp_f8_6; - - temp_f8 = arg0->unk0 * 65536.0f; - temp_f18_2 = arg0->unk4 * 65536.0f; - arg1->unk0 = (temp_f8 & 0xFFFF0000) | (temp_f18_2 >> 0x10); - arg1->unk20 = (temp_f8 << 0x10) | (temp_f18_2 & 0xFFFF); - temp_f8_2 = arg0->unk8 * 65536.0f; - arg1->unk4 = temp_f8_2 & 0xFFFF0000; - arg1->unk24 = temp_f8_2 << 0x10; - temp_f18_3 = arg0->unk10 * 65536.0f; - temp_f8_3 = arg0->unk14 * 65536.0f; - arg1->unk8 = (temp_f18_3 & 0xFFFF0000) | (temp_f8_3 >> 0x10); - arg1->unk28 = (temp_f18_3 << 0x10) | (temp_f8_3 & 0xFFFF); - temp_f18_4 = arg0->unk18 * 65536.0f; - arg1->unkC = temp_f18_4 & 0xFFFF0000; - arg1->unk2C = temp_f18_4 << 0x10; - temp_f8_4 = arg0->unk20 * 65536.0f; - temp_f18_5 = arg0->unk24 * 65536.0f; - arg1->unk10 = (temp_f8_4 & 0xFFFF0000) | (temp_f18_5 >> 0x10); - arg1->unk30 = (temp_f8_4 << 0x10) | (temp_f18_5 & 0xFFFF); - temp_f8_5 = arg0->unk28 * 65536.0f; - arg1->unk14 = temp_f8_5 & 0xFFFF0000; - arg1->unk34 = temp_f8_5 << 0x10; - temp_f18_6 = arg0->unk30 * 65536.0f; - temp_f8_6 = arg0->unk34 * 65536.0f; - arg1->unk18 = (temp_f18_6 & 0xFFFF0000) | (temp_f8_6 >> 0x10); - arg1->unk38 = (temp_f18_6 << 0x10) | (temp_f8_6 & 0xFFFF); - temp_f18 = arg0->unk38 * 65536.0f; - arg1->unk1C = (temp_f18 & 0xFFFF0000) | 1; - arg1->unk3C = temp_f18 << 0x10; - return temp_f18; +// Same as above, but assumes column 3 is (0, 0, 0, 1) +void func_80019C60(float mf[4][4], Mtx *m) { + u32 e1,e2; + + e1=FTOFIX32(mf[0][0]); + e2=FTOFIX32(mf[0][1]); + m->m[0][0] = COMBINE_INTEGRAL(e1, e2); + m->m[2][0] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[0][2]); + e2=FTOFIX32(0.0f); + m->m[0][1] = COMBINE_INTEGRAL(e1, e2); + m->m[2][1] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[1][0]); + e2=FTOFIX32(mf[1][1]); + m->m[0][2] = COMBINE_INTEGRAL(e1, e2); + m->m[2][2] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[1][2]); + e2=FTOFIX32(0.0f); + m->m[0][3] = COMBINE_INTEGRAL(e1, e2); + m->m[2][3] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[2][0]); + e2=FTOFIX32(mf[2][1]); + m->m[1][0] = COMBINE_INTEGRAL(e1, e2); + m->m[3][0] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[2][2]); + e2=FTOFIX32(0.0f); + m->m[1][1] = COMBINE_INTEGRAL(e1, e2); + m->m[3][1] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[3][0]); + e2=FTOFIX32(mf[3][1]); + m->m[1][2] = COMBINE_INTEGRAL(e1, e2); + m->m[3][2] = COMBINE_FRACTIONAL(e1, e2); + e1=FTOFIX32(mf[3][2]); + e2=FTOFIX32(1.0f); + m->m[1][3] = COMBINE_INTEGRAL(e1, e2); + m->m[3][3] = COMBINE_FRACTIONAL(e1, e2); } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_80019C60.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 @@ -148,631 +140,381 @@ s32 func_80019E5C(f32 arg0) { GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_80019E5C.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -f32 guLookAtF(void *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9) { - f32 temp_f0; - f32 temp_f12; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f18; - f32 temp_f20; - f32 temp_f22; - f32 temp_f24; - f32 temp_f26; - f32 temp_f28; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f30; +// This should be part of libultra, but it's slightly modified (1.0f instead of 1.0) +// This applies to most of the following functions +void guLookAtF(float mf[4][4], float xEye, float yEye, float zEye, + float xAt, float yAt, float zAt, + float xUp, float yUp, float zUp) +{ + float len, xLook, yLook, zLook, xRight, yRight, zRight; - temp_f0 = arg4 - arg1; - temp_f22 = arg5 - arg2; - temp_f24 = arg6 - arg3; - temp_f2 = -1.0f / sqrtf(((temp_f0 * temp_f0) + (temp_f22 * temp_f22)) + (temp_f24 * temp_f24)); - temp_f20 = temp_f0 * temp_f2; - temp_f22 = temp_f22 * temp_f2; - temp_f24 = temp_f24 * temp_f2; - temp_f26 = (arg8 * temp_f24) - (arg9 * temp_f22); - temp_f28 = (arg9 * temp_f20) - (arg7 * temp_f24); - temp_f30 = (arg7 * temp_f22) - (arg8 * temp_f20); - temp_f2_2 = 1.0f / sqrtf(((temp_f26 * temp_f26) + (temp_f28 * temp_f28)) + (temp_f30 * temp_f30)); - temp_f26 = temp_f26 * temp_f2_2; - temp_f28 = temp_f28 * temp_f2_2; - temp_f30 = temp_f30 * temp_f2_2; - temp_f14 = (temp_f22 * temp_f30) - (temp_f24 * temp_f28); - arg7 = temp_f14; - temp_f16 = (temp_f24 * temp_f26) - (temp_f20 * temp_f30); - arg8 = temp_f16; - temp_f18 = (temp_f20 * temp_f28) - (temp_f22 * temp_f26); - arg9 = temp_f18; - temp_f2_3 = 1.0f / sqrtf(((temp_f14 * temp_f14) + (temp_f16 * temp_f16)) + (temp_f18 * temp_f18), temp_f14); - temp_f14_2 = arg7 * temp_f2_3; - temp_f12 = arg8 * temp_f2_3; - arg9 = arg9 * temp_f2_3; - arg0->unk0 = temp_f26; - arg0->unk10 = temp_f28; - arg0->unk20 = temp_f30; - arg0->unk4 = temp_f14_2; - arg0->unk14 = temp_f12; - arg0->unk30 = -(((arg1 * temp_f26) + (arg2 * temp_f28)) + (arg3 * temp_f30)); - arg8 = temp_f12; - arg7 = temp_f14_2; - arg0->unk24 = arg9; - arg0->unk8 = temp_f20; - arg0->unk18 = temp_f22; - arg0->unk28 = temp_f24; - arg0->unkC = 0.0f; - arg0->unk1C = 0.0f; - arg0->unk2C = 0.0f; - arg0->unk34 = -(((arg1 * arg7) + (arg2 * arg8)) + (arg3 * arg9)); - arg0->unk3C = 1.0f; - arg0->unk38 = -(((arg1 * temp_f20) + (arg2 * temp_f22)) + (arg3 * temp_f24)); - return 0.0f; + xLook = xAt - xEye; + yLook = yAt - yEye; + zLook = zAt - zEye; + + /* Negate because positive Z is behind us: */ + len = -1.0f / sqrtf (xLook*xLook + yLook*yLook + zLook*zLook); + xLook *= len; + yLook *= len; + zLook *= len; + + /* Right = Up x Look */ + + xRight = yUp * zLook - zUp * yLook; + yRight = zUp * xLook - xUp * zLook; + zRight = xUp * yLook - yUp * xLook; + len = 1.0f / sqrtf (xRight*xRight + yRight*yRight + zRight*zRight); + xRight *= len; + yRight *= len; + zRight *= len; + + /* Up = Look x Right */ + + xUp = yLook * zRight - zLook * yRight; + yUp = zLook * xRight - xLook * zRight; + zUp = xLook * yRight - yLook * xRight; + len = 1.0f / sqrtf (xUp*xUp + yUp*yUp + zUp*zUp); + xUp *= len; + yUp *= len; + zUp *= len; + + mf[0][0] = xRight; + mf[1][0] = yRight; + mf[2][0] = zRight; + mf[3][0] = -(xEye * xRight + yEye * yRight + zEye * zRight); + + mf[0][1] = xUp; + mf[1][1] = yUp; + mf[2][1] = zUp; + mf[3][1] = -(xEye * xUp + yEye * yUp + zEye * zUp); + + mf[0][2] = xLook; + mf[1][2] = yLook; + mf[2][2] = zLook; + mf[3][2] = -(xEye * xLook + yEye * yLook + zEye * zLook); + + mf[0][3] = 0; + mf[1][3] = 0; + mf[2][3] = 0; + mf[3][3] = 1; +} + +void guLookAt (Mtx *m, float xEye, float yEye, float zEye, + float xAt, float yAt, float zAt, + float xUp, float yUp, float zUp) +{ + Mat4 mf; + + guLookAtF(mf, xEye, yEye, zEye, xAt, yAt, zAt, xUp, yUp, zUp); + + func_80019A30(mf, m); +} + +// Modified version of guLookAtF that takes an extra Vector* argument and calls func_800191F8 +void guLookAtF_2(float mf[4][4], float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, Vector* arg7, float xUp, float yUp, float zUp) { + f32 len; + Vector look; + Vector right; + + look.x = xAt - xEye; + look.y = yAt - yEye; + look.z = zAt - zEye; + + /* Negate because positive Z is behind us: */ + len = -1.0f / sqrtf (look.x*look.x + look.y*look.y + look.z*look.z); + look.x *= len; + look.y *= len; + look.z *= len; + + /* Right = Up x Look */ + + right.x = yUp * look.z - zUp * look.y; + right.y = zUp * look.x - xUp * look.z; + right.z = xUp * look.y - yUp * look.x; + len = 1.0f / sqrtf (right.x*right.x + right.y*right.y + right.z*right.z); + right.x *= len; + right.y *= len; + right.z *= len; + + func_800191F8(&right, &look, arg7); + xUp = (look.y * right.z) - (look.z * right.y); + yUp = (look.z * right.x) - (look.x * right.z); + zUp = (look.x * right.y) - (look.y * right.x); + len = 1.0f / sqrtf(((xUp * xUp) + (yUp * yUp)) + (zUp * zUp)); + xUp = xUp * len; + yUp = yUp * len; + zUp = zUp * len; + + + mf[0][0] = right.x; + mf[1][0] = right.y; + mf[2][0] = right.z; + mf[3][0] = -(xEye * right.x + yEye * right.y + zEye * right.z); + + mf[0][1] = xUp; + mf[1][1] = yUp; + mf[2][1] = zUp; + mf[3][1] = -(xEye * xUp + yEye * yUp + zEye * zUp); + + mf[0][2] = look.x; + mf[1][2] = look.y; + mf[2][2] = look.z; + mf[3][2] = -(xEye * look.x + yEye * look.y + zEye * look.z); + + mf[0][3] = 0; + mf[1][3] = 0; + mf[2][3] = 0; + mf[3][3] = 1; } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -void func_8001A13C(s32 arg0, ? arg1, ? arg2, ? arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9) { - ? sp30; +void func_8001A488 (Mtx *m, float xEye, float yEye, float zEye, + float xAt, float yAt, float zAt, Vector* arg7, + float xUp, float yUp, float zUp) +{ + Mat4 mf; - guLookAtF(arg1, arg2, &sp30, arg1, arg2, arg4, arg5, arg6, arg7, arg8, arg9); - func_80019A30(&sp30, arg0); + guLookAtF_2(mf, xEye, yEye, zEye, xAt, yAt, zAt, arg7, xUp, yUp, zUp); + + func_80019A30(mf, m); } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s") -#endif +// void func_8001A488(s32 arg0, ? arg1, ? arg2, ? arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 argA) { +// ? sp38; -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -f32 func_8001A1B0(void *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7, f32 arg8, f32 arg9, f32 argA) { - f32 sp58; - f32 sp54; - f32 sp50; - f32 sp4C; - f32 sp48; - f32 sp44; - ? *temp_a0; - f32 temp_f0; - f32 temp_f10; - f32 temp_f10_2; - f32 temp_f14; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f18; - f32 temp_f18_2; - f32 temp_f20; - f32 temp_f22; - f32 temp_f22_2; - f32 temp_f24; - f32 temp_f24_2; - f32 temp_f26; - f32 temp_f26_2; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f4; - f32 temp_f8; - - temp_f22 = arg4 - arg1; - temp_f24 = arg5 - arg2; - temp_f26 = arg6 - arg3; - sp58 = temp_f26; - sp54 = temp_f24; - sp50 = temp_f22; - temp_f2 = -1.0f / sqrtf(((temp_f22 * temp_f22) + (temp_f24 * temp_f24)) + (temp_f26 * temp_f26)); - temp_f22_2 = temp_f22 * temp_f2; - temp_f24_2 = temp_f24 * temp_f2; - temp_f26_2 = temp_f26 * temp_f2; - sp50 = temp_f22_2; - sp54 = temp_f24_2; - sp58 = temp_f26_2; - temp_f14 = (arg9 * temp_f26_2) - (argA * temp_f24_2); - sp44 = temp_f14; - temp_f10 = (argA * temp_f22_2) - (arg8 * temp_f26_2); - sp48 = temp_f10; - temp_f8 = (arg8 * temp_f24_2) - (arg9 * temp_f22_2); - sp4C = temp_f8; - temp_f2_2 = 1.0f / sqrtf(((temp_f14 * temp_f14) + (temp_f10 * temp_f10)) + (temp_f8 * temp_f8), temp_f14); - temp_a0 = &sp44; - temp_f4 = sp48 * temp_f2_2; - sp44 = sp44 * temp_f2_2; - temp_f10_2 = temp_f8 * temp_f2_2; - sp48 = temp_f4; - sp4C = temp_f10_2; - func_800191F8(temp_a0, &sp50, arg7); - temp_f0 = (temp_f24_2 * sp4C) - (temp_f26_2 * sp48); - temp_f20 = temp_f0; - temp_f16 = (temp_f26_2 * sp44) - (temp_f22_2 * sp4C); - arg9 = temp_f16; - temp_f18 = (temp_f22_2 * sp48) - (temp_f24_2 * sp44); - argA = temp_f18; - temp_f2_3 = 1.0f / sqrtf(((temp_f0 * temp_f0) + (temp_f16 * temp_f16)) + (temp_f18 * temp_f18)); - arg0->unk0 = sp44; - arg0->unk10 = sp48; - arg0->unk20 = sp4C; - temp_f20 = temp_f20 * temp_f2_3; - temp_f16_2 = arg9 * temp_f2_3; - temp_f18_2 = argA * temp_f2_3; - arg0->unk4 = temp_f20; - arg0->unk14 = temp_f16_2; - arg0->unk24 = temp_f18_2; - arg0->unk30 = -(((arg1 * sp44) + (arg2 * sp48)) + (arg3 * temp_f10_2)); - arg0->unk34 = -(((arg1 * temp_f20) + (arg2 * temp_f16_2)) + (arg3 * temp_f18_2)); - arg0->unk8 = sp50; - arg0->unk18 = sp54; - arg0->unk28 = sp58; - arg0->unkC = 0.0f; - arg0->unk1C = 0.0f; - arg0->unk2C = 0.0f; - arg0->unk3C = 1.0f; - arg0->unk38 = -(((arg1 * sp50) + (arg2 * sp54)) + (arg3 * sp58)); - return 0.0f; -} -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -void func_8001A488(s32 arg0, ? arg1, ? arg2, ? arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 argA) { - ? sp38; - - func_8001A1B0(arg1, arg2, &sp38, arg1, arg2, arg4, arg5, arg6, arg7, arg8, arg9, argA); - func_80019A30(&sp38, arg0); -} +// guLookAtF_2(arg1, arg2, &sp38, arg1, arg2, arg4, arg5, arg6, arg7, arg8, arg9, argA); +// func_80019A30(&sp38, arg0); +// } #else GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001A488.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -f32 func_8001A504(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 argA) { - f32 temp_f0; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f18; - f32 temp_f20; - f32 temp_f22; - f32 temp_f24; - f32 temp_f26; - f32 temp_f28; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f2_5; - f32 temp_f2_6; - f32 temp_f2_7; - f32 temp_f2_8; - f32 temp_f30; - f32 temp_f6; - f32 phi_f0; - f32 phi_f0_2; - f32 phi_f0_3; - f32 phi_f0_4; - f32 phi_f0_5; - f32 phi_f0_6; +// Modified in the same way that guLookAtF was +void guLookAtReflectF(float mf[4][4], LookAt *l, + float xEye, float yEye, float zEye, + float xAt, float yAt, float zAt, + float xUp, float yUp, float zUp) +{ + float len, xLook, yLook, zLook, xRight, yRight, zRight; - temp_f0 = arg5 - arg2; - temp_f22 = arg6 - arg3; - temp_f24 = arg7 - arg4; - temp_f2 = -1.0f / sqrtf(((temp_f0 * temp_f0) + (temp_f22 * temp_f22)) + (temp_f24 * temp_f24)); - temp_f20 = temp_f0 * temp_f2; - temp_f22 = temp_f22 * temp_f2; - temp_f24 = temp_f24 * temp_f2; - temp_f26 = (arg9 * temp_f24) - (argA * temp_f22); - temp_f28 = (argA * temp_f20) - (arg8 * temp_f24); - temp_f30 = (arg8 * temp_f22) - (arg9 * temp_f20); - temp_f2_2 = 1.0f / sqrtf(((temp_f26 * temp_f26) + (temp_f28 * temp_f28)) + (temp_f30 * temp_f30)); - temp_f26 = temp_f26 * temp_f2_2; - temp_f28 = temp_f28 * temp_f2_2; - temp_f30 = temp_f30 * temp_f2_2; - temp_f14 = (temp_f22 * temp_f30) - (temp_f24 * temp_f28); - arg8 = temp_f14; - temp_f16 = (temp_f24 * temp_f26) - (temp_f20 * temp_f30); - arg9 = temp_f16; - temp_f18 = (temp_f20 * temp_f28) - (temp_f22 * temp_f26); - argA = temp_f18; - temp_f2_3 = 1.0f / sqrtf(((temp_f14 * temp_f14) + (temp_f16 * temp_f16)) + (temp_f18 * temp_f18), temp_f14); - temp_f6 = arg9 * temp_f2_3; - arg8 = arg8 * temp_f2_3; - arg9 = temp_f6; - temp_f14_2 = temp_f26 * 128.0f; - argA = argA * temp_f2_3; - temp_f2_4 = temp_f28 * 128.0f; - if (temp_f14_2 < 127.0f) { - phi_f0 = temp_f14_2; - } else { - phi_f0 = 127.0f; - } - arg1->unk8 = phi_f0; - if (temp_f2_4 < 127.0f) { - phi_f0_2 = temp_f2_4; - } else { - phi_f0_2 = 127.0f; - } - temp_f2_5 = temp_f30 * 128.0f; - arg1->unk9 = phi_f0_2; - if (temp_f2_5 < 127.0f) { - phi_f0_3 = temp_f2_5; - } else { - phi_f0_3 = 127.0f; - } - arg1->unkA = phi_f0_3; - temp_f2_6 = arg8 * 128.0f; - if (temp_f2_6 < 127.0f) { - phi_f0_4 = temp_f2_6; - } else { - phi_f0_4 = 127.0f; - } - arg1->unk18 = phi_f0_4; - temp_f2_7 = arg9 * 128.0f; - if (temp_f2_7 < 127.0f) { - phi_f0_5 = temp_f2_7; - } else { - phi_f0_5 = 127.0f; - } - arg1->unk19 = phi_f0_5; - temp_f2_8 = argA * 128.0f; - if (temp_f2_8 < 127.0f) { - phi_f0_6 = temp_f2_8; - } else { - phi_f0_6 = 127.0f; - } - arg1->unk0 = 0; - arg1->unk1 = 0; - arg1->unk2 = 0; - arg1->unk3 = 0; - arg1->unk4 = 0; - arg1->unk5 = 0; - arg1->unk6 = 0; - arg1->unk7 = 0; - arg1->unk10 = 0; - arg1->unk11 = 0x80; - arg1->unk12 = 0; - arg1->unk13 = 0; - arg1->unk14 = 0; - arg1->unk15 = 0x80; - arg1->unk16 = 0; - arg1->unk17 = 0; - arg1->unk1A = phi_f0_6; - arg0->unk0 = temp_f26; - arg0->unk10 = temp_f28; - arg0->unk20 = temp_f30; - arg0->unk8 = temp_f20; - arg0->unk18 = temp_f22; - arg0->unk28 = temp_f24; - arg0->unk4 = arg8; - arg0->unk14 = arg9; - arg0->unk24 = argA; - arg0->unk30 = -(((arg2 * temp_f26) + (arg3 * temp_f28)) + (arg4 * temp_f30)); - arg0->unk34 = -(((arg2 * arg8) + (arg3 * arg9)) + (arg4 * argA)); - arg0->unkC = 0.0f; - arg0->unk1C = 0.0f; - arg0->unk2C = 0.0f; - arg0->unk3C = 1.0f; - arg0->unk38 = -(((arg2 * temp_f20) + (arg3 * temp_f22)) + (arg4 * temp_f24)); - return 0.0f; + xLook = xAt - xEye; + yLook = yAt - yEye; + zLook = zAt - zEye; + + /* Negate because positive Z is behind us: */ + len = -1.0f / sqrtf (xLook*xLook + yLook*yLook + zLook*zLook); + xLook *= len; + yLook *= len; + zLook *= len; + + /* Right = Up x Look */ + + xRight = yUp * zLook - zUp * yLook; + yRight = zUp * xLook - xUp * zLook; + zRight = xUp * yLook - yUp * xLook; + len = 1.0f / sqrtf (xRight*xRight + yRight*yRight + zRight*zRight); + xRight *= len; + yRight *= len; + zRight *= len; + + /* Up = Look x Right */ + + xUp = yLook * zRight - zLook * yRight; + yUp = zLook * xRight - xLook * zRight; + zUp = xLook * yRight - yLook * xRight; + len = 1.0f / sqrtf (xUp*xUp + yUp*yUp + zUp*zUp); + xUp *= len; + yUp *= len; + zUp *= len; + + /* reflectance vectors = Up and Right */ + + l->l[0].l.dir[0] = FTOFRAC8(xRight); + l->l[0].l.dir[1] = FTOFRAC8(yRight); + l->l[0].l.dir[2] = FTOFRAC8(zRight); + l->l[1].l.dir[0] = FTOFRAC8(xUp); + l->l[1].l.dir[1] = FTOFRAC8(yUp); + l->l[1].l.dir[2] = FTOFRAC8(zUp); + l->l[0].l.col[0] = 0x00; + l->l[0].l.col[1] = 0x00; + l->l[0].l.col[2] = 0x00; + l->l[0].l.pad1 = 0x00; + l->l[0].l.colc[0] = 0x00; + l->l[0].l.colc[1] = 0x00; + l->l[0].l.colc[2] = 0x00; + l->l[0].l.pad2 = 0x00; + l->l[1].l.col[0] = 0x00; + l->l[1].l.col[1] = 0x80; + l->l[1].l.col[2] = 0x00; + l->l[1].l.pad1 = 0x00; + l->l[1].l.colc[0] = 0x00; + l->l[1].l.colc[1] = 0x80; + l->l[1].l.colc[2] = 0x00; + l->l[1].l.pad2 = 0x00; + + mf[0][0] = xRight; + mf[1][0] = yRight; + mf[2][0] = zRight; + mf[3][0] = -(xEye * xRight + yEye * yRight + zEye * zRight); + + mf[0][1] = xUp; + mf[1][1] = yUp; + mf[2][1] = zUp; + mf[3][1] = -(xEye * xUp + yEye * yUp + zEye * zUp); + + mf[0][2] = xLook; + mf[1][2] = yLook; + mf[2][2] = zLook; + mf[3][2] = -(xEye * xLook + yEye * yLook + zEye * zLook); + + mf[0][3] = 0; + mf[1][3] = 0; + mf[2][3] = 0; + mf[3][3] = 1; } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001A504.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -void func_8001A8EC(s32 arg0, ? arg2, ? arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 argA) { - ? sp38; +void guLookAtReflect (Mtx *m, LookAt *l, float xEye, float yEye, float zEye, + float xAt, float yAt, float zAt, + float xUp, float yUp, float zUp) +{ + float mf[4][4]; - func_8001A504(arg2, arg3, &sp38, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA); - func_80019A30(&sp38, arg0); + guLookAtReflectF(mf, l, xEye, yEye, zEye, xAt, yAt, zAt, + xUp, yUp, zUp); + + func_80019A30(mf, m); } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -f32 func_8001A964(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8, f32 arg9, f32 argA, f32 argB) { - f32 sp60; - f32 sp5C; - f32 sp58; - f32 sp54; - f32 sp50; - f32 sp4C; - f32 sp38; - f32 *temp_a0; - f32 temp_f0; - f32 temp_f0_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f18; - f32 temp_f18_2; - f32 temp_f20; - f32 temp_f22; - f32 temp_f24; - f32 temp_f2; - f32 temp_f2_2; - f32 temp_f2_3; - f32 temp_f2_4; - f32 temp_f2_5; - f32 temp_f2_6; - f32 temp_f2_7; - f32 temp_f2_8; - f32 temp_f4; - f32 temp_f4_2; - f32 temp_f6; - f32 temp_f8; - f32 temp_f8_2; - f32 phi_f0; - f32 phi_f0_2; - f32 phi_f0_3; - f32 phi_f0_4; - f32 phi_f0_5; - f32 phi_f0_6; +// Lookat counterpart for guLookAtF_2 +f32 guLookAtReflectF_2(float mf[4][4], LookAt *l, float xEye, float yEye, float zEye, float xAt, float yAt, float zAt, Vector* arg8, float xUp, float yUp, float zUp) { + float len; + Vector look; + Vector right; - temp_f16 = arg5 - arg2; - temp_f18 = arg6 - arg3; - temp_f0 = arg7 - arg4; - sp60 = temp_f0; - sp5C = temp_f18; - sp58 = temp_f16; - temp_f2 = -1.0f / sqrtf(((temp_f16 * temp_f16) + (temp_f18 * temp_f18)) + (temp_f0 * temp_f0)); - temp_f16_2 = temp_f16 * temp_f2; - temp_f18_2 = temp_f18 * temp_f2; - temp_f4 = sp60 * temp_f2; - sp58 = temp_f16_2; - sp5C = temp_f18_2; - sp60 = temp_f4; - temp_f14 = (argA * temp_f4) - (argB * temp_f18_2); - sp4C = temp_f14; - temp_f8 = (argB * temp_f16_2) - (arg9 * temp_f4); - sp50 = temp_f8; - temp_f6 = (arg9 * temp_f18_2) - (argA * temp_f16_2); - sp54 = temp_f6; - temp_f2_2 = 1.0f / sqrtf(((temp_f14 * temp_f14) + (temp_f8 * temp_f8)) + (temp_f6 * temp_f6), temp_f14); - temp_a0 = &sp4C; - temp_f4_2 = sp50 * temp_f2_2; - sp4C = sp4C * temp_f2_2; - temp_f8_2 = temp_f6 * temp_f2_2; - sp50 = temp_f4_2; - sp54 = temp_f8_2; - func_800191F8(temp_a0, &sp58, arg8); - sp38 = sp60; - temp_f0_2 = (temp_f18_2 * temp_f8_2) - (sp60 * temp_f4_2); - temp_f24 = temp_f0_2; - temp_f20 = (sp60 * sp4C) - (temp_f16_2 * temp_f8_2); - temp_f22 = (temp_f16_2 * temp_f4_2) - (temp_f18_2 * sp4C); - temp_f2_3 = 1.0f / sqrtf(((temp_f0_2 * temp_f0_2) + (temp_f20 * temp_f20)) + (temp_f22 * temp_f22)); - temp_f24 = temp_f24 * temp_f2_3; - temp_f20 = temp_f20 * temp_f2_3; - temp_f22 = temp_f22 * temp_f2_3; - temp_f14_2 = sp4C * 128.0f; - if (temp_f14_2 < 127.0f) { - phi_f0 = temp_f14_2; - } else { - phi_f0 = 127.0f; - } - arg1->unk8 = phi_f0; - temp_f2_4 = sp50 * 128.0f; - if (temp_f2_4 < 127.0f) { - phi_f0_2 = temp_f2_4; - } else { - phi_f0_2 = 127.0f; - } - arg1->unk9 = phi_f0_2; - temp_f2_5 = sp54 * 128.0f; - if (temp_f2_5 < 127.0f) { - phi_f0_3 = temp_f2_5; - } else { - phi_f0_3 = 127.0f; - } - temp_f2_6 = temp_f24 * 128.0f; - arg1->unkA = phi_f0_3; - if (temp_f2_6 < 127.0f) { - phi_f0_4 = temp_f2_6; - } else { - phi_f0_4 = 127.0f; - } - temp_f2_7 = temp_f20 * 128.0f; - arg1->unk18 = phi_f0_4; - if (temp_f2_7 < 127.0f) { - phi_f0_5 = temp_f2_7; - } else { - phi_f0_5 = 127.0f; - } - temp_f2_8 = temp_f22 * 128.0f; - arg1->unk19 = phi_f0_5; - if (temp_f2_8 < 127.0f) { - phi_f0_6 = temp_f2_8; - } else { - phi_f0_6 = 127.0f; - } - arg1->unk0 = 0; - arg1->unk1 = 0; - arg1->unk2 = 0; - arg1->unk3 = 0; - arg1->unk4 = 0; - arg1->unk5 = 0; - arg1->unk6 = 0; - arg1->unk7 = 0; - arg1->unk10 = 0; - arg1->unk11 = 0x80; - arg1->unk12 = 0; - arg1->unk13 = 0; - arg1->unk14 = 0; - arg1->unk15 = 0x80; - arg1->unk16 = 0; - arg1->unk17 = 0; - arg1->unk1A = phi_f0_6; - arg0->unk0 = sp4C; - arg0->unk10 = sp50; - arg0->unk20 = sp54; - arg0->unk4 = temp_f24; - arg0->unk14 = temp_f20; - arg0->unk24 = temp_f22; - arg0->unk30 = -(((arg2 * sp4C) + (arg3 * sp50)) + (arg4 * sp54)); - arg0->unk34 = -(((arg2 * temp_f24) + (arg3 * temp_f20)) + (arg4 * temp_f22)); - arg0->unk8 = sp58; - arg0->unk18 = sp5C; - arg0->unk28 = sp60; - arg0->unkC = 0.0f; - arg0->unk1C = 0.0f; - arg0->unk2C = 0.0f; - arg0->unk3C = 1.0f; - arg0->unk38 = -(((arg2 * sp58) + (arg3 * sp5C)) + (arg4 * sp60)); - return 0.0f; + look.x = xAt - xEye; + look.y = yAt - yEye; + look.z = zAt - zEye; + + /* Negate because positive Z is behind us: */ + len = -1.0f / sqrtf (look.x*look.x + look.y*look.y + look.z*look.z); + look.x *= len; + look.y *= len; + look.z *= len; + + /* Right = Up x Look */ + + right.x = yUp * look.z - zUp * look.y; + right.y = zUp * look.x - xUp * look.z; + right.z = xUp * look.y - yUp * look.x; + len = 1.0f / sqrtf (right.x*right.x + right.y*right.y + right.z*right.z); + right.x *= len; + right.y *= len; + right.z *= len; + + /* Up = Look x Right */ + + func_800191F8(&right, &look, arg8); + xUp = look.y * right.z - look.z * right.y; + yUp = look.z * right.x - look.x * right.z; + zUp = look.x * right.y - look.y * right.x; + len = 1.0f / sqrtf (xUp*xUp + yUp*yUp + zUp*zUp); + xUp *= len; + yUp *= len; + zUp *= len; + + /* reflectance vectors = Up and Right */ + + l->l[0].l.dir[0] = FTOFRAC8(right.x); + l->l[0].l.dir[1] = FTOFRAC8(right.y); + l->l[0].l.dir[2] = FTOFRAC8(right.z); + l->l[1].l.dir[0] = FTOFRAC8(xUp); + l->l[1].l.dir[1] = FTOFRAC8(yUp); + l->l[1].l.dir[2] = FTOFRAC8(zUp); + l->l[0].l.col[0] = 0x00; + l->l[0].l.col[1] = 0x00; + l->l[0].l.col[2] = 0x00; + l->l[0].l.pad1 = 0x00; + l->l[0].l.colc[0] = 0x00; + l->l[0].l.colc[1] = 0x00; + l->l[0].l.colc[2] = 0x00; + l->l[0].l.pad2 = 0x00; + l->l[1].l.col[0] = 0x00; + l->l[1].l.col[1] = 0x80; + l->l[1].l.col[2] = 0x00; + l->l[1].l.pad1 = 0x00; + l->l[1].l.colc[0] = 0x00; + l->l[1].l.colc[1] = 0x80; + l->l[1].l.colc[2] = 0x00; + l->l[1].l.pad2 = 0x00; + + mf[0][0] = right.x; + mf[1][0] = right.y; + mf[2][0] = right.z; + mf[3][0] = -(xEye * right.x + yEye * right.y + zEye * right.z); + + mf[0][1] = xUp; + mf[1][1] = yUp; + mf[2][1] = zUp; + mf[3][1] = -(xEye * xUp + yEye * yUp + zEye * zUp); + + mf[0][2] = look.x; + mf[1][2] = look.y; + mf[2][2] = look.z; + mf[3][2] = -(xEye * look.x + yEye * look.y + zEye * look.z); + + mf[0][3] = 0; + mf[1][3] = 0; + mf[2][3] = 0; + mf[3][3] = 1; } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001A964.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 void func_8001AD90(s32 arg0, ? arg2, ? arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 argA, f32 argB) { ? sp38; - func_8001A964(arg2, arg3, &sp38, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB); + guLookAtReflectF_2(arg2, arg3, &sp38, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB); func_80019A30(&sp38, arg0); } #else GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -s32 func_8001AE10(void *arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { - f32 temp_f0; - f32 temp_f12; - f32 temp_f12_2; - f32 temp_f14; - f32 temp_f14_2; - f32 temp_f16; - f32 temp_f16_2; - f32 temp_f16_3; - f32 temp_f18; - f32 temp_f18_2; - f32 temp_f2; - s32 temp_v0; - s32 temp_v0_2; - void *temp_v1; - void *temp_v1_2; - s32 phi_v0; - f32 phi_f12; - void *phi_v1; - f32 phi_f18; - f32 phi_f14; - f32 phi_f16; - s32 phi_v0_2; - f32 phi_f12_2; - void *phi_v1_2; - f32 phi_f18_2; - f32 phi_f14_2; - f32 phi_f16_2; - s32 phi_return; +void guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float f, float scale){ + int i, j; - temp_f0 = arg2 - arg1; - arg0->unk0 = 2.0f / temp_f0; - temp_f2 = arg4 - arg3; - arg0->unk14 = 2.0f / temp_f2; - temp_f16 = arg6 - arg5; - arg0->unk28 = -2.0f / temp_f16; - arg0->unk30 = -(arg2 + arg1) / temp_f0; - arg0->unk34 = -(arg4 + arg3) / temp_f2; - arg0->unk3C = 1.0f; - arg0->unk38 = -(arg6 + arg5) / temp_f16; - phi_v0 = 0; -loop_1: - if (phi_v0 != 0) { - *(arg0 + (phi_v0 * 0x10)) = 0.0f; + mf[0][0] = 2/(r-l); + mf[1][1] = 2/(t-b); + mf[2][2] = -2/(f-n); + mf[3][0] = -(r+l)/(r-l); + mf[3][1] = -(t+b)/(t-b); + mf[3][2] = -(f+n)/(f-n); + mf[3][3] = 1; + + for (i=0; i<3; i++) { + if (i != 0) + mf[i][0] = 0; + if (i != 1) + mf[i][1] = 0; + if (i != 2) + mf[i][2] = 0; + if (i != 3) + mf[i][3] = 0; } - if (phi_v0 != 1) { - (arg0 + (phi_v0 * 0x10))->unk4 = 0.0f; - } - if (phi_v0 != 2) { - (arg0 + (phi_v0 * 0x10))->unk8 = 0.0f; - } - if (phi_v0 != 3) { - (arg0 + (phi_v0 * 0x10))->unkC = 0.0f; - } - temp_v0 = phi_v0 + 1; - phi_v0 = temp_v0; - if (temp_v0 < 3) { - goto loop_1; - } - temp_f18 = arg0->unk4; - temp_f12 = arg0->unk0 * arg7; - temp_f14 = arg0->unk8; - temp_f16_2 = arg0->unkC; - phi_f12 = temp_f12; - phi_v1 = arg0; - phi_f18 = temp_f18; - phi_f14 = temp_f14; - phi_f16 = temp_f16_2; - phi_v0_2 = 1; - phi_f12_2 = temp_f12; - phi_v1_2 = arg0; - phi_f18_2 = temp_f18; - phi_f14_2 = temp_f14; - phi_f16_2 = temp_f16_2; - phi_return = 1; - if (1 != 4) { -loop_11: - temp_f18_2 = phi_v1->unk14; - temp_f14_2 = phi_v1->unk18; - temp_v0_2 = phi_v0_2 + 1; - temp_f16_3 = phi_v1->unk1C; - phi_v1->unk0 = phi_f12; - temp_f12_2 = phi_v1->unk10 * arg7; - phi_v1->unk4 = phi_f18 * arg7; - phi_v1->unk8 = phi_f14 * arg7; - temp_v1 = phi_v1 + 0x10; - temp_v1->unk-4 = phi_f16 * arg7; - phi_f12 = temp_f12_2; - phi_v1 = temp_v1; - phi_f18 = temp_f18_2; - phi_f14 = temp_f14_2; - phi_f16 = temp_f16_3; - phi_v0_2 = temp_v0_2; - phi_f12_2 = temp_f12_2; - phi_v1_2 = temp_v1; - phi_f18_2 = temp_f18_2; - phi_f14_2 = temp_f14_2; - phi_f16_2 = temp_f16_3; - phi_return = temp_v0_2; - if (temp_v0_2 != 4) { - goto loop_11; - } - } - temp_v1_2 = phi_v1_2 + 0x10; - temp_v1_2->unk-10 = phi_f12_2; - temp_v1_2->unk-C = phi_f18_2 * arg7; - temp_v1_2->unk-8 = phi_f14_2 * arg7; - temp_v1_2->unk-4 = phi_f16_2 * arg7; - return phi_return; + + for (i=0; i<4; i++) + for (j=0; j<4; j++) + mf[i][j] *= scale; } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 -void func_8001AFA4(s32 arg0, ? arg1, ? arg2, ? arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { - ? sp28; +void guOrtho(Mtx *m, float l, float r, float b, float t, float n, float f, float scale) +{ + Mat4 mf; - func_8001AE10(arg1, arg2, &sp28, arg1, arg2, arg4, arg5, arg6, arg7); - func_80019A30(&sp28, arg0); + guOrthoF(mf, l, r, b, t, n, f, scale); + + func_80019A30(mf, m); } -#else -GLOBAL_ASM("asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit e0e006e8858ba357d1dcb4dc64f038b7df278aa6 @@ -782,7 +524,7 @@ f32 func_8001B008(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5 f32 temp_f12; f32 temp_f14; f32 temp_f2; - s32 temp_a2; + u16 temp_a2; s32 temp_v1; u16 temp_t0; u16 temp_t5; @@ -792,7 +534,9 @@ f32 func_8001B008(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5 f32 phi_f12_2; f32 phi_f2_2; - temp_a2 = (((arg2 * D_80040C7C) * *0x80040000) & 0xFFF) & 0xFFFF; + // temp_a2 = ((u32)(arg2 * (M_PI / 360.0f) * (2048.0f / M_PI))) & 0xFFF + temp_a2 = ((u32)(arg2 * D_80040C7C * D_80040C80)) & 0xFFF; + // temp_t0 = D_8003E330[temp_a2 & 0x7FF]; temp_t0 = *(&D_8003E330 + ((temp_a2 & 0x7FF) * 2)); temp_v1 = (temp_a2 + 0x400) & 0xFFFF; temp_f2 = temp_t0; @@ -815,24 +559,24 @@ f32 func_8001B008(void *arg0, void *arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5 phi_f12 = -phi_f12_2; } temp_f14 = phi_f12 / phi_f2; - arg0->unk0 = (temp_f14 / arg3) * arg6; - arg0->unk14 = temp_f14 * arg6; + arg0->unk0 = (temp_f14 / arg3) * arg6; // [0][0] + arg0->unk14 = temp_f14 * arg6; // [1][1] temp_f0 = arg4 + arg5; sp0 = arg4 - arg5; - arg0->unk2C = -arg6; - arg0->unk28 = (temp_f0 * arg6) / sp0; - arg0->unk4 = 0.0f; - arg0->unk8 = 0.0f; - arg0->unkC = 0.0f; - arg0->unk10 = 0.0f; - arg0->unk18 = 0.0f; - arg0->unk1C = 0.0f; - arg0->unk20 = 0.0f; - arg0->unk24 = 0.0f; - arg0->unk30 = 0.0f; - arg0->unk34 = 0.0f; - arg0->unk3C = 0.0f; - arg0->unk38 = (((arg4 + arg4) * arg5) * arg6) / sp0; + arg0->unk2C = -arg6; // [2][3] + arg0->unk28 = (temp_f0 * arg6) / sp0; // [2][2] + arg0->unk4 = 0.0f; // [0][1] + arg0->unk8 = 0.0f; // [0][2] + arg0->unkC = 0.0f; // [0][3] + arg0->unk10 = 0.0f; // [1][0] + arg0->unk18 = 0.0f; // [1][2] + arg0->unk1C = 0.0f; // [1][3] + arg0->unk20 = 0.0f; // [2][0] + arg0->unk24 = 0.0f; // [2][1] + arg0->unk30 = 0.0f; // [3][0] + arg0->unk34 = 0.0f; // [3][1] + arg0->unk3C = 0.0f; // [3][3] + arg0->unk38 = (((arg4 + arg4) * arg5) * arg6) / sp0; // [3][2] if (arg1 != 0) { if (temp_f0 <= 2.0f) { *arg1 = 0xFFFF; diff --git a/src/ovl0/ovl0_8.h b/src/ovl0/ovl0_8.h new file mode 100644 index 00000000..0b36a209 --- /dev/null +++ b/src/ovl0/ovl0_8.h @@ -0,0 +1,29 @@ +#ifndef __OVL0_8_H__ +#define __OVL0_8_H__ + +extern const char D_80040D10[]; +extern const char D_80040D1C[]; +extern const char D_80040D30[]; +extern const char D_80040D48[]; +extern const char D_80040D60[]; +extern const char D_80040D78[]; +extern const char D_80040D90[]; +extern const char D_80040DA4[]; +extern const char D_80040DB8[]; +extern const char D_80040DD0[]; +extern const char D_80040DE8[]; +extern const char D_80040E00[]; +extern const char D_80040E18[]; +extern const char D_80040E2C[]; +extern const char D_80040E3C[]; +extern const char D_80040E58[]; +extern const char D_80040E74[]; +extern const char D_80040E8C[]; +extern const char D_80040EA8[]; +extern const char D_80040EC0[]; +extern const char D_80040ED4[]; +extern const char D_80040EE8[]; +extern const char D_80040EF4[]; +extern const char D_80040F00[]; + +#endif diff --git a/tools/non_matchings.txt b/tools/non_matchings.txt index 5fac38fe..7256b03d 100644 --- a/tools/non_matchings.txt +++ b/tools/non_matchings.txt @@ -232,16 +232,8 @@ asm/non_matchings/ovl0/ovl0_6/func_80019A30.s asm/non_matchings/ovl0/ovl0_6/func_80019C60.s asm/non_matchings/ovl0/ovl0_6/func_80019E14.s asm/non_matchings/ovl0/ovl0_6/func_80019E5C.s -asm/non_matchings/ovl0/ovl0_6/func_80019EB0.s -asm/non_matchings/ovl0/ovl0_6/func_8001A13C.s -asm/non_matchings/ovl0/ovl0_6/func_8001A1B0.s asm/non_matchings/ovl0/ovl0_6/func_8001A488.s -asm/non_matchings/ovl0/ovl0_6/func_8001A504.s -asm/non_matchings/ovl0/ovl0_6/func_8001A8EC.s -asm/non_matchings/ovl0/ovl0_6/func_8001A964.s asm/non_matchings/ovl0/ovl0_6/func_8001AD90.s -asm/non_matchings/ovl0/ovl0_6/func_8001AE10.s -asm/non_matchings/ovl0/ovl0_6/func_8001AFA4.s asm/non_matchings/ovl0/ovl0_6/func_8001B008.s asm/non_matchings/ovl0/ovl0_6/func_8001B234.s asm/non_matchings/ovl0/ovl0_6/func_0x80040000.s diff --git a/undefined_syms.txt b/undefined_syms.txt index 7493e2e6..d0d7ca30 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -488,7 +488,6 @@ func_80009A44 = 0x80009A44; func_80009978 = 0x80009978; func_8000FE64 = 0x8000FE64; func_8001074C = 0x8001074C; -func_80019C60 = 0x80019C60; D_8004AA90 = 0x8004AA90; D_8004AAD8 = 0x8004AAD8; D_8004AA94 = 0x8004AA94; @@ -516,7 +515,6 @@ func_80010B58 = 0x80010B58; func_8001103C = 0x8001103C; func_80010D28 = 0x80010D28; D_8004AA98 = 0x8004AA98; -func_80019A30 = 0x80019A30; D_8004AB9C = 0x8004AB9C; D_00010004 = 0x00010004; func_80011180 = 0x80011180; @@ -541,14 +539,9 @@ func_80015F78 = 0x80015F78; func_800078F0 = 0x800078F0; func_8001B008 = 0x8001B008; func_8001B28C = 0x8001B28C; -func_8001AFA4 = 0x8001AFA4; -func_8001A13C = 0x8001A13C; -func_8001A488 = 0x8001A488; -func_8001A8EC = 0x8001A8EC; func_8001AD90 = 0x8001AD90; D_8004AB98 = 0x8004AB98; func_8001B4AC = 0x8001B4AC; -guLookAtF = 0x80019EB0; func_80017B6C = 0x80017B6C; func_80017DB0 = 0x80017DB0; func_80017C7C = 0x80017C7C; @@ -570,10 +563,6 @@ vec3_normalize = 0x80018CA0; vec3_mag = 0x80018D3C; func_80018890 = 0x80018890; func_800191F8 = 0x800191F8; -func_8001A1B0 = 0x8001A1B0; -func_8001A504 = 0x8001A504; -func_8001A964 = 0x8001A964; -func_8001AE10 = 0x8001AE10; func_8001B838 = 0x8001B838; func_8001BA04 = 0x8001BA04; func_8001B5E4 = 0x8001B5E4; @@ -997,8 +986,8 @@ func_8009C350_ovl1 = 0x8009C350; func_8009C44C_ovl1 = 0x8009C44C; func_8001B008_ovl1 = 0x8001B008; func_8001B28C_ovl1 = 0x8001B28C; -func_8001AE10_ovl1 = 0x8001AE10; -func_8001A1B0_ovl1 = 0x8001A1B0; +guOrthoF_ovl1 = 0x8001AE10; +guLookAtF_2_ovl1 = 0x8001A1B0; func_80030C10_ovl1 = 0x80030C10; func_8001C2E4_ovl1 = 0x8001C2E4; func_8009E8F4 = 0x8009E8F4;