diff --git a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs
index 149f2e11..f994865f 100644
--- a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs
+++ b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs
@@ -2728,6 +2728,7 @@ namespace SabreTools.Data.Extensions.Test
[InlineData("nodump", ItemStatus.Nodump)]
[InlineData("yes", ItemStatus.Nodump)]
[InlineData("verified", ItemStatus.Verified)]
+ [InlineData("deduped", ItemStatus.Deduped)]
public void AsItemStatusTest(string? field, ItemStatus? expected)
{
ItemStatus? actual = field.AsItemStatus();
@@ -3129,6 +3130,8 @@ namespace SabreTools.Data.Extensions.Test
[InlineData(ItemStatus.Nodump, false, "nodump")]
[InlineData(ItemStatus.Verified, true, "verified")]
[InlineData(ItemStatus.Verified, false, "verified")]
+ [InlineData(ItemStatus.Deduped, true, "deduped")]
+ [InlineData(ItemStatus.Deduped, false, "deduped")]
public void FromItemStatusTest(ItemStatus field, bool useSecond, string? expected)
{
string? actual = field.AsStringValue(useSecond);
diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs
index 80b2547c..9852c363 100644
--- a/SabreTools.Data.Extensions/MetadataExtensions.cs
+++ b/SabreTools.Data.Extensions/MetadataExtensions.cs
@@ -883,6 +883,7 @@ namespace SabreTools.Data.Extensions
"baddump" => ItemStatus.BadDump,
"nodump" or "yes" => ItemStatus.Nodump,
"verified" => ItemStatus.Verified,
+ "deduped" => ItemStatus.Deduped,
_ => null,
};
}
@@ -1366,6 +1367,7 @@ namespace SabreTools.Data.Extensions
ItemStatus.BadDump => "baddump",
ItemStatus.Nodump => useSecond ? "yes" : "nodump",
ItemStatus.Verified => "verified",
+ ItemStatus.Deduped => "deduped",
_ => null,
};
}
diff --git a/SabreTools.Data.Models/Metadata/Enums.cs b/SabreTools.Data.Models/Metadata/Enums.cs
index bf01b1cf..d29315e0 100644
--- a/SabreTools.Data.Models/Metadata/Enums.cs
+++ b/SabreTools.Data.Models/Metadata/Enums.cs
@@ -256,6 +256,9 @@ namespace SabreTools.Data.Models.Metadata
/// "verified"
Verified,
+
+ /// "deduped", RomVault extensions
+ Deduped,
}
///
diff --git a/SabreTools.Metadata.DatFiles/DatStatistics.cs b/SabreTools.Metadata.DatFiles/DatStatistics.cs
index b2e5c857..e07673c4 100644
--- a/SabreTools.Metadata.DatFiles/DatStatistics.cs
+++ b/SabreTools.Metadata.DatFiles/DatStatistics.cs
@@ -302,6 +302,7 @@ namespace SabreTools.Metadata.DatFiles
ModifyStatusCount(ItemStatus.Good, status == ItemStatus.Good ? 1 : 0);
ModifyStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? 1 : 0);
ModifyStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0);
+ ModifyStatusCount(ItemStatus.Deduped, status == ItemStatus.Deduped ? 1 : 0);
}
///
@@ -358,6 +359,7 @@ namespace SabreTools.Metadata.DatFiles
ModifyStatusCount(ItemStatus.Good, status == ItemStatus.Good ? 1 : 0);
ModifyStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? 1 : 0);
ModifyStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? 1 : 0);
+ ModifyStatusCount(ItemStatus.Deduped, status == ItemStatus.Deduped ? 1 : 0);
}
///
@@ -377,6 +379,7 @@ namespace SabreTools.Metadata.DatFiles
ModifyStatusCount(ItemStatus.Good, status == ItemStatus.Good ? -1 : 0);
ModifyStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? -1 : 0);
ModifyStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? -1 : 0);
+ ModifyStatusCount(ItemStatus.Deduped, status == ItemStatus.Deduped ? -1 : 0);
}
///
@@ -433,6 +436,7 @@ namespace SabreTools.Metadata.DatFiles
ModifyStatusCount(ItemStatus.Good, status == ItemStatus.Good ? -1 : 0);
ModifyStatusCount(ItemStatus.Nodump, status == ItemStatus.Nodump ? -1 : 0);
ModifyStatusCount(ItemStatus.Verified, status == ItemStatus.Verified ? -1 : 0);
+ ModifyStatusCount(ItemStatus.Deduped, status == ItemStatus.Deduped ? -1 : 0);
}
///