mirror of
https://github.com/Thealexbarney/LibHac.git
synced 2024-11-14 10:49:41 +01:00
61 lines
2.1 KiB
C#
61 lines
2.1 KiB
C#
using System.IO;
|
|
|
|
namespace libhac
|
|
{
|
|
public class Nacp
|
|
{
|
|
public NacpLang[] Languages { get; } = new NacpLang[0x10];
|
|
public string Version { get; }
|
|
public ulong AddOnContentBaseId { get; }
|
|
public ulong SaveDataOwnerId { get; }
|
|
public long UserAccountSaveDataSize { get; }
|
|
public long UserAccountSaveDataJournalSize { get; }
|
|
public long DeviceSaveDataSize { get; }
|
|
public long DeviceSaveDataJournalSize { get; }
|
|
public long BcatSaveDataSize { get; }
|
|
|
|
public long TotalSaveDataSize { get; }
|
|
public long UserTotalSaveDataSize { get; }
|
|
public long DeviceTotalSaveDataSize { get; }
|
|
|
|
public Nacp(BinaryReader reader)
|
|
{
|
|
var start = reader.BaseStream.Position;
|
|
|
|
for (int i = 0; i < 16; i++)
|
|
{
|
|
Languages[i] = new NacpLang(reader);
|
|
}
|
|
|
|
reader.BaseStream.Position = start + 0x3060;
|
|
Version = reader.ReadUtf8Z();
|
|
reader.BaseStream.Position = start + 0x3070;
|
|
AddOnContentBaseId = reader.ReadUInt64();
|
|
SaveDataOwnerId = reader.ReadUInt64();
|
|
UserAccountSaveDataSize = reader.ReadInt64();
|
|
UserAccountSaveDataJournalSize = reader.ReadInt64();
|
|
DeviceSaveDataSize = reader.ReadInt64();
|
|
DeviceSaveDataJournalSize = reader.ReadInt64();
|
|
BcatSaveDataSize = reader.ReadInt64();
|
|
|
|
UserTotalSaveDataSize = UserAccountSaveDataSize + UserAccountSaveDataJournalSize;
|
|
DeviceTotalSaveDataSize = DeviceSaveDataSize + DeviceSaveDataJournalSize;
|
|
TotalSaveDataSize = UserTotalSaveDataSize + DeviceTotalSaveDataSize;
|
|
}
|
|
}
|
|
|
|
public class NacpLang
|
|
{
|
|
public string Title { get; }
|
|
public string Developer { get; }
|
|
|
|
public NacpLang(BinaryReader reader)
|
|
{
|
|
var start = reader.BaseStream.Position;
|
|
Title = reader.ReadUtf8Z();
|
|
reader.BaseStream.Position = start + 0x200;
|
|
Developer = reader.ReadUtf8Z();
|
|
reader.BaseStream.Position = start + 0x300;
|
|
}
|
|
}
|
|
}
|