diff --git a/SabreTools.Core/Enums.cs b/SabreTools.Core/Enums.cs
index 963cf5b9..76f31c4a 100644
--- a/SabreTools.Core/Enums.cs
+++ b/SabreTools.Core/Enums.cs
@@ -760,139 +760,153 @@ namespace SabreTools.Core
///
NULL = 0,
- #region Common
-
- [Mapping("file", "filename", "file_name")]
- FileName,
-
- [Mapping("dat", "datname", "dat_name", "internalname", "internal_name")]
- Name,
-
- [Mapping("desc", "description")]
- Description,
-
- [Mapping("root", "rootdir", "root_dir", "rootdirectory", "root_directory")]
- RootDir,
-
- [Mapping("category")]
- Category,
-
- [Mapping("version")]
- Version,
-
- [Mapping("date", "timestamp", "time_stamp")]
- Date,
-
+ /// Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter
[Mapping("author")]
Author,
- [Mapping("email", "e_mail")]
- Email,
-
- [Mapping("homepage", "home_page")]
- Homepage,
-
- [Mapping("url")]
- Url,
-
- [Mapping("comment")]
- Comment,
-
- [Mapping("header", "headerskipper", "header_skipper", "skipper")]
- HeaderSkipper,
-
- [Mapping("dattype", "type", "superdat")]
- Type,
-
- [Mapping("forcemerging", "force_merging")]
- ForceMerging,
-
- [Mapping("forcenodump", "force_nodump")]
- ForceNodump,
-
- [Mapping("forcepacking", "force_packing")]
- ForcePacking,
-
- #endregion
-
- #region ListXML
-
- [Mapping("debug")]
- Debug,
-
- [Mapping("mameconfig", "mame_config")]
- MameConfig,
-
- #endregion
-
- #region Logiqx
-
- [Mapping("id", "nointroid", "no_intro_id")]
- NoIntroID,
-
- [Mapping("build")]
- Build,
-
- [Mapping("rommode", "rom_mode")]
- RomMode,
-
+ /// Used in Logiqx
[Mapping("biosmode", "bios_mode")]
BiosMode,
- [Mapping("samplemode", "sample_mode")]
- SampleMode,
-
- [Mapping("lockrommode", "lockrom_mode", "lock_rommode", "lock_rom_mode")]
- LockRomMode,
-
- [Mapping("lockbiosmode", "lockbios_mode", "lock_biosmode", "lock_bios_mode")]
- LockBiosMode,
-
- [Mapping("locksamplemode", "locksample_mode", "lock_samplemode", "lock_sample_mode")]
- LockSampleMode,
-
- #endregion
-
- #region OfflineList
-
- /// "plugin" is used with RomCenter
- [Mapping("system", "plugin")]
- System,
-
- [Mapping("screenshotwidth", "screenshotswidth", "screenshot_width", "screenshots_width")]
- ScreenshotsWidth,
-
- [Mapping("screenshotheight", "screenshotsheight", "screenshot_height", "screenshots_height")]
- ScreenshotsHeight,
+ /// Used in Logiqx
+ [Mapping("build")]
+ Build,
+ /// Used with OfflineList
[Mapping("canopen", "can_open")]
CanOpen,
- [Mapping("romtitle", "rom_title")]
- RomTitle,
+ /// Used in ClrMamePro and Logiqx
+ [Mapping("category")]
+ Category,
- // Infos
+ /// Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter
+ [Mapping("comment")]
+ Comment,
- [Mapping("info_name", "infos_name")]
- Info_Name,
+ /// Used in ClrMamePro, DOSCenter, Logiqx, OpenMSX, and RomCenter
+ [Mapping("date", "timestamp", "time_stamp")]
+ Date,
- [Mapping("info_visible", "infos_visible")]
- Info_Visible,
+ /// Used in Logiqx and ListXML
+ [Mapping("debug")]
+ Debug,
- [Mapping("info_isnamingoption", "info_is_naming_option", "infos_isnamingoption", "infos_is_naming_option")]
- Info_IsNamingOption,
+ /// Used in ClrMamePro, DOSCenter, ListXML, Logiqx, OpenMSX, RomCenter, Separated Value, and Software List
+ [Mapping("desc", "description")]
+ Description,
+ /// Used in ClrMamePro, Logiqx, and RomCenter
+ [Mapping("email", "e_mail")]
+ Email,
+
+ /// Used in AttractMode, OfflineList, and Separated Value
+ [Mapping("file", "filename", "file_name")]
+ FileName,
+
+ /// Used in ClrMamePro, Logiqx, and RomCenter
+ [Mapping("forcemerging", "force_merging")]
+ ForceMerging,
+
+ /// Used in Logiqx
+ [Mapping("forcenodump", "force_nodump")]
+ ForceNodump,
+
+ /// Used in ClrMamePro and Logiqx
+ [Mapping("forcepacking", "force_packing")]
+ ForcePacking,
+
+ /// Used in ClrMamePro and Logiqx
+ [Mapping("header", "headerskipper", "header_skipper", "skipper")]
+ HeaderSkipper,
+
+ /// Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter
+ [Mapping("homepage", "home_page")]
+ Homepage,
+
+ /// Used in Logiqx
+ [Mapping("id", "nointroid", "no_intro_id")]
+ ID,
+
+ /// Used with OfflineList; Part of "Info" object
[Mapping("info_default", "infos_default")]
Info_Default,
- #endregion
+ /// Used with OfflineList; Part of "Info" object
+ [Mapping("info_isnamingoption", "info_is_naming_option", "infos_isnamingoption", "infos_is_naming_option")]
+ Info_IsNamingOption,
- #region RomCenter
+ /// Used with OfflineList; Part of "Info" object
+ [Mapping("info_name", "infos_name")]
+ Info_Name,
+ /// Used with OfflineList; Part of "Info" object
+ [Mapping("info_visible", "infos_visible")]
+ Info_Visible,
+
+ /// Used in Logiqx
+ [Mapping("lockbiosmode", "lockbios_mode", "lock_biosmode", "lock_bios_mode")]
+ LockBiosMode,
+
+ /// Used in Logiqx
+ [Mapping("lockrommode", "lockrom_mode", "lock_rommode", "lock_rom_mode")]
+ LockRomMode,
+
+ /// Used in Logiqx
+ [Mapping("locksamplemode", "locksample_mode", "lock_samplemode", "lock_sample_mode")]
+ LockSampleMode,
+
+ /// Used in ListXML
+ [Mapping("mameconfig", "mame_config")]
+ MameConfig,
+
+ /// Used in ClrMamePro, DOSCenter, ListXML, Logiqx, OfflineList, OpenMSX, RomCenter, Separated Value, and Software List
+ [Mapping("dat", "datname", "dat_name", "internalname", "internal_name")]
+ Name,
+
+ /// Used with RomCenter
[Mapping("rcversion", "rc_version", "romcenterversion", "romcenter_version", "rom_center_version")]
RomCenterVersion,
- #endregion
+ /// Used in Logiqx
+ [Mapping("rommode", "rom_mode")]
+ RomMode,
+
+ /// Used with OfflineList
+ [Mapping("romtitle", "rom_title")]
+ RomTitle,
+
+ /// Used with ClrMamePro and Logiqx
+ [Mapping("root", "rootdir", "root_dir", "rootdirectory", "root_directory")]
+ RootDir,
+
+ /// Used in Logiqx
+ [Mapping("samplemode", "sample_mode")]
+ SampleMode,
+
+ /// Used with OfflineList
+ [Mapping("screenshotheight", "screenshotsheight", "screenshot_height", "screenshots_height")]
+ ScreenshotsHeight,
+
+ /// Used with OfflineList
+ [Mapping("screenshotwidth", "screenshotswidth", "screenshot_width", "screenshots_width")]
+ ScreenshotsWidth,
+
+ /// Used with Logiqx, OfflineList, and RomCenter; "plugin" is used for RomCenter
+ [Mapping("system", "plugin")]
+ System,
+
+ /// Used with ClrMamePro, Logiqx, and OfflineList
+ [Mapping("dattype", "type", "superdat")]
+ Type,
+
+ /// Used with ClrMamePro, Logiqx, OfflineList, and RomCenter
+ [Mapping("url")]
+ Url,
+
+ /// Used with ClrMamePro, DOSCenter, ListXML, Logiqx, OfflineList, and RomCenter
+ [Mapping("version")]
+ Version,
}
///
@@ -1569,7 +1583,7 @@ namespace SabreTools.Core
#endregion
}
- #endregion
+#endregion
#region Logging
diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs
index 9f680709..22ce6dde 100644
--- a/SabreTools.DatFiles/DatHeader.cs
+++ b/SabreTools.DatFiles/DatHeader.cs
@@ -481,8 +481,8 @@ namespace SabreTools.DatFiles
#region Logiqx
- if (mappings.ContainsKey(DatHeaderField.NoIntroID))
- NoIntroID = mappings[DatHeaderField.NoIntroID];
+ if (mappings.ContainsKey(DatHeaderField.ID))
+ NoIntroID = mappings[DatHeaderField.ID];
if (mappings.ContainsKey(DatHeaderField.Build))
Build = mappings[DatHeaderField.Build];
diff --git a/SabreTools.DatFiles/Setter.cs b/SabreTools.DatFiles/Setter.cs
index 225f9167..10e1a0a1 100644
--- a/SabreTools.DatFiles/Setter.cs
+++ b/SabreTools.DatFiles/Setter.cs
@@ -103,49 +103,37 @@ namespace SabreTools.DatFiles
if (datHeader == null)
return;
- #region Common
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Author))
+ datHeader.Author = DatHeaderMappings[DatHeaderField.Author];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.FileName))
- datHeader.FileName = DatHeaderMappings[DatHeaderField.FileName];
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.BiosMode))
+ datHeader.BiosMode = DatHeaderMappings[DatHeaderField.BiosMode].AsMergingFlag();
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Name))
- datHeader.Name = DatHeaderMappings[DatHeaderField.Name];
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Build))
+ datHeader.Build = DatHeaderMappings[DatHeaderField.Build];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Description))
- datHeader.Description = DatHeaderMappings[DatHeaderField.Description];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.RootDir))
- datHeader.RootDir = DatHeaderMappings[DatHeaderField.RootDir];
+ // TODO: Support CanOpen
if (DatHeaderMappings.ContainsKey(DatHeaderField.Category))
datHeader.Category = DatHeaderMappings[DatHeaderField.Category];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Version))
- datHeader.Version = DatHeaderMappings[DatHeaderField.Version];
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Comment))
+ datHeader.Comment = DatHeaderMappings[DatHeaderField.Comment];
if (DatHeaderMappings.ContainsKey(DatHeaderField.Date))
datHeader.Date = DatHeaderMappings[DatHeaderField.Date];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Author))
- datHeader.Author = DatHeaderMappings[DatHeaderField.Author];
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Debug))
+ datHeader.Debug = DatHeaderMappings[DatHeaderField.Debug].AsYesNo();
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Description))
+ datHeader.Description = DatHeaderMappings[DatHeaderField.Description];
if (DatHeaderMappings.ContainsKey(DatHeaderField.Email))
datHeader.Email = DatHeaderMappings[DatHeaderField.Email];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Homepage))
- datHeader.Homepage = DatHeaderMappings[DatHeaderField.Homepage];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Url))
- datHeader.Url = DatHeaderMappings[DatHeaderField.Url];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Comment))
- datHeader.Comment = DatHeaderMappings[DatHeaderField.Comment];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.HeaderSkipper))
- datHeader.HeaderSkipper = DatHeaderMappings[DatHeaderField.HeaderSkipper];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Type))
- datHeader.Type = DatHeaderMappings[DatHeaderField.Type];
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.FileName))
+ datHeader.FileName = DatHeaderMappings[DatHeaderField.FileName];
if (DatHeaderMappings.ContainsKey(DatHeaderField.ForceMerging))
datHeader.ForceMerging = DatHeaderMappings[DatHeaderField.ForceMerging].AsMergingFlag();
@@ -156,71 +144,67 @@ namespace SabreTools.DatFiles
if (DatHeaderMappings.ContainsKey(DatHeaderField.ForcePacking))
datHeader.ForcePacking = DatHeaderMappings[DatHeaderField.ForcePacking].AsPackingFlag();
- #endregion
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.HeaderSkipper))
+ datHeader.HeaderSkipper = DatHeaderMappings[DatHeaderField.HeaderSkipper];
- #region ListXML
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Homepage))
+ datHeader.Homepage = DatHeaderMappings[DatHeaderField.Homepage];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Debug))
- datHeader.Debug = DatHeaderMappings[DatHeaderField.Debug].AsYesNo();
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.ID))
+ datHeader.NoIntroID = DatHeaderMappings[DatHeaderField.ID];
- if (DatHeaderMappings.ContainsKey(DatHeaderField.MameConfig))
- datHeader.MameConfig = DatHeaderMappings[DatHeaderField.MameConfig];
-
- #endregion
-
- #region Logiqx
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.NoIntroID))
- datHeader.NoIntroID = DatHeaderMappings[DatHeaderField.NoIntroID];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.Build))
- datHeader.Build = DatHeaderMappings[DatHeaderField.Build];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.RomMode))
- datHeader.RomMode = DatHeaderMappings[DatHeaderField.RomMode].AsMergingFlag();
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.BiosMode))
- datHeader.BiosMode = DatHeaderMappings[DatHeaderField.BiosMode].AsMergingFlag();
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.SampleMode))
- datHeader.SampleMode = DatHeaderMappings[DatHeaderField.SampleMode].AsMergingFlag();
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.LockRomMode))
- datHeader.LockRomMode = DatHeaderMappings[DatHeaderField.LockRomMode].AsYesNo();
+ // TODO: Support Info_Default
+ // TODO: Support Info_IsNamingOption
+ // TODO: Support Info_Name
+ // TODO: Support Info_Visible
if (DatHeaderMappings.ContainsKey(DatHeaderField.LockBiosMode))
datHeader.LockBiosMode = DatHeaderMappings[DatHeaderField.LockBiosMode].AsYesNo();
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.LockRomMode))
+ datHeader.LockRomMode = DatHeaderMappings[DatHeaderField.LockRomMode].AsYesNo();
+
if (DatHeaderMappings.ContainsKey(DatHeaderField.LockSampleMode))
datHeader.LockSampleMode = DatHeaderMappings[DatHeaderField.LockSampleMode].AsYesNo();
- #endregion
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.MameConfig))
+ datHeader.MameConfig = DatHeaderMappings[DatHeaderField.MameConfig];
- #region OfflineList
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.System))
- datHeader.System = DatHeaderMappings[DatHeaderField.System];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.ScreenshotsWidth))
- datHeader.ScreenshotsWidth = DatHeaderMappings[DatHeaderField.ScreenshotsWidth];
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.ScreenshotsHeight))
- datHeader.ScreenshotsHeight = DatHeaderMappings[DatHeaderField.ScreenshotsHeight];
-
- // TODO: Add DatHeader_Info*
- // TDOO: Add DatHeader_CanOpen*
-
- if (DatHeaderMappings.ContainsKey(DatHeaderField.RomTitle))
- datHeader.RomTitle = DatHeaderMappings[DatHeaderField.RomTitle];
-
- #endregion
-
- #region RomCenter
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Name))
+ datHeader.Name = DatHeaderMappings[DatHeaderField.Name];
if (DatHeaderMappings.ContainsKey(DatHeaderField.RomCenterVersion))
datHeader.RomCenterVersion = DatHeaderMappings[DatHeaderField.RomCenterVersion];
- #endregion
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.RomMode))
+ datHeader.RomMode = DatHeaderMappings[DatHeaderField.RomMode].AsMergingFlag();
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.RomTitle))
+ datHeader.RomTitle = DatHeaderMappings[DatHeaderField.RomTitle];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.RootDir))
+ datHeader.RootDir = DatHeaderMappings[DatHeaderField.RootDir];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.SampleMode))
+ datHeader.SampleMode = DatHeaderMappings[DatHeaderField.SampleMode].AsMergingFlag();
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.ScreenshotsHeight))
+ datHeader.ScreenshotsHeight = DatHeaderMappings[DatHeaderField.ScreenshotsHeight];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.ScreenshotsWidth))
+ datHeader.ScreenshotsWidth = DatHeaderMappings[DatHeaderField.ScreenshotsWidth];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.System))
+ datHeader.System = DatHeaderMappings[DatHeaderField.System];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Type))
+ datHeader.Type = DatHeaderMappings[DatHeaderField.Type];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Url))
+ datHeader.Url = DatHeaderMappings[DatHeaderField.Url];
+
+ if (DatHeaderMappings.ContainsKey(DatHeaderField.Version))
+ datHeader.Version = DatHeaderMappings[DatHeaderField.Version];
}
///