diff --git a/OfflineMerge/OfflineMerge.cs b/OfflineMerge/OfflineMerge.cs index dd33366d..105663c0 100644 --- a/OfflineMerge/OfflineMerge.cs +++ b/OfflineMerge/OfflineMerge.cs @@ -53,10 +53,6 @@ namespace SabreTools /// (c) New Missing - (a)+(currentMissingMerged-(b)) /// /// True if the files were created properly, false otherwise - /// - /// Need to implement: - /// - DAT hash and size replacement (_fake == true) - /// public bool Process() { // First get the combination Dictionary of currentWithReplaced and currentAllMerged @@ -156,6 +152,59 @@ namespace SabreTools } } + // If we are supposed to replace everything in the output with default values, do so + if (_fake) + { + foreach (string key in netNew.Keys) + { + List temp = new List(); + List roms = netNew[key]; + for (int i = 0; i < roms.Count; i++) + { + RomData rom = roms[i]; + rom.Size = sizezero; + rom.CRC = crczero; + rom.MD5 = md5zero; + rom.SHA1 = sha1zero; + temp.Add(rom); + } + netNew.Remove(key); + netNew.Add(key, temp); + } + foreach (string key in unneeded.Keys) + { + List temp = new List(); + List roms = unneeded[key]; + for (int i = 0; i < roms.Count; i++) + { + RomData rom = roms[i]; + rom.Size = sizezero; + rom.CRC = crczero; + rom.MD5 = md5zero; + rom.SHA1 = sha1zero; + temp.Add(rom); + } + unneeded.Remove(key); + unneeded.Add(key, temp); + } + foreach (string key in newMissing.Keys) + { + List temp = new List(); + List roms = newMissing[key]; + for (int i = 0; i < roms.Count; i++) + { + RomData rom = roms[i]; + rom.Size = sizezero; + rom.CRC = crczero; + rom.MD5 = md5zero; + rom.SHA1 = sha1zero; + temp.Add(rom); + } + newMissing.Remove(key); + newMissing.Add(key, temp); + } + } + // Finally, output all of the files Output.WriteToDatFromDict("netnew-merged", "netnew-merged", "", DateTime.Now.ToString("yyyy-MM-dd"), "", "SabreTools", false, false, true, "", netNew, _logger); Output.WriteToDatFromDict("unneeded-merged", "unneeded-merged", "", DateTime.Now.ToString("yyyy-MM-dd"), "", "SabreTools", false, false, true, "", unneeded, _logger);