diff --git a/SabreTools.Core/Enums.cs b/SabreTools.Core/Enums.cs index e90e7b02..d203eea3 100644 --- a/SabreTools.Core/Enums.cs +++ b/SabreTools.Core/Enums.cs @@ -914,6 +914,9 @@ namespace SabreTools.Core /// public enum DatItemField { + /// + /// This is a fake flag that is used for filter only + /// NULL = 0, /// Used in Rom @@ -1423,148 +1426,157 @@ namespace SabreTools.Core /// NULL = 0, - #region Common - - [Mapping("name")] - Name, - - /// "extra" is used with AttractMode - [Mapping("comment", "extra")] - Comment, - - [Mapping("desc", "description")] - Description, - - [Mapping("year")] - Year, - - [Mapping("manufacturer")] - Manufacturer, - - [Mapping("publisher")] - Publisher, - - [Mapping("category")] - Category, - - [Mapping("romof", "rom_of")] - RomOf, - - [Mapping("cloneof", "clone_of")] - CloneOf, - - [Mapping("sampleof", "sample_of")] - SampleOf, - - [Mapping("type")] - Type, - - #endregion - - #region AttractMode - - [Mapping("players")] - Players, - - [Mapping("rotation")] - Rotation, - - [Mapping("control")] - Control, - - [Mapping("amstatus", "am_status", "gamestatus", "supportstatus", "support_status")] - Status, - - [Mapping("displaycount", "display_count")] - DisplayCount, - - [Mapping("displaytype", "display_type")] - DisplayType, - - [Mapping("buttons")] - Buttons, - - #endregion - - #region ListXML - - [Mapping("history")] - History, - - [Mapping("sourcefile", "source_file")] - SourceFile, - - [Mapping("runnable")] - Runnable, - - #endregion - - #region Logiqx - + /// Used in Logiqx [Mapping("board")] Board, - [Mapping("rebuildto", "rebuild_to")] - RebuildTo, + /// Used in AttractMode + [Mapping("buttons")] + Buttons, - [Mapping("id", "nointroid", "nointro_id", "no_intro_id")] - NoIntroId, + /// Used in AttractMode, ClrMamePro, and Logiqx + [Mapping("category")] + Category, + /// Used in AttractMode, ClrMamePro, ListXML, Logiqx, OfflineList, RomCenter, and Software List + [Mapping("cloneof", "clone_of")] + CloneOf, + + /// Used in Logiqx [Mapping("cloneofid", "nointrocloneofid", "nointro_cloneofid", "no_intro_cloneofid", "no_intro_clone_of_id")] - NoIntroCloneOfId, + CloneOfID, - #endregion + /// Used in AttractMode, Logiqx, and OfflineList; "extra" is used with AttractMode + [Mapping("comment", "extra")] + Comment, - #region Logiqx EmuArc - - [Mapping("titleid", "title_id")] - TitleID, - - [Mapping("developer")] - Developer, - - [Mapping("genre")] - Genre, - - [Mapping("subgenre", "sub_genre")] - Subgenre, - - [Mapping("ratings")] - Ratings, - - [Mapping("score")] - Score, - - [Mapping("enabled")] - Enabled, - - [Mapping("crc", "hascrc", "has_crc")] - CRC, - - [Mapping("relatedto", "related_to")] - RelatedTo, - - #endregion - - #region OpenMSX - - [Mapping("genmsxid", "genmsx_id", "gen_msxid", "gen_msx_id")] - GenMSXID, - - [Mapping("system", "msxsystem", "msx_system")] - System, + /// Used in AttractMode + [Mapping("control")] + Control, + /// Used in OpenMSX [Mapping("country")] Country, - #endregion + /// Used in Logiqx (EmuArc Extension) + [Mapping("crc", "hascrc", "has_crc")] + CRC, - #region SoftwareList + /// Used in ArchiveDotOrg, AttractMode, ClrMamePro, DOSCenter, Everdrive SMDB, ListXML, Logiqx, RomCenter, Separated Value, and Software List + [Mapping("desc", "description")] + Description, + /// Used in Logiqx (EmuArc Extension) + [Mapping("developer")] + Developer, + + /// Used in AttractMode + [Mapping("displaycount", "display_count")] + DisplayCount, + + /// Used in AttractMode + [Mapping("displaytype", "display_type")] + DisplayType, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("enabled")] + Enabled, + + /// Used in OpenMSX + [Mapping("genmsxid", "genmsx_id", "gen_msxid", "gen_msx_id")] + GenMSXID, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("genre")] + Genre, + + /// Used in ListXML + [Mapping("history")] + History, + + /// Used in Logiqx + [Mapping("id", "nointroid", "nointro_id", "no_intro_id")] + ID, + + /// Used in AttractMode, ClrMamePro, ListXML, Logiqx, and OpenMSX + [Mapping("manufacturer")] + Manufacturer, + + /// Used in ArchiveDotOrg, AttractMode, ClrMamePro, DOSCenter, Everdrive SMDB, Hashfile, ListROM, ListXML, Logiqx, Missfile, OfflineList, OpenMSX, RomCenter, Separated Value, and Software List + [Mapping("name")] + Name, + + /// Used in AttractMode and Logiqx + [Mapping("players")] + Players, + + /// Used in Logiqx, OfflineList, and Software List + [Mapping("publisher")] + Publisher, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("ratings")] + Ratings, + + /// Used in Logiqx + [Mapping("rebuildto", "rebuild_to")] + RebuildTo, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("relatedto", "related_to")] + RelatedTo, + + /// Used in ClrMamePro, ListXML, Logiqx, and RomCenter + [Mapping("romof", "rom_of")] + RomOf, + + /// Used in AttractMode + [Mapping("rotation")] + Rotation, + + /// Used in ListXML and Logiqx + [Mapping("runnable")] + Runnable, + + /// Used in ClrMamePro, ListXML, and Logiqx + [Mapping("sampleof", "sample_of")] + SampleOf, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("score")] + Score, + + /// Used in ListXML and Logiqx + [Mapping("sourcefile", "source_file")] + SourceFile, + + /// Used in AttractMode + [Mapping("amstatus", "am_status", "gamestatus", "supportstatus", "support_status")] + Status, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("subgenre", "sub_genre")] + Subgenre, + + /// Used in Software List [Mapping("supported")] Supported, - #endregion + /// Used in OpenMSX + [Mapping("system", "msxsystem", "msx_system")] + System, + + /// Used in Logiqx (EmuArc Extension) + [Mapping("titleid", "title_id")] + TitleID, + + /// Used in ClrMamePro, DOSCenter, ListXML, and Logiqx + [Mapping("type")] + Type, + + /// Used in AttractMode, ClrMamePro, ListXML, Logiqx, OpenMSX, and Software List + [Mapping("year")] + Year, } #endregion diff --git a/SabreTools.DatFiles/Setter.cs b/SabreTools.DatFiles/Setter.cs index bdc7da3f..b1aab46d 100644 --- a/SabreTools.DatFiles/Setter.cs +++ b/SabreTools.DatFiles/Setter.cs @@ -269,56 +269,38 @@ namespace SabreTools.DatFiles if (machine == null || MachineMappings == null) return; - #region Common + if (MachineMappings.ContainsKey(MachineField.Board)) + machine.Board = MachineMappings[MachineField.Board]; - if (MachineMappings.ContainsKey(MachineField.Name)) - machine.Name = MachineMappings[MachineField.Name]; - - if (MachineMappings.ContainsKey(MachineField.Comment)) - machine.Comment = MachineMappings[MachineField.Comment]; - - if (MachineMappings.ContainsKey(MachineField.Description)) - machine.Description = MachineMappings[MachineField.Description]; - - if (MachineMappings.ContainsKey(MachineField.Year)) - machine.Year = MachineMappings[MachineField.Year]; - - if (MachineMappings.ContainsKey(MachineField.Manufacturer)) - machine.Manufacturer = MachineMappings[MachineField.Manufacturer]; - - if (MachineMappings.ContainsKey(MachineField.Publisher)) - machine.Publisher = MachineMappings[MachineField.Publisher]; + if (MachineMappings.ContainsKey(MachineField.Buttons)) + machine.Buttons = MachineMappings[MachineField.Buttons]; if (MachineMappings.ContainsKey(MachineField.Category)) machine.Category = MachineMappings[MachineField.Category]; - if (MachineMappings.ContainsKey(MachineField.RomOf)) - machine.RomOf = MachineMappings[MachineField.RomOf]; - if (MachineMappings.ContainsKey(MachineField.CloneOf)) machine.CloneOf = MachineMappings[MachineField.CloneOf]; - if (MachineMappings.ContainsKey(MachineField.SampleOf)) - machine.SampleOf = MachineMappings[MachineField.SampleOf]; + if (MachineMappings.ContainsKey(MachineField.CloneOfID)) + machine.NoIntroCloneOfId = MachineMappings[MachineField.CloneOfID]; - if (MachineMappings.ContainsKey(MachineField.Type)) - machine.MachineType = MachineMappings[MachineField.Type].AsMachineType(); - - #endregion - - #region AttractMode - - if (MachineMappings.ContainsKey(MachineField.Players)) - machine.Players = MachineMappings[MachineField.Players]; - - if (MachineMappings.ContainsKey(MachineField.Rotation)) - machine.Rotation = MachineMappings[MachineField.Rotation]; + if (MachineMappings.ContainsKey(MachineField.Comment)) + machine.Comment = MachineMappings[MachineField.Comment]; if (MachineMappings.ContainsKey(MachineField.Control)) machine.Control = MachineMappings[MachineField.Control]; - if (MachineMappings.ContainsKey(MachineField.Status)) - machine.Status = MachineMappings[MachineField.Status]; + if (MachineMappings.ContainsKey(MachineField.Country)) + machine.Country = MachineMappings[MachineField.Country]; + + if (MachineMappings.ContainsKey(MachineField.CRC)) + machine.Crc = MachineMappings[MachineField.CRC].AsYesNo(); + + if (MachineMappings.ContainsKey(MachineField.Description)) + machine.Description = MachineMappings[MachineField.Description]; + + if (MachineMappings.ContainsKey(MachineField.Developer)) + machine.Developer = MachineMappings[MachineField.Developer]; if (MachineMappings.ContainsKey(MachineField.DisplayCount)) machine.DisplayCount = MachineMappings[MachineField.DisplayCount]; @@ -326,90 +308,80 @@ namespace SabreTools.DatFiles if (MachineMappings.ContainsKey(MachineField.DisplayType)) machine.DisplayType = MachineMappings[MachineField.DisplayType]; - if (MachineMappings.ContainsKey(MachineField.Buttons)) - machine.Buttons = MachineMappings[MachineField.Buttons]; - - #endregion - - #region ListXML - - if (MachineMappings.ContainsKey(MachineField.History)) - machine.History = MachineMappings[MachineField.History]; - - if (MachineMappings.ContainsKey(MachineField.SourceFile)) - machine.SourceFile = MachineMappings[MachineField.SourceFile]; - - if (MachineMappings.ContainsKey(MachineField.Runnable)) - machine.Runnable = MachineMappings[MachineField.Runnable].AsRunnable(); - - #endregion - - #region Logiqx - - if (MachineMappings.ContainsKey(MachineField.Board)) - machine.Board = MachineMappings[MachineField.Board]; - - if (MachineMappings.ContainsKey(MachineField.RebuildTo)) - machine.RebuildTo = MachineMappings[MachineField.RebuildTo]; - - if (MachineMappings.ContainsKey(MachineField.NoIntroId)) - machine.NoIntroId = MachineMappings[MachineField.NoIntroId]; - - if (MachineMappings.ContainsKey(MachineField.NoIntroCloneOfId)) - machine.NoIntroCloneOfId = MachineMappings[MachineField.NoIntroCloneOfId]; - - #endregion - - #region Logiqx EmuArc - - if (MachineMappings.ContainsKey(MachineField.TitleID)) - machine.TitleID = MachineMappings[MachineField.TitleID]; - - if (MachineMappings.ContainsKey(MachineField.Developer)) - machine.Developer = MachineMappings[MachineField.Developer]; - - if (MachineMappings.ContainsKey(MachineField.Genre)) - machine.Genre = MachineMappings[MachineField.Genre]; - - if (MachineMappings.ContainsKey(MachineField.Subgenre)) - machine.Subgenre = MachineMappings[MachineField.Subgenre]; - - if (MachineMappings.ContainsKey(MachineField.Ratings)) - machine.Ratings = MachineMappings[MachineField.Ratings]; - - if (MachineMappings.ContainsKey(MachineField.Score)) - machine.Score = MachineMappings[MachineField.Score]; - if (MachineMappings.ContainsKey(MachineField.Enabled)) machine.Enabled = MachineMappings[MachineField.Enabled]; - if (MachineMappings.ContainsKey(MachineField.CRC)) - machine.Crc = MachineMappings[MachineField.CRC].AsYesNo(); - - if (MachineMappings.ContainsKey(MachineField.RelatedTo)) - machine.RelatedTo = MachineMappings[MachineField.RelatedTo]; - - #endregion - - #region OpenMSX - if (MachineMappings.ContainsKey(MachineField.GenMSXID)) machine.GenMSXID = MachineMappings[MachineField.GenMSXID]; - if (MachineMappings.ContainsKey(MachineField.System)) - machine.System = MachineMappings[MachineField.System]; + if (MachineMappings.ContainsKey(MachineField.Genre)) + machine.Genre = MachineMappings[MachineField.Genre]; - if (MachineMappings.ContainsKey(MachineField.Country)) - machine.Country = MachineMappings[MachineField.Country]; + if (MachineMappings.ContainsKey(MachineField.History)) + machine.History = MachineMappings[MachineField.History]; - #endregion + if (MachineMappings.ContainsKey(MachineField.ID)) + machine.NoIntroId = MachineMappings[MachineField.ID]; - #region SoftwareList + if (MachineMappings.ContainsKey(MachineField.Manufacturer)) + machine.Manufacturer = MachineMappings[MachineField.Manufacturer]; + + if (MachineMappings.ContainsKey(MachineField.Name)) + machine.Name = MachineMappings[MachineField.Name]; + + if (MachineMappings.ContainsKey(MachineField.Players)) + machine.Players = MachineMappings[MachineField.Players]; + + if (MachineMappings.ContainsKey(MachineField.Publisher)) + machine.Publisher = MachineMappings[MachineField.Publisher]; + + if (MachineMappings.ContainsKey(MachineField.Ratings)) + machine.Ratings = MachineMappings[MachineField.Ratings]; + + if (MachineMappings.ContainsKey(MachineField.RebuildTo)) + machine.RebuildTo = MachineMappings[MachineField.RebuildTo]; + + if (MachineMappings.ContainsKey(MachineField.RelatedTo)) + machine.RelatedTo = MachineMappings[MachineField.RelatedTo]; + + if (MachineMappings.ContainsKey(MachineField.RomOf)) + machine.RomOf = MachineMappings[MachineField.RomOf]; + + if (MachineMappings.ContainsKey(MachineField.Rotation)) + machine.Rotation = MachineMappings[MachineField.Rotation]; + + if (MachineMappings.ContainsKey(MachineField.Runnable)) + machine.Runnable = MachineMappings[MachineField.Runnable].AsRunnable(); + + if (MachineMappings.ContainsKey(MachineField.SampleOf)) + machine.SampleOf = MachineMappings[MachineField.SampleOf]; + + if (MachineMappings.ContainsKey(MachineField.Score)) + machine.Score = MachineMappings[MachineField.Score]; + + if (MachineMappings.ContainsKey(MachineField.SourceFile)) + machine.SourceFile = MachineMappings[MachineField.SourceFile]; + + if (MachineMappings.ContainsKey(MachineField.Status)) + machine.Status = MachineMappings[MachineField.Status]; + + if (MachineMappings.ContainsKey(MachineField.Subgenre)) + machine.Subgenre = MachineMappings[MachineField.Subgenre]; if (MachineMappings.ContainsKey(MachineField.Supported)) machine.Supported = MachineMappings[MachineField.Supported].AsSupported(); - #endregion + if (MachineMappings.ContainsKey(MachineField.System)) + machine.System = MachineMappings[MachineField.System]; + + if (MachineMappings.ContainsKey(MachineField.TitleID)) + machine.TitleID = MachineMappings[MachineField.TitleID]; + + if (MachineMappings.ContainsKey(MachineField.Type)) + machine.MachineType = MachineMappings[MachineField.Type].AsMachineType(); + + if (MachineMappings.ContainsKey(MachineField.Year)) + machine.Year = MachineMappings[MachineField.Year]; } /// diff --git a/SabreTools.Filtering/DatItemRemover.cs b/SabreTools.Filtering/DatItemRemover.cs index 16bb2786..8fc58e1b 100644 --- a/SabreTools.Filtering/DatItemRemover.cs +++ b/SabreTools.Filtering/DatItemRemover.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Linq; - using SabreTools.Core; using SabreTools.Core.Tools; using SabreTools.DatItems; @@ -130,56 +129,38 @@ namespace SabreTools.Filtering /// Machine to remove fields from private void RemoveFields(Machine machine) { - #region Common + if (MachineFields.Contains(MachineField.Board)) + machine.Board = null; - if (MachineFields.Contains(MachineField.Name)) - machine.Name = null; - - if (MachineFields.Contains(MachineField.Comment)) - machine.Comment = null; - - if (MachineFields.Contains(MachineField.Description)) - machine.Description = null; - - if (MachineFields.Contains(MachineField.Year)) - machine.Year = null; - - if (MachineFields.Contains(MachineField.Manufacturer)) - machine.Manufacturer = null; - - if (MachineFields.Contains(MachineField.Publisher)) - machine.Publisher = null; + if (MachineFields.Contains(MachineField.Buttons)) + machine.Buttons = null; if (MachineFields.Contains(MachineField.Category)) machine.Category = null; - if (MachineFields.Contains(MachineField.RomOf)) - machine.RomOf = null; - if (MachineFields.Contains(MachineField.CloneOf)) machine.CloneOf = null; - if (MachineFields.Contains(MachineField.SampleOf)) - machine.SampleOf = null; + if (MachineFields.Contains(MachineField.CloneOfID)) + machine.NoIntroCloneOfId = null; - if (MachineFields.Contains(MachineField.Type)) - machine.MachineType = 0x0; - - #endregion - - #region AttractMode - - if (MachineFields.Contains(MachineField.Players)) - machine.Players = null; - - if (MachineFields.Contains(MachineField.Rotation)) - machine.Rotation = null; + if (MachineFields.Contains(MachineField.Comment)) + machine.Comment = null; if (MachineFields.Contains(MachineField.Control)) machine.Control = null; - if (MachineFields.Contains(MachineField.Status)) - machine.Status = null; + if (MachineFields.Contains(MachineField.Country)) + machine.Country = null; + + if (MachineFields.Contains(MachineField.CRC)) + machine.Crc = null; + + if (MachineFields.Contains(MachineField.Description)) + machine.Description = null; + + if (MachineFields.Contains(MachineField.Developer)) + machine.Developer = null; if (MachineFields.Contains(MachineField.DisplayCount)) machine.DisplayCount = null; @@ -187,90 +168,80 @@ namespace SabreTools.Filtering if (MachineFields.Contains(MachineField.DisplayType)) machine.DisplayType = null; - if (MachineFields.Contains(MachineField.Buttons)) - machine.Buttons = null; - - #endregion - - #region ListXML - - if (MachineFields.Contains(MachineField.History)) - machine.History = null; - - if (MachineFields.Contains(MachineField.SourceFile)) - machine.SourceFile = null; - - if (MachineFields.Contains(MachineField.Runnable)) - machine.Runnable = Runnable.NULL; - - #endregion - - #region Logiqx - - if (MachineFields.Contains(MachineField.Board)) - machine.Board = null; - - if (MachineFields.Contains(MachineField.RebuildTo)) - machine.RebuildTo = null; - - if (MachineFields.Contains(MachineField.NoIntroId)) - machine.NoIntroId = null; - - if (MachineFields.Contains(MachineField.NoIntroCloneOfId)) - machine.NoIntroCloneOfId = null; - - #endregion - - #region Logiqx EmuArc - - if (MachineFields.Contains(MachineField.TitleID)) - machine.TitleID = null; - - if (MachineFields.Contains(MachineField.Developer)) - machine.Developer = null; - - if (MachineFields.Contains(MachineField.Genre)) - machine.Genre = null; - - if (MachineFields.Contains(MachineField.Subgenre)) - machine.Subgenre = null; - - if (MachineFields.Contains(MachineField.Ratings)) - machine.Ratings = null; - - if (MachineFields.Contains(MachineField.Score)) - machine.Score = null; - if (MachineFields.Contains(MachineField.Enabled)) machine.Enabled = null; - if (MachineFields.Contains(MachineField.CRC)) - machine.Crc = null; - - if (MachineFields.Contains(MachineField.RelatedTo)) - machine.RelatedTo = null; - - #endregion - - #region OpenMSX - if (MachineFields.Contains(MachineField.GenMSXID)) machine.GenMSXID = null; - if (MachineFields.Contains(MachineField.System)) - machine.System = null; + if (MachineFields.Contains(MachineField.Genre)) + machine.Genre = null; - if (MachineFields.Contains(MachineField.Country)) - machine.Country = null; + if (MachineFields.Contains(MachineField.History)) + machine.History = null; - #endregion + if (MachineFields.Contains(MachineField.ID)) + machine.NoIntroId = null; - #region SoftwareList + if (MachineFields.Contains(MachineField.Manufacturer)) + machine.Manufacturer = null; + + if (MachineFields.Contains(MachineField.Name)) + machine.Name = null; + + if (MachineFields.Contains(MachineField.Players)) + machine.Players = null; + + if (MachineFields.Contains(MachineField.Publisher)) + machine.Publisher = null; + + if (MachineFields.Contains(MachineField.Ratings)) + machine.Ratings = null; + + if (MachineFields.Contains(MachineField.RebuildTo)) + machine.RebuildTo = null; + + if (MachineFields.Contains(MachineField.RelatedTo)) + machine.RelatedTo = null; + + if (MachineFields.Contains(MachineField.RomOf)) + machine.RomOf = null; + + if (MachineFields.Contains(MachineField.Rotation)) + machine.Rotation = null; + + if (MachineFields.Contains(MachineField.Runnable)) + machine.Runnable = Runnable.NULL; + + if (MachineFields.Contains(MachineField.SampleOf)) + machine.SampleOf = null; + + if (MachineFields.Contains(MachineField.Score)) + machine.Score = null; + + if (MachineFields.Contains(MachineField.SourceFile)) + machine.SourceFile = null; + + if (MachineFields.Contains(MachineField.Status)) + machine.Status = null; + + if (MachineFields.Contains(MachineField.Subgenre)) + machine.Subgenre = null; if (MachineFields.Contains(MachineField.Supported)) machine.Supported = Supported.NULL; - #endregion + if (MachineFields.Contains(MachineField.System)) + machine.System = null; + + if (MachineFields.Contains(MachineField.TitleID)) + machine.TitleID = null; + + if (MachineFields.Contains(MachineField.Type)) + machine.MachineType = 0x0; + + if (MachineFields.Contains(MachineField.Year)) + machine.Year = null; } /// diff --git a/SabreTools.Filtering/MachineFilter.cs b/SabreTools.Filtering/MachineFilter.cs index ce362d66..70d0aea0 100644 --- a/SabreTools.Filtering/MachineFilter.cs +++ b/SabreTools.Filtering/MachineFilter.cs @@ -257,11 +257,11 @@ namespace SabreTools.Filtering SetStringFilter(RebuildTo, value, negate); break; - case MachineField.NoIntroId: + case MachineField.ID: SetStringFilter(NoIntroId, value, negate); break; - case MachineField.NoIntroCloneOfId: + case MachineField.CloneOfID: SetStringFilter(NoIntroCloneOfId, value, negate); break; diff --git a/SabreTools.Filtering/Replacer.cs b/SabreTools.Filtering/Replacer.cs index 1937a41d..6e6ea810 100644 --- a/SabreTools.Filtering/Replacer.cs +++ b/SabreTools.Filtering/Replacer.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; - using SabreTools.Core; using SabreTools.DatItems; using SabreTools.DatItems.Formats; @@ -81,59 +80,41 @@ namespace SabreTools.Filtering /// True if descriptions should only be replaced if the game name is the same, false otherwise public static void ReplaceFields(Machine machine, Machine repMachine, List machineFields, bool onlySame) { - #region Common + if (machineFields.Contains(MachineField.Board)) + machine.Board = repMachine.Board; - if (machineFields.Contains(MachineField.Name)) - machine.Name = repMachine.Name; + if (machineFields.Contains(MachineField.Buttons)) + machine.Buttons = repMachine.Buttons; + + if (machineFields.Contains(MachineField.Category)) + machine.Category = repMachine.Category; + + if (machineFields.Contains(MachineField.CloneOf)) + machine.CloneOf = repMachine.CloneOf; + + if (machineFields.Contains(MachineField.CloneOfID)) + machine.NoIntroCloneOfId = repMachine.NoIntroCloneOfId; if (machineFields.Contains(MachineField.Comment)) machine.Comment = repMachine.Comment; + if (machineFields.Contains(MachineField.Control)) + machine.Control = repMachine.Control; + + if (machineFields.Contains(MachineField.Country)) + machine.Country = repMachine.Country; + + if (machineFields.Contains(MachineField.CRC)) + machine.Crc = repMachine.Crc; + if (machineFields.Contains(MachineField.Description)) { if (!onlySame || (onlySame && machine.Name == machine.Description)) machine.Description = repMachine.Description; } - if (machineFields.Contains(MachineField.Year)) - machine.Year = repMachine.Year; - - if (machineFields.Contains(MachineField.Manufacturer)) - machine.Manufacturer = repMachine.Manufacturer; - - if (machineFields.Contains(MachineField.Publisher)) - machine.Publisher = repMachine.Publisher; - - if (machineFields.Contains(MachineField.Category)) - machine.Category = repMachine.Category; - - if (machineFields.Contains(MachineField.RomOf)) - machine.RomOf = repMachine.RomOf; - - if (machineFields.Contains(MachineField.CloneOf)) - machine.CloneOf = repMachine.CloneOf; - - if (machineFields.Contains(MachineField.SampleOf)) - machine.SampleOf = repMachine.SampleOf; - - if (machineFields.Contains(MachineField.Type)) - machine.MachineType = repMachine.MachineType; - - #endregion - - #region AttractMode - - if (machineFields.Contains(MachineField.Players)) - machine.Players = repMachine.Players; - - if (machineFields.Contains(MachineField.Rotation)) - machine.Rotation = repMachine.Rotation; - - if (machineFields.Contains(MachineField.Control)) - machine.Control = repMachine.Control; - - if (machineFields.Contains(MachineField.Status)) - machine.Status = repMachine.Status; + if (machineFields.Contains(MachineField.Developer)) + machine.Developer = repMachine.Developer; if (machineFields.Contains(MachineField.DisplayCount)) machine.DisplayCount = repMachine.DisplayCount; @@ -141,90 +122,80 @@ namespace SabreTools.Filtering if (machineFields.Contains(MachineField.DisplayType)) machine.DisplayType = repMachine.DisplayType; - if (machineFields.Contains(MachineField.Buttons)) - machine.Buttons = repMachine.Buttons; - - #endregion - - #region ListXML - - if (machineFields.Contains(MachineField.History)) - machine.History = repMachine.History; - - if (machineFields.Contains(MachineField.SourceFile)) - machine.SourceFile = repMachine.SourceFile; - - if (machineFields.Contains(MachineField.Runnable)) - machine.Runnable = repMachine.Runnable; - - #endregion - - #region Logiqx - - if (machineFields.Contains(MachineField.Board)) - machine.Board = repMachine.Board; - - if (machineFields.Contains(MachineField.RebuildTo)) - machine.RebuildTo = repMachine.RebuildTo; - - if (machineFields.Contains(MachineField.NoIntroId)) - machine.NoIntroId = repMachine.NoIntroId; - - if (machineFields.Contains(MachineField.NoIntroCloneOfId)) - machine.NoIntroCloneOfId = repMachine.NoIntroCloneOfId; - - #endregion - - #region Logiqx EmuArc - - if (machineFields.Contains(MachineField.TitleID)) - machine.TitleID = repMachine.TitleID; - - if (machineFields.Contains(MachineField.Developer)) - machine.Developer = repMachine.Developer; - - if (machineFields.Contains(MachineField.Genre)) - machine.Genre = repMachine.Genre; - - if (machineFields.Contains(MachineField.Subgenre)) - machine.Subgenre = repMachine.Subgenre; - - if (machineFields.Contains(MachineField.Ratings)) - machine.Ratings = repMachine.Ratings; - - if (machineFields.Contains(MachineField.Score)) - machine.Score = repMachine.Score; - if (machineFields.Contains(MachineField.Enabled)) machine.Enabled = repMachine.Enabled; - if (machineFields.Contains(MachineField.CRC)) - machine.Crc = repMachine.Crc; - - if (machineFields.Contains(MachineField.RelatedTo)) - machine.RelatedTo = repMachine.RelatedTo; - - #endregion - - #region OpenMSX - if (machineFields.Contains(MachineField.GenMSXID)) machine.GenMSXID = repMachine.GenMSXID; - if (machineFields.Contains(MachineField.System)) - machine.System = repMachine.System; + if (machineFields.Contains(MachineField.Genre)) + machine.Genre = repMachine.Genre; - if (machineFields.Contains(MachineField.Country)) - machine.Country = repMachine.Country; + if (machineFields.Contains(MachineField.History)) + machine.History = repMachine.History; - #endregion + if (machineFields.Contains(MachineField.ID)) + machine.NoIntroId = repMachine.NoIntroId; - #region SoftwareList + if (machineFields.Contains(MachineField.Manufacturer)) + machine.Manufacturer = repMachine.Manufacturer; + + if (machineFields.Contains(MachineField.Name)) + machine.Name = repMachine.Name; + + if (machineFields.Contains(MachineField.Players)) + machine.Players = repMachine.Players; + + if (machineFields.Contains(MachineField.Publisher)) + machine.Publisher = repMachine.Publisher; + + if (machineFields.Contains(MachineField.Ratings)) + machine.Ratings = repMachine.Ratings; + + if (machineFields.Contains(MachineField.RebuildTo)) + machine.RebuildTo = repMachine.RebuildTo; + + if (machineFields.Contains(MachineField.RelatedTo)) + machine.RelatedTo = repMachine.RelatedTo; + + if (machineFields.Contains(MachineField.RomOf)) + machine.RomOf = repMachine.RomOf; + + if (machineFields.Contains(MachineField.Rotation)) + machine.Rotation = repMachine.Rotation; + + if (machineFields.Contains(MachineField.Runnable)) + machine.Runnable = repMachine.Runnable; + + if (machineFields.Contains(MachineField.SampleOf)) + machine.SampleOf = repMachine.SampleOf; + + if (machineFields.Contains(MachineField.Score)) + machine.Score = repMachine.Score; + + if (machineFields.Contains(MachineField.SourceFile)) + machine.SourceFile = repMachine.SourceFile; + + if (machineFields.Contains(MachineField.Status)) + machine.Status = repMachine.Status; + + if (machineFields.Contains(MachineField.Subgenre)) + machine.Subgenre = repMachine.Subgenre; if (machineFields.Contains(MachineField.Supported)) machine.Supported = repMachine.Supported; - #endregion + if (machineFields.Contains(MachineField.System)) + machine.System = repMachine.System; + + if (machineFields.Contains(MachineField.TitleID)) + machine.TitleID = repMachine.TitleID; + + if (machineFields.Contains(MachineField.Type)) + machine.MachineType = repMachine.MachineType; + + if (machineFields.Contains(MachineField.Year)) + machine.Year = repMachine.Year; } /// diff --git a/SabreTools.Test/Core/ConvertersTests.cs b/SabreTools.Test/Core/ConvertersTests.cs index 8d994c23..e1786bf8 100644 --- a/SabreTools.Test/Core/ConvertersTests.cs +++ b/SabreTools.Test/Core/ConvertersTests.cs @@ -303,6 +303,11 @@ namespace SabreTools.Test.Core [InlineData("game.category", MachineField.Category)] [InlineData("game.cloneof", MachineField.CloneOf)] [InlineData("game.clone_of", MachineField.CloneOf)] + [InlineData("game.cloneofid", MachineField.CloneOfID)] + [InlineData("game.nointrocloneofid", MachineField.CloneOfID)] + [InlineData("game.nointro_cloneofid", MachineField.CloneOfID)] + [InlineData("game.no_intro_cloneofid", MachineField.CloneOfID)] + [InlineData("game.no_intro_clone_of_id", MachineField.CloneOfID)] [InlineData("game.comment", MachineField.Comment)] [InlineData("game.extra", MachineField.Comment)] [InlineData("game.control", MachineField.Control)] @@ -324,17 +329,12 @@ namespace SabreTools.Test.Core [InlineData("game.gen_msx_id", MachineField.GenMSXID)] [InlineData("game.genre", MachineField.Genre)] [InlineData("game.history", MachineField.History)] + [InlineData("game.id", MachineField.ID)] + [InlineData("game.nointroid", MachineField.ID)] + [InlineData("game.nointro_id", MachineField.ID)] + [InlineData("game.no_intro_id", MachineField.ID)] [InlineData("game.manufacturer", MachineField.Manufacturer)] [InlineData("game.name", MachineField.Name)] - [InlineData("game.cloneofid", MachineField.NoIntroCloneOfId)] - [InlineData("game.nointrocloneofid", MachineField.NoIntroCloneOfId)] - [InlineData("game.nointro_cloneofid", MachineField.NoIntroCloneOfId)] - [InlineData("game.no_intro_cloneofid", MachineField.NoIntroCloneOfId)] - [InlineData("game.no_intro_clone_of_id", MachineField.NoIntroCloneOfId)] - [InlineData("game.id", MachineField.NoIntroId)] - [InlineData("game.nointroid", MachineField.NoIntroId)] - [InlineData("game.nointro_id", MachineField.NoIntroId)] - [InlineData("game.no_intro_id", MachineField.NoIntroId)] [InlineData("game.players", MachineField.Players)] [InlineData("game.publisher", MachineField.Publisher)] [InlineData("game.ratings", MachineField.Ratings)]