diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs index c34ff4fa..7acfa3b5 100644 --- a/SabreTools.Helper/Tools/DatTools.cs +++ b/SabreTools.Helper/Tools/DatTools.cs @@ -1395,27 +1395,27 @@ namespace SabreTools.Helper } // Process each all of the roms - foreach (List roms in dict.Values) + foreach (string key in dict.Keys) { - List newroms = roms; + List roms = dict[key]; if (mergeroms) { - newroms = RomTools.Merge(newroms, logger); + roms = RomTools.Merge(roms, logger); } - foreach (Rom rom in newroms) + foreach (Rom rom in roms) { count++; - string key = (norename ? "" : rom.Metadata.SystemID.ToString().PadLeft(10, '0') + "-" + rom.Metadata.SourceID.ToString().PadLeft(10, '0') + "-") + rom.Game.ToLowerInvariant(); - if (sortable.ContainsKey(key)) + string newkey = (norename ? "" : rom.Metadata.SystemID.ToString().PadLeft(10, '0') + "-" + rom.Metadata.SourceID.ToString().PadLeft(10, '0') + "-") + rom.Game.ToLowerInvariant(); + if (sortable.ContainsKey(newkey)) { - sortable[key].Add(rom); + sortable[newkey].Add(rom); } else { List temp = new List(); temp.Add(rom); - sortable.Add(key, temp); + sortable.Add(newkey, temp); } } } diff --git a/SabreTools.Helper/Tools/RomTools.cs b/SabreTools.Helper/Tools/RomTools.cs index ed7c8913..36303f34 100644 --- a/SabreTools.Helper/Tools/RomTools.cs +++ b/SabreTools.Helper/Tools/RomTools.cs @@ -356,9 +356,10 @@ namespace SabreTools.Helper hash = (hash.StartsWith("0x") ? hash.Remove(0, 2) : hash); hash = (hash == "-" ? "" : hash); hash = (String.IsNullOrEmpty(hash) ? "" : hash.PadLeft(padding, '0')); + hash = hash.ToLowerInvariant(); // Then make sure that it has the correct characters - if (!Regex.IsMatch(hash.ToLowerInvariant(), "[0-9a-f]{" + padding + "}")) + if (!Regex.IsMatch(hash, "[0-9a-f]{" + padding + "}")) { hash = ""; }