mirror of
https://github.com/SabreTools/SabreTools.RedumpLib.git
synced 2026-07-09 02:26:38 +00:00
Centralize the system type similar to the last two
This commit is contained in:
@@ -144,7 +144,7 @@ namespace RedumpTool.Features
|
||||
string? statusString = StatusInput.Value;
|
||||
DumpStatus? status = statusString.ToDumpStatus();
|
||||
string? systemString = SystemInput.Value;
|
||||
RedumpSystem? system = systemString.ToRedumpSystem();
|
||||
PhysicalSystem? system = systemString.ToPhysicalSystem();
|
||||
int? tracks = TracksInput.Value;
|
||||
|
||||
// Get the downloads path values
|
||||
|
||||
@@ -143,7 +143,7 @@ namespace RedumpTool.Features
|
||||
string? statusString = StatusInput.Value;
|
||||
DumpStatus? status = statusString.ToDumpStatus();
|
||||
string? systemString = SystemInput.Value;
|
||||
RedumpSystem? system = systemString.ToRedumpSystem();
|
||||
PhysicalSystem? system = systemString.ToPhysicalSystem();
|
||||
int? tracks = TracksInput.Value;
|
||||
|
||||
// Get specific values
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
using SabreTools.RedumpLib.RedumpInfo;
|
||||
using SabreTools.RedumpLib.RedumpInfo.Data;
|
||||
using Xunit;
|
||||
@@ -89,20 +90,20 @@ namespace SabreTools.RedumpLib.Test.RedumpInfo
|
||||
[InlineData(PackType.Sbis, "https://redump.info/sbi/ARCH/")]
|
||||
public void BuildPackUrl_ValidPackType_ValidSystem_Builds(PackType packType, string expected)
|
||||
{
|
||||
string actual = UrlBuilder.BuildPackUrl(packType, RedumpSystem.AcornArchimedes);
|
||||
string actual = UrlBuilder.BuildPackUrl(packType, PhysicalSystem.AcornArchimedes);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildPackUrl_InvalidPackType_Throws()
|
||||
{
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => UrlBuilder.BuildPackUrl((PackType)int.MaxValue, RedumpSystem.AcornArchimedes));
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => UrlBuilder.BuildPackUrl((PackType)int.MaxValue, PhysicalSystem.AcornArchimedes));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildPackUrl_InvalidSystem_Builds()
|
||||
{
|
||||
string actual = UrlBuilder.BuildPackUrl(PackType.Datfile, RedumpSystem.MarkerOtherEnd);
|
||||
string actual = UrlBuilder.BuildPackUrl(PackType.Datfile, PhysicalSystem.MarkerOtherEnd);
|
||||
Assert.Equal("https://redump.info/datfile//", actual);
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -92,7 +92,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
|
||||
var builder = new StringBuilder();
|
||||
EDCSection? section = null;
|
||||
RedumpSystem? system = RedumpSystem.SonyPlayStation;
|
||||
PhysicalSystem? system = PhysicalSystem.SonyPlayStation;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
@@ -107,7 +107,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
|
||||
var builder = new StringBuilder();
|
||||
EDCSection? section = null;
|
||||
RedumpSystem? system = RedumpSystem.IBMPCcompatible;
|
||||
PhysicalSystem? system = PhysicalSystem.IBMPCcompatible;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
@@ -122,7 +122,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
|
||||
var builder = new StringBuilder();
|
||||
EDCSection? section = new() { EDC = YesNo.Yes };
|
||||
RedumpSystem? system = RedumpSystem.SonyPlayStation;
|
||||
PhysicalSystem? system = PhysicalSystem.SonyPlayStation;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
@@ -202,7 +202,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
|
||||
var builder = new StringBuilder();
|
||||
CopyProtectionSection? section = null;
|
||||
RedumpSystem? system = RedumpSystem.IBMPCcompatible;
|
||||
PhysicalSystem? system = PhysicalSystem.IBMPCcompatible;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
@@ -224,7 +224,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
LibCryptData = null,
|
||||
SecuROMData = null,
|
||||
};
|
||||
RedumpSystem? system = RedumpSystem.IBMPCcompatible;
|
||||
PhysicalSystem? system = PhysicalSystem.IBMPCcompatible;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
Protection = "XXXXXX",
|
||||
SecuROMData = "XXXXXX",
|
||||
};
|
||||
RedumpSystem? system = RedumpSystem.IBMPCcompatible;
|
||||
PhysicalSystem? system = PhysicalSystem.IBMPCcompatible;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
@@ -268,7 +268,7 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
Protection = "XXXXXX",
|
||||
SecuROMData = "XXXXXX",
|
||||
};
|
||||
RedumpSystem? system = RedumpSystem.SonyPlayStation;
|
||||
PhysicalSystem? system = PhysicalSystem.SonyPlayStation;
|
||||
|
||||
Formatter.FormatOutputData(builder, section, system);
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
using SabreTools.RedumpLib.RedumpOrg;
|
||||
using SabreTools.RedumpLib.RedumpOrg.Data;
|
||||
using Xunit;
|
||||
@@ -118,21 +119,21 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
[InlineData(null, "http://redump.org/list/user/arch/")]
|
||||
public void BuildListUrl_HaveMissSet(bool? have, string expected)
|
||||
{
|
||||
string actual = UrlBuilder.BuildListUrl("user", have, system: RedumpSystem.AcornArchimedes);
|
||||
string actual = UrlBuilder.BuildListUrl("user", have, system: PhysicalSystem.AcornArchimedes);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildListUrl_InvalidUsername_Builds()
|
||||
{
|
||||
string actual = UrlBuilder.BuildListUrl(string.Empty, have: true, system: RedumpSystem.AcornArchimedes);
|
||||
string actual = UrlBuilder.BuildListUrl(string.Empty, have: true, system: PhysicalSystem.AcornArchimedes);
|
||||
Assert.Equal("http://redump.org/list/have//arch/", actual);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(RedumpSystem.MarkerOtherEnd)]
|
||||
[InlineData(RedumpSystem.RainbowDisc)]
|
||||
public void BuildListUrl_InvalidSystem_Builds(RedumpSystem? system)
|
||||
[InlineData(PhysicalSystem.MarkerOtherEnd)]
|
||||
[InlineData(PhysicalSystem.RainbowDisc)]
|
||||
public void BuildListUrl_InvalidSystem_Builds(PhysicalSystem? system)
|
||||
{
|
||||
string actual = UrlBuilder.BuildListUrl("user", have: true, system: system);
|
||||
Assert.Equal("http://redump.org/list/have/user/", actual);
|
||||
@@ -176,20 +177,20 @@ namespace SabreTools.RedumpLib.Test.RedumpOrg
|
||||
[InlineData(PackType.Sbis, "http://redump.org/sbi/arch/")]
|
||||
public void BuildPackUrl_ValidPackType_ValidSystem_Builds(PackType packType, string expected)
|
||||
{
|
||||
string actual = UrlBuilder.BuildPackUrl(packType, RedumpSystem.AcornArchimedes);
|
||||
string actual = UrlBuilder.BuildPackUrl(packType, PhysicalSystem.AcornArchimedes);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildPackUrl_InvalidPackType_Throws()
|
||||
{
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => UrlBuilder.BuildPackUrl((PackType)int.MaxValue, RedumpSystem.AcornArchimedes));
|
||||
Assert.Throws<ArgumentOutOfRangeException>(() => UrlBuilder.BuildPackUrl((PackType)int.MaxValue, PhysicalSystem.AcornArchimedes));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildPackUrl_InvalidSystem_Builds()
|
||||
{
|
||||
string actual = UrlBuilder.BuildPackUrl(PackType.Datfile, RedumpSystem.MarkerOtherEnd);
|
||||
string actual = UrlBuilder.BuildPackUrl(PackType.Datfile, PhysicalSystem.MarkerOtherEnd);
|
||||
Assert.Equal("http://redump.org/datfile//", actual);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace SabreTools.RedumpLib.Test
|
||||
|
||||
CommonDiscInfo = new CommonDiscInfoSection()
|
||||
{
|
||||
System = RedumpSystem.IBMPCcompatible,
|
||||
System = PhysicalSystem.IBMPCcompatible,
|
||||
Media = DiscType.CD,
|
||||
Title = "Game Title",
|
||||
ForeignTitleNonLatin = "Foreign Game Title",
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
using SabreTools.RedumpLib.Attributes;
|
||||
using SabreTools.RedumpLib.RedumpOrg.Data;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
|
||||
namespace SabreTools.RedumpLib.RedumpOrg
|
||||
namespace SabreTools.RedumpLib.Attributes
|
||||
{
|
||||
/// <summary>
|
||||
/// Attribute specifc to Redump System values
|
||||
/// </summary>
|
||||
public class SystemAttribute : HumanReadableAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// redump.org short code
|
||||
/// </summary>
|
||||
public string? RedumpOrgCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Category for the system
|
||||
/// </summary>
|
||||
@@ -31,11 +35,13 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <summary>
|
||||
/// System has a decrypted keys pack
|
||||
/// </summary>
|
||||
/// <remarks>redump.org only</remarks>
|
||||
public bool HasDkeys { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// System has a GDI pack
|
||||
/// </summary>
|
||||
/// <remarks>redump.org only</remarks>
|
||||
public bool HasGdi { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
@@ -46,6 +52,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <summary>
|
||||
/// System has an LSD pack
|
||||
/// </summary>
|
||||
/// <remarks>redump.org only</remarks>
|
||||
public bool HasLsd { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
@@ -180,15 +180,15 @@ namespace SabreTools.RedumpLib
|
||||
}
|
||||
else if (string.Equals(gameInfoNodeHeader.InnerText, "System", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
info.CommonDiscInfo.System = RedumpOrg.Data.Extensions.ToRedumpSystem(gameInfoNodeData["a"]?.InnerText ?? string.Empty);
|
||||
info.CommonDiscInfo.System = (gameInfoNodeData["a"]?.InnerText ?? string.Empty).ToPhysicalSystem();
|
||||
}
|
||||
else if (string.Equals(gameInfoNodeHeader.InnerText, "Media", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
info.CommonDiscInfo.Media = RedumpOrg.Data.Extensions.ToDiscType(gameInfoNodeData.InnerText);
|
||||
info.CommonDiscInfo.Media = gameInfoNodeData.InnerText.ToDiscType();
|
||||
}
|
||||
else if (string.Equals(gameInfoNodeHeader.InnerText, "Category", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
info.CommonDiscInfo.Category = RedumpOrg.Data.Extensions.ToDiscCategory(gameInfoNodeData.InnerText);
|
||||
info.CommonDiscInfo.Category = gameInfoNodeData.InnerText.ToDiscCategory();
|
||||
}
|
||||
else if (string.Equals(gameInfoNodeHeader.InnerText, "Region", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -14,8 +14,8 @@ namespace SabreTools.RedumpLib.Data.Sections
|
||||
{
|
||||
// Name not defined by Redump
|
||||
[JsonProperty(PropertyName = "d_system", DefaultValueHandling = DefaultValueHandling.Include)]
|
||||
[JsonConverter(typeof(SystemConverter))]
|
||||
public RedumpSystem? System { get; set; }
|
||||
[JsonConverter(typeof(PhysicalSystemConverter))]
|
||||
public PhysicalSystem? System { get; set; }
|
||||
|
||||
// Name not defined by Redump
|
||||
[JsonProperty(PropertyName = "d_media", DefaultValueHandling = DefaultValueHandling.Include)]
|
||||
|
||||
@@ -417,7 +417,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
RedumpOrg.Data.SortCategory? sort = null,
|
||||
RedumpOrg.Data.SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? page = null)
|
||||
{
|
||||
// Normalize the search query, if needed
|
||||
@@ -512,7 +512,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
RedumpOrg.Data.SortCategory? sort = null,
|
||||
RedumpOrg.Data.SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? page = null,
|
||||
DiscSubpath[]? discSubpaths = null)
|
||||
{
|
||||
@@ -679,7 +679,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="system">System to download packs for</param>
|
||||
/// <returns>Byte array containing the downloaded pack, null on error</returns>
|
||||
public async Task<byte[]?> DownloadSinglePack(PackType packType, RedumpSystem? system)
|
||||
public async Task<byte[]?> DownloadSinglePack(PackType packType, PhysicalSystem? system)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -731,7 +731,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="system">System to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, RedumpSystem? system, string? outDir)
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, PhysicalSystem? system, string? outDir)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -799,7 +799,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="system">System to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="subfolder">Named subfolder for the pack, used optionally</param>
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, RedumpSystem? system, string? outDir, string? subfolder)
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, PhysicalSystem? system, string? outDir, string? subfolder)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -1218,7 +1218,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// </summary>
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="system">Systems to download packs for</param>
|
||||
public async Task<Dictionary<RedumpSystem, byte[]>> DownloadPacks(PackType packType, RedumpSystem[] systems)
|
||||
public async Task<Dictionary<PhysicalSystem, byte[]>> DownloadPacks(PackType packType, PhysicalSystem[] systems)
|
||||
{
|
||||
// Determine if the pack type is valid
|
||||
if (!Enum.IsDefined(typeof(PackType), packType))
|
||||
@@ -1227,7 +1227,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
return [];
|
||||
}
|
||||
|
||||
var packsDictionary = new Dictionary<RedumpSystem, byte[]>();
|
||||
var packsDictionary = new Dictionary<PhysicalSystem, byte[]>();
|
||||
foreach (var system in systems)
|
||||
{
|
||||
string longName = system.LongName() ?? $"UNKNOWN_{system}";
|
||||
@@ -1257,7 +1257,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="systems">Systems to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
public async Task<bool> DownloadPacks(PackType packType, RedumpSystem[] systems, string? outDir)
|
||||
public async Task<bool> DownloadPacks(PackType packType, PhysicalSystem[] systems, string? outDir)
|
||||
{
|
||||
// Determine if the pack type is valid
|
||||
if (!Enum.IsDefined(typeof(PackType), packType))
|
||||
@@ -1293,7 +1293,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="systems">Systems to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="subfolder">Named subfolder for the pack, used optionally</param>
|
||||
public async Task<bool> DownloadPacks(PackType packType, RedumpSystem[] systems, string? outDir, string? subfolder)
|
||||
public async Task<bool> DownloadPacks(PackType packType, PhysicalSystem[] systems, string? outDir, string? subfolder)
|
||||
{
|
||||
// Determine if the pack type is valid
|
||||
if (!Enum.IsDefined(typeof(PackType), packType))
|
||||
@@ -1410,7 +1410,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="packType">Pack type to use to determine the support status</param>
|
||||
/// <param name="system">Systems to determine pack availability for</param>
|
||||
/// <returns>True if the pack is available for a system, false otherwise</returns>
|
||||
private static bool PackTypeToAvailable(PackType packType, RedumpSystem system)
|
||||
private static bool PackTypeToAvailable(PackType packType, PhysicalSystem system)
|
||||
{
|
||||
return packType switch
|
||||
{
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
using SabreTools.RedumpLib.RedumpInfo.Data;
|
||||
|
||||
namespace SabreTools.RedumpLib.RedumpInfo.Converters
|
||||
{
|
||||
/// <summary>
|
||||
/// Serialize RedumpSystem enum values
|
||||
/// Serialize PhysicalSystem enum values
|
||||
/// </summary>
|
||||
public class SystemConverter : JsonConverter<RedumpSystem?>
|
||||
public class PhysicalSystemConverter : JsonConverter<PhysicalSystem?>
|
||||
{
|
||||
public override bool CanRead { get { return true; } }
|
||||
|
||||
public override RedumpSystem? ReadJson(JsonReader reader, Type objectType, RedumpSystem? existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
public override PhysicalSystem? ReadJson(JsonReader reader, Type objectType, PhysicalSystem? existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
{
|
||||
// If we have a value already, don't overwrite it
|
||||
if (hasExistingValue)
|
||||
@@ -23,10 +24,10 @@ namespace SabreTools.RedumpLib.RedumpInfo.Converters
|
||||
return null;
|
||||
|
||||
// Try to parse the value
|
||||
return value.ToRedumpSystem();
|
||||
return value.ToPhysicalSystem();
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, RedumpSystem? value, JsonSerializer serializer)
|
||||
public override void WriteJson(JsonWriter writer, PhysicalSystem? value, JsonSerializer serializer)
|
||||
{
|
||||
JToken t = JToken.FromObject(value.ShortName() ?? string.Empty);
|
||||
t.WriteTo(writer);
|
||||
@@ -157,628 +157,4 @@ namespace SabreTools.RedumpLib.RedumpInfo.Data
|
||||
[HumanReadable(LongName = "SBI", ShortName = "sbi")]
|
||||
Sbis,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List of all known systems
|
||||
/// </summary>
|
||||
/// TODO: Remove marker items
|
||||
/// TODO: Double check all flags once the site is live
|
||||
/// TODO: Add MAXTEST as a debug-only system
|
||||
/// TODO: Does "Banned" now only mean that things like keys can't be downloaded?
|
||||
public enum RedumpSystem
|
||||
{
|
||||
// TODO: Somehow indicate that these are static paths
|
||||
#region BIOS Sets
|
||||
|
||||
[System(LongName = "Microsoft Xbox (BIOS)", ShortName = "xbox-bios", HasDat = true)]
|
||||
MicrosoftXboxBIOS,
|
||||
|
||||
[System(LongName = "Nintendo GameCube (BIOS)", ShortName = "gc-bios", HasDat = true)]
|
||||
NintendoGameCubeBIOS,
|
||||
|
||||
[System(LongName = "Sony PlayStation (BIOS)", ShortName = "psx-bios", HasDat = true)]
|
||||
SonyPlayStationBIOS,
|
||||
|
||||
[System(LongName = "Sony PlayStation 2 (BIOS)", ShortName = "ps2-bios", HasDat = true)]
|
||||
SonyPlayStation2BIOS,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Disc-Based Consoles
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Atari Jaguar CD Interactive Multimedia System", ShortName = "AJCD", HasCues = true, HasDat = true)]
|
||||
AtariJaguarCDInteractiveMultimediaSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Bandai Pippin", ShortName = "PIPPIN", HasCues = true, HasDat = true)]
|
||||
BandaiPippin,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Bandai Playdia Quick Interactive System", ShortName = "QIS", HasCues = true, HasDat = true)]
|
||||
BandaiPlaydiaQuickInteractiveSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Commodore Amiga CD32", ShortName = "CD32", HasCues = true, HasDat = true)]
|
||||
CommodoreAmigaCD32,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Commodore Amiga CDTV", ShortName = "CDTV", HasCues = true, HasDat = true)]
|
||||
CommodoreAmigaCDTV,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Envizions EVO Smart Console")]
|
||||
EnvizionsEVOSmartConsole,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Fujitsu FM Towns Marty")]
|
||||
FujitsuFMTownsMarty,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Hasbro iON Educational Gaming System")]
|
||||
HasbroiONEducationalGamingSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow", ShortName = "HVN", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNow,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow Color", ShortName = "HVNC", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNowColor,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow Jr.", ShortName = "HVNJR", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNowJr,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow XP", ShortName = "HVNXP", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNowXP,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Mattel Fisher-Price iXL", ShortName = "IXL", HasCues = true, HasDat = true)]
|
||||
MattelFisherPriceiXL,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Mattel HyperScan", ShortName = "HS", HasCues = true, HasDat = true)]
|
||||
MattelHyperScan,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Memorex Visual Information System", ShortName = "VIS", HasCues = true, HasDat = true)]
|
||||
MemorexVisualInformationSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox", ShortName = "XBOX", HasCues = true, HasDat = true)]
|
||||
MicrosoftXbox,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox 360", ShortName = "XBOX360", HasCues = true, HasDat = true)]
|
||||
MicrosoftXbox360,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox One", ShortName = "XBOXONE", IsBanned = true, HasDat = true)]
|
||||
MicrosoftXboxOne,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox Series X", ShortName = "XBOXSX", IsBanned = true, HasDat = true)]
|
||||
MicrosoftXboxSeriesXS,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "NEC PC Engine CD & TurboGrafx CD", ShortName = "PCE", HasCues = true, HasDat = true)]
|
||||
NECPCEngineCDTurboGrafxCD,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "NEC PC-FX & PC-FXGA", ShortName = "PC-FX", HasCues = true, HasDat = true)]
|
||||
NECPCFXPCFXGA,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Nintendo GameCube", ShortName = "GC", HasDat = true)]
|
||||
NintendoGameCube,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Nintendo-Sony Super NES CD-ROM System")]
|
||||
NintendoSonySuperNESCDROMSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Nintendo Wii", ShortName = "WII", HasDat = true)]
|
||||
NintendoWii,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Nintendo Wii U", ShortName = "WIIU", IsBanned = true, HasDat = true, HasKeys = true)]
|
||||
NintendoWiiU,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Panasonic 3DO Interactive Multiplayer", ShortName = "3DO", HasCues = true, HasDat = true)]
|
||||
Panasonic3DOInteractiveMultiplayer,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Philips CD-i", ShortName = "CDI", HasCues = true, HasDat = true)]
|
||||
PhilipsCDi,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Playmaji Polymega")]
|
||||
PlaymajiPolymega,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Pioneer LaserActive")]
|
||||
PioneerLaserActive,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sega Dreamcast", ShortName = "DC", HasCues = true, HasDat = true)]
|
||||
SegaDreamcast,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sega Mega CD & Sega CD", ShortName = "MCD", HasCues = true, HasDat = true)]
|
||||
SegaMegaCDSegaCD,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sega Saturn", ShortName = "SS", HasCues = true, HasDat = true)]
|
||||
SegaSaturn,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Neo Geo CD", ShortName = "NGCD", HasCues = true, HasDat = true)]
|
||||
SNKNeoGeoCD,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation", ShortName = "PSX", HasCues = true, HasDat = true, HasSbi = true)]
|
||||
SonyPlayStation,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 2", ShortName = "PS2", HasCues = true, HasDat = true)]
|
||||
SonyPlayStation2,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 3", ShortName = "PS3", HasCues = true, HasDat = true, HasKeys = true)]
|
||||
SonyPlayStation3,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 4", ShortName = "PS4", IsBanned = true, HasDat = true)]
|
||||
SonyPlayStation4,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 5", ShortName = "PS5", IsBanned = true, HasDat = true)]
|
||||
SonyPlayStation5,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation Portable", ShortName = "PSP", HasDat = true)]
|
||||
SonyPlayStationPortable,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "VM Labs NUON", ShortName = "NUON", HasDat = true)]
|
||||
VMLabsNUON,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "VTech V.Flash & V.Smile Pro", ShortName = "VFLASH", HasCues = true, HasDat = true)]
|
||||
VTechVFlashVSmilePro,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "ZAPiT Games Game Wave Family Entertainment System", ShortName = "GAMEWAVE", HasDat = true)]
|
||||
ZAPiTGamesGameWaveFamilyEntertainmentSystem,
|
||||
|
||||
// End of console section delimiter
|
||||
MarkerDiscBasedConsoleEnd,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Cartridge-Based and Other Consoles
|
||||
|
||||
/*
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Amstrad GX-4000")]
|
||||
AmstradGX4000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "APF Microcomputer System")]
|
||||
APFMicrocomputerSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari 2600 & VCS")]
|
||||
Atari2600VCS,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari 5200")]
|
||||
Atari5200,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari 7800")]
|
||||
Atari7800,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari Jaguar")]
|
||||
AtariJaguar,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari XEGS")]
|
||||
AtariXEGS,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Audiosonic 1292 Advanced Programmable Video System")]
|
||||
Audiosonic1292AdvancedProgrammableVideoSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Bally Astrocade")]
|
||||
BallyAstrocade,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Bit Corporation Dina")]
|
||||
BitCorporationDina,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Casio Loopy")]
|
||||
CasioLoopy,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Casio PV-1000")]
|
||||
CasioPV1000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Commodore 64 Games System")]
|
||||
Commodore64GamesSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Daewoo Electronics Zemmix")]
|
||||
DaewooElectronicsZemmix,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Emerson Arcadia 2001")]
|
||||
EmersonArcadia2001,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Epoch Cassette Vision")]
|
||||
EpochCassetteVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Epoch Super Cassette Vision")]
|
||||
EpochSuperCassetteVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Fairchild Channel F")]
|
||||
FairchildChannelF,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Funtech Super A'Can")]
|
||||
FuntechSuperACan,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "GCE Vectrex")]
|
||||
GCEVectrex,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Heber BBC Bridge Companion")]
|
||||
HeberBBCBridgeCompanion,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Interton VC-4000")]
|
||||
IntertonVC4000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "JungleTac Vii")]
|
||||
JungleTacVii,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "LeapFrog ClickStart")]
|
||||
LeapFrogClickStart,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "LJN VideoArt")]
|
||||
LJNVideoArt,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Magnavox Odyssey 2")]
|
||||
MagnavoxOdyssey2,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Mattel Intellivision")]
|
||||
MattelIntellivision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "NEC PC Engine & TurboGrafx-16")]
|
||||
NECPCEngineTurboGrafx16,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nichibutsu MyVision")]
|
||||
NichibutsuMyVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo 64")]
|
||||
Nintendo64,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo 64DD")]
|
||||
Nintendo64DD,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Famicom & Nintendo Entertainment System")]
|
||||
NintendoFamicomNintendoEntertainmentSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Famicom Disk System")]
|
||||
NintendoFamicomDiskSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Super Famicom & Super Nintendo Entertainment System")]
|
||||
NintendoSuperFamicomSuperNintendoEntertainmentSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Switch")]
|
||||
NintendoSwitch,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Philips Videopac+ & G7400")]
|
||||
PhilipsVideopacPlusG7400,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "RCA Studio-II")]
|
||||
RCAStudioII,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega 32X")]
|
||||
Sega32X,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega Mark III & Master System")]
|
||||
SegaMarkIIIMasterSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega MegaDrive & Genesis")]
|
||||
SegaMegaDriveGenesis,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega SG-1000")]
|
||||
SegaSG1000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "SNK NeoGeo")]
|
||||
SNKNeoGeo,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "SSD COMPANY LIMITED XaviXPORT")]
|
||||
SSDCOMPANYLIMITEDXaviXPORT,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "ViewMaster Interactive Vision")]
|
||||
ViewMasterInteractiveVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "V.Tech CreatiVision")]
|
||||
VTechCreatiVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "V.Tech V.Smile")]
|
||||
VTechVSmile,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "V.Tech Socrates")]
|
||||
VTechSocrates,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Worlds of Wonder ActionMax")]
|
||||
WorldsOfWonderActionMax,
|
||||
|
||||
// End of other console delimiter
|
||||
MarkerOtherConsoleEnd,
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region Computers
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Acorn Archimedes", ShortName = "ARCH", HasCues = true, HasDat = true)]
|
||||
AcornArchimedes,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Apple Macintosh", ShortName = "MAC", HasCues = true, HasDat = true, HasSbi = true)]
|
||||
AppleMacintosh,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Commodore Amiga CD", ShortName = "ACD", HasCues = true, HasDat = true)]
|
||||
CommodoreAmigaCD,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Fujitsu FM Towns series", ShortName = "FMT", HasCues = true, HasDat = true)]
|
||||
FujitsuFMTownsseries,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "IBM PC compatible", ShortName = "PC", HasCues = true, HasDat = true, HasSbi = true)]
|
||||
IBMPCcompatible,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "NEC PC-88 series", ShortName = "PC-88", HasCues = true, HasDat = true)]
|
||||
NECPC88series,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "NEC PC-98 series", ShortName = "PC-98", HasCues = true, HasDat = true)]
|
||||
NECPC98series,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Sharp X68000", ShortName = "X68K", HasCues = true, HasDat = true)]
|
||||
SharpX68000,
|
||||
|
||||
// End of computer section delimiter
|
||||
MarkerComputerEnd,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Arcade
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Amiga CUBO CD32")]
|
||||
AmigaCUBOCD32,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "American Laser Games 3DO")]
|
||||
AmericanLaserGames3DO,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Atari 3DO")]
|
||||
Atari3DO,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Atronic")]
|
||||
Atronic,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "AUSCOM System 1")]
|
||||
AUSCOMSystem1,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Bally Game Magic")]
|
||||
BallyGameMagic,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Capcom CP System III")]
|
||||
CapcomCPSystemIII,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "funworld Photo Play", ShortName = "FPP", HasCues = true, HasDat = true)]
|
||||
funworldPhotoPlay,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "FuRyu & Omron Purikura")]
|
||||
FuRyuOmronPurikura,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Global VR PC-based Systems")]
|
||||
GlobalVRVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Global VR Vortek")]
|
||||
GlobalVRVortek,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Global VR Vortek V3")]
|
||||
GlobalVRVortekV3,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "ICE PC-based Hardware")]
|
||||
ICEPCHardware,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Incredible Technologies Eagle", ShortName = "ITE", HasCues = true, HasDat = true)]
|
||||
IncredibleTechnologiesEagle,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Incredible Technologies PC-based Systems")]
|
||||
IncredibleTechnologiesVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "JVL iTouch")]
|
||||
JVLiTouch,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami e-Amusement", ShortName = "KEA", HasCues = true, HasDat = true)]
|
||||
KonamieAmusement,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami FireBeat", ShortName = "KFB", HasCues = true, HasDat = true)]
|
||||
KonamiFireBeat,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami M2", ShortName = "KM2", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
KonamiM2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Konami Python")]
|
||||
KonamiPython,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Konami Python 2")]
|
||||
KonamiPython2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami System 573", ShortName = "KS573", HasCues = true, HasDat = true)]
|
||||
KonamiSystem573,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami System GV", ShortName = "KSGV", HasCues = true, HasDat = true)]
|
||||
KonamiSystemGV,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami Twinkle", ShortName = "kt")]
|
||||
KonamiTwinkle,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Konami PC-based Systems")]
|
||||
KonamiVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries Boardwalk")]
|
||||
MeritIndustriesBoardwalk,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch Force")]
|
||||
MeritIndustriesMegaTouchForce,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch ION")]
|
||||
MeritIndustriesMegaTouchION,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch Maxx")]
|
||||
MeritIndustriesMegaTouchMaxx,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch XL")]
|
||||
MeritIndustriesMegaTouchXL,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Namco Purikura")]
|
||||
NamcoPurikura,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Namco · Sega · Nintendo Triforce", ShortName = "TRF", HasCues = true, HasDat = true)]
|
||||
NamcoSegaNintendoTriforce,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Namco System 12", ShortName = "ns12")]
|
||||
NamcoSystem12,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Namco System 246 / System 256", ShortName = "NS246", HasCues = true, HasDat = true)]
|
||||
NamcoSystem246256,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "New Jatre CD-i")]
|
||||
NewJatreCDi,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Nichibutsu High Rate System")]
|
||||
NichibutsuHighRateSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Nichibutsu Super CD")]
|
||||
NichibutsuSuperCD,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Nichibutsu X-Rate System")]
|
||||
NichibutsuXRateSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Panasonic M2", ShortName = "M2", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
PanasonicM2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "PhotoPlay PC-based Systems")]
|
||||
PhotoPlayVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Raw Thrills PC-based Systems")]
|
||||
RawThrillsVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega ALLS")]
|
||||
SegaALLS,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Chihiro", ShortName = "CHIHIRO", HasCues = true, HasDat = true)]
|
||||
SegaChihiro,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Europa-R")]
|
||||
SegaEuropaR,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Lindbergh", ShortName = "LINDBERGH", HasDat = true)]
|
||||
SegaLindbergh,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Naomi", ShortName = "NAOMI", HasCues = true, HasDat = true)]
|
||||
SegaNaomi,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Naomi 2", ShortName = "NAOMI2", HasCues = true, HasDat = true)]
|
||||
SegaNaomi2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega NAOMI Satellite Terminal PC")]
|
||||
SegaNaomiSatelliteTerminalPC,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu")]
|
||||
SegaNu,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu 1.1")]
|
||||
SegaNu11,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu 2")]
|
||||
SegaNu2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu SX")]
|
||||
SegaNuSX,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega RingEdge", ShortName = "SRE", HasDat = true)]
|
||||
SegaRingEdge,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega RingEdge 2", ShortName = "SRE2", HasDat = true)]
|
||||
SegaRingEdge2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega RingWide")]
|
||||
SegaRingWide,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega System 32")]
|
||||
SegaSystem32,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Titan Video", ShortName = "stv")]
|
||||
SegaTitanVideo,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Seibu CATS System")]
|
||||
SeibuCATSSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "TAB-Austria Quizard", ShortName = "QUIZARD", HasCues = true, HasDat = true)]
|
||||
TABAustriaQuizard,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Tsunami TsuMo Multi-Game Motion System")]
|
||||
TsunamiTsuMoMultiGameMotionSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "UltraCade PC-based Systems")]
|
||||
UltraCade,
|
||||
|
||||
// End of arcade section delimiter
|
||||
MarkerArcadeEnd,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Other
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Audio CD", ShortName = "AUDIO-CD", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
AudioCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "BD-Video", ShortName = "BD-VIDEO", IsBanned = true, HasDat = true)]
|
||||
BDVideo,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "DVD-Audio")]
|
||||
DVDAudio,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "DVD-Video", ShortName = "DVD-VIDEO", IsBanned = true, HasDat = true)]
|
||||
DVDVideo,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Enhanced CD", ShortName = "ENHANCED-CD", IsBanned = true)]
|
||||
EnhancedCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "HD DVD-Video", ShortName = "HDDVD-VIDEO", IsBanned = true, HasDat = true)]
|
||||
HDDVDVideo,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Navisoft Naviken 2.1", ShortName = "NAVI21", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
NavisoftNaviken21,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Palm OS", ShortName = "PALM", HasCues = true, HasDat = true)]
|
||||
PalmOS,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Photo CD", ShortName = "PHOTO-CD", HasCues = true, HasDat = true)]
|
||||
PhotoCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "PlayStation GameShark Updates", ShortName = "PSXGS", HasCues = true, HasDat = true)]
|
||||
PlayStationGameSharkUpdates,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Pocket PC", ShortName = "PPC", HasCues = true, HasDat = true)]
|
||||
PocketPC,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Psion")]
|
||||
Psion,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Rainbow Disc")]
|
||||
RainbowDisc,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Sega Prologue 21 Multimedia Karaoke System", ShortName = "SP21", HasCues = true, HasDat = true)]
|
||||
SegaPrologue21MultimediaKaraokeSystem,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Sharp Zaurus")]
|
||||
SharpZaurus,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Sony Electronic Book")]
|
||||
SonyElectronicBook,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Super Audio CD")]
|
||||
SuperAudioCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Tao iKTV", ShortName = "IKTV")]
|
||||
TaoiKTV,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Tomy Kiss-Site", ShortName = "KSITE", HasCues = true, HasDat = true)]
|
||||
TomyKissSite,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Video CD", ShortName = "VCD", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
VideoCD,
|
||||
|
||||
// End of other section delimiter
|
||||
MarkerOtherEnd,
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List of system categories
|
||||
/// </summary>
|
||||
public enum SystemCategory
|
||||
{
|
||||
NONE = 0,
|
||||
|
||||
[HumanReadable(LongName = "Disc-Based Consoles")]
|
||||
DiscBasedConsole,
|
||||
|
||||
[HumanReadable(LongName = "Other Consoles")]
|
||||
OtherConsole,
|
||||
|
||||
[HumanReadable(LongName = "Computers")]
|
||||
Computer,
|
||||
|
||||
[HumanReadable(LongName = "Arcade")]
|
||||
Arcade,
|
||||
|
||||
[HumanReadable(LongName = "Other")]
|
||||
Other,
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -39,7 +39,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
RedumpOrg.Data.SortCategory? sort = null,
|
||||
RedumpOrg.Data.SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int limit = -1,
|
||||
DiscSubpath[]? discSubpaths = null)
|
||||
{
|
||||
@@ -164,7 +164,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
RedumpOrg.Data.SortCategory? sort = null,
|
||||
RedumpOrg.Data.SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int limit = -1)
|
||||
{
|
||||
// Keep getting discs pages until there are none left
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
using SabreTools.RedumpLib.RedumpInfo.Data;
|
||||
|
||||
namespace SabreTools.RedumpLib.RedumpInfo
|
||||
@@ -17,7 +18,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="useSubfolders">True to use named subfolders to store downloads, false to store directly in the output directory</param>
|
||||
public static async Task<bool> DownloadAllPacks(this Client client, string? outDir, bool useSubfolders)
|
||||
{
|
||||
var systems = (RedumpSystem[])Enum.GetValues(typeof(RedumpSystem));
|
||||
var systems = (PhysicalSystem[])Enum.GetValues(typeof(PhysicalSystem));
|
||||
return await client.DownloadPacksForSystems(systems, outDir, useSubfolders);
|
||||
}
|
||||
|
||||
@@ -25,18 +26,18 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// Download premade packs for an individual system
|
||||
/// </summary>
|
||||
/// <param name="client">RedumpClient for connectivity</param>
|
||||
/// <param name="system">RedumpSystem to get all possible packs for</param>
|
||||
/// <param name="system">PhysicalSystem to get all possible packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="useSubfolders">True to use named subfolders to store downloads, false to store directly in the output directory</param>
|
||||
public static async Task<bool> DownloadPacksForSystem(this Client client,
|
||||
RedumpSystem? system,
|
||||
PhysicalSystem? system,
|
||||
string? outDir,
|
||||
bool useSubfolders)
|
||||
{
|
||||
if (system is null)
|
||||
return false;
|
||||
|
||||
var systems = new RedumpSystem[] { system.Value };
|
||||
var systems = new PhysicalSystem[] { system.Value };
|
||||
return await client.DownloadPacksForSystems(systems, outDir, useSubfolders);
|
||||
}
|
||||
|
||||
@@ -48,7 +49,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="useSubfolders">True to use named subfolders to store downloads, false to store directly in the output directory</param>
|
||||
public static async Task<bool> DownloadPacksForSystems(this Client client,
|
||||
RedumpSystem[] systems,
|
||||
PhysicalSystem[] systems,
|
||||
string? outDir,
|
||||
bool useSubfolders)
|
||||
{
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
using SabreTools.RedumpLib.Attributes;
|
||||
using SabreTools.RedumpLib.RedumpInfo.Data;
|
||||
|
||||
namespace SabreTools.RedumpLib.RedumpInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Attribute specifc to Redump System values
|
||||
/// </summary>
|
||||
public class SystemAttribute : HumanReadableAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Category for the system
|
||||
/// </summary>
|
||||
public SystemCategory Category { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// System is restricted to dumpers
|
||||
/// </summary>
|
||||
public bool IsBanned { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// System has a CUE pack
|
||||
/// </summary>
|
||||
public bool HasCues { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// System has a DAT
|
||||
/// </summary>
|
||||
public bool HasDat { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// System has a keys pack
|
||||
/// </summary>
|
||||
public bool HasKeys { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// System has an SBI pack
|
||||
/// </summary>
|
||||
public bool HasSbi { get; set; } = false;
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
RedumpOrg.Data.SortCategory? sort = null,
|
||||
RedumpOrg.Data.SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? page = null)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
@@ -242,7 +242,7 @@ namespace SabreTools.RedumpLib.RedumpInfo
|
||||
/// <param name="packType">Pack type</param>
|
||||
/// <param name="system">System for download</param>
|
||||
/// <remarks>Does not check for invalid systems</remarks>
|
||||
public static string BuildPackUrl(PackType packType, RedumpSystem system)
|
||||
public static string BuildPackUrl(PackType packType, PhysicalSystem system)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
|
||||
@@ -429,7 +429,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
SortCategory? sort = null,
|
||||
SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? tracks = null,
|
||||
bool comments = false,
|
||||
bool contents = false,
|
||||
@@ -569,7 +569,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
SortCategory? sort = null,
|
||||
SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? tracks = null,
|
||||
bool comments = false,
|
||||
bool contents = false,
|
||||
@@ -757,7 +757,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="system">System for filtering, null to retrieve for all systems at once</param>
|
||||
/// <returns>String containing the page contents if successful, null on error</returns>
|
||||
/// <remarks><paramref name="username"/> may have to match the logged-in user</remarks>
|
||||
public async Task<string?> DownloadSingleList(bool have, string username, RedumpSystem? system)
|
||||
public async Task<string?> DownloadSingleList(bool have, string username, PhysicalSystem? system)
|
||||
{
|
||||
string systemName = system.ShortName() ?? "all";
|
||||
Console.WriteLine($"Processing {(have ? "have" : "miss")} list for {username} for {systemName}");
|
||||
@@ -792,7 +792,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <returns>True if all data was downloaded, false otherwise</returns>
|
||||
/// <remarks><paramref name="username"/> may have to match the logged-in user</remarks>
|
||||
public async Task<bool> DownloadSingleList(bool have, string username, RedumpSystem? system, string? outDir)
|
||||
public async Task<bool> DownloadSingleList(bool have, string username, PhysicalSystem? system, string? outDir)
|
||||
{
|
||||
// If no output directory is defined, use the current directory instead
|
||||
if (string.IsNullOrEmpty(outDir))
|
||||
@@ -835,7 +835,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="system">System to download packs for</param>
|
||||
/// <returns>Byte array containing the downloaded pack, null on error</returns>
|
||||
public async Task<byte[]?> DownloadSinglePack(PackType packType, RedumpSystem? system)
|
||||
public async Task<byte[]?> DownloadSinglePack(PackType packType, PhysicalSystem? system)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -887,7 +887,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="system">System to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, RedumpSystem? system, string? outDir)
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, PhysicalSystem? system, string? outDir)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -955,7 +955,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="system">System to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="subfolder">Named subfolder for the pack, used optionally</param>
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, RedumpSystem? system, string? outDir, string? subfolder)
|
||||
public async Task<bool> DownloadSinglePack(PackType packType, PhysicalSystem? system, string? outDir, string? subfolder)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -1563,7 +1563,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// </summary>
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="system">Systems to download packs for</param>
|
||||
public async Task<Dictionary<RedumpSystem, byte[]>> DownloadPacks(PackType packType, RedumpSystem[] systems)
|
||||
public async Task<Dictionary<PhysicalSystem, byte[]>> DownloadPacks(PackType packType, PhysicalSystem[] systems)
|
||||
{
|
||||
// Determine if the pack type is valid
|
||||
if (!Enum.IsDefined(typeof(PackType), packType))
|
||||
@@ -1572,7 +1572,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
return [];
|
||||
}
|
||||
|
||||
var packsDictionary = new Dictionary<RedumpSystem, byte[]>();
|
||||
var packsDictionary = new Dictionary<PhysicalSystem, byte[]>();
|
||||
foreach (var system in systems)
|
||||
{
|
||||
string longName = system.LongName() ?? $"UNKNOWN_{system}";
|
||||
@@ -1602,7 +1602,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="packType">Pack type to use to determine the download URL</param>
|
||||
/// <param name="systems">Systems to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
public async Task<bool> DownloadPacks(PackType packType, RedumpSystem[] systems, string? outDir)
|
||||
public async Task<bool> DownloadPacks(PackType packType, PhysicalSystem[] systems, string? outDir)
|
||||
{
|
||||
// Determine if the pack type is valid
|
||||
if (!Enum.IsDefined(typeof(PackType), packType))
|
||||
@@ -1638,7 +1638,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="systems">Systems to download packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="subfolder">Named subfolder for the pack, used optionally</param>
|
||||
public async Task<bool> DownloadPacks(PackType packType, RedumpSystem[] systems, string? outDir, string? subfolder)
|
||||
public async Task<bool> DownloadPacks(PackType packType, PhysicalSystem[] systems, string? outDir, string? subfolder)
|
||||
{
|
||||
// Determine if the pack type is valid
|
||||
if (!Enum.IsDefined(typeof(PackType), packType))
|
||||
@@ -1755,7 +1755,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="packType">Pack type to use to determine the support status</param>
|
||||
/// <param name="system">Systems to determine pack availability for</param>
|
||||
/// <returns>True if the pack is available for a system, false otherwise</returns>
|
||||
private static bool PackTypeToAvailable(PackType packType, RedumpSystem system)
|
||||
private static bool PackTypeToAvailable(PackType packType, PhysicalSystem system)
|
||||
{
|
||||
return packType switch
|
||||
{
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
using SabreTools.RedumpLib.RedumpOrg.Data;
|
||||
|
||||
namespace SabreTools.RedumpLib.RedumpOrg.Converters
|
||||
{
|
||||
/// <summary>
|
||||
/// Serialize RedumpSystem enum values
|
||||
/// Serialize PhysicalSystem enum values
|
||||
/// </summary>
|
||||
public class SystemConverter : JsonConverter<RedumpSystem?>
|
||||
public class PhysicalSystemConverter : JsonConverter<PhysicalSystem?>
|
||||
{
|
||||
public override bool CanRead { get { return true; } }
|
||||
|
||||
public override RedumpSystem? ReadJson(JsonReader reader, Type objectType, RedumpSystem? existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
public override PhysicalSystem? ReadJson(JsonReader reader, Type objectType, PhysicalSystem? existingValue, bool hasExistingValue, JsonSerializer serializer)
|
||||
{
|
||||
// If we have a value already, don't overwrite it
|
||||
if (hasExistingValue)
|
||||
@@ -23,12 +24,12 @@ namespace SabreTools.RedumpLib.RedumpOrg.Converters
|
||||
return null;
|
||||
|
||||
// Try to parse the value
|
||||
return value.ToRedumpSystem();
|
||||
return value.ToPhysicalSystem();
|
||||
}
|
||||
|
||||
public override void WriteJson(JsonWriter writer, RedumpSystem? value, JsonSerializer serializer)
|
||||
public override void WriteJson(JsonWriter writer, PhysicalSystem? value, JsonSerializer serializer)
|
||||
{
|
||||
JToken t = JToken.FromObject(value.ShortName() ?? string.Empty);
|
||||
JToken t = JToken.FromObject(value.ShortNameAlt() ?? string.Empty);
|
||||
t.WriteTo(writer);
|
||||
}
|
||||
}
|
||||
@@ -214,603 +214,6 @@ namespace SabreTools.RedumpLib.RedumpOrg.Data
|
||||
Sbis,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List of all known systems
|
||||
/// </summary>
|
||||
/// TODO: Remove marker items
|
||||
public enum RedumpSystem
|
||||
{
|
||||
#region BIOS Sets
|
||||
|
||||
[System(LongName = "Microsoft Xbox (BIOS)", ShortName = "xbox-bios", HasDat = true)]
|
||||
MicrosoftXboxBIOS,
|
||||
|
||||
[System(LongName = "Nintendo GameCube (BIOS)", ShortName = "gc-bios", HasDat = true)]
|
||||
NintendoGameCubeBIOS,
|
||||
|
||||
[System(LongName = "Sony PlayStation (BIOS)", ShortName = "psx-bios", HasDat = true)]
|
||||
SonyPlayStationBIOS,
|
||||
|
||||
[System(LongName = "Sony PlayStation 2 (BIOS)", ShortName = "ps2-bios", HasDat = true)]
|
||||
SonyPlayStation2BIOS,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Disc-Based Consoles
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Atari Jaguar CD Interactive Multimedia System", ShortName = "ajcd", HasCues = true, HasDat = true)]
|
||||
AtariJaguarCDInteractiveMultimediaSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Bandai Playdia Quick Interactive System", ShortName = "qis", HasCues = true, HasDat = true)]
|
||||
BandaiPlaydiaQuickInteractiveSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Bandai Pippin", ShortName = "pippin", HasCues = true, HasDat = true)]
|
||||
BandaiPippin,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Commodore Amiga CD32", ShortName = "cd32", HasCues = true, HasDat = true)]
|
||||
CommodoreAmigaCD32,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Commodore Amiga CDTV", ShortName = "cdtv", HasCues = true, HasDat = true)]
|
||||
CommodoreAmigaCDTV,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Envizions EVO Smart Console")]
|
||||
EnvizionsEVOSmartConsole,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Fujitsu FM Towns Marty")]
|
||||
FujitsuFMTownsMarty,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Hasbro iON Educational Gaming System")]
|
||||
HasbroiONEducationalGamingSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow", ShortName = "hvn", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNow,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow Color", ShortName = "hvnc", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNowColor,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow Jr.", ShortName = "hvnjr", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNowJr,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Hasbro VideoNow XP", ShortName = "hvnxp", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
HasbroVideoNowXP,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Mattel Fisher-Price iXL", ShortName = "ixl", HasCues = true, HasDat = true)]
|
||||
MattelFisherPriceiXL,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Mattel HyperScan", ShortName = "hs", HasCues = true, HasDat = true)]
|
||||
MattelHyperScan,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Memorex Visual Information System", ShortName = "vis", HasCues = true, HasDat = true)]
|
||||
MemorexVisualInformationSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox", ShortName = "xbox", HasCues = true, HasDat = true)]
|
||||
MicrosoftXbox,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox 360", ShortName = "xbox360", HasCues = true, HasDat = true)]
|
||||
MicrosoftXbox360,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox One", ShortName = "xboxone", IsBanned = true, HasDat = true)]
|
||||
MicrosoftXboxOne,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Microsoft Xbox Series X", ShortName = "xboxsx", IsBanned = true, HasDat = true)]
|
||||
MicrosoftXboxSeriesXS,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "NEC PC Engine CD & TurboGrafx CD", ShortName = "pce", HasCues = true, HasDat = true)]
|
||||
NECPCEngineCDTurboGrafxCD,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "NEC PC-FX & PC-FXGA", ShortName = "pc-fx", HasCues = true, HasDat = true)]
|
||||
NECPCFXPCFXGA,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Nintendo GameCube", ShortName = "gc", HasDat = true)]
|
||||
NintendoGameCube,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Nintendo-Sony Super NES CD-ROM System")]
|
||||
NintendoSonySuperNESCDROMSystem,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Nintendo Wii", ShortName = "wii", HasDat = true)]
|
||||
NintendoWii,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Nintendo Wii U", ShortName = "wiiu", IsBanned = true, HasDat = true, HasKeys = true)]
|
||||
NintendoWiiU,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Panasonic 3DO Interactive Multiplayer", ShortName = "3do", HasCues = true, HasDat = true)]
|
||||
Panasonic3DOInteractiveMultiplayer,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Philips CD-i", ShortName = "cdi", HasCues = true, HasDat = true)]
|
||||
PhilipsCDi,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Playmaji Polymega")]
|
||||
PlaymajiPolymega,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, Available = false, LongName = "Pioneer LaserActive")]
|
||||
PioneerLaserActive,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sega Dreamcast", ShortName = "dc", HasCues = true, HasDat = true, HasGdi = true)]
|
||||
SegaDreamcast,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sega Mega CD & Sega CD", ShortName = "mcd", HasCues = true, HasDat = true)]
|
||||
SegaMegaCDSegaCD,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sega Saturn", ShortName = "ss", HasCues = true, HasDat = true)]
|
||||
SegaSaturn,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Neo Geo CD", ShortName = "ngcd", HasCues = true, HasDat = true)]
|
||||
SNKNeoGeoCD,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation", ShortName = "psx", HasCues = true, HasDat = true, HasLsd = true, HasSbi = true)]
|
||||
SonyPlayStation,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 2", ShortName = "ps2", HasCues = true, HasDat = true)]
|
||||
SonyPlayStation2,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 3", ShortName = "ps3", HasCues = true, HasDat = true, HasDkeys = true, HasKeys = true)]
|
||||
SonyPlayStation3,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 4", ShortName = "ps4", IsBanned = true, HasDat = true)]
|
||||
SonyPlayStation4,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation 5", ShortName = "ps5", IsBanned = true, HasDat = true)]
|
||||
SonyPlayStation5,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "Sony PlayStation Portable", ShortName = "psp", HasDat = true)]
|
||||
SonyPlayStationPortable,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "VM Labs NUON", ShortName = "nuon", HasDat = true)]
|
||||
VMLabsNUON,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "VTech V.Flash & V.Smile Pro", ShortName = "vflash", HasCues = true, HasDat = true)]
|
||||
VTechVFlashVSmilePro,
|
||||
|
||||
[System(Category = SystemCategory.DiscBasedConsole, LongName = "ZAPiT Games Game Wave Family Entertainment System", ShortName = "gamewave", HasDat = true)]
|
||||
ZAPiTGamesGameWaveFamilyEntertainmentSystem,
|
||||
|
||||
// End of console section delimiter
|
||||
MarkerDiscBasedConsoleEnd,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Cartridge-Based and Other Consoles
|
||||
|
||||
/*
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Amstrad GX-4000")]
|
||||
AmstradGX4000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "APF Microcomputer System")]
|
||||
APFMicrocomputerSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari 2600 & VCS")]
|
||||
Atari2600VCS,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari 5200")]
|
||||
Atari5200,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari 7800")]
|
||||
Atari7800,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari Jaguar")]
|
||||
AtariJaguar,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Atari XEGS")]
|
||||
AtariXEGS,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Audiosonic 1292 Advanced Programmable Video System")]
|
||||
Audiosonic1292AdvancedProgrammableVideoSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Bally Astrocade")]
|
||||
BallyAstrocade,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Bit Corporation Dina")]
|
||||
BitCorporationDina,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Casio Loopy")]
|
||||
CasioLoopy,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Casio PV-1000")]
|
||||
CasioPV1000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Commodore 64 Games System")]
|
||||
Commodore64GamesSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Daewoo Electronics Zemmix")]
|
||||
DaewooElectronicsZemmix,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Emerson Arcadia 2001")]
|
||||
EmersonArcadia2001,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Epoch Cassette Vision")]
|
||||
EpochCassetteVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Epoch Super Cassette Vision")]
|
||||
EpochSuperCassetteVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Fairchild Channel F")]
|
||||
FairchildChannelF,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Funtech Super A'Can")]
|
||||
FuntechSuperACan,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "GCE Vectrex")]
|
||||
GCEVectrex,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Heber BBC Bridge Companion")]
|
||||
HeberBBCBridgeCompanion,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Interton VC-4000")]
|
||||
IntertonVC4000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "JungleTac Vii")]
|
||||
JungleTacVii,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "LeapFrog ClickStart")]
|
||||
LeapFrogClickStart,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "LJN VideoArt")]
|
||||
LJNVideoArt,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Magnavox Odyssey 2")]
|
||||
MagnavoxOdyssey2,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Mattel Intellivision")]
|
||||
MattelIntellivision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "NEC PC Engine & TurboGrafx-16")]
|
||||
NECPCEngineTurboGrafx16,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nichibutsu MyVision")]
|
||||
NichibutsuMyVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo 64")]
|
||||
Nintendo64,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo 64DD")]
|
||||
Nintendo64DD,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Famicom & Nintendo Entertainment System")]
|
||||
NintendoFamicomNintendoEntertainmentSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Famicom Disk System")]
|
||||
NintendoFamicomDiskSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Super Famicom & Super Nintendo Entertainment System")]
|
||||
NintendoSuperFamicomSuperNintendoEntertainmentSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Nintendo Switch")]
|
||||
NintendoSwitch,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Philips Videopac+ & G7400")]
|
||||
PhilipsVideopacPlusG7400,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "RCA Studio-II")]
|
||||
RCAStudioII,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega 32X")]
|
||||
Sega32X,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega Mark III & Master System")]
|
||||
SegaMarkIIIMasterSystem,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega MegaDrive & Genesis")]
|
||||
SegaMegaDriveGenesis,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Sega SG-1000")]
|
||||
SegaSG1000,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "SNK NeoGeo")]
|
||||
SNKNeoGeo,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "SSD COMPANY LIMITED XaviXPORT")]
|
||||
SSDCOMPANYLIMITEDXaviXPORT,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "ViewMaster Interactive Vision")]
|
||||
ViewMasterInteractiveVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "V.Tech CreatiVision")]
|
||||
VTechCreatiVision,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "V.Tech V.Smile")]
|
||||
VTechVSmile,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "V.Tech Socrates")]
|
||||
VTechSocrates,
|
||||
|
||||
[System(Category = SystemCategory.OtherConsole, Available = false, LongName = "Worlds of Wonder ActionMax")]
|
||||
WorldsOfWonderActionMax,
|
||||
|
||||
// End of other console delimiter
|
||||
MarkerOtherConsoleEnd,
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region Computers
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Acorn Archimedes", ShortName = "arch", HasCues = true, HasDat = true)]
|
||||
AcornArchimedes,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Apple Macintosh", ShortName = "mac", HasCues = true, HasDat = true, HasLsd = true, HasSbi = true)]
|
||||
AppleMacintosh,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Commodore Amiga CD", ShortName = "acd", HasCues = true, HasDat = true)]
|
||||
CommodoreAmigaCD,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Fujitsu FM Towns series", ShortName = "fmt", HasCues = true, HasDat = true)]
|
||||
FujitsuFMTownsseries,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "IBM PC compatible", ShortName = "pc", HasCues = true, HasDat = true, HasLsd = true, HasSbi = true)]
|
||||
IBMPCcompatible,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "NEC PC-88 series", ShortName = "pc-88", HasCues = true, HasDat = true)]
|
||||
NECPC88series,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "NEC PC-98 series", ShortName = "pc-98", HasCues = true, HasDat = true)]
|
||||
NECPC98series,
|
||||
|
||||
[System(Category = SystemCategory.Computer, LongName = "Sharp X68000", ShortName = "x68k", HasCues = true, HasDat = true)]
|
||||
SharpX68000,
|
||||
|
||||
// End of computer section delimiter
|
||||
MarkerComputerEnd,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Arcade
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Amiga CUBO CD32")]
|
||||
AmigaCUBOCD32,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "American Laser Games 3DO")]
|
||||
AmericanLaserGames3DO,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Atari 3DO")]
|
||||
Atari3DO,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Atronic")]
|
||||
Atronic,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "AUSCOM System 1")]
|
||||
AUSCOMSystem1,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Bally Game Magic")]
|
||||
BallyGameMagic,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Capcom CP System III")]
|
||||
CapcomCPSystemIII,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "funworld Photo Play", ShortName = "fpp", HasCues = true, HasDat = true)]
|
||||
funworldPhotoPlay,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "FuRyu & Omron Purikura")]
|
||||
FuRyuOmronPurikura,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Global VR PC-based Systems")]
|
||||
GlobalVRVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Global VR Vortek")]
|
||||
GlobalVRVortek,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Global VR Vortek V3")]
|
||||
GlobalVRVortekV3,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "ICE PC-based Hardware")]
|
||||
ICEPCHardware,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Incredible Technologies Eagle", ShortName = "ite", HasCues = true, HasDat = true)]
|
||||
IncredibleTechnologiesEagle,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Incredible Technologies PC-based Systems")]
|
||||
IncredibleTechnologiesVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "JVL iTouch")]
|
||||
JVLiTouch,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami e-Amusement", ShortName = "kea", HasCues = true, HasDat = true)]
|
||||
KonamieAmusement,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami FireBeat", ShortName = "kfb", HasCues = true, HasDat = true)]
|
||||
KonamiFireBeat,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami M2", ShortName = "km2", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
KonamiM2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Konami Python")]
|
||||
KonamiPython,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Konami Python 2")]
|
||||
KonamiPython2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami System 573", ShortName = "ks573", HasCues = true, HasDat = true)]
|
||||
KonamiSystem573,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami System GV", ShortName = "ksgv", HasCues = true, HasDat = true)]
|
||||
KonamiSystemGV,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Konami Twinkle", ShortName = "kt")]
|
||||
KonamiTwinkle,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Konami PC-based Systems")]
|
||||
KonamiVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries Boardwalk")]
|
||||
MeritIndustriesBoardwalk,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch Force")]
|
||||
MeritIndustriesMegaTouchForce,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch ION")]
|
||||
MeritIndustriesMegaTouchION,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch Maxx")]
|
||||
MeritIndustriesMegaTouchMaxx,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Merit Industries MegaTouch XL")]
|
||||
MeritIndustriesMegaTouchXL,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Namco Purikura")]
|
||||
NamcoPurikura,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Namco · Sega · Nintendo Triforce", ShortName = "trf", HasCues = true, HasDat = true, HasGdi = true)]
|
||||
NamcoSegaNintendoTriforce,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Namco System 12", ShortName = "ns12")]
|
||||
NamcoSystem12,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Namco System 246 / System 256", ShortName = "ns246", HasCues = true, HasDat = true)]
|
||||
NamcoSystem246256,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "New Jatre CD-i")]
|
||||
NewJatreCDi,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Nichibutsu High Rate System")]
|
||||
NichibutsuHighRateSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Nichibutsu Super CD")]
|
||||
NichibutsuSuperCD,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Nichibutsu X-Rate System")]
|
||||
NichibutsuXRateSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Panasonic M2", ShortName = "m2", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
PanasonicM2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "PhotoPlay PC-based Systems")]
|
||||
PhotoPlayVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Raw Thrills PC-based Systems")]
|
||||
RawThrillsVarious,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega ALLS")]
|
||||
SegaALLS,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Chihiro", ShortName = "chihiro", HasCues = true, HasDat = true, HasGdi = true)]
|
||||
SegaChihiro,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Europa-R")]
|
||||
SegaEuropaR,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Lindbergh", ShortName = "lindbergh", HasDat = true)]
|
||||
SegaLindbergh,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Naomi", ShortName = "naomi", HasCues = true, HasDat = true, HasGdi = true)]
|
||||
SegaNaomi,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Naomi 2", ShortName = "naomi2", HasCues = true, HasDat = true, HasGdi = true)]
|
||||
SegaNaomi2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega NAOMI Satellite Terminal PC")]
|
||||
SegaNaomiSatelliteTerminalPC,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu")]
|
||||
SegaNu,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu 1.1")]
|
||||
SegaNu11,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu 2")]
|
||||
SegaNu2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega Nu SX")]
|
||||
SegaNuSX,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega RingEdge", ShortName = "sre", HasDat = true)]
|
||||
SegaRingEdge,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega RingEdge 2", ShortName = "sre2", HasDat = true)]
|
||||
SegaRingEdge2,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega RingWide")]
|
||||
SegaRingWide,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Sega System 32")]
|
||||
SegaSystem32,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "Sega Titan Video", ShortName = "stv")]
|
||||
SegaTitanVideo,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Seibu CATS System")]
|
||||
SeibuCATSSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, LongName = "TAB-Austria Quizard", ShortName = "quizard", HasCues = true, HasDat = true)]
|
||||
TABAustriaQuizard,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "Tsunami TsuMo Multi-Game Motion System")]
|
||||
TsunamiTsuMoMultiGameMotionSystem,
|
||||
|
||||
[System(Category = SystemCategory.Arcade, Available = false, LongName = "UltraCade PC-based Systems")]
|
||||
UltraCade,
|
||||
|
||||
// End of arcade section delimiter
|
||||
MarkerArcadeEnd,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Other
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Audio CD", ShortName = "audio-cd", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
AudioCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "BD-Video", ShortName = "bd-video", IsBanned = true, HasDat = true)]
|
||||
BDVideo,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "DVD-Audio")]
|
||||
DVDAudio,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "DVD-Video", ShortName = "dvd-video", IsBanned = true, HasDat = true)]
|
||||
DVDVideo,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Enhanced CD", ShortName = "enhanced-cd", IsBanned = true)]
|
||||
EnhancedCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "HD DVD-Video", ShortName = "hddvd-video", IsBanned = true, HasDat = true)]
|
||||
HDDVDVideo,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Navisoft Naviken 2.1", ShortName = "navi21", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
NavisoftNaviken21,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Palm OS", ShortName = "palm", HasCues = true, HasDat = true)]
|
||||
PalmOS,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Photo CD", ShortName = "photo-cd", HasCues = true, HasDat = true)]
|
||||
PhotoCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "PlayStation GameShark Updates", ShortName = "psxgs", HasCues = true, HasDat = true)]
|
||||
PlayStationGameSharkUpdates,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Pocket PC", ShortName = "ppc", HasCues = true, HasDat = true)]
|
||||
PocketPC,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Psion")]
|
||||
Psion,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Rainbow Disc")]
|
||||
RainbowDisc,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Sega Prologue 21 Multimedia Karaoke System", ShortName = "sp21", HasCues = true, HasDat = true)]
|
||||
SegaPrologue21MultimediaKaraokeSystem,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Sharp Zaurus")]
|
||||
SharpZaurus,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Sony Electronic Book")]
|
||||
SonyElectronicBook,
|
||||
|
||||
[System(Category = SystemCategory.Other, Available = false, LongName = "Super Audio CD")]
|
||||
SuperAudioCD,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Tao iKTV", ShortName = "iktv")]
|
||||
TaoiKTV,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Tomy Kiss-Site", ShortName = "ksite", HasCues = true, HasDat = true)]
|
||||
TomyKissSite,
|
||||
|
||||
[System(Category = SystemCategory.Other, LongName = "Video CD", ShortName = "vcd", IsBanned = true, HasCues = true, HasDat = true)]
|
||||
VideoCD,
|
||||
|
||||
// End of other section delimiter
|
||||
MarkerOtherEnd,
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List of all Redump site codes
|
||||
/// </summary>
|
||||
@@ -1152,29 +555,6 @@ namespace SabreTools.RedumpLib.RedumpOrg.Data
|
||||
Descending,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List of system categories
|
||||
/// </summary>
|
||||
public enum SystemCategory
|
||||
{
|
||||
NONE = 0,
|
||||
|
||||
[HumanReadable(LongName = "Disc-Based Consoles")]
|
||||
DiscBasedConsole,
|
||||
|
||||
[HumanReadable(LongName = "Other Consoles")]
|
||||
OtherConsole,
|
||||
|
||||
[HumanReadable(LongName = "Computers")]
|
||||
Computer,
|
||||
|
||||
[HumanReadable(LongName = "Arcade")]
|
||||
Arcade,
|
||||
|
||||
[HumanReadable(LongName = "Other")]
|
||||
Other,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Generic yes/no values
|
||||
/// </summary>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -65,7 +65,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
SortCategory? sort = null,
|
||||
SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? tracks = null,
|
||||
bool comments = false,
|
||||
bool contents = false,
|
||||
@@ -234,7 +234,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
SortCategory? sort = null,
|
||||
SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? tracks = null,
|
||||
bool comments = false,
|
||||
bool contents = false,
|
||||
|
||||
@@ -411,10 +411,10 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <summary>
|
||||
/// Format a EDCSection
|
||||
/// </summary>
|
||||
internal static void FormatOutputData(StringBuilder output, EDCSection? section, RedumpSystem? system)
|
||||
internal static void FormatOutputData(StringBuilder output, EDCSection? section, PhysicalSystem? system)
|
||||
{
|
||||
// Check the section can be added
|
||||
if (system != RedumpSystem.SonyPlayStation)
|
||||
if (system != PhysicalSystem.SonyPlayStation)
|
||||
return;
|
||||
|
||||
output.AppendLine("EDC:");
|
||||
@@ -456,7 +456,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// </summary>
|
||||
internal static void FormatOutputData(StringBuilder output,
|
||||
CopyProtectionSection? section,
|
||||
RedumpSystem? system)
|
||||
PhysicalSystem? system)
|
||||
{
|
||||
// Optional sections have to exist to format
|
||||
if (section is null)
|
||||
@@ -474,7 +474,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
|
||||
output.AppendLine("Copy Protection:");
|
||||
|
||||
if (system == RedumpSystem.SonyPlayStation)
|
||||
if (system == PhysicalSystem.SonyPlayStation)
|
||||
{
|
||||
AddIfExists(output, Template.PlayStationAntiModchipField, section.AntiModchip.LongName(), 1);
|
||||
AddIfExists(output, Template.PlayStationLibCryptField, section.LibCrypt.LongName(), 1);
|
||||
@@ -508,7 +508,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
internal static void FormatOutputData(StringBuilder output,
|
||||
SizeAndChecksumsSection? section,
|
||||
PhysicalMediaType? mediaType,
|
||||
RedumpSystem? system,
|
||||
PhysicalSystem? system,
|
||||
bool enableRedumpCompatibility)
|
||||
{
|
||||
output.AppendLine("Size & Checksum:");
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using SabreTools.RedumpLib.Data;
|
||||
using SabreTools.RedumpLib.RedumpOrg.Data;
|
||||
|
||||
namespace SabreTools.RedumpLib.RedumpOrg
|
||||
@@ -17,7 +18,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="useSubfolders">True to use named subfolders to store downloads, false to store directly in the output directory</param>
|
||||
public static async Task<bool> DownloadAllPacks(this Client client, string? outDir, bool useSubfolders)
|
||||
{
|
||||
var systems = (RedumpSystem[])Enum.GetValues(typeof(RedumpSystem));
|
||||
var systems = (PhysicalSystem[])Enum.GetValues(typeof(PhysicalSystem));
|
||||
return await client.DownloadPacksForSystems(systems, outDir, useSubfolders);
|
||||
}
|
||||
|
||||
@@ -25,18 +26,18 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// Download premade packs for an individual system
|
||||
/// </summary>
|
||||
/// <param name="client">RedumpClient for connectivity</param>
|
||||
/// <param name="system">RedumpSystem to get all possible packs for</param>
|
||||
/// <param name="system">PhysicalSystem to get all possible packs for</param>
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="useSubfolders">True to use named subfolders to store downloads, false to store directly in the output directory</param>
|
||||
public static async Task<bool> DownloadPacksForSystem(this Client client,
|
||||
RedumpSystem? system,
|
||||
PhysicalSystem? system,
|
||||
string? outDir,
|
||||
bool useSubfolders)
|
||||
{
|
||||
if (system is null)
|
||||
return false;
|
||||
|
||||
var systems = new RedumpSystem[] { system.Value };
|
||||
var systems = new PhysicalSystem[] { system.Value };
|
||||
return await client.DownloadPacksForSystems(systems, outDir, useSubfolders);
|
||||
}
|
||||
|
||||
@@ -48,7 +49,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="outDir">Output directory to save data to</param>
|
||||
/// <param name="useSubfolders">True to use named subfolders to store downloads, false to store directly in the output directory</param>
|
||||
public static async Task<bool> DownloadPacksForSystems(this Client client,
|
||||
RedumpSystem[] systems,
|
||||
PhysicalSystem[] systems,
|
||||
string? outDir,
|
||||
bool useSubfolders)
|
||||
{
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
SortCategory? sort = null,
|
||||
SortDirection? sortDir = null,
|
||||
DumpStatus? status = null,
|
||||
RedumpSystem? system = null,
|
||||
PhysicalSystem? system = null,
|
||||
int? tracks = null,
|
||||
bool comments = false,
|
||||
bool contents = false,
|
||||
@@ -389,7 +389,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <remarks>Does not check for invalid usernames</remarks>
|
||||
public static string BuildListUrl(string dumper,
|
||||
bool? have = null,
|
||||
RedumpSystem? system = null)
|
||||
PhysicalSystem? system = null)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
@@ -445,7 +445,7 @@ namespace SabreTools.RedumpLib.RedumpOrg
|
||||
/// <param name="packType">Pack type</param>
|
||||
/// <param name="system">System for download</param>
|
||||
/// <remarks>Does not check for invalid systems</remarks>
|
||||
public static string BuildPackUrl(PackType packType, RedumpSystem system)
|
||||
public static string BuildPackUrl(PackType packType, PhysicalSystem system)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user