Add Aaruformat validation and media item type (#29)

* Initial `media` and AaruFormat code

* But... why?

* Fix AIF reading

* Fix D2D, Logiqx cleanup

* Minor cleanup

* Final cleanup round
This commit is contained in:
Matt Nadareski
2020-08-27 16:57:22 -07:00
committed by GitHub
parent 3b481de3b9
commit 4d0a3f55eb
51 changed files with 2853 additions and 908 deletions

View File

@@ -321,13 +321,7 @@ namespace SabreTools.Library.Filtering
// Disk
public FilterItem<string> DatItem_MD5 { get; private set; } = new FilterItem<string>();
#if NET_FRAMEWORK
public FilterItem<string> DatItem_RIPEMD160 { get; private set; } = new FilterItem<string>();
#endif
public FilterItem<string> DatItem_SHA1 { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_SHA256 { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_SHA384 { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_SHA512 { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_Merge { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_Region { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_Index { get; private set; } = new FilterItem<string>();
@@ -335,6 +329,9 @@ namespace SabreTools.Library.Filtering
public FilterItem<bool?> DatItem_Optional { get; private set; } = new FilterItem<bool?>() { Neutral = null };
public FilterItem<ItemStatus> DatItem_Status { get; private set; } = new FilterItem<ItemStatus>() { Positive = ItemStatus.NULL, Negative = ItemStatus.NULL };
// Media
public FilterItem<string> DatItem_SHA256 { get; private set; } = new FilterItem<string>();
// Release
public FilterItem<string> DatItem_Language { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_Date { get; private set; } = new FilterItem<string>();
@@ -343,6 +340,11 @@ namespace SabreTools.Library.Filtering
public FilterItem<string> DatItem_Bios { get; private set; } = new FilterItem<string>();
public FilterItem<long> DatItem_Size { get; private set; } = new FilterItem<long>() { Positive = -1, Negative = -1, Neutral = -1 };
public FilterItem<string> DatItem_CRC { get; private set; } = new FilterItem<string>();
#if NET_FRAMEWORK
public FilterItem<string> DatItem_RIPEMD160 { get; private set; } = new FilterItem<string>();
#endif
public FilterItem<string> DatItem_SHA384 { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_SHA512 { get; private set; } = new FilterItem<string>();
public FilterItem<string> DatItem_Offset { get; private set; } = new FilterItem<string>();
public FilterItem<bool?> DatItem_Inverted { get; private set; } = new FilterItem<bool?>();
@@ -1832,15 +1834,6 @@ namespace SabreTools.Library.Filtering
DatItem_MD5.PositiveSet.Add(value);
break;
#if NET_FRAMEWORK
case Field.DatItem_RIPEMD160:
if (negate)
DatItem_RIPEMD160.NegativeSet.Add(value);
else
DatItem_RIPEMD160.PositiveSet.Add(value);
break;
#endif
case Field.DatItem_SHA1:
if (negate)
DatItem_SHA1.NegativeSet.Add(value);
@@ -1848,27 +1841,6 @@ namespace SabreTools.Library.Filtering
DatItem_SHA1.PositiveSet.Add(value);
break;
case Field.DatItem_SHA256:
if (negate)
DatItem_SHA256.NegativeSet.Add(value);
else
DatItem_SHA256.PositiveSet.Add(value);
break;
case Field.DatItem_SHA384:
if (negate)
DatItem_SHA384.NegativeSet.Add(value);
else
DatItem_SHA384.PositiveSet.Add(value);
break;
case Field.DatItem_SHA512:
if (negate)
DatItem_SHA512.NegativeSet.Add(value);
else
DatItem_SHA512.PositiveSet.Add(value);
break;
case Field.DatItem_Merge:
if (negate)
DatItem_Merge.NegativeSet.Add(value);
@@ -1911,6 +1883,14 @@ namespace SabreTools.Library.Filtering
DatItem_Status.Positive |= value.AsItemStatus();
break;
// Media
case Field.DatItem_SHA256:
if (negate)
DatItem_SHA256.NegativeSet.Add(value);
else
DatItem_SHA256.PositiveSet.Add(value);
break;
// Release
case Field.DatItem_Language:
if (negate)
@@ -1993,6 +1973,29 @@ namespace SabreTools.Library.Filtering
DatItem_CRC.PositiveSet.Add(value);
break;
#if NET_FRAMEWORK
case Field.DatItem_RIPEMD160:
if (negate)
DatItem_RIPEMD160.NegativeSet.Add(value);
else
DatItem_RIPEMD160.PositiveSet.Add(value);
break;
#endif
case Field.DatItem_SHA384:
if (negate)
DatItem_SHA384.NegativeSet.Add(value);
else
DatItem_SHA384.PositiveSet.Add(value);
break;
case Field.DatItem_SHA512:
if (negate)
DatItem_SHA512.NegativeSet.Add(value);
else
DatItem_SHA512.PositiveSet.Add(value);
break;
case Field.DatItem_Offset:
if (negate)
DatItem_Offset.NegativeSet.Add(value);