using System.Collections.Generic; using System.Linq; using SabreTools.RedumpLib.Data; namespace MPF.Core.Data { /// /// Constant values for UI /// public static class Interface { // Button values public const string StartDumping = "Start Dumping"; public const string StopDumping = "Stop Dumping"; // Byte arrays for signatures public static readonly byte[] SaturnSectorZeroStart = new byte[] { 0x53, 0x45, 0x47, 0x41, 0x20, 0x53, 0x45, 0x47, 0x41, 0x53, 0x41, 0x54, 0x55, 0x52, 0x4E, 0x20 }; // Private lists of known drive speed ranges private static IReadOnlyList CD { get; } = new List { 1, 2, 3, 4, 6, 8, 12, 16, 20, 24, 32, 40, 44, 48, 52, 56, 72 }; private static IReadOnlyList DVD { get; } = CD.Where(s => s <= 24).ToList(); private static IReadOnlyList HDDVD { get; } = CD.Where(s => s <= 24).ToList(); private static IReadOnlyList BD { get; } = CD.Where(s => s <= 16).ToList(); private static IReadOnlyList Unknown { get; } = new List { 1 }; /// /// Get list of all drive speeds for a given MediaType /// /// MediaType? that represents the current item /// Read-only list of drive speeds public static IReadOnlyList GetSpeedsForMediaType(MediaType? type) { switch (type) { case MediaType.CDROM: case MediaType.GDROM: return CD; case MediaType.DVD: case MediaType.NintendoGameCubeGameDisc: case MediaType.NintendoWiiOpticalDisc: return DVD; case MediaType.HDDVD: return HDDVD; case MediaType.BluRay: return BD; default: return Unknown; } } } /// /// Template field values for submission info /// public static class Template { // Manual information public const string TitleField = "Title"; public const string ForeignTitleField = "Foreign Title (Non-latin)"; public const string DiscNumberField = "Disc Number / Letter"; public const string DiscTitleField = "Disc Title"; public const string SystemField = "System"; public const string MediaTypeField = "Media Type"; public const string CategoryField = "Category"; public const string RegionField = "Region"; public const string LanguagesField = "Languages"; public const string PlaystationLanguageSelectionViaField = "Language Selection Via"; public const string DiscSerialField = "Disc Serial"; public const string BarcodeField = "Barcode"; public const string CommentsField = "Comments"; public const string ContentsField = "Contents"; public const string VersionField = "Version"; public const string EditionField = "Edition/Release"; public const string PlayStation3WiiDiscKeyField = "Disc Key"; public const string PlayStation3DiscIDField = "Disc ID"; public const string GameCubeWiiBCAField = "BCA"; public const string CopyProtectionField = "Copy Protection"; public const string MasteringRingField = "Mastering Code (laser branded/etched)"; public const string MasteringSIDField = "Mastering SID Code"; public const string MouldSIDField = "Mould SID Code"; public const string AdditionalMouldField = "Additional Mould"; public const string ToolstampField = "Toolstamp or Mastering Code (engraved/stamped)"; // Automatic Information public const string DumpingProgramField = "Dumping Program"; public const string DumpingDateField = "Date"; public const string DumpingDriveManufacturer = "Manufacturer"; public const string DumpingDriveModel = "Model"; public const string DumpingDriveFirmware = "Firmware"; public const string ReportedDiscType = "Reported Disc Type"; public const string PVDField = "Primary Volume Descriptor (PVD)"; public const string DATField = "DAT"; public const string SizeField = "Size"; public const string CRC32Field = "CRC32"; public const string MD5Field = "MD5"; public const string SHA1Field = "SHA1"; public const string FullyMatchingIDField = "Fully Matching ID"; public const string PartiallyMatchingIDsField = "Partially Matching IDs"; public const string ErrorCountField = "Error Count"; public const string CuesheetField = "Cuesheet"; public const string SubIntentionField = "SubIntention Data (SecuROM/LibCrypt)"; public const string WriteOffsetField = "Write Offset"; public const string LayerbreakField = "Layerbreak"; public const string EXEDateBuildDate = "EXE/Build Date"; public const string HeaderField = "Header"; public const string PICField = "Permanent Information & Control (PIC)"; public const string PlayStationEDCField = "EDC"; public const string PlayStationAntiModchipField = "Anti-modchip"; public const string PlayStationLibCryptField = "LibCrypt"; public const string XBOXSSRanges = "Security Sector Ranges"; // Default values public const string RequiredValue = "(REQUIRED)"; public const string RequiredIfExistsValue = "(REQUIRED, IF EXISTS)"; public const string OptionalValue = "(OPTIONAL)"; public const string DiscNotDetected = "Disc Not Detected"; } }