diff --git a/asm/non_matchings/code/code_800430A0/func_800430A0.s b/asm/non_matchings/code/code_800430A0/func_800430A0.s index a99eeb5560..b109ec07bf 100644 --- a/asm/non_matchings/code/code_800430A0/func_800430A0.s +++ b/asm/non_matchings/code/code_800430A0/func_800430A0.s @@ -53,10 +53,11 @@ glabel func_800430A0 /* ABA2B4 80043114 E7A60020 */ swc1 $f6, 0x20($sp) /* ABA2B8 80043118 C4680084 */ lwc1 $f8, 0x84($v1) /* ABA2BC 8004311C AFA30034 */ sw $v1, 0x34($sp) -/* ABA2C0 80043120 0C029EC1 */ jal func_800A7B04 +/* ABA2C0 80043120 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate + /* ABA2C4 80043124 E7A80024 */ swc1 $f8, 0x24($sp) /* ABA2C8 80043128 27A400D0 */ addiu $a0, $sp, 0xd0 -/* ABA2CC 8004312C 0C029CF8 */ jal func_800A73E0 +/* ABA2CC 8004312C 0C029CF8 */ jal SkinMatrix_Invert /* ABA2D0 80043130 27A50090 */ addiu $a1, $sp, 0x90 /* ABA2D4 80043134 24010002 */ li $at, 2 /* ABA2D8 80043138 10410055 */ beq $v0, $at, .L80043290 @@ -76,17 +77,18 @@ glabel func_800430A0 /* ABA310 80043170 C47000A0 */ lwc1 $f16, 0xa0($v1) /* ABA314 80043174 E7B00020 */ swc1 $f16, 0x20($sp) /* ABA318 80043178 C47200A4 */ lwc1 $f18, 0xa4($v1) -/* ABA31C 8004317C 0C029EC1 */ jal func_800A7B04 +/* ABA31C 8004317C 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate + /* ABA320 80043180 E7B20024 */ swc1 $f18, 0x24($sp) /* ABA324 80043184 8FA50118 */ lw $a1, 0x118($sp) /* ABA328 80043188 27A40090 */ addiu $a0, $sp, 0x90 /* ABA32C 8004318C 27A60038 */ addiu $a2, $sp, 0x38 /* ABA330 80043190 24A50024 */ addiu $a1, $a1, 0x24 -/* ABA334 80043194 0C029BBD */ jal func_800A6EF4 +/* ABA334 80043194 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* ABA338 80043198 AFA50034 */ sw $a1, 0x34($sp) /* ABA33C 8004319C 27A40050 */ addiu $a0, $sp, 0x50 /* ABA340 800431A0 27A50038 */ addiu $a1, $sp, 0x38 -/* ABA344 800431A4 0C029BBD */ jal func_800A6EF4 +/* ABA344 800431A4 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* ABA348 800431A8 27A60044 */ addiu $a2, $sp, 0x44 /* ABA34C 800431AC 27AF0044 */ addiu $t7, $sp, 0x44 /* ABA350 800431B0 8DF80000 */ lw $t8, ($t7) diff --git a/asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s b/asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s deleted file mode 100644 index 72841452a0..0000000000 --- a/asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s +++ /dev/null @@ -1,134 +0,0 @@ -glabel Matrix_MtxFToMtx -/* B489E0 800D1840 3C014780 */ li $at, 0x47800000 # 0.000000 -/* B489E4 800D1844 44810000 */ mtc1 $at, $f0 -/* B489E8 800D1848 C4840000 */ lwc1 $f4, ($a0) -/* B489EC 800D184C 24A30020 */ addiu $v1, $a1, 0x20 -/* B489F0 800D1850 00A01025 */ move $v0, $a1 -/* B489F4 800D1854 46002182 */ mul.s $f6, $f4, $f0 -/* B489F8 800D1858 4600320D */ trunc.w.s $f8, $f6 -/* B489FC 800D185C 44184000 */ mfc1 $t8, $f8 -/* B48A00 800D1860 00000000 */ nop -/* B48A04 800D1864 00187C03 */ sra $t7, $t8, 0x10 -/* B48A08 800D1868 A4AF0000 */ sh $t7, ($a1) -/* B48A0C 800D186C A4B80020 */ sh $t8, 0x20($a1) -/* B48A10 800D1870 C48A0004 */ lwc1 $f10, 4($a0) -/* B48A14 800D1874 46005402 */ mul.s $f16, $f10, $f0 -/* B48A18 800D1878 4600848D */ trunc.w.s $f18, $f16 -/* B48A1C 800D187C 44099000 */ mfc1 $t1, $f18 -/* B48A20 800D1880 00000000 */ nop -/* B48A24 800D1884 00094403 */ sra $t0, $t1, 0x10 -/* B48A28 800D1888 A4A80002 */ sh $t0, 2($a1) -/* B48A2C 800D188C A4A90022 */ sh $t1, 0x22($a1) -/* B48A30 800D1890 C4840008 */ lwc1 $f4, 8($a0) -/* B48A34 800D1894 46002182 */ mul.s $f6, $f4, $f0 -/* B48A38 800D1898 4600320D */ trunc.w.s $f8, $f6 -/* B48A3C 800D189C 440C4000 */ mfc1 $t4, $f8 -/* B48A40 800D18A0 00000000 */ nop -/* B48A44 800D18A4 000C5C03 */ sra $t3, $t4, 0x10 -/* B48A48 800D18A8 A4AB0004 */ sh $t3, 4($a1) -/* B48A4C 800D18AC A4AC0024 */ sh $t4, 0x24($a1) -/* B48A50 800D18B0 C48A000C */ lwc1 $f10, 0xc($a0) -/* B48A54 800D18B4 46005402 */ mul.s $f16, $f10, $f0 -/* B48A58 800D18B8 4600848D */ trunc.w.s $f18, $f16 -/* B48A5C 800D18BC 440F9000 */ mfc1 $t7, $f18 -/* B48A60 800D18C0 00000000 */ nop -/* B48A64 800D18C4 000F7403 */ sra $t6, $t7, 0x10 -/* B48A68 800D18C8 A4AE0006 */ sh $t6, 6($a1) -/* B48A6C 800D18CC A4AF0026 */ sh $t7, 0x26($a1) -/* B48A70 800D18D0 C4840010 */ lwc1 $f4, 0x10($a0) -/* B48A74 800D18D4 46002182 */ mul.s $f6, $f4, $f0 -/* B48A78 800D18D8 4600320D */ trunc.w.s $f8, $f6 -/* B48A7C 800D18DC 44084000 */ mfc1 $t0, $f8 -/* B48A80 800D18E0 00000000 */ nop -/* B48A84 800D18E4 0008CC03 */ sra $t9, $t0, 0x10 -/* B48A88 800D18E8 A4B90008 */ sh $t9, 8($a1) -/* B48A8C 800D18EC A4A80028 */ sh $t0, 0x28($a1) -/* B48A90 800D18F0 C48A0014 */ lwc1 $f10, 0x14($a0) -/* B48A94 800D18F4 46005402 */ mul.s $f16, $f10, $f0 -/* B48A98 800D18F8 4600848D */ trunc.w.s $f18, $f16 -/* B48A9C 800D18FC 440B9000 */ mfc1 $t3, $f18 -/* B48AA0 800D1900 00000000 */ nop -/* B48AA4 800D1904 000B5403 */ sra $t2, $t3, 0x10 -/* B48AA8 800D1908 A4AA000A */ sh $t2, 0xa($a1) -/* B48AAC 800D190C A4AB002A */ sh $t3, 0x2a($a1) -/* B48AB0 800D1910 C4840018 */ lwc1 $f4, 0x18($a0) -/* B48AB4 800D1914 46002182 */ mul.s $f6, $f4, $f0 -/* B48AB8 800D1918 4600320D */ trunc.w.s $f8, $f6 -/* B48ABC 800D191C 440E4000 */ mfc1 $t6, $f8 -/* B48AC0 800D1920 00000000 */ nop -/* B48AC4 800D1924 000E6C03 */ sra $t5, $t6, 0x10 -/* B48AC8 800D1928 A4AD000C */ sh $t5, 0xc($a1) -/* B48ACC 800D192C A4AE002C */ sh $t6, 0x2c($a1) -/* B48AD0 800D1930 C48A001C */ lwc1 $f10, 0x1c($a0) -/* B48AD4 800D1934 46005402 */ mul.s $f16, $f10, $f0 -/* B48AD8 800D1938 4600848D */ trunc.w.s $f18, $f16 -/* B48ADC 800D193C 44199000 */ mfc1 $t9, $f18 -/* B48AE0 800D1940 00000000 */ nop -/* B48AE4 800D1944 0019C403 */ sra $t8, $t9, 0x10 -/* B48AE8 800D1948 A4B8000E */ sh $t8, 0xe($a1) -/* B48AEC 800D194C A4B9002E */ sh $t9, 0x2e($a1) -/* B48AF0 800D1950 C4840020 */ lwc1 $f4, 0x20($a0) -/* B48AF4 800D1954 46002182 */ mul.s $f6, $f4, $f0 -/* B48AF8 800D1958 4600320D */ trunc.w.s $f8, $f6 -/* B48AFC 800D195C 440A4000 */ mfc1 $t2, $f8 -/* B48B00 800D1960 00000000 */ nop -/* B48B04 800D1964 000A4C03 */ sra $t1, $t2, 0x10 -/* B48B08 800D1968 A4A90010 */ sh $t1, 0x10($a1) -/* B48B0C 800D196C A4AA0030 */ sh $t2, 0x30($a1) -/* B48B10 800D1970 C48A0024 */ lwc1 $f10, 0x24($a0) -/* B48B14 800D1974 46005402 */ mul.s $f16, $f10, $f0 -/* B48B18 800D1978 4600848D */ trunc.w.s $f18, $f16 -/* B48B1C 800D197C 440D9000 */ mfc1 $t5, $f18 -/* B48B20 800D1980 00000000 */ nop -/* B48B24 800D1984 000D6403 */ sra $t4, $t5, 0x10 -/* B48B28 800D1988 A4AC0012 */ sh $t4, 0x12($a1) -/* B48B2C 800D198C A46D0012 */ sh $t5, 0x12($v1) -/* B48B30 800D1990 C4840028 */ lwc1 $f4, 0x28($a0) -/* B48B34 800D1994 46002182 */ mul.s $f6, $f4, $f0 -/* B48B38 800D1998 4600320D */ trunc.w.s $f8, $f6 -/* B48B3C 800D199C 44184000 */ mfc1 $t8, $f8 -/* B48B40 800D19A0 00000000 */ nop -/* B48B44 800D19A4 00187C03 */ sra $t7, $t8, 0x10 -/* B48B48 800D19A8 A4AF0014 */ sh $t7, 0x14($a1) -/* B48B4C 800D19AC A4780014 */ sh $t8, 0x14($v1) -/* B48B50 800D19B0 C48A002C */ lwc1 $f10, 0x2c($a0) -/* B48B54 800D19B4 46005402 */ mul.s $f16, $f10, $f0 -/* B48B58 800D19B8 4600848D */ trunc.w.s $f18, $f16 -/* B48B5C 800D19BC 44099000 */ mfc1 $t1, $f18 -/* B48B60 800D19C0 00000000 */ nop -/* B48B64 800D19C4 00094403 */ sra $t0, $t1, 0x10 -/* B48B68 800D19C8 A4A80016 */ sh $t0, 0x16($a1) -/* B48B6C 800D19CC A4690016 */ sh $t1, 0x16($v1) -/* B48B70 800D19D0 C4840030 */ lwc1 $f4, 0x30($a0) -/* B48B74 800D19D4 46002182 */ mul.s $f6, $f4, $f0 -/* B48B78 800D19D8 4600320D */ trunc.w.s $f8, $f6 -/* B48B7C 800D19DC 440C4000 */ mfc1 $t4, $f8 -/* B48B80 800D19E0 00000000 */ nop -/* B48B84 800D19E4 000C5C03 */ sra $t3, $t4, 0x10 -/* B48B88 800D19E8 A4AB0018 */ sh $t3, 0x18($a1) -/* B48B8C 800D19EC A46C0018 */ sh $t4, 0x18($v1) -/* B48B90 800D19F0 C48A0034 */ lwc1 $f10, 0x34($a0) -/* B48B94 800D19F4 46005402 */ mul.s $f16, $f10, $f0 -/* B48B98 800D19F8 4600848D */ trunc.w.s $f18, $f16 -/* B48B9C 800D19FC 440F9000 */ mfc1 $t7, $f18 -/* B48BA0 800D1A00 00000000 */ nop -/* B48BA4 800D1A04 000F7403 */ sra $t6, $t7, 0x10 -/* B48BA8 800D1A08 A4AE001A */ sh $t6, 0x1a($a1) -/* B48BAC 800D1A0C A46F001A */ sh $t7, 0x1a($v1) -/* B48BB0 800D1A10 C4840038 */ lwc1 $f4, 0x38($a0) -/* B48BB4 800D1A14 46002182 */ mul.s $f6, $f4, $f0 -/* B48BB8 800D1A18 4600320D */ trunc.w.s $f8, $f6 -/* B48BBC 800D1A1C 44084000 */ mfc1 $t0, $f8 -/* B48BC0 800D1A20 00000000 */ nop -/* B48BC4 800D1A24 0008CC03 */ sra $t9, $t0, 0x10 -/* B48BC8 800D1A28 A4B9001C */ sh $t9, 0x1c($a1) -/* B48BCC 800D1A2C A468001C */ sh $t0, 0x1c($v1) -/* B48BD0 800D1A30 C48A003C */ lwc1 $f10, 0x3c($a0) -/* B48BD4 800D1A34 46005402 */ mul.s $f16, $f10, $f0 -/* B48BD8 800D1A38 4600848D */ trunc.w.s $f18, $f16 -/* B48BDC 800D1A3C 440B9000 */ mfc1 $t3, $f18 -/* B48BE0 800D1A40 00000000 */ nop -/* B48BE4 800D1A44 000B5403 */ sra $t2, $t3, 0x10 -/* B48BE8 800D1A48 A4AA001E */ sh $t2, 0x1e($a1) -/* B48BEC 800D1A4C 03E00008 */ jr $ra -/* B48BF0 800D1A50 A46B001E */ sh $t3, 0x1e($v1) diff --git a/asm/non_matchings/code/z_bgcheck/func_8003EE80.s b/asm/non_matchings/code/z_bgcheck/func_8003EE80.s index 7074718aa0..aad6ce8a4d 100644 --- a/asm/non_matchings/code/z_bgcheck/func_8003EE80.s +++ b/asm/non_matchings/code/z_bgcheck/func_8003EE80.s @@ -223,7 +223,8 @@ glabel func_8003EE80 /* AB6360 8003F1C0 C6840050 */ lwc1 $f4, 0x50($s4) /* AB6364 8003F1C4 E7A40020 */ swc1 $f4, 0x20($sp) /* AB6368 8003F1C8 C6860054 */ lwc1 $f6, 0x54($s4) -/* AB636C 8003F1CC 0C029EC1 */ jal func_800A7B04 +/* AB636C 8003F1CC 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate + /* AB6370 8003F1D0 E7A60024 */ swc1 $f6, 0x24($sp) /* AB6374 8003F1D4 97CB000C */ lhu $t3, 0xc($fp) /* AB6378 8003F1D8 3C013F80 */ li $at, 0x3F800000 # 0.000000 @@ -255,7 +256,7 @@ glabel func_8003EE80 /* AB63D8 8003F238 03102821 */ addu $a1, $t8, $s0 /* AB63DC 8003F23C 02A02025 */ move $a0, $s5 /* AB63E0 8003F240 02202825 */ move $a1, $s1 -/* AB63E4 8003F244 0C029BBD */ jal func_800A6EF4 +/* AB63E4 8003F244 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* AB63E8 8003F248 02403025 */ move $a2, $s2 /* AB63EC 8003F24C 8FB90174 */ lw $t9, 0x174($sp) /* AB63F0 8003F250 8EEF13F4 */ lw $t7, 0x13f4($s7) diff --git a/asm/non_matchings/code/z_bgcheck/func_8003FDDC.s b/asm/non_matchings/code/z_bgcheck/func_8003FDDC.s index e87d04212e..540257f7b4 100644 --- a/asm/non_matchings/code/z_bgcheck/func_8003FDDC.s +++ b/asm/non_matchings/code/z_bgcheck/func_8003FDDC.s @@ -194,7 +194,8 @@ glabel func_8003FDDC /* AB7258 800400B8 C4460018 */ lwc1 $f6, 0x18($v0) /* AB725C 800400BC E7A60020 */ swc1 $f6, 0x20($sp) /* AB7260 800400C0 C448001C */ lwc1 $f8, 0x1c($v0) -/* AB7264 800400C4 0C029EC1 */ jal func_800A7B04 +/* AB7264 800400C4 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate + /* AB7268 800400C8 E7A80024 */ swc1 $f8, 0x24($sp) /* AB726C 800400CC 8E0D0018 */ lw $t5, 0x18($s0) /* AB7270 800400D0 8E0C0028 */ lw $t4, 0x28($s0) @@ -223,7 +224,7 @@ glabel func_8003FDDC /* AB72C8 80040128 01822821 */ addu $a1, $t4, $v0 /* AB72CC 8004012C 27A4008C */ addiu $a0, $sp, 0x8c /* AB72D0 80040130 02602825 */ move $a1, $s3 -/* AB72D4 80040134 0C029BBD */ jal func_800A6EF4 +/* AB72D4 80040134 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* AB72D8 80040138 02203025 */ move $a2, $s1 /* AB72DC 8004013C 2631000C */ addiu $s1, $s1, 0xc /* AB72E0 80040140 27AF0104 */ addiu $t7, $sp, 0x104 diff --git a/asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s b/asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s index d9b9e990c6..10fabebb4e 100644 --- a/asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s +++ b/asm/non_matchings/code/z_eff_blure/EffectBlure_DrawSmooth.s @@ -93,7 +93,7 @@ glabel EffectBlure_DrawSmooth /* A991CC 8002202C 46804220 */ cvt.s.w $f8, $f8 /* A991D0 80022030 44063000 */ mfc1 $a2, $f6 /* A991D4 80022034 44074000 */ mfc1 $a3, $f8 -/* A991D8 80022038 0C029E89 */ jal func_800A7A24 +/* A991D8 80022038 0C029E89 */ jal SkinMatrix_SetTranslate /* A991DC 8002203C 00000000 */ nop /* A991E0 80022040 3C018013 */ lui $at, %hi(D_80135448) /* A991E4 80022044 C4205448 */ lwc1 $f0, %lo(D_80135448)($at) @@ -102,14 +102,14 @@ glabel EffectBlure_DrawSmooth /* A991F0 80022050 44050000 */ mfc1 $a1, $f0 /* A991F4 80022054 44060000 */ mfc1 $a2, $f0 /* A991F8 80022058 44070000 */ mfc1 $a3, $f0 -/* A991FC 8002205C 0C029DA9 */ jal func_800A76A4 +/* A991FC 8002205C 0C029DA9 */ jal SkinMatrix_SetScale /* A99200 80022060 00000000 */ nop /* A99204 80022064 02002025 */ move $a0, $s0 /* A99208 80022068 02202825 */ move $a1, $s1 -/* A9920C 8002206C 0C029BE8 */ jal func_800A6FA0 +/* A9920C 8002206C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* A99210 80022070 27A6005C */ addiu $a2, $sp, 0x5c /* A99214 80022074 02A02025 */ move $a0, $s5 -/* A99218 80022078 0C029F9C */ jal func_800A7E70 +/* A99218 80022078 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* A9921C 8002207C 27A5005C */ addiu $a1, $sp, 0x5c /* A99220 80022080 50400056 */ beql $v0, $zero, .L800221DC /* A99224 80022084 8FBF002C */ lw $ra, 0x2c($sp) diff --git a/asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s b/asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s index 1f819cafba..9d43873951 100644 --- a/asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s +++ b/asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s @@ -1115,7 +1115,7 @@ glabel EffectSpark_Draw .L80025FE4: /* A9D184 80025FE4 8E250018 */ lw $a1, 0x18($s1) /* A9D188 80025FE8 8E26001C */ lw $a2, 0x1c($s1) -/* A9D18C 80025FEC 0C029E89 */ jal func_800A7A24 +/* A9D18C 80025FEC 0C029E89 */ jal SkinMatrix_SetTranslate /* A9D190 80025FF0 8E270020 */ lw $a3, 0x20($s1) /* A9D194 80025FF4 0C03F66B */ jal Math_Rand_ZeroOne /* A9D198 80025FF8 00000000 */ nop @@ -1132,15 +1132,15 @@ glabel EffectSpark_Draw /* A9D1C4 80026024 46085082 */ mul.s $f2, $f10, $f8 /* A9D1C8 80026028 44051000 */ mfc1 $a1, $f2 /* A9D1CC 8002602C 44061000 */ mfc1 $a2, $f2 -/* A9D1D0 80026030 0C029DA9 */ jal func_800A76A4 +/* A9D1D0 80026030 0C029DA9 */ jal SkinMatrix_SetScale /* A9D1D4 80026034 00000000 */ nop /* A9D1D8 80026038 27A400EC */ addiu $a0, $sp, 0xec /* A9D1DC 8002603C 8FA5004C */ lw $a1, 0x4c($sp) -/* A9D1E0 80026040 0C029BE8 */ jal func_800A6FA0 +/* A9D1E0 80026040 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* A9D1E4 80026044 27A6006C */ addiu $a2, $sp, 0x6c /* A9D1E8 80026048 27A4006C */ addiu $a0, $sp, 0x6c /* A9D1EC 8002604C 27A500AC */ addiu $a1, $sp, 0xac -/* A9D1F0 80026050 0C029BE8 */ jal func_800A6FA0 +/* A9D1F0 80026050 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* A9D1F4 80026054 27A6012C */ addiu $a2, $sp, 0x12c /* A9D1F8 80026058 A6130000 */ sh $s3, ($s0) /* A9D1FC 8002605C A6130002 */ sh $s3, 2($s0) @@ -1200,7 +1200,7 @@ glabel EffectSpark_Draw /* A9D2D4 80026134 A614FFF8 */ sh $s4, -8($s0) /* A9D2D8 80026138 A614FFFA */ sh $s4, -6($s0) /* A9D2DC 8002613C A600FFF6 */ sh $zero, -0xa($s0) -/* A9D2E0 80026140 0C029F9C */ jal func_800A7E70 +/* A9D2E0 80026140 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* A9D2E4 80026144 A208FFFF */ sb $t0, -1($s0) /* A9D2E8 80026148 10400027 */ beqz $v0, .L800261E8 /* A9D2EC 8002614C 00124980 */ sll $t1, $s2, 6 diff --git a/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s b/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s index d28ada8e06..2d613883c5 100644 --- a/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s +++ b/asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80027F80.s @@ -46,25 +46,25 @@ glabel func_80027F80 /* A9F198 80027FF8 8E270008 */ lw $a3, 8($s1) /* A9F19C 80027FFC 27A40120 */ addiu $a0, $sp, 0x120 /* A9F1A0 80028000 46083002 */ mul.s $f0, $f6, $f8 -/* A9F1A4 80028004 0C029E89 */ jal func_800A7A24 +/* A9F1A4 80028004 0C029E89 */ jal SkinMatrix_SetTranslate /* A9F1A8 80028008 E7A00160 */ swc1 $f0, 0x160($sp) /* A9F1AC 8002800C C7A00160 */ lwc1 $f0, 0x160($sp) /* A9F1B0 80028010 27A400E0 */ addiu $a0, $sp, 0xe0 /* A9F1B4 80028014 44050000 */ mfc1 $a1, $f0 /* A9F1B8 80028018 44060000 */ mfc1 $a2, $f0 /* A9F1BC 8002801C 44070000 */ mfc1 $a3, $f0 -/* A9F1C0 80028020 0C029DA9 */ jal func_800A76A4 +/* A9F1C0 80028020 0C029DA9 */ jal SkinMatrix_SetScale /* A9F1C4 80028024 00000000 */ nop /* A9F1C8 80028028 8FA50168 */ lw $a1, 0x168($sp) /* A9F1CC 8002802C 3C010001 */ lui $at, (0x00011DA0 >> 16) # lui $at, 1 /* A9F1D0 80028030 34211DA0 */ ori $at, (0x00011DA0 & 0xFFFF) # ori $at, $at, 0x1da0 /* A9F1D4 80028034 27A40120 */ addiu $a0, $sp, 0x120 /* A9F1D8 80028038 27A60060 */ addiu $a2, $sp, 0x60 -/* A9F1DC 8002803C 0C029BE8 */ jal func_800A6FA0 +/* A9F1DC 8002803C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* A9F1E0 80028040 00A12821 */ addu $a1, $a1, $at /* A9F1E4 80028044 27A40060 */ addiu $a0, $sp, 0x60 /* A9F1E8 80028048 27A500E0 */ addiu $a1, $sp, 0xe0 -/* A9F1EC 8002804C 0C029BE8 */ jal func_800A6FA0 +/* A9F1EC 8002804C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* A9F1F0 80028050 27A600A0 */ addiu $a2, $sp, 0xa0 /* A9F1F4 80028054 8FA40054 */ lw $a0, 0x54($sp) /* A9F1F8 80028058 3C018000 */ lui $at, 0x8000 @@ -79,7 +79,7 @@ glabel func_80027F80 /* A9F21C 8002807C AE0B02D0 */ sw $t3, 0x2d0($s0) /* A9F220 80028080 AC640004 */ sw $a0, 4($v1) /* A9F224 80028084 02002025 */ move $a0, $s0 -/* A9F228 80028088 0C029F9C */ jal func_800A7E70 +/* A9F228 80028088 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* A9F22C 8002808C AC6C0000 */ sw $t4, ($v1) /* A9F230 80028090 1040004A */ beqz $v0, .L800281BC /* A9F234 80028094 3C0FDA38 */ lui $t7, (0xDA380003 >> 16) # lui $t7, 0xda38 diff --git a/asm/non_matchings/code/z_player_lib/func_80090AFC.s b/asm/non_matchings/code/z_player_lib/func_80090AFC.s index 8d7f747df2..85a0be9cc9 100644 --- a/asm/non_matchings/code/z_player_lib/func_80090AFC.s +++ b/asm/non_matchings/code/z_player_lib/func_80090AFC.s @@ -77,7 +77,7 @@ glabel func_80090AFC /* B07D74 80090BD4 27A50074 */ addiu $a1, $sp, 0x74 /* B07D78 80090BD8 27A60068 */ addiu $a2, $sp, 0x68 /* B07D7C 80090BDC 27A70064 */ addiu $a3, $sp, 0x64 -/* B07D80 80090BE0 0C029B84 */ jal func_800A6E10 +/* B07D80 80090BE0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* B07D84 80090BE4 00812021 */ addu $a0, $a0, $at /* B07D88 80090BE8 3C014348 */ li $at, 0x43480000 # 0.000000 /* B07D8C 80090BEC 44811000 */ mtc1 $at, $f2 diff --git a/asm/non_matchings/code/z_room/func_80095D04.s b/asm/non_matchings/code/z_room/func_80095D04.s index be9916ef29..612a6240a5 100644 --- a/asm/non_matchings/code/z_room/func_80095D04.s +++ b/asm/non_matchings/code/z_room/func_80095D04.s @@ -190,7 +190,7 @@ glabel func_80095D04 /* B0D13C 80095F9C AFA9006C */ sw $t1, 0x6c($sp) /* B0D140 80095FA0 AFA8009C */ sw $t0, 0x9c($sp) /* B0D144 80095FA4 AFA300A4 */ sw $v1, 0xa4($sp) -/* B0D148 80095FA8 0C029B84 */ jal func_800A6E10 +/* B0D148 80095FA8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* B0D14C 80095FAC E7B20098 */ swc1 $f18, 0x98($sp) /* B0D150 80095FB0 860E0006 */ lh $t6, 6($s0) /* B0D154 80095FB4 C7A8008C */ lwc1 $f8, 0x8c($sp) diff --git a/asm/non_matchings/code/z_skin/func_800A57C0.s b/asm/non_matchings/code/z_skin/func_800A57C0.s index 54488e7ee6..b802b52550 100644 --- a/asm/non_matchings/code/z_skin/func_800A57C0.s +++ b/asm/non_matchings/code/z_skin/func_800A57C0.s @@ -71,7 +71,7 @@ glabel func_800A57C0 /* B1CA70 800A58D0 44998000 */ mtc1 $t9, $f16 /* B1CA74 800A58D4 00000000 */ nop /* B1CA78 800A58D8 468084A0 */ cvt.s.w $f18, $f16 -/* B1CA7C 800A58DC 0C029BBD */ jal func_800A6EF4 +/* B1CA7C 800A58DC 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* B1CA80 800A58E0 E7B2006C */ swc1 $f18, 0x6c($sp) /* B1CA84 800A58E4 C7A40070 */ lwc1 $f4, 0x70($sp) /* B1CA88 800A58E8 2631000A */ addiu $s1, $s1, 0xa diff --git a/asm/non_matchings/code/z_skin/func_800A598C.s b/asm/non_matchings/code/z_skin/func_800A598C.s index 426db7cc80..80daade235 100644 --- a/asm/non_matchings/code/z_skin/func_800A598C.s +++ b/asm/non_matchings/code/z_skin/func_800A598C.s @@ -155,7 +155,7 @@ glabel func_800A598C /* B1CD54 800A5BB4 E7B200B4 */ swc1 $f18, 0xb4($sp) /* B1CD58 800A5BB8 92790000 */ lbu $t9, ($s3) /* B1CD5C 800A5BBC 00197180 */ sll $t6, $t9, 6 -/* B1CD60 800A5BC0 0C029BBD */ jal func_800A6EF4 +/* B1CD60 800A5BC0 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* B1CD64 800A5BC4 024E2021 */ addu $a0, $s2, $t6 /* B1CD68 800A5BC8 1000005B */ b .L800A5D38 /* B1CD6C 800A5BCC 96CE0004 */ lhu $t6, 4($s6) @@ -188,7 +188,7 @@ glabel func_800A598C /* B1CDD4 800A5C34 E7B200A8 */ swc1 $f18, 0xa8($sp) /* B1CDD8 800A5C38 92190000 */ lbu $t9, ($s0) /* B1CDDC 800A5C3C 00197180 */ sll $t6, $t9, 6 -/* B1CDE0 800A5C40 0C029BBD */ jal func_800A6EF4 +/* B1CDE0 800A5C40 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* B1CDE4 800A5C44 024E2021 */ addu $a0, $s2, $t6 /* B1CDE8 800A5C48 1000003B */ b .L800A5D38 /* B1CDEC 800A5C4C 96CE0004 */ lhu $t6, 4($s6) @@ -231,7 +231,7 @@ glabel func_800A598C /* B1CE74 800A5CD4 E7A60090 */ swc1 $f6, 0x90($sp) /* B1CE78 800A5CD8 920F0000 */ lbu $t7, ($s0) /* B1CE7C 800A5CDC 000FC980 */ sll $t9, $t7, 6 -/* B1CE80 800A5CE0 0C029BBD */ jal func_800A6EF4 +/* B1CE80 800A5CE0 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* B1CE84 800A5CE4 02592021 */ addu $a0, $s2, $t9 /* B1CE88 800A5CE8 C7A000D0 */ lwc1 $f0, 0xd0($sp) /* B1CE8C 800A5CEC C7A200D4 */ lwc1 $f2, 0xd4($sp) diff --git a/asm/non_matchings/code/z_skin/func_800A5F60.s b/asm/non_matchings/code/z_skin/func_800A5F60.s index 91d3c6f58d..a3d12efc09 100644 --- a/asm/non_matchings/code/z_skin/func_800A5F60.s +++ b/asm/non_matchings/code/z_skin/func_800A5F60.s @@ -63,7 +63,7 @@ glabel func_800A5F60 /* B1D1C8 800A6028 252900C0 */ addiu $t1, %lo(D_801600C0) # addiu $t1, $t1, 0xc0 /* B1D1CC 800A602C 0007C180 */ sll $t8, $a3, 6 /* B1D1D0 800A6030 03092821 */ addu $a1, $t8, $t1 -/* B1D1D4 800A6034 0C029F9C */ jal func_800A7E70 +/* B1D1D4 800A6034 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* B1D1D8 800A6038 AFA80054 */ sw $t0, 0x54($sp) /* B1D1DC 800A603C 1040001B */ beqz $v0, .L800A60AC /* B1D1E0 800A6040 8FA80054 */ lw $t0, 0x54($sp) diff --git a/asm/non_matchings/code/z_skin/func_800A60D8.s b/asm/non_matchings/code/z_skin/func_800A60D8.s index 434dd796fb..de42840719 100644 --- a/asm/non_matchings/code/z_skin/func_800A60D8.s +++ b/asm/non_matchings/code/z_skin/func_800A60D8.s @@ -67,7 +67,7 @@ glabel func_800A60D8 /* B1D350 800A61B0 AC900000 */ sw $s0, ($a0) /* B1D354 800A61B4 AC8D0004 */ sw $t5, 4($a0) /* B1D358 800A61B8 02A02025 */ move $a0, $s5 -/* B1D35C 800A61BC 0C029F9C */ jal func_800A7E70 +/* B1D35C 800A61BC 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* B1D360 800A61C0 26450004 */ addiu $a1, $s2, 4 /* B1D364 800A61C4 10400048 */ beqz $v0, .L800A62E8 /* B1D368 800A61C8 00000000 */ nop diff --git a/asm/non_matchings/code/z_skin/func_800A6408.s b/asm/non_matchings/code/z_skin/func_800A6408.s index 1985ccb220..dadfeaeafc 100644 --- a/asm/non_matchings/code/z_skin/func_800A6408.s +++ b/asm/non_matchings/code/z_skin/func_800A6408.s @@ -10,11 +10,11 @@ glabel func_800A6408 /* B1D5C8 800A6428 AFA70064 */ sw $a3, 0x64($sp) /* B1D5CC 800A642C 01F82821 */ addu $a1, $t7, $t8 /* B1D5D0 800A6430 27A60018 */ addiu $a2, $sp, 0x18 -/* B1D5D4 800A6434 0C029BE8 */ jal func_800A6FA0 +/* B1D5D4 800A6434 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* B1D5D8 800A6438 24840004 */ addiu $a0, $a0, 4 /* B1D5DC 800A643C 27A40018 */ addiu $a0, $sp, 0x18 /* B1D5E0 800A6440 8FA50060 */ lw $a1, 0x60($sp) -/* B1D5E4 800A6444 0C029BBD */ jal func_800A6EF4 +/* B1D5E4 800A6444 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* B1D5E8 800A6448 8FA60064 */ lw $a2, 0x64($sp) /* B1D5EC 800A644C 8FBF0014 */ lw $ra, 0x14($sp) /* B1D5F0 800A6450 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/code/z_skin_awb/func_800A698C.s b/asm/non_matchings/code/z_skin_awb/func_800A698C.s index e5ff4e3c06..3499326f84 100644 --- a/asm/non_matchings/code/z_skin_awb/func_800A698C.s +++ b/asm/non_matchings/code/z_skin_awb/func_800A698C.s @@ -25,7 +25,7 @@ glabel func_800A698C /* B1DB88 800A69E8 240100FF */ li $at, 255 /* B1DB8C 800A69EC 14610005 */ bne $v1, $at, .L800A6A04 /* B1DB90 800A69F0 AFAF0070 */ sw $t7, 0x70($sp) -/* B1DB94 800A69F4 0C029CBF */ jal func_800A72FC +/* B1DB94 800A69F4 0C029CBF */ jal SkinMatrix_GetClear /* B1DB98 800A69F8 27A4006C */ addiu $a0, $sp, 0x6c /* B1DB9C 800A69FC 10000006 */ b .L800A6A18 /* B1DBA0 800A6A00 93A9008B */ lbu $t1, 0x8b($sp) @@ -41,10 +41,10 @@ glabel func_800A698C /* B1DBC0 800A6A20 00095180 */ sll $t2, $t1, 6 /* B1DBC4 800A6A24 014B2821 */ addu $a1, $t2, $t3 /* B1DBC8 800A6A28 AFA50024 */ sw $a1, 0x24($sp) -/* B1DBCC 800A6A2C 0C029BE8 */ jal func_800A6FA0 +/* B1DBCC 800A6A2C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* B1DBD0 800A6A30 27A60028 */ addiu $a2, $sp, 0x28 /* B1DBD4 800A6A34 8FA50024 */ lw $a1, 0x24($sp) -/* B1DBD8 800A6A38 0C029CD7 */ jal func_800A735C +/* B1DBD8 800A6A38 0C029CD7 */ jal SkinMatrix_MtxFCopy /* B1DBDC 800A6A3C 27A40028 */ addiu $a0, $sp, 0x28 /* B1DBE0 800A6A40 8FA80070 */ lw $t0, 0x70($sp) /* B1DBE4 800A6A44 240100FF */ li $at, 255 diff --git a/asm/non_matchings/code/z_skin_awb/func_800A6AC4.s b/asm/non_matchings/code/z_skin_awb/func_800A6AC4.s index 0cde553394..8248b87a54 100644 --- a/asm/non_matchings/code/z_skin_awb/func_800A6AC4.s +++ b/asm/non_matchings/code/z_skin_awb/func_800A6AC4.s @@ -74,7 +74,7 @@ glabel func_800A6AC4 /* B1DD80 800A6BE0 00063403 */ sra $a2, $a2, 0x10 /* B1DD84 800A6BE4 00073C00 */ sll $a3, $a3, 0x10 /* B1DD88 800A6BE8 00073C03 */ sra $a3, $a3, 0x10 -/* B1DD8C 800A6BEC 0C029EE1 */ jal func_800A7B84 +/* B1DD8C 800A6BEC 0C029EE1 */ jal SkinMatrix_SetRotateRPYTranslate /* B1DD90 800A6BF0 E7AC0018 */ swc1 $f12, 0x18($sp) /* B1DD94 800A6BF4 10000014 */ b .L800A6C48 /* B1DD98 800A6BF8 8E980000 */ lw $t8, ($s4) @@ -95,7 +95,7 @@ glabel func_800A6AC4 /* B1DDD0 800A6C30 00073C00 */ sll $a3, $a3, 0x10 /* B1DDD4 800A6C34 00073C03 */ sra $a3, $a3, 0x10 /* B1DDD8 800A6C38 E7A00014 */ swc1 $f0, 0x14($sp) -/* B1DDDC 800A6C3C 0C029EE1 */ jal func_800A7B84 +/* B1DDDC 800A6C3C 0C029EE1 */ jal SkinMatrix_SetRotateRPYTranslate /* B1DDE0 800A6C40 E7A00018 */ swc1 $f0, 0x18($sp) /* B1DDE4 800A6C44 8E980000 */ lw $t8, ($s4) .L800A6C48: @@ -152,7 +152,7 @@ glabel func_800A6AC4 /* B1DEAC 800A6D0C 00073C00 */ sll $a3, $a3, 0x10 /* B1DEB0 800A6D10 00073C03 */ sra $a3, $a3, 0x10 /* B1DEB4 800A6D14 00063400 */ sll $a2, $a2, 0x10 -/* B1DEB8 800A6D18 0C029EE1 */ jal func_800A7B84 +/* B1DEB8 800A6D18 0C029EE1 */ jal SkinMatrix_SetRotateRPYTranslate /* B1DEBC 800A6D1C 00063403 */ sra $a2, $a2, 0x10 /* B1DEC0 800A6D20 8E8E0000 */ lw $t6, ($s4) /* B1DEC4 800A6D24 26310001 */ addiu $s1, $s1, 1 @@ -182,7 +182,8 @@ glabel func_800A6AC4 /* B1DF20 800A6D80 46082280 */ add.s $f10, $f4, $f8 /* B1DF24 800A6D84 E7AA0020 */ swc1 $f10, 0x20($sp) /* B1DF28 800A6D88 C6A6002C */ lwc1 $f6, 0x2c($s5) -/* B1DF2C 800A6D8C 0C029EC1 */ jal func_800A7B04 +/* B1DF2C 800A6D8C 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate + /* B1DF30 800A6D90 E7A60024 */ swc1 $f6, 0x24($sp) /* B1DF34 800A6D94 8E8A0000 */ lw $t2, ($s4) /* B1DF38 800A6D98 02802025 */ move $a0, $s4 diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A73E0.s b/asm/non_matchings/code/z_skin_matrix/SkinMatrix_Invert.s similarity index 98% rename from asm/non_matchings/code/z_skin_matrix/func_800A73E0.s rename to asm/non_matchings/code/z_skin_matrix/SkinMatrix_Invert.s index 89c49f6f2d..a72522af6d 100644 --- a/asm/non_matchings/code/z_skin_matrix/func_800A73E0.s +++ b/asm/non_matchings/code/z_skin_matrix/SkinMatrix_Invert.s @@ -17,7 +17,7 @@ glabel D_80140844 .float 0.0005 .text -glabel func_800A73E0 +glabel SkinMatrix_Invert /* B1E580 800A73E0 27BDFF48 */ addiu $sp, $sp, -0xb8 /* B1E584 800A73E4 AFB40028 */ sw $s4, 0x28($sp) /* B1E588 800A73E8 AFB30024 */ sw $s3, 0x24($sp) @@ -27,9 +27,9 @@ glabel func_800A73E0 /* B1E598 800A73F8 AFB20020 */ sw $s2, 0x20($sp) /* B1E59C 800A73FC AFB1001C */ sw $s1, 0x1c($sp) /* B1E5A0 800A7400 AFB00018 */ sw $s0, 0x18($sp) -/* B1E5A4 800A7404 0C029CD7 */ jal func_800A735C +/* B1E5A4 800A7404 0C029CD7 */ jal SkinMatrix_MtxFCopy /* B1E5A8 800A7408 02802825 */ move $a1, $s4 -/* B1E5AC 800A740C 0C029CC3 */ jal func_800A730C +/* B1E5AC 800A740C 0C029CC3 */ jal SkinMatrix_Clear /* B1E5B0 800A7410 02602025 */ move $a0, $s3 /* B1E5B4 800A7414 3C018014 */ lui $at, %hi(D_80140844) /* B1E5B8 800A7418 C42C0844 */ lwc1 $f12, %lo(D_80140844)($at) diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A6E10.s b/asm/non_matchings/code/z_skin_matrix/func_800A6E10.s deleted file mode 100644 index 5a8e278bce..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A6E10.s +++ /dev/null @@ -1,59 +0,0 @@ -glabel func_800A6E10 -/* B1DFB0 800A6E10 C4A40000 */ lwc1 $f4, ($a1) -/* B1DFB4 800A6E14 C4860000 */ lwc1 $f6, ($a0) -/* B1DFB8 800A6E18 C4AA0004 */ lwc1 $f10, 4($a1) -/* B1DFBC 800A6E1C C4900010 */ lwc1 $f16, 0x10($a0) -/* B1DFC0 800A6E20 46062202 */ mul.s $f8, $f4, $f6 -/* B1DFC4 800A6E24 C4A60008 */ lwc1 $f6, 8($a1) -/* B1DFC8 800A6E28 46105482 */ mul.s $f18, $f10, $f16 -/* B1DFCC 800A6E2C C48A0020 */ lwc1 $f10, 0x20($a0) -/* B1DFD0 800A6E30 460A3402 */ mul.s $f16, $f6, $f10 -/* B1DFD4 800A6E34 46124100 */ add.s $f4, $f8, $f18 -/* B1DFD8 800A6E38 C4920030 */ lwc1 $f18, 0x30($a0) -/* B1DFDC 800A6E3C 46102200 */ add.s $f8, $f4, $f16 -/* B1DFE0 800A6E40 46089180 */ add.s $f6, $f18, $f8 -/* B1DFE4 800A6E44 E4C60000 */ swc1 $f6, ($a2) -/* B1DFE8 800A6E48 C4AA0000 */ lwc1 $f10, ($a1) -/* B1DFEC 800A6E4C C4840004 */ lwc1 $f4, 4($a0) -/* B1DFF0 800A6E50 C4B20004 */ lwc1 $f18, 4($a1) -/* B1DFF4 800A6E54 C4880014 */ lwc1 $f8, 0x14($a0) -/* B1DFF8 800A6E58 46045402 */ mul.s $f16, $f10, $f4 -/* B1DFFC 800A6E5C C4A40008 */ lwc1 $f4, 8($a1) -/* B1E000 800A6E60 46089182 */ mul.s $f6, $f18, $f8 -/* B1E004 800A6E64 C4920024 */ lwc1 $f18, 0x24($a0) -/* B1E008 800A6E68 46122202 */ mul.s $f8, $f4, $f18 -/* B1E00C 800A6E6C 46068280 */ add.s $f10, $f16, $f6 -/* B1E010 800A6E70 C4860034 */ lwc1 $f6, 0x34($a0) -/* B1E014 800A6E74 46085400 */ add.s $f16, $f10, $f8 -/* B1E018 800A6E78 46103100 */ add.s $f4, $f6, $f16 -/* B1E01C 800A6E7C E4C40004 */ swc1 $f4, 4($a2) -/* B1E020 800A6E80 C4B20000 */ lwc1 $f18, ($a1) -/* B1E024 800A6E84 C48A0008 */ lwc1 $f10, 8($a0) -/* B1E028 800A6E88 C4A60004 */ lwc1 $f6, 4($a1) -/* B1E02C 800A6E8C C4900018 */ lwc1 $f16, 0x18($a0) -/* B1E030 800A6E90 460A9202 */ mul.s $f8, $f18, $f10 -/* B1E034 800A6E94 C4AA0008 */ lwc1 $f10, 8($a1) -/* B1E038 800A6E98 46103102 */ mul.s $f4, $f6, $f16 -/* B1E03C 800A6E9C C4860028 */ lwc1 $f6, 0x28($a0) -/* B1E040 800A6EA0 46065402 */ mul.s $f16, $f10, $f6 -/* B1E044 800A6EA4 46044480 */ add.s $f18, $f8, $f4 -/* B1E048 800A6EA8 C4840038 */ lwc1 $f4, 0x38($a0) -/* B1E04C 800A6EAC 46109200 */ add.s $f8, $f18, $f16 -/* B1E050 800A6EB0 46082280 */ add.s $f10, $f4, $f8 -/* B1E054 800A6EB4 E4CA0008 */ swc1 $f10, 8($a2) -/* B1E058 800A6EB8 C492000C */ lwc1 $f18, 0xc($a0) -/* B1E05C 800A6EBC C4A60000 */ lwc1 $f6, ($a1) -/* B1E060 800A6EC0 C488001C */ lwc1 $f8, 0x1c($a0) -/* B1E064 800A6EC4 C4A40004 */ lwc1 $f4, 4($a1) -/* B1E068 800A6EC8 46123402 */ mul.s $f16, $f6, $f18 -/* B1E06C 800A6ECC C4B20008 */ lwc1 $f18, 8($a1) -/* B1E070 800A6ED0 46082282 */ mul.s $f10, $f4, $f8 -/* B1E074 800A6ED4 C484002C */ lwc1 $f4, 0x2c($a0) -/* B1E078 800A6ED8 46049202 */ mul.s $f8, $f18, $f4 -/* B1E07C 800A6EDC 460A8180 */ add.s $f6, $f16, $f10 -/* B1E080 800A6EE0 C48A003C */ lwc1 $f10, 0x3c($a0) -/* B1E084 800A6EE4 46083400 */ add.s $f16, $f6, $f8 -/* B1E088 800A6EE8 46105480 */ add.s $f18, $f10, $f16 -/* B1E08C 800A6EEC 03E00008 */ jr $ra -/* B1E090 800A6EF0 E4F20000 */ swc1 $f18, ($a3) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A6EF4.s b/asm/non_matchings/code/z_skin_matrix/func_800A6EF4.s deleted file mode 100644 index ceea4f4498..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A6EF4.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel func_800A6EF4 -/* B1E094 800A6EF4 C4800000 */ lwc1 $f0, ($a0) -/* B1E098 800A6EF8 C4A40000 */ lwc1 $f4, ($a1) -/* B1E09C 800A6EFC C4820010 */ lwc1 $f2, 0x10($a0) -/* B1E0A0 800A6F00 C4A80004 */ lwc1 $f8, 4($a1) -/* B1E0A4 800A6F04 46002182 */ mul.s $f6, $f4, $f0 -/* B1E0A8 800A6F08 C48C0020 */ lwc1 $f12, 0x20($a0) -/* B1E0AC 800A6F0C C4B20008 */ lwc1 $f18, 8($a1) -/* B1E0B0 800A6F10 46024282 */ mul.s $f10, $f8, $f2 -/* B1E0B4 800A6F14 C48E0030 */ lwc1 $f14, 0x30($a0) -/* B1E0B8 800A6F18 460C9102 */ mul.s $f4, $f18, $f12 -/* B1E0BC 800A6F1C 460A3400 */ add.s $f16, $f6, $f10 -/* B1E0C0 800A6F20 46048200 */ add.s $f8, $f16, $f4 -/* B1E0C4 800A6F24 460E4180 */ add.s $f6, $f8, $f14 -/* B1E0C8 800A6F28 E4C60000 */ swc1 $f6, ($a2) -/* B1E0CC 800A6F2C C4800004 */ lwc1 $f0, 4($a0) -/* B1E0D0 800A6F30 C4AA0000 */ lwc1 $f10, ($a1) -/* B1E0D4 800A6F34 C4820014 */ lwc1 $f2, 0x14($a0) -/* B1E0D8 800A6F38 C4B00004 */ lwc1 $f16, 4($a1) -/* B1E0DC 800A6F3C 46005482 */ mul.s $f18, $f10, $f0 -/* B1E0E0 800A6F40 C48C0024 */ lwc1 $f12, 0x24($a0) -/* B1E0E4 800A6F44 C4A60008 */ lwc1 $f6, 8($a1) -/* B1E0E8 800A6F48 46028102 */ mul.s $f4, $f16, $f2 -/* B1E0EC 800A6F4C C48E0034 */ lwc1 $f14, 0x34($a0) -/* B1E0F0 800A6F50 460C3282 */ mul.s $f10, $f6, $f12 -/* B1E0F4 800A6F54 46049200 */ add.s $f8, $f18, $f4 -/* B1E0F8 800A6F58 460A4400 */ add.s $f16, $f8, $f10 -/* B1E0FC 800A6F5C 460E8480 */ add.s $f18, $f16, $f14 -/* B1E100 800A6F60 E4D20004 */ swc1 $f18, 4($a2) -/* B1E104 800A6F64 C4800008 */ lwc1 $f0, 8($a0) -/* B1E108 800A6F68 C4A40000 */ lwc1 $f4, ($a1) -/* B1E10C 800A6F6C C4820018 */ lwc1 $f2, 0x18($a0) -/* B1E110 800A6F70 C4A80004 */ lwc1 $f8, 4($a1) -/* B1E114 800A6F74 46002182 */ mul.s $f6, $f4, $f0 -/* B1E118 800A6F78 C48C0028 */ lwc1 $f12, 0x28($a0) -/* B1E11C 800A6F7C C4B20008 */ lwc1 $f18, 8($a1) -/* B1E120 800A6F80 46024282 */ mul.s $f10, $f8, $f2 -/* B1E124 800A6F84 C48E0038 */ lwc1 $f14, 0x38($a0) -/* B1E128 800A6F88 460C9102 */ mul.s $f4, $f18, $f12 -/* B1E12C 800A6F8C 460A3400 */ add.s $f16, $f6, $f10 -/* B1E130 800A6F90 46048200 */ add.s $f8, $f16, $f4 -/* B1E134 800A6F94 460E4180 */ add.s $f6, $f8, $f14 -/* B1E138 800A6F98 03E00008 */ jr $ra -/* B1E13C 800A6F9C E4C60008 */ swc1 $f6, 8($a2) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A6FA0.s b/asm/non_matchings/code/z_skin_matrix/func_800A6FA0.s deleted file mode 100644 index 20261c2bf9..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A6FA0.s +++ /dev/null @@ -1,217 +0,0 @@ -glabel func_800A6FA0 -/* B1E140 800A6FA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* B1E144 800A6FA4 F7B60010 */ sdc1 $f22, 0x10($sp) -/* B1E148 800A6FA8 F7B40008 */ sdc1 $f20, 8($sp) -/* B1E14C 800A6FAC C4800000 */ lwc1 $f0, ($a0) -/* B1E150 800A6FB0 C4B00000 */ lwc1 $f16, ($a1) -/* B1E154 800A6FB4 C4820010 */ lwc1 $f2, 0x10($a0) -/* B1E158 800A6FB8 C4B20004 */ lwc1 $f18, 4($a1) -/* B1E15C 800A6FBC 46100102 */ mul.s $f4, $f0, $f16 -/* B1E160 800A6FC0 C48C0020 */ lwc1 $f12, 0x20($a0) -/* B1E164 800A6FC4 C4B40008 */ lwc1 $f20, 8($a1) -/* B1E168 800A6FC8 46121182 */ mul.s $f6, $f2, $f18 -/* B1E16C 800A6FCC C48E0030 */ lwc1 $f14, 0x30($a0) -/* B1E170 800A6FD0 C4B6000C */ lwc1 $f22, 0xc($a1) -/* B1E174 800A6FD4 46146282 */ mul.s $f10, $f12, $f20 -/* B1E178 800A6FD8 46062200 */ add.s $f8, $f4, $f6 -/* B1E17C 800A6FDC 46167182 */ mul.s $f6, $f14, $f22 -/* B1E180 800A6FE0 460A4100 */ add.s $f4, $f8, $f10 -/* B1E184 800A6FE4 46062200 */ add.s $f8, $f4, $f6 -/* B1E188 800A6FE8 E4C80000 */ swc1 $f8, ($a2) -/* B1E18C 800A6FEC C4B00010 */ lwc1 $f16, 0x10($a1) -/* B1E190 800A6FF0 C4B20014 */ lwc1 $f18, 0x14($a1) -/* B1E194 800A6FF4 C4B40018 */ lwc1 $f20, 0x18($a1) -/* B1E198 800A6FF8 46100282 */ mul.s $f10, $f0, $f16 -/* B1E19C 800A6FFC C4B6001C */ lwc1 $f22, 0x1c($a1) -/* B1E1A0 800A7000 46121102 */ mul.s $f4, $f2, $f18 -/* B1E1A4 800A7004 46045180 */ add.s $f6, $f10, $f4 -/* B1E1A8 800A7008 46146202 */ mul.s $f8, $f12, $f20 -/* B1E1AC 800A700C 46083280 */ add.s $f10, $f6, $f8 -/* B1E1B0 800A7010 46167102 */ mul.s $f4, $f14, $f22 -/* B1E1B4 800A7014 46045180 */ add.s $f6, $f10, $f4 -/* B1E1B8 800A7018 E4C60010 */ swc1 $f6, 0x10($a2) -/* B1E1BC 800A701C C4B00020 */ lwc1 $f16, 0x20($a1) -/* B1E1C0 800A7020 C4B20024 */ lwc1 $f18, 0x24($a1) -/* B1E1C4 800A7024 C4B40028 */ lwc1 $f20, 0x28($a1) -/* B1E1C8 800A7028 46100202 */ mul.s $f8, $f0, $f16 -/* B1E1CC 800A702C C4B6002C */ lwc1 $f22, 0x2c($a1) -/* B1E1D0 800A7030 46121282 */ mul.s $f10, $f2, $f18 -/* B1E1D4 800A7034 460A4100 */ add.s $f4, $f8, $f10 -/* B1E1D8 800A7038 46146182 */ mul.s $f6, $f12, $f20 -/* B1E1DC 800A703C 46062200 */ add.s $f8, $f4, $f6 -/* B1E1E0 800A7040 46167282 */ mul.s $f10, $f14, $f22 -/* B1E1E4 800A7044 460A4100 */ add.s $f4, $f8, $f10 -/* B1E1E8 800A7048 E4C40020 */ swc1 $f4, 0x20($a2) -/* B1E1EC 800A704C C4B00030 */ lwc1 $f16, 0x30($a1) -/* B1E1F0 800A7050 C4B20034 */ lwc1 $f18, 0x34($a1) -/* B1E1F4 800A7054 C4B40038 */ lwc1 $f20, 0x38($a1) -/* B1E1F8 800A7058 46100182 */ mul.s $f6, $f0, $f16 -/* B1E1FC 800A705C C4B6003C */ lwc1 $f22, 0x3c($a1) -/* B1E200 800A7060 46121202 */ mul.s $f8, $f2, $f18 -/* B1E204 800A7064 46083280 */ add.s $f10, $f6, $f8 -/* B1E208 800A7068 46146102 */ mul.s $f4, $f12, $f20 -/* B1E20C 800A706C 46045180 */ add.s $f6, $f10, $f4 -/* B1E210 800A7070 46167202 */ mul.s $f8, $f14, $f22 -/* B1E214 800A7074 46083280 */ add.s $f10, $f6, $f8 -/* B1E218 800A7078 E4CA0030 */ swc1 $f10, 0x30($a2) -/* B1E21C 800A707C C4800004 */ lwc1 $f0, 4($a0) -/* B1E220 800A7080 C4B00000 */ lwc1 $f16, ($a1) -/* B1E224 800A7084 C4820014 */ lwc1 $f2, 0x14($a0) -/* B1E228 800A7088 C4B20004 */ lwc1 $f18, 4($a1) -/* B1E22C 800A708C 46100102 */ mul.s $f4, $f0, $f16 -/* B1E230 800A7090 C48C0024 */ lwc1 $f12, 0x24($a0) -/* B1E234 800A7094 C4B40008 */ lwc1 $f20, 8($a1) -/* B1E238 800A7098 46121182 */ mul.s $f6, $f2, $f18 -/* B1E23C 800A709C C48E0034 */ lwc1 $f14, 0x34($a0) -/* B1E240 800A70A0 C4B6000C */ lwc1 $f22, 0xc($a1) -/* B1E244 800A70A4 46146282 */ mul.s $f10, $f12, $f20 -/* B1E248 800A70A8 46062200 */ add.s $f8, $f4, $f6 -/* B1E24C 800A70AC 46167182 */ mul.s $f6, $f14, $f22 -/* B1E250 800A70B0 460A4100 */ add.s $f4, $f8, $f10 -/* B1E254 800A70B4 46062200 */ add.s $f8, $f4, $f6 -/* B1E258 800A70B8 E4C80004 */ swc1 $f8, 4($a2) -/* B1E25C 800A70BC C4B00010 */ lwc1 $f16, 0x10($a1) -/* B1E260 800A70C0 C4B20014 */ lwc1 $f18, 0x14($a1) -/* B1E264 800A70C4 C4B40018 */ lwc1 $f20, 0x18($a1) -/* B1E268 800A70C8 46100282 */ mul.s $f10, $f0, $f16 -/* B1E26C 800A70CC C4B6001C */ lwc1 $f22, 0x1c($a1) -/* B1E270 800A70D0 46121102 */ mul.s $f4, $f2, $f18 -/* B1E274 800A70D4 46045180 */ add.s $f6, $f10, $f4 -/* B1E278 800A70D8 46146202 */ mul.s $f8, $f12, $f20 -/* B1E27C 800A70DC 46083280 */ add.s $f10, $f6, $f8 -/* B1E280 800A70E0 46167102 */ mul.s $f4, $f14, $f22 -/* B1E284 800A70E4 46045180 */ add.s $f6, $f10, $f4 -/* B1E288 800A70E8 E4C60014 */ swc1 $f6, 0x14($a2) -/* B1E28C 800A70EC C4B00020 */ lwc1 $f16, 0x20($a1) -/* B1E290 800A70F0 C4B20024 */ lwc1 $f18, 0x24($a1) -/* B1E294 800A70F4 C4B40028 */ lwc1 $f20, 0x28($a1) -/* B1E298 800A70F8 46100202 */ mul.s $f8, $f0, $f16 -/* B1E29C 800A70FC C4B6002C */ lwc1 $f22, 0x2c($a1) -/* B1E2A0 800A7100 46121282 */ mul.s $f10, $f2, $f18 -/* B1E2A4 800A7104 460A4100 */ add.s $f4, $f8, $f10 -/* B1E2A8 800A7108 46146182 */ mul.s $f6, $f12, $f20 -/* B1E2AC 800A710C 46062200 */ add.s $f8, $f4, $f6 -/* B1E2B0 800A7110 46167282 */ mul.s $f10, $f14, $f22 -/* B1E2B4 800A7114 460A4100 */ add.s $f4, $f8, $f10 -/* B1E2B8 800A7118 E4C40024 */ swc1 $f4, 0x24($a2) -/* B1E2BC 800A711C C4B00030 */ lwc1 $f16, 0x30($a1) -/* B1E2C0 800A7120 C4B20034 */ lwc1 $f18, 0x34($a1) -/* B1E2C4 800A7124 C4B40038 */ lwc1 $f20, 0x38($a1) -/* B1E2C8 800A7128 46100182 */ mul.s $f6, $f0, $f16 -/* B1E2CC 800A712C C4B6003C */ lwc1 $f22, 0x3c($a1) -/* B1E2D0 800A7130 46121202 */ mul.s $f8, $f2, $f18 -/* B1E2D4 800A7134 46083280 */ add.s $f10, $f6, $f8 -/* B1E2D8 800A7138 46146102 */ mul.s $f4, $f12, $f20 -/* B1E2DC 800A713C 46045180 */ add.s $f6, $f10, $f4 -/* B1E2E0 800A7140 46167202 */ mul.s $f8, $f14, $f22 -/* B1E2E4 800A7144 46083280 */ add.s $f10, $f6, $f8 -/* B1E2E8 800A7148 E4CA0034 */ swc1 $f10, 0x34($a2) -/* B1E2EC 800A714C C4800008 */ lwc1 $f0, 8($a0) -/* B1E2F0 800A7150 C4B00000 */ lwc1 $f16, ($a1) -/* B1E2F4 800A7154 C4820018 */ lwc1 $f2, 0x18($a0) -/* B1E2F8 800A7158 C4B20004 */ lwc1 $f18, 4($a1) -/* B1E2FC 800A715C 46100102 */ mul.s $f4, $f0, $f16 -/* B1E300 800A7160 C48C0028 */ lwc1 $f12, 0x28($a0) -/* B1E304 800A7164 C4B40008 */ lwc1 $f20, 8($a1) -/* B1E308 800A7168 46121182 */ mul.s $f6, $f2, $f18 -/* B1E30C 800A716C C48E0038 */ lwc1 $f14, 0x38($a0) -/* B1E310 800A7170 C4B6000C */ lwc1 $f22, 0xc($a1) -/* B1E314 800A7174 46146282 */ mul.s $f10, $f12, $f20 -/* B1E318 800A7178 46062200 */ add.s $f8, $f4, $f6 -/* B1E31C 800A717C 46167182 */ mul.s $f6, $f14, $f22 -/* B1E320 800A7180 460A4100 */ add.s $f4, $f8, $f10 -/* B1E324 800A7184 46062200 */ add.s $f8, $f4, $f6 -/* B1E328 800A7188 E4C80008 */ swc1 $f8, 8($a2) -/* B1E32C 800A718C C4B00010 */ lwc1 $f16, 0x10($a1) -/* B1E330 800A7190 C4B20014 */ lwc1 $f18, 0x14($a1) -/* B1E334 800A7194 C4B40018 */ lwc1 $f20, 0x18($a1) -/* B1E338 800A7198 46100282 */ mul.s $f10, $f0, $f16 -/* B1E33C 800A719C C4B6001C */ lwc1 $f22, 0x1c($a1) -/* B1E340 800A71A0 46121102 */ mul.s $f4, $f2, $f18 -/* B1E344 800A71A4 46045180 */ add.s $f6, $f10, $f4 -/* B1E348 800A71A8 46146202 */ mul.s $f8, $f12, $f20 -/* B1E34C 800A71AC 46083280 */ add.s $f10, $f6, $f8 -/* B1E350 800A71B0 46167102 */ mul.s $f4, $f14, $f22 -/* B1E354 800A71B4 46045180 */ add.s $f6, $f10, $f4 -/* B1E358 800A71B8 E4C60018 */ swc1 $f6, 0x18($a2) -/* B1E35C 800A71BC C4B00020 */ lwc1 $f16, 0x20($a1) -/* B1E360 800A71C0 C4B20024 */ lwc1 $f18, 0x24($a1) -/* B1E364 800A71C4 C4B40028 */ lwc1 $f20, 0x28($a1) -/* B1E368 800A71C8 46100202 */ mul.s $f8, $f0, $f16 -/* B1E36C 800A71CC C4B6002C */ lwc1 $f22, 0x2c($a1) -/* B1E370 800A71D0 46121282 */ mul.s $f10, $f2, $f18 -/* B1E374 800A71D4 460A4100 */ add.s $f4, $f8, $f10 -/* B1E378 800A71D8 46146182 */ mul.s $f6, $f12, $f20 -/* B1E37C 800A71DC 46062200 */ add.s $f8, $f4, $f6 -/* B1E380 800A71E0 46167282 */ mul.s $f10, $f14, $f22 -/* B1E384 800A71E4 460A4100 */ add.s $f4, $f8, $f10 -/* B1E388 800A71E8 E4C40028 */ swc1 $f4, 0x28($a2) -/* B1E38C 800A71EC C4B00030 */ lwc1 $f16, 0x30($a1) -/* B1E390 800A71F0 C4B20034 */ lwc1 $f18, 0x34($a1) -/* B1E394 800A71F4 C4B40038 */ lwc1 $f20, 0x38($a1) -/* B1E398 800A71F8 46100182 */ mul.s $f6, $f0, $f16 -/* B1E39C 800A71FC C4B6003C */ lwc1 $f22, 0x3c($a1) -/* B1E3A0 800A7200 46121202 */ mul.s $f8, $f2, $f18 -/* B1E3A4 800A7204 46083280 */ add.s $f10, $f6, $f8 -/* B1E3A8 800A7208 46146102 */ mul.s $f4, $f12, $f20 -/* B1E3AC 800A720C 46045180 */ add.s $f6, $f10, $f4 -/* B1E3B0 800A7210 46167202 */ mul.s $f8, $f14, $f22 -/* B1E3B4 800A7214 46083280 */ add.s $f10, $f6, $f8 -/* B1E3B8 800A7218 E4CA0038 */ swc1 $f10, 0x38($a2) -/* B1E3BC 800A721C C480000C */ lwc1 $f0, 0xc($a0) -/* B1E3C0 800A7220 C4B00000 */ lwc1 $f16, ($a1) -/* B1E3C4 800A7224 C482001C */ lwc1 $f2, 0x1c($a0) -/* B1E3C8 800A7228 C4B20004 */ lwc1 $f18, 4($a1) -/* B1E3CC 800A722C 46100102 */ mul.s $f4, $f0, $f16 -/* B1E3D0 800A7230 C48C002C */ lwc1 $f12, 0x2c($a0) -/* B1E3D4 800A7234 C4B40008 */ lwc1 $f20, 8($a1) -/* B1E3D8 800A7238 46121182 */ mul.s $f6, $f2, $f18 -/* B1E3DC 800A723C C48E003C */ lwc1 $f14, 0x3c($a0) -/* B1E3E0 800A7240 C4B6000C */ lwc1 $f22, 0xc($a1) -/* B1E3E4 800A7244 46146282 */ mul.s $f10, $f12, $f20 -/* B1E3E8 800A7248 46062200 */ add.s $f8, $f4, $f6 -/* B1E3EC 800A724C 46167182 */ mul.s $f6, $f14, $f22 -/* B1E3F0 800A7250 460A4100 */ add.s $f4, $f8, $f10 -/* B1E3F4 800A7254 46062200 */ add.s $f8, $f4, $f6 -/* B1E3F8 800A7258 E4C8000C */ swc1 $f8, 0xc($a2) -/* B1E3FC 800A725C C4B00010 */ lwc1 $f16, 0x10($a1) -/* B1E400 800A7260 C4B20014 */ lwc1 $f18, 0x14($a1) -/* B1E404 800A7264 C4B40018 */ lwc1 $f20, 0x18($a1) -/* B1E408 800A7268 46100282 */ mul.s $f10, $f0, $f16 -/* B1E40C 800A726C C4B6001C */ lwc1 $f22, 0x1c($a1) -/* B1E410 800A7270 46121102 */ mul.s $f4, $f2, $f18 -/* B1E414 800A7274 46045180 */ add.s $f6, $f10, $f4 -/* B1E418 800A7278 46146202 */ mul.s $f8, $f12, $f20 -/* B1E41C 800A727C 46083280 */ add.s $f10, $f6, $f8 -/* B1E420 800A7280 46167102 */ mul.s $f4, $f14, $f22 -/* B1E424 800A7284 46045180 */ add.s $f6, $f10, $f4 -/* B1E428 800A7288 E4C6001C */ swc1 $f6, 0x1c($a2) -/* B1E42C 800A728C C4B00020 */ lwc1 $f16, 0x20($a1) -/* B1E430 800A7290 C4B20024 */ lwc1 $f18, 0x24($a1) -/* B1E434 800A7294 C4B40028 */ lwc1 $f20, 0x28($a1) -/* B1E438 800A7298 46100202 */ mul.s $f8, $f0, $f16 -/* B1E43C 800A729C C4B6002C */ lwc1 $f22, 0x2c($a1) -/* B1E440 800A72A0 46121282 */ mul.s $f10, $f2, $f18 -/* B1E444 800A72A4 460A4100 */ add.s $f4, $f8, $f10 -/* B1E448 800A72A8 46146182 */ mul.s $f6, $f12, $f20 -/* B1E44C 800A72AC 46062200 */ add.s $f8, $f4, $f6 -/* B1E450 800A72B0 46167282 */ mul.s $f10, $f14, $f22 -/* B1E454 800A72B4 460A4100 */ add.s $f4, $f8, $f10 -/* B1E458 800A72B8 E4C4002C */ swc1 $f4, 0x2c($a2) -/* B1E45C 800A72BC C4B00030 */ lwc1 $f16, 0x30($a1) -/* B1E460 800A72C0 C4B20034 */ lwc1 $f18, 0x34($a1) -/* B1E464 800A72C4 C4B40038 */ lwc1 $f20, 0x38($a1) -/* B1E468 800A72C8 46100182 */ mul.s $f6, $f0, $f16 -/* B1E46C 800A72CC C4B6003C */ lwc1 $f22, 0x3c($a1) -/* B1E470 800A72D0 46121202 */ mul.s $f8, $f2, $f18 -/* B1E474 800A72D4 46083280 */ add.s $f10, $f6, $f8 -/* B1E478 800A72D8 46146102 */ mul.s $f4, $f12, $f20 -/* B1E47C 800A72DC 46045180 */ add.s $f6, $f10, $f4 -/* B1E480 800A72E0 46167202 */ mul.s $f8, $f14, $f22 -/* B1E484 800A72E4 46083280 */ add.s $f10, $f6, $f8 -/* B1E488 800A72E8 E4CA003C */ swc1 $f10, 0x3c($a2) -/* B1E48C 800A72EC D7B60010 */ ldc1 $f22, 0x10($sp) -/* B1E490 800A72F0 D7B40008 */ ldc1 $f20, 8($sp) -/* B1E494 800A72F4 03E00008 */ jr $ra -/* B1E498 800A72F8 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A72FC.s b/asm/non_matchings/code/z_skin_matrix/func_800A72FC.s deleted file mode 100644 index 22180a1ff0..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A72FC.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel func_800A72FC -/* B1E49C 800A72FC 3C0E8013 */ lui $t6, %hi(D_8012A4A0) # $t6, 0x8013 -/* B1E4A0 800A7300 25CEA4A0 */ addiu $t6, %lo(D_8012A4A0) # addiu $t6, $t6, -0x5b60 -/* B1E4A4 800A7304 03E00008 */ jr $ra -/* B1E4A8 800A7308 AC8E0000 */ sw $t6, ($a0) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A730C.s b/asm/non_matchings/code/z_skin_matrix/func_800A730C.s deleted file mode 100644 index e60f97d621..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A730C.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_800A730C -/* B1E4AC 800A730C 44801000 */ mtc1 $zero, $f2 -/* B1E4B0 800A7310 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B1E4B4 800A7314 44810000 */ mtc1 $at, $f0 -/* B1E4B8 800A7318 E4820004 */ swc1 $f2, 4($a0) -/* B1E4BC 800A731C E4820008 */ swc1 $f2, 8($a0) -/* B1E4C0 800A7320 E482000C */ swc1 $f2, 0xc($a0) -/* B1E4C4 800A7324 E4820010 */ swc1 $f2, 0x10($a0) -/* B1E4C8 800A7328 E4820018 */ swc1 $f2, 0x18($a0) -/* B1E4CC 800A732C E482001C */ swc1 $f2, 0x1c($a0) -/* B1E4D0 800A7330 E4820020 */ swc1 $f2, 0x20($a0) -/* B1E4D4 800A7334 E4820024 */ swc1 $f2, 0x24($a0) -/* B1E4D8 800A7338 E482002C */ swc1 $f2, 0x2c($a0) -/* B1E4DC 800A733C E4820030 */ swc1 $f2, 0x30($a0) -/* B1E4E0 800A7340 E4820034 */ swc1 $f2, 0x34($a0) -/* B1E4E4 800A7344 E4820038 */ swc1 $f2, 0x38($a0) -/* B1E4E8 800A7348 E4800000 */ swc1 $f0, ($a0) -/* B1E4EC 800A734C E4800014 */ swc1 $f0, 0x14($a0) -/* B1E4F0 800A7350 E4800028 */ swc1 $f0, 0x28($a0) -/* B1E4F4 800A7354 03E00008 */ jr $ra -/* B1E4F8 800A7358 E480003C */ swc1 $f0, 0x3c($a0) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A735C.s b/asm/non_matchings/code/z_skin_matrix/func_800A735C.s deleted file mode 100644 index 0bf66a984d..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A735C.s +++ /dev/null @@ -1,35 +0,0 @@ -glabel func_800A735C -/* B1E4FC 800A735C C4840000 */ lwc1 $f4, ($a0) -/* B1E500 800A7360 E4A40000 */ swc1 $f4, ($a1) -/* B1E504 800A7364 C4860004 */ lwc1 $f6, 4($a0) -/* B1E508 800A7368 E4A60004 */ swc1 $f6, 4($a1) -/* B1E50C 800A736C C4880008 */ lwc1 $f8, 8($a0) -/* B1E510 800A7370 E4A80008 */ swc1 $f8, 8($a1) -/* B1E514 800A7374 C48A000C */ lwc1 $f10, 0xc($a0) -/* B1E518 800A7378 E4AA000C */ swc1 $f10, 0xc($a1) -/* B1E51C 800A737C C4900010 */ lwc1 $f16, 0x10($a0) -/* B1E520 800A7380 E4B00010 */ swc1 $f16, 0x10($a1) -/* B1E524 800A7384 C4920014 */ lwc1 $f18, 0x14($a0) -/* B1E528 800A7388 E4B20014 */ swc1 $f18, 0x14($a1) -/* B1E52C 800A738C C4840018 */ lwc1 $f4, 0x18($a0) -/* B1E530 800A7390 E4A40018 */ swc1 $f4, 0x18($a1) -/* B1E534 800A7394 C486001C */ lwc1 $f6, 0x1c($a0) -/* B1E538 800A7398 E4A6001C */ swc1 $f6, 0x1c($a1) -/* B1E53C 800A739C C4880020 */ lwc1 $f8, 0x20($a0) -/* B1E540 800A73A0 E4A80020 */ swc1 $f8, 0x20($a1) -/* B1E544 800A73A4 C48A0024 */ lwc1 $f10, 0x24($a0) -/* B1E548 800A73A8 E4AA0024 */ swc1 $f10, 0x24($a1) -/* B1E54C 800A73AC C4900028 */ lwc1 $f16, 0x28($a0) -/* B1E550 800A73B0 E4B00028 */ swc1 $f16, 0x28($a1) -/* B1E554 800A73B4 C492002C */ lwc1 $f18, 0x2c($a0) -/* B1E558 800A73B8 E4B2002C */ swc1 $f18, 0x2c($a1) -/* B1E55C 800A73BC C4840030 */ lwc1 $f4, 0x30($a0) -/* B1E560 800A73C0 E4A40030 */ swc1 $f4, 0x30($a1) -/* B1E564 800A73C4 C4860034 */ lwc1 $f6, 0x34($a0) -/* B1E568 800A73C8 E4A60034 */ swc1 $f6, 0x34($a1) -/* B1E56C 800A73CC C4880038 */ lwc1 $f8, 0x38($a0) -/* B1E570 800A73D0 E4A80038 */ swc1 $f8, 0x38($a1) -/* B1E574 800A73D4 C48A003C */ lwc1 $f10, 0x3c($a0) -/* B1E578 800A73D8 03E00008 */ jr $ra -/* B1E57C 800A73DC E4AA003C */ swc1 $f10, 0x3c($a1) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A76A4.s b/asm/non_matchings/code/z_skin_matrix/func_800A76A4.s deleted file mode 100644 index 5a6346bbb9..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A76A4.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_800A76A4 -/* B1E844 800A76A4 AFA7000C */ sw $a3, 0xc($sp) -/* B1E848 800A76A8 44800000 */ mtc1 $zero, $f0 -/* B1E84C 800A76AC 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B1E850 800A76B0 44856000 */ mtc1 $a1, $f12 -/* B1E854 800A76B4 44867000 */ mtc1 $a2, $f14 -/* B1E858 800A76B8 44812000 */ mtc1 $at, $f4 -/* B1E85C 800A76BC E4800004 */ swc1 $f0, 4($a0) -/* B1E860 800A76C0 E4800008 */ swc1 $f0, 8($a0) -/* B1E864 800A76C4 E480000C */ swc1 $f0, 0xc($a0) -/* B1E868 800A76C8 E4800010 */ swc1 $f0, 0x10($a0) -/* B1E86C 800A76CC E4800018 */ swc1 $f0, 0x18($a0) -/* B1E870 800A76D0 E480001C */ swc1 $f0, 0x1c($a0) -/* B1E874 800A76D4 E4800020 */ swc1 $f0, 0x20($a0) -/* B1E878 800A76D8 E4800024 */ swc1 $f0, 0x24($a0) -/* B1E87C 800A76DC E480002C */ swc1 $f0, 0x2c($a0) -/* B1E880 800A76E0 E4800030 */ swc1 $f0, 0x30($a0) -/* B1E884 800A76E4 E4800034 */ swc1 $f0, 0x34($a0) -/* B1E888 800A76E8 E4800038 */ swc1 $f0, 0x38($a0) -/* B1E88C 800A76EC E48C0000 */ swc1 $f12, ($a0) -/* B1E890 800A76F0 E48E0014 */ swc1 $f14, 0x14($a0) -/* B1E894 800A76F4 E484003C */ swc1 $f4, 0x3c($a0) -/* B1E898 800A76F8 C7A6000C */ lwc1 $f6, 0xc($sp) -/* B1E89C 800A76FC 03E00008 */ jr $ra -/* B1E8A0 800A7700 E4860028 */ swc1 $f6, 0x28($a0) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7704.s b/asm/non_matchings/code/z_skin_matrix/func_800A7704.s deleted file mode 100644 index 258ca043c6..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7704.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel func_800A7704 -/* B1E8A4 800A7704 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* B1E8A8 800A7708 AFB00018 */ sw $s0, 0x18($sp) -/* B1E8AC 800A770C 00808025 */ move $s0, $a0 -/* B1E8B0 800A7710 AFBF001C */ sw $ra, 0x1c($sp) -/* B1E8B4 800A7714 AFA70044 */ sw $a3, 0x44($sp) -/* B1E8B8 800A7718 AFA5003C */ sw $a1, 0x3c($sp) -/* B1E8BC 800A771C AFA60040 */ sw $a2, 0x40($sp) -/* B1E8C0 800A7720 0C01DE1C */ jal Math_Sins -/* B1E8C4 800A7724 87A40046 */ lh $a0, 0x46($sp) -/* B1E8C8 800A7728 87A40046 */ lh $a0, 0x46($sp) -/* B1E8CC 800A772C 0C01DE0D */ jal Math_Coss -/* B1E8D0 800A7730 E7A00030 */ swc1 $f0, 0x30($sp) -/* B1E8D4 800A7734 87A40042 */ lh $a0, 0x42($sp) -/* B1E8D8 800A7738 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* B1E8DC 800A773C 44808000 */ mtc1 $zero, $f16 -/* B1E8E0 800A7740 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B1E8E4 800A7744 44811000 */ mtc1 $at, $f2 -/* B1E8E8 800A7748 46007107 */ neg.s $f4, $f14 -/* B1E8EC 800A774C 46000306 */ mov.s $f12, $f0 -/* B1E8F0 800A7750 E6000014 */ swc1 $f0, 0x14($s0) -/* B1E8F4 800A7754 E6040010 */ swc1 $f4, 0x10($s0) -/* B1E8F8 800A7758 E610002C */ swc1 $f16, 0x2c($s0) -/* B1E8FC 800A775C E610001C */ swc1 $f16, 0x1c($s0) -/* B1E900 800A7760 E610000C */ swc1 $f16, 0xc($s0) -/* B1E904 800A7764 E6100038 */ swc1 $f16, 0x38($s0) -/* B1E908 800A7768 E6100034 */ swc1 $f16, 0x34($s0) -/* B1E90C 800A776C E6100030 */ swc1 $f16, 0x30($s0) -/* B1E910 800A7770 10800017 */ beqz $a0, .L800A77D0 -/* B1E914 800A7774 E602003C */ swc1 $f2, 0x3c($s0) -/* B1E918 800A7778 E7AC002C */ swc1 $f12, 0x2c($sp) -/* B1E91C 800A777C 0C01DE1C */ jal Math_Sins -/* B1E920 800A7780 E7AE0030 */ swc1 $f14, 0x30($sp) -/* B1E924 800A7784 87A40042 */ lh $a0, 0x42($sp) -/* B1E928 800A7788 0C01DE0D */ jal Math_Coss -/* B1E92C 800A778C E7A00024 */ swc1 $f0, 0x24($sp) -/* B1E930 800A7790 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* B1E934 800A7794 C7A20024 */ lwc1 $f2, 0x24($sp) -/* B1E938 800A7798 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* B1E93C 800A779C 46006182 */ mul.s $f6, $f12, $f0 -/* B1E940 800A77A0 46001107 */ neg.s $f4, $f2 -/* B1E944 800A77A4 44808000 */ mtc1 $zero, $f16 -/* B1E948 800A77A8 46026202 */ mul.s $f8, $f12, $f2 -/* B1E94C 800A77AC E6040008 */ swc1 $f4, 8($s0) -/* B1E950 800A77B0 E6000028 */ swc1 $f0, 0x28($s0) -/* B1E954 800A77B4 46007282 */ mul.s $f10, $f14, $f0 -/* B1E958 800A77B8 E6060000 */ swc1 $f6, ($s0) -/* B1E95C 800A77BC 46027482 */ mul.s $f18, $f14, $f2 -/* B1E960 800A77C0 E6080020 */ swc1 $f8, 0x20($s0) -/* B1E964 800A77C4 E60A0004 */ swc1 $f10, 4($s0) -/* B1E968 800A77C8 10000007 */ b .L800A77E8 -/* B1E96C 800A77CC E6120024 */ swc1 $f18, 0x24($s0) -.L800A77D0: -/* B1E970 800A77D0 E6000000 */ swc1 $f0, ($s0) -/* B1E974 800A77D4 E60E0004 */ swc1 $f14, 4($s0) -/* B1E978 800A77D8 E6100024 */ swc1 $f16, 0x24($s0) -/* B1E97C 800A77DC E6100020 */ swc1 $f16, 0x20($s0) -/* B1E980 800A77E0 E6100008 */ swc1 $f16, 8($s0) -/* B1E984 800A77E4 E6020028 */ swc1 $f2, 0x28($s0) -.L800A77E8: -/* B1E988 800A77E8 87A4003E */ lh $a0, 0x3e($sp) -/* B1E98C 800A77EC 50800024 */ beql $a0, $zero, .L800A7880 -/* B1E990 800A77F0 E6100018 */ swc1 $f16, 0x18($s0) -/* B1E994 800A77F4 0C01DE1C */ jal Math_Sins -/* B1E998 800A77F8 00000000 */ nop -/* B1E99C 800A77FC 87A4003E */ lh $a0, 0x3e($sp) -/* B1E9A0 800A7800 0C01DE0D */ jal Math_Coss -/* B1E9A4 800A7804 E7A00024 */ swc1 $f0, 0x24($sp) -/* B1E9A8 800A7808 C60E0010 */ lwc1 $f14, 0x10($s0) -/* B1E9AC 800A780C C7A20024 */ lwc1 $f2, 0x24($sp) -/* B1E9B0 800A7810 C60C0020 */ lwc1 $f12, 0x20($s0) -/* B1E9B4 800A7814 46007182 */ mul.s $f6, $f14, $f0 -/* B1E9B8 800A7818 00000000 */ nop -/* B1E9BC 800A781C 46026202 */ mul.s $f8, $f12, $f2 -/* B1E9C0 800A7820 00000000 */ nop -/* B1E9C4 800A7824 46006482 */ mul.s $f18, $f12, $f0 -/* B1E9C8 800A7828 C60C0024 */ lwc1 $f12, 0x24($s0) -/* B1E9CC 800A782C 46027102 */ mul.s $f4, $f14, $f2 -/* B1E9D0 800A7830 C60E0014 */ lwc1 $f14, 0x14($s0) -/* B1E9D4 800A7834 46083280 */ add.s $f10, $f6, $f8 -/* B1E9D8 800A7838 46007202 */ mul.s $f8, $f14, $f0 -/* B1E9DC 800A783C E60A0010 */ swc1 $f10, 0x10($s0) -/* B1E9E0 800A7840 46026282 */ mul.s $f10, $f12, $f2 -/* B1E9E4 800A7844 46049181 */ sub.s $f6, $f18, $f4 -/* B1E9E8 800A7848 46006102 */ mul.s $f4, $f12, $f0 -/* B1E9EC 800A784C C60C0028 */ lwc1 $f12, 0x28($s0) -/* B1E9F0 800A7850 E6060020 */ swc1 $f6, 0x20($s0) -/* B1E9F4 800A7854 46027182 */ mul.s $f6, $f14, $f2 -/* B1E9F8 800A7858 460A4480 */ add.s $f18, $f8, $f10 -/* B1E9FC 800A785C 46026282 */ mul.s $f10, $f12, $f2 -/* B1EA00 800A7860 E6120014 */ swc1 $f18, 0x14($s0) -/* B1EA04 800A7864 46006482 */ mul.s $f18, $f12, $f0 -/* B1EA08 800A7868 46062201 */ sub.s $f8, $f4, $f6 -/* B1EA0C 800A786C E60A0018 */ swc1 $f10, 0x18($s0) -/* B1EA10 800A7870 E6080024 */ swc1 $f8, 0x24($s0) -/* B1EA14 800A7874 10000002 */ b .L800A7880 -/* B1EA18 800A7878 E6120028 */ swc1 $f18, 0x28($s0) -/* B1EA1C 800A787C E6100018 */ swc1 $f16, 0x18($s0) -.L800A7880: -/* B1EA20 800A7880 8FBF001C */ lw $ra, 0x1c($sp) -/* B1EA24 800A7884 8FB00018 */ lw $s0, 0x18($sp) -/* B1EA28 800A7888 27BD0038 */ addiu $sp, $sp, 0x38 -/* B1EA2C 800A788C 03E00008 */ jr $ra -/* B1EA30 800A7890 00000000 */ nop - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7894.s b/asm/non_matchings/code/z_skin_matrix/func_800A7894.s deleted file mode 100644 index 399ee008cd..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7894.s +++ /dev/null @@ -1,105 +0,0 @@ -glabel func_800A7894 -/* B1EA34 800A7894 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* B1EA38 800A7898 AFB00018 */ sw $s0, 0x18($sp) -/* B1EA3C 800A789C 00808025 */ move $s0, $a0 -/* B1EA40 800A78A0 AFBF001C */ sw $ra, 0x1c($sp) -/* B1EA44 800A78A4 AFA60040 */ sw $a2, 0x40($sp) -/* B1EA48 800A78A8 AFA5003C */ sw $a1, 0x3c($sp) -/* B1EA4C 800A78AC AFA70044 */ sw $a3, 0x44($sp) -/* B1EA50 800A78B0 0C01DE1C */ jal Math_Sins -/* B1EA54 800A78B4 87A40042 */ lh $a0, 0x42($sp) -/* B1EA58 800A78B8 87A40042 */ lh $a0, 0x42($sp) -/* B1EA5C 800A78BC 0C01DE0D */ jal Math_Coss -/* B1EA60 800A78C0 E7A00030 */ swc1 $f0, 0x30($sp) -/* B1EA64 800A78C4 87A4003E */ lh $a0, 0x3e($sp) -/* B1EA68 800A78C8 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* B1EA6C 800A78CC 44808000 */ mtc1 $zero, $f16 -/* B1EA70 800A78D0 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B1EA74 800A78D4 44811000 */ mtc1 $at, $f2 -/* B1EA78 800A78D8 46007107 */ neg.s $f4, $f14 -/* B1EA7C 800A78DC 46000306 */ mov.s $f12, $f0 -/* B1EA80 800A78E0 E6000000 */ swc1 $f0, ($s0) -/* B1EA84 800A78E4 E6040008 */ swc1 $f4, 8($s0) -/* B1EA88 800A78E8 E610002C */ swc1 $f16, 0x2c($s0) -/* B1EA8C 800A78EC E610001C */ swc1 $f16, 0x1c($s0) -/* B1EA90 800A78F0 E610000C */ swc1 $f16, 0xc($s0) -/* B1EA94 800A78F4 E6100038 */ swc1 $f16, 0x38($s0) -/* B1EA98 800A78F8 E6100034 */ swc1 $f16, 0x34($s0) -/* B1EA9C 800A78FC E6100030 */ swc1 $f16, 0x30($s0) -/* B1EAA0 800A7900 10800017 */ beqz $a0, .L800A7960 -/* B1EAA4 800A7904 E602003C */ swc1 $f2, 0x3c($s0) -/* B1EAA8 800A7908 E7AC002C */ swc1 $f12, 0x2c($sp) -/* B1EAAC 800A790C 0C01DE1C */ jal Math_Sins -/* B1EAB0 800A7910 E7AE0030 */ swc1 $f14, 0x30($sp) -/* B1EAB4 800A7914 87A4003E */ lh $a0, 0x3e($sp) -/* B1EAB8 800A7918 0C01DE0D */ jal Math_Coss -/* B1EABC 800A791C E7A00024 */ swc1 $f0, 0x24($sp) -/* B1EAC0 800A7920 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* B1EAC4 800A7924 C7A20024 */ lwc1 $f2, 0x24($sp) -/* B1EAC8 800A7928 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* B1EACC 800A792C 46006182 */ mul.s $f6, $f12, $f0 -/* B1EAD0 800A7930 46001107 */ neg.s $f4, $f2 -/* B1EAD4 800A7934 44808000 */ mtc1 $zero, $f16 -/* B1EAD8 800A7938 46026202 */ mul.s $f8, $f12, $f2 -/* B1EADC 800A793C E6040024 */ swc1 $f4, 0x24($s0) -/* B1EAE0 800A7940 E6000014 */ swc1 $f0, 0x14($s0) -/* B1EAE4 800A7944 46007282 */ mul.s $f10, $f14, $f0 -/* B1EAE8 800A7948 E6060028 */ swc1 $f6, 0x28($s0) -/* B1EAEC 800A794C 46027482 */ mul.s $f18, $f14, $f2 -/* B1EAF0 800A7950 E6080018 */ swc1 $f8, 0x18($s0) -/* B1EAF4 800A7954 E60A0020 */ swc1 $f10, 0x20($s0) -/* B1EAF8 800A7958 10000007 */ b .L800A7978 -/* B1EAFC 800A795C E6120010 */ swc1 $f18, 0x10($s0) -.L800A7960: -/* B1EB00 800A7960 E6000028 */ swc1 $f0, 0x28($s0) -/* B1EB04 800A7964 E60E0020 */ swc1 $f14, 0x20($s0) -/* B1EB08 800A7968 E6100024 */ swc1 $f16, 0x24($s0) -/* B1EB0C 800A796C E6100018 */ swc1 $f16, 0x18($s0) -/* B1EB10 800A7970 E6100010 */ swc1 $f16, 0x10($s0) -/* B1EB14 800A7974 E6020014 */ swc1 $f2, 0x14($s0) -.L800A7978: -/* B1EB18 800A7978 87A40046 */ lh $a0, 0x46($sp) -/* B1EB1C 800A797C 50800024 */ beql $a0, $zero, .L800A7A10 -/* B1EB20 800A7980 E6100004 */ swc1 $f16, 4($s0) -/* B1EB24 800A7984 0C01DE1C */ jal Math_Sins -/* B1EB28 800A7988 00000000 */ nop -/* B1EB2C 800A798C 87A40046 */ lh $a0, 0x46($sp) -/* B1EB30 800A7990 0C01DE0D */ jal Math_Coss -/* B1EB34 800A7994 E7A00024 */ swc1 $f0, 0x24($sp) -/* B1EB38 800A7998 C60E0000 */ lwc1 $f14, ($s0) -/* B1EB3C 800A799C C7A20024 */ lwc1 $f2, 0x24($sp) -/* B1EB40 800A79A0 C60C0010 */ lwc1 $f12, 0x10($s0) -/* B1EB44 800A79A4 46007182 */ mul.s $f6, $f14, $f0 -/* B1EB48 800A79A8 00000000 */ nop -/* B1EB4C 800A79AC 46026202 */ mul.s $f8, $f12, $f2 -/* B1EB50 800A79B0 00000000 */ nop -/* B1EB54 800A79B4 46006482 */ mul.s $f18, $f12, $f0 -/* B1EB58 800A79B8 C60C0018 */ lwc1 $f12, 0x18($s0) -/* B1EB5C 800A79BC 46027102 */ mul.s $f4, $f14, $f2 -/* B1EB60 800A79C0 C60E0008 */ lwc1 $f14, 8($s0) -/* B1EB64 800A79C4 46083280 */ add.s $f10, $f6, $f8 -/* B1EB68 800A79C8 46007202 */ mul.s $f8, $f14, $f0 -/* B1EB6C 800A79CC E60A0000 */ swc1 $f10, ($s0) -/* B1EB70 800A79D0 46026282 */ mul.s $f10, $f12, $f2 -/* B1EB74 800A79D4 46049181 */ sub.s $f6, $f18, $f4 -/* B1EB78 800A79D8 46006102 */ mul.s $f4, $f12, $f0 -/* B1EB7C 800A79DC C60C0014 */ lwc1 $f12, 0x14($s0) -/* B1EB80 800A79E0 E6060010 */ swc1 $f6, 0x10($s0) -/* B1EB84 800A79E4 46027182 */ mul.s $f6, $f14, $f2 -/* B1EB88 800A79E8 460A4480 */ add.s $f18, $f8, $f10 -/* B1EB8C 800A79EC 46026282 */ mul.s $f10, $f12, $f2 -/* B1EB90 800A79F0 E6120008 */ swc1 $f18, 8($s0) -/* B1EB94 800A79F4 46006482 */ mul.s $f18, $f12, $f0 -/* B1EB98 800A79F8 46062201 */ sub.s $f8, $f4, $f6 -/* B1EB9C 800A79FC E60A0004 */ swc1 $f10, 4($s0) -/* B1EBA0 800A7A00 E6080018 */ swc1 $f8, 0x18($s0) -/* B1EBA4 800A7A04 10000002 */ b .L800A7A10 -/* B1EBA8 800A7A08 E6120014 */ swc1 $f18, 0x14($s0) -/* B1EBAC 800A7A0C E6100004 */ swc1 $f16, 4($s0) -.L800A7A10: -/* B1EBB0 800A7A10 8FBF001C */ lw $ra, 0x1c($sp) -/* B1EBB4 800A7A14 8FB00018 */ lw $s0, 0x18($sp) -/* B1EBB8 800A7A18 27BD0038 */ addiu $sp, $sp, 0x38 -/* B1EBBC 800A7A1C 03E00008 */ jr $ra -/* B1EBC0 800A7A20 00000000 */ nop - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7A24.s b/asm/non_matchings/code/z_skin_matrix/func_800A7A24.s deleted file mode 100644 index 60d9b21d3d..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7A24.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_800A7A24 -/* B1EBC4 800A7A24 AFA7000C */ sw $a3, 0xc($sp) -/* B1EBC8 800A7A28 44800000 */ mtc1 $zero, $f0 -/* B1EBCC 800A7A2C 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B1EBD0 800A7A30 44811000 */ mtc1 $at, $f2 -/* B1EBD4 800A7A34 44856000 */ mtc1 $a1, $f12 -/* B1EBD8 800A7A38 44867000 */ mtc1 $a2, $f14 -/* B1EBDC 800A7A3C E4800004 */ swc1 $f0, 4($a0) -/* B1EBE0 800A7A40 E4800008 */ swc1 $f0, 8($a0) -/* B1EBE4 800A7A44 E480000C */ swc1 $f0, 0xc($a0) -/* B1EBE8 800A7A48 E4800010 */ swc1 $f0, 0x10($a0) -/* B1EBEC 800A7A4C E4800018 */ swc1 $f0, 0x18($a0) -/* B1EBF0 800A7A50 E480001C */ swc1 $f0, 0x1c($a0) -/* B1EBF4 800A7A54 E4800020 */ swc1 $f0, 0x20($a0) -/* B1EBF8 800A7A58 E4800024 */ swc1 $f0, 0x24($a0) -/* B1EBFC 800A7A5C E480002C */ swc1 $f0, 0x2c($a0) -/* B1EC00 800A7A60 E4820000 */ swc1 $f2, ($a0) -/* B1EC04 800A7A64 E4820014 */ swc1 $f2, 0x14($a0) -/* B1EC08 800A7A68 E4820028 */ swc1 $f2, 0x28($a0) -/* B1EC0C 800A7A6C E482003C */ swc1 $f2, 0x3c($a0) -/* B1EC10 800A7A70 E48C0030 */ swc1 $f12, 0x30($a0) -/* B1EC14 800A7A74 E48E0034 */ swc1 $f14, 0x34($a0) -/* B1EC18 800A7A78 C7A4000C */ lwc1 $f4, 0xc($sp) -/* B1EC1C 800A7A7C 03E00008 */ jr $ra -/* B1EC20 800A7A80 E4840038 */ swc1 $f4, 0x38($a0) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7A84.s b/asm/non_matchings/code/z_skin_matrix/func_800A7A84.s deleted file mode 100644 index da8ceacff2..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7A84.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_800A7A84 -/* B1EC24 800A7A84 27BDFF68 */ addiu $sp, $sp, -0x98 -/* B1EC28 800A7A88 AFBF0014 */ sw $ra, 0x14($sp) -/* B1EC2C 800A7A8C AFA5009C */ sw $a1, 0x9c($sp) -/* B1EC30 800A7A90 AFA600A0 */ sw $a2, 0xa0($sp) -/* B1EC34 800A7A94 AFA700A4 */ sw $a3, 0xa4($sp) -/* B1EC38 800A7A98 AFA40098 */ sw $a0, 0x98($sp) -/* B1EC3C 800A7A9C 8FA700BC */ lw $a3, 0xbc($sp) -/* B1EC40 800A7AA0 8FA600B8 */ lw $a2, 0xb8($sp) -/* B1EC44 800A7AA4 0C029E89 */ jal func_800A7A24 -/* B1EC48 800A7AA8 8FA500B4 */ lw $a1, 0xb4($sp) -/* B1EC4C 800A7AAC 27A40058 */ addiu $a0, $sp, 0x58 -/* B1EC50 800A7AB0 87A500AA */ lh $a1, 0xaa($sp) -/* B1EC54 800A7AB4 87A600AE */ lh $a2, 0xae($sp) -/* B1EC58 800A7AB8 0C029DC1 */ jal func_800A7704 -/* B1EC5C 800A7ABC 87A700B2 */ lh $a3, 0xb2($sp) -/* B1EC60 800A7AC0 8FA40098 */ lw $a0, 0x98($sp) -/* B1EC64 800A7AC4 27A50058 */ addiu $a1, $sp, 0x58 -/* B1EC68 800A7AC8 0C029BE8 */ jal func_800A6FA0 -/* B1EC6C 800A7ACC 27A60018 */ addiu $a2, $sp, 0x18 -/* B1EC70 800A7AD0 27A40058 */ addiu $a0, $sp, 0x58 -/* B1EC74 800A7AD4 8FA5009C */ lw $a1, 0x9c($sp) -/* B1EC78 800A7AD8 8FA600A0 */ lw $a2, 0xa0($sp) -/* B1EC7C 800A7ADC 0C029DA9 */ jal func_800A76A4 -/* B1EC80 800A7AE0 8FA700A4 */ lw $a3, 0xa4($sp) -/* B1EC84 800A7AE4 27A40018 */ addiu $a0, $sp, 0x18 -/* B1EC88 800A7AE8 27A50058 */ addiu $a1, $sp, 0x58 -/* B1EC8C 800A7AEC 0C029BE8 */ jal func_800A6FA0 -/* B1EC90 800A7AF0 8FA60098 */ lw $a2, 0x98($sp) -/* B1EC94 800A7AF4 8FBF0014 */ lw $ra, 0x14($sp) -/* B1EC98 800A7AF8 27BD0098 */ addiu $sp, $sp, 0x98 -/* B1EC9C 800A7AFC 03E00008 */ jr $ra -/* B1ECA0 800A7B00 00000000 */ nop - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7B04.s b/asm/non_matchings/code/z_skin_matrix/func_800A7B04.s deleted file mode 100644 index c7eda74f64..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7B04.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_800A7B04 -/* B1ECA4 800A7B04 27BDFF68 */ addiu $sp, $sp, -0x98 -/* B1ECA8 800A7B08 AFBF0014 */ sw $ra, 0x14($sp) -/* B1ECAC 800A7B0C AFA5009C */ sw $a1, 0x9c($sp) -/* B1ECB0 800A7B10 AFA600A0 */ sw $a2, 0xa0($sp) -/* B1ECB4 800A7B14 AFA700A4 */ sw $a3, 0xa4($sp) -/* B1ECB8 800A7B18 AFA40098 */ sw $a0, 0x98($sp) -/* B1ECBC 800A7B1C 8FA700BC */ lw $a3, 0xbc($sp) -/* B1ECC0 800A7B20 8FA600B8 */ lw $a2, 0xb8($sp) -/* B1ECC4 800A7B24 0C029E89 */ jal func_800A7A24 -/* B1ECC8 800A7B28 8FA500B4 */ lw $a1, 0xb4($sp) -/* B1ECCC 800A7B2C 27A40058 */ addiu $a0, $sp, 0x58 -/* B1ECD0 800A7B30 87A500AA */ lh $a1, 0xaa($sp) -/* B1ECD4 800A7B34 87A600AE */ lh $a2, 0xae($sp) -/* B1ECD8 800A7B38 0C029E25 */ jal func_800A7894 -/* B1ECDC 800A7B3C 87A700B2 */ lh $a3, 0xb2($sp) -/* B1ECE0 800A7B40 8FA40098 */ lw $a0, 0x98($sp) -/* B1ECE4 800A7B44 27A50058 */ addiu $a1, $sp, 0x58 -/* B1ECE8 800A7B48 0C029BE8 */ jal func_800A6FA0 -/* B1ECEC 800A7B4C 27A60018 */ addiu $a2, $sp, 0x18 -/* B1ECF0 800A7B50 27A40058 */ addiu $a0, $sp, 0x58 -/* B1ECF4 800A7B54 8FA5009C */ lw $a1, 0x9c($sp) -/* B1ECF8 800A7B58 8FA600A0 */ lw $a2, 0xa0($sp) -/* B1ECFC 800A7B5C 0C029DA9 */ jal func_800A76A4 -/* B1ED00 800A7B60 8FA700A4 */ lw $a3, 0xa4($sp) -/* B1ED04 800A7B64 27A40018 */ addiu $a0, $sp, 0x18 -/* B1ED08 800A7B68 27A50058 */ addiu $a1, $sp, 0x58 -/* B1ED0C 800A7B6C 0C029BE8 */ jal func_800A6FA0 -/* B1ED10 800A7B70 8FA60098 */ lw $a2, 0x98($sp) -/* B1ED14 800A7B74 8FBF0014 */ lw $ra, 0x14($sp) -/* B1ED18 800A7B78 27BD0098 */ addiu $sp, $sp, 0x98 -/* B1ED1C 800A7B7C 03E00008 */ jr $ra -/* B1ED20 800A7B80 00000000 */ nop - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7B84.s b/asm/non_matchings/code/z_skin_matrix/func_800A7B84.s deleted file mode 100644 index ccbb492774..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7B84.s +++ /dev/null @@ -1,26 +0,0 @@ -glabel func_800A7B84 -/* B1ED24 800A7B84 27BDFF68 */ addiu $sp, $sp, -0x98 -/* B1ED28 800A7B88 AFBF0014 */ sw $ra, 0x14($sp) -/* B1ED2C 800A7B8C AFA40098 */ sw $a0, 0x98($sp) -/* B1ED30 800A7B90 AFA5009C */ sw $a1, 0x9c($sp) -/* B1ED34 800A7B94 AFA600A0 */ sw $a2, 0xa0($sp) -/* B1ED38 800A7B98 AFA700A4 */ sw $a3, 0xa4($sp) -/* B1ED3C 800A7B9C 8FA700B0 */ lw $a3, 0xb0($sp) -/* B1ED40 800A7BA0 8FA600AC */ lw $a2, 0xac($sp) -/* B1ED44 800A7BA4 8FA500A8 */ lw $a1, 0xa8($sp) -/* B1ED48 800A7BA8 0C029E89 */ jal func_800A7A24 -/* B1ED4C 800A7BAC 27A40018 */ addiu $a0, $sp, 0x18 -/* B1ED50 800A7BB0 27A40058 */ addiu $a0, $sp, 0x58 -/* B1ED54 800A7BB4 87A5009E */ lh $a1, 0x9e($sp) -/* B1ED58 800A7BB8 87A600A2 */ lh $a2, 0xa2($sp) -/* B1ED5C 800A7BBC 0C029DC1 */ jal func_800A7704 -/* B1ED60 800A7BC0 87A700A6 */ lh $a3, 0xa6($sp) -/* B1ED64 800A7BC4 27A40018 */ addiu $a0, $sp, 0x18 -/* B1ED68 800A7BC8 27A50058 */ addiu $a1, $sp, 0x58 -/* B1ED6C 800A7BCC 0C029BE8 */ jal func_800A6FA0 -/* B1ED70 800A7BD0 8FA60098 */ lw $a2, 0x98($sp) -/* B1ED74 800A7BD4 8FBF0014 */ lw $ra, 0x14($sp) -/* B1ED78 800A7BD8 27BD0098 */ addiu $sp, $sp, 0x98 -/* B1ED7C 800A7BDC 03E00008 */ jr $ra -/* B1ED80 800A7BE0 00000000 */ nop - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7BE4.s b/asm/non_matchings/code/z_skin_matrix/func_800A7BE4.s deleted file mode 100644 index 56309ef45a..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7BE4.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_800A7BE4 -/* B1ED84 800A7BE4 C4840000 */ lwc1 $f4, ($a0) -/* B1ED88 800A7BE8 4600218D */ trunc.w.s $f6, $f4 -/* B1ED8C 800A7BEC 440F3000 */ mfc1 $t7, $f6 -/* B1ED90 800A7BF0 00000000 */ nop -/* B1ED94 800A7BF4 A4AF0000 */ sh $t7, ($a1) -/* B1ED98 800A7BF8 C4880004 */ lwc1 $f8, 4($a0) -/* B1ED9C 800A7BFC 4600428D */ trunc.w.s $f10, $f8 -/* B1EDA0 800A7C00 44195000 */ mfc1 $t9, $f10 -/* B1EDA4 800A7C04 00000000 */ nop -/* B1EDA8 800A7C08 A4B90002 */ sh $t9, 2($a1) -/* B1EDAC 800A7C0C C4900008 */ lwc1 $f16, 8($a0) -/* B1EDB0 800A7C10 4600848D */ trunc.w.s $f18, $f16 -/* B1EDB4 800A7C14 44099000 */ mfc1 $t1, $f18 -/* B1EDB8 800A7C18 03E00008 */ jr $ra -/* B1EDBC 800A7C1C A4A90004 */ sh $t1, 4($a1) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7C20.s b/asm/non_matchings/code/z_skin_matrix/func_800A7C20.s deleted file mode 100644 index 6db8fe9151..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7C20.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel func_800A7C20 -/* B1EDC0 800A7C20 848E0000 */ lh $t6, ($a0) -/* B1EDC4 800A7C24 448E2000 */ mtc1 $t6, $f4 -/* B1EDC8 800A7C28 00000000 */ nop -/* B1EDCC 800A7C2C 468021A0 */ cvt.s.w $f6, $f4 -/* B1EDD0 800A7C30 E4A60000 */ swc1 $f6, ($a1) -/* B1EDD4 800A7C34 848F0002 */ lh $t7, 2($a0) -/* B1EDD8 800A7C38 448F4000 */ mtc1 $t7, $f8 -/* B1EDDC 800A7C3C 00000000 */ nop -/* B1EDE0 800A7C40 468042A0 */ cvt.s.w $f10, $f8 -/* B1EDE4 800A7C44 E4AA0004 */ swc1 $f10, 4($a1) -/* B1EDE8 800A7C48 84980004 */ lh $t8, 4($a0) -/* B1EDEC 800A7C4C 44988000 */ mtc1 $t8, $f16 -/* B1EDF0 800A7C50 00000000 */ nop -/* B1EDF4 800A7C54 468084A0 */ cvt.s.w $f18, $f16 -/* B1EDF8 800A7C58 03E00008 */ jr $ra -/* B1EDFC 800A7C5C E4B20008 */ swc1 $f18, 8($a1) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7C60.s b/asm/non_matchings/code/z_skin_matrix/func_800A7C60.s deleted file mode 100644 index 592bae7526..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7C60.s +++ /dev/null @@ -1,134 +0,0 @@ -glabel func_800A7C60 -/* B1EE00 800A7C60 3C014780 */ li $at, 0x47800000 # 0.000000 -/* B1EE04 800A7C64 44810000 */ mtc1 $at, $f0 -/* B1EE08 800A7C68 C4840000 */ lwc1 $f4, ($a0) -/* B1EE0C 800A7C6C 24A20020 */ addiu $v0, $a1, 0x20 -/* B1EE10 800A7C70 46002182 */ mul.s $f6, $f4, $f0 -/* B1EE14 800A7C74 4600320D */ trunc.w.s $f8, $f6 -/* B1EE18 800A7C78 44184000 */ mfc1 $t8, $f8 -/* B1EE1C 800A7C7C 00000000 */ nop -/* B1EE20 800A7C80 00187C03 */ sra $t7, $t8, 0x10 -/* B1EE24 800A7C84 A4AF0000 */ sh $t7, ($a1) -/* B1EE28 800A7C88 A4B80020 */ sh $t8, 0x20($a1) -/* B1EE2C 800A7C8C C48A0004 */ lwc1 $f10, 4($a0) -/* B1EE30 800A7C90 46005402 */ mul.s $f16, $f10, $f0 -/* B1EE34 800A7C94 4600848D */ trunc.w.s $f18, $f16 -/* B1EE38 800A7C98 44099000 */ mfc1 $t1, $f18 -/* B1EE3C 800A7C9C 00000000 */ nop -/* B1EE40 800A7CA0 00094403 */ sra $t0, $t1, 0x10 -/* B1EE44 800A7CA4 A4A80002 */ sh $t0, 2($a1) -/* B1EE48 800A7CA8 A4A90022 */ sh $t1, 0x22($a1) -/* B1EE4C 800A7CAC C4840008 */ lwc1 $f4, 8($a0) -/* B1EE50 800A7CB0 46002182 */ mul.s $f6, $f4, $f0 -/* B1EE54 800A7CB4 4600320D */ trunc.w.s $f8, $f6 -/* B1EE58 800A7CB8 440C4000 */ mfc1 $t4, $f8 -/* B1EE5C 800A7CBC 00000000 */ nop -/* B1EE60 800A7CC0 000C5C03 */ sra $t3, $t4, 0x10 -/* B1EE64 800A7CC4 A4AB0004 */ sh $t3, 4($a1) -/* B1EE68 800A7CC8 A4AC0024 */ sh $t4, 0x24($a1) -/* B1EE6C 800A7CCC C48A000C */ lwc1 $f10, 0xc($a0) -/* B1EE70 800A7CD0 46005402 */ mul.s $f16, $f10, $f0 -/* B1EE74 800A7CD4 4600848D */ trunc.w.s $f18, $f16 -/* B1EE78 800A7CD8 440F9000 */ mfc1 $t7, $f18 -/* B1EE7C 800A7CDC 00000000 */ nop -/* B1EE80 800A7CE0 000F7403 */ sra $t6, $t7, 0x10 -/* B1EE84 800A7CE4 A4AE0006 */ sh $t6, 6($a1) -/* B1EE88 800A7CE8 A4AF0026 */ sh $t7, 0x26($a1) -/* B1EE8C 800A7CEC C4840010 */ lwc1 $f4, 0x10($a0) -/* B1EE90 800A7CF0 46002182 */ mul.s $f6, $f4, $f0 -/* B1EE94 800A7CF4 4600320D */ trunc.w.s $f8, $f6 -/* B1EE98 800A7CF8 44084000 */ mfc1 $t0, $f8 -/* B1EE9C 800A7CFC 00000000 */ nop -/* B1EEA0 800A7D00 0008CC03 */ sra $t9, $t0, 0x10 -/* B1EEA4 800A7D04 A4B90008 */ sh $t9, 8($a1) -/* B1EEA8 800A7D08 A4A80028 */ sh $t0, 0x28($a1) -/* B1EEAC 800A7D0C C48A0014 */ lwc1 $f10, 0x14($a0) -/* B1EEB0 800A7D10 46005402 */ mul.s $f16, $f10, $f0 -/* B1EEB4 800A7D14 4600848D */ trunc.w.s $f18, $f16 -/* B1EEB8 800A7D18 440B9000 */ mfc1 $t3, $f18 -/* B1EEBC 800A7D1C 00000000 */ nop -/* B1EEC0 800A7D20 000B5403 */ sra $t2, $t3, 0x10 -/* B1EEC4 800A7D24 A4AA000A */ sh $t2, 0xa($a1) -/* B1EEC8 800A7D28 A4AB002A */ sh $t3, 0x2a($a1) -/* B1EECC 800A7D2C C4840018 */ lwc1 $f4, 0x18($a0) -/* B1EED0 800A7D30 46002182 */ mul.s $f6, $f4, $f0 -/* B1EED4 800A7D34 4600320D */ trunc.w.s $f8, $f6 -/* B1EED8 800A7D38 440E4000 */ mfc1 $t6, $f8 -/* B1EEDC 800A7D3C 00000000 */ nop -/* B1EEE0 800A7D40 000E6C03 */ sra $t5, $t6, 0x10 -/* B1EEE4 800A7D44 A4AD000C */ sh $t5, 0xc($a1) -/* B1EEE8 800A7D48 A4AE002C */ sh $t6, 0x2c($a1) -/* B1EEEC 800A7D4C C48A001C */ lwc1 $f10, 0x1c($a0) -/* B1EEF0 800A7D50 46005402 */ mul.s $f16, $f10, $f0 -/* B1EEF4 800A7D54 4600848D */ trunc.w.s $f18, $f16 -/* B1EEF8 800A7D58 44199000 */ mfc1 $t9, $f18 -/* B1EEFC 800A7D5C 00000000 */ nop -/* B1EF00 800A7D60 0019C403 */ sra $t8, $t9, 0x10 -/* B1EF04 800A7D64 A4B8000E */ sh $t8, 0xe($a1) -/* B1EF08 800A7D68 A4B9002E */ sh $t9, 0x2e($a1) -/* B1EF0C 800A7D6C C4840020 */ lwc1 $f4, 0x20($a0) -/* B1EF10 800A7D70 46002182 */ mul.s $f6, $f4, $f0 -/* B1EF14 800A7D74 4600320D */ trunc.w.s $f8, $f6 -/* B1EF18 800A7D78 440A4000 */ mfc1 $t2, $f8 -/* B1EF1C 800A7D7C 00000000 */ nop -/* B1EF20 800A7D80 000A4C03 */ sra $t1, $t2, 0x10 -/* B1EF24 800A7D84 A4A90010 */ sh $t1, 0x10($a1) -/* B1EF28 800A7D88 A4AA0030 */ sh $t2, 0x30($a1) -/* B1EF2C 800A7D8C C48A0024 */ lwc1 $f10, 0x24($a0) -/* B1EF30 800A7D90 46005402 */ mul.s $f16, $f10, $f0 -/* B1EF34 800A7D94 4600848D */ trunc.w.s $f18, $f16 -/* B1EF38 800A7D98 440D9000 */ mfc1 $t5, $f18 -/* B1EF3C 800A7D9C 00000000 */ nop -/* B1EF40 800A7DA0 000D6403 */ sra $t4, $t5, 0x10 -/* B1EF44 800A7DA4 A4AC0012 */ sh $t4, 0x12($a1) -/* B1EF48 800A7DA8 A44D0012 */ sh $t5, 0x12($v0) -/* B1EF4C 800A7DAC C4840028 */ lwc1 $f4, 0x28($a0) -/* B1EF50 800A7DB0 46002182 */ mul.s $f6, $f4, $f0 -/* B1EF54 800A7DB4 4600320D */ trunc.w.s $f8, $f6 -/* B1EF58 800A7DB8 44184000 */ mfc1 $t8, $f8 -/* B1EF5C 800A7DBC 00000000 */ nop -/* B1EF60 800A7DC0 00187C03 */ sra $t7, $t8, 0x10 -/* B1EF64 800A7DC4 A4AF0014 */ sh $t7, 0x14($a1) -/* B1EF68 800A7DC8 A4580014 */ sh $t8, 0x14($v0) -/* B1EF6C 800A7DCC C48A002C */ lwc1 $f10, 0x2c($a0) -/* B1EF70 800A7DD0 46005402 */ mul.s $f16, $f10, $f0 -/* B1EF74 800A7DD4 4600848D */ trunc.w.s $f18, $f16 -/* B1EF78 800A7DD8 44099000 */ mfc1 $t1, $f18 -/* B1EF7C 800A7DDC 00000000 */ nop -/* B1EF80 800A7DE0 00094403 */ sra $t0, $t1, 0x10 -/* B1EF84 800A7DE4 A4A80016 */ sh $t0, 0x16($a1) -/* B1EF88 800A7DE8 A4490016 */ sh $t1, 0x16($v0) -/* B1EF8C 800A7DEC C4840030 */ lwc1 $f4, 0x30($a0) -/* B1EF90 800A7DF0 46002182 */ mul.s $f6, $f4, $f0 -/* B1EF94 800A7DF4 4600320D */ trunc.w.s $f8, $f6 -/* B1EF98 800A7DF8 440C4000 */ mfc1 $t4, $f8 -/* B1EF9C 800A7DFC 00000000 */ nop -/* B1EFA0 800A7E00 000C5C03 */ sra $t3, $t4, 0x10 -/* B1EFA4 800A7E04 A4AB0018 */ sh $t3, 0x18($a1) -/* B1EFA8 800A7E08 A44C0018 */ sh $t4, 0x18($v0) -/* B1EFAC 800A7E0C C48A0034 */ lwc1 $f10, 0x34($a0) -/* B1EFB0 800A7E10 46005402 */ mul.s $f16, $f10, $f0 -/* B1EFB4 800A7E14 4600848D */ trunc.w.s $f18, $f16 -/* B1EFB8 800A7E18 440F9000 */ mfc1 $t7, $f18 -/* B1EFBC 800A7E1C 00000000 */ nop -/* B1EFC0 800A7E20 000F7403 */ sra $t6, $t7, 0x10 -/* B1EFC4 800A7E24 A4AE001A */ sh $t6, 0x1a($a1) -/* B1EFC8 800A7E28 A44F001A */ sh $t7, 0x1a($v0) -/* B1EFCC 800A7E2C C4840038 */ lwc1 $f4, 0x38($a0) -/* B1EFD0 800A7E30 46002182 */ mul.s $f6, $f4, $f0 -/* B1EFD4 800A7E34 4600320D */ trunc.w.s $f8, $f6 -/* B1EFD8 800A7E38 44084000 */ mfc1 $t0, $f8 -/* B1EFDC 800A7E3C 00000000 */ nop -/* B1EFE0 800A7E40 0008CC03 */ sra $t9, $t0, 0x10 -/* B1EFE4 800A7E44 A4B9001C */ sh $t9, 0x1c($a1) -/* B1EFE8 800A7E48 A448001C */ sh $t0, 0x1c($v0) -/* B1EFEC 800A7E4C C48A003C */ lwc1 $f10, 0x3c($a0) -/* B1EFF0 800A7E50 46005402 */ mul.s $f16, $f10, $f0 -/* B1EFF4 800A7E54 4600848D */ trunc.w.s $f18, $f16 -/* B1EFF8 800A7E58 440B9000 */ mfc1 $t3, $f18 -/* B1EFFC 800A7E5C 00000000 */ nop -/* B1F000 800A7E60 000B5403 */ sra $t2, $t3, 0x10 -/* B1F004 800A7E64 A4AA001E */ sh $t2, 0x1e($a1) -/* B1F008 800A7E68 03E00008 */ jr $ra -/* B1F00C 800A7E6C A44B001E */ sh $t3, 0x1e($v0) - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A7E70.s b/asm/non_matchings/code/z_skin_matrix/func_800A7E70.s deleted file mode 100644 index 0cea4a5695..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A7E70.s +++ /dev/null @@ -1,31 +0,0 @@ -.rdata -glabel D_80140810 - .asciz "Skin_Matrix_to_Mtx_new() 確保失敗:NULLを返して終了\n" - # EUC-JP: 確保失敗:NULLを返して終了 | Secure failure: Return NULL and end - .balign 4 - -.text -glabel func_800A7E70 -/* B1F010 800A7E70 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* B1F014 800A7E74 AFBF0014 */ sw $ra, 0x14($sp) -/* B1F018 800A7E78 AFA50024 */ sw $a1, 0x24($sp) -/* B1F01C 800A7E7C 0C031A73 */ jal Graph_Alloc -/* B1F020 800A7E80 24050040 */ li $a1, 64 -/* B1F024 800A7E84 14400006 */ bnez $v0, .L800A7EA0 -/* B1F028 800A7E88 00402825 */ move $a1, $v0 -/* B1F02C 800A7E8C 3C048014 */ lui $a0, %hi(D_80140810) # $a0, 0x8014 -/* B1F030 800A7E90 0C00084C */ jal osSyncPrintf -/* B1F034 800A7E94 24840810 */ addiu $a0, %lo(D_80140810) # addiu $a0, $a0, 0x810 -/* B1F038 800A7E98 10000005 */ b .L800A7EB0 -/* B1F03C 800A7E9C 00001025 */ move $v0, $zero -.L800A7EA0: -/* B1F040 800A7EA0 8FA40024 */ lw $a0, 0x24($sp) -/* B1F044 800A7EA4 0C029F18 */ jal func_800A7C60 -/* B1F048 800A7EA8 AFA5001C */ sw $a1, 0x1c($sp) -/* B1F04C 800A7EAC 8FA2001C */ lw $v0, 0x1c($sp) -.L800A7EB0: -/* B1F050 800A7EB0 8FBF0014 */ lw $ra, 0x14($sp) -/* B1F054 800A7EB4 27BD0020 */ addiu $sp, $sp, 0x20 -/* B1F058 800A7EB8 03E00008 */ jr $ra -/* B1F05C 800A7EBC 00000000 */ nop - diff --git a/asm/non_matchings/code/z_skin_matrix/func_800A8030.s b/asm/non_matchings/code/z_skin_matrix/func_800A8030.s deleted file mode 100644 index d05a1a728a..0000000000 --- a/asm/non_matchings/code/z_skin_matrix/func_800A8030.s +++ /dev/null @@ -1,91 +0,0 @@ -glabel func_800A8030 -/* B1F1D0 800A8030 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* B1F1D4 800A8034 F7B40008 */ sdc1 $f20, 8($sp) -/* B1F1D8 800A8038 C4A00000 */ lwc1 $f0, ($a1) -/* B1F1DC 800A803C C4A20004 */ lwc1 $f2, 4($a1) -/* B1F1E0 800A8040 C4AC0008 */ lwc1 $f12, 8($a1) -/* B1F1E4 800A8044 46000102 */ mul.s $f4, $f0, $f0 -/* B1F1E8 800A8048 C4B4000C */ lwc1 $f20, 0xc($a1) -/* B1F1EC 800A804C 3C014000 */ li $at, 0x40000000 # 0.000000 -/* B1F1F0 800A8050 46021182 */ mul.s $f6, $f2, $f2 -/* B1F1F4 800A8054 46062200 */ add.s $f8, $f4, $f6 -/* B1F1F8 800A8058 460C6282 */ mul.s $f10, $f12, $f12 -/* B1F1FC 800A805C 460A4100 */ add.s $f4, $f8, $f10 -/* B1F200 800A8060 4614A182 */ mul.s $f6, $f20, $f20 -/* B1F204 800A8064 44815000 */ mtc1 $at, $f10 -/* B1F208 800A8068 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B1F20C 800A806C 46062200 */ add.s $f8, $f4, $f6 -/* B1F210 800A8070 46085483 */ div.s $f18, $f10, $f8 -/* B1F214 800A8074 46120102 */ mul.s $f4, $f0, $f18 -/* B1F218 800A8078 E7A40040 */ swc1 $f4, 0x40($sp) -/* B1F21C 800A807C 46121402 */ mul.s $f16, $f2, $f18 -/* B1F220 800A8080 C7A60040 */ lwc1 $f6, 0x40($sp) -/* B1F224 800A8084 46126382 */ mul.s $f14, $f12, $f18 -/* B1F228 800A8088 00000000 */ nop -/* B1F22C 800A808C 4606A282 */ mul.s $f10, $f20, $f6 -/* B1F230 800A8090 00000000 */ nop -/* B1F234 800A8094 4610A202 */ mul.s $f8, $f20, $f16 -/* B1F238 800A8098 00000000 */ nop -/* B1F23C 800A809C 460EA102 */ mul.s $f4, $f20, $f14 -/* B1F240 800A80A0 E7AA0034 */ swc1 $f10, 0x34($sp) -/* B1F244 800A80A4 46060282 */ mul.s $f10, $f0, $f6 -/* B1F248 800A80A8 E7A80030 */ swc1 $f8, 0x30($sp) -/* B1F24C 800A80AC 46100202 */ mul.s $f8, $f0, $f16 -/* B1F250 800A80B0 E7A4002C */ swc1 $f4, 0x2c($sp) -/* B1F254 800A80B4 460E0482 */ mul.s $f18, $f0, $f14 -/* B1F258 800A80B8 E7AA0028 */ swc1 $f10, 0x28($sp) -/* B1F25C 800A80BC 44800000 */ mtc1 $zero, $f0 -/* B1F260 800A80C0 46101102 */ mul.s $f4, $f2, $f16 -/* B1F264 800A80C4 E7A80024 */ swc1 $f8, 0x24($sp) -/* B1F268 800A80C8 44818000 */ mtc1 $at, $f16 -/* B1F26C 800A80CC 460E1182 */ mul.s $f6, $f2, $f14 -/* B1F270 800A80D0 00000000 */ nop -/* B1F274 800A80D4 460E6282 */ mul.s $f10, $f12, $f14 -/* B1F278 800A80D8 E7A4001C */ swc1 $f4, 0x1c($sp) -/* B1F27C 800A80DC C7A8001C */ lwc1 $f8, 0x1c($sp) -/* B1F280 800A80E0 E7A60018 */ swc1 $f6, 0x18($sp) -/* B1F284 800A80E4 E7AA0014 */ swc1 $f10, 0x14($sp) -/* B1F288 800A80E8 C7A40014 */ lwc1 $f4, 0x14($sp) -/* B1F28C 800A80EC 44815000 */ mtc1 $at, $f10 -/* B1F290 800A80F0 46044180 */ add.s $f6, $f8, $f4 -/* B1F294 800A80F4 46065201 */ sub.s $f8, $f10, $f6 -/* B1F298 800A80F8 E4880000 */ swc1 $f8, ($a0) -/* B1F29C 800A80FC C7AA002C */ lwc1 $f10, 0x2c($sp) -/* B1F2A0 800A8100 C7A40024 */ lwc1 $f4, 0x24($sp) -/* B1F2A4 800A8104 460A2180 */ add.s $f6, $f4, $f10 -/* B1F2A8 800A8108 E4860004 */ swc1 $f6, 4($a0) -/* B1F2AC 800A810C C7A80030 */ lwc1 $f8, 0x30($sp) -/* B1F2B0 800A8110 46089101 */ sub.s $f4, $f18, $f8 -/* B1F2B4 800A8114 E4840008 */ swc1 $f4, 8($a0) -/* B1F2B8 800A8118 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* B1F2BC 800A811C C7AC0034 */ lwc1 $f12, 0x34($sp) -/* B1F2C0 800A8120 C7A20018 */ lwc1 $f2, 0x18($sp) -/* B1F2C4 800A8124 E480000C */ swc1 $f0, 0xc($a0) -/* B1F2C8 800A8128 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* B1F2CC 800A812C C7AA0024 */ lwc1 $f10, 0x24($sp) -/* B1F2D0 800A8130 46065201 */ sub.s $f8, $f10, $f6 -/* B1F2D4 800A8134 E4880010 */ swc1 $f8, 0x10($a0) -/* B1F2D8 800A8138 C7A40014 */ lwc1 $f4, 0x14($sp) -/* B1F2DC 800A813C 460C1200 */ add.s $f8, $f2, $f12 -/* B1F2E0 800A8140 E480001C */ swc1 $f0, 0x1c($a0) -/* B1F2E4 800A8144 46047280 */ add.s $f10, $f14, $f4 -/* B1F2E8 800A8148 E4880018 */ swc1 $f8, 0x18($a0) -/* B1F2EC 800A814C 460A8181 */ sub.s $f6, $f16, $f10 -/* B1F2F0 800A8150 E4860014 */ swc1 $f6, 0x14($a0) -/* B1F2F4 800A8154 C7A40030 */ lwc1 $f4, 0x30($sp) -/* B1F2F8 800A8158 460C1181 */ sub.s $f6, $f2, $f12 -/* B1F2FC 800A815C 46041280 */ add.s $f10, $f2, $f4 -/* B1F300 800A8160 E4860024 */ swc1 $f6, 0x24($a0) -/* B1F304 800A8164 E48A0020 */ swc1 $f10, 0x20($a0) -/* B1F308 800A8168 C7A8001C */ lwc1 $f8, 0x1c($sp) -/* B1F30C 800A816C E480002C */ swc1 $f0, 0x2c($a0) -/* B1F310 800A8170 E4800030 */ swc1 $f0, 0x30($a0) -/* B1F314 800A8174 46087100 */ add.s $f4, $f14, $f8 -/* B1F318 800A8178 E4800034 */ swc1 $f0, 0x34($a0) -/* B1F31C 800A817C E4800038 */ swc1 $f0, 0x38($a0) -/* B1F320 800A8180 E490003C */ swc1 $f16, 0x3c($a0) -/* B1F324 800A8184 46048281 */ sub.s $f10, $f16, $f4 -/* B1F328 800A8188 E48A0028 */ swc1 $f10, 0x28($a0) -/* B1F32C 800A818C D7B40008 */ ldc1 $f20, 8($sp) -/* B1F330 800A8190 03E00008 */ jr $ra -/* B1F334 800A8194 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Ship/BgHakaShip_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Ship/BgHakaShip_Draw.s index 6b3f031397..636e0bcc26 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Ship/BgHakaShip_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Haka_Ship/BgHakaShip_Draw.s @@ -212,7 +212,7 @@ glabel BgHakaShip_Draw /* 00968 8087FA68 00812021 */ addu $a0, $a0, $at /* 0096C 8087FA6C E7AA0030 */ swc1 $f10, 0x0030($sp) /* 00970 8087FA70 C470002C */ lwc1 $f16, 0x002C($v1) ## 0000002C -/* 00974 8087FA74 0C029BBD */ jal func_800A6EF4 +/* 00974 8087FA74 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 00978 8087FA78 E7B00034 */ swc1 $f16, 0x0034($sp) /* 0097C 8087FA7C 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C /* 00980 8087FA80 0C01E245 */ jal func_80078914 diff --git a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Rock/BgHidanRock_Draw.s b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Rock/BgHidanRock_Draw.s index 518f4b9478..46369f95aa 100644 --- a/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Rock/BgHidanRock_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_Bg_Hidan_Rock/BgHidanRock_Draw.s @@ -38,14 +38,14 @@ glabel BgHidanRock_Draw /* 00E84 8088BF04 26060170 */ addiu $a2, $s0, 0x0170 ## $a2 = 00000170 /* 00E88 8088BF08 AFA60024 */ sw $a2, 0x0024($sp) /* 00E8C 8088BF0C 24A5BF60 */ addiu $a1, $a1, %lo(D_8088BF60) ## $a1 = 8088BF60 -/* 00E90 8088BF10 0C029BBD */ jal func_800A6EF4 +/* 00E90 8088BF10 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 00E94 8088BF14 02212021 */ addu $a0, $s1, $at /* 00E98 8088BF18 10000006 */ beq $zero, $zero, .L8088BF34 /* 00E9C 8088BF1C 8FA60024 */ lw $a2, 0x0024($sp) .L8088BF20: /* 00EA0 8088BF20 26060170 */ addiu $a2, $s0, 0x0170 ## $a2 = 00000170 /* 00EA4 8088BF24 AFA60024 */ sw $a2, 0x0024($sp) -/* 00EA8 8088BF28 0C029BBD */ jal func_800A6EF4 +/* 00EA8 8088BF28 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 00EAC 8088BF2C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008 /* 00EB0 8088BF30 8FA60024 */ lw $a2, 0x0024($sp) .L8088BF34: diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/BossMo_Update.s b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/BossMo_Update.s index 77f1adb615..032928ffec 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Mo/BossMo_Update.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Mo/BossMo_Update.s @@ -60,7 +60,7 @@ glabel BossMo_Update /* 074FC 80922FFC 02212021 */ addu $a0, $s1, $at /* 07500 80923000 26450F50 */ addiu $a1, $s2, 0x0F50 ## $a1 = 00000F50 /* 07504 80923004 264700F0 */ addiu $a3, $s2, 0x00F0 ## $a3 = 000000F0 -/* 07508 80923008 0C029B84 */ jal func_800A6E10 +/* 07508 80923008 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 0750C 8092300C AFB100BC */ sw $s1, 0x00BC($sp) /* 07510 80923010 3C048092 */ lui $a0, %hi(D_809269F8) ## $a0 = 80920000 /* 07514 80923014 248469F8 */ addiu $a0, $a0, %lo(D_809269F8) ## $a0 = 809269F8 diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s index 6a5e2ce1c9..652218f397 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809352DC.s @@ -316,7 +316,7 @@ glabel func_809352DC /* 09160 80935730 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60 /* 09164 80935734 26250038 */ addiu $a1, $s1, 0x0038 ## $a1 = 00000038 /* 09168 80935738 262603C8 */ addiu $a2, $s1, 0x03C8 ## $a2 = 000003C8 -/* 0916C 8093573C 0C029BBD */ jal func_800A6EF4 +/* 0916C 8093573C 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 09170 80935740 00812021 */ addu $a0, $a0, $at /* 09174 80935744 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 09178 80935748 0C24D8E7 */ jal func_8093639C diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809360FC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809360FC.s index 1be9ff0ea2..728e8fb60c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809360FC.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Sst/func_809360FC.s @@ -139,7 +139,7 @@ glabel func_809360FC /* 09D2C 809362FC AFA20030 */ sw $v0, 0x0030($sp) /* 09D30 80936300 AFA3001C */ sw $v1, 0x001C($sp) /* 09D34 80936304 AFA70038 */ sw $a3, 0x0038($sp) -/* 09D38 80936308 0C029BBD */ jal func_800A6EF4 +/* 09D38 80936308 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 09D3C 8093630C 00812021 */ addu $a0, $a0, $at /* 09D40 80936310 8FA40038 */ lw $a0, 0x0038($sp) /* 09D44 80936314 0C24CF4B */ jal func_80933D2C diff --git a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s index 8319f183c4..99b8f2ffb4 100644 --- a/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s +++ b/asm/non_matchings/overlays/actors/ovl_Boss_Tw/func_8093B1AC.s @@ -584,7 +584,7 @@ glabel func_8093B1AC /* 02CCC 8093B99C 02203025 */ or $a2, $s1, $zero ## $a2 = 0000054C /* 02CD0 8093B9A0 02602825 */ or $a1, $s3, $zero ## $a1 = 0000050C /* 02CD4 8093B9A4 02C12021 */ addu $a0, $s6, $at -/* 02CD8 8093B9A8 0C029B84 */ jal func_800A6E10 +/* 02CD8 8093B9A8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 02CDC 8093B9AC 26A700F0 */ addiu $a3, $s5, 0x00F0 ## $a3 = 000000F0 /* 02CE0 8093B9B0 86AC001C */ lh $t4, 0x001C($s5) ## 0000001C /* 02CE4 8093B9B4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 @@ -681,7 +681,7 @@ glabel func_8093B1AC /* 02E24 8093BAF4 02203025 */ or $a2, $s1, $zero ## $a2 = 00000558 /* 02E28 8093BAF8 02C12021 */ addu $a0, $s6, $at /* 02E2C 8093BAFC 26A50530 */ addiu $a1, $s5, 0x0530 ## $a1 = 00000530 -/* 02E30 8093BB00 0C029B84 */ jal func_800A6E10 +/* 02E30 8093BB00 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 02E34 8093BB04 26A700F0 */ addiu $a3, $s5, 0x00F0 ## $a3 = 000000F0 /* 02E38 8093BB08 86AB001C */ lh $t3, 0x001C($s5) ## 0000001C /* 02E3C 8093BB0C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BB90.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BB90.s index 6e618be896..f50b4bb68e 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BB90.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BB90.s @@ -4,7 +4,7 @@ glabel func_80A5BB90 /* 008A8 80A5BB98 AFBF0014 */ sw $ra, 0x0014($sp) /* 008AC 80A5BB9C AFA40018 */ sw $a0, 0x0018($sp) /* 008B0 80A5BBA0 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60 -/* 008B4 80A5BBA4 0C029B84 */ jal func_800A6E10 +/* 008B4 80A5BBA4 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 008B8 80A5BBA8 00812021 */ addu $a0, $a0, $at /* 008BC 80A5BBAC 8FBF0014 */ lw $ra, 0x0014($sp) /* 008C0 80A5BBB0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BD94.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BD94.s index 1dea2ec8ef..7c4ca630f5 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BD94.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A5BD94.s @@ -134,7 +134,7 @@ glabel func_80A5BD94 /* 00C84 80A5BF74 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000 /* 00C88 80A5BF78 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024 /* 00C8C 80A5BF7C 02803025 */ or $a2, $s4, $zero ## $a2 = 000000E4 -/* 00C90 80A5BF80 0C029B84 */ jal func_800A6E10 +/* 00C90 80A5BF80 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 00C94 80A5BF84 02A03825 */ or $a3, $s5, $zero ## $a3 = 000000F0 .L80A5BF88: /* 00C98 80A5BF88 3C0A80A6 */ lui $t2, %hi(D_80A665DA) ## $t2 = 80A60000 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A65108.s b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A65108.s index 745422a4a5..a3b451cc67 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A65108.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Horse/func_80A65108.s @@ -113,7 +113,7 @@ glabel func_80A65108 /* 09F74 80A65264 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFF84 /* 09F78 80A65268 26060228 */ addiu $a2, $s0, 0x0228 ## $a2 = 00000228 /* 09F7C 80A6526C 27A70028 */ addiu $a3, $sp, 0x0028 ## $a3 = FFFFFF80 -/* 09F80 80A65270 0C029B84 */ jal func_800A6E10 +/* 09F80 80A65270 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 09F84 80A65274 00812021 */ addu $a0, $a0, $at /* 09F88 80A65278 8E030210 */ lw $v1, 0x0210($s0) ## 00000210 /* 09F8C 80A6527C C7A20054 */ lwc1 $f2, 0x0054($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s index 8d6fbfd527..2bf662d1c9 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/EnHorseNormal_Draw.s @@ -219,10 +219,11 @@ glabel EnHorseNormal_Draw /* 01EF4 80A6D144 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFA4 /* 01EF8 80A6D148 E7AA0024 */ swc1 $f10, 0x0024($sp) /* 01EFC 80A6D14C 46062200 */ add.s $f8, $f4, $f6 -/* 01F00 80A6D150 0C029EC1 */ jal func_800A7B04 +/* 01F00 80A6D150 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate + /* 01F04 80A6D154 E7A80020 */ swc1 $f8, 0x0020($sp) /* 01F08 80A6D158 8E240000 */ lw $a0, 0x0000($s1) ## 00000000 -/* 01F0C 80A6D15C 0C029F9C */ jal func_800A7E70 +/* 01F0C 80A6D15C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 01F10 80A6D160 27A50074 */ addiu $a1, $sp, 0x0074 ## $a1 = FFFFFFA4 /* 01F14 80A6D164 10400075 */ beq $v0, $zero, .L80A6D33C /* 01F18 80A6D168 8FA800C4 */ lw $t0, 0x00C4($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s index 7d92acb5d9..b5c38cc4bb 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Horse_Normal/func_80A6CC88.s @@ -13,7 +13,7 @@ glabel func_80A6CC88 /* 01A64 80A6CCB4 AFA60034 */ sw $a2, 0x0034($sp) /* 01A68 80A6CCB8 00812021 */ addu $a0, $a0, $at /* 01A6C 80A6CCBC 27A70038 */ addiu $a3, $sp, 0x0038 ## $a3 = FFFFFFF8 -/* 01A70 80A6CCC0 0C029B84 */ jal func_800A6E10 +/* 01A70 80A6CCC0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 01A74 80A6CCC4 E7A0003C */ swc1 $f0, 0x003C($sp) /* 01A78 80A6CCC8 8FAE0034 */ lw $t6, 0x0034($sp) /* 01A7C 80A6CCCC C7A0003C */ lwc1 $f0, 0x003C($sp) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A772EC.s b/asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A772EC.s index 257525d15f..b6670b9549 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A772EC.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Ik/func_80A772EC.s @@ -10,7 +10,7 @@ glabel func_80A772EC /* 02FFC 80A7730C 3C0680A8 */ lui $a2, %hi(D_80A78FA0) ## $a2 = 80A80000 /* 03000 80A77310 24C68FA0 */ addiu $a2, $a2, %lo(D_80A78FA0) ## $a2 = 80A78FA0 /* 03004 80A77314 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFF4 -/* 03008 80A77318 0C029B84 */ jal func_800A6E10 +/* 03008 80A77318 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 0300C 80A7731C 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024 /* 03010 80A77320 3C078013 */ lui $a3, %hi(D_801333E0) /* 03014 80A77324 3C0E8013 */ lui $t6, %hi(D_801333E8) diff --git a/asm/non_matchings/overlays/actors/ovl_En_Wood02/func_80B3AF70.s b/asm/non_matchings/overlays/actors/ovl_En_Wood02/func_80B3AF70.s index 6f7b8e2cb9..3f748e5394 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Wood02/func_80B3AF70.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Wood02/func_80B3AF70.s @@ -10,7 +10,7 @@ glabel func_80B3AF70 /* 00020 80B3AF90 AFA60028 */ sw $a2, 0x0028($sp) /* 00024 80B3AF94 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000 /* 00028 80B3AF98 260600E4 */ addiu $a2, $s0, 0x00E4 ## $a2 = 000000E4 -/* 0002C 80B3AF9C 0C029B84 */ jal func_800A6E10 +/* 0002C 80B3AF9C 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 00030 80B3AFA0 260700F0 */ addiu $a3, $s0, 0x00F0 ## $a3 = 000000F0 /* 00034 80B3AFA4 C60200F0 */ lwc1 $f2, 0x00F0($s0) ## 000000F0 /* 00038 80B3AFA8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D014.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D014.s index 49a3e1fb0b..6df66fed98 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D014.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3D014.s @@ -29,7 +29,7 @@ glabel func_80B3D014 /* 00EA0 80B3D080 27A7003C */ addiu $a3, $sp, 0x003C ## $a3 = FFFFFFEC /* 00EA4 80B3D084 ACA80008 */ sw $t0, 0x0008($a1) ## FFFFFFE8 /* 00EA8 80B3D088 8FA40054 */ lw $a0, 0x0054($sp) -/* 00EAC 80B3D08C 0C029B84 */ jal func_800A6E10 +/* 00EAC 80B3D08C 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 00EB0 80B3D090 00812021 */ addu $a0, $a0, $at /* 00EB4 80B3D094 3C0480B4 */ lui $a0, %hi(D_80B42D90) ## $a0 = 80B40000 /* 00EB8 80B3D098 24842D90 */ addiu $a0, $a0, %lo(D_80B42D90) ## $a0 = 80B42D90 @@ -55,7 +55,7 @@ glabel func_80B3D014 /* 00F04 80B3D0E4 27A7003C */ addiu $a3, $sp, 0x003C ## $a3 = FFFFFFEC /* 00F08 80B3D0E8 ACAB0008 */ sw $t3, 0x0008($a1) ## FFFFFFDC /* 00F0C 80B3D0EC 8FA40054 */ lw $a0, 0x0054($sp) -/* 00F10 80B3D0F0 0C029B84 */ jal func_800A6E10 +/* 00F10 80B3D0F0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 00F14 80B3D0F4 00812021 */ addu $a0, $a0, $at /* 00F18 80B3D0F8 3C0480B4 */ lui $a0, %hi(D_80B42D90) ## $a0 = 80B40000 /* 00F1C 80B3D0FC 24842D90 */ addiu $a0, $a0, %lo(D_80B42D90) ## $a0 = 80B42D90 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F3F8.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F3F8.s index 92524a9efa..3a0f9c053e 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F3F8.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3F3F8.s @@ -10,7 +10,7 @@ glabel func_80B3F3F8 /* 03238 80B3F418 3C0680B4 */ lui $a2, %hi(D_80B42DA0) ## $a2 = 80B40000 /* 0323C 80B3F41C 24C62DA0 */ addiu $a2, $a2, %lo(D_80B42DA0) ## $a2 = 80B42DA0 /* 03240 80B3F420 27A70018 */ addiu $a3, $sp, 0x0018 ## $a3 = FFFFFFF8 -/* 03244 80B3F424 0C029B84 */ jal func_800A6E10 +/* 03244 80B3F424 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 03248 80B3F428 00812021 */ addu $a0, $a0, $at /* 0324C 80B3F42C 3C0480B4 */ lui $a0, %hi(D_80B42DA0) ## $a0 = 80B40000 /* 03250 80B3F430 24842DA0 */ addiu $a0, $a0, %lo(D_80B42DA0) ## $a0 = 80B42DA0 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FA4C.s b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FA4C.s index a8f0ed2e90..725e59eb18 100644 --- a/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FA4C.s +++ b/asm/non_matchings/overlays/actors/ovl_En_Xc/func_80B3FA4C.s @@ -23,7 +23,7 @@ glabel func_80B3FA4C /* 038C0 80B3FAA0 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFEC /* 038C4 80B3FAA4 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFE0 /* 038C8 80B3FAA8 27A70018 */ addiu $a3, $sp, 0x0018 ## $a3 = FFFFFFD0 -/* 038CC 80B3FAAC 0C029B84 */ jal func_800A6E10 +/* 038CC 80B3FAAC 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 038D0 80B3FAB0 00812021 */ addu $a0, $a0, $at /* 038D4 80B3FAB4 8FA4004C */ lw $a0, 0x004C($sp) /* 038D8 80B3FAB8 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFE0 diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B6E9E0.s b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B6E9E0.s index 3090cc10f4..b6583a2d5c 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B6E9E0.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B6E9E0.s @@ -425,7 +425,7 @@ glabel func_80B6E9E0 /* 05400 80B6EDA0 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4 /* 05404 80B6EDA4 24C6AF94 */ addiu $a2, $a2, %lo(D_80B7AF94) ## $a2 = 80B7AF94 /* 05408 80B6EDA8 24A5E0B8 */ addiu $a1, $a1, %lo(D_80B7E0B8) ## $a1 = 80B7E0B8 -/* 0540C 80B6EDAC 0C029B84 */ jal func_800A6E10 +/* 0540C 80B6EDAC 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 05410 80B6EDB0 00812021 */ addu $a0, $a0, $at /* 05414 80B6EDB4 3C0F80B8 */ lui $t7, %hi(D_80B7A694) ## $t7 = 80B80000 /* 05418 80B6EDB8 85EFA694 */ lh $t7, %lo(D_80B7A694)($t7) diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B761B8.s b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B761B8.s index b591eba84f..1b8b1f3739 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B761B8.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B761B8.s @@ -37,7 +37,7 @@ glabel func_80B761B8 /* 0C88C 80B7622C A6380032 */ sh $t8, 0x0032($s1) ## 80B7FF2A /* 0C890 80B76230 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4 /* 0C894 80B76234 02202825 */ or $a1, $s1, $zero ## $a1 = 80B7FEF8 -/* 0C898 80B76238 0C029B84 */ jal func_800A6E10 +/* 0C898 80B76238 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 0C89C 80B7623C 26260018 */ addiu $a2, $s1, 0x0018 ## $a2 = 80B7FF10 /* 0C8A0 80B76240 C6220020 */ lwc1 $f2, 0x0020($s1) ## 80B7FF18 /* 0C8A4 80B76244 C6240038 */ lwc1 $f4, 0x0038($s1) ## 80B7FF30 diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B768FC.s b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B768FC.s index 674e0e74f6..58e8f91645 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B768FC.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B768FC.s @@ -333,7 +333,7 @@ glabel func_80B768FC /* 0D374 80B76D14 A60D0002 */ sh $t5, 0x0002($s0) ## 80B81FCA /* 0D378 80B76D18 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4 /* 0D37C 80B76D1C 02A03025 */ or $a2, $s5, $zero ## $a2 = 80B81FE4 -/* 0D380 80B76D20 0C029B84 */ jal func_800A6E10 +/* 0D380 80B76D20 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 0D384 80B76D24 02802825 */ or $a1, $s4, $zero ## $a1 = 80B81FCC /* 0D388 80B76D28 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 /* 0D38C 80B76D2C 44818000 */ mtc1 $at, $f16 ## $f16 = 400.00 diff --git a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s index 92b48dcb3a..e1f13e2fe1 100644 --- a/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s +++ b/asm/non_matchings/overlays/actors/ovl_Fishing/func_80B7825C.s @@ -2085,7 +2085,7 @@ glabel L80B7955C /* 1050C 80B79EAC 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFF24 /* 10510 80B79EB0 45000014 */ bc1f .L80B79F04 /* 10514 80B79EB4 00000000 */ nop -/* 10518 80B79EB8 0C029B84 */ jal func_800A6E10 +/* 10518 80B79EB8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 1051C 80B79EBC A7A30076 */ sh $v1, 0x0076($sp) /* 10520 80B79EC0 C7A40054 */ lwc1 $f4, 0x0054($sp) /* 10524 80B79EC4 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00 @@ -2160,7 +2160,7 @@ glabel L80B7955C /* 1061C 80B79FBC 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4 /* 10620 80B79FC0 24C65138 */ addiu $a2, $a2, %lo(D_80B85138) ## $a2 = 80B85138 /* 10624 80B79FC4 24A5AFD0 */ addiu $a1, $a1, %lo(D_80B7AFD0) ## $a1 = 80B7AFD0 -/* 10628 80B79FC8 0C029B84 */ jal func_800A6E10 +/* 10628 80B79FC8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 1062C 80B79FCC 02012021 */ addu $a0, $s0, $at /* 10630 80B79FD0 3C0480B8 */ lui $a0, %hi(D_80B85138) ## $a0 = 80B80000 /* 10634 80B79FD4 24845138 */ addiu $a0, $a0, %lo(D_80B85138) ## $a0 = 80B85138 diff --git a/asm/non_matchings/overlays/actors/ovl_player_actor/func_8084A5C4.s b/asm/non_matchings/overlays/actors/ovl_player_actor/func_8084A5C4.s index 850e375e8e..92208f2144 100644 --- a/asm/non_matchings/overlays/actors/ovl_player_actor/func_8084A5C4.s +++ b/asm/non_matchings/overlays/actors/ovl_player_actor/func_8084A5C4.s @@ -126,7 +126,7 @@ glabel func_8084A5C4 /* 18528 8084A738 8FA400B4 */ lw $a0, 0x00B4($sp) /* 1852C 8084A73C 00812021 */ addu $a0, $a0, $at /* 18530 8084A740 26050038 */ addiu $a1, $s0, 0x0038 ## $a1 = 00000038 -/* 18534 8084A744 0C029BBD */ jal func_800A6EF4 +/* 18534 8084A744 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 18538 8084A748 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFCC /* 1853C 8084A74C 3C01C080 */ lui $at, 0xC080 ## $at = C0800000 /* 18540 8084A750 44812000 */ mtc1 $at, $f4 ## $f4 = -4.00 diff --git a/asm/non_matchings/overlays/actors/ovl_player_actor/func_808526EC.s b/asm/non_matchings/overlays/actors/ovl_player_actor/func_808526EC.s index 2da2152ece..7e412463b1 100644 --- a/asm/non_matchings/overlays/actors/ovl_player_actor/func_808526EC.s +++ b/asm/non_matchings/overlays/actors/ovl_player_actor/func_808526EC.s @@ -64,7 +64,7 @@ glabel func_808526EC /* 205C4 808527D4 24840A20 */ addiu $a0, $a0, 0x0A20 ## $a0 = 00000A20 /* 205C8 808527D8 46805420 */ cvt.s.w $f16, $f10 /* 205CC 808527DC 46100480 */ add.s $f18, $f0, $f16 -/* 205D0 808527E0 0C029BBD */ jal func_800A6EF4 +/* 205D0 808527E0 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ /* 205D4 808527E4 E7B2003C */ swc1 $f18, 0x003C($sp) /* 205D8 808527E8 3C068085 */ lui $a2, %hi(D_80855228) ## $a2 = 80850000 /* 205DC 808527EC 3C188085 */ lui $t8, %hi(D_80855234) ## $t8 = 80850000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_D_Fire/func_809A0698.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_D_Fire/func_809A0698.s index ebf06e3cef..d5743349e9 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_D_Fire/func_809A0698.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_D_Fire/func_809A0698.s @@ -63,28 +63,28 @@ glabel func_809A0698 /* 00210 809A0760 AFA80024 */ sw $t0, 0x0024($sp) /* 00214 809A0764 27A40124 */ addiu $a0, $sp, 0x0124 ## $a0 = FFFFFFBC /* 00218 809A0768 46083003 */ div.s $f0, $f6, $f8 -/* 0021C 809A076C 0C029E89 */ jal func_800A7A24 +/* 0021C 809A076C 0C029E89 */ jal SkinMatrix_SetTranslate /* 00220 809A0770 E7A00054 */ swc1 $f0, 0x0054($sp) /* 00224 809A0774 C7A00054 */ lwc1 $f0, 0x0054($sp) /* 00228 809A0778 27A400E4 */ addiu $a0, $sp, 0x00E4 ## $a0 = FFFFFF7C /* 0022C 809A077C 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000 /* 00230 809A0780 44050000 */ mfc1 $a1, $f0 /* 00234 809A0784 44060000 */ mfc1 $a2, $f0 -/* 00238 809A0788 0C029DA9 */ jal func_800A76A4 +/* 00238 809A0788 0C029DA9 */ jal SkinMatrix_SetScale /* 0023C 809A078C 00000000 */ nop /* 00240 809A0790 8FA50168 */ lw $a1, 0x0168($sp) /* 00244 809A0794 3C010001 */ lui $at, 0x0001 ## $at = 00010000 /* 00248 809A0798 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 /* 0024C 809A079C 27A40124 */ addiu $a0, $sp, 0x0124 ## $a0 = FFFFFFBC /* 00250 809A07A0 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFEFC -/* 00254 809A07A4 0C029BE8 */ jal func_800A6FA0 +/* 00254 809A07A4 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 00258 809A07A8 00A12821 */ addu $a1, $a1, $at /* 0025C 809A07AC 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFEFC /* 00260 809A07B0 27A500E4 */ addiu $a1, $sp, 0x00E4 ## $a1 = FFFFFF7C -/* 00264 809A07B4 0C029BE8 */ jal func_800A6FA0 +/* 00264 809A07B4 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 00268 809A07B8 27A600A4 */ addiu $a2, $sp, 0x00A4 ## $a2 = FFFFFF3C /* 0026C 809A07BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00270 809A07C0 0C029F9C */ jal func_800A7E70 +/* 00270 809A07C0 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 00274 809A07C4 27A500A4 */ addiu $a1, $sp, 0x00A4 ## $a1 = FFFFFF3C /* 00278 809A07C8 10400045 */ beq $v0, $zero, .L809A08E0 /* 0027C 809A07CC 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0BB8.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0BB8.s index 4ddc66ce27..ace6998d91 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0BB8.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0BB8.s @@ -37,21 +37,21 @@ glabel func_809A0BB8 /* 0016C 809A0C0C 8E070008 */ lw $a3, 0x0008($s0) ## 00000008 /* 00170 809A0C10 27A400D4 */ addiu $a0, $sp, 0x00D4 ## $a0 = FFFFFFBC /* 00174 809A0C14 46083002 */ mul.s $f0, $f6, $f8 -/* 00178 809A0C18 0C029E89 */ jal func_800A7A24 +/* 00178 809A0C18 0C029E89 */ jal SkinMatrix_SetTranslate /* 0017C 809A0C1C E7A0004C */ swc1 $f0, 0x004C($sp) /* 00180 809A0C20 C7A0004C */ lwc1 $f0, 0x004C($sp) /* 00184 809A0C24 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFF7C /* 00188 809A0C28 44050000 */ mfc1 $a1, $f0 /* 0018C 809A0C2C 44060000 */ mfc1 $a2, $f0 /* 00190 809A0C30 44070000 */ mfc1 $a3, $f0 -/* 00194 809A0C34 0C029DA9 */ jal func_800A76A4 +/* 00194 809A0C34 0C029DA9 */ jal SkinMatrix_SetScale /* 00198 809A0C38 00000000 */ nop /* 0019C 809A0C3C 27A400D4 */ addiu $a0, $sp, 0x00D4 ## $a0 = FFFFFFBC /* 001A0 809A0C40 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFF7C -/* 001A4 809A0C44 0C029BE8 */ jal func_800A6FA0 +/* 001A4 809A0C44 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 001A8 809A0C48 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFF3C /* 001AC 809A0C4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 -/* 001B0 809A0C50 0C029F9C */ jal func_800A7E70 +/* 001B0 809A0C50 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 001B4 809A0C54 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFF3C /* 001B8 809A0C58 1040004B */ beq $v0, $zero, .L809A0D88 /* 001BC 809A0C5C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0DB4.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0DB4.s index 159756d993..d7eaaa74d1 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0DB4.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Db/func_809A0DB4.s @@ -80,7 +80,7 @@ glabel func_809A0DB4 /* 00434 809A0ED4 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60 /* 00438 809A0ED8 00812021 */ addu $a0, $a0, $at /* 0043C 809A0EDC 27A7002C */ addiu $a3, $sp, 0x002C ## $a3 = FFFFFFFC -/* 00440 809A0EE0 0C029B84 */ jal func_800A6E10 +/* 00440 809A0EE0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 00444 809A0EE4 AFA60024 */ sw $a2, 0x0024($sp) /* 00448 809A0EE8 3C078013 */ lui $a3, %hi(D_801333E0) /* 0044C 809A0EEC 3C0C8013 */ lui $t4, %hi(D_801333E8) diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Dd/func_809A12B4.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Dd/func_809A12B4.s index b75b85237e..1a6a2e5fcc 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Dd/func_809A12B4.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Dd/func_809A12B4.s @@ -37,21 +37,21 @@ glabel func_809A12B4 /* 000328 809A1308 8E070008 */ lw $a3, 8($s0) /* 00032C 809A130C 27A400DC */ addiu $a0, $sp, 0xdc /* 000330 809A1310 46083002 */ mul.s $f0, $f6, $f8 -/* 000334 809A1314 0C029E89 */ jal func_800A7A24 +/* 000334 809A1314 0C029E89 */ jal SkinMatrix_SetTranslate /* 000338 809A1318 E7A00054 */ swc1 $f0, 0x54($sp) /* 00033C 809A131C C7A00054 */ lwc1 $f0, 0x54($sp) /* 000340 809A1320 27A4009C */ addiu $a0, $sp, 0x9c /* 000344 809A1324 44050000 */ mfc1 $a1, $f0 /* 000348 809A1328 44060000 */ mfc1 $a2, $f0 /* 00034C 809A132C 44070000 */ mfc1 $a3, $f0 -/* 000350 809A1330 0C029DA9 */ jal func_800A76A4 +/* 000350 809A1330 0C029DA9 */ jal SkinMatrix_SetScale /* 000354 809A1334 00000000 */ nop /* 000358 809A1338 27A400DC */ addiu $a0, $sp, 0xdc /* 00035C 809A133C 27A5009C */ addiu $a1, $sp, 0x9c -/* 000360 809A1340 0C029BE8 */ jal func_800A6FA0 +/* 000360 809A1340 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 000364 809A1344 27A6005C */ addiu $a2, $sp, 0x5c /* 000368 809A1348 02202025 */ move $a0, $s1 -/* 00036C 809A134C 0C029F9C */ jal func_800A7E70 +/* 00036C 809A134C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 000370 809A1350 27A5005C */ addiu $a1, $sp, 0x5c /* 000374 809A1354 1040004B */ beqz $v0, .L809A1484 /* 000378 809A1358 02202025 */ move $a0, $s1 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Ripple/func_809A6AD8.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Ripple/func_809A6AD8.s index 152f6fdb04..43fd5c272a 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Ripple/func_809A6AD8.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Ripple/func_809A6AD8.s @@ -56,21 +56,21 @@ glabel func_809A6AD8 /* 00214 809A6B74 44060000 */ mfc1 $a2, $f0 /* 00218 809A6B78 8E270008 */ lw $a3, 0x0008($s1) ## 00000008 /* 0021C 809A6B7C E7A20120 */ swc1 $f2, 0x0120($sp) -/* 00220 809A6B80 0C029E89 */ jal func_800A7A24 +/* 00220 809A6B80 0C029E89 */ jal SkinMatrix_SetTranslate /* 00224 809A6B84 27A400DC */ addiu $a0, $sp, 0x00DC ## $a0 = FFFFFFB4 /* 00228 809A6B88 C7A20120 */ lwc1 $f2, 0x0120($sp) /* 0022C 809A6B8C 27A4009C */ addiu $a0, $sp, 0x009C ## $a0 = FFFFFF74 /* 00230 809A6B90 44051000 */ mfc1 $a1, $f2 /* 00234 809A6B94 44061000 */ mfc1 $a2, $f2 /* 00238 809A6B98 44071000 */ mfc1 $a3, $f2 -/* 0023C 809A6B9C 0C029DA9 */ jal func_800A76A4 +/* 0023C 809A6B9C 0C029DA9 */ jal SkinMatrix_SetScale /* 00240 809A6BA0 00000000 */ nop /* 00244 809A6BA4 27A400DC */ addiu $a0, $sp, 0x00DC ## $a0 = FFFFFFB4 /* 00248 809A6BA8 27A5009C */ addiu $a1, $sp, 0x009C ## $a1 = FFFFFF74 -/* 0024C 809A6BAC 0C029BE8 */ jal func_800A6FA0 +/* 0024C 809A6BAC 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 00250 809A6BB0 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFF34 /* 00254 809A6BB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 -/* 00258 809A6BB8 0C029F9C */ jal func_800A7E70 +/* 00258 809A6BB8 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 0025C 809A6BBC 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFF34 /* 00260 809A6BC0 10400046 */ beq $v0, $zero, .L809A6CDC /* 00264 809A6BC4 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_HitMark/func_809A824C.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_HitMark/func_809A824C.s index 67ebfb4834..e9bdd54004 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_HitMark/func_809A824C.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_HitMark/func_809A824C.s @@ -26,7 +26,7 @@ glabel func_809A824C /* 00134 809A8284 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC /* 00138 809A8288 8E250000 */ lw $a1, 0x0000($s1) ## 00000000 /* 0013C 809A828C 8E260004 */ lw $a2, 0x0004($s1) ## 00000004 -/* 00140 809A8290 0C029E89 */ jal func_800A7A24 +/* 00140 809A8290 0C029E89 */ jal SkinMatrix_SetTranslate /* 00144 809A8294 8E270008 */ lw $a3, 0x0008($s1) ## 00000008 /* 00148 809A8298 862F0050 */ lh $t7, 0x0050($s1) ## 00000050 /* 0014C 809A829C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000 @@ -38,18 +38,18 @@ glabel func_809A824C /* 00164 809A82B4 46083003 */ div.s $f0, $f6, $f8 /* 00168 809A82B8 44050000 */ mfc1 $a1, $f0 /* 0016C 809A82BC 44060000 */ mfc1 $a2, $f0 -/* 00170 809A82C0 0C029DA9 */ jal func_800A76A4 +/* 00170 809A82C0 0C029DA9 */ jal SkinMatrix_SetScale /* 00174 809A82C4 00000000 */ nop /* 00178 809A82C8 8FA50160 */ lw $a1, 0x0160($sp) /* 0017C 809A82CC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 /* 00180 809A82D0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 /* 00184 809A82D4 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC /* 00188 809A82D8 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFEFC -/* 0018C 809A82DC 0C029BE8 */ jal func_800A6FA0 +/* 0018C 809A82DC 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 00190 809A82E0 00A12821 */ addu $a1, $a1, $at /* 00194 809A82E4 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFEFC /* 00198 809A82E8 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFF7C -/* 0019C 809A82EC 0C029BE8 */ jal func_800A6FA0 +/* 0019C 809A82EC 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 001A0 809A82F0 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFF3C /* 001A4 809A82F4 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0 /* 001A8 809A82F8 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 @@ -61,7 +61,7 @@ glabel func_809A824C /* 001C0 809A8310 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000 /* 001C4 809A8314 27A5009C */ addiu $a1, $sp, 0x009C ## $a1 = FFFFFF3C /* 001C8 809A8318 AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 001CC 809A831C 0C029F9C */ jal func_800A7E70 +/* 001CC 809A831C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 001D0 809A8320 AC680004 */ sw $t0, 0x0004($v1) ## 00000004 /* 001D4 809A8324 1040004C */ beq $v0, $zero, .L809A8458 /* 001D8 809A8328 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_KiraKira/func_809AA9AC.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_KiraKira/func_809AA9AC.s index 5b267019c8..3acf5187d4 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_KiraKira/func_809AA9AC.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_KiraKira/func_809AA9AC.s @@ -37,34 +37,34 @@ glabel func_809AA9AC /* 001F0 809AAA00 27A40194 */ addiu $a0, $sp, 0x0194 ## $a0 = FFFFFFB4 /* 001F4 809AAA04 8E050000 */ lw $a1, 0x0000($s0) ## 00000000 /* 001F8 809AAA08 8E060004 */ lw $a2, 0x0004($s0) ## 00000004 -/* 001FC 809AAA0C 0C029E89 */ jal func_800A7A24 +/* 001FC 809AAA0C 0C029E89 */ jal SkinMatrix_SetTranslate /* 00200 809AAA10 8E070008 */ lw $a3, 0x0008($s0) ## 00000008 /* 00204 809AAA14 27A40154 */ addiu $a0, $sp, 0x0154 ## $a0 = FFFFFF74 /* 00208 809AAA18 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000 /* 0020C 809AAA1C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00210 809AAA20 0C029DC1 */ jal func_800A7704 +/* 00210 809AAA20 0C029DC1 */ jal SkinMatrix_SetRotateRPY /* 00214 809AAA24 86070042 */ lh $a3, 0x0042($s0) ## 00000042 /* 00218 809AAA28 C7A001D8 */ lwc1 $f0, 0x01D8($sp) /* 0021C 809AAA2C 27A40114 */ addiu $a0, $sp, 0x0114 ## $a0 = FFFFFF34 /* 00220 809AAA30 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000 /* 00224 809AAA34 44050000 */ mfc1 $a1, $f0 /* 00228 809AAA38 44060000 */ mfc1 $a2, $f0 -/* 0022C 809AAA3C 0C029DA9 */ jal func_800A76A4 +/* 0022C 809AAA3C 0C029DA9 */ jal SkinMatrix_SetScale /* 00230 809AAA40 00000000 */ nop /* 00234 809AAA44 8FA501E0 */ lw $a1, 0x01E0($sp) /* 00238 809AAA48 3C010001 */ lui $at, 0x0001 ## $at = 00010000 /* 0023C 809AAA4C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 /* 00240 809AAA50 27A40194 */ addiu $a0, $sp, 0x0194 ## $a0 = FFFFFFB4 /* 00244 809AAA54 27A600D4 */ addiu $a2, $sp, 0x00D4 ## $a2 = FFFFFEF4 -/* 00248 809AAA58 0C029BE8 */ jal func_800A6FA0 +/* 00248 809AAA58 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 0024C 809AAA5C 00A12821 */ addu $a1, $a1, $at /* 00250 809AAA60 27A400D4 */ addiu $a0, $sp, 0x00D4 ## $a0 = FFFFFEF4 /* 00254 809AAA64 27A50154 */ addiu $a1, $sp, 0x0154 ## $a1 = FFFFFF74 -/* 00258 809AAA68 0C029BE8 */ jal func_800A6FA0 +/* 00258 809AAA68 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 0025C 809AAA6C 27A60094 */ addiu $a2, $sp, 0x0094 ## $a2 = FFFFFEB4 /* 00260 809AAA70 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFEB4 /* 00264 809AAA74 27A50114 */ addiu $a1, $sp, 0x0114 ## $a1 = FFFFFF34 -/* 00268 809AAA78 0C029BE8 */ jal func_800A6FA0 +/* 00268 809AAA78 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 0026C 809AAA7C 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFE74 /* 00270 809AAA80 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0 /* 00274 809AAA84 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000 @@ -76,7 +76,7 @@ glabel func_809AA9AC /* 0028C 809AAA9C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 00290 809AAAA0 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFE74 /* 00294 809AAAA4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000 -/* 00298 809AAAA8 0C029F9C */ jal func_800A7E70 +/* 00298 809AAAA8 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 0029C 809AAAAC AC680004 */ sw $t0, 0x0004($v1) ## 00000004 /* 002A0 809AAAB0 10400044 */ beq $v0, $zero, .L809AABC4 /* 002A4 809AAAB4 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Lightning/func_809AB078.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Lightning/func_809AB078.s index 9a8bac85c6..a91172a123 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Lightning/func_809AB078.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Lightning/func_809AB078.s @@ -51,7 +51,7 @@ glabel func_809AB078 /* 00204 809AB0F4 8E060004 */ lw $a2, 0x0004($s0) ## 00000004 /* 00208 809AB0F8 8E070008 */ lw $a3, 0x0008($s0) ## 00000008 /* 0020C 809AB0FC E7A2005C */ swc1 $f2, 0x005C($sp) -/* 00210 809AB100 0C029E89 */ jal func_800A7A24 +/* 00210 809AB100 0C029E89 */ jal SkinMatrix_SetTranslate /* 00214 809AB104 A7A2005A */ sh $v0, 0x005A($sp) /* 00218 809AB108 3C01809B */ lui $at, %hi(D_809AB594) ## $at = 809B0000 /* 0021C 809AB10C C7A2005C */ lwc1 $f2, 0x005C($sp) @@ -61,7 +61,7 @@ glabel func_809AB078 /* 0022C 809AB11C 460A1002 */ mul.s $f0, $f2, $f10 /* 00230 809AB120 44050000 */ mfc1 $a1, $f0 /* 00234 809AB124 44070000 */ mfc1 $a3, $f0 -/* 00238 809AB128 0C029DA9 */ jal func_800A76A4 +/* 00238 809AB128 0C029DA9 */ jal SkinMatrix_SetScale /* 0023C 809AB12C 00000000 */ nop /* 00240 809AB130 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C /* 00244 809AB134 C6040030 */ lwc1 $f4, 0x0030($s0) ## 00000030 @@ -74,22 +74,22 @@ glabel func_809AB078 /* 00260 809AB150 00052C00 */ sll $a1, $a1, 16 /* 00264 809AB154 00052C03 */ sra $a1, $a1, 16 /* 00268 809AB158 00063400 */ sll $a2, $a2, 16 -/* 0026C 809AB15C 0C029DC1 */ jal func_800A7704 +/* 0026C 809AB15C 0C029DC1 */ jal SkinMatrix_SetRotateRPY /* 00270 809AB160 00063403 */ sra $a2, $a2, 16 /* 00274 809AB164 8FA501E8 */ lw $a1, 0x01E8($sp) /* 00278 809AB168 3C010001 */ lui $at, 0x0001 ## $at = 00010000 /* 0027C 809AB16C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0 /* 00280 809AB170 27A40164 */ addiu $a0, $sp, 0x0164 ## $a0 = FFFFFF7C /* 00284 809AB174 27A600A4 */ addiu $a2, $sp, 0x00A4 ## $a2 = FFFFFEBC -/* 00288 809AB178 0C029BE8 */ jal func_800A6FA0 +/* 00288 809AB178 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 0028C 809AB17C 00A12821 */ addu $a1, $a1, $at /* 00290 809AB180 27A400A4 */ addiu $a0, $sp, 0x00A4 ## $a0 = FFFFFEBC /* 00294 809AB184 27A500E4 */ addiu $a1, $sp, 0x00E4 ## $a1 = FFFFFEFC -/* 00298 809AB188 0C029BE8 */ jal func_800A6FA0 +/* 00298 809AB188 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 0029C 809AB18C 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFE7C /* 002A0 809AB190 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFE7C /* 002A4 809AB194 27A50124 */ addiu $a1, $sp, 0x0124 ## $a1 = FFFFFF3C -/* 002A8 809AB198 0C029BE8 */ jal func_800A6FA0 +/* 002A8 809AB198 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult /* 002AC 809AB19C 27A601A4 */ addiu $a2, $sp, 0x01A4 ## $a2 = FFFFFFBC /* 002B0 809AB1A0 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0 /* 002B4 809AB1A4 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000 @@ -101,7 +101,7 @@ glabel func_809AB078 /* 002CC 809AB1BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000 /* 002D0 809AB1C0 27A501A4 */ addiu $a1, $sp, 0x01A4 ## $a1 = FFFFFFBC /* 002D4 809AB1C4 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000 -/* 002D8 809AB1C8 0C029F9C */ jal func_800A7E70 +/* 002D8 809AB1C8 0C029F9C */ jal SkinMatrix_MtxFToNewMtx /* 002DC 809AB1CC AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004 /* 002E0 809AB1D0 1040004E */ beq $v0, $zero, .L809AB30C /* 002E4 809AB1D4 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000 diff --git a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Stone1/func_809AC78C.s b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Stone1/func_809AC78C.s index 6720d0a771..6e04b65592 100644 --- a/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Stone1/func_809AC78C.s +++ b/asm/non_matchings/overlays/effects/ovl_Effect_Ss_Stone1/func_809AC78C.s @@ -44,7 +44,7 @@ glabel func_809AC78C /* 000EC 809AC7EC 8FA50070 */ lw $a1, 0x0070($sp) /* 000F0 809AC7F0 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFEC /* 000F4 809AC7F4 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFE8 -/* 000F8 809AC7F8 0C029B84 */ jal func_800A6E10 +/* 000F8 809AC7F8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW /* 000FC 809AC7FC 00812021 */ addu $a0, $a0, $at /* 00100 809AC800 3C01809B */ lui $at, %hi(D_809ACAB8) ## $at = 809B0000 /* 00104 809AC804 C422CAB8 */ lwc1 $f2, %lo(D_809ACAB8)($at) diff --git a/data/z_skin_matrix.data.s b/data/z_skin_matrix.data.s deleted file mode 100644 index 3d6088f15b..0000000000 --- a/data/z_skin_matrix.data.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel D_8012A4A0 - .incbin "baserom.z64", 0xBA1640, 0x40 diff --git a/include/functions.h b/include/functions.h index 5173a5631a..1bc4f2df02 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1300,22 +1300,18 @@ void func_800A663C(GlobalContext* globalCtx, PSkinAwb*, SkeletonHeader*, Animati void func_800A6888(GlobalContext*, PSkinAwb*); // ? func_800A698C(?); // ? func_800A6AC4(?); -// ? func_800A6E10(?); -void func_800A6EF4(MtxF* mf, Vec3f* src, Vec3f* dest); -void func_800A6FA0(MtxF* mf1, MtxF* mf2, MtxF* dest); -// ? func_800A72FC(?); -// ? func_800A730C(?); -// ? func_800A735C(?); -// ? func_800A73E0(?); -void func_800A76A4(MtxF* dest, f32 x, f32 y, f32 z); -void func_800A7704(MtxF* dest, s16 x, s16 y, s16 z); -// ? func_800A7894(?); -void func_800A7A24(MtxF* dest, f32 x, f32 y, f32 z); -// ? func_800A7B04(?); -// ? func_800A7B84(?); -// ? func_800A7C60(?); -Mtx* func_800A7E70(GraphicsContext* gfxCtx, MtxF* src); -void func_800A7EC0(MtxF* dest, s16 arg1, f32 x, f32 y, f32 z); +void SkinMatrix_Vec3fMtxFMultXYZW(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest); +void SkinMatrix_Vec3fMtxFMultXYZ(MtxF* mf, Vec3f* src, Vec3f* dest); +void SkinMatrix_MtxFMtxFMult(MtxF* mfB, MtxF* mfA, MtxF* dest); +void SkinMatrix_GetClear(MtxF** mf); +void SkinMatrix_MtxFCopy(MtxF* src, MtxF* dest); +s32 SkinMatrix_Invert(MtxF* src, MtxF* dest); +void SkinMatrix_SetScale(MtxF* mf, f32 x, f32 y, f32 z); +void SkinMatrix_SetRotateRPY(MtxF* mf, s16 roll, s16 pitch, s16 yaw); +void SkinMatrix_SetTranslate(MtxF* mf, f32 x, f32 y, f32 z); +void SkinMatrix_SetScaleRotateYRPTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 scaleZ, s16 yaw, s16 roll, s16 pitch, f32 dx, f32 dy, f32 dz); +Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src); +void func_800A7EC0(MtxF *mf, s16 a, f32 x, f32 y, f32 z); // ? func_800A81A0(?); // ? func_800A82C8(?); // ? func_800A9A9C(?); @@ -1754,7 +1750,7 @@ void func_800D1694(f32 x, f32 y, f32 z, Vec3s* vec); Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest); Mtx* Matrix_ToMtx(Mtx* dest, char* file, s32 line); Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, char* file, s32 line); -Mtx* Matrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx); +Mtx* Matrix_SkinMatrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx); void Matrix_MultVec3f(Vec3f* src, Vec3f* dest); void Matrix_MtxFCopy(MtxF* dest, MtxF* src); void Matrix_MtxToMtxF(Mtx* src, MtxF* dest); diff --git a/spec b/spec index d1e15b096e..deb435826e 100644 --- a/spec +++ b/spec @@ -352,7 +352,6 @@ beginseg include "build/data/z_skin.bss.o" include "build/src/code/z_skin_awb.o" include "build/src/code/z_skin_matrix.o" - include "build/data/z_skin_matrix.data.o" include "build/src/code/z_sram.o" include "build/data/z_sram.data.o" include "build/src/code/code_800A9D40.o" diff --git a/src/code/code_8006BA00.c b/src/code/code_8006BA00.c index af2c688143..ee5677ad33 100644 --- a/src/code/code_8006BA00.c +++ b/src/code/code_8006BA00.c @@ -20,7 +20,7 @@ void func_8006BA30(GlobalContext* globalCtx) { if (DECR(source->countdown) == 0) { func_800F89E8(&source->relativePos); } else { - func_800A6EF4(&globalCtx->mf_11D60, &source->originPos, &source->relativePos); + SkinMatrix_Vec3fMtxFMultXYZ(&globalCtx->mf_11D60, &source->originPos, &source->relativePos); } } @@ -60,6 +60,6 @@ void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos, s32 duratio source->originPos = *pos; source->countdown = duration; - func_800A6EF4(&globalCtx->mf_11D60, &source->originPos, &source->relativePos); + SkinMatrix_Vec3fMtxFMultXYZ(&globalCtx->mf_11D60, &source->originPos, &source->relativePos); Audio_PlaySoundGeneral(sfxId, &source->relativePos, 4, &D_801333E0, &D_801333E0, &D_801333E8); } diff --git a/src/code/sys_matrix.c b/src/code/sys_matrix.c index 46a2944c8c..87a1708f42 100644 --- a/src/code/sys_matrix.c +++ b/src/code/sys_matrix.c @@ -53,7 +53,7 @@ void Matrix_Mult(MtxF* mf, u8 mode) { MtxF* cmf = Matrix_GetCurrent(); if (mode == MTXMODE_APPLY) { - func_800A6FA0(cmf, mf, cmf); + SkinMatrix_MtxFMtxFMult(cmf, mf, cmf); } else { Matrix_MtxFCopy(sCurrentMatrix, mf); } @@ -78,7 +78,7 @@ void Matrix_Translate(f32 x, f32 y, f32 z, u8 mode) { ty = cmf->yw; cmf->ww += tx * x + ty * y + cmf->zw * z; } else { - func_800A7A24(cmf, x, y, z); + SkinMatrix_SetTranslate(cmf, x, y, z); } } @@ -99,7 +99,7 @@ void Matrix_Scale(f32 x, f32 y, f32 z, u8 mode) { cmf->yw *= y; cmf->zw *= z; } else { - func_800A76A4(cmf, x, y, z); + SkinMatrix_SetScale(cmf, x, y, z); } } @@ -382,7 +382,7 @@ void Matrix_RotateRPY(s16 x, s16 y, s16 z, u8 mode) { cmf->zw = temp2 * cos - temp1 * sin; } } else { - func_800A7704(cmf, x, y, z); + SkinMatrix_SetRotateRPY(cmf, x, y, z); } } @@ -540,82 +540,76 @@ void func_800D1694(f32 x, f32 y, f32 z, Vec3s* vec) { #pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D1694.s") #endif -#ifdef NON_MATCHING -// mostly regalloc differences Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest) { + s32 temp; u16* m1 = (u16*)&dest->m[0][0]; u16* m2 = (u16*)&dest->m[2][0]; - s32 temp; - temp = src->xx * 65536.0f; - m1[0] = (temp >> 0x10) & 0xFFFF; - m2[0] = temp & 0xFFFF; + temp = src->xx * 0x10000; + m1[0] = (temp >> 0x10); + m1[16 + 0] = temp & 0xFFFF; - temp = src->xy * 65536.0f; - m1[1] = (temp >> 0x10) & 0xFFFF; - m2[1] = temp & 0xFFFF; + temp = src->xy * 0x10000; + m1[1] = (temp >> 0x10); + m1[16 + 1] = temp & 0xFFFF; - temp = src->xz * 65536.0f; - m1[2] = (temp >> 0x10) & 0xFFFF; - m2[2] = temp & 0xFFFF; + temp = src->xz * 0x10000; + m1[2] = (temp >> 0x10); + m1[16 + 2] = temp & 0xFFFF; - temp = src->xw * 65536.0f; - m1[3] = (temp >> 0x10) & 0xFFFF; - m2[3] = temp & 0xFFFF; + temp = src->xw * 0x10000; + m1[3] = (temp >> 0x10); + m1[16 + 3] = temp & 0xFFFF; - temp = src->yx * 65536.0f; - m1[4] = (temp >> 0x10) & 0xFFFF; - m2[4] = temp & 0xFFFF; + temp = src->yx * 0x10000; + m1[4] = (temp >> 0x10); + m1[16 + 4] = temp & 0xFFFF; - temp = src->yy * 65536.0f; - m1[5] = (temp >> 0x10) & 0xFFFF; - m2[5] = temp & 0xFFFF; + temp = src->yy * 0x10000; + m1[5] = (temp >> 0x10); + m1[16 + 5] = temp & 0xFFFF; - temp = src->yz * 65536.0f; - m1[6] = (temp >> 0x10) & 0xFFFF; - m2[6] = temp & 0xFFFF; + temp = src->yz * 0x10000; + m1[6] = (temp >> 0x10); + m1[16 + 6] = temp & 0xFFFF; - temp = src->yw * 65536.0f; - m1[7] = (temp >> 0x10) & 0xFFFF; - m2[7] = temp & 0xFFFF; + temp = src->yw * 0x10000; + m1[7] = (temp >> 0x10); + m1[16 + 7] = temp & 0xFFFF; - temp = src->zx * 65536.0f; - m1[8] = (temp >> 0x10) & 0xFFFF; - m2[8] = temp & 0xFFFF; + temp = src->zx * 0x10000; + m1[8] = (temp >> 0x10); + m1[16 + 8] = temp & 0xFFFF; - temp = src->zy * 65536.0f; - m1[9] = (temp >> 0x10) & 0xFFFF; + temp = src->zy * 0x10000; + m1[9] = (temp >> 0x10); m2[9] = temp & 0xFFFF; - temp = src->zz * 65536.0f; - m1[10] = (temp >> 0x10) & 0xFFFF; + temp = src->zz * 0x10000; + m1[10] = (temp >> 0x10); m2[10] = temp & 0xFFFF; - temp = src->zw * 65536.0f; - m1[11] = (temp >> 0x10) & 0xFFFF; + temp = src->zw * 0x10000; + m1[11] = (temp >> 0x10); m2[11] = temp & 0xFFFF; - temp = src->wx * 65536.0f; - m1[12] = (temp >> 0x10) & 0xFFFF; + temp = src->wx * 0x10000; + m1[12] = (temp >> 0x10); m2[12] = temp & 0xFFFF; - temp = src->wy * 65536.0f; - m1[13] = (temp >> 0x10) & 0xFFFF; + temp = src->wy * 0x10000; + m1[13] = (temp >> 0x10); m2[13] = temp & 0xFFFF; - temp = src->wz * 65536.0f; - m1[14] = (temp >> 0x10) & 0xFFFF; + temp = src->wz * 0x10000; + m1[14] = (temp >> 0x10); m2[14] = temp & 0xFFFF; - temp = src->ww * 65536.0f; - m1[15] = (temp >> 0x10) & 0xFFFF; + temp = src->ww * 0x10000; + m1[15] = (temp >> 0x10); m2[15] = temp & 0xFFFF; - return dest; } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s") -#endif Mtx* Matrix_ToMtx(Mtx* dest, char* file, s32 line) { return Matrix_MtxFToMtx(Matrix_CheckFloats(sCurrentMatrix, file, line), dest); @@ -625,7 +619,7 @@ Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, char* file, s32 line) { return Matrix_ToMtx(Graph_Alloc(gfxCtx, sizeof(Mtx)), file, line); } -Mtx* Matrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx) { +Mtx* Matrix_SkinMatrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx) { return Matrix_MtxFToMtx(src, Graph_Alloc(gfxCtx, sizeof(Mtx))); } diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 6f4973a3d1..fc9a8e3620 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -228,7 +228,7 @@ void func_8002BDB0(Actor* actor, s32 arg1, s32 arg2, UNK_PTR arg3, s32 arg4, UNK } void func_8002BE04(GlobalContext* globalCtx, Vec3f* arg1, Vec3f* arg2, f32* arg3) { - func_800A6E10(&globalCtx->mf_11D60, arg1, arg2, arg3); + SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, arg1, arg2, arg3); *arg3 = (*arg3 < 1.0f) ? 1.0f : (1.0f / *arg3); } @@ -2400,7 +2400,8 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) { HREG(66) = i; if ((HREG(64) != 1) || ((HREG(65) != -1) && (HREG(65) != HREG(66))) || (HREG(68) == 0)) { - func_800A6E10(&globalCtx->mf_11D60, &actor->posRot.pos, &actor->projectedPos, &actor->projectedW); + SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &actor->posRot.pos, &actor->projectedPos, + &actor->projectedW); } if ((HREG(64) != 1) || ((HREG(65) != -1) && (HREG(65) != HREG(66))) || (HREG(69) == 0)) { diff --git a/src/code/z_eff_blure.c b/src/code/z_eff_blure.c index e6d9b5232d..c5a7ead896 100644 --- a/src/code/z_eff_blure.c +++ b/src/code/z_eff_blure.c @@ -47,13 +47,13 @@ void EffectBlure_AddVertex(EffectBlure* this, Vec3f* p1, Vec3f* p2) { scale = 1.0f / scale; Math_Vec3f_Scale(&sp154, scale); - func_800A7A24(&sp110, sp160.x, sp160.y, sp160.z); + SkinMatrix_SetTranslate(&sp110, sp160.x, sp160.y, sp160.z); func_800A7EC0(&spD0, this->addAngle, sp154.x, sp154.y, sp154.z); - func_800A6FA0(&sp110, &spD0, &sp90); - func_800A7A24(&sp110, -sp160.x, -sp160.y, -sp160.z); - func_800A6FA0(&sp90, &sp110, &sp50); - func_800A6EF4(&sp50, p1, &sp38); - func_800A6EF4(&sp50, p2, &sp44); + SkinMatrix_MtxFMtxFMult(&sp110, &spD0, &sp90); + SkinMatrix_SetTranslate(&sp110, -sp160.x, -sp160.y, -sp160.z); + SkinMatrix_MtxFMtxFMult(&sp90, &sp110, &sp50); + SkinMatrix_Vec3fMtxFMultXYZ(&sp50, p1, &sp38); + SkinMatrix_Vec3fMtxFMultXYZ(&sp50, p2, &sp44); elem->p1.x = sp38.x; elem->p1.y = sp38.y; @@ -715,11 +715,11 @@ void EffectBlure_DrawSmooth(EffectBlure* this, GraphicsContext* gfxCtx) { this->elements[this->numElements - 1].flags |= 2; EffectBlure_SetupSmooth(this, gfxCtx); - func_800A7A24(&spDC, this->elements[0].p2.x, this->elements[0].p2.y, this->elements[0].p2.z); - func_800A76A4(&sp9C, 0.1f, 0.1f, 0.1f); - func_800A6FA0(&spDC, &sp9C, &sp5C); + SkinMatrix_SetTranslate(&spDC, this->elements[0].p2.x, this->elements[0].p2.y, this->elements[0].p2.z); + SkinMatrix_SetScale(&sp9C, 0.1f, 0.1f, 0.1f); + SkinMatrix_MtxFMtxFMult(&spDC, &sp9C, &sp5C); - mtx = func_800A7E70(gfxCtx, &sp5C); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp5C); if (mtx == NULL) { return; } @@ -844,13 +844,13 @@ void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this, scale = 1.0f / scale; Math_Vec3f_Scale(&sp198, scale); - func_800A7A24(&sp154, sp1B0.x, sp1B0.y, sp1B0.z); + SkinMatrix_SetTranslate(&sp154, sp1B0.x, sp1B0.y, sp1B0.z); func_800A7EC0(&sp114, 0x3FFF, sp198.x, sp198.y, sp198.z); - func_800A6FA0(&sp154, &sp114, &spD4); - func_800A7A24(&sp154, -sp1B0.x, -sp1B0.y, -sp1B0.z); - func_800A6FA0(&spD4, &sp154, &sp94); + SkinMatrix_MtxFMtxFMult(&sp154, &sp114, &spD4); + SkinMatrix_SetTranslate(&sp154, -sp1B0.x, -sp1B0.y, -sp1B0.z); + SkinMatrix_MtxFMtxFMult(&spD4, &sp154, &sp94); - mtx = func_800A7E70(gfxCtx, &sp94); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp94); if (mtx == NULL) { // Translates to: "Forced termination because a matrix cannot be taken" osSyncPrintf("EffectBlureInfo2_disp_makeDisplayList()マトリックス取れないので,強制終了\n"); diff --git a/src/code/z_eff_shield_particle.c b/src/code/z_eff_shield_particle.c index b3be66f795..855161765f 100644 --- a/src/code/z_eff_shield_particle.c +++ b/src/code/z_eff_shield_particle.c @@ -203,17 +203,17 @@ void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) { temp3 = 1.0f; } - func_800A7A24(&spC4, this->position.x, this->position.y, this->position.z); - func_800A7704(&sp104, 0, elem->yaw, 0); - func_800A6FA0(&spC4, &sp104, &sp84); - func_800A7704(&sp104, 0, 0, elem->pitch); - func_800A6FA0(&sp84, &sp104, &spC4); - func_800A7A24(&sp104, temp1, 0.0f, 0.0f); - func_800A6FA0(&spC4, &sp104, &sp84); - func_800A76A4(&sp104, temp3 * 0.02f, 0.02f, 0.02f); - func_800A6FA0(&sp84, &sp104, &spC4); + SkinMatrix_SetTranslate(&spC4, this->position.x, this->position.y, this->position.z); + SkinMatrix_SetRotateRPY(&sp104, 0, elem->yaw, 0); + SkinMatrix_MtxFMtxFMult(&spC4, &sp104, &sp84); + SkinMatrix_SetRotateRPY(&sp104, 0, 0, elem->pitch); + SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4); + SkinMatrix_SetTranslate(&sp104, temp1, 0.0f, 0.0f); + SkinMatrix_MtxFMtxFMult(&spC4, &sp104, &sp84); + SkinMatrix_SetScale(&sp104, temp3 * 0.02f, 0.02f, 0.02f); + SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4); - mtx = func_800A7E70(gfxCtx, &spC4); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spC4); if (mtx == NULL) { break; } diff --git a/src/code/z_eff_spark.c b/src/code/z_eff_spark.c index 08d1238937..6c3a659bb3 100644 --- a/src/code/z_eff_spark.c +++ b/src/code/z_eff_spark.c @@ -215,11 +215,11 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) { elem = &this->elements[i]; - func_800A7A24(&spEC, elem->position.x, elem->position.y, elem->position.z); + SkinMatrix_SetTranslate(&spEC, elem->position.x, elem->position.y, elem->position.z); temp = ((Math_Rand_ZeroOne() * 2.5f) + 1.5f) * 0.015625f; - func_800A76A4(&spAC, temp, temp, 1.0f); - func_800A6FA0(&spEC, &globalCtx->mf_11DA0, &sp6C); - func_800A6FA0(&sp6C, &spAC, &sp12C); + SkinMatrix_SetScale(&spAC, temp, temp, 1.0f); + SkinMatrix_MtxFMtxFMult(&spEC, &globalCtx->mf_11DA0, &sp6C); + SkinMatrix_MtxFMtxFMult(&sp6C, &spAC, &sp12C); vertices[j].v.ob[0] = -32; vertices[j].v.ob[1] = -32; @@ -269,7 +269,7 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) { if (this) {} - mtx = func_800A7E70(gfxCtx, &sp12C); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp12C); if (mtx == NULL) { break; } diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index fab2d296b7..1b11906294 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -572,7 +572,7 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) { gfxCtx->overlay.p = Gfx_CallSetupDL(gfxCtx->overlay.p, 7); - func_800A6E10(&globalCtx->mf_11D60, &sp74, &sp68, &sp64); + SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &sp74, &sp68, &sp64); sp60 = (sp64 < 200.0f) ? 0.07999999821186066f : (sp64 / 200.0f) * 0.07999999821186066f; diff --git a/src/code/z_room.c b/src/code/z_room.c index 487e96964a..129b6c2f59 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -138,7 +138,7 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) { sp90.x = polygonDlist->pos.x; sp90.y = polygonDlist->pos.y; sp90.z = polygonDlist->pos.z; - func_800A6E10(&globalCtx->mf_11D60, &sp90, &sp84, &sp80); + SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &sp90, &sp84, &sp80); temp_f0 = polygonDlist->unk_06; if (-temp_f0 < sp84.z) { temp_f2 = sp84.z - temp_f0; diff --git a/src/code/z_skin_matrix.c b/src/code/z_skin_matrix.c index 27d703f301..9920fe76ef 100644 --- a/src/code/z_skin_matrix.c +++ b/src/code/z_skin_matrix.c @@ -1,42 +1,728 @@ #include #include +#include -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A6E10.s") +// clang-format off +MtxF sMtxFClear = { + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f, +}; +// clang-format on -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A6EF4.s") +/** + * Multiplies a 4 component row vector [ src , 1 ] by the matrix mf and writes the resulting 4 components to xyzDest + * and wDest. + * + * \f[ [\texttt{xyzDest}, \texttt{wDest}] = [\texttt{src}, 1] \cdot [mf] \f] + */ +void SkinMatrix_Vec3fMtxFMultXYZW(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest) { + xyzDest->x = mf->wx + ((src->x * mf->xx) + (src->y * mf->yx) + (src->z * mf->zx)); + xyzDest->y = mf->wy + ((src->x * mf->xy) + (src->y * mf->yy) + (src->z * mf->zy)); + xyzDest->z = mf->wz + ((src->x * mf->xz) + (src->y * mf->yz) + (src->z * mf->zz)); + *wDest = mf->ww + ((src->x * mf->xw) + (src->y * mf->yw) + (src->z * mf->zw)); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A6FA0.s") +/** + * Multiplies a 4 component row vector [ src , 1 ] by the matrix mf and writes the resulting xyz components to dest. + * + * \f[ [\texttt{dest}, -] = [\texttt{src}, 1] \cdot [mf] \f] + */ +void SkinMatrix_Vec3fMtxFMultXYZ(MtxF* mf, Vec3f* src, Vec3f* dest) { + f32 mx; + f32 my; + f32 mz; + f32 mw; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A72FC.s") + mx = mf->xx; + my = mf->yx; + mz = mf->zx; + mw = mf->wx; + dest->x = mw + ((src->x * mx) + (src->y * my) + (src->z * mz)); + mx = mf->xy; + my = mf->yy; + mz = mf->zy; + mw = mf->wy; + dest->y = mw + ((src->x * mx) + (src->y * my) + (src->z * mz)); + mx = mf->xz; + my = mf->yz; + mz = mf->zz; + mw = mf->wz; + dest->z = mw + ((src->x * mx) + (src->y * my) + (src->z * mz)); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A730C.s") +/** + * Matrix multiplication, dest = mfA * mfB. + * mfA and dest should not be the same matrix. + */ +void SkinMatrix_MtxFMtxFMult(MtxF* mfB, MtxF* mfA, MtxF* dest) { + f32 rx; + f32 ry; + f32 rz; + f32 rw; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A735C.s") + f32 cx; + f32 cy; + f32 cz; + f32 cw; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A73E0.s") + //---COL1--- + cx = mfB->xx; + cy = mfB->yx; + cz = mfB->zx; + cw = mfB->wx; + //-------- + rx = mfA->xx; + ry = mfA->xy; + rz = mfA->xz; + rw = mfA->xw; + dest->xx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A76A4.s") + rx = mfA->yx; + ry = mfA->yy; + rz = mfA->yz; + rw = mfA->yw; + dest->yx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7704.s") + rx = mfA->zx; + ry = mfA->zy; + rz = mfA->zz; + rw = mfA->zw; + dest->zx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7894.s") + rx = mfA->wx; + ry = mfA->wy; + rz = mfA->wz; + rw = mfA->ww; + dest->wx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7A24.s") + //---COL2--- + cx = mfB->xy; + cy = mfB->yy; + cz = mfB->zy; + cw = mfB->wy; + //-------- + rx = mfA->xx; + ry = mfA->xy; + rz = mfA->xz; + rw = mfA->xw; + dest->xy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7A84.s") + rx = mfA->yx; + ry = mfA->yy; + rz = mfA->yz; + rw = mfA->yw; + dest->yy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7B04.s") + rx = mfA->zx; + ry = mfA->zy; + rz = mfA->zz; + rw = mfA->zw; + dest->zy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7B84.s") + rx = mfA->wx; + ry = mfA->wy; + rz = mfA->wz; + rw = mfA->ww; + dest->wy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7BE4.s") + //---COL3--- + cx = mfB->xz; + cy = mfB->yz; + cz = mfB->zz; + cw = mfB->wz; + //-------- + rx = mfA->xx; + ry = mfA->xy; + rz = mfA->xz; + rw = mfA->xw; + dest->xz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7C20.s") + rx = mfA->yx; + ry = mfA->yy; + rz = mfA->yz; + rw = mfA->yw; + dest->yz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7C60.s") + rx = mfA->zx; + ry = mfA->zy; + rz = mfA->zz; + rw = mfA->zw; + dest->zz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7E70.s") + rx = mfA->wx; + ry = mfA->wy; + rz = mfA->wz; + rw = mfA->ww; + dest->wz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); + //---COL4--- + cx = mfB->xw; + cy = mfB->yw; + cz = mfB->zw; + cw = mfB->ww; + //-------- + rx = mfA->xx; + ry = mfA->xy; + rz = mfA->xz; + rw = mfA->xw; + dest->xw = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); + + rx = mfA->yx; + ry = mfA->yy; + rz = mfA->yz; + rw = mfA->yw; + dest->yw = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); + + rx = mfA->zx; + ry = mfA->zy; + rz = mfA->zz; + rw = mfA->zw; + dest->zw = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); + + rx = mfA->wx; + ry = mfA->wy; + rz = mfA->wz; + rw = mfA->ww; + dest->ww = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw); +} + +/** + * "Clear" in this file means the identity matrix. + */ +void SkinMatrix_GetClear(MtxF** mfp) { + *mfp = &sMtxFClear; +} + +void SkinMatrix_Clear(MtxF* mf) { + mf->xx = 1.0f; + mf->yy = 1.0f; + mf->zz = 1.0f; + mf->ww = 1.0f; + mf->xy = 0.0f; + mf->xz = 0.0f; + mf->xw = 0.0f; + mf->yx = 0.0f; + mf->yz = 0.0f; + mf->yw = 0.0f; + mf->zx = 0.0f; + mf->zy = 0.0f; + mf->zw = 0.0f; + mf->wx = 0.0f; + mf->wy = 0.0f; + mf->wz = 0.0f; +} + +void SkinMatrix_MtxFCopy(MtxF* src, MtxF* dest) { + dest->xx = src->xx; + dest->xy = src->xy; + dest->xz = src->xz; + dest->xw = src->xw; + dest->yx = src->yx; + dest->yy = src->yy; + dest->yz = src->yz; + dest->yw = src->yw; + dest->zx = src->zx; + dest->zy = src->zy; + dest->zz = src->zz; + dest->zw = src->zw; + dest->wx = src->wx; + dest->wy = src->wy; + dest->wz = src->wz; + dest->ww = src->ww; +} + +/** + * Inverts a matrix using a slight modification of the Gauss-Jordan method + * (column operations instead of row operations). + * returns 0 if successfully inverted + * returns 2 if matrix non-invertible (0 determinant) + */ +#ifdef NON_MATCHING +// Saved register usage differences and probably regalloc +s32 SkinMatrix_Invert(MtxF* src, MtxF* dest) { + MtxF mfCopy; + s32 i; + s32 k; + f32 temp1; + f32 temp2; + f32 diagElement; + s32 thisRow; + s32 thisCol; + u32 pad; + + SkinMatrix_MtxFCopy(src, &mfCopy); + SkinMatrix_Clear(dest); + for (thisRow = 0; thisRow != 4; thisRow++) { + for (thisCol = thisRow; (thisCol < 4) && (fabsf(mfCopy.mf[thisRow][thisCol]) < 0.0005f); thisCol++) {} + if (thisCol == 4) { + // reaching col = 4 means the row is either all 0 or a duplicate row. + // therefore singular matrix (0 determinant). + osSyncPrintf(VT_COL(YELLOW, BLACK)); + osSyncPrintf("Skin_Matrix_InverseMatrix():逆行列つくれません\n"); + osSyncPrintf(VT_RST); + return 2; + } + + if (thisCol != thisRow) { // responsible for swapping columns if zero on diagonal + for (i = 0; i != 4; i++) { + temp1 = mfCopy.mf[i][thisCol]; + mfCopy.mf[i][thisCol] = mfCopy.mf[i][thisRow]; + mfCopy.mf[i][thisRow] = temp1; + + temp1 = dest->mf[i][thisCol]; + dest->mf[i][thisCol] = dest->mf[i][thisRow]; + dest->mf[i][thisRow] = temp1; + } + } + + diagElement = mfCopy.mf[thisRow][thisRow]; + // Scale this whole column s.t. the diag element = 1 + mfCopy.mf[0][thisRow] = mfCopy.mf[0][thisRow] / diagElement; + dest->mf[0][thisRow] = dest->mf[0][thisRow] / diagElement; + mfCopy.mf[1][thisRow] = mfCopy.mf[1][thisRow] / diagElement; + dest->mf[1][thisRow] = dest->mf[1][thisRow] / diagElement; + mfCopy.mf[2][thisRow] = mfCopy.mf[2][thisRow] / diagElement; + dest->mf[2][thisRow] = dest->mf[2][thisRow] / diagElement; + mfCopy.mf[3][thisRow] = mfCopy.mf[3][thisRow] / diagElement; + dest->mf[3][thisRow] = dest->mf[3][thisRow] / diagElement; + + // col i = col i - a * col j + for (k = 0; k != 4; k++) { + if (k != thisRow) { + temp2 = mfCopy.mf[thisRow][k]; + mfCopy.mf[0][k] = mfCopy.mf[0][k] - (mfCopy.mf[0][thisRow] * temp2); + dest->mf[0][k] = dest->mf[0][k] - (dest->mf[0][thisRow] * temp2); + mfCopy.mf[1][k] = mfCopy.mf[1][k] - (mfCopy.mf[1][thisRow] * temp2); + dest->mf[1][k] = dest->mf[1][k] - (dest->mf[1][thisRow] * temp2); + mfCopy.mf[2][k] = mfCopy.mf[2][k] - (mfCopy.mf[2][thisRow] * temp2); + dest->mf[2][k] = dest->mf[2][k] - (dest->mf[2][thisRow] * temp2); + mfCopy.mf[3][k] = mfCopy.mf[3][k] - (mfCopy.mf[3][thisRow] * temp2); + dest->mf[3][k] = dest->mf[3][k] - (dest->mf[3][thisRow] * temp2); + } + } + } + return 0; +} +#else +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/SkinMatrix_Invert.s") +#endif + +/** + * Produces a matrix which scales x,y,z components of vectors or x,y,z rows of matrices (when applied on LHS) + */ +void SkinMatrix_SetScale(MtxF* mf, f32 x, f32 y, f32 z) { + mf->xy = 0.0f; + mf->xz = 0.0f; + mf->xw = 0.0f; + mf->yx = 0.0f; + mf->yz = 0.0f; + mf->yw = 0.0f; + mf->zx = 0.0f; + mf->zy = 0.0f; + mf->zw = 0.0f; + mf->wx = 0.0f; + mf->wy = 0.0f; + mf->wz = 0.0f; + mf->ww = 1.0f; + mf->xx = x; + mf->yy = y; + mf->zz = z; +} + +/** + * Produces a rotation matrix = (roll rotation matrix) * (pitch rotation matrix) * (yaw rotation matrix) + */ +void SkinMatrix_SetRotateRPY(MtxF* mf, s16 roll, s16 pitch, s16 yaw) { + f32 cos2; + f32 sin; + f32 cos; + f32 yx; + f32 sin2; + f32 zx; + f32 yy; + f32 zy; + + sin = Math_Sins(yaw); + cos = Math_Coss(yaw); + mf->yy = cos; + mf->yx = -sin; + mf->xw = mf->yw = mf->zw = 0; + mf->wx = mf->wy = mf->wz = 0; + mf->ww = 1; + + if (pitch != 0) { + sin2 = Math_Sins(pitch); + cos2 = Math_Coss(pitch); + + mf->xx = cos * cos2; + mf->zx = cos * sin2; + + mf->xy = sin * cos2; + mf->zy = sin * sin2; + mf->xz = -sin2; + mf->zz = cos2; + + } else { + mf->xx = cos; + if (1) {} + if (1) {} + zx = sin; // required to match + mf->xy = sin; + mf->xz = mf->zx = mf->zy = 0; + mf->zz = 1; + } + + if (roll != 0) { + sin2 = Math_Sins(roll); + cos2 = Math_Coss(roll); + + yx = mf->yx; + zx = mf->zx; + mf->yx = (yx * cos2) + (zx * sin2); + mf->zx = (zx * cos2) - (yx * sin2); + + if (1) {} + zy = mf->zy; + yy = mf->yy; + mf->yy = (yy * cos2) + (zy * sin2); + mf->zy = (zy * cos2) - (yy * sin2); + + if (cos2) {} + mf->yz = mf->zz * sin2; + mf->zz = mf->zz * cos2; + } else { + mf->yz = 0; + } +} + +/** + * Produces a rotation matrix = (yaw rotation matrix) * (roll rotation matrix) * (pitch rotation matrix) + */ +void SkinMatrix_SetRotateYRP(MtxF* mf, s16 yaw, s16 roll, s16 pitch) { + f32 cos2; + f32 sin; + f32 cos; + f32 xz; + f32 sin2; + f32 yz; + f32 xx; + f32 yx; + sin = Math_Sins(roll); + cos = Math_Coss(roll); + mf->xx = cos; + mf->xz = -sin; + mf->zw = 0; + mf->yw = 0; + mf->xw = 0; + mf->wz = 0; + mf->wy = 0; + mf->wx = 0; + mf->ww = 1; + + if (yaw != 0) { + sin2 = Math_Sins(yaw); + cos2 = Math_Coss(yaw); + + mf->zz = cos * cos2; + mf->yz = cos * sin2; + + mf->zx = sin * cos2; + mf->yx = sin * sin2; + mf->zy = -sin2; + mf->yy = cos2; + + } else { + mf->zz = cos; + if (1) {} + if (1) {} + yx = sin; // required to match + mf->zx = sin; + mf->yx = mf->yz = mf->zy = 0; + mf->yy = 1; + } + + if (pitch != 0) { + sin2 = Math_Sins(pitch); + cos2 = Math_Coss(pitch); + xx = mf->xx; + yx = mf->yx; + mf->xx = (xx * cos2) + (yx * sin2); + mf->yx = yx * cos2 - (xx * sin2); + if (1) {} + yz = mf->yz; + xz = mf->xz; + mf->xz = (xz * cos2) + (yz * sin2); + mf->yz = (yz * cos2) - (xz * sin2); + if (cos2) {} + mf->xy = mf->yy * sin2; + mf->yy = mf->yy * cos2; + } else { + mf->xy = 0; + } +} + +/** + * Produces a matrix which translates a vector by amounts in the x, y and z directions + */ +void SkinMatrix_SetTranslate(MtxF* mf, f32 x, f32 y, f32 z) { + mf->xy = 0.0f; + mf->xz = 0.0f; + mf->xw = 0.0f; + mf->yx = 0.0f; + mf->yz = 0.0f; + mf->yw = 0.0f; + mf->zx = 0.0f; + mf->zy = 0.0f; + mf->zw = 0.0f; + mf->xx = 1.0f; + mf->yy = 1.0f; + mf->zz = 1.0f; + mf->ww = 1.0f; + mf->wx = x; + mf->wy = y; + mf->wz = z; +} + +/** + * Produces a matrix which scales, then rotates (RPY), then translates a vector + */ +void SkinMatrix_SetScaleRotateRPYTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 scaleZ, s16 roll, s16 pitch, s16 yaw, + f32 dx, f32 dy, f32 dz) { + MtxF mft1; + MtxF mft2; + + SkinMatrix_SetTranslate(mf, dx, dy, dz); + SkinMatrix_SetRotateRPY(&mft1, roll, pitch, yaw); + SkinMatrix_MtxFMtxFMult(mf, &mft1, &mft2); + SkinMatrix_SetScale(&mft1, scaleX, scaleY, scaleZ); + SkinMatrix_MtxFMtxFMult(&mft2, &mft1, mf); +} + +/** + * Produces a matrix which scales, then rotates (YRP), then translates a vector + */ +void SkinMatrix_SetScaleRotateYRPTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 scaleZ, s16 yaw, s16 roll, s16 pitch, + f32 dx, f32 dy, f32 dz) { + MtxF mft1; + MtxF mft2; + + SkinMatrix_SetTranslate(mf, dx, dy, dz); + SkinMatrix_SetRotateYRP(&mft1, yaw, roll, pitch); + SkinMatrix_MtxFMtxFMult(mf, &mft1, &mft2); + SkinMatrix_SetScale(&mft1, scaleX, scaleY, scaleZ); + SkinMatrix_MtxFMtxFMult(&mft2, &mft1, mf); +} + +/** + * Produces a matrix which rotates (RPY), then translates a vector + */ +void SkinMatrix_SetRotateRPYTranslate(MtxF* mf, s16 roll, s16 pitch, s16 yaw, f32 dx, f32 dy, f32 dz) { + MtxF mft1; + MtxF mft2; + + SkinMatrix_SetTranslate(&mft2, dx, dy, dz); + SkinMatrix_SetRotateRPY(&mft1, roll, pitch, yaw); + SkinMatrix_MtxFMtxFMult(&mft2, &mft1, mf); +} + +void SkinMatrix_Vec3fToVec3s(Vec3f* src, Vec3s* dest) { + dest->x = src->x; + dest->y = src->y; + dest->z = src->z; +} + +void SkinMatrix_Vec3sToVec3f(Vec3s* src, Vec3f* dest) { + dest->x = src->x; + dest->y = src->y; + dest->z = src->z; +} + +void SkinMatrix_MtxFToMtx(MtxF* src, Mtx* dest) { + s32 temp; + u16* m1 = (u16*)&dest->m[0][0]; + u16* m2 = (u16*)&dest->m[2][0]; + + temp = src->xx * 0x10000; + m1[0] = (temp >> 0x10); + m1[16 + 0] = temp & 0xFFFF; + + temp = src->xy * 0x10000; + m1[1] = (temp >> 0x10); + m1[16 + 1] = temp & 0xFFFF; + + temp = src->xz * 0x10000; + m1[2] = (temp >> 0x10); + m1[16 + 2] = temp & 0xFFFF; + + temp = src->xw * 0x10000; + m1[3] = (temp >> 0x10); + m1[16 + 3] = temp & 0xFFFF; + + temp = src->yx * 0x10000; + m1[4] = (temp >> 0x10); + m1[16 + 4] = temp & 0xFFFF; + + temp = src->yy * 0x10000; + m1[5] = (temp >> 0x10); + m1[16 + 5] = temp & 0xFFFF; + + temp = src->yz * 0x10000; + m1[6] = (temp >> 0x10); + m1[16 + 6] = temp & 0xFFFF; + + temp = src->yw * 0x10000; + m1[7] = (temp >> 0x10); + m1[16 + 7] = temp & 0xFFFF; + + temp = src->zx * 0x10000; + m1[8] = (temp >> 0x10); + m1[16 + 8] = temp & 0xFFFF; + + temp = src->zy * 0x10000; + m1[9] = (temp >> 0x10); + m2[9] = temp & 0xFFFF; + + temp = src->zz * 0x10000; + m1[10] = (temp >> 0x10); + m2[10] = temp & 0xFFFF; + + temp = src->zw * 0x10000; + m1[11] = (temp >> 0x10); + m2[11] = temp & 0xFFFF; + + temp = src->wx * 0x10000; + m1[12] = (temp >> 0x10); + m2[12] = temp & 0xFFFF; + + temp = src->wy * 0x10000; + m1[13] = (temp >> 0x10); + m2[13] = temp & 0xFFFF; + + temp = src->wz * 0x10000; + m1[14] = (temp >> 0x10); + m2[14] = temp & 0xFFFF; + + temp = src->ww * 0x10000; + m1[15] = (temp >> 0x10); + m2[15] = temp & 0xFFFF; +} + +Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src) { + Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx)); + + if (mtx == NULL) { + osSyncPrintf("Skin_Matrix_to_Mtx_new() 確保失敗:NULLを返して終了\n", mtx); + return NULL; + } + SkinMatrix_MtxFToMtx(src, mtx); + return mtx; +} + +/** + * Produces a matrix which rotates vectors by angle a around the vector with components (x,y,z) + */ +#ifdef NON_EQUIVALENT +// I think this is functionally correct but I cannot be 100% sure of equivalence because diff output is not very close +void func_800A7EC0(MtxF* mf, s16 a, f32 x, f32 y, f32 z) { + f32 sin; + f32 cos; + f32 ct; + f32 xx; + f32 yy; + f32 zz; + f32 xy; + f32 xz; + f32 yz; + f32 sx; + f32 sy; + f32 sz; + + sin = Math_Sins(a); + cos = Math_Coss(a); + + ct = 1.0f - cos; + sx = sin * x; + sy = sin * y; + sz = sin * z; + + xx = x * x; + xy = x * y; + xz = x * z; + yy = y * y; + yz = y * z; + zz = z * z; + + mf->xx = (f32)ct * xx + cos; + mf->xy = (f32)((ct * xy) + sz); + mf->xz = (f32)((ct * xz) - sy); + mf->xw = 0.0f; + + mf->yx = (f32)((ct * (xy)) - sz); + mf->yy = (f32)ct * yy + cos; + mf->yz = (f32)((ct * (yz)) + sx); + mf->yw = 0.0f; + + mf->zx = (f32)((ct * (xz)) + sy); + mf->zy = (f32)((ct * (yz)) - sx); + mf->zz = (f32)ct * zz + cos; + + mf->zw = 0.0f; + + mf->wx = 0.0f; + mf->wy = 0.0f; + mf->wz = 0.0f; + mf->ww = 1.0f; +} +#else #pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7EC0.s") +#endif -#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A8030.s") +void func_800A8030(MtxF* mf, f32* arg1) { + f32 n; + f32 xNorm; + f32 yNorm; + f32 zNorm; + f32 wxNorm; + f32 wyNorm; + f32 wzNorm; + f32 xxNorm; + f32 xyNorm; + f32 xzNorm; + f32 yyNorm; + f32 yzNorm; + f32 zzNorm; + + n = 2.0f / ((arg1[3] * arg1[3]) + ((arg1[2] * arg1[2]) + ((arg1[1] * arg1[1]) + (arg1[0] * arg1[0])))); + xNorm = arg1[0] * n; + yNorm = arg1[1] * n; + zNorm = arg1[2] * n; + + wxNorm = arg1[3] * xNorm; + wyNorm = arg1[3] * yNorm; + wzNorm = arg1[3] * zNorm; + xxNorm = arg1[0] * xNorm; + xyNorm = arg1[0] * yNorm; + xzNorm = arg1[0] * zNorm; + yyNorm = arg1[1] * yNorm; + yzNorm = arg1[1] * zNorm; + zzNorm = arg1[2] * zNorm; + + mf->xx = (1.0f - (yyNorm + zzNorm)); + mf->xy = (xyNorm + wzNorm); + mf->xz = (xzNorm - wyNorm); + mf->xw = 0.0f; + mf->yx = (xyNorm - wzNorm); + mf->yy = (1.0f - (xxNorm + zzNorm)); + mf->yz = (yzNorm + wxNorm); + mf->yw = 0.0f; + mf->zx = (yzNorm + wyNorm); + mf->zy = (yzNorm - wxNorm); + mf->zz = (1.0f - (xxNorm + yyNorm)); + mf->zw = 0.0f; + mf->wx = 0.0f; + mf->wy = 0.0f; + mf->ww = 1.0f; + mf->wz = 0.0f; +} diff --git a/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c b/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c index 5fbd61c80c..7226eeac98 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c +++ b/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c @@ -511,7 +511,7 @@ void BgHakaTrap_Draw(Actor* thisx, GlobalContext* globalCtx) { sp2C.z = thisx->posRot.pos.z; sp2C.y = thisx->posRot.pos.y + 110.0f; - func_800A6EF4(&globalCtx->mf_11D60, &sp2C, &this->unk_16C); + SkinMatrix_Vec3fMtxFMultXYZ(&globalCtx->mf_11D60, &sp2C, &this->unk_16C); func_80078914(&this->unk_16C, NA_SE_EV_BRIDGE_CLOSE - SFX_FLAG); } } diff --git a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c index 2a7fc90a70..869b833650 100644 --- a/src/overlays/actors/ovl_Demo_Go/z_demo_go.c +++ b/src/overlays/actors/ovl_Demo_Go/z_demo_go.c @@ -82,7 +82,7 @@ void func_8097C8A8(DemoGo* this, GlobalContext* globalCtx) { Vec3f* sp1C; if ((thisx->params == 0) || (thisx->params == 1)) { - func_800A6E10(&globalCtx->mf_11D60, &thisx->posRot.pos, &sp20, &sp1C); + SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &thisx->posRot.pos, &sp20, &sp1C); Audio_PlaySoundAtPosition(globalCtx, &sp20, 20, NA_SE_EV_OBJECT_FALL); } } diff --git a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c index 0756585d09..850b63c72c 100644 --- a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c +++ b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c @@ -483,7 +483,7 @@ void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) { func_800D1FD4(&globalCtx->mf_11DA0); func_80093D84(globalCtx->state.gfxCtx); gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160); - + if (this->fireMode > 0) { gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 255, 255, 0); } else { @@ -502,8 +502,8 @@ void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) { gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(gfxCtx->polyXlu.p++, 0x08, - Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, - 1, (s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40)); + Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1, + (s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40)); gSPDisplayList(gfxCtx->polyXlu.p++, D_0600FAA0); } else { osSyncPrintf("FF DRAW 1\n"); diff --git a/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.c b/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.c index 46a8f200ab..0f8c21c689 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.c +++ b/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.c @@ -65,14 +65,14 @@ void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) { scale = this->regs[SS_BOMB_SCALE] / 100.0f; - func_800A7A24(&sp12C, this->pos.x, this->pos.y, this->pos.z); - func_800A76A4(&spEC, scale, scale, 1.0f); - func_800A6FA0(&sp12C, &globalCtx->mf_11DA0, &sp6C); - func_800A6FA0(&sp6C, &spEC, &spAC); + SkinMatrix_SetTranslate(&sp12C, this->pos.x, this->pos.y, this->pos.z); + SkinMatrix_SetScale(&spEC, scale, scale, 1.0f); + SkinMatrix_MtxFMtxFMult(&sp12C, &globalCtx->mf_11DA0, &sp6C); + SkinMatrix_MtxFMtxFMult(&sp6C, &spEC, &spAC); gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - mtx = func_800A7E70(gfxCtx, &spAC); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spAC); if (mtx != NULL) { gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); diff --git a/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c b/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c index 7255111500..4e509d7709 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c +++ b/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c @@ -87,12 +87,12 @@ void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this) Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 298); scale = this->regs[SS_BOMB2_SCALE] * 0.01f; - func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z); - func_800A76A4(&spDC, scale, scale, 1.0f); - func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C); + SkinMatrix_SetTranslate(&sp11C, this->pos.x, this->pos.y, this->pos.z); + SkinMatrix_SetScale(&spDC, scale, scale, 1.0f); + SkinMatrix_MtxFMtxFMult(&sp11C, &globalCtx->mf_11DA0, &sp5C); - func_800A6FA0(&sp5C, &spDC, &sp9C); - mtx = func_800A7E70(gfxCtx, &sp9C); + SkinMatrix_MtxFMtxFMult(&sp5C, &spDC, &sp9C); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp9C); if (mtx != NULL) { gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); @@ -134,15 +134,15 @@ void EffectSsBomb2_DrawLayered(GlobalContext* globalCtx, u32 index, EffectSs* th temp_f24 = this->regs[SS_BOMB2_A]; scale = this->regs[SS_BOMB2_SCALE] * 0.01f; - func_800A7A24(&sp1B4, this->pos.x, this->pos.y, this->pos.z); - func_800A76A4(&sp174, scale, scale, 1.0f); - func_800A6FA0(&sp1B4, &globalCtx->mf_11DA0, &spF4); - func_800A6FA0(&spF4, &sp174, &sp134); - mtx = func_800A7E70(gfxCtx, &sp134); + SkinMatrix_SetTranslate(&sp1B4, this->pos.x, this->pos.y, this->pos.z); + SkinMatrix_SetScale(&sp174, scale, scale, 1.0f); + SkinMatrix_MtxFMtxFMult(&sp1B4, &globalCtx->mf_11DA0, &spF4); + SkinMatrix_MtxFMtxFMult(&spF4, &sp174, &sp134); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp134); if (mtx != NULL) { gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - mtx2 = func_800A7E70(gfxCtx, &sp134); + mtx2 = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp134); if (mtx2 != NULL) { func_80094BC4(gfxCtx); diff --git a/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c b/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c index d4ce7b15d6..b9c7e604c0 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c +++ b/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c @@ -96,13 +96,13 @@ void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) { scale = this->regs[SS_DUST_SCALE] * 0.0025f; - func_800A7A24(&sp144, this->pos.x, this->pos.y, this->pos.z); - func_800A76A4(&sp104, scale, scale, 1.0f); - func_800A6FA0(&sp144, &globalCtx->mf_11DA0, &sp84); - func_800A6FA0(&sp84, &sp104, &spC4); + SkinMatrix_SetTranslate(&sp144, this->pos.x, this->pos.y, this->pos.z); + SkinMatrix_SetScale(&sp104, scale, scale, 1.0f); + SkinMatrix_MtxFMtxFMult(&sp144, &globalCtx->mf_11DA0, &sp84); + SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4); gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - mtx = func_800A7E70(gfxCtx, &spC4); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spC4); if (mtx != NULL) { gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c b/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c index 960f795cc0..03de4adf79 100644 --- a/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c +++ b/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c @@ -94,12 +94,12 @@ void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) { scale = this->regs[SS_G_SPK_SCALE] * 0.0025f; - func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z); - func_800A76A4(&spDC, scale, scale, 1.0f); - func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C); - func_800A6FA0(&sp5C, &spDC, &sp9C); + SkinMatrix_SetTranslate(&sp11C, this->pos.x, this->pos.y, this->pos.z); + SkinMatrix_SetScale(&spDC, scale, scale, 1.0f); + SkinMatrix_MtxFMtxFMult(&sp11C, &globalCtx->mf_11DA0, &sp5C); + SkinMatrix_MtxFMtxFMult(&sp5C, &spDC, &sp9C); - mtx = func_800A7E70(gfxCtx, &sp9C); + mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp9C); if (mtx != NULL) { gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);