Adjust naming conventions and general refactoring in HLE Project (#490)

* Rename enum fields

* Naming conventions

* Remove unneeded ".this"

* Remove unneeded semicolons

* Remove unused Usings

* Don't use var

* Remove unneeded enum underlying types

* Explicitly label class visibility

* Remove unneeded @ prefixes

* Remove unneeded commas

* Remove unneeded if expressions

* Method doesn't use unsafe code

* Remove unneeded casts

* Initialized objects don't need an empty constructor

* Remove settings from DotSettings

* Revert "Explicitly label class visibility"

This reverts commit ad5eb5787c.

* Small changes

* Revert external enum renaming

* Changes from feedback

* Remove unneeded property setters
This commit is contained in:
Alex Barney 2018-12-04 14:23:37 -06:00 committed by gdkchan
parent c86aacde76
commit 85dbb9559a
299 changed files with 12268 additions and 12276 deletions

View file

@ -3,51 +3,51 @@ using System.IO;
namespace Ryujinx.HLE.Loaders.Npdm
{
class ACI0
class Aci0
{
private const int ACI0Magic = 'A' << 0 | 'C' << 8 | 'I' << 16 | '0' << 24;
private const int Aci0Magic = 'A' << 0 | 'C' << 8 | 'I' << 16 | '0' << 24;
public long TitleId { get; private set; }
public long TitleId { get; }
public int FsVersion { get; private set; }
public ulong FsPermissionsBitmask { get; private set; }
public int FsVersion { get; }
public ulong FsPermissionsBitmask { get; }
public ServiceAccessControl ServiceAccessControl { get; private set; }
public KernelAccessControl KernelAccessControl { get; private set; }
public ServiceAccessControl ServiceAccessControl { get; }
public KernelAccessControl KernelAccessControl { get; }
public ACI0(Stream Stream, int Offset)
public Aci0(Stream stream, int offset)
{
Stream.Seek(Offset, SeekOrigin.Begin);
stream.Seek(offset, SeekOrigin.Begin);
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
if (Reader.ReadInt32() != ACI0Magic)
if (reader.ReadInt32() != Aci0Magic)
{
throw new InvalidNpdmException("ACI0 Stream doesn't contain ACI0 section!");
}
Stream.Seek(0xc, SeekOrigin.Current);
stream.Seek(0xc, SeekOrigin.Current);
TitleId = Reader.ReadInt64();
TitleId = reader.ReadInt64();
//Reserved.
Stream.Seek(8, SeekOrigin.Current);
stream.Seek(8, SeekOrigin.Current);
int FsAccessHeaderOffset = Reader.ReadInt32();
int FsAccessHeaderSize = Reader.ReadInt32();
int ServiceAccessControlOffset = Reader.ReadInt32();
int ServiceAccessControlSize = Reader.ReadInt32();
int KernelAccessControlOffset = Reader.ReadInt32();
int KernelAccessControlSize = Reader.ReadInt32();
int fsAccessHeaderOffset = reader.ReadInt32();
int fsAccessHeaderSize = reader.ReadInt32();
int serviceAccessControlOffset = reader.ReadInt32();
int serviceAccessControlSize = reader.ReadInt32();
int kernelAccessControlOffset = reader.ReadInt32();
int kernelAccessControlSize = reader.ReadInt32();
FsAccessHeader FsAccessHeader = new FsAccessHeader(Stream, Offset + FsAccessHeaderOffset, FsAccessHeaderSize);
FsAccessHeader fsAccessHeader = new FsAccessHeader(stream, offset + fsAccessHeaderOffset, fsAccessHeaderSize);
FsVersion = FsAccessHeader.Version;
FsPermissionsBitmask = FsAccessHeader.PermissionsBitmask;
FsVersion = fsAccessHeader.Version;
FsPermissionsBitmask = fsAccessHeader.PermissionsBitmask;
ServiceAccessControl = new ServiceAccessControl(Stream, Offset + ServiceAccessControlOffset, ServiceAccessControlSize);
ServiceAccessControl = new ServiceAccessControl(stream, offset + serviceAccessControlOffset, serviceAccessControlSize);
KernelAccessControl = new KernelAccessControl(Stream, Offset + KernelAccessControlOffset, KernelAccessControlSize);
KernelAccessControl = new KernelAccessControl(stream, offset + kernelAccessControlOffset, kernelAccessControlSize);
}
}
}

View file

@ -3,59 +3,59 @@ using System.IO;
namespace Ryujinx.HLE.Loaders.Npdm
{
class ACID
class Acid
{
private const int ACIDMagic = 'A' << 0 | 'C' << 8 | 'I' << 16 | 'D' << 24;
private const int AcidMagic = 'A' << 0 | 'C' << 8 | 'I' << 16 | 'D' << 24;
public byte[] RSA2048Signature { get; private set; }
public byte[] RSA2048Modulus { get; private set; }
public int Unknown1 { get; private set; }
public int Flags { get; private set; }
public byte[] Rsa2048Signature { get; }
public byte[] Rsa2048Modulus { get; }
public int Unknown1 { get; }
public int Flags { get; }
public long TitleIdRangeMin { get; private set; }
public long TitleIdRangeMax { get; private set; }
public long TitleIdRangeMin { get; }
public long TitleIdRangeMax { get; }
public FsAccessControl FsAccessControl { get; private set; }
public ServiceAccessControl ServiceAccessControl { get; private set; }
public KernelAccessControl KernelAccessControl { get; private set; }
public FsAccessControl FsAccessControl { get; }
public ServiceAccessControl ServiceAccessControl { get; }
public KernelAccessControl KernelAccessControl { get; }
public ACID(Stream Stream, int Offset)
public Acid(Stream stream, int offset)
{
Stream.Seek(Offset, SeekOrigin.Begin);
stream.Seek(offset, SeekOrigin.Begin);
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
RSA2048Signature = Reader.ReadBytes(0x100);
RSA2048Modulus = Reader.ReadBytes(0x100);
Rsa2048Signature = reader.ReadBytes(0x100);
Rsa2048Modulus = reader.ReadBytes(0x100);
if (Reader.ReadInt32() != ACIDMagic)
if (reader.ReadInt32() != AcidMagic)
{
throw new InvalidNpdmException("ACID Stream doesn't contain ACID section!");
}
//Size field used with the above signature (?).
Unknown1 = Reader.ReadInt32();
Unknown1 = reader.ReadInt32();
Reader.ReadInt32();
reader.ReadInt32();
//Bit0 must be 1 on retail, on devunit 0 is also allowed. Bit1 is unknown.
Flags = Reader.ReadInt32();
Flags = reader.ReadInt32();
TitleIdRangeMin = Reader.ReadInt64();
TitleIdRangeMax = Reader.ReadInt64();
TitleIdRangeMin = reader.ReadInt64();
TitleIdRangeMax = reader.ReadInt64();
int FsAccessControlOffset = Reader.ReadInt32();
int FsAccessControlSize = Reader.ReadInt32();
int ServiceAccessControlOffset = Reader.ReadInt32();
int ServiceAccessControlSize = Reader.ReadInt32();
int KernelAccessControlOffset = Reader.ReadInt32();
int KernelAccessControlSize = Reader.ReadInt32();
int fsAccessControlOffset = reader.ReadInt32();
int fsAccessControlSize = reader.ReadInt32();
int serviceAccessControlOffset = reader.ReadInt32();
int serviceAccessControlSize = reader.ReadInt32();
int kernelAccessControlOffset = reader.ReadInt32();
int kernelAccessControlSize = reader.ReadInt32();
FsAccessControl = new FsAccessControl(Stream, Offset + FsAccessControlOffset, FsAccessControlSize);
FsAccessControl = new FsAccessControl(stream, offset + fsAccessControlOffset, fsAccessControlSize);
ServiceAccessControl = new ServiceAccessControl(Stream, Offset + ServiceAccessControlOffset, ServiceAccessControlSize);
ServiceAccessControl = new ServiceAccessControl(stream, offset + serviceAccessControlOffset, serviceAccessControlSize);
KernelAccessControl = new KernelAccessControl(Stream, Offset + KernelAccessControlOffset, KernelAccessControlSize);
KernelAccessControl = new KernelAccessControl(stream, offset + kernelAccessControlOffset, kernelAccessControlSize);
}
}
}

View file

@ -4,25 +4,25 @@ namespace Ryujinx.HLE.Loaders.Npdm
{
class FsAccessControl
{
public int Version { get; private set; }
public ulong PermissionsBitmask { get; private set; }
public int Unknown1 { get; private set; }
public int Unknown2 { get; private set; }
public int Unknown3 { get; private set; }
public int Unknown4 { get; private set; }
public int Version { get; }
public ulong PermissionsBitmask { get; }
public int Unknown1 { get; }
public int Unknown2 { get; }
public int Unknown3 { get; }
public int Unknown4 { get; }
public FsAccessControl(Stream Stream, int Offset, int Size)
public FsAccessControl(Stream stream, int offset, int size)
{
Stream.Seek(Offset, SeekOrigin.Begin);
stream.Seek(offset, SeekOrigin.Begin);
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
Version = Reader.ReadInt32();
PermissionsBitmask = Reader.ReadUInt64();
Unknown1 = Reader.ReadInt32();
Unknown2 = Reader.ReadInt32();
Unknown3 = Reader.ReadInt32();
Unknown4 = Reader.ReadInt32();
Version = reader.ReadInt32();
PermissionsBitmask = reader.ReadUInt64();
Unknown1 = reader.ReadInt32();
Unknown2 = reader.ReadInt32();
Unknown3 = reader.ReadInt32();
Unknown4 = reader.ReadInt32();
}
}
}

View file

@ -6,29 +6,29 @@ namespace Ryujinx.HLE.Loaders.Npdm
{
class FsAccessHeader
{
public int Version { get; private set; }
public ulong PermissionsBitmask { get; private set; }
public int Version { get; }
public ulong PermissionsBitmask { get; }
public FsAccessHeader(Stream Stream, int Offset, int Size)
public FsAccessHeader(Stream stream, int offset, int size)
{
Stream.Seek(Offset, SeekOrigin.Begin);
stream.Seek(offset, SeekOrigin.Begin);
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
Version = Reader.ReadInt32();
PermissionsBitmask = Reader.ReadUInt64();
Version = reader.ReadInt32();
PermissionsBitmask = reader.ReadUInt64();
int DataSize = Reader.ReadInt32();
int dataSize = reader.ReadInt32();
if (DataSize != 0x1c)
if (dataSize != 0x1c)
{
throw new InvalidNpdmException("FsAccessHeader is corrupted!");
}
int ContentOwnerIdSize = Reader.ReadInt32();
int DataAndContentOwnerIdSize = Reader.ReadInt32();
int contentOwnerIdSize = reader.ReadInt32();
int dataAndContentOwnerIdSize = reader.ReadInt32();
if (DataAndContentOwnerIdSize != 0x1c)
if (dataAndContentOwnerIdSize != 0x1c)
{
throw new NotImplementedException("ContentOwnerId section is not implemented!");
}

View file

@ -4,19 +4,19 @@ namespace Ryujinx.HLE.Loaders.Npdm
{
class KernelAccessControl
{
public int[] Capabilities { get; private set; }
public int[] Capabilities { get; }
public KernelAccessControl(Stream Stream, int Offset, int Size)
public KernelAccessControl(Stream stream, int offset, int size)
{
Stream.Seek(Offset, SeekOrigin.Begin);
stream.Seek(offset, SeekOrigin.Begin);
Capabilities = new int[Size / 4];
Capabilities = new int[size / 4];
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
for (int Index = 0; Index < Capabilities.Length; Index++)
for (int index = 0; index < Capabilities.Length; index++)
{
Capabilities[Index] = Reader.ReadInt32();
Capabilities[index] = reader.ReadInt32();
}
}
}

View file

@ -11,62 +11,62 @@ namespace Ryujinx.HLE.Loaders.Npdm
{
private const int MetaMagic = 'M' << 0 | 'E' << 8 | 'T' << 16 | 'A' << 24;
public byte MmuFlags { get; private set; }
public bool Is64Bits { get; private set; }
public byte MainThreadPriority { get; private set; }
public byte DefaultCpuId { get; private set; }
public int PersonalMmHeapSize { get; private set; }
public int ProcessCategory { get; private set; }
public int MainThreadStackSize { get; private set; }
public string TitleName { get; private set; }
public byte[] ProductCode { get; private set; }
public byte MmuFlags { get; }
public bool Is64Bits { get; }
public byte MainThreadPriority { get; }
public byte DefaultCpuId { get; }
public int PersonalMmHeapSize { get; }
public int ProcessCategory { get; }
public int MainThreadStackSize { get; }
public string TitleName { get; }
public byte[] ProductCode { get; }
public ACI0 ACI0 { get; private set; }
public ACID ACID { get; private set; }
public Aci0 Aci0 { get; }
public Acid Acid { get; }
public Npdm(Stream Stream)
public Npdm(Stream stream)
{
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
if (Reader.ReadInt32() != MetaMagic)
if (reader.ReadInt32() != MetaMagic)
{
throw new InvalidNpdmException("NPDM Stream doesn't contain NPDM file!");
}
Reader.ReadInt64();
reader.ReadInt64();
MmuFlags = Reader.ReadByte();
MmuFlags = reader.ReadByte();
Is64Bits = (MmuFlags & 1) != 0;
Reader.ReadByte();
reader.ReadByte();
MainThreadPriority = Reader.ReadByte();
DefaultCpuId = Reader.ReadByte();
MainThreadPriority = reader.ReadByte();
DefaultCpuId = reader.ReadByte();
Reader.ReadInt32();
reader.ReadInt32();
PersonalMmHeapSize = Reader.ReadInt32();
PersonalMmHeapSize = reader.ReadInt32();
ProcessCategory = Reader.ReadInt32();
ProcessCategory = reader.ReadInt32();
MainThreadStackSize = Reader.ReadInt32();
MainThreadStackSize = reader.ReadInt32();
byte[] TempTitleName = Reader.ReadBytes(0x10);
byte[] tempTitleName = reader.ReadBytes(0x10);
TitleName = Encoding.UTF8.GetString(TempTitleName, 0, TempTitleName.Length).Trim('\0');
TitleName = Encoding.UTF8.GetString(tempTitleName, 0, tempTitleName.Length).Trim('\0');
ProductCode = Reader.ReadBytes(0x10);
ProductCode = reader.ReadBytes(0x10);
Stream.Seek(0x30, SeekOrigin.Current);
stream.Seek(0x30, SeekOrigin.Current);
int ACI0Offset = Reader.ReadInt32();
int ACI0Size = Reader.ReadInt32();
int ACIDOffset = Reader.ReadInt32();
int ACIDSize = Reader.ReadInt32();
int aci0Offset = reader.ReadInt32();
int aci0Size = reader.ReadInt32();
int acidOffset = reader.ReadInt32();
int acidSize = reader.ReadInt32();
ACI0 = new ACI0(Stream, ACI0Offset);
ACID = new ACID(Stream, ACIDOffset);
Aci0 = new Aci0(stream, aci0Offset);
Acid = new Acid(stream, acidOffset);
}
}
}

View file

@ -7,36 +7,36 @@ namespace Ryujinx.HLE.Loaders.Npdm
{
class ServiceAccessControl
{
public IReadOnlyDictionary<string, bool> Services { get; private set; }
public IReadOnlyDictionary<string, bool> Services { get; }
public ServiceAccessControl(Stream Stream, int Offset, int Size)
public ServiceAccessControl(Stream stream, int offset, int size)
{
Stream.Seek(Offset, SeekOrigin.Begin);
stream.Seek(offset, SeekOrigin.Begin);
BinaryReader Reader = new BinaryReader(Stream);
BinaryReader reader = new BinaryReader(stream);
int ByteReaded = 0;
int byteReaded = 0;
Dictionary<string, bool> Services = new Dictionary<string, bool>();
Dictionary<string, bool> services = new Dictionary<string, bool>();
while (ByteReaded != Size)
while (byteReaded != size)
{
byte ControlByte = Reader.ReadByte();
byte controlByte = reader.ReadByte();
if (ControlByte == 0)
if (controlByte == 0)
{
break;
}
int Length = (ControlByte & 0x07) + 1;
bool RegisterAllowed = (ControlByte & 0x80) != 0;
int length = (controlByte & 0x07) + 1;
bool registerAllowed = (controlByte & 0x80) != 0;
Services.Add(Encoding.ASCII.GetString(Reader.ReadBytes(Length), 0, Length), RegisterAllowed);
services.Add(Encoding.ASCII.GetString(reader.ReadBytes(length), 0, length), registerAllowed);
ByteReaded += Length + 1;
byteReaded += length + 1;
}
this.Services = new ReadOnlyDictionary<string, bool>(Services);
Services = new ReadOnlyDictionary<string, bool>(services);
}
}
}