diff --git a/SabreTools.Library/DatFiles/DatFile.cs b/SabreTools.Library/DatFiles/DatFile.cs index 9f44b04a..9aff68ef 100644 --- a/SabreTools.Library/DatFiles/DatFile.cs +++ b/SabreTools.Library/DatFiles/DatFile.cs @@ -3423,17 +3423,11 @@ namespace SabreTools.Library.DatFiles /// /// Set the output directory (current directory on null) /// True if games should only be compared on game and file name (default), false if system and source are counted - /// True if DAT statistics should be output on write, false otherwise (default) /// True if blank roms should be skipped on output, false otherwise (default) /// True if files should be overwritten (default), false if they should be renamed instead /// True if the error that is thrown should be thrown back to the caller, false otherwise /// True if the DAT was written correctly, false otherwise - public bool Write(string outDir, - bool norename = true, - bool stats = false, - bool ignoreblanks = false, - bool overwrite = true, - bool throwOnError = false) + public bool Write(string outDir, bool norename = true, bool ignoreblanks = false, bool overwrite = true, bool throwOnError = false) { // If we have nothing writable, abort if (!HasWritable()) @@ -3455,18 +3449,6 @@ namespace SabreTools.Library.DatFiles // Make sure that the three essential fields are filled in EnsureHeaderFields(); - // Output initial statistics, for kicks - if (stats) - { - if (Items.RomCount + Items.DiskCount == 0) - Items.RecalculateStats(); - - Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: true); - - var consoleOutput = BaseReport.Create(StatReportFormat.None, null, true, true); - consoleOutput.ReplaceStatistics(Header.FileName, Items.Keys.Count(), Items); - } - // Bucket roms by game name, if not already Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: norename); @@ -3504,6 +3486,20 @@ namespace SabreTools.Library.DatFiles return true; } + /// + /// Write the stats out to console for the current DatFile + /// + public void WriteStatsToConsole() + { + if (Items.RomCount + Items.DiskCount == 0) + Items.RecalculateStats(); + + Items.BucketBy(Field.Machine_Name, DedupeType.None, norename: true); + + var consoleOutput = BaseReport.Create(StatReportFormat.None, null, true, true); + consoleOutput.ReplaceStatistics(Header.FileName, Items.Keys.Count(), Items); + } + /// /// Create and open an output file for writing direct from a dictionary /// diff --git a/SabreTools/Features/Verify.cs b/SabreTools/Features/Verify.cs index eb154269..4d27f62a 100644 --- a/SabreTools/Features/Verify.cs +++ b/SabreTools/Features/Verify.cs @@ -79,7 +79,8 @@ namespace SabreTools.Features datdata.VerifyGeneric(Inputs, hashOnly, quickScan, asFiles); // Now write out if there are any items left - datdata.Write(OutputDir, stats: true); + datdata.WriteStatsToConsole(); + datdata.Write(OutputDir); } } // Otherwise, process all DATs into the same output @@ -116,7 +117,8 @@ namespace SabreTools.Features datdata.VerifyGeneric(Inputs, hashOnly, quickScan, asFiles); // Now write out if there are any items left - datdata.Write(OutputDir, stats: true); + datdata.WriteStatsToConsole(); + datdata.Write(OutputDir); } } }