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