First round of cleanup for DolphinLib additions

This commit is contained in:
Matt Nadareski
2026-05-12 20:33:53 -04:00
parent 49aa6895b6
commit 2a0e8e2eb0
53 changed files with 3861 additions and 2586 deletions

View File

@@ -6,16 +6,28 @@ namespace SabreTools.Data.Models.WIA
/// </summary>
public sealed class PartitionDataEntry
{
/// <summary>Zero-based index of the first sector covered by this range</summary>
/// <summary>
/// Zero-based index of the first sector covered by this range
/// </summary>
/// <remarks>Big-endian</remarks>
public uint FirstSector { get; set; }
/// <summary>Number of sectors covered by this range</summary>
/// <summary>
/// Number of sectors covered by this range
/// </summary>
/// <remarks>Big-endian</remarks>
public uint NumberOfSectors { get; set; }
/// <summary>Index into the group-entry array of the first group for this range</summary>
/// <summary>
/// Index into the group-entry array of the first group for this range
/// </summary>
/// <remarks>Big-endian</remarks>
public uint GroupIndex { get; set; }
/// <summary>Number of groups covering this range</summary>
/// <summary>
/// Number of groups covering this range
/// </summary>
/// <remarks>Big-endian</remarks>
public uint NumberOfGroups { get; set; }
}
}

View File

@@ -12,10 +12,14 @@ namespace SabreTools.Data.Models.WIA
/// <remarks>16 bytes</remarks>
public byte[] PartitionKey { get; set; } = new byte[16];
/// <summary>First sector range for this partition (typically encrypted data)</summary>
/// <summary>
/// First sector range for this partition (typically encrypted data)
/// </summary>
public PartitionDataEntry DataEntry0 { get; set; } = new();
/// <summary>Second sector range for this partition (typically decrypted/raw data)</summary>
/// <summary>
/// Second sector range for this partition (typically decrypted/raw data)
/// </summary>
public PartitionDataEntry DataEntry1 { get; set; } = new();
}
}

View File

@@ -6,16 +6,28 @@ namespace SabreTools.Data.Models.WIA
/// </summary>
public sealed class RawDataEntry
{
/// <summary>Byte offset of this region within the equivalent ISO image</summary>
/// <summary>
/// Byte offset of this region within the equivalent ISO image
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong DataOffset { get; set; }
/// <summary>Size of this region in bytes</summary>
/// <summary>
/// Size of this region in bytes
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong DataSize { get; set; }
/// <summary>Index into the group-entry array of the first group for this region</summary>
/// <summary>
/// Index into the group-entry array of the first group for this region
/// </summary>
/// <remarks>Big-endian</remarks>
public uint GroupIndex { get; set; }
/// <summary>Number of groups covering this region</summary>
/// <summary>
/// Number of groups covering this region
/// </summary>
/// <remarks>Big-endian</remarks>
public uint NumberOfGroups { get; set; }
}
}

View File

@@ -8,19 +8,22 @@ namespace SabreTools.Data.Models.WIA
{
/// <summary>
/// Actual byte offset of this group's data within the RVZ file.
/// (On disk this value is stored as <c>offset &gt;&gt; 2</c>.)
/// (On disk this value is stored as offset &gt;&gt; 2.)
/// </summary>
public ulong DataOffset { get; set; }
/// <remarks>Big-endian</remarks>
public uint DataOffset { get; set; }
/// <summary>
/// Total size of this group's data (compressed + any RVZ-pack section) in bytes
/// </summary>
/// <remarks>Big-endian</remarks>
public uint DataSize { get; set; }
/// <summary>
/// Size of the RVZ-packed (junk-stripped) portion within this group's data.
/// 0 means no RVZ packing was applied.
/// </summary>
/// <remarks>Big-endian</remarks>
public uint RvzPackedSize { get; set; }
}
}

View File

@@ -8,13 +8,14 @@ namespace SabreTools.Data.Models.WIA
{
/// <summary>
/// Actual byte offset of this group's data within the WIA file.
/// (On disk this value is stored as <c>offset &gt;&gt; 2</c>.)
/// </summary>
public ulong DataOffset { get; set; }
/// <remarks>Big-endian, requires left bit shift of 2 to get the real value</remarks>
public uint DataOffset { get; set; }
/// <summary>
/// Compressed size of this group's data in bytes (0 means group contains only zeroes)
/// </summary>
/// <remarks>Big-endian</remarks>
public uint DataSize { get; set; }
}
}

View File

@@ -15,16 +15,19 @@ namespace SabreTools.Data.Models.WIA
/// <summary>
/// Format version (e.g. 0x01000000)
/// </summary>
/// <remarks>Big-endian</remarks>
public uint Version { get; set; }
/// <summary>
/// Minimum version required to read this file
/// </summary>
/// <remarks>Big-endian</remarks>
public uint VersionCompatible { get; set; }
/// <summary>
/// Size of WiaHeader2 in bytes
/// </summary>
/// <remarks>Big-endian</remarks>
public uint Header2Size { get; set; }
/// <summary>
@@ -36,11 +39,13 @@ namespace SabreTools.Data.Models.WIA
/// <summary>
/// Total size of the equivalent uncompressed ISO image in bytes
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong IsoFileSize { get; set; }
/// <summary>
/// Total size of this WIA / RVZ file in bytes
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong WiaFileSize { get; set; }
/// <summary>

View File

@@ -10,22 +10,26 @@ namespace SabreTools.Data.Models.WIA
/// <summary>
/// Disc type: 1 = GameCube, 2 = Wii
/// </summary>
/// <remarks>Big-endian</remarks>
public WiaDiscType DiscType { get; set; }
/// <summary>
/// Compression algorithm applied to group data
/// </summary>
/// <remarks>Big-endian</remarks>
public WiaRvzCompressionType CompressionType { get; set; }
/// <summary>
/// Informational compression level used when writing (19)
/// Informational compression level used when writing (1-9)
/// </summary>
/// <remarks>Big-endian</remarks>
public int CompressionLevel { get; set; }
/// <summary>
/// Group / chunk size in bytes.
/// WIA requires exactly 2 MiB; RVZ accepts powers of 2 between 32 KiB and 2 MiB.
/// </summary>
/// <remarks>Big-endian</remarks>
public uint ChunkSize { get; set; }
/// <summary>
@@ -37,16 +41,19 @@ namespace SabreTools.Data.Models.WIA
/// <summary>
/// Number of PartitionEntry structures that follow the raw-data entries
/// </summary>
/// <remarks>Big-endian</remarks>
public uint NumberOfPartitionEntries { get; set; }
/// <summary>
/// Size of each PartitionEntry in bytes
/// </summary>
/// <remarks>Big-endian</remarks>
public uint PartitionEntrySize { get; set; }
/// <summary>
/// File offset of the PartitionEntry array
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong PartitionEntriesOffset { get; set; }
/// <summary>
@@ -58,31 +65,37 @@ namespace SabreTools.Data.Models.WIA
/// <summary>
/// Number of RawDataEntry structures
/// </summary>
/// <remarks>Big-endian</remarks>
public uint NumberOfRawDataEntries { get; set; }
/// <summary>
/// File offset of the RawDataEntry array
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong RawDataEntriesOffset { get; set; }
/// <summary>
/// Total size in bytes of all RawDataEntry structures
/// </summary>
/// <remarks>Big-endian</remarks>
public uint RawDataEntriesSize { get; set; }
/// <summary>
/// Number of group entries (WiaGroupEntry or RvzGroupEntry)
/// </summary>
/// <remarks>Big-endian</remarks>
public uint NumberOfGroupEntries { get; set; }
/// <summary>
/// File offset of the group-entry array
/// </summary>
/// <remarks>Big-endian</remarks>
public ulong GroupEntriesOffset { get; set; }
/// <summary>
/// Total size in bytes of all group entries
/// </summary>
/// <remarks>Big-endian</remarks>
public uint GroupEntriesSize { get; set; }
/// <summary>