Decompile mtx000172f0

This commit is contained in:
Ryan Dwyer 2022-07-23 13:28:02 +10:00
parent 98916c96f2
commit 60ccd2ffef
1 changed files with 28 additions and 169 deletions

View File

@ -580,175 +580,34 @@ void mtx0001719c(f32 arg0[4][4], f32 arg1[4][4])
arg1[3][3] = 1;
}
GLOBAL_ASM(
glabel mtx000172f0
/* 172f0: c4820000 */ lwc1 $f2,0x0($a0)
/* 172f4: c48c0014 */ lwc1 $f12,0x14($a0)
/* 172f8: c48e0028 */ lwc1 $f14,0x28($a0)
/* 172fc: c4900004 */ lwc1 $f16,0x4($a0)
/* 17300: 460c1102 */ mul.s $f4,$f2,$f12
/* 17304: c4920018 */ lwc1 $f18,0x18($a0)
/* 17308: c48a0020 */ lwc1 $f10,0x20($a0)
/* 1730c: 27bdffd0 */ addiu $sp,$sp,-48
/* 17310: 3c013f80 */ lui $at,0x3f80
/* 17314: e7aa0010 */ swc1 $f10,0x10($sp)
/* 17318: c7a80010 */ lwc1 $f8,0x10($sp)
/* 1731c: 460e2002 */ mul.s $f0,$f4,$f14
/* 17320: c48a0008 */ lwc1 $f10,0x8($a0)
/* 17324: 46128182 */ mul.s $f6,$f16,$f18
/* 17328: e7aa000c */ swc1 $f10,0xc($sp)
/* 1732c: c7aa000c */ lwc1 $f10,0xc($sp)
/* 17330: 46083102 */ mul.s $f4,$f6,$f8
/* 17334: c4860010 */ lwc1 $f6,0x10($a0)
/* 17338: e7a60008 */ swc1 $f6,0x8($sp)
/* 1733c: c7a60008 */ lwc1 $f6,0x8($sp)
/* 17340: 46040000 */ add.s $f0,$f0,$f4
/* 17344: c4840024 */ lwc1 $f4,0x24($a0)
/* 17348: e7a80000 */ swc1 $f8,0x0($sp)
/* 1734c: e7a4001c */ swc1 $f4,0x1c($sp)
/* 17350: 46065102 */ mul.s $f4,$f10,$f6
/* 17354: c7a8001c */ lwc1 $f8,0x1c($sp)
/* 17358: 46082102 */ mul.s $f4,$f4,$f8
/* 1735c: 46040000 */ add.s $f0,$f0,$f4
/* 17360: 460c5102 */ mul.s $f4,$f10,$f12
/* 17364: c7aa0000 */ lwc1 $f10,0x0($sp)
/* 17368: 460a2102 */ mul.s $f4,$f4,$f10
/* 1736c: 00000000 */ nop
/* 17370: 46068282 */ mul.s $f10,$f16,$f6
/* 17374: 46040001 */ sub.s $f0,$f0,$f4
/* 17378: 460e5102 */ mul.s $f4,$f10,$f14
/* 1737c: 00000000 */ nop
/* 17380: 46121182 */ mul.s $f6,$f2,$f18
/* 17384: 44811000 */ mtc1 $at,$f2
/* 17388: 46040001 */ sub.s $f0,$f0,$f4
/* 1738c: 46083282 */ mul.s $f10,$f6,$f8
/* 17390: 460a0001 */ sub.s $f0,$f0,$f10
/* 17394: 460e6102 */ mul.s $f4,$f12,$f14
/* 17398: 00000000 */ nop
/* 1739c: 46124182 */ mul.s $f6,$f8,$f18
/* 173a0: 46001003 */ div.s $f0,$f2,$f0
/* 173a4: 46062281 */ sub.s $f10,$f4,$f6
/* 173a8: 46005202 */ mul.s $f8,$f10,$f0
/* 173ac: e4a80000 */ swc1 $f8,0x0($a1)
/* 173b0: c4840018 */ lwc1 $f4,0x18($a0)
/* 173b4: c4860020 */ lwc1 $f6,0x20($a0)
/* 173b8: c4880028 */ lwc1 $f8,0x28($a0)
/* 173bc: 46062282 */ mul.s $f10,$f4,$f6
/* 173c0: c4840010 */ lwc1 $f4,0x10($a0)
/* 173c4: 46044182 */ mul.s $f6,$f8,$f4
/* 173c8: 46065201 */ sub.s $f8,$f10,$f6
/* 173cc: 46004102 */ mul.s $f4,$f8,$f0
/* 173d0: e4a40010 */ swc1 $f4,0x10($a1)
/* 173d4: c48a0010 */ lwc1 $f10,0x10($a0)
/* 173d8: c4860024 */ lwc1 $f6,0x24($a0)
/* 173dc: c4840020 */ lwc1 $f4,0x20($a0)
/* 173e0: 46065202 */ mul.s $f8,$f10,$f6
/* 173e4: c48a0014 */ lwc1 $f10,0x14($a0)
/* 173e8: 460a2182 */ mul.s $f6,$f4,$f10
/* 173ec: 46064101 */ sub.s $f4,$f8,$f6
/* 173f0: 46002282 */ mul.s $f10,$f4,$f0
/* 173f4: e4aa0020 */ swc1 $f10,0x20($a1)
/* 173f8: c4880008 */ lwc1 $f8,0x8($a0)
/* 173fc: c4860024 */ lwc1 $f6,0x24($a0)
/* 17400: c48a0028 */ lwc1 $f10,0x28($a0)
/* 17404: 46064102 */ mul.s $f4,$f8,$f6
/* 17408: c4880004 */ lwc1 $f8,0x4($a0)
/* 1740c: 46085182 */ mul.s $f6,$f10,$f8
/* 17410: 46062281 */ sub.s $f10,$f4,$f6
/* 17414: 46005202 */ mul.s $f8,$f10,$f0
/* 17418: e4a80004 */ swc1 $f8,0x4($a1)
/* 1741c: c4840000 */ lwc1 $f4,0x0($a0)
/* 17420: c4860028 */ lwc1 $f6,0x28($a0)
/* 17424: c4880020 */ lwc1 $f8,0x20($a0)
/* 17428: 46062282 */ mul.s $f10,$f4,$f6
/* 1742c: c4840008 */ lwc1 $f4,0x8($a0)
/* 17430: 46044182 */ mul.s $f6,$f8,$f4
/* 17434: 46065201 */ sub.s $f8,$f10,$f6
/* 17438: 46004102 */ mul.s $f4,$f8,$f0
/* 1743c: e4a40014 */ swc1 $f4,0x14($a1)
/* 17440: c48a0004 */ lwc1 $f10,0x4($a0)
/* 17444: c4860020 */ lwc1 $f6,0x20($a0)
/* 17448: c4840024 */ lwc1 $f4,0x24($a0)
/* 1744c: 46065202 */ mul.s $f8,$f10,$f6
/* 17450: c48a0000 */ lwc1 $f10,0x0($a0)
/* 17454: 460a2182 */ mul.s $f6,$f4,$f10
/* 17458: 46064101 */ sub.s $f4,$f8,$f6
/* 1745c: 46002282 */ mul.s $f10,$f4,$f0
/* 17460: e4aa0024 */ swc1 $f10,0x24($a1)
/* 17464: c4880004 */ lwc1 $f8,0x4($a0)
/* 17468: c4860018 */ lwc1 $f6,0x18($a0)
/* 1746c: c48a0014 */ lwc1 $f10,0x14($a0)
/* 17470: 46064102 */ mul.s $f4,$f8,$f6
/* 17474: c4880008 */ lwc1 $f8,0x8($a0)
/* 17478: 46085182 */ mul.s $f6,$f10,$f8
/* 1747c: 46062281 */ sub.s $f10,$f4,$f6
/* 17480: 46005202 */ mul.s $f8,$f10,$f0
/* 17484: e4a80008 */ swc1 $f8,0x8($a1)
/* 17488: c4860010 */ lwc1 $f6,0x10($a0)
/* 1748c: c4840008 */ lwc1 $f4,0x8($a0)
/* 17490: c4880018 */ lwc1 $f8,0x18($a0)
/* 17494: 46062282 */ mul.s $f10,$f4,$f6
/* 17498: c4840000 */ lwc1 $f4,0x0($a0)
/* 1749c: 46044182 */ mul.s $f6,$f8,$f4
/* 174a0: 46065201 */ sub.s $f8,$f10,$f6
/* 174a4: 46004102 */ mul.s $f4,$f8,$f0
/* 174a8: e4a40018 */ swc1 $f4,0x18($a1)
/* 174ac: c4860014 */ lwc1 $f6,0x14($a0)
/* 174b0: c48a0000 */ lwc1 $f10,0x0($a0)
/* 174b4: c4840010 */ lwc1 $f4,0x10($a0)
/* 174b8: 46065202 */ mul.s $f8,$f10,$f6
/* 174bc: c48a0004 */ lwc1 $f10,0x4($a0)
/* 174c0: 460a2182 */ mul.s $f6,$f4,$f10
/* 174c4: 46064101 */ sub.s $f4,$f8,$f6
/* 174c8: c4a60000 */ lwc1 $f6,0x0($a1)
/* 174cc: 46002282 */ mul.s $f10,$f4,$f0
/* 174d0: 44800000 */ mtc1 $zero,$f0
/* 174d4: e4aa0028 */ swc1 $f10,0x28($a1)
/* 174d8: c4880030 */ lwc1 $f8,0x30($a0)
/* 174dc: c48a0034 */ lwc1 $f10,0x34($a0)
/* 174e0: 46064102 */ mul.s $f4,$f8,$f6
/* 174e4: c4a80010 */ lwc1 $f8,0x10($a1)
/* 174e8: 46085182 */ mul.s $f6,$f10,$f8
/* 174ec: c4a80020 */ lwc1 $f8,0x20($a1)
/* 174f0: 46062280 */ add.s $f10,$f4,$f6
/* 174f4: c4840038 */ lwc1 $f4,0x38($a0)
/* 174f8: 46044182 */ mul.s $f6,$f8,$f4
/* 174fc: 460a3200 */ add.s $f8,$f6,$f10
/* 17500: c4aa0004 */ lwc1 $f10,0x4($a1)
/* 17504: 46004107 */ neg.s $f4,$f8
/* 17508: e4a40030 */ swc1 $f4,0x30($a1)
/* 1750c: c4860030 */ lwc1 $f6,0x30($a0)
/* 17510: c4840034 */ lwc1 $f4,0x34($a0)
/* 17514: 460a3202 */ mul.s $f8,$f6,$f10
/* 17518: c4a60014 */ lwc1 $f6,0x14($a1)
/* 1751c: 46062282 */ mul.s $f10,$f4,$f6
/* 17520: c4a60024 */ lwc1 $f6,0x24($a1)
/* 17524: 460a4100 */ add.s $f4,$f8,$f10
/* 17528: c4880038 */ lwc1 $f8,0x38($a0)
/* 1752c: 46083282 */ mul.s $f10,$f6,$f8
/* 17530: 46045180 */ add.s $f6,$f10,$f4
/* 17534: c4a40008 */ lwc1 $f4,0x8($a1)
/* 17538: 46003207 */ neg.s $f8,$f6
/* 1753c: e4a80034 */ swc1 $f8,0x34($a1)
/* 17540: c48a0030 */ lwc1 $f10,0x30($a0)
/* 17544: c4880034 */ lwc1 $f8,0x34($a0)
/* 17548: 46045182 */ mul.s $f6,$f10,$f4
/* 1754c: c4aa0018 */ lwc1 $f10,0x18($a1)
/* 17550: 460a4102 */ mul.s $f4,$f8,$f10
/* 17554: c4aa0028 */ lwc1 $f10,0x28($a1)
/* 17558: 46043200 */ add.s $f8,$f6,$f4
/* 1755c: c4860038 */ lwc1 $f6,0x38($a0)
/* 17560: 27bd0030 */ addiu $sp,$sp,0x30
/* 17564: e4a2003c */ swc1 $f2,0x3c($a1)
/* 17568: 46065102 */ mul.s $f4,$f10,$f6
/* 1756c: e4a0000c */ swc1 $f0,0xc($a1)
/* 17570: e4a0001c */ swc1 $f0,0x1c($a1)
/* 17574: e4a0002c */ swc1 $f0,0x2c($a1)
/* 17578: 46082280 */ add.s $f10,$f4,$f8
/* 1757c: 46005187 */ neg.s $f6,$f10
/* 17580: 03e00008 */ jr $ra
/* 17584: e4a60038 */ swc1 $f6,0x38($a1)
);
void mtx000172f0(f32 arg0[4][4], f32 arg1[4][4])
{
f32 f0 = 0.0f;
f0 += arg0[0][0] * arg0[1][1] * arg0[2][2];
f0 += arg0[0][1] * arg0[1][2] * arg0[2][0];
f0 += arg0[0][2] * arg0[1][0] * arg0[2][1];
f0 -= arg0[0][2] * arg0[1][1] * arg0[2][0];
f0 -= arg0[0][1] * arg0[1][0] * arg0[2][2];
f0 -= arg0[0][0] * arg0[1][2] * arg0[2][1];
f0 = 1.0f / f0;
arg1[0][0] = (arg0[1][1] * arg0[2][2] - arg0[1][2] * arg0[2][1]) * f0;
arg1[1][0] = (arg0[1][2] * arg0[2][0] - arg0[1][0] * arg0[2][2]) * f0;
arg1[2][0] = (arg0[1][0] * arg0[2][1] - arg0[1][1] * arg0[2][0]) * f0;
arg1[0][1] = (arg0[0][2] * arg0[2][1] - arg0[0][1] * arg0[2][2]) * f0;
arg1[1][1] = (arg0[0][0] * arg0[2][2] - arg0[0][2] * arg0[2][0]) * f0;
arg1[2][1] = (arg0[0][1] * arg0[2][0] - arg0[0][0] * arg0[2][1]) * f0;
arg1[0][2] = (arg0[0][1] * arg0[1][2] - arg0[0][2] * arg0[1][1]) * f0;
arg1[1][2] = (arg0[0][2] * arg0[1][0] - arg0[0][0] * arg0[1][2]) * f0;
arg1[2][2] = (arg0[0][0] * arg0[1][1] - arg0[0][1] * arg0[1][0]) * f0;
arg1[3][0] = -(arg0[3][0] * arg1[0][0] + arg0[3][1] * arg1[1][0] + arg0[3][2] * arg1[2][0]);
arg1[3][1] = -(arg0[3][0] * arg1[0][1] + arg0[3][1] * arg1[1][1] + arg0[3][2] * arg1[2][1]);
arg1[3][2] = -(arg0[3][0] * arg1[0][2] + arg0[3][1] * arg1[1][2] + arg0[3][2] * arg1[2][2]);
arg1[0][3] = 0.0f;
arg1[1][3] = 0.0f;
arg1[2][3] = 0.0f;
arg1[3][3] = 1.0f;
}
void mtx00017588(f32 arg0[4][4], f32 arg1[4][4])
{