Reorganize and add comments to DatHeaderField

This commit is contained in:
Matt Nadareski
2023-04-20 14:28:30 -04:00
parent a2958a703c
commit b16afd6d59
3 changed files with 189 additions and 191 deletions

View File

@@ -760,139 +760,153 @@ namespace SabreTools.Core
/// </summary>
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,
/// <remarks>Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter</remarks>
[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,
/// <remarks>Used in Logiqx</remarks>
[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
/// <remarks>"plugin" is used with RomCenter</remarks>
[Mapping("system", "plugin")]
System,
[Mapping("screenshotwidth", "screenshotswidth", "screenshot_width", "screenshots_width")]
ScreenshotsWidth,
[Mapping("screenshotheight", "screenshotsheight", "screenshot_height", "screenshots_height")]
ScreenshotsHeight,
/// <remarks>Used in Logiqx</remarks>
[Mapping("build")]
Build,
/// <remarks>Used with OfflineList</remarks>
[Mapping("canopen", "can_open")]
CanOpen,
[Mapping("romtitle", "rom_title")]
RomTitle,
/// <remarks>Used in ClrMamePro and Logiqx</remarks>
[Mapping("category")]
Category,
// Infos
/// <remarks>Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter</remarks>
[Mapping("comment")]
Comment,
[Mapping("info_name", "infos_name")]
Info_Name,
/// <remarks>Used in ClrMamePro, DOSCenter, Logiqx, OpenMSX, and RomCenter</remarks>
[Mapping("date", "timestamp", "time_stamp")]
Date,
[Mapping("info_visible", "infos_visible")]
Info_Visible,
/// <remarks>Used in Logiqx and ListXML</remarks>
[Mapping("debug")]
Debug,
[Mapping("info_isnamingoption", "info_is_naming_option", "infos_isnamingoption", "infos_is_naming_option")]
Info_IsNamingOption,
/// <remarks>Used in ClrMamePro, DOSCenter, ListXML, Logiqx, OpenMSX, RomCenter, Separated Value, and Software List</remarks>
[Mapping("desc", "description")]
Description,
/// <remarks>Used in ClrMamePro, Logiqx, and RomCenter</remarks>
[Mapping("email", "e_mail")]
Email,
/// <remarks>Used in AttractMode, OfflineList, and Separated Value</remarks>
[Mapping("file", "filename", "file_name")]
FileName,
/// <remarks>Used in ClrMamePro, Logiqx, and RomCenter</remarks>
[Mapping("forcemerging", "force_merging")]
ForceMerging,
/// <remarks>Used in Logiqx</remarks>
[Mapping("forcenodump", "force_nodump")]
ForceNodump,
/// <remarks>Used in ClrMamePro and Logiqx</remarks>
[Mapping("forcepacking", "force_packing")]
ForcePacking,
/// <remarks>Used in ClrMamePro and Logiqx</remarks>
[Mapping("header", "headerskipper", "header_skipper", "skipper")]
HeaderSkipper,
/// <remarks>Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter</remarks>
[Mapping("homepage", "home_page")]
Homepage,
/// <remarks>Used in Logiqx</remarks>
[Mapping("id", "nointroid", "no_intro_id")]
ID,
/// <remarks>Used with OfflineList; Part of "Info" object</remarks>
[Mapping("info_default", "infos_default")]
Info_Default,
#endregion
/// <remarks>Used with OfflineList; Part of "Info" object</remarks>
[Mapping("info_isnamingoption", "info_is_naming_option", "infos_isnamingoption", "infos_is_naming_option")]
Info_IsNamingOption,
#region RomCenter
/// <remarks>Used with OfflineList; Part of "Info" object</remarks>
[Mapping("info_name", "infos_name")]
Info_Name,
/// <remarks>Used with OfflineList; Part of "Info" object</remarks>
[Mapping("info_visible", "infos_visible")]
Info_Visible,
/// <remarks>Used in Logiqx</remarks>
[Mapping("lockbiosmode", "lockbios_mode", "lock_biosmode", "lock_bios_mode")]
LockBiosMode,
/// <remarks>Used in Logiqx</remarks>
[Mapping("lockrommode", "lockrom_mode", "lock_rommode", "lock_rom_mode")]
LockRomMode,
/// <remarks>Used in Logiqx</remarks>
[Mapping("locksamplemode", "locksample_mode", "lock_samplemode", "lock_sample_mode")]
LockSampleMode,
/// <remarks>Used in ListXML</remarks>
[Mapping("mameconfig", "mame_config")]
MameConfig,
/// <remarks>Used in ClrMamePro, DOSCenter, ListXML, Logiqx, OfflineList, OpenMSX, RomCenter, Separated Value, and Software List</remarks>
[Mapping("dat", "datname", "dat_name", "internalname", "internal_name")]
Name,
/// <remarks>Used with RomCenter</remarks>
[Mapping("rcversion", "rc_version", "romcenterversion", "romcenter_version", "rom_center_version")]
RomCenterVersion,
#endregion
/// <remarks>Used in Logiqx</remarks>
[Mapping("rommode", "rom_mode")]
RomMode,
/// <remarks>Used with OfflineList</remarks>
[Mapping("romtitle", "rom_title")]
RomTitle,
/// <remarks>Used with ClrMamePro and Logiqx</remarks>
[Mapping("root", "rootdir", "root_dir", "rootdirectory", "root_directory")]
RootDir,
/// <remarks>Used in Logiqx</remarks>
[Mapping("samplemode", "sample_mode")]
SampleMode,
/// <remarks>Used with OfflineList</remarks>
[Mapping("screenshotheight", "screenshotsheight", "screenshot_height", "screenshots_height")]
ScreenshotsHeight,
/// <remarks>Used with OfflineList</remarks>
[Mapping("screenshotwidth", "screenshotswidth", "screenshot_width", "screenshots_width")]
ScreenshotsWidth,
/// <remarks>Used with Logiqx, OfflineList, and RomCenter; "plugin" is used for RomCenter</remarks>
[Mapping("system", "plugin")]
System,
/// <remarks>Used with ClrMamePro, Logiqx, and OfflineList</remarks>
[Mapping("dattype", "type", "superdat")]
Type,
/// <remarks>Used with ClrMamePro, Logiqx, OfflineList, and RomCenter</remarks>
[Mapping("url")]
Url,
/// <remarks>Used with ClrMamePro, DOSCenter, ListXML, Logiqx, OfflineList, and RomCenter</remarks>
[Mapping("version")]
Version,
}
/// <summary>

View File

@@ -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];

View File

@@ -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];
}
/// <summary>