Implement ContentManager and related services (#438)
* Implement contentmanager and related services * small changes * read system firmware version from nand * add pfs support, write directoryentry info for romfs files * add file check in fsp-srv:8 * add support for open fs of internal files * fix filename when accessing pfs * use switch style paths for contentpath * close nca after verifying type * removed publishing profiles, align directory entry * fix style * lots of style fixes * yasf(yet another style fix) * yasf(yet another style fix) plus symbols * enforce path check on every fs access * change enum type to default * fix typo
This commit is contained in:
parent
e603b7afbc
commit
fe8fbb6fb9
38 changed files with 2179 additions and 173 deletions
37
Ryujinx.HLE/Utilities/FontUtils.cs
Normal file
37
Ryujinx.HLE/Utilities/FontUtils.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using System.IO;
|
||||
|
||||
namespace Ryujinx.HLE.Utilities
|
||||
{
|
||||
public static class FontUtils
|
||||
{
|
||||
private static readonly uint FontKey = 0x06186249;
|
||||
|
||||
public static byte[] DecryptFont(Stream BFTTFStream)
|
||||
{
|
||||
uint KXor(uint In) => In ^ 0x06186249;
|
||||
|
||||
using (BinaryReader Reader = new BinaryReader(BFTTFStream))
|
||||
{
|
||||
using (MemoryStream TTFStream = new MemoryStream())
|
||||
{
|
||||
using (BinaryWriter Output = new BinaryWriter(TTFStream))
|
||||
{
|
||||
if (KXor(Reader.ReadUInt32()) != 0x18029a7f)
|
||||
{
|
||||
throw new InvalidDataException("Error: Input file is not in BFTTF format!");
|
||||
}
|
||||
|
||||
BFTTFStream.Position += 4;
|
||||
|
||||
for (int i = 0; i < (BFTTFStream.Length - 8) / 4; i++)
|
||||
{
|
||||
Output.Write(KXor(Reader.ReadUInt32()));
|
||||
}
|
||||
|
||||
return TTFStream.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue