diff --git a/SabreTools.Library/Dats/Partials/DatFile.ConvertUpdate.cs b/SabreTools.Library/Dats/Partials/DatFile.ConvertUpdate.cs index 8c0fcde1..cd372a92 100644 --- a/SabreTools.Library/Dats/Partials/DatFile.ConvertUpdate.cs +++ b/SabreTools.Library/Dats/Partials/DatFile.ConvertUpdate.cs @@ -236,11 +236,8 @@ namespace SabreTools.Library.Dats interOutDir = Path.GetDirectoryName(Path.Combine(Environment.CurrentDirectory, splitpath[0].Remove(0, splitpath[1].Length + 1))); } - // Once we're done, we check to see if there's anything to write out - if (intDat.Count > 0) - { - intDat.WriteToFile(interOutDir); - } + // Once we're done, try writing out + intDat.WriteToFile(interOutDir); // Due to possible memory requirements, we force a garbage collection GC.Collect(); diff --git a/SabreTools.Library/Dats/Partials/DatFile.Writers.cs b/SabreTools.Library/Dats/Partials/DatFile.Writers.cs index f5273fdb..a15c683d 100644 --- a/SabreTools.Library/Dats/Partials/DatFile.Writers.cs +++ b/SabreTools.Library/Dats/Partials/DatFile.Writers.cs @@ -1604,70 +1604,42 @@ namespace SabreTools.Library.Dats { string footer = ""; - // If we have roms, output the full footer - if (Count > 0) + // Output the proper footer + switch (datFormat) { - switch (datFormat) - { - case DatFormat.ClrMamePro: - case DatFormat.DOSCenter: - footer = ")\n"; - break; - case DatFormat.Logiqx: - footer = "\t\n\n"; - break; - case DatFormat.OfflineList: - footer = "\t\t" - + "\t\n" - + "\t\n" - + "\t\t\n" - + "\t\t\t\n" - + "\t\t\t\n" - + "\t\t\n" - + "\t\n" - + ""; - break; - case DatFormat.SabreDat: - for (int i = depth - 1; i >= 2; i--) + case DatFormat.ClrMamePro: + case DatFormat.DOSCenter: + footer = ")\n"; + break; + case DatFormat.Logiqx: + footer = "\t\n\n"; + break; + case DatFormat.OfflineList: + footer = "\t\t" + + "\t\n" + + "\t\n" + + "\t\t\n" + + "\t\t\t\n" + + "\t\t\t\n" + + "\t\t\n" + + "\t\n" + + ""; + break; + case DatFormat.SabreDat: + for (int i = depth - 1; i >= 2; i--) + { + // Print out the number of tabs and the end folder + for (int j = 0; j < i; j++) { - // Print out the number of tabs and the end folder - for (int j = 0; j < i; j++) - { - footer += "\t"; - } - footer += "\n"; + footer += "\t"; } - footer += "\t\n\n"; - break; - case DatFormat.SoftwareList: - footer = "\t\n\n\n"; - break; - } - } - - // Otherwise, output the abbreviated form - else - { - switch (datFormat) - { - case DatFormat.Logiqx: - case DatFormat.SabreDat: - footer = "\n"; - break; - case DatFormat.OfflineList: - footer = "\t\n" - + "\t\n" - + "\t\t\n" - + "\t\t\t\n" - + "\t\t\t\n" - + "\t\t\n" - + "\t\n" - + ""; - break; - case DatFormat.SoftwareList: - footer = "\n"; - break; - } + footer += "\n"; + } + footer += "\t\n\n"; + break; + case DatFormat.SoftwareList: + footer = "\t\n\n\n"; + break; } // Write the footer out