From 2126685472c5930fbc77f30f09aa5b984870f739 Mon Sep 17 00:00:00 2001 From: Roman971 <32455037+Roman971@users.noreply.github.com> Date: Tue, 6 Apr 2021 05:56:52 +0200 Subject: [PATCH] Match the last 4 functions in sys_matrix.c (#761) --- .../code/sys_matrix/func_800D1FD4.s | 63 ---- .../code/sys_matrix/func_800D20CC.s | 124 -------- .../code/sys_matrix/func_800D2264.s | 124 -------- .../code/sys_matrix/func_800D23FC.s | 285 ------------------ src/code/sys_matrix.c | 114 +++---- 5 files changed, 57 insertions(+), 653 deletions(-) delete mode 100644 asm/non_matchings/code/sys_matrix/func_800D1FD4.s delete mode 100644 asm/non_matchings/code/sys_matrix/func_800D20CC.s delete mode 100644 asm/non_matchings/code/sys_matrix/func_800D2264.s delete mode 100644 asm/non_matchings/code/sys_matrix/func_800D23FC.s diff --git a/asm/non_matchings/code/sys_matrix/func_800D1FD4.s b/asm/non_matchings/code/sys_matrix/func_800D1FD4.s deleted file mode 100644 index f2f1b687b8..0000000000 --- a/asm/non_matchings/code/sys_matrix/func_800D1FD4.s +++ /dev/null @@ -1,63 +0,0 @@ -glabel func_800D1FD4 -/* B49174 800D1FD4 3C028017 */ lui $v0, %hi(sCurrentMatrix) # $v0, 0x8017 -/* B49178 800D1FD8 8C42A7C4 */ lw $v0, %lo(sCurrentMatrix)($v0) -/* B4917C 800D1FDC C4880000 */ lwc1 $f8, ($a0) -/* B49180 800D1FE0 C4420000 */ lwc1 $f2, ($v0) -/* B49184 800D1FE4 C44C0004 */ lwc1 $f12, 4($v0) -/* B49188 800D1FE8 46021082 */ mul.s $f2, $f2, $f2 -/* B4918C 800D1FEC 00000000 */ nop -/* B49190 800D1FF0 460C6102 */ mul.s $f4, $f12, $f12 -/* B49194 800D1FF4 C44C0008 */ lwc1 $f12, 8($v0) -/* B49198 800D1FF8 460C6182 */ mul.s $f6, $f12, $f12 -/* B4919C 800D1FFC C44C0014 */ lwc1 $f12, 0x14($v0) -/* B491A0 800D2000 46041080 */ add.s $f2, $f2, $f4 -/* B491A4 800D2004 46061080 */ add.s $f2, $f2, $f6 -/* B491A8 800D2008 46001004 */ sqrt.s $f0, $f2 -/* B491AC 800D200C C4420010 */ lwc1 $f2, 0x10($v0) -/* B491B0 800D2010 46004282 */ mul.s $f10, $f8, $f0 -/* B491B4 800D2014 E44A0000 */ swc1 $f10, ($v0) -/* B491B8 800D2018 C4900004 */ lwc1 $f16, 4($a0) -/* B491BC 800D201C 46008482 */ mul.s $f18, $f16, $f0 -/* B491C0 800D2020 E4520004 */ swc1 $f18, 4($v0) -/* B491C4 800D2024 C4840008 */ lwc1 $f4, 8($a0) -/* B491C8 800D2028 46002182 */ mul.s $f6, $f4, $f0 -/* B491CC 800D202C 00000000 */ nop -/* B491D0 800D2030 46021082 */ mul.s $f2, $f2, $f2 -/* B491D4 800D2034 00000000 */ nop -/* B491D8 800D2038 460C6202 */ mul.s $f8, $f12, $f12 -/* B491DC 800D203C C44C0018 */ lwc1 $f12, 0x18($v0) -/* B491E0 800D2040 E4460008 */ swc1 $f6, 8($v0) -/* B491E4 800D2044 C4900010 */ lwc1 $f16, 0x10($a0) -/* B491E8 800D2048 460C6282 */ mul.s $f10, $f12, $f12 -/* B491EC 800D204C C44C0024 */ lwc1 $f12, 0x24($v0) -/* B491F0 800D2050 46081080 */ add.s $f2, $f2, $f8 -/* B491F4 800D2054 460A1080 */ add.s $f2, $f2, $f10 -/* B491F8 800D2058 46001004 */ sqrt.s $f0, $f2 -/* B491FC 800D205C C4420020 */ lwc1 $f2, 0x20($v0) -/* B49200 800D2060 46008482 */ mul.s $f18, $f16, $f0 -/* B49204 800D2064 E4520010 */ swc1 $f18, 0x10($v0) -/* B49208 800D2068 C4840014 */ lwc1 $f4, 0x14($a0) -/* B4920C 800D206C 46002182 */ mul.s $f6, $f4, $f0 -/* B49210 800D2070 E4460014 */ swc1 $f6, 0x14($v0) -/* B49214 800D2074 C4880018 */ lwc1 $f8, 0x18($a0) -/* B49218 800D2078 46004282 */ mul.s $f10, $f8, $f0 -/* B4921C 800D207C 00000000 */ nop -/* B49220 800D2080 46021082 */ mul.s $f2, $f2, $f2 -/* B49224 800D2084 00000000 */ nop -/* B49228 800D2088 460C6402 */ mul.s $f16, $f12, $f12 -/* B4922C 800D208C C44C0028 */ lwc1 $f12, 0x28($v0) -/* B49230 800D2090 E44A0018 */ swc1 $f10, 0x18($v0) -/* B49234 800D2094 C4840020 */ lwc1 $f4, 0x20($a0) -/* B49238 800D2098 460C6482 */ mul.s $f18, $f12, $f12 -/* B4923C 800D209C 46101080 */ add.s $f2, $f2, $f16 -/* B49240 800D20A0 46121080 */ add.s $f2, $f2, $f18 -/* B49244 800D20A4 46001004 */ sqrt.s $f0, $f2 -/* B49248 800D20A8 46002182 */ mul.s $f6, $f4, $f0 -/* B4924C 800D20AC E4460020 */ swc1 $f6, 0x20($v0) -/* B49250 800D20B0 C4880024 */ lwc1 $f8, 0x24($a0) -/* B49254 800D20B4 46004282 */ mul.s $f10, $f8, $f0 -/* B49258 800D20B8 E44A0024 */ swc1 $f10, 0x24($v0) -/* B4925C 800D20BC C4900028 */ lwc1 $f16, 0x28($a0) -/* B49260 800D20C0 46008482 */ mul.s $f18, $f16, $f0 -/* B49264 800D20C4 03E00008 */ jr $ra -/* B49268 800D20C8 E4520028 */ swc1 $f18, 0x28($v0) diff --git a/asm/non_matchings/code/sys_matrix/func_800D20CC.s b/asm/non_matchings/code/sys_matrix/func_800D20CC.s deleted file mode 100644 index e84e7cb690..0000000000 --- a/asm/non_matchings/code/sys_matrix/func_800D20CC.s +++ /dev/null @@ -1,124 +0,0 @@ -.late_rodata -glabel D_80146640 - .float 10430.378 - -glabel D_80146644 - .float 10430.378 - -glabel D_80146648 - .float 10430.378 - -glabel D_8014664C - .float 10430.378 - -glabel D_80146650 - .float 10430.378 - -.text -glabel func_800D20CC -/* B4926C 800D20CC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* B49270 800D20D0 AFBF0024 */ sw $ra, 0x24($sp) -/* B49274 800D20D4 AFB00020 */ sw $s0, 0x20($sp) -/* B49278 800D20D8 F7B40018 */ sdc1 $f20, 0x18($sp) -/* B4927C 800D20DC AFA60030 */ sw $a2, 0x30($sp) -/* B49280 800D20E0 C4940020 */ lwc1 $f20, 0x20($a0) -/* B49284 800D20E4 C4820028 */ lwc1 $f2, 0x28($a0) -/* B49288 800D20E8 C48C0024 */ lwc1 $f12, 0x24($a0) -/* B4928C 800D20EC 4614A502 */ mul.s $f20, $f20, $f20 -/* B49290 800D20F0 00A08025 */ move $s0, $a1 -/* B49294 800D20F4 AFA40028 */ sw $a0, 0x28($sp) -/* B49298 800D20F8 46021102 */ mul.s $f4, $f2, $f2 -/* B4929C 800D20FC 46006307 */ neg.s $f12, $f12 -/* B492A0 800D2100 4604A500 */ add.s $f20, $f20, $f4 -/* B492A4 800D2104 0C03F494 */ jal Math_FAtan2F -/* B492A8 800D2108 4600A384 */ sqrt.s $f14, $f20 -/* B492AC 800D210C 3C018014 */ lui $at, %hi(D_80146640) -/* B492B0 800D2110 C4266640 */ lwc1 $f6, %lo(D_80146640)($at) -/* B492B4 800D2114 8FA40028 */ lw $a0, 0x28($sp) -/* B492B8 800D2118 24014000 */ li $at, 16384 -/* B492BC 800D211C 46060202 */ mul.s $f8, $f0, $f6 -/* B492C0 800D2120 4600428D */ trunc.w.s $f10, $f8 -/* B492C4 800D2124 440F5000 */ mfc1 $t7, $f10 -/* B492C8 800D2128 00000000 */ nop -/* B492CC 800D212C A60F0000 */ sh $t7, ($s0) -/* B492D0 800D2130 86020000 */ lh $v0, ($s0) -/* B492D4 800D2134 10410003 */ beq $v0, $at, .L800D2144 -/* B492D8 800D2138 2401C000 */ li $at, -16384 -/* B492DC 800D213C 5441000E */ bnel $v0, $at, .L800D2178 -/* B492E0 800D2140 C48C0020 */ lwc1 $f12, 0x20($a0) -.L800D2144: -/* B492E4 800D2144 A6000004 */ sh $zero, 4($s0) -/* B492E8 800D2148 C48C0008 */ lwc1 $f12, 8($a0) -/* B492EC 800D214C C48E0000 */ lwc1 $f14, ($a0) -/* B492F0 800D2150 0C03F494 */ jal Math_FAtan2F -/* B492F4 800D2154 46006307 */ neg.s $f12, $f12 -/* B492F8 800D2158 3C018014 */ lui $at, %hi(D_80146644) -/* B492FC 800D215C C4326644 */ lwc1 $f18, %lo(D_80146644)($at) -/* B49300 800D2160 46120102 */ mul.s $f4, $f0, $f18 -/* B49304 800D2164 4600218D */ trunc.w.s $f6, $f4 -/* B49308 800D2168 44193000 */ mfc1 $t9, $f6 -/* B4930C 800D216C 10000038 */ b .L800D2250 -/* B49310 800D2170 A6190002 */ sh $t9, 2($s0) -/* B49314 800D2174 C48C0020 */ lwc1 $f12, 0x20($a0) -.L800D2178: -/* B49318 800D2178 C48E0028 */ lwc1 $f14, 0x28($a0) -/* B4931C 800D217C 0C03F494 */ jal Math_FAtan2F -/* B49320 800D2180 AFA40028 */ sw $a0, 0x28($sp) -/* B49324 800D2184 3C018014 */ lui $at, %hi(D_80146648) -/* B49328 800D2188 C4286648 */ lwc1 $f8, %lo(D_80146648)($at) -/* B4932C 800D218C 8FA40028 */ lw $a0, 0x28($sp) -/* B49330 800D2190 46080282 */ mul.s $f10, $f0, $f8 -/* B49334 800D2194 4600548D */ trunc.w.s $f18, $f10 -/* B49338 800D2198 44099000 */ mfc1 $t1, $f18 -/* B4933C 800D219C 00000000 */ nop -/* B49340 800D21A0 A6090002 */ sh $t1, 2($s0) -/* B49344 800D21A4 8FAA0030 */ lw $t2, 0x30($sp) -/* B49348 800D21A8 5540000C */ bnezl $t2, .L800D21DC -/* B4934C 800D21AC C4940000 */ lwc1 $f20, ($a0) -/* B49350 800D21B0 C48C0004 */ lwc1 $f12, 4($a0) -/* B49354 800D21B4 0C03F494 */ jal Math_FAtan2F -/* B49358 800D21B8 C48E0014 */ lwc1 $f14, 0x14($a0) -/* B4935C 800D21BC 3C018014 */ lui $at, %hi(D_8014664C) -/* B49360 800D21C0 C424664C */ lwc1 $f4, %lo(D_8014664C)($at) -/* B49364 800D21C4 46040182 */ mul.s $f6, $f0, $f4 -/* B49368 800D21C8 4600320D */ trunc.w.s $f8, $f6 -/* B4936C 800D21CC 440C4000 */ mfc1 $t4, $f8 -/* B49370 800D21D0 1000001F */ b .L800D2250 -/* B49374 800D21D4 A60C0004 */ sh $t4, 4($s0) -/* B49378 800D21D8 C4940000 */ lwc1 $f20, ($a0) -.L800D21DC: -/* B4937C 800D21DC C4820008 */ lwc1 $f2, 8($a0) -/* B49380 800D21E0 C4900018 */ lwc1 $f16, 0x18($a0) -/* B49384 800D21E4 4614A502 */ mul.s $f20, $f20, $f20 -/* B49388 800D21E8 00000000 */ nop -/* B4938C 800D21EC 46021282 */ mul.s $f10, $f2, $f2 -/* B49390 800D21F0 C4820004 */ lwc1 $f2, 4($a0) -/* B49394 800D21F4 46021482 */ mul.s $f18, $f2, $f2 -/* B49398 800D21F8 460AA500 */ add.s $f20, $f20, $f10 -/* B4939C 800D21FC 4612A500 */ add.s $f20, $f20, $f18 -/* B493A0 800D2200 4600A004 */ sqrt.s $f0, $f20 -/* B493A4 800D2204 46001303 */ div.s $f12, $f2, $f0 -/* B493A8 800D2208 C4820010 */ lwc1 $f2, 0x10($a0) -/* B493AC 800D220C 46021082 */ mul.s $f2, $f2, $f2 -/* B493B0 800D2210 00000000 */ nop -/* B493B4 800D2214 46108102 */ mul.s $f4, $f16, $f16 -/* B493B8 800D2218 C4900014 */ lwc1 $f16, 0x14($a0) -/* B493BC 800D221C 46108182 */ mul.s $f6, $f16, $f16 -/* B493C0 800D2220 46041080 */ add.s $f2, $f2, $f4 -/* B493C4 800D2224 46061080 */ add.s $f2, $f2, $f6 -/* B493C8 800D2228 46001004 */ sqrt.s $f0, $f2 -/* B493CC 800D222C 0C03F494 */ jal Math_FAtan2F -/* B493D0 800D2230 46008383 */ div.s $f14, $f16, $f0 -/* B493D4 800D2234 3C018014 */ lui $at, %hi(D_80146650) -/* B493D8 800D2238 C4286650 */ lwc1 $f8, %lo(D_80146650)($at) -/* B493DC 800D223C 46080282 */ mul.s $f10, $f0, $f8 -/* B493E0 800D2240 4600548D */ trunc.w.s $f18, $f10 -/* B493E4 800D2244 440E9000 */ mfc1 $t6, $f18 -/* B493E8 800D2248 00000000 */ nop -/* B493EC 800D224C A60E0004 */ sh $t6, 4($s0) -.L800D2250: -/* B493F0 800D2250 8FBF0024 */ lw $ra, 0x24($sp) -/* B493F4 800D2254 D7B40018 */ ldc1 $f20, 0x18($sp) -/* B493F8 800D2258 8FB00020 */ lw $s0, 0x20($sp) -/* B493FC 800D225C 03E00008 */ jr $ra -/* B49400 800D2260 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/code/sys_matrix/func_800D2264.s b/asm/non_matchings/code/sys_matrix/func_800D2264.s deleted file mode 100644 index e3d50d37a7..0000000000 --- a/asm/non_matchings/code/sys_matrix/func_800D2264.s +++ /dev/null @@ -1,124 +0,0 @@ -.late_rodata -glabel D_80146654 - .float 10430.378 - -glabel D_80146658 - .float 10430.378 - -glabel D_8014665C - .float 10430.378 - -glabel D_80146660 - .float 10430.378 - -glabel D_80146664 - .float 10430.378 - -.text -glabel func_800D2264 -/* B49404 800D2264 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* B49408 800D2268 AFBF0024 */ sw $ra, 0x24($sp) -/* B4940C 800D226C AFB00020 */ sw $s0, 0x20($sp) -/* B49410 800D2270 F7B40018 */ sdc1 $f20, 0x18($sp) -/* B49414 800D2274 AFA60030 */ sw $a2, 0x30($sp) -/* B49418 800D2278 C4940000 */ lwc1 $f20, ($a0) -/* B4941C 800D227C C4820004 */ lwc1 $f2, 4($a0) -/* B49420 800D2280 C48C0008 */ lwc1 $f12, 8($a0) -/* B49424 800D2284 4614A502 */ mul.s $f20, $f20, $f20 -/* B49428 800D2288 00A08025 */ move $s0, $a1 -/* B4942C 800D228C AFA40028 */ sw $a0, 0x28($sp) -/* B49430 800D2290 46021102 */ mul.s $f4, $f2, $f2 -/* B49434 800D2294 46006307 */ neg.s $f12, $f12 -/* B49438 800D2298 4604A500 */ add.s $f20, $f20, $f4 -/* B4943C 800D229C 0C03F494 */ jal Math_FAtan2F -/* B49440 800D22A0 4600A384 */ sqrt.s $f14, $f20 -/* B49444 800D22A4 3C018014 */ lui $at, %hi(D_80146654) -/* B49448 800D22A8 C4266654 */ lwc1 $f6, %lo(D_80146654)($at) -/* B4944C 800D22AC 8FA40028 */ lw $a0, 0x28($sp) -/* B49450 800D22B0 24014000 */ li $at, 16384 -/* B49454 800D22B4 46060202 */ mul.s $f8, $f0, $f6 -/* B49458 800D22B8 4600428D */ trunc.w.s $f10, $f8 -/* B4945C 800D22BC 440F5000 */ mfc1 $t7, $f10 -/* B49460 800D22C0 00000000 */ nop -/* B49464 800D22C4 A60F0002 */ sh $t7, 2($s0) -/* B49468 800D22C8 86020002 */ lh $v0, 2($s0) -/* B4946C 800D22CC 10410003 */ beq $v0, $at, .L800D22DC -/* B49470 800D22D0 2401C000 */ li $at, -16384 -/* B49474 800D22D4 5441000E */ bnel $v0, $at, .L800D2310 -/* B49478 800D22D8 C48C0004 */ lwc1 $f12, 4($a0) -.L800D22DC: -/* B4947C 800D22DC A6000000 */ sh $zero, ($s0) -/* B49480 800D22E0 C48C0010 */ lwc1 $f12, 0x10($a0) -/* B49484 800D22E4 C48E0014 */ lwc1 $f14, 0x14($a0) -/* B49488 800D22E8 0C03F494 */ jal Math_FAtan2F -/* B4948C 800D22EC 46006307 */ neg.s $f12, $f12 -/* B49490 800D22F0 3C018014 */ lui $at, %hi(D_80146658) -/* B49494 800D22F4 C4326658 */ lwc1 $f18, %lo(D_80146658)($at) -/* B49498 800D22F8 46120102 */ mul.s $f4, $f0, $f18 -/* B4949C 800D22FC 4600218D */ trunc.w.s $f6, $f4 -/* B494A0 800D2300 44193000 */ mfc1 $t9, $f6 -/* B494A4 800D2304 10000038 */ b .L800D23E8 -/* B494A8 800D2308 A6190004 */ sh $t9, 4($s0) -/* B494AC 800D230C C48C0004 */ lwc1 $f12, 4($a0) -.L800D2310: -/* B494B0 800D2310 C48E0000 */ lwc1 $f14, ($a0) -/* B494B4 800D2314 0C03F494 */ jal Math_FAtan2F -/* B494B8 800D2318 AFA40028 */ sw $a0, 0x28($sp) -/* B494BC 800D231C 3C018014 */ lui $at, %hi(D_8014665C) -/* B494C0 800D2320 C428665C */ lwc1 $f8, %lo(D_8014665C)($at) -/* B494C4 800D2324 8FA40028 */ lw $a0, 0x28($sp) -/* B494C8 800D2328 46080282 */ mul.s $f10, $f0, $f8 -/* B494CC 800D232C 4600548D */ trunc.w.s $f18, $f10 -/* B494D0 800D2330 44099000 */ mfc1 $t1, $f18 -/* B494D4 800D2334 00000000 */ nop -/* B494D8 800D2338 A6090004 */ sh $t1, 4($s0) -/* B494DC 800D233C 8FAA0030 */ lw $t2, 0x30($sp) -/* B494E0 800D2340 5540000C */ bnezl $t2, .L800D2374 -/* B494E4 800D2344 C4940010 */ lwc1 $f20, 0x10($a0) -/* B494E8 800D2348 C48C0018 */ lwc1 $f12, 0x18($a0) -/* B494EC 800D234C 0C03F494 */ jal Math_FAtan2F -/* B494F0 800D2350 C48E0028 */ lwc1 $f14, 0x28($a0) -/* B494F4 800D2354 3C018014 */ lui $at, %hi(D_80146660) -/* B494F8 800D2358 C4246660 */ lwc1 $f4, %lo(D_80146660)($at) -/* B494FC 800D235C 46040182 */ mul.s $f6, $f0, $f4 -/* B49500 800D2360 4600320D */ trunc.w.s $f8, $f6 -/* B49504 800D2364 440C4000 */ mfc1 $t4, $f8 -/* B49508 800D2368 1000001F */ b .L800D23E8 -/* B4950C 800D236C A60C0000 */ sh $t4, ($s0) -/* B49510 800D2370 C4940010 */ lwc1 $f20, 0x10($a0) -.L800D2374: -/* B49514 800D2374 C4820014 */ lwc1 $f2, 0x14($a0) -/* B49518 800D2378 C4900024 */ lwc1 $f16, 0x24($a0) -/* B4951C 800D237C 4614A502 */ mul.s $f20, $f20, $f20 -/* B49520 800D2380 00000000 */ nop -/* B49524 800D2384 46021282 */ mul.s $f10, $f2, $f2 -/* B49528 800D2388 C4820018 */ lwc1 $f2, 0x18($a0) -/* B4952C 800D238C 46021482 */ mul.s $f18, $f2, $f2 -/* B49530 800D2390 460AA500 */ add.s $f20, $f20, $f10 -/* B49534 800D2394 4612A500 */ add.s $f20, $f20, $f18 -/* B49538 800D2398 4600A004 */ sqrt.s $f0, $f20 -/* B4953C 800D239C 46001303 */ div.s $f12, $f2, $f0 -/* B49540 800D23A0 C4820020 */ lwc1 $f2, 0x20($a0) -/* B49544 800D23A4 46021082 */ mul.s $f2, $f2, $f2 -/* B49548 800D23A8 00000000 */ nop -/* B4954C 800D23AC 46108102 */ mul.s $f4, $f16, $f16 -/* B49550 800D23B0 C4900028 */ lwc1 $f16, 0x28($a0) -/* B49554 800D23B4 46108182 */ mul.s $f6, $f16, $f16 -/* B49558 800D23B8 46041080 */ add.s $f2, $f2, $f4 -/* B4955C 800D23BC 46061080 */ add.s $f2, $f2, $f6 -/* B49560 800D23C0 46001004 */ sqrt.s $f0, $f2 -/* B49564 800D23C4 0C03F494 */ jal Math_FAtan2F -/* B49568 800D23C8 46008383 */ div.s $f14, $f16, $f0 -/* B4956C 800D23CC 3C018014 */ lui $at, %hi(D_80146664) -/* B49570 800D23D0 C4286664 */ lwc1 $f8, %lo(D_80146664)($at) -/* B49574 800D23D4 46080282 */ mul.s $f10, $f0, $f8 -/* B49578 800D23D8 4600548D */ trunc.w.s $f18, $f10 -/* B4957C 800D23DC 440E9000 */ mfc1 $t6, $f18 -/* B49580 800D23E0 00000000 */ nop -/* B49584 800D23E4 A60E0000 */ sh $t6, ($s0) -.L800D23E8: -/* B49588 800D23E8 8FBF0024 */ lw $ra, 0x24($sp) -/* B4958C 800D23EC D7B40018 */ ldc1 $f20, 0x18($sp) -/* B49590 800D23F0 8FB00020 */ lw $s0, 0x20($sp) -/* B49594 800D23F4 03E00008 */ jr $ra -/* B49598 800D23F8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/non_matchings/code/sys_matrix/func_800D23FC.s b/asm/non_matchings/code/sys_matrix/func_800D23FC.s deleted file mode 100644 index 24a9dcbade..0000000000 --- a/asm/non_matchings/code/sys_matrix/func_800D23FC.s +++ /dev/null @@ -1,285 +0,0 @@ -glabel func_800D23FC -/* B4959C 800D23FC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* B495A0 800D2400 AFA60048 */ sw $a2, 0x48($sp) -/* B495A4 800D2404 30C600FF */ andi $a2, $a2, 0xff -/* B495A8 800D2408 F7B40018 */ sdc1 $f20, 0x18($sp) -/* B495AC 800D240C 24010001 */ li $at, 1 -/* B495B0 800D2410 46006506 */ mov.s $f20, $f12 -/* B495B4 800D2414 AFBF003C */ sw $ra, 0x3c($sp) -/* B495B8 800D2418 AFB00038 */ sw $s0, 0x38($sp) -/* B495BC 800D241C F7BA0030 */ sdc1 $f26, 0x30($sp) -/* B495C0 800D2420 F7B80028 */ sdc1 $f24, 0x28($sp) -/* B495C4 800D2424 14C100A4 */ bne $a2, $at, .L800D26B8 -/* B495C8 800D2428 F7B60020 */ sdc1 $f22, 0x20($sp) -/* B495CC 800D242C 44802000 */ mtc1 $zero, $f4 -/* B495D0 800D2430 3C108017 */ lui $s0, %hi(sCurrentMatrix) -/* B495D4 800D2434 46046032 */ c.eq.s $f12, $f4 -/* B495D8 800D2438 00000000 */ nop -/* B495DC 800D243C 45030100 */ bc1tl .L800D2840 -/* B495E0 800D2440 8FBF003C */ lw $ra, 0x3c($sp) -/* B495E4 800D2444 8E10A7C4 */ lw $s0, %lo(sCurrentMatrix)($s0) -/* B495E8 800D2448 0C0400A4 */ jal sinf -/* B495EC 800D244C AFA50044 */ sw $a1, 0x44($sp) -/* B495F0 800D2450 46000686 */ mov.s $f26, $f0 -/* B495F4 800D2454 0C041184 */ jal cosf -/* B495F8 800D2458 4600A306 */ mov.s $f12, $f20 -/* B495FC 800D245C 8FA50044 */ lw $a1, 0x44($sp) -/* B49600 800D2460 C60E0000 */ lwc1 $f14, ($s0) -/* B49604 800D2464 C6020010 */ lwc1 $f2, 0x10($s0) -/* B49608 800D2468 C4B40000 */ lwc1 $f20, ($a1) -/* B4960C 800D246C C4B60004 */ lwc1 $f22, 4($a1) -/* B49610 800D2470 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B49614 800D2474 460EA202 */ mul.s $f8, $f20, $f14 -/* B49618 800D2478 44813000 */ mtc1 $at, $f6 -/* B4961C 800D247C C60C0020 */ lwc1 $f12, 0x20($s0) -/* B49620 800D2480 4602B282 */ mul.s $f10, $f22, $f2 -/* B49624 800D2484 C4B80008 */ lwc1 $f24, 8($a1) -/* B49628 800D2488 46003401 */ sub.s $f16, $f6, $f0 -/* B4962C 800D248C 460CC182 */ mul.s $f6, $f24, $f12 -/* B49630 800D2490 460A4100 */ add.s $f4, $f8, $f10 -/* B49634 800D2494 46062200 */ add.s $f8, $f4, $f6 -/* B49638 800D2498 46104482 */ mul.s $f18, $f8, $f16 -/* B4963C 800D249C 00000000 */ nop -/* B49640 800D24A0 46007282 */ mul.s $f10, $f14, $f0 -/* B49644 800D24A4 00000000 */ nop -/* B49648 800D24A8 4612A102 */ mul.s $f4, $f20, $f18 -/* B4964C 800D24AC 46045180 */ add.s $f6, $f10, $f4 -/* B49650 800D24B0 46181202 */ mul.s $f8, $f2, $f24 -/* B49654 800D24B4 00000000 */ nop -/* B49658 800D24B8 46166282 */ mul.s $f10, $f12, $f22 -/* B4965C 800D24BC 460A4101 */ sub.s $f4, $f8, $f10 -/* B49660 800D24C0 4604D202 */ mul.s $f8, $f26, $f4 -/* B49664 800D24C4 46083280 */ add.s $f10, $f6, $f8 -/* B49668 800D24C8 46001102 */ mul.s $f4, $f2, $f0 -/* B4966C 800D24CC E60A0000 */ swc1 $f10, ($s0) -/* B49670 800D24D0 C4A60004 */ lwc1 $f6, 4($a1) -/* B49674 800D24D4 46123202 */ mul.s $f8, $f6, $f18 -/* B49678 800D24D8 C4A60000 */ lwc1 $f6, ($a1) -/* B4967C 800D24DC 46082280 */ add.s $f10, $f4, $f8 -/* B49680 800D24E0 46066102 */ mul.s $f4, $f12, $f6 -/* B49684 800D24E4 C4A80008 */ lwc1 $f8, 8($a1) -/* B49688 800D24E8 46087182 */ mul.s $f6, $f14, $f8 -/* B4968C 800D24EC 46062201 */ sub.s $f8, $f4, $f6 -/* B49690 800D24F0 4608D102 */ mul.s $f4, $f26, $f8 -/* B49694 800D24F4 46045180 */ add.s $f6, $f10, $f4 -/* B49698 800D24F8 46006202 */ mul.s $f8, $f12, $f0 -/* B4969C 800D24FC C60C0024 */ lwc1 $f12, 0x24($s0) -/* B496A0 800D2500 E6060010 */ swc1 $f6, 0x10($s0) -/* B496A4 800D2504 C4AA0008 */ lwc1 $f10, 8($a1) -/* B496A8 800D2508 46125102 */ mul.s $f4, $f10, $f18 -/* B496AC 800D250C C4AA0004 */ lwc1 $f10, 4($a1) -/* B496B0 800D2510 46044180 */ add.s $f6, $f8, $f4 -/* B496B4 800D2514 460A7202 */ mul.s $f8, $f14, $f10 -/* B496B8 800D2518 C4A40000 */ lwc1 $f4, ($a1) -/* B496BC 800D251C C60E0004 */ lwc1 $f14, 4($s0) -/* B496C0 800D2520 46041282 */ mul.s $f10, $f2, $f4 -/* B496C4 800D2524 C6020014 */ lwc1 $f2, 0x14($s0) -/* B496C8 800D2528 460A4101 */ sub.s $f4, $f8, $f10 -/* B496CC 800D252C 4604D202 */ mul.s $f8, $f26, $f4 -/* B496D0 800D2530 46083280 */ add.s $f10, $f6, $f8 -/* B496D4 800D2534 E60A0020 */ swc1 $f10, 0x20($s0) -/* B496D8 800D2538 C4B40000 */ lwc1 $f20, ($a1) -/* B496DC 800D253C C4B60004 */ lwc1 $f22, 4($a1) -/* B496E0 800D2540 C4B80008 */ lwc1 $f24, 8($a1) -/* B496E4 800D2544 460EA102 */ mul.s $f4, $f20, $f14 -/* B496E8 800D2548 00000000 */ nop -/* B496EC 800D254C 4602B182 */ mul.s $f6, $f22, $f2 -/* B496F0 800D2550 46062200 */ add.s $f8, $f4, $f6 -/* B496F4 800D2554 460CC282 */ mul.s $f10, $f24, $f12 -/* B496F8 800D2558 460A4100 */ add.s $f4, $f8, $f10 -/* B496FC 800D255C 46102482 */ mul.s $f18, $f4, $f16 -/* B49700 800D2560 00000000 */ nop -/* B49704 800D2564 46007182 */ mul.s $f6, $f14, $f0 -/* B49708 800D2568 00000000 */ nop -/* B4970C 800D256C 4612A202 */ mul.s $f8, $f20, $f18 -/* B49710 800D2570 46083280 */ add.s $f10, $f6, $f8 -/* B49714 800D2574 46181102 */ mul.s $f4, $f2, $f24 -/* B49718 800D2578 00000000 */ nop -/* B4971C 800D257C 46166182 */ mul.s $f6, $f12, $f22 -/* B49720 800D2580 46062201 */ sub.s $f8, $f4, $f6 -/* B49724 800D2584 4608D102 */ mul.s $f4, $f26, $f8 -/* B49728 800D2588 46045180 */ add.s $f6, $f10, $f4 -/* B4972C 800D258C 46001202 */ mul.s $f8, $f2, $f0 -/* B49730 800D2590 E6060004 */ swc1 $f6, 4($s0) -/* B49734 800D2594 C4AA0004 */ lwc1 $f10, 4($a1) -/* B49738 800D2598 46125102 */ mul.s $f4, $f10, $f18 -/* B4973C 800D259C C4AA0000 */ lwc1 $f10, ($a1) -/* B49740 800D25A0 46044180 */ add.s $f6, $f8, $f4 -/* B49744 800D25A4 460A6202 */ mul.s $f8, $f12, $f10 -/* B49748 800D25A8 C4A40008 */ lwc1 $f4, 8($a1) -/* B4974C 800D25AC 46047282 */ mul.s $f10, $f14, $f4 -/* B49750 800D25B0 460A4101 */ sub.s $f4, $f8, $f10 -/* B49754 800D25B4 4604D202 */ mul.s $f8, $f26, $f4 -/* B49758 800D25B8 46083280 */ add.s $f10, $f6, $f8 -/* B4975C 800D25BC 46006102 */ mul.s $f4, $f12, $f0 -/* B49760 800D25C0 C60C0028 */ lwc1 $f12, 0x28($s0) -/* B49764 800D25C4 E60A0014 */ swc1 $f10, 0x14($s0) -/* B49768 800D25C8 C4A60008 */ lwc1 $f6, 8($a1) -/* B4976C 800D25CC 46123202 */ mul.s $f8, $f6, $f18 -/* B49770 800D25D0 C4A60004 */ lwc1 $f6, 4($a1) -/* B49774 800D25D4 46082280 */ add.s $f10, $f4, $f8 -/* B49778 800D25D8 46067102 */ mul.s $f4, $f14, $f6 -/* B4977C 800D25DC C4A80000 */ lwc1 $f8, ($a1) -/* B49780 800D25E0 C60E0008 */ lwc1 $f14, 8($s0) -/* B49784 800D25E4 46081182 */ mul.s $f6, $f2, $f8 -/* B49788 800D25E8 C6020018 */ lwc1 $f2, 0x18($s0) -/* B4978C 800D25EC 46062201 */ sub.s $f8, $f4, $f6 -/* B49790 800D25F0 4608D102 */ mul.s $f4, $f26, $f8 -/* B49794 800D25F4 46045180 */ add.s $f6, $f10, $f4 -/* B49798 800D25F8 E6060024 */ swc1 $f6, 0x24($s0) -/* B4979C 800D25FC C4B40000 */ lwc1 $f20, ($a1) -/* B497A0 800D2600 C4B60004 */ lwc1 $f22, 4($a1) -/* B497A4 800D2604 C4B80008 */ lwc1 $f24, 8($a1) -/* B497A8 800D2608 460EA202 */ mul.s $f8, $f20, $f14 -/* B497AC 800D260C 00000000 */ nop -/* B497B0 800D2610 4602B282 */ mul.s $f10, $f22, $f2 -/* B497B4 800D2614 460A4100 */ add.s $f4, $f8, $f10 -/* B497B8 800D2618 460CC182 */ mul.s $f6, $f24, $f12 -/* B497BC 800D261C 46062200 */ add.s $f8, $f4, $f6 -/* B497C0 800D2620 46104482 */ mul.s $f18, $f8, $f16 -/* B497C4 800D2624 00000000 */ nop -/* B497C8 800D2628 46007282 */ mul.s $f10, $f14, $f0 -/* B497CC 800D262C 00000000 */ nop -/* B497D0 800D2630 4612A102 */ mul.s $f4, $f20, $f18 -/* B497D4 800D2634 46045180 */ add.s $f6, $f10, $f4 -/* B497D8 800D2638 46181202 */ mul.s $f8, $f2, $f24 -/* B497DC 800D263C 00000000 */ nop -/* B497E0 800D2640 46166282 */ mul.s $f10, $f12, $f22 -/* B497E4 800D2644 460A4101 */ sub.s $f4, $f8, $f10 -/* B497E8 800D2648 4604D202 */ mul.s $f8, $f26, $f4 -/* B497EC 800D264C 46083280 */ add.s $f10, $f6, $f8 -/* B497F0 800D2650 46001102 */ mul.s $f4, $f2, $f0 -/* B497F4 800D2654 E60A0008 */ swc1 $f10, 8($s0) -/* B497F8 800D2658 C4A60004 */ lwc1 $f6, 4($a1) -/* B497FC 800D265C 46123202 */ mul.s $f8, $f6, $f18 -/* B49800 800D2660 C4A60000 */ lwc1 $f6, ($a1) -/* B49804 800D2664 46082280 */ add.s $f10, $f4, $f8 -/* B49808 800D2668 46066102 */ mul.s $f4, $f12, $f6 -/* B4980C 800D266C C4A80008 */ lwc1 $f8, 8($a1) -/* B49810 800D2670 46087182 */ mul.s $f6, $f14, $f8 -/* B49814 800D2674 46062201 */ sub.s $f8, $f4, $f6 -/* B49818 800D2678 4608D102 */ mul.s $f4, $f26, $f8 -/* B4981C 800D267C 46045180 */ add.s $f6, $f10, $f4 -/* B49820 800D2680 46006202 */ mul.s $f8, $f12, $f0 -/* B49824 800D2684 E6060018 */ swc1 $f6, 0x18($s0) -/* B49828 800D2688 C4AA0008 */ lwc1 $f10, 8($a1) -/* B4982C 800D268C 46125102 */ mul.s $f4, $f10, $f18 -/* B49830 800D2690 C4AA0004 */ lwc1 $f10, 4($a1) -/* B49834 800D2694 46044180 */ add.s $f6, $f8, $f4 -/* B49838 800D2698 460A7202 */ mul.s $f8, $f14, $f10 -/* B4983C 800D269C C4A40000 */ lwc1 $f4, ($a1) -/* B49840 800D26A0 46041282 */ mul.s $f10, $f2, $f4 -/* B49844 800D26A4 460A4101 */ sub.s $f4, $f8, $f10 -/* B49848 800D26A8 4604D202 */ mul.s $f8, $f26, $f4 -/* B4984C 800D26AC 46083280 */ add.s $f10, $f6, $f8 -/* B49850 800D26B0 10000062 */ b .L800D283C -/* B49854 800D26B4 E60A0028 */ swc1 $f10, 0x28($s0) -.L800D26B8: -/* B49858 800D26B8 44802000 */ mtc1 $zero, $f4 -/* B4985C 800D26BC 3C108017 */ lui $s0, %hi(sCurrentMatrix) -/* B49860 800D26C0 8E10A7C4 */ lw $s0, %lo(sCurrentMatrix)($s0) -/* B49864 800D26C4 4604A032 */ c.eq.s $f20, $f4 -/* B49868 800D26C8 00000000 */ nop -/* B4986C 800D26CC 45030049 */ bc1tl .L800D27F4 -/* B49870 800D26D0 44800000 */ mtc1 $zero, $f0 -/* B49874 800D26D4 4600A306 */ mov.s $f12, $f20 -/* B49878 800D26D8 0C0400A4 */ jal sinf -/* B4987C 800D26DC AFA50044 */ sw $a1, 0x44($sp) -/* B49880 800D26E0 46000686 */ mov.s $f26, $f0 -/* B49884 800D26E4 0C041184 */ jal cosf -/* B49888 800D26E8 4600A306 */ mov.s $f12, $f20 -/* B4988C 800D26EC 8FA50044 */ lw $a1, 0x44($sp) -/* B49890 800D26F0 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B49894 800D26F4 44819000 */ mtc1 $at, $f18 -/* B49898 800D26F8 C4B40000 */ lwc1 $f20, ($a1) -/* B4989C 800D26FC 46009401 */ sub.s $f16, $f18, $f0 -/* B498A0 800D2700 4614A182 */ mul.s $f6, $f20, $f20 -/* B498A4 800D2704 00000000 */ nop -/* B498A8 800D2708 46103202 */ mul.s $f8, $f6, $f16 -/* B498AC 800D270C 46004280 */ add.s $f10, $f8, $f0 -/* B498B0 800D2710 E60A0000 */ swc1 $f10, ($s0) -/* B498B4 800D2714 C4B60004 */ lwc1 $f22, 4($a1) -/* B498B8 800D2718 4616B102 */ mul.s $f4, $f22, $f22 -/* B498BC 800D271C 00000000 */ nop -/* B498C0 800D2720 46102182 */ mul.s $f6, $f4, $f16 -/* B498C4 800D2724 46003200 */ add.s $f8, $f6, $f0 -/* B498C8 800D2728 E6080014 */ swc1 $f8, 0x14($s0) -/* B498CC 800D272C C4B80008 */ lwc1 $f24, 8($a1) -/* B498D0 800D2730 4618C282 */ mul.s $f10, $f24, $f24 -/* B498D4 800D2734 00000000 */ nop -/* B498D8 800D2738 46105102 */ mul.s $f4, $f10, $f16 -/* B498DC 800D273C 46002180 */ add.s $f6, $f4, $f0 -/* B498E0 800D2740 44800000 */ mtc1 $zero, $f0 -/* B498E4 800D2744 E6060028 */ swc1 $f6, 0x28($s0) -/* B498E8 800D2748 C4A80000 */ lwc1 $f8, ($a1) -/* B498EC 800D274C C4A40004 */ lwc1 $f4, 4($a1) -/* B498F0 800D2750 C4A60008 */ lwc1 $f6, 8($a1) -/* B498F4 800D2754 46104282 */ mul.s $f10, $f8, $f16 -/* B498F8 800D2758 00000000 */ nop -/* B498FC 800D275C 46045082 */ mul.s $f2, $f10, $f4 -/* B49900 800D2760 00000000 */ nop -/* B49904 800D2764 461A3302 */ mul.s $f12, $f6, $f26 -/* B49908 800D2768 460C1200 */ add.s $f8, $f2, $f12 -/* B4990C 800D276C 460C1281 */ sub.s $f10, $f2, $f12 -/* B49910 800D2770 E6080004 */ swc1 $f8, 4($s0) -/* B49914 800D2774 E60A0010 */ swc1 $f10, 0x10($s0) -/* B49918 800D2778 C4A40000 */ lwc1 $f4, ($a1) -/* B4991C 800D277C C4A80008 */ lwc1 $f8, 8($a1) -/* B49920 800D2780 C4AA0004 */ lwc1 $f10, 4($a1) -/* B49924 800D2784 46102182 */ mul.s $f6, $f4, $f16 -/* B49928 800D2788 00000000 */ nop -/* B4992C 800D278C 46083082 */ mul.s $f2, $f6, $f8 -/* B49930 800D2790 00000000 */ nop -/* B49934 800D2794 461A5302 */ mul.s $f12, $f10, $f26 -/* B49938 800D2798 460C1101 */ sub.s $f4, $f2, $f12 -/* B4993C 800D279C 460C1180 */ add.s $f6, $f2, $f12 -/* B49940 800D27A0 E6040008 */ swc1 $f4, 8($s0) -/* B49944 800D27A4 E6060020 */ swc1 $f6, 0x20($s0) -/* B49948 800D27A8 C4A80004 */ lwc1 $f8, 4($a1) -/* B4994C 800D27AC C4A40008 */ lwc1 $f4, 8($a1) -/* B49950 800D27B0 C4A60000 */ lwc1 $f6, ($a1) -/* B49954 800D27B4 46104282 */ mul.s $f10, $f8, $f16 -/* B49958 800D27B8 E612003C */ swc1 $f18, 0x3c($s0) -/* B4995C 800D27BC E600000C */ swc1 $f0, 0xc($s0) -/* B49960 800D27C0 E600001C */ swc1 $f0, 0x1c($s0) -/* B49964 800D27C4 E600002C */ swc1 $f0, 0x2c($s0) -/* B49968 800D27C8 E6000030 */ swc1 $f0, 0x30($s0) -/* B4996C 800D27CC E6000034 */ swc1 $f0, 0x34($s0) -/* B49970 800D27D0 46045082 */ mul.s $f2, $f10, $f4 -/* B49974 800D27D4 E6000038 */ swc1 $f0, 0x38($s0) -/* B49978 800D27D8 461A3302 */ mul.s $f12, $f6, $f26 -/* B4997C 800D27DC 460C1200 */ add.s $f8, $f2, $f12 -/* B49980 800D27E0 460C1281 */ sub.s $f10, $f2, $f12 -/* B49984 800D27E4 E6080018 */ swc1 $f8, 0x18($s0) -/* B49988 800D27E8 10000014 */ b .L800D283C -/* B4998C 800D27EC E60A0024 */ swc1 $f10, 0x24($s0) -/* B49990 800D27F0 44800000 */ mtc1 $zero, $f0 -.L800D27F4: -/* B49994 800D27F4 3C013F80 */ li $at, 0x3F800000 # 0.000000 -/* B49998 800D27F8 44819000 */ mtc1 $at, $f18 -/* B4999C 800D27FC E6000004 */ swc1 $f0, 4($s0) -/* B499A0 800D2800 E6000008 */ swc1 $f0, 8($s0) -/* B499A4 800D2804 E600000C */ swc1 $f0, 0xc($s0) -/* B499A8 800D2808 E6000010 */ swc1 $f0, 0x10($s0) -/* B499AC 800D280C E6000018 */ swc1 $f0, 0x18($s0) -/* B499B0 800D2810 E600001C */ swc1 $f0, 0x1c($s0) -/* B499B4 800D2814 E6000020 */ swc1 $f0, 0x20($s0) -/* B499B8 800D2818 E6000024 */ swc1 $f0, 0x24($s0) -/* B499BC 800D281C E600002C */ swc1 $f0, 0x2c($s0) -/* B499C0 800D2820 E6000030 */ swc1 $f0, 0x30($s0) -/* B499C4 800D2824 E6000034 */ swc1 $f0, 0x34($s0) -/* B499C8 800D2828 E6000038 */ swc1 $f0, 0x38($s0) -/* B499CC 800D282C E6120000 */ swc1 $f18, ($s0) -/* B499D0 800D2830 E6120014 */ swc1 $f18, 0x14($s0) -/* B499D4 800D2834 E6120028 */ swc1 $f18, 0x28($s0) -/* B499D8 800D2838 E612003C */ swc1 $f18, 0x3c($s0) -.L800D283C: -/* B499DC 800D283C 8FBF003C */ lw $ra, 0x3c($sp) -.L800D2840: -/* B499E0 800D2840 D7B40018 */ ldc1 $f20, 0x18($sp) -/* B499E4 800D2844 D7B60020 */ ldc1 $f22, 0x20($sp) -/* B499E8 800D2848 D7B80028 */ ldc1 $f24, 0x28($sp) -/* B499EC 800D284C D7BA0030 */ ldc1 $f26, 0x30($sp) -/* B499F0 800D2850 8FB00038 */ lw $s0, 0x38($sp) -/* B499F4 800D2854 03E00008 */ jr $ra -/* B499F8 800D2858 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/src/code/sys_matrix.c b/src/code/sys_matrix.c index 5579a80dca..ca1a3924f7 100644 --- a/src/code/sys_matrix.c +++ b/src/code/sys_matrix.c @@ -698,7 +698,6 @@ void Matrix_Reverse(MtxF* mf) { mf->zy = temp; } -#ifdef NON_MATCHING void func_800D1FD4(MtxF* mf) { MtxF* cmf = sCurrentMatrix; f32 temp; @@ -707,41 +706,46 @@ void func_800D1FD4(MtxF* mf) { temp = cmf->xx; temp *= temp; - temp += SQ(cmf->xy); - temp += SQ(cmf->xz); + temp2 = cmf->xy; + temp += SQ(temp2); + temp2 = cmf->xz; + temp += SQ(temp2); + temp3 = sqrtf(temp); - cmf->xx = mf->xx * sqrtf(temp); - cmf->xy = mf->xy * sqrtf(temp); - cmf->xz = mf->xz * sqrtf(temp); + cmf->xx = mf->xx * temp3; + cmf->xy = mf->xy * temp3; + cmf->xz = mf->xz * temp3; temp = cmf->yx; temp *= temp; - temp += SQ(cmf->yy); - temp += SQ(cmf->yz); - cmf->yx = mf->yx * sqrtf(temp); - cmf->yy = mf->yy * sqrtf(temp); - cmf->yz = mf->yz * sqrtf(temp); + temp2 = cmf->yy; + temp += SQ(temp2); + temp2 = cmf->yz; + temp += SQ(temp2); + temp3 = sqrtf(temp); + + cmf->yx = mf->yx * temp3; + cmf->yy = mf->yy * temp3; + cmf->yz = mf->yz * temp3; temp = cmf->zx; temp *= temp; - temp += SQ(cmf->zy); - temp += SQ(cmf->zz); - cmf->zx = mf->zx * sqrtf(temp); - cmf->zy = mf->zy * sqrtf(temp); - cmf->zz = mf->zz * sqrtf(temp); -} -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D1FD4.s") -#endif + temp2 = cmf->zy; + temp += SQ(temp2); + temp2 = cmf->zz; + temp += SQ(temp2); + temp3 = sqrtf(temp); + + cmf->zx = mf->zx * temp3; + cmf->zy = mf->zy * temp3; + cmf->zz = mf->zz * temp3; +} -#ifdef NON_MATCHING -// same differences as func_800D2264 void func_800D20CC(MtxF* mf, Vec3s* vec, s32 flag) { f32 temp; f32 temp2; f32 temp3; f32 temp4; - f32 temp5; temp = mf->zx; temp *= temp; @@ -759,11 +763,11 @@ void func_800D20CC(MtxF* mf, Vec3s* vec, s32 flag) { vec->z = Math_FAtan2F(mf->xy, mf->yy) * (32768 / M_PI); } else { temp = mf->xx; - temp4 = mf->xz; + temp2 = mf->xz; temp3 = mf->yz; temp *= temp; - temp += SQ(temp4); + temp += SQ(temp2); temp2 = mf->xy; temp += SQ(temp2); temp = sqrtf(temp); @@ -781,15 +785,12 @@ void func_800D20CC(MtxF* mf, Vec3s* vec, s32 flag) { } } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D20CC.s") -#endif -#ifdef NON_MATCHING -// same differences as func_800D20CC void func_800D2264(MtxF* mf, Vec3s* vec, s32 flag) { f32 temp; f32 temp2; + f32 temp3; + f32 temp4; temp = mf->xx; temp *= temp; @@ -808,28 +809,28 @@ void func_800D2264(MtxF* mf, Vec3s* vec, s32 flag) { vec->x = Math_FAtan2F(mf->yz, mf->zz) * (32768 / M_PI); } else { temp = mf->yx; + temp2 = mf->yy; + temp3 = mf->zy; + temp *= temp; - temp += SQ(mf->yy); - temp += SQ(mf->yz); + temp += SQ(temp2); + temp2 = mf->yz; + temp += SQ(temp2); temp = sqrtf(temp); - temp = mf->yz / temp; + temp = temp2 / temp; temp2 = mf->zx; temp2 *= temp2; - temp2 += SQ(mf->zy); - temp2 += SQ(mf->zz); + temp2 += SQ(temp3); + temp3 = mf->zz; + temp2 += SQ(temp3); temp2 = sqrtf(temp2); - temp2 = mf->zz / temp2; + temp2 = temp3 / temp2; vec->x = Math_FAtan2F(temp, temp2) * (32768 / M_PI); } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D2264.s") -#endif -#ifdef NON_MATCHING -// regalloc differences void func_800D23FC(f32 f, Vec3f* vec, u8 mode) { MtxF* cmf; f32 sin; @@ -849,9 +850,9 @@ void func_800D23FC(f32 f, Vec3f* vec, u8 mode) { sin = sinf(f); cos = cosf(f); - temp1 = cmf->xx; temp2 = cmf->yx; temp3 = cmf->zx; + temp1 = cmf->xx; temp4 = (vec->x * temp1 + vec->y * temp2 + vec->z * temp3) * (1.0f - cos); cmf->xx = temp1 * cos + vec->x * temp4 + sin * (temp2 * vec->z - temp3 * vec->y); cmf->yx = temp2 * cos + vec->y * temp4 + sin * (temp3 * vec->x - temp1 * vec->z); @@ -885,20 +886,22 @@ void func_800D23FC(f32 f, Vec3f* vec, u8 mode) { cmf->yy = vec->y * vec->y * rCos + cos; cmf->zz = vec->z * vec->z * rCos + cos; - temp1 = vec->x * rCos * vec->y; - temp2 = vec->z * sin; - cmf->xy = temp1 + temp2; - cmf->yx = temp1 - temp2; + if (0) {} - temp1 = vec->x * rCos * vec->z; - temp2 = vec->y * sin; - cmf->xz = temp1 - temp2; - cmf->zx = temp1 + temp2; + temp2 = vec->x * rCos * vec->y; + temp3 = vec->z * sin; + cmf->xy = temp2 + temp3; + cmf->yx = temp2 - temp3; - temp1 = vec->y * rCos * vec->z; - temp2 = vec->x * sin; - cmf->yz = temp1 + temp2; - cmf->zy = temp1 - temp2; + temp2 = vec->x * rCos * vec->z; + temp3 = vec->y * sin; + cmf->xz = temp2 - temp3; + cmf->zx = temp2 + temp3; + + temp2 = vec->y * rCos * vec->z; + temp3 = vec->x * sin; + cmf->yz = temp2 + temp3; + cmf->zy = temp2 - temp3; cmf->xw = cmf->yw = cmf->zw = cmf->wx = cmf->wy = cmf->wz = 0.0f; cmf->ww = 1.0f; @@ -922,9 +925,6 @@ void func_800D23FC(f32 f, Vec3f* vec, u8 mode) { } } } -#else -#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D23FC.s") -#endif MtxF* Matrix_CheckFloats(MtxF* mf, char* file, s32 line) { s32 i, j;