diff options
Diffstat (limited to 'Ryujinx.HLE/Loaders')
19 files changed, 433 insertions, 436 deletions
diff --git a/Ryujinx.HLE/Loaders/Compression/BackwardsLz.cs b/Ryujinx.HLE/Loaders/Compression/BackwardsLz.cs index 166ae60a..43cc601f 100644 --- a/Ryujinx.HLE/Loaders/Compression/BackwardsLz.cs +++ b/Ryujinx.HLE/Loaders/Compression/BackwardsLz.cs @@ -7,22 +7,22 @@ namespace Ryujinx.HLE.Loaders.Compression { private class BackwardsReader { - private Stream _baseStream; + private Stream BaseStream; - public BackwardsReader(Stream baseStream) + public BackwardsReader(Stream BaseStream) { - _baseStream = baseStream; + this.BaseStream = BaseStream; } public byte ReadByte() { - _baseStream.Seek(-1, SeekOrigin.Current); + BaseStream.Seek(-1, SeekOrigin.Current); - byte value = (byte)_baseStream.ReadByte(); + byte Value = (byte)BaseStream.ReadByte(); - _baseStream.Seek(-1, SeekOrigin.Current); + BaseStream.Seek(-1, SeekOrigin.Current); - return value; + return Value; } public short ReadInt16() @@ -39,67 +39,67 @@ namespace Ryujinx.HLE.Loaders.Compression } } - public static byte[] Decompress(Stream input, int decompressedLength) + public static byte[] Decompress(Stream Input, int DecompressedLength) { - long end = input.Position; + long End = Input.Position; - BackwardsReader reader = new BackwardsReader(input); + BackwardsReader Reader = new BackwardsReader(Input); - int additionalDecLength = reader.ReadInt32(); - int startOffset = reader.ReadInt32(); - int compressedLength = reader.ReadInt32(); + int AdditionalDecLength = Reader.ReadInt32(); + int StartOffset = Reader.ReadInt32(); + int CompressedLength = Reader.ReadInt32(); - input.Seek(12 - startOffset, SeekOrigin.Current); + Input.Seek(12 - StartOffset, SeekOrigin.Current); - byte[] dec = new byte[decompressedLength]; + byte[] Dec = new byte[DecompressedLength]; - int decompressedLengthUnpadded = compressedLength + additionalDecLength; + int DecompressedLengthUnpadded = CompressedLength + AdditionalDecLength; - int decompressionStart = decompressedLength - decompressedLengthUnpadded; + int DecompressionStart = DecompressedLength - DecompressedLengthUnpadded; - int decPos = dec.Length; + int DecPos = Dec.Length; - byte mask = 0; - byte header = 0; + byte Mask = 0; + byte Header = 0; - while (decPos > decompressionStart) + while (DecPos > DecompressionStart) { - if ((mask >>= 1) == 0) + if ((Mask >>= 1) == 0) { - header = reader.ReadByte(); - mask = 0x80; + Header = Reader.ReadByte(); + Mask = 0x80; } - if ((header & mask) == 0) + if ((Header & Mask) == 0) { - dec[--decPos] = reader.ReadByte(); + Dec[--DecPos] = Reader.ReadByte(); } else { - ushort pair = (ushort)reader.ReadInt16(); + ushort Pair = (ushort)Reader.ReadInt16(); - int length = (pair >> 12) + 3; - int position = (pair & 0xfff) + 3; + int Length = (Pair >> 12) + 3; + int Position = (Pair & 0xfff) + 3; - decPos -= length; + DecPos -= Length; - if (length <= position) + if (Length <= Position) { - int srcPos = decPos + position; + int SrcPos = DecPos + Position; - Buffer.BlockCopy(dec, srcPos, dec, decPos, length); + Buffer.BlockCopy(Dec, SrcPos, Dec, DecPos, Length); } else { - for (int offset = 0; offset < length; offset++) + for (int Offset = 0; Offset < Length; Offset++) { - dec[decPos + offset] = dec[decPos + position + offset]; + Dec[DecPos + Offset] = Dec[DecPos + Position + Offset]; } } } } - return dec; + return Dec; } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Compression/Lz4.cs b/Ryujinx.HLE/Loaders/Compression/Lz4.cs index e405b107..cfb49551 100644 --- a/Ryujinx.HLE/Loaders/Compression/Lz4.cs +++ b/Ryujinx.HLE/Loaders/Compression/Lz4.cs @@ -4,75 +4,75 @@ namespace Ryujinx.HLE.Loaders.Compression { static class Lz4 { - public static byte[] Decompress(byte[] cmp, int decLength) + public static byte[] Decompress(byte[] Cmp, int DecLength) { - byte[] dec = new byte[decLength]; + byte[] Dec = new byte[DecLength]; - int cmpPos = 0; - int decPos = 0; + int CmpPos = 0; + int DecPos = 0; - int GetLength(int length) + int GetLength(int Length) { - byte sum; + byte Sum; - if (length == 0xf) + if (Length == 0xf) { do { - length += (sum = cmp[cmpPos++]); + Length += (Sum = Cmp[CmpPos++]); } - while (sum == 0xff); + while (Sum == 0xff); } - return length; + return Length; } do { - byte token = cmp[cmpPos++]; + byte Token = Cmp[CmpPos++]; - int encCount = (token >> 0) & 0xf; - int litCount = (token >> 4) & 0xf; + int EncCount = (Token >> 0) & 0xf; + int LitCount = (Token >> 4) & 0xf; //Copy literal chunck - litCount = GetLength(litCount); + LitCount = GetLength(LitCount); - Buffer.BlockCopy(cmp, cmpPos, dec, decPos, litCount); + Buffer.BlockCopy(Cmp, CmpPos, Dec, DecPos, LitCount); - cmpPos += litCount; - decPos += litCount; + CmpPos += LitCount; + DecPos += LitCount; - if (cmpPos >= cmp.Length) + if (CmpPos >= Cmp.Length) { break; } //Copy compressed chunck - int back = cmp[cmpPos++] << 0 | - cmp[cmpPos++] << 8; + int Back = Cmp[CmpPos++] << 0 | + Cmp[CmpPos++] << 8; - encCount = GetLength(encCount) + 4; + EncCount = GetLength(EncCount) + 4; - int encPos = decPos - back; + int EncPos = DecPos - Back; - if (encCount <= back) + if (EncCount <= Back) { - Buffer.BlockCopy(dec, encPos, dec, decPos, encCount); + Buffer.BlockCopy(Dec, EncPos, Dec, DecPos, EncCount); - decPos += encCount; + DecPos += EncCount; } else { - while (encCount-- > 0) + while (EncCount-- > 0) { - dec[decPos++] = dec[encPos++]; + Dec[DecPos++] = Dec[EncPos++]; } } } - while (cmpPos < cmp.Length && - decPos < dec.Length); + while (CmpPos < Cmp.Length && + DecPos < Dec.Length); - return dec; + return Dec; } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Elf/ElfDynamic.cs b/Ryujinx.HLE/Loaders/Elf/ElfDynamic.cs index bcf79901..fb0ea53e 100644 --- a/Ryujinx.HLE/Loaders/Elf/ElfDynamic.cs +++ b/Ryujinx.HLE/Loaders/Elf/ElfDynamic.cs @@ -2,14 +2,14 @@ namespace Ryujinx.HLE.Loaders.Elf { struct ElfDynamic { - public ElfDynamicTag Tag { get; } + public ElfDynamicTag Tag { get; private set; } - public long Value { get; } + public long Value { get; private set; } - public ElfDynamic(ElfDynamicTag tag, long value) + public ElfDynamic(ElfDynamicTag Tag, long Value) { - Tag = tag; - Value = value; + this.Tag = Tag; + this.Value = Value; } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Elf/ElfDynamicTag.cs b/Ryujinx.HLE/Loaders/Elf/ElfDynamicTag.cs index eb37d612..9d7ad72e 100644 --- a/Ryujinx.HLE/Loaders/Elf/ElfDynamicTag.cs +++ b/Ryujinx.HLE/Loaders/Elf/ElfDynamicTag.cs @@ -1,8 +1,5 @@ -using System.Diagnostics.CodeAnalysis; - namespace Ryujinx.HLE.Loaders.Elf { - [SuppressMessage("ReSharper", "InconsistentNaming")] enum ElfDynamicTag { DT_NULL = 0, diff --git a/Ryujinx.HLE/Loaders/Elf/ElfSymbol.cs b/Ryujinx.HLE/Loaders/Elf/ElfSymbol.cs index 9f47e353..3f3a2a79 100644 --- a/Ryujinx.HLE/Loaders/Elf/ElfSymbol.cs +++ b/Ryujinx.HLE/Loaders/Elf/ElfSymbol.cs @@ -2,39 +2,39 @@ namespace Ryujinx.HLE.Loaders.Elf { struct ElfSymbol { - public string Name { get; } + public string Name { get; private set; } - public ElfSymbolType Type { get; } - public ElfSymbolBinding Binding { get; } - public ElfSymbolVisibility Visibility { get; } + public ElfSymbolType Type { get; private set; } + public ElfSymbolBinding Binding { get; private set; } + public ElfSymbolVisibility Visibility { get; private set; } public bool IsFuncOrObject => - Type == ElfSymbolType.SttFunc || - Type == ElfSymbolType.SttObject; + Type == ElfSymbolType.STT_FUNC || + Type == ElfSymbolType.STT_OBJECT; public bool IsGlobalOrWeak => - Binding == ElfSymbolBinding.StbGlobal || - Binding == ElfSymbolBinding.StbWeak; + Binding == ElfSymbolBinding.STB_GLOBAL || + Binding == ElfSymbolBinding.STB_WEAK; - public int ShIdx { get; } - public long Value { get; } - public long Size { get; } + public int SHIdx { get; private set; } + public long Value { get; private set; } + public long Size { get; private set; } public ElfSymbol( - string name, - int info, - int other, - int shIdx, - long value, - long size) + string Name, + int Info, + int Other, + int SHIdx, + long Value, + long Size) { - Name = name; - Type = (ElfSymbolType)(info & 0xf); - Binding = (ElfSymbolBinding)(info >> 4); - Visibility = (ElfSymbolVisibility)other; - ShIdx = shIdx; - Value = value; - Size = size; + this.Name = Name; + this.Type = (ElfSymbolType)(Info & 0xf); + this.Binding = (ElfSymbolBinding)(Info >> 4); + this.Visibility = (ElfSymbolVisibility)Other; + this.SHIdx = SHIdx; + this.Value = Value; + this.Size = Size; } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Elf/ElfSymbolBinding.cs b/Ryujinx.HLE/Loaders/Elf/ElfSymbolBinding.cs index 92274fde..3c915311 100644 --- a/Ryujinx.HLE/Loaders/Elf/ElfSymbolBinding.cs +++ b/Ryujinx.HLE/Loaders/Elf/ElfSymbolBinding.cs @@ -2,8 +2,8 @@ namespace Ryujinx.HLE.Loaders.Elf { enum ElfSymbolBinding { - StbLocal = 0, - StbGlobal = 1, - StbWeak = 2 + STB_LOCAL = 0, + STB_GLOBAL = 1, + STB_WEAK = 2 } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Elf/ElfSymbolType.cs b/Ryujinx.HLE/Loaders/Elf/ElfSymbolType.cs index 4110d4c3..f22e6c45 100644 --- a/Ryujinx.HLE/Loaders/Elf/ElfSymbolType.cs +++ b/Ryujinx.HLE/Loaders/Elf/ElfSymbolType.cs @@ -2,12 +2,12 @@ namespace Ryujinx.HLE.Loaders.Elf { enum ElfSymbolType { - SttNoType = 0, - SttObject = 1, - SttFunc = 2, - SttSection = 3, - SttFile = 4, - SttCommon = 5, - SttTls = 6 + STT_NOTYPE = 0, + STT_OBJECT = 1, + STT_FUNC = 2, + STT_SECTION = 3, + STT_FILE = 4, + STT_COMMON = 5, + STT_TLS = 6 } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Elf/ElfSymbolVisibility.cs b/Ryujinx.HLE/Loaders/Elf/ElfSymbolVisibility.cs index f026fca8..4bec50a3 100644 --- a/Ryujinx.HLE/Loaders/Elf/ElfSymbolVisibility.cs +++ b/Ryujinx.HLE/Loaders/Elf/ElfSymbolVisibility.cs @@ -2,9 +2,9 @@ namespace Ryujinx.HLE.Loaders.Elf { enum ElfSymbolVisibility { - StvDefault = 0, - StvInternal = 1, - StvHidden = 2, - StvProtected = 3 + STV_DEFAULT = 0, + STV_INTERNAL = 1, + STV_HIDDEN = 2, + STV_PROTECTED = 3 } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Executables/IExecutable.cs b/Ryujinx.HLE/Loaders/Executables/IExecutable.cs index 440e8f5f..d3eefde6 100644 --- a/Ryujinx.HLE/Loaders/Executables/IExecutable.cs +++ b/Ryujinx.HLE/Loaders/Executables/IExecutable.cs @@ -3,11 +3,11 @@ namespace Ryujinx.HLE.Loaders.Executables interface IExecutable { byte[] Text { get; } - byte[] Ro { get; } + byte[] RO { get; } byte[] Data { get; } int TextOffset { get; } - int RoOffset { get; } + int ROOffset { get; } int DataOffset { get; } int BssOffset { get; } int BssSize { get; } diff --git a/Ryujinx.HLE/Loaders/Executables/KernelInitialProcess.cs b/Ryujinx.HLE/Loaders/Executables/KernelInitialProcess.cs index d5ab2e8d..1395d56f 100644 --- a/Ryujinx.HLE/Loaders/Executables/KernelInitialProcess.cs +++ b/Ryujinx.HLE/Loaders/Executables/KernelInitialProcess.cs @@ -5,145 +5,145 @@ namespace Ryujinx.HLE.Loaders.Executables { class KernelInitialProcess : IExecutable { - public string Name { get; } + public string Name { get; private set; } - public long TitleId { get; } + public long TitleId { get; private set; } - public int ProcessCategory { get; } + public int ProcessCategory { get; private set; } - public byte MainThreadPriority { get; } - public byte DefaultProcessorId { get; } + public byte MainThreadPriority { get; private set; } + public byte DefaultProcessorId { get; private set; } - public bool Is64Bits { get; } - public bool Addr39Bits { get; } - public bool IsService { get; } + public bool Is64Bits { get; private set; } + public bool Addr39Bits { get; private set; } + public bool IsService { get; private set; } - public byte[] Text { get; } - public byte[] Ro { get; } - public byte[] Data { get; } + public byte[] Text { get; private set; } + public byte[] RO { get; private set; } + public byte[] Data { get; private set; } - public int TextOffset { get; } - public int RoOffset { get; } - public int DataOffset { get; } - public int BssOffset { get; } - public int BssSize { get; } + public int TextOffset { get; private set; } + public int ROOffset { get; private set; } + public int DataOffset { get; private set; } + public int BssOffset { get; private set; } + public int BssSize { get; private set; } - public int MainThreadStackSize { get; } + public int MainThreadStackSize { get; private set; } - public int[] Capabilities { get; } + public int[] Capabilities { get; private set; } private struct SegmentHeader { - public int Offset { get; } - public int DecompressedSize { get; } - public int CompressedSize { get; } - public int Attribute { get; } + public int Offset { get; private set; } + public int DecompressedSize { get; private set; } + public int CompressedSize { get; private set; } + public int Attribute { get; private set; } public SegmentHeader( - int offset, - int decompressedSize, - int compressedSize, - int attribute) + int Offset, + int DecompressedSize, + int CompressedSize, + int Attribute) { - Offset = offset; - DecompressedSize = decompressedSize; - CompressedSize = compressedSize; - Attribute = attribute; + this.Offset = Offset; + this.DecompressedSize = DecompressedSize; + this.CompressedSize = CompressedSize; + this.Attribute = Attribute; } } - public KernelInitialProcess(Stream input) + public KernelInitialProcess(Stream Input) { - BinaryReader reader = new BinaryReader(input); + BinaryReader Reader = new BinaryReader(Input); - string magic = ReadString(reader, 4); + string Magic = ReadString(Reader, 4); - if (magic != "KIP1") + if (Magic != "KIP1") { } - Name = ReadString(reader, 12); + Name = ReadString(Reader, 12); - TitleId = reader.ReadInt64(); + TitleId = Reader.ReadInt64(); - ProcessCategory = reader.ReadInt32(); + ProcessCategory = Reader.ReadInt32(); - MainThreadPriority = reader.ReadByte(); - DefaultProcessorId = reader.ReadByte(); + MainThreadPriority = Reader.ReadByte(); + DefaultProcessorId = Reader.ReadByte(); - byte reserved = reader.ReadByte(); - byte flags = reader.ReadByte(); + byte Reserved = Reader.ReadByte(); + byte Flags = Reader.ReadByte(); - Is64Bits = (flags & 0x08) != 0; - Addr39Bits = (flags & 0x10) != 0; - IsService = (flags & 0x20) != 0; + Is64Bits = (Flags & 0x08) != 0; + Addr39Bits = (Flags & 0x10) != 0; + IsService = (Flags & 0x20) != 0; - SegmentHeader[] segments = new SegmentHeader[6]; + SegmentHeader[] Segments = new SegmentHeader[6]; - for (int index = 0; index < segments.Length; index++) + for (int Index = 0; Index < Segments.Length; Index++) { - segments[index] = new SegmentHeader( - reader.ReadInt32(), - reader.ReadInt32(), - reader.ReadInt32(), - reader.ReadInt32()); + Segments[Index] = new SegmentHeader( + Reader.ReadInt32(), + Reader.ReadInt32(), + Reader.ReadInt32(), + Reader.ReadInt32()); } - TextOffset = segments[0].Offset; - RoOffset = segments[1].Offset; - DataOffset = segments[2].Offset; - BssOffset = segments[3].Offset; - BssSize = segments[3].DecompressedSize; + TextOffset = Segments[0].Offset; + ROOffset = Segments[1].Offset; + DataOffset = Segments[2].Offset; + BssOffset = Segments[3].Offset; + BssSize = Segments[3].DecompressedSize; - MainThreadStackSize = segments[1].Attribute; + MainThreadStackSize = Segments[1].Attribute; Capabilities = new int[8]; - for (int index = 0; index < Capabilities.Length; index++) + for (int Index = 0; Index < Capabilities.Length; Index++) { - Capabilities[index] = reader.ReadInt32(); + Capabilities[Index] = Reader.ReadInt32(); } - input.Seek(0x100, SeekOrigin.Begin); + Input.Seek(0x100, SeekOrigin.Begin); - Text = ReadSegment(segments[0], input); - Ro = ReadSegment(segments[1], input); - Data = ReadSegment(segments[2], input); + Text = ReadSegment(Segments[0], Input); + RO = ReadSegment(Segments[1], Input); + Data = ReadSegment(Segments[2], Input); } - private byte[] ReadSegment(SegmentHeader header, Stream input) + private byte[] ReadSegment(SegmentHeader Header, Stream Input) { - long end = input.Position + header.CompressedSize; + long End = Input.Position + Header.CompressedSize; - input.Seek(end, SeekOrigin.Begin); + Input.Seek(End, SeekOrigin.Begin); - byte[] data = BackwardsLz.Decompress(input, header.DecompressedSize); + byte[] Data = BackwardsLz.Decompress(Input, Header.DecompressedSize); - input.Seek(end, SeekOrigin.Begin); + Input.Seek(End, SeekOrigin.Begin); - return data; + return Data; } - private static string ReadString(BinaryReader reader, int maxSize) + private static string ReadString(BinaryReader Reader, int MaxSize) { - string value = string.Empty; + string Value = string.Empty; - for (int index = 0; index < maxSize; index++) + for (int Index = 0; Index < MaxSize; Index++) { - char chr = (char)reader.ReadByte(); + char Chr = (char)Reader.ReadByte(); - if (chr == '\0') + if (Chr == '\0') { - reader.BaseStream.Seek(maxSize - index - 1, SeekOrigin.Current); + Reader.BaseStream.Seek(MaxSize - Index - 1, SeekOrigin.Current); break; } - value += chr; + Value += Chr; } - return value; + return Value; } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Executables/NxRelocatableObject.cs b/Ryujinx.HLE/Loaders/Executables/NxRelocatableObject.cs index 071a6fd9..20de5b5d 100644 --- a/Ryujinx.HLE/Loaders/Executables/NxRelocatableObject.cs +++ b/Ryujinx.HLE/Loaders/Executables/NxRelocatableObject.cs @@ -4,61 +4,61 @@ namespace Ryujinx.HLE.Loaders.Executables { class NxRelocatableObject : IExecutable { - public byte[] Text { get; } - public byte[] Ro { get; } - public byte[] Data { get; } + public byte[] Text { get; private set; } + public byte[] RO { get; private set; } + public byte[] Data { get; private set; } - public int Mod0Offset { get; } - public int TextOffset { get; } - public int RoOffset { get; } - public int DataOffset { get; } - public int BssSize { get; } + public int Mod0Offset { get; private set; } + public int TextOffset { get; private set; } + public int ROOffset { get; private set; } + public int DataOffset { get; private set; } + public int BssSize { get; private set; } public int BssOffset => DataOffset + Data.Length; - public ulong SourceAddress { get; } - public ulong BssAddress { get; } + public ulong SourceAddress { get; private set; } + public ulong BssAddress { get; private set; } - public NxRelocatableObject(Stream input, ulong sourceAddress = 0, ulong bssAddress = 0) + public NxRelocatableObject(Stream Input, ulong SourceAddress = 0, ulong BssAddress = 0) { - SourceAddress = sourceAddress; - BssAddress = bssAddress; + this.SourceAddress = SourceAddress; + this.BssAddress = BssAddress; - BinaryReader reader = new BinaryReader(input); + BinaryReader Reader = new BinaryReader(Input); - input.Seek(4, SeekOrigin.Begin); + Input.Seek(4, SeekOrigin.Begin); - int mod0Offset = reader.ReadInt32(); - int padding8 = reader.ReadInt32(); - int paddingC = reader.ReadInt32(); - int nroMagic = reader.ReadInt32(); - int unknown14 = reader.ReadInt32(); - int fileSize = reader.ReadInt32(); - int unknown1C = reader.ReadInt32(); - int textOffset = reader.ReadInt32(); - int textSize = reader.ReadInt32(); - int roOffset = reader.ReadInt32(); - int roSize = reader.ReadInt32(); - int dataOffset = reader.ReadInt32(); - int dataSize = reader.ReadInt32(); - int bssSize = reader.ReadInt32(); + int Mod0Offset = Reader.ReadInt32(); + int Padding8 = Reader.ReadInt32(); + int Paddingc = Reader.ReadInt32(); + int NroMagic = Reader.ReadInt32(); + int Unknown14 = Reader.ReadInt32(); + int FileSize = Reader.ReadInt32(); + int Unknown1c = Reader.ReadInt32(); + int TextOffset = Reader.ReadInt32(); + int TextSize = Reader.ReadInt32(); + int ROOffset = Reader.ReadInt32(); + int ROSize = Reader.ReadInt32(); + int DataOffset = Reader.ReadInt32(); + int DataSize = Reader.ReadInt32(); + int BssSize = Reader.ReadInt32(); - Mod0Offset = mod0Offset; - TextOffset = textOffset; - RoOffset = roOffset; - DataOffset = dataOffset; - BssSize = bssSize; + this.Mod0Offset = Mod0Offset; + this.TextOffset = TextOffset; + this.ROOffset = ROOffset; + this.DataOffset = DataOffset; + this.BssSize = BssSize; - byte[] Read(long position, int size) + byte[] Read(long Position, int Size) { - input.Seek(position, SeekOrigin.Begin); + Input.Seek(Position, SeekOrigin.Begin); - return reader.ReadBytes(size); + return Reader.ReadBytes(Size); } - Text = Read(textOffset, textSize); - Ro = Read(roOffset, roSize); - Data = Read(dataOffset, dataSize); + Text = Read(TextOffset, TextSize); + RO = Read(ROOffset, ROSize); + Data = Read(DataOffset, DataSize); } } }
\ No newline at end of file diff --git a/Ryujinx.HLE/Loaders/Executables/NxStaticObject.cs b/Ryujinx.HLE/Loaders/Executables/NxStaticObject.cs index 5509e865..9fecb650 100644 --- a/Ryujinx.HLE/Loaders/Executables/NxStaticObject.cs +++ b/Ryujinx.HLE/Loaders/Executables/NxStaticObject.cs @@ -6,14 +6,14 @@ namespace Ryujinx.HLE.Loaders.Executables { class NxStaticObject : IExecutable { - public byte[] Text { get; } - public byte[] Ro { get; } - public byte[] Data { get; } + public byte[] Text { get; private set; } + public byte[] RO { get; private set; } + public byte[] Data { get; private set; } - public int TextOffset { get; } - public int RoOffset { get; } - public int DataOffset { get; } - public int BssSize { get; } + public int TextOffset { get; private set; } + public int ROOffset { get; private set; } + public int DataOffset { get; private set; } + public int BssSize { get; private set; } public int BssOffset => DataOffset + Data.Length; @@ -21,88 +21,88 @@ namespace Ryujinx.HLE.Loaders.Executables private enum NsoFlags { IsTextCompressed = 1 << 0, - IsRoCompressed = 1 << 1, + IsROCompressed = 1 << 1, IsDataCompressed = 1 << 2, HasTextHash = 1 << 3, - HasRoHash = 1 << 4, + HasROHash = 1 << 4, HasDataHash = 1 << 5 } - public NxStaticObject(Stream input) + public NxStaticObject(Stream Input) { - BinaryReader reader = new BinaryReader(input); - - input.Seek(0, SeekOrigin.Begin); - - int nsoMagic = reader.ReadInt32(); - int version = reader.ReadInt32(); - int reserved = reader.ReadInt32(); - int flagsMsk = reader.ReadInt32(); - int textOffset = reader.ReadInt32(); - int textMemOffset = reader.ReadInt32(); - int textDecSize = reader.ReadInt32(); - int modNameOffset = reader.ReadInt32(); - int roOffset = reader.ReadInt32(); - int roMemOffset = reader.ReadInt32(); - int roDecSize = reader.ReadInt32(); - int modNameSize = reader.ReadInt32(); - int dataOffset = reader.ReadInt32(); - int dataMemOffset = reader.ReadInt32(); - int dataDecSize = reader.ReadInt32(); - int bssSize = reader.ReadInt32(); - - byte[] buildId = reader.ReadBytes(0x20); - - int textSize = reader.ReadInt32(); - int roSize = reader.ReadInt32(); - int dataSize = reader.ReadInt32(); - - input.Seek(0x24, SeekOrigin.Current); - - int dynStrOffset = reader.ReadInt32(); - int dynStrSize = reader.ReadInt32(); - int dynSymOffset = reader.ReadInt32(); - int dynSymSize = reader.ReadInt32(); - - byte[] textHash = reader.ReadBytes(0x20); - byte[] roHash = reader.ReadBytes(0x20); - byte[] dataHash = reader.ReadBytes(0x20); - - NsoFlags flags = (NsoFlags)flagsMsk; - - TextOffset = textMemOffset; - RoOffset = roMemOffset; - DataOffset = dataMemOffset; - BssSize = bssSize; + BinaryReader Reader = new BinaryReader(Input); + + Input.Seek(0, SeekOrigin.Begin); + + int NsoMagic = Reader.ReadInt32(); + int Version = Reader.ReadInt32(); + int Reserved = Reader.ReadInt32(); + int FlagsMsk = Reader.ReadInt32(); + int TextOffset = Reader.ReadInt32(); + int TextMemOffset = Reader.ReadInt32(); + int TextDecSize = Reader.ReadInt32(); + int ModNameOffset = Reader.ReadInt32(); + int ROOffset = Reader.ReadInt32(); + int ROMemOffset = Reader.ReadInt32(); + int RODecSize = Reader.ReadInt32(); + int ModNameSize = Reader.ReadInt32(); + int DataOffset = Reader.ReadInt32(); + int DataMemOffset = Reader.ReadInt32(); + int DataDecSize = Reader.ReadInt32(); + int BssSize = Reader.ReadInt32(); + + byte[] BuildId = Reader.ReadBytes(0x20); + + int TextSize = Reader.ReadInt32(); + int ROSize = Reader.ReadInt32(); + int DataSize = Reader.ReadInt32(); + + Input.Seek(0x24, SeekOrigin.Current); + + int DynStrOffset = Reader.ReadInt32(); + int DynStrSize = Reader.ReadInt32(); + int DynSymOffset = Reader.ReadInt32(); + int DynSymSize = Reader.ReadInt32(); + + byte[] TextHash = Reader.ReadBytes(0x20); + byte[] ROHash = Reader.ReadBytes(0x20); + byte[] DataHash = Reader.ReadBytes(0x20); + + NsoFlags Flags = (NsoFlags)FlagsMsk; + + this.TextOffset = TextMemOffset; + this.ROOffset = ROMemOffset; + this.DataOffset = DataMemOffset; + this.BssSize = BssSize; //Text segment - input.Seek(textOffset, SeekOrigin.Begin); + Input.Seek(TextOffset, SeekOrigin.Begin); - Text = reader.ReadBytes(textSize); + Text = Reader.ReadBytes(TextSize); - if (flags.HasFlag(NsoFlags.IsTextCompressed)) + if (Flags.HasFlag(NsoFlags.IsTextCompressed)) { - Text = Lz4.Decompress(Text, textDecSize); + Text = Lz4.Decompress(Text, TextDecSize); } //Read-only data segment - input.Seek(roOffset, SeekOrigin.Begin); + Input.Seek(ROOffset, SeekOrigin.Begin); - Ro = reader.ReadBytes(roSize); + RO = Reader.ReadBytes(ROSize); - if (flags.HasFlag(NsoFlags.IsRoCompressed)) + if (Flags.HasFlag(NsoFlags.IsROCompressed)) { - Ro = Lz4.Decompress(Ro, roDecSize); + RO = Lz4.Decompress(RO, RODecSize); } //Data segment - input.Seek(dataOffset, SeekOrigin.Begin); + Input.Seek(DataOffset, SeekOrigin.Begin); - Data = reader.ReadBytes(dataSize); + Data = Reader.ReadBytes(DataSize); - if (flags.HasFlag(NsoFlags.IsDataCompressed)) + if (Flags.HasFlag(NsoFlags.IsDataCompressed)) { - Data = Lz4.Decompress(Data, dataDecSize); + Data = Lz4.Decompress(Data, DataDecSize); } } } diff --git a/Ryujinx.HLE/Loaders/Npdm/ACI0.cs b/Ryujinx.HLE/Loaders/Npdm/ACI0.cs index 28e11a48..4bec93e4 100644 --- a/Ryujinx.HLE/Loaders/Npdm/ACI0.cs +++ b/Ryujinx.HLE/Loaders/Npdm/ACI0.cs @@ -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; } + public long TitleId { get; private set; } - public int FsVersion { get; } - public ulong FsPermissionsBitmask { get; } + public int FsVersion { get; private set; } + public ulong FsPermissionsBitmask { get; private set; } - public ServiceAccessControl ServiceAccessControl { get; } - public KernelAccessControl KernelAccessControl { get; } + public ServiceAccessControl ServiceAccessControl { get; private set; } + public KernelAccessControl KernelAccessControl { get; private set; } - 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); } } } diff --git a/Ryujinx.HLE/Loaders/Npdm/ACID.cs b/Ryujinx.HLE/Loaders/Npdm/ACID.cs index 3ff87357..9206ee7b 100644 --- a/Ryujinx.HLE/Loaders/Npdm/ACID.cs +++ b/Ryujinx.HLE/Loaders/Npdm/ACID.cs @@ -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; } - public byte[] Rsa2048Modulus { get; } - public int Unknown1 { get; } - public int Flags { get; } + 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 long TitleIdRangeMin { get; } - public long TitleIdRangeMax { get; } + public long TitleIdRangeMin { get; private set; } + public long TitleIdRangeMax { get; private set; } - public FsAccessControl FsAccessControl { get; } - public ServiceAccessControl ServiceAccessControl { get; } - public KernelAccessControl KernelAccessControl { get; } + public FsAccessControl FsAccessControl { get; private set; } + public ServiceAccessControl ServiceAccessControl { get; private set; } + public KernelAccessControl KernelAccessControl { get; private set; } - 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); } } } diff --git a/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs index e246f026..00faf321 100644 --- a/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs +++ b/Ryujinx.HLE/Loaders/Npdm/FsAccessControl.cs @@ -4,25 +4,25 @@ namespace Ryujinx.HLE.Loaders.Npdm { class FsAccessControl { - 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 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 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(); } } } diff --git a/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs b/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs index 97fb3b14..50e82309 100644 --- a/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs +++ b/Ryujinx.HLE/Loaders/Npdm/FsAccessHeader.cs @@ -6,29 +6,29 @@ namespace Ryujinx.HLE.Loaders.Npdm { class FsAccessHeader { - public int Version { get; } - public ulong PermissionsBitmask { get; } + public int Version { get; private set; } + public ulong PermissionsBitmask { get; private set; } - 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!"); } diff --git a/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs index a2f525f7..611eda39 100644 --- a/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs +++ b/Ryujinx.HLE/Loaders/Npdm/KernelAccessControl.cs @@ -4,19 +4,19 @@ namespace Ryujinx.HLE.Loaders.Npdm { class KernelAccessControl { - public int[] Capabilities { get; } + public int[] Capabilities { get; private set; } - 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(); } } } diff --git a/Ryujinx.HLE/Loaders/Npdm/Npdm.cs b/Ryujinx.HLE/Loaders/Npdm/Npdm.cs index 2ffef327..6d74668a 100644 --- a/Ryujinx.HLE/Loaders/Npdm/Npdm.cs +++ b/Ryujinx.HLE/Loaders/Npdm/Npdm.cs @@ -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; } - 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; } - public Acid Acid { get; } - - public Npdm(Stream stream) + 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 ACI0 ACI0 { get; private set; } + public ACID ACID { get; private set; } + + 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); } } } diff --git a/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs b/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs index d349f26b..707be603 100644 --- a/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs +++ b/Ryujinx.HLE/Loaders/Npdm/ServiceAccessControl.cs @@ -7,36 +7,36 @@ namespace Ryujinx.HLE.Loaders.Npdm { class ServiceAccessControl { - public IReadOnlyDictionary<string, bool> Services { get; } + public IReadOnlyDictionary<string, bool> Services { get; private set; } - 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; } - Services = new ReadOnlyDictionary<string, bool>(services); + this.Services = new ReadOnlyDictionary<string, bool>(Services); } } } |
