aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/Loaders/Executables
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/Loaders/Executables')
-rw-r--r--src/Ryujinx.HLE/Loaders/Executables/IExecutable.cs10
-rw-r--r--src/Ryujinx.HLE/Loaders/Executables/KipExecutable.cs52
-rw-r--r--src/Ryujinx.HLE/Loaders/Executables/NroExecutable.cs18
-rw-r--r--src/Ryujinx.HLE/Loaders/Executables/NsoExecutable.cs30
4 files changed, 55 insertions, 55 deletions
diff --git a/src/Ryujinx.HLE/Loaders/Executables/IExecutable.cs b/src/Ryujinx.HLE/Loaders/Executables/IExecutable.cs
index 27479efe..06f6d969 100644
--- a/src/Ryujinx.HLE/Loaders/Executables/IExecutable.cs
+++ b/src/Ryujinx.HLE/Loaders/Executables/IExecutable.cs
@@ -6,13 +6,13 @@ namespace Ryujinx.HLE.Loaders.Executables
{
byte[] Program { get; }
Span<byte> Text { get; }
- Span<byte> Ro { get; }
+ Span<byte> Ro { get; }
Span<byte> Data { get; }
uint TextOffset { get; }
- uint RoOffset { get; }
+ uint RoOffset { get; }
uint DataOffset { get; }
- uint BssOffset { get; }
- uint BssSize { get; }
+ uint BssOffset { get; }
+ uint BssSize { get; }
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/Loaders/Executables/KipExecutable.cs b/src/Ryujinx.HLE/Loaders/Executables/KipExecutable.cs
index ad2b681c..83380ff4 100644
--- a/src/Ryujinx.HLE/Loaders/Executables/KipExecutable.cs
+++ b/src/Ryujinx.HLE/Loaders/Executables/KipExecutable.cs
@@ -9,53 +9,53 @@ namespace Ryujinx.HLE.Loaders.Executables
{
public byte[] Program { get; }
public Span<byte> Text => Program.AsSpan((int)TextOffset, (int)TextSize);
- public Span<byte> Ro => Program.AsSpan((int)RoOffset, (int)RoSize);
+ public Span<byte> Ro => Program.AsSpan((int)RoOffset, (int)RoSize);
public Span<byte> Data => Program.AsSpan((int)DataOffset, (int)DataSize);
public uint TextOffset { get; }
- public uint RoOffset { get; }
+ public uint RoOffset { get; }
public uint DataOffset { get; }
- public uint BssOffset { get; }
+ public uint BssOffset { get; }
public uint TextSize { get; }
- public uint RoSize { get; }
+ public uint RoSize { get; }
public uint DataSize { get; }
- public uint BssSize { get; }
+ public uint BssSize { get; }
- public uint[] Capabilities { get; }
- public bool UsesSecureMemory { get; }
+ public uint[] Capabilities { get; }
+ public bool UsesSecureMemory { get; }
public bool Is64BitAddressSpace { get; }
- public bool Is64Bit { get; }
- public ulong ProgramId { get; }
- public byte Priority { get; }
- public int StackSize { get; }
- public byte IdealCoreId { get; }
- public int Version { get; }
- public string Name { get; }
+ public bool Is64Bit { get; }
+ public ulong ProgramId { get; }
+ public byte Priority { get; }
+ public int StackSize { get; }
+ public byte IdealCoreId { get; }
+ public int Version { get; }
+ public string Name { get; }
public KipExecutable(in SharedRef<IStorage> inStorage)
{
- KipReader reader = new KipReader();
+ KipReader reader = new();
reader.Initialize(in inStorage).ThrowIfFailure();
TextOffset = (uint)reader.Segments[0].MemoryOffset;
- RoOffset = (uint)reader.Segments[1].MemoryOffset;
+ RoOffset = (uint)reader.Segments[1].MemoryOffset;
DataOffset = (uint)reader.Segments[2].MemoryOffset;
- BssOffset = (uint)reader.Segments[3].MemoryOffset;
- BssSize = (uint)reader.Segments[3].Size;
+ BssOffset = (uint)reader.Segments[3].MemoryOffset;
+ BssSize = (uint)reader.Segments[3].Size;
StackSize = reader.StackSize;
- UsesSecureMemory = reader.UsesSecureMemory;
+ UsesSecureMemory = reader.UsesSecureMemory;
Is64BitAddressSpace = reader.Is64BitAddressSpace;
- Is64Bit = reader.Is64Bit;
+ Is64Bit = reader.Is64Bit;
- ProgramId = reader.ProgramId;
- Priority = reader.Priority;
+ ProgramId = reader.ProgramId;
+ Priority = reader.Priority;
IdealCoreId = reader.IdealCoreId;
- Version = reader.Version;
- Name = reader.Name.ToString();
+ Version = reader.Version;
+ Name = reader.Name.ToString();
Capabilities = new uint[32];
@@ -68,7 +68,7 @@ namespace Ryujinx.HLE.Loaders.Executables
Program = new byte[DataOffset + uncompressedSize];
TextSize = DecompressSection(reader, KipReader.SegmentType.Text, TextOffset, Program);
- RoSize = DecompressSection(reader, KipReader.SegmentType.Ro, RoOffset, Program);
+ RoSize = DecompressSection(reader, KipReader.SegmentType.Ro, RoOffset, Program);
DataSize = DecompressSection(reader, KipReader.SegmentType.Data, DataOffset, Program);
}
@@ -83,4 +83,4 @@ namespace Ryujinx.HLE.Loaders.Executables
return (uint)uncompressedSize;
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/Loaders/Executables/NroExecutable.cs b/src/Ryujinx.HLE/Loaders/Executables/NroExecutable.cs
index 621ab43b..6b5a8c83 100644
--- a/src/Ryujinx.HLE/Loaders/Executables/NroExecutable.cs
+++ b/src/Ryujinx.HLE/Loaders/Executables/NroExecutable.cs
@@ -8,31 +8,31 @@ namespace Ryujinx.HLE.Loaders.Executables
{
public byte[] Program { get; }
public Span<byte> Text => Program.AsSpan((int)TextOffset, (int)Header.NroSegments[0].Size);
- public Span<byte> Ro => Program.AsSpan((int)RoOffset, (int)Header.NroSegments[1].Size);
+ public Span<byte> Ro => Program.AsSpan((int)RoOffset, (int)Header.NroSegments[1].Size);
public Span<byte> Data => Program.AsSpan((int)DataOffset, (int)Header.NroSegments[2].Size);
public uint TextOffset => Header.NroSegments[0].FileOffset;
- public uint RoOffset => Header.NroSegments[1].FileOffset;
+ public uint RoOffset => Header.NroSegments[1].FileOffset;
public uint DataOffset => Header.NroSegments[2].FileOffset;
- public uint BssOffset => DataOffset + (uint)Data.Length;
- public uint BssSize => Header.BssSize;
+ public uint BssOffset => DataOffset + (uint)Data.Length;
+ public uint BssSize => Header.BssSize;
public uint Mod0Offset => (uint)Start.Mod0Offset;
- public uint FileSize => Header.Size;
+ public uint FileSize => Header.Size;
public ulong SourceAddress { get; private set; }
- public ulong BssAddress { get; private set; }
+ public ulong BssAddress { get; private set; }
public NroExecutable(IStorage inStorage, ulong sourceAddress = 0, ulong bssAddress = 0) : base(inStorage)
{
Program = new byte[FileSize];
SourceAddress = sourceAddress;
- BssAddress = bssAddress;
+ BssAddress = bssAddress;
OpenNroSegment(NroSegmentType.Text, false).Read(0, Text);
- OpenNroSegment(NroSegmentType.Ro , false).Read(0, Ro);
+ OpenNroSegment(NroSegmentType.Ro, false).Read(0, Ro);
OpenNroSegment(NroSegmentType.Data, false).Read(0, Data);
}
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.HLE/Loaders/Executables/NsoExecutable.cs b/src/Ryujinx.HLE/Loaders/Executables/NsoExecutable.cs
index d695449b..83ad5d7e 100644
--- a/src/Ryujinx.HLE/Loaders/Executables/NsoExecutable.cs
+++ b/src/Ryujinx.HLE/Loaders/Executables/NsoExecutable.cs
@@ -13,20 +13,20 @@ namespace Ryujinx.HLE.Loaders.Executables
{
public byte[] Program { get; }
public Span<byte> Text => Program.AsSpan((int)TextOffset, (int)TextSize);
- public Span<byte> Ro => Program.AsSpan((int)RoOffset, (int)RoSize);
+ public Span<byte> Ro => Program.AsSpan((int)RoOffset, (int)RoSize);
public Span<byte> Data => Program.AsSpan((int)DataOffset, (int)DataSize);
public uint TextOffset { get; }
- public uint RoOffset { get; }
+ public uint RoOffset { get; }
public uint DataOffset { get; }
public uint BssOffset => DataOffset + (uint)Data.Length;
public uint TextSize { get; }
- public uint RoSize { get; }
+ public uint RoSize { get; }
public uint DataSize { get; }
- public uint BssSize { get; }
+ public uint BssSize { get; }
- public string Name;
+ public string Name;
public Array32<byte> BuildId;
[GeneratedRegex(@"[a-z]:[\\/][ -~]{5,}\.nss", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)]
@@ -38,24 +38,24 @@ namespace Ryujinx.HLE.Loaders.Executables
public NsoExecutable(IStorage inStorage, string name = null)
{
- NsoReader reader = new NsoReader();
+ NsoReader reader = new();
reader.Initialize(inStorage.AsFile(OpenMode.Read)).ThrowIfFailure();
TextOffset = reader.Header.Segments[0].MemoryOffset;
- RoOffset = reader.Header.Segments[1].MemoryOffset;
+ RoOffset = reader.Header.Segments[1].MemoryOffset;
DataOffset = reader.Header.Segments[2].MemoryOffset;
- BssSize = reader.Header.BssSize;
+ BssSize = reader.Header.BssSize;
reader.GetSegmentSize(NsoReader.SegmentType.Data, out uint uncompressedSize).ThrowIfFailure();
Program = new byte[DataOffset + uncompressedSize];
TextSize = DecompressSection(reader, NsoReader.SegmentType.Text, TextOffset);
- RoSize = DecompressSection(reader, NsoReader.SegmentType.Ro, RoOffset);
+ RoSize = DecompressSection(reader, NsoReader.SegmentType.Ro, RoOffset);
DataSize = DecompressSection(reader, NsoReader.SegmentType.Data, DataOffset);
- Name = name;
+ Name = name;
BuildId = reader.Header.ModuleId;
PrintRoSectionInfo();
@@ -74,12 +74,12 @@ namespace Ryujinx.HLE.Loaders.Executables
private void PrintRoSectionInfo()
{
- string rawTextBuffer = Encoding.ASCII.GetString(Ro);
- StringBuilder stringBuilder = new StringBuilder();
+ string rawTextBuffer = Encoding.ASCII.GetString(Ro);
+ StringBuilder stringBuilder = new();
string modulePath = null;
- if (BitConverter.ToInt32(Ro.Slice(0, 4)) == 0)
+ if (BitConverter.ToInt32(Ro[..4]) == 0)
{
int length = BitConverter.ToInt32(Ro.Slice(4, 4));
if (length > 0)
@@ -108,7 +108,7 @@ namespace Ryujinx.HLE.Loaders.Executables
MatchCollection sdkMwMatches = SdkMwRegex().Matches(rawTextBuffer);
if (sdkMwMatches.Count != 0)
{
- string libHeader = " SDK Libraries: ";
+ string libHeader = " SDK Libraries: ";
string libContent = string.Join($"\n{new string(' ', libHeader.Length)}", sdkMwMatches);
stringBuilder.AppendLine($"{libHeader}{libContent}");
@@ -120,4 +120,4 @@ namespace Ryujinx.HLE.Loaders.Executables
}
}
}
-} \ No newline at end of file
+}