mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add more IDDB variants; port GetDuplicates to IDDB
This commit is contained in:
@@ -69,9 +69,11 @@ namespace SabreTools.DatTools
|
||||
|
||||
// Bucket roms by game name, if not already
|
||||
datFile.Items.BucketBy(ItemKey.Machine, DedupeType.None);
|
||||
datFile.ItemsDB.BucketBy(ItemKey.Machine, DedupeType.None);
|
||||
|
||||
// Output the number of items we're going to be writing
|
||||
logger.User($"A total of {datFile.Items.DatStatistics.TotalCount - datFile.Items.DatStatistics.RemovedCount} items will be written out to '{datFile.Header.GetStringFieldValue(DatHeader.FileNameKey)}'");
|
||||
//logger.User($"A total of {datFile.ItemsDB.DatStatistics.TotalCount - datFile.ItemsDB.DatStatistics.RemovedCount} items will be written out to '{datFile.Header.GetStringFieldValue(DatHeader.FileNameKey)}'");
|
||||
|
||||
// Get the outfile names
|
||||
Dictionary<DatFormat, string> outfiles = datFile.Header.CreateOutFileNames(outDir!, overwrite);
|
||||
@@ -128,15 +130,28 @@ namespace SabreTools.DatTools
|
||||
if (diskCount + mediaCount + romCount == 0)
|
||||
datFile.Items.RecalculateStats();
|
||||
|
||||
diskCount = datFile.ItemsDB.DatStatistics.GetItemCount(ItemType.Disk);
|
||||
mediaCount = datFile.ItemsDB.DatStatistics.GetItemCount(ItemType.Media);
|
||||
romCount = datFile.ItemsDB.DatStatistics.GetItemCount(ItemType.Rom);
|
||||
|
||||
if (diskCount + mediaCount + romCount == 0)
|
||||
datFile.ItemsDB.RecalculateStats();
|
||||
|
||||
datFile.Items.BucketBy(ItemKey.Machine, DedupeType.None, norename: true);
|
||||
datFile.ItemsDB.BucketBy(ItemKey.Machine, DedupeType.None, norename: true);
|
||||
|
||||
datFile.Items.DatStatistics.DisplayName = datFile.Header.GetStringFieldValue(DatHeader.FileNameKey);
|
||||
datFile.Items.DatStatistics.MachineCount = datFile.Items.Keys.Count;
|
||||
datFile.Items.DatStatistics.IsDirectory = false;
|
||||
|
||||
datFile.ItemsDB.DatStatistics.DisplayName = datFile.Header.GetStringFieldValue(DatHeader.FileNameKey);
|
||||
datFile.ItemsDB.DatStatistics.MachineCount = datFile.Items.Keys.Count;
|
||||
datFile.ItemsDB.DatStatistics.IsDirectory = false;
|
||||
|
||||
var statsList = new List<DatStatistics>
|
||||
{
|
||||
datFile.Items.DatStatistics,
|
||||
//datFile.ItemsDB.DatStatistics,
|
||||
};
|
||||
var consoleOutput = BaseReport.Create(StatReportFormat.None, statsList);
|
||||
consoleOutput!.WriteToFile(null, true, true);
|
||||
@@ -206,14 +221,19 @@ namespace SabreTools.DatTools
|
||||
{
|
||||
// Force a statistics recheck, just in case
|
||||
datFile.Items.RecalculateStats();
|
||||
datFile.ItemsDB.RecalculateStats();
|
||||
|
||||
// If there's nothing there, abort
|
||||
if (datFile.Items.DatStatistics.TotalCount == 0)
|
||||
return false;
|
||||
if (datFile.ItemsDB.DatStatistics.TotalCount == 0)
|
||||
return false;
|
||||
|
||||
// If every item is removed, abort
|
||||
if (datFile.Items.DatStatistics.TotalCount == datFile.Items.DatStatistics.RemovedCount)
|
||||
return false;
|
||||
if (datFile.ItemsDB.DatStatistics.TotalCount == datFile.ItemsDB.DatStatistics.RemovedCount)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user