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