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