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);
}
}
}