diff --git a/SabreTools.DatFiles/DatFile.MetadataConverter.cs b/SabreTools.DatFiles/DatFile.FromMetadata.cs
similarity index 82%
rename from SabreTools.DatFiles/DatFile.MetadataConverter.cs
rename to SabreTools.DatFiles/DatFile.FromMetadata.cs
index dd71361d..b20edbb0 100644
--- a/SabreTools.DatFiles/DatFile.MetadataConverter.cs
+++ b/SabreTools.DatFiles/DatFile.FromMetadata.cs
@@ -1411,252 +1411,5 @@ namespace SabreTools.DatFiles
}
#endregion
-
- #region To Metadata
-
- ///
- /// Convert metadata information
- ///
- public Models.Metadata.MetadataFile? ConvertMetadata()
- {
- // If we don't have items, we can't do anything
- if (this.Items == null || !this.Items.Any())
- return null;
-
- // Create an object to hold the data
- var metadataFile = new Models.Metadata.MetadataFile();
-
- // Convert and assign the header
- var header = ConvertHeader();
- if (header != null)
- metadataFile[Models.Metadata.MetadataFile.HeaderKey] = header;
-
- // TODO: Implement machine creation
-
- return metadataFile;
- }
-
- ///
- /// Convert header information
- ///
- private Models.Metadata.Header? ConvertHeader()
- {
- // If the header is invalid, we can't do anything
- if (Header == null)
- return null;
-
- // Create an internal header
- var header = new Models.Metadata.Header();
-
- if (Header.GetFieldValue(Models.Metadata.Header.AuthorKey) == null)
- header[Models.Metadata.Header.AuthorKey] = Header.GetFieldValue(Models.Metadata.Header.AuthorKey);
- if (Header.GetFieldValue(Models.Metadata.Header.BiosModeKey) == MergingFlag.None)
- header[Models.Metadata.Header.BiosModeKey] = Header.GetFieldValue(Models.Metadata.Header.BiosModeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.BuildKey) == null)
- header[Models.Metadata.Header.BuildKey] = Header.GetFieldValue(Models.Metadata.Header.BuildKey);
- if (Header.GetFieldValue(Models.Metadata.Header.CategoryKey) == null)
- header[Models.Metadata.Header.CategoryKey] = Header.GetFieldValue(Models.Metadata.Header.CategoryKey);
- if (Header.GetFieldValue(Models.Metadata.Header.CommentKey) == null)
- header[Models.Metadata.Header.CommentKey] = Header.GetFieldValue(Models.Metadata.Header.CommentKey);
- if (Header.GetFieldValue(Models.Metadata.Header.DateKey) == null)
- header[Models.Metadata.Header.DateKey] = Header.GetFieldValue(Models.Metadata.Header.DateKey);
- if (Header.GetFieldValue(Models.Metadata.Header.DatVersionKey) == null)
- header[Models.Metadata.Header.DatVersionKey] = Header.GetFieldValue(Models.Metadata.Header.DatVersionKey);
- if (Header.GetFieldValue(Models.Metadata.Header.DebugKey) == null)
- header[Models.Metadata.Header.DebugKey] = Header.GetFieldValue(Models.Metadata.Header.DebugKey);
- if (Header.GetFieldValue(Models.Metadata.Header.DescriptionKey) == null)
- header[Models.Metadata.Header.DescriptionKey] = Header.GetFieldValue(Models.Metadata.Header.DescriptionKey);
- if (Header.GetFieldValue(Models.Metadata.Header.EmailKey) == null)
- header[Models.Metadata.Header.EmailKey] = Header.GetFieldValue(Models.Metadata.Header.EmailKey);
- if (Header.GetFieldValue(Models.Metadata.Header.EmulatorVersionKey) == null)
- header[Models.Metadata.Header.EmulatorVersionKey] = Header.GetFieldValue(Models.Metadata.Header.EmulatorVersionKey);
- if (Header.GetFieldValue(Models.Metadata.Header.ForceMergingKey) == MergingFlag.None)
- header[Models.Metadata.Header.ForceMergingKey] = Header.GetFieldValue(Models.Metadata.Header.ForceMergingKey);
- if (Header.GetFieldValue(Models.Metadata.Header.ForceNodumpKey) == NodumpFlag.None)
- header[Models.Metadata.Header.ForceNodumpKey] = Header.GetFieldValue(Models.Metadata.Header.ForceNodumpKey);
- if (Header.GetFieldValue(Models.Metadata.Header.ForcePackingKey) == PackingFlag.None)
- header[Models.Metadata.Header.ForcePackingKey] = Header.GetFieldValue(Models.Metadata.Header.ForcePackingKey);
- if (Header.GetFieldValue(Models.Metadata.Header.HeaderKey) == null)
- header[Models.Metadata.Header.HeaderKey] = Header.GetFieldValue(Models.Metadata.Header.HeaderKey);
- if (Header.GetFieldValue(Models.Metadata.Header.HomepageKey) == null)
- header[Models.Metadata.Header.HomepageKey] = Header.GetFieldValue(Models.Metadata.Header.HomepageKey);
- if (Header.GetFieldValue(Models.Metadata.Header.IdKey) == null)
- header[Models.Metadata.Header.IdKey] = Header.GetFieldValue(Models.Metadata.Header.IdKey);
- if (Header.GetFieldValue(Models.Metadata.Header.ImFolderKey) == null)
- header[Models.Metadata.Header.ImFolderKey] = Header.GetFieldValue(Models.Metadata.Header.ImFolderKey);
- if (Header.GetFieldValue(Models.Metadata.Header.LockBiosModeKey) == null)
- header[Models.Metadata.Header.LockBiosModeKey] = Header.GetFieldValue(Models.Metadata.Header.LockBiosModeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.LockRomModeKey) == null)
- header[Models.Metadata.Header.LockRomModeKey] = Header.GetFieldValue(Models.Metadata.Header.LockRomModeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.LockSampleModeKey) == null)
- header[Models.Metadata.Header.LockSampleModeKey] = Header.GetFieldValue(Models.Metadata.Header.LockSampleModeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.MameConfigKey) == null)
- header[Models.Metadata.Header.MameConfigKey] = Header.GetFieldValue(Models.Metadata.Header.NameKey);
- if (Header.GetFieldValue(Models.Metadata.Header.NameKey) == null)
- header[Models.Metadata.Header.NameKey] = Header.GetFieldValue(Models.Metadata.Header.MameConfigKey);
- if (Header.GetFieldValue(Models.Metadata.Header.PluginKey) == null)
- header[Models.Metadata.Header.PluginKey] = Header.GetFieldValue(Models.Metadata.Header.PluginKey);
- if (Header.GetFieldValue(Models.Metadata.Header.RefNameKey) == null)
- header[Models.Metadata.Header.RefNameKey] = Header.GetFieldValue(Models.Metadata.Header.RefNameKey);
- if (Header.GetFieldValue(Models.Metadata.Header.RomModeKey) == MergingFlag.None)
- header[Models.Metadata.Header.RomModeKey] = Header.GetFieldValue(Models.Metadata.Header.RomModeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.RomTitleKey) == null)
- header[Models.Metadata.Header.RomTitleKey] = Header.GetFieldValue(Models.Metadata.Header.RomTitleKey);
- if (Header.GetFieldValue(Models.Metadata.Header.RootDirKey) == null)
- header[Models.Metadata.Header.RootDirKey] = Header.GetFieldValue(Models.Metadata.Header.RootDirKey);
- if (Header.GetFieldValue(Models.Metadata.Header.SampleModeKey) == MergingFlag.None)
- header[Models.Metadata.Header.SampleModeKey] = Header.GetFieldValue(Models.Metadata.Header.SampleModeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.ScreenshotsHeightKey) == null)
- header[Models.Metadata.Header.ScreenshotsHeightKey] = Header.GetFieldValue(Models.Metadata.Header.ScreenshotsHeightKey);
- if (Header.GetFieldValue(Models.Metadata.Header.ScreenshotsWidthKey) == null)
- header[Models.Metadata.Header.ScreenshotsWidthKey] = Header.GetFieldValue(Models.Metadata.Header.ScreenshotsWidthKey);
- if (Header.GetFieldValue(Models.Metadata.Header.SystemKey) == null)
- header[Models.Metadata.Header.SystemKey] = Header.GetFieldValue(Models.Metadata.Header.SystemKey);
- if (Header.GetFieldValue(Models.Metadata.Header.TypeKey) == null)
- header[Models.Metadata.Header.TypeKey] = Header.GetFieldValue(Models.Metadata.Header.TypeKey);
- if (Header.GetFieldValue(Models.Metadata.Header.UrlKey) == null)
- header[Models.Metadata.Header.UrlKey] = Header.GetFieldValue(Models.Metadata.Header.UrlKey);
- if (Header.GetFieldValue(Models.Metadata.Header.VersionKey) == null)
- header[Models.Metadata.Header.VersionKey] = Header.GetFieldValue(Models.Metadata.Header.VersionKey);
-
- // Convert subheader values
- if (Header.CanOpenSpecified)
- header[Models.Metadata.Header.CanOpenKey] = Header.GetFieldValue(Models.Metadata.Header.CanOpenKey);
- // if (Header.ImagesSpecified)
- // // TODO: Add to internal model
- if (Header.InfosSpecified)
- {
- var infoItem = new Models.OfflineList.Infos();
- var infos = Header.GetFieldValue(Models.Metadata.Header.InfosKey)!;
- foreach (var info in infos)
- {
- switch (info.Name)
- {
- case "title":
- infoItem.Title = new Models.OfflineList.Title
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "location":
- infoItem.Location = new Models.OfflineList.Location
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "publisher":
- infoItem.Publisher = new Models.OfflineList.Publisher
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "sourceRom":
- infoItem.SourceRom = new Models.OfflineList.SourceRom
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "saveType":
- infoItem.SaveType = new Models.OfflineList.SaveType
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "romSize":
- infoItem.RomSize = new Models.OfflineList.RomSize
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "releaseNumber":
- infoItem.ReleaseNumber = new Models.OfflineList.ReleaseNumber
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "languageNumber":
- infoItem.LanguageNumber = new Models.OfflineList.LanguageNumber
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "comment":
- infoItem.Comment = new Models.OfflineList.Comment
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "romCRC":
- infoItem.RomCRC = new Models.OfflineList.RomCRC
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "im1CRC":
- infoItem.Im1CRC = new Models.OfflineList.Im1CRC
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "im2CRC":
- infoItem.Im2CRC = new Models.OfflineList.Im2CRC
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- case "languages":
- infoItem.Languages = new Models.OfflineList.Languages
- {
- Visible = info.Visible.FromYesNo(),
- InNamingOption = info.InNamingOption.FromYesNo(),
- Default = info.Default.FromYesNo(),
- };
- break;
- }
- }
-
- header[Models.Metadata.Header.InfosKey] = infoItem;
- }
- if (Header.NewDatSpecified)
- {
- var newDat = new Models.OfflineList.NewDat
- {
- DatVersionUrl = Header.GetFieldValue("DATVERSIONURL"),
- //DatUrl = Header.GetFieldValue("DATURL"), // TODO: Add to internal model
- ImUrl = Header.GetFieldValue("IMURL"),
- };
- header[Models.Metadata.Header.NewDatKey] = newDat;
- }
- // if (Header.SearchSpecified)
- // // TODO: Add to internal model
-
- return header;
- }
-
- #endregion
}
}
\ No newline at end of file
diff --git a/SabreTools.DatFiles/DatFile.ToMetadata.cs b/SabreTools.DatFiles/DatFile.ToMetadata.cs
new file mode 100644
index 00000000..4f041f68
--- /dev/null
+++ b/SabreTools.DatFiles/DatFile.ToMetadata.cs
@@ -0,0 +1,257 @@
+using System.Collections.Generic;
+using System.Linq;
+using SabreTools.Core;
+using SabreTools.Core.Tools;
+
+namespace SabreTools.DatFiles
+{
+ public partial class DatFile
+ {
+ #region To Metadata
+
+ ///
+ /// Convert metadata information
+ ///
+ public Models.Metadata.MetadataFile? ConvertMetadata()
+ {
+ // If we don't have items, we can't do anything
+ if (this.Items == null || !this.Items.Any())
+ return null;
+
+ // Create an object to hold the data
+ var metadataFile = new Models.Metadata.MetadataFile();
+
+ // Convert and assign the header
+ var header = ConvertHeader();
+ if (header != null)
+ metadataFile[Models.Metadata.MetadataFile.HeaderKey] = header;
+
+ // TODO: Implement machine creation
+
+ return metadataFile;
+ }
+
+ ///
+ /// Convert header information
+ ///
+ private Models.Metadata.Header? ConvertHeader()
+ {
+ // If the header is invalid, we can't do anything
+ if (Header == null)
+ return null;
+
+ // Create an internal header
+ var header = new Models.Metadata.Header();
+
+ if (Header.GetFieldValue(Models.Metadata.Header.AuthorKey) == null)
+ header[Models.Metadata.Header.AuthorKey] = Header.GetFieldValue(Models.Metadata.Header.AuthorKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.BiosModeKey) == MergingFlag.None)
+ header[Models.Metadata.Header.BiosModeKey] = Header.GetFieldValue(Models.Metadata.Header.BiosModeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.BuildKey) == null)
+ header[Models.Metadata.Header.BuildKey] = Header.GetFieldValue(Models.Metadata.Header.BuildKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.CategoryKey) == null)
+ header[Models.Metadata.Header.CategoryKey] = Header.GetFieldValue(Models.Metadata.Header.CategoryKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.CommentKey) == null)
+ header[Models.Metadata.Header.CommentKey] = Header.GetFieldValue(Models.Metadata.Header.CommentKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.DateKey) == null)
+ header[Models.Metadata.Header.DateKey] = Header.GetFieldValue(Models.Metadata.Header.DateKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.DatVersionKey) == null)
+ header[Models.Metadata.Header.DatVersionKey] = Header.GetFieldValue(Models.Metadata.Header.DatVersionKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.DebugKey) == null)
+ header[Models.Metadata.Header.DebugKey] = Header.GetFieldValue(Models.Metadata.Header.DebugKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.DescriptionKey) == null)
+ header[Models.Metadata.Header.DescriptionKey] = Header.GetFieldValue(Models.Metadata.Header.DescriptionKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.EmailKey) == null)
+ header[Models.Metadata.Header.EmailKey] = Header.GetFieldValue(Models.Metadata.Header.EmailKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.EmulatorVersionKey) == null)
+ header[Models.Metadata.Header.EmulatorVersionKey] = Header.GetFieldValue(Models.Metadata.Header.EmulatorVersionKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.ForceMergingKey) == MergingFlag.None)
+ header[Models.Metadata.Header.ForceMergingKey] = Header.GetFieldValue(Models.Metadata.Header.ForceMergingKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.ForceNodumpKey) == NodumpFlag.None)
+ header[Models.Metadata.Header.ForceNodumpKey] = Header.GetFieldValue(Models.Metadata.Header.ForceNodumpKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.ForcePackingKey) == PackingFlag.None)
+ header[Models.Metadata.Header.ForcePackingKey] = Header.GetFieldValue(Models.Metadata.Header.ForcePackingKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.HeaderKey) == null)
+ header[Models.Metadata.Header.HeaderKey] = Header.GetFieldValue(Models.Metadata.Header.HeaderKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.HomepageKey) == null)
+ header[Models.Metadata.Header.HomepageKey] = Header.GetFieldValue(Models.Metadata.Header.HomepageKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.IdKey) == null)
+ header[Models.Metadata.Header.IdKey] = Header.GetFieldValue(Models.Metadata.Header.IdKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.ImFolderKey) == null)
+ header[Models.Metadata.Header.ImFolderKey] = Header.GetFieldValue(Models.Metadata.Header.ImFolderKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.LockBiosModeKey) == null)
+ header[Models.Metadata.Header.LockBiosModeKey] = Header.GetFieldValue(Models.Metadata.Header.LockBiosModeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.LockRomModeKey) == null)
+ header[Models.Metadata.Header.LockRomModeKey] = Header.GetFieldValue(Models.Metadata.Header.LockRomModeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.LockSampleModeKey) == null)
+ header[Models.Metadata.Header.LockSampleModeKey] = Header.GetFieldValue(Models.Metadata.Header.LockSampleModeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.MameConfigKey) == null)
+ header[Models.Metadata.Header.MameConfigKey] = Header.GetFieldValue(Models.Metadata.Header.NameKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.NameKey) == null)
+ header[Models.Metadata.Header.NameKey] = Header.GetFieldValue(Models.Metadata.Header.MameConfigKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.PluginKey) == null)
+ header[Models.Metadata.Header.PluginKey] = Header.GetFieldValue(Models.Metadata.Header.PluginKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.RefNameKey) == null)
+ header[Models.Metadata.Header.RefNameKey] = Header.GetFieldValue(Models.Metadata.Header.RefNameKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.RomModeKey) == MergingFlag.None)
+ header[Models.Metadata.Header.RomModeKey] = Header.GetFieldValue(Models.Metadata.Header.RomModeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.RomTitleKey) == null)
+ header[Models.Metadata.Header.RomTitleKey] = Header.GetFieldValue(Models.Metadata.Header.RomTitleKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.RootDirKey) == null)
+ header[Models.Metadata.Header.RootDirKey] = Header.GetFieldValue(Models.Metadata.Header.RootDirKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.SampleModeKey) == MergingFlag.None)
+ header[Models.Metadata.Header.SampleModeKey] = Header.GetFieldValue(Models.Metadata.Header.SampleModeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.ScreenshotsHeightKey) == null)
+ header[Models.Metadata.Header.ScreenshotsHeightKey] = Header.GetFieldValue(Models.Metadata.Header.ScreenshotsHeightKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.ScreenshotsWidthKey) == null)
+ header[Models.Metadata.Header.ScreenshotsWidthKey] = Header.GetFieldValue(Models.Metadata.Header.ScreenshotsWidthKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.SystemKey) == null)
+ header[Models.Metadata.Header.SystemKey] = Header.GetFieldValue(Models.Metadata.Header.SystemKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.TypeKey) == null)
+ header[Models.Metadata.Header.TypeKey] = Header.GetFieldValue(Models.Metadata.Header.TypeKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.UrlKey) == null)
+ header[Models.Metadata.Header.UrlKey] = Header.GetFieldValue(Models.Metadata.Header.UrlKey);
+ if (Header.GetFieldValue(Models.Metadata.Header.VersionKey) == null)
+ header[Models.Metadata.Header.VersionKey] = Header.GetFieldValue(Models.Metadata.Header.VersionKey);
+
+ // Convert subheader values
+ if (Header.CanOpenSpecified)
+ header[Models.Metadata.Header.CanOpenKey] = Header.GetFieldValue(Models.Metadata.Header.CanOpenKey);
+ // if (Header.ImagesSpecified)
+ // // TODO: Add to internal model
+ if (Header.InfosSpecified)
+ {
+ var infoItem = new Models.OfflineList.Infos();
+ var infos = Header.GetFieldValue(Models.Metadata.Header.InfosKey)!;
+ foreach (var info in infos)
+ {
+ switch (info.Name)
+ {
+ case "title":
+ infoItem.Title = new Models.OfflineList.Title
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "location":
+ infoItem.Location = new Models.OfflineList.Location
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "publisher":
+ infoItem.Publisher = new Models.OfflineList.Publisher
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "sourceRom":
+ infoItem.SourceRom = new Models.OfflineList.SourceRom
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "saveType":
+ infoItem.SaveType = new Models.OfflineList.SaveType
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "romSize":
+ infoItem.RomSize = new Models.OfflineList.RomSize
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "releaseNumber":
+ infoItem.ReleaseNumber = new Models.OfflineList.ReleaseNumber
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "languageNumber":
+ infoItem.LanguageNumber = new Models.OfflineList.LanguageNumber
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "comment":
+ infoItem.Comment = new Models.OfflineList.Comment
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "romCRC":
+ infoItem.RomCRC = new Models.OfflineList.RomCRC
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "im1CRC":
+ infoItem.Im1CRC = new Models.OfflineList.Im1CRC
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "im2CRC":
+ infoItem.Im2CRC = new Models.OfflineList.Im2CRC
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ case "languages":
+ infoItem.Languages = new Models.OfflineList.Languages
+ {
+ Visible = info.Visible.FromYesNo(),
+ InNamingOption = info.InNamingOption.FromYesNo(),
+ Default = info.Default.FromYesNo(),
+ };
+ break;
+ }
+ }
+
+ header[Models.Metadata.Header.InfosKey] = infoItem;
+ }
+ if (Header.NewDatSpecified)
+ {
+ var newDat = new Models.OfflineList.NewDat
+ {
+ DatVersionUrl = Header.GetFieldValue("DATVERSIONURL"),
+ //DatUrl = Header.GetFieldValue("DATURL"), // TODO: Add to internal model
+ ImUrl = Header.GetFieldValue("IMURL"),
+ };
+ header[Models.Metadata.Header.NewDatKey] = newDat;
+ }
+ // if (Header.SearchSpecified)
+ // // TODO: Add to internal model
+
+ return header;
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file