namespace SabreTools.Data.Models.Xbox
{
///
/// Contains information specific to an XGD disc
///
///
/// XGD2/3 XeMID Format Information:
///
/// AABCCCDDEFFGHH(IIIIIIII)
/// - AA => The two-ASCII-character publisher identifier (see Constants.Publishers for details)
/// - B => Platform identifier; 2 indicates Xbox 360.
/// - CCC => Game ID
/// - DD => SKU number (unique per SKU of a title)
/// - E => Region identifier (see Constants.Regions for details)
/// - FF => Base version; usually starts at 01 (can be 1 or 2 characters)
/// - G => Media type identifier (see Constants.MediaSubtypes for details)
/// - HH => Disc number stored in [disc number][total discs] format
/// - IIIIIIII => 8-hex-digit certification submission identifier; usually on test discs only
///
public class XeMID
{
///
/// 2-character publisher identifier
///
public string PublisherIdentifier { get; set; } = string.Empty;
///
/// 1-character Platform disc is made for, 2 indicates Xbox 360
///
public char PlatformIdentifier { get; set; }
///
/// 3-character Game ID
///
public string GameID { get; set; } = string.Empty;
///
/// 2-character Title-specific SKU
///
public string SKU { get; set; } = string.Empty;
///
/// 1-character Region identifier character
///
public char RegionIdentifier { get; set; }
///
/// 2-character Base version of executables, usually starts at 01
///
public string BaseVersion { get; set; } = string.Empty;
///
/// 1-character Media subtype identifier
///
public char MediaSubtypeIdentifier { get; set; }
///
/// 2-character Disc number stored in [disc number][total discs] format
///
public string DiscNumberIdentifier { get; set; } = string.Empty;
///
/// 8-hex-digit certification submission identifier; usually on test discs only
///
public string CertificationSubmissionIdentifier { get; set; } = string.Empty;
}
}