diff --git a/SabreTools.Library/DatFiles/OfflineList.cs b/SabreTools.Library/DatFiles/OfflineList.cs index ee3b3784..086d7004 100644 --- a/SabreTools.Library/DatFiles/OfflineList.cs +++ b/SabreTools.Library/DatFiles/OfflineList.cs @@ -24,7 +24,7 @@ namespace SabreTools.Library.DatFiles /// /// Represents parsing and writing of an OfflineList XML DAT /// - /// TODO: Verify that all read/write for this DatFile type is correct + /// TODO: Verify that all write for this DatFile type is correct internal class OfflineList : DatFile { /// @@ -58,10 +58,6 @@ namespace SabreTools.Library.DatFiles bool clean, bool remUnicode) { - // All XML-derived DATs share a lot in common so it just calls one implementation - new Logiqx(this, false).ParseFile(filename, sysid, srcid, keep, clean, remUnicode); - return; - Encoding enc = Utilities.GetEncoding(filename); XmlReader xtr = Utilities.GetXmlTextReader(filename); @@ -563,7 +559,7 @@ namespace SabreTools.Library.DatFiles bool remUnicode) { // Prepare all internal variables - string releaseNumber = "", key = "", publisher = ""; + string releaseNumber = "", key = "", publisher = "", duplicateid = ""; long size = -1; List roms = new List(); Machine machine = new Machine(); @@ -657,7 +653,11 @@ namespace SabreTools.Library.DatFiles break; case "duplicateid": - machine.CloneOf = reader.ReadElementContentAsString(); + duplicateid = reader.ReadElementContentAsString(); + if (duplicateid != "0") + { + machine.CloneOf = duplicateid; + } break; default: