mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 06:45:11 +00:00
First round of cleanup for DolphinLib additions
This commit is contained in:
@@ -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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 >> 2</c>.)
|
||||
/// (On disk this value is stored as offset >> 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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 >> 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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 (1–9)
|
||||
/// 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>
|
||||
|
||||
Reference in New Issue
Block a user