diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs
index fc6b3470..b8796464 100644
--- a/SabreTools.Core/Tools/Converters.cs
+++ b/SabreTools.Core/Tools/Converters.cs
@@ -8,7 +8,7 @@ namespace SabreTools.Core.Tools
#region Enum to Enum
///
- /// Get the fields associated with each hash type
+ /// Get the Fields associated with each hash type
///
public static List AsFields(this Hash hash)
{
@@ -36,6 +36,35 @@ namespace SabreTools.Core.Tools
return fields;
}
+ ///
+ /// Get the DatItemFields associated with each hash type
+ ///
+ public static List AsDatItemFields(this Hash hash)
+ {
+ List fields = new List();
+
+ if (hash.HasFlag(Hash.CRC))
+ fields.Add(DatItemField.CRC);
+ if (hash.HasFlag(Hash.MD5))
+ fields.Add(DatItemField.MD5);
+#if NET_FRAMEWORK
+ if (hash.HasFlag(Hash.RIPEMD160))
+ fields.Add(DatItemField.RIPEMD160);
+#endif
+ if (hash.HasFlag(Hash.SHA1))
+ fields.Add(DatItemField.SHA1);
+ if (hash.HasFlag(Hash.SHA256))
+ fields.Add(DatItemField.SHA256);
+ if (hash.HasFlag(Hash.SHA384))
+ fields.Add(DatItemField.SHA384);
+ if (hash.HasFlag(Hash.SHA512))
+ fields.Add(DatItemField.SHA512);
+ if (hash.HasFlag(Hash.SpamSum))
+ fields.Add(DatItemField.SpamSum);
+
+ return fields;
+ }
+
#endregion
#region String to Enum