diff --git a/RombaSharp/Partials/RombaSharp.Helpers.cs b/RombaSharp/Partials/RombaSharp.Helpers.cs index fd2eceac..fa6001c8 100644 --- a/RombaSharp/Partials/RombaSharp.Helpers.cs +++ b/RombaSharp/Partials/RombaSharp.Helpers.cs @@ -405,7 +405,7 @@ namespace RombaSharp // First get a list of SHA-1's from the input DATs DatFile datroot = new DatFile { Type = "SuperDAT", }; datroot.PopulateFromDir(_dats, Hash.SHA256 & Hash.SHA384 & Hash.SHA512, false, false, false, false, false, _tmpdir, false, null, 4, _logger); - datroot.BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + datroot.BucketBy(SortedBy.SHA1, false /* mergeroms */, _logger); // Create a List of dat hashes in the database (SHA-1) List databaseDats = new List(); @@ -435,7 +435,7 @@ namespace RombaSharp unneeded.Add(hash); } } - datroot.BucketBy(SortedBy.Game, false /* mergeroms */, _logger, output: false, norename: true); + datroot.BucketBy(SortedBy.Game, false /* mergeroms */, _logger, norename: true); _logger.User("Populating complete in " + DateTime.Now.Subtract(start).ToString(@"hh\:mm\:ss\.fffff")); @@ -619,7 +619,7 @@ namespace RombaSharp // Now rescan the depot itself DatFile depot = new DatFile(); depot.PopulateFromDir(depotname, Hash.SHA256 & Hash.SHA384 & Hash.SHA512, false, false, true, false, false, _tmpdir, false, null, _workers, _logger); - depot.BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + depot.BucketBy(SortedBy.SHA1, false /* mergeroms */, _logger); // Set the base queries to use string crcquery = "INSERT OR IGNORE INTO crc (crc) VALUES"; diff --git a/SabreTools.Helper/Dats/DatFile.cs b/SabreTools.Helper/Dats/DatFile.cs index 1b34f95f..a5bbf7ce 100644 --- a/SabreTools.Helper/Dats/DatFile.cs +++ b/SabreTools.Helper/Dats/DatFile.cs @@ -438,9 +438,9 @@ namespace SabreTools.Helper.Dats } /// - /// Get the number of keys in the file dictionary + /// Get the number of DatItems in the file dictionary /// - /// Number of keys in the file dictionary + /// Number of DatItems in the file dictionary public long Count { get diff --git a/SabreTools.Helper/Dats/DatItem.cs b/SabreTools.Helper/Dats/DatItem.cs index d0749907..af4ebee5 100644 --- a/SabreTools.Helper/Dats/DatItem.cs +++ b/SabreTools.Helper/Dats/DatItem.cs @@ -345,12 +345,12 @@ namespace SabreTools.Helper.Dats if (_itemType == ItemType.Rom) { key = ((Rom)this).SHA512; - datdata.BucketBy(SortedBy.SHA512, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA512, false /* mergeroms */, logger); } else { key = ((Disk)this).SHA512; - datdata.BucketBy(SortedBy.SHA512, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA512, false /* mergeroms */, logger); } } @@ -362,12 +362,12 @@ namespace SabreTools.Helper.Dats if (_itemType == ItemType.Rom) { key = ((Rom)this).SHA384; - datdata.BucketBy(SortedBy.SHA384, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA384, false /* mergeroms */, logger); } else { key = ((Disk)this).SHA384; - datdata.BucketBy(SortedBy.SHA384, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA384, false /* mergeroms */, logger); } } @@ -379,12 +379,12 @@ namespace SabreTools.Helper.Dats if (_itemType == ItemType.Rom) { key = ((Rom)this).SHA256; - datdata.BucketBy(SortedBy.SHA256, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA256, false /* mergeroms */, logger); } else { key = ((Disk)this).SHA256; - datdata.BucketBy(SortedBy.SHA256, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA256, false /* mergeroms */, logger); } } @@ -396,12 +396,12 @@ namespace SabreTools.Helper.Dats if (_itemType == ItemType.Rom) { key = ((Rom)this).SHA1; - datdata.BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA1, false /* mergeroms */, logger); } else { key = ((Disk)this).SHA1; - datdata.BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.SHA1, false /* mergeroms */, logger); } } @@ -413,12 +413,12 @@ namespace SabreTools.Helper.Dats if (_itemType == ItemType.Rom) { key = ((Rom)this).MD5; - datdata.BucketBy(SortedBy.MD5, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.MD5, false /* mergeroms */, logger); } else { key = ((Disk)this).MD5; - datdata.BucketBy(SortedBy.MD5, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.MD5, false /* mergeroms */, logger); } } @@ -426,21 +426,21 @@ namespace SabreTools.Helper.Dats else if (_itemType == ItemType.Disk) { key = ((Disk)this).MD5; - datdata.BucketBy(SortedBy.MD5, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.MD5, false /* mergeroms */, logger); } // If we've gotten here and we have a Rom, sort by CRC else if (_itemType == ItemType.Rom) { key = ((Rom)this).CRC; - datdata.BucketBy(SortedBy.CRC, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.CRC, false /* mergeroms */, logger); } // Otherwise, we use -1 as the key else { key = "-1"; - datdata.BucketBy(SortedBy.Size, false /* mergeroms */, logger, output: false); + datdata.BucketBy(SortedBy.Size, false /* mergeroms */, logger); } return key; diff --git a/SabreTools.Helper/Dats/Partials/DatFile.Bucketing.cs b/SabreTools.Helper/Dats/Partials/DatFile.Bucketing.cs index 878ca2c5..062e9cea 100644 --- a/SabreTools.Helper/Dats/Partials/DatFile.Bucketing.cs +++ b/SabreTools.Helper/Dats/Partials/DatFile.Bucketing.cs @@ -20,10 +20,9 @@ namespace SabreTools.Helper.Dats /// SortedBy enum representing how to sort the individual items /// True if roms should be deduped, false otherwise /// Logger object for file and console output - /// True if the number of hashes counted is to be output (default), false otherwise /// True if the key should be lowercased (default), false otherwise /// True if games should only be compared on game and file name, false if system and source are counted - public void BucketBy(SortedBy bucketBy, bool mergeroms, Logger logger, bool output = true, bool lower = true, bool norename = true) + public void BucketBy(SortedBy bucketBy, bool mergeroms, Logger logger, bool lower = true, bool norename = true) { // If we already have the right sorting, trust it if (_sortedBy == bucketBy) @@ -34,8 +33,8 @@ namespace SabreTools.Helper.Dats // Set the sorted type _sortedBy = bucketBy; + // Create the temporary dictionary to sort into SortedDictionary> sortable = new SortedDictionary>(); - long count = 0; logger.User("Organizing " + (mergeroms ? "and merging " : "") + "roms by " + bucketBy); @@ -55,7 +54,6 @@ namespace SabreTools.Helper.Dats // Now add each of the roms to their respective games foreach (DatItem rom in roms) { - count++; string newkey = ""; switch (bucketBy) @@ -137,12 +135,6 @@ namespace SabreTools.Helper.Dats } }); - // Output the count if told to - if (output) - { - logger.User("A total of " + count + " items will be written out to file"); - } - // Now assign the dictionary back _files = sortable; } @@ -156,13 +148,12 @@ namespace SabreTools.Helper.Dats /// /// True if roms should be deduped, false otherwise /// Logger object for file and console output - /// True if the number of hashes counted is to be output (default), false otherwise - public void CreateFullyNonMergedSets(bool mergeroms, Logger logger, bool output = true) + public void CreateFullyNonMergedSets(bool mergeroms, Logger logger) { logger.User("Creating fully non-merged sets from the DAT"); // For sake of ease, the first thing we want to do is sort by game - BucketBy(SortedBy.Game, mergeroms, logger, output: output, norename: true); + BucketBy(SortedBy.Game, mergeroms, logger, norename: true); _sortedBy = SortedBy.Default; // Now we want to loop through all of the games and set the correct information @@ -184,13 +175,12 @@ namespace SabreTools.Helper.Dats /// /// True if roms should be deduped, false otherwise /// Logger object for file and console output - /// True if the number of hashes counted is to be output (default), false otherwise - public void CreateMergedSets(bool mergeroms, Logger logger, bool output = true) + public void CreateMergedSets(bool mergeroms, Logger logger) { logger.User("Creating merged sets from the DAT"); // For sake of ease, the first thing we want to do is sort by game - BucketBy(SortedBy.Game, mergeroms, logger, output: output, norename: true); + BucketBy(SortedBy.Game, mergeroms, logger, norename: true); _sortedBy = SortedBy.Default; // Now we want to loop through all of the games and set the correct information @@ -208,13 +198,12 @@ namespace SabreTools.Helper.Dats /// /// True if roms should be deduped, false otherwise /// Logger object for file and console output - /// True if the number of hashes counted is to be output (default), false otherwise - public void CreateNonMergedSets(bool mergeroms, Logger logger, bool output = true) + public void CreateNonMergedSets(bool mergeroms, Logger logger) { logger.User("Creating non-merged sets from the DAT"); // For sake of ease, the first thing we want to do is sort by game - BucketBy(SortedBy.Game, mergeroms, logger, output: output, norename: true); + BucketBy(SortedBy.Game, mergeroms, logger, norename: true); _sortedBy = SortedBy.Default; // Now we want to loop through all of the games and set the correct information @@ -232,13 +221,12 @@ namespace SabreTools.Helper.Dats /// /// True if roms should be deduped, false otherwise /// Logger object for file and console output - /// True if the number of hashes counted is to be output (default), false otherwise - public void CreateSplitSets(bool mergeroms, Logger logger, bool output = true) + public void CreateSplitSets(bool mergeroms, Logger logger) { logger.User("Creating split sets from the DAT"); // For sake of ease, the first thing we want to do is sort by game - BucketBy(SortedBy.Game, mergeroms, logger, output: output, norename: true); + BucketBy(SortedBy.Game, mergeroms, logger, norename: true); _sortedBy = SortedBy.Default; // Now we want to loop through all of the games and set the correct information diff --git a/SabreTools.Helper/Dats/Partials/DatFile.Rebuild.cs b/SabreTools.Helper/Dats/Partials/DatFile.Rebuild.cs index 3f132340..9728e50e 100644 --- a/SabreTools.Helper/Dats/Partials/DatFile.Rebuild.cs +++ b/SabreTools.Helper/Dats/Partials/DatFile.Rebuild.cs @@ -145,7 +145,7 @@ namespace SabreTools.Helper.Dats } // Now that we have a list of depots, we want to sort the input DAT by SHA-1 - BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + BucketBy(SortedBy.SHA1, false /* mergeroms */, logger); // Then we want to loop through each of the hashes and see if we can rebuild List hashes = Keys.ToList(); @@ -830,7 +830,7 @@ namespace SabreTools.Helper.Dats } // Now that we have a list of depots, we want to sort the input DAT by SHA-1 - BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + BucketBy(SortedBy.SHA1, false /* mergeroms */, logger); // Then we want to loop through each of the hashes and see if we can rebuild List hashes = Keys.ToList(); @@ -941,7 +941,7 @@ namespace SabreTools.Helper.Dats if (hashOnly) { // First we need to sort by hash to get duplicates - BucketBy(SortedBy.SHA1, false /* mergeroms */, logger, output: false); + BucketBy(SortedBy.SHA1, false /* mergeroms */, logger); // Then follow the same tactics as before foreach (string key in Keys) diff --git a/SabreTools.Helper/Dats/Partials/DatFile.Writers.cs b/SabreTools.Helper/Dats/Partials/DatFile.Writers.cs index 653de619..aa7b2ddf 100644 --- a/SabreTools.Helper/Dats/Partials/DatFile.Writers.cs +++ b/SabreTools.Helper/Dats/Partials/DatFile.Writers.cs @@ -111,6 +111,9 @@ namespace SabreTools.Helper.Dats // Bucket roms by game name and optionally dedupe BucketBy(SortedBy.Game, MergeRoms, logger, norename: norename); + // Output the number of items we're going to be writing + logger.User("A total of " + Count + " items will be written out to file"); + // Filter the DAT by 1G1R rules, if we're supposed to // TODO: Create 1G1R logic before write