diff --git a/SabreTools.Library/DatFiles/DatHeader.cs b/SabreTools.Library/DatFiles/DatHeader.cs index 17f1670f..f5e8a45e 100644 --- a/SabreTools.Library/DatFiles/DatHeader.cs +++ b/SabreTools.Library/DatFiles/DatHeader.cs @@ -220,6 +220,7 @@ namespace SabreTools.Library.DatFiles /// /// System /// + /// Known as "plugin" in RomCenter [JsonProperty("system")] public string System { get; set; } diff --git a/SabreTools.Library/DatFiles/RomCenter.cs b/SabreTools.Library/DatFiles/RomCenter.cs index 31928453..19980fe0 100644 --- a/SabreTools.Library/DatFiles/RomCenter.cs +++ b/SabreTools.Library/DatFiles/RomCenter.cs @@ -124,7 +124,7 @@ namespace SabreTools.Library.DatFiles continue; } - // Get all credits items (ONLY OVERWRITE IF THERE'S NO DATA) + // Get all credits items switch (kvp?.Key.ToLowerInvariant()) { case "author": @@ -199,7 +199,7 @@ namespace SabreTools.Library.DatFiles continue; } - // Get all dat items (ONLY OVERWRITE IF THERE'S NO DATA) + // Get all dat items switch (kvp?.Key.ToLowerInvariant()) { case "version": @@ -207,6 +207,7 @@ namespace SabreTools.Library.DatFiles break; case "plugin": + Header.System = (Header.System != null ? kvp?.Value : Header.System); reader.ReadNextLine(); break; @@ -473,6 +474,7 @@ namespace SabreTools.Library.DatFiles iw.WriteSection("DAT"); iw.WriteKeyValuePair("version", "2.50"); + iw.WriteKeyValuePair("plugin", Header.System); iw.WriteKeyValuePair("split", Header.ForceMerging == ForceMerging.Split ? "1" : "0"); iw.WriteKeyValuePair("merge", Header.ForceMerging == ForceMerging.Full || Header.ForceMerging == ForceMerging.Merged ? "1" : "0"); diff --git a/SabreTools.Library/DatFiles/SeparatedValue.cs b/SabreTools.Library/DatFiles/SeparatedValue.cs index 0885aa88..69466cbc 100644 --- a/SabreTools.Library/DatFiles/SeparatedValue.cs +++ b/SabreTools.Library/DatFiles/SeparatedValue.cs @@ -793,6 +793,7 @@ namespace SabreTools.Library.DatFiles #region OfflineList case "system": + case "plugin": return "DatFile.System"; case "screenshotwidth":