4 Commits
1.1.1 ... 1.1.2

Author SHA1 Message Date
Matt Nadareski
a6e38f6868 Bump version 2023-10-25 22:56:20 -04:00
Matt Nadareski
d900eeb2d2 Add IRD printer 2023-10-25 16:12:08 -04:00
Matt Nadareski
bd49efa14a Add XMID and XeMID printers 2023-10-25 16:05:26 -04:00
Matt Nadareski
93cd267b00 Update Models and Serialization 2023-10-25 15:51:24 -04:00
4 changed files with 105 additions and 3 deletions

49
IRD.cs Normal file
View File

@@ -0,0 +1,49 @@
using System.Text;
namespace SabreTools.Printing
{
public static class IRD
{
public static void Print(StringBuilder builder, Models.IRD.IRD ird)
{
builder.AppendLine("IRD Information:");
builder.AppendLine("-------------------------");
builder.AppendLine(ird.Magic, "Magic", Encoding.ASCII);
builder.AppendLine(ird.Version, "Version");
builder.AppendLine(ird.TitleID, "Title ID");
builder.AppendLine(ird.TitleLength, "Title length");
builder.AppendLine(ird.Title, "Title");
builder.AppendLine(ird.SystemVersion, "System version");
builder.AppendLine(ird.GameVersion, "Game version");
builder.AppendLine(ird.AppVersion, "App version");
builder.AppendLine(ird.HeaderLength, "Header length");
builder.AppendLine(ird.Header, "Header");
builder.AppendLine(ird.FooterLength, "Footer length");
builder.AppendLine(ird.Footer, "Footer");
builder.AppendLine(ird.RegionCount, "Region count");
if (ird.RegionCount != 0 && ird.RegionHashes != null && ird.RegionHashes.Length != 0)
{
for (int i = 0; i < ird.RegionCount; i++)
{
builder.AppendLine(ird.RegionHashes[i], $"Region {i} hash");
}
}
builder.AppendLine(ird.FileCount, "File count");
for (int i = 0; i < ird.FileCount; i++)
{
if (ird.FileKeys != null)
builder.AppendLine(ird.FileKeys[i], $"File {i} key");
if (ird.FileHashes != null)
builder.AppendLine(ird.FileHashes[i], $"File {i} hash");
}
builder.AppendLine(ird.ExtraConfig, "Extra config");
builder.AppendLine(ird.Attachments, "Attachments");
builder.AppendLine(ird.Data1Key, "Data 1 key");
builder.AppendLine(ird.Data2Key, "Data 2 key");
builder.AppendLine(ird.PIC, "PIC");
builder.AppendLine(ird.UID, "UID");
builder.AppendLine(ird.CRC, "CRC");
builder.AppendLine();
}
}
}

View File

@@ -4,7 +4,7 @@
<!-- Assembly Properties -->
<TargetFrameworks>net48;net6.0;net7.0;net8.0</TargetFrameworks>
<RuntimeIdentifiers>win-x86;win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<Version>1.1.1</Version>
<Version>1.1.2</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- Package Properties -->
@@ -30,8 +30,8 @@
<ItemGroup>
<PackageReference Include="SabreTools.ASN1" Version="1.1.0" />
<PackageReference Include="SabreTools.IO" Version="1.1.1" />
<PackageReference Include="SabreTools.Models" Version="1.1.4" />
<PackageReference Include="SabreTools.Serialization" Version="1.1.6" />
<PackageReference Include="SabreTools.Models" Version="1.1.5" />
<PackageReference Include="SabreTools.Serialization" Version="1.1.7" />
</ItemGroup>
</Project>

23
XMID.cs Normal file
View File

@@ -0,0 +1,23 @@
using System.Text;
using static SabreTools.Models.Xbox.Constants;
namespace SabreTools.Printing
{
public static class XMID
{
public static void Print(StringBuilder builder, Models.Xbox.XMID xmid)
{
builder.AppendLine("Xbox Media Identifier Information:");
builder.AppendLine("-------------------------");
builder.AppendLine(xmid.PublisherIdentifier, "Publisher identifier");
if (!string.IsNullOrWhiteSpace(xmid.PublisherIdentifier) && Publishers.ContainsKey(xmid.PublisherIdentifier))
builder.AppendLine(Publishers[xmid.PublisherIdentifier], "Publisher");
builder.AppendLine(xmid.GameID, "Game ID");
builder.AppendLine(xmid.VersionNumber, "Version number");
builder.AppendLine(xmid.RegionIdentifier, "Region identifier");
if (Regions.ContainsKey(xmid.RegionIdentifier))
builder.AppendLine(Regions[xmid.RegionIdentifier], "Region");
builder.AppendLine();
}
}
}

30
XeMID.cs Normal file
View File

@@ -0,0 +1,30 @@
using System.Text;
using static SabreTools.Models.Xbox.Constants;
namespace SabreTools.Printing
{
public static class XeMID
{
public static void Print(StringBuilder builder, Models.Xbox.XeMID xemid)
{
builder.AppendLine("Xbox Media Identifier Information:");
builder.AppendLine("-------------------------");
builder.AppendLine(xemid.PublisherIdentifier, "Publisher identifier");
if (!string.IsNullOrWhiteSpace(xemid.PublisherIdentifier) && Publishers.ContainsKey(xemid.PublisherIdentifier))
builder.AppendLine(Publishers[xemid.PublisherIdentifier], "Publisher");
builder.AppendLine(xemid.PlatformIdentifier, "Platform identifier");
builder.AppendLine(xemid.GameID, "Game ID");
builder.AppendLine(xemid.SKU, "SKU");
builder.AppendLine(xemid.RegionIdentifier, "Region identifier");
if (Regions.ContainsKey(xemid.RegionIdentifier))
builder.AppendLine(Regions[xemid.RegionIdentifier], "Region");
builder.AppendLine(xemid.BaseVersion, "Base version");
builder.AppendLine(xemid.MediaSubtypeIdentifier, "Media subtype identifier");
if (MediaSubtypes.ContainsKey(xemid.MediaSubtypeIdentifier))
builder.AppendLine(MediaSubtypes[xemid.MediaSubtypeIdentifier], "Media subtype");
builder.AppendLine(xemid.DiscNumberIdentifier, "Disc number identifier");
builder.AppendLine(xemid.CertificationSubmissionIdentifier, "Certification submission identifier");
builder.AppendLine();
}
}
}