1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 12:54:51 +00:00

Match the last 4 functions in sys_matrix.c (#761)

This commit is contained in:
Roman971 2021-04-06 05:56:52 +02:00 committed by GitHub
parent 7e8d74d6ca
commit 2126685472
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 57 additions and 653 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;