mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Convert size keys to size properties
This commit is contained in:
@@ -609,7 +609,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Convert the item
|
||||
var romItem = new Rom(rom, machine, source);
|
||||
long? size = romItem.ReadLong(Data.Models.Metadata.Rom.SizeKey);
|
||||
long? size = romItem.Size;
|
||||
|
||||
// If the rom is a continue or ignore
|
||||
Data.Models.Metadata.LoadFlag? loadFlag = rom.LoadFlag;
|
||||
@@ -618,8 +618,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|| loadFlag == Data.Models.Metadata.LoadFlag.Ignore))
|
||||
{
|
||||
var lastRom = addRoms[addRoms.Count - 1];
|
||||
long? lastSize = lastRom.ReadLong(Data.Models.Metadata.Rom.SizeKey);
|
||||
lastRom.Write(Data.Models.Metadata.Rom.SizeKey, lastSize + size);
|
||||
long? lastSize = lastRom.Size;
|
||||
lastRom.Size = lastSize + size;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -360,7 +360,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
aggregateDataArea = [];
|
||||
aggregateDataArea.Endianness = dataArea.Endianness;
|
||||
aggregateDataArea.Name = dataArea.Name;
|
||||
aggregateDataArea[Data.Models.Metadata.DataArea.SizeKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.SizeKey);
|
||||
aggregateDataArea.Size = dataArea.Size;
|
||||
aggregateDataArea[Data.Models.Metadata.DataArea.WidthKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.WidthKey);
|
||||
}
|
||||
|
||||
@@ -786,7 +786,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
aggregateDataArea = [];
|
||||
aggregateDataArea.Endianness = dataArea.Endianness;
|
||||
aggregateDataArea.Name = dataArea.Name;
|
||||
aggregateDataArea[Data.Models.Metadata.DataArea.SizeKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.SizeKey);
|
||||
aggregateDataArea.Size = dataArea.Size;
|
||||
aggregateDataArea[Data.Models.Metadata.DataArea.WidthKey] = dataArea.ReadString(Data.Models.Metadata.DataArea.WidthKey);
|
||||
}
|
||||
|
||||
|
||||
@@ -639,7 +639,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
sha256 = rom.ReadString(Data.Models.Metadata.Rom.SHA256Key) ?? string.Empty;
|
||||
sha384 = rom.ReadString(Data.Models.Metadata.Rom.SHA384Key) ?? string.Empty;
|
||||
sha512 = rom.ReadString(Data.Models.Metadata.Rom.SHA512Key) ?? string.Empty;
|
||||
size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey).ToString() ?? string.Empty;
|
||||
size = rom.Size.ToString() ?? string.Empty;
|
||||
spamsum = rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey) ?? string.Empty;
|
||||
}
|
||||
|
||||
@@ -681,7 +681,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
return item;
|
||||
|
||||
// If the item has a size
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is not null)
|
||||
if (rom.Size is not null)
|
||||
return rom;
|
||||
|
||||
// If the item CRC isn't "null"
|
||||
@@ -690,7 +690,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// If the Rom has "null" characteristics, ensure all fields
|
||||
rom.Name = rom.Name == "null" ? "-" : rom.Name;
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "0");
|
||||
rom.Size = 0;
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key,
|
||||
rom.ReadString(Data.Models.Metadata.Rom.CRC16Key) == "null" ? HashType.CRC16.ZeroString : null);
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey,
|
||||
@@ -999,7 +999,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (ignoreBlanks && datItem is Rom rom)
|
||||
{
|
||||
// If we have a 0-size or blank rom, then we ignore
|
||||
long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey);
|
||||
long? size = rom.Size;
|
||||
if (size == 0 || size is null)
|
||||
{
|
||||
string itemString = JsonConvert.SerializeObject(datItem, Formatting.None);
|
||||
|
||||
@@ -374,7 +374,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
ItemStatus? status = rom.Status;
|
||||
if (status != ItemStatus.Nodump)
|
||||
{
|
||||
TotalSize += rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0;
|
||||
TotalSize += rom.Size ?? 0;
|
||||
AddHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1);
|
||||
AddHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1);
|
||||
AddHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1);
|
||||
@@ -503,7 +503,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
ItemStatus? status = rom.Status;
|
||||
if (status != ItemStatus.Nodump)
|
||||
{
|
||||
TotalSize -= rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0;
|
||||
TotalSize -= rom.Size ?? 0;
|
||||
RemoveHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1);
|
||||
RemoveHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1);
|
||||
RemoveHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1);
|
||||
|
||||
@@ -90,8 +90,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key))
|
||||
|
||||
@@ -36,8 +36,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
// if (string.IsNullOrEmpty(rom.Date))
|
||||
// missingFields.Add(Data.Models.Metadata.Rom.DateKey);
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)))
|
||||
|
||||
@@ -46,8 +46,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)))
|
||||
missingFields.Add(Data.Models.Metadata.Rom.CRCKey);
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)))
|
||||
|
||||
@@ -269,8 +269,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)))
|
||||
{
|
||||
|
||||
@@ -282,8 +282,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Name));
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key))
|
||||
|
||||
@@ -32,8 +32,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
switch (datItem)
|
||||
{
|
||||
case Rom rom:
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)))
|
||||
missingFields.Add(Data.Models.Metadata.Rom.CRCKey);
|
||||
break;
|
||||
|
||||
@@ -38,8 +38,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
case Rom rom:
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)))
|
||||
missingFields.Add(Data.Models.Metadata.Rom.CRCKey);
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -93,8 +93,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
break;
|
||||
|
||||
case Rom rom:
|
||||
if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0)
|
||||
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
|
||||
if (rom.Size is null || rom.Size < 0)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Rom.Size));
|
||||
if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key))
|
||||
&& string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))
|
||||
|
||||
@@ -187,14 +187,14 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
if (!rom.DataAreaSpecified)
|
||||
{
|
||||
missingFields.Add(nameof(Data.Models.Metadata.DataArea.Name));
|
||||
missingFields.Add(Data.Models.Metadata.DataArea.SizeKey);
|
||||
missingFields.Add(nameof(Data.Models.Metadata.DataArea.Size));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(rom.Read<DataArea?>(Rom.DataAreaKey)!.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.DataArea.Name));
|
||||
if (rom.Read<DataArea?>(Rom.DataAreaKey)!.ReadLong(Data.Models.Metadata.DataArea.SizeKey) is null)
|
||||
missingFields.Add(Data.Models.Metadata.DataArea.SizeKey);
|
||||
if (rom.Read<DataArea?>(Rom.DataAreaKey)!.Size is null)
|
||||
missingFields.Add(nameof(Data.Models.Metadata.DataArea.Size));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
@@ -136,7 +136,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
else if (item is Rom rom)
|
||||
{
|
||||
long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey);
|
||||
long? size = rom.Size;
|
||||
|
||||
// If we have the case where there is SHA-1 and nothing else, we don't fill in any other part of the data
|
||||
if (size is null && !string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)))
|
||||
@@ -149,7 +149,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
else if ((size == 0 || size is null)
|
||||
&& (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash()))
|
||||
{
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "0");
|
||||
rom.Size = 0;
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString
|
||||
|
||||
@@ -225,7 +225,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
else if (item is Rom rom)
|
||||
{
|
||||
long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey);
|
||||
long? size = rom.Size;
|
||||
|
||||
// If we have the case where there is SHA-1 and nothing else, we don't fill in any other part of the data
|
||||
if (size is null && !string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)))
|
||||
@@ -238,7 +238,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
else if ((size == 0 || size is null)
|
||||
&& (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash()))
|
||||
{
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SizeKey, "0");
|
||||
rom.Size = 0;
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString
|
||||
|
||||
Reference in New Issue
Block a user