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)]