mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatTools] Add lock to adding rom
The idea is that this will help in the future to make Parsing go quicker
This commit is contained in:
@@ -1452,26 +1452,29 @@ namespace SabreTools.Helper
|
|||||||
rom.HashData.Size = -1;
|
rom.HashData.Size = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
key = rom.HashData.Size + "-" + rom.HashData.CRC;
|
lock (datdata.Files)
|
||||||
if (datdata.Files.ContainsKey(key))
|
|
||||||
{
|
{
|
||||||
datdata.Files[key].Add(rom);
|
key = rom.HashData.Size + "-" + rom.HashData.CRC;
|
||||||
}
|
if (datdata.Files.ContainsKey(key))
|
||||||
else
|
{
|
||||||
{
|
datdata.Files[key].Add(rom);
|
||||||
List<Rom> newvalue = new List<Rom>();
|
}
|
||||||
newvalue.Add(rom);
|
else
|
||||||
datdata.Files.Add(key, newvalue);
|
{
|
||||||
}
|
List<Rom> newvalue = new List<Rom>();
|
||||||
|
newvalue.Add(rom);
|
||||||
|
datdata.Files.Add(key, newvalue);
|
||||||
|
}
|
||||||
|
|
||||||
// Add statistical data
|
// Add statistical data
|
||||||
datdata.RomCount += (rom.Type == ItemType.Rom ? 1 : 0);
|
datdata.RomCount += (rom.Type == ItemType.Rom ? 1 : 0);
|
||||||
datdata.DiskCount += (rom.Type == ItemType.Disk ? 1 : 0);
|
datdata.DiskCount += (rom.Type == ItemType.Disk ? 1 : 0);
|
||||||
datdata.TotalSize += (rom.Nodump ? 0 : rom.HashData.Size);
|
datdata.TotalSize += (rom.Nodump ? 0 : rom.HashData.Size);
|
||||||
datdata.CRCCount += (String.IsNullOrEmpty(rom.HashData.CRC) ? 0 : 1);
|
datdata.CRCCount += (String.IsNullOrEmpty(rom.HashData.CRC) ? 0 : 1);
|
||||||
datdata.MD5Count += (String.IsNullOrEmpty(rom.HashData.MD5) ? 0 : 1);
|
datdata.MD5Count += (String.IsNullOrEmpty(rom.HashData.MD5) ? 0 : 1);
|
||||||
datdata.SHA1Count += (String.IsNullOrEmpty(rom.HashData.SHA1) ? 0 : 1);
|
datdata.SHA1Count += (String.IsNullOrEmpty(rom.HashData.SHA1) ? 0 : 1);
|
||||||
datdata.NodumpCount += (rom.Nodump ? 1 : 0);
|
datdata.NodumpCount += (rom.Nodump ? 1 : 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return datdata;
|
return datdata;
|
||||||
|
|||||||
Reference in New Issue
Block a user