diff --git a/SabreTools.Helper/Tools/ArchiveTools.cs b/SabreTools.Helper/Tools/ArchiveTools.cs index d639a8a9..9997fa5c 100644 --- a/SabreTools.Helper/Tools/ArchiveTools.cs +++ b/SabreTools.Helper/Tools/ArchiveTools.cs @@ -682,8 +682,8 @@ namespace SabreTools.Helper { // Write standard header and TGZ info byte[] data = Constants.TorrentGZHeader - .Concat(StringToByteArray(rom.HashData.MD5)) // MD5 - .Concat(StringToByteArray(rom.HashData.CRC)) // CRC + .Concat(Style.StringToByteArray(rom.HashData.MD5)) // MD5 + .Concat(Style.StringToByteArray(rom.HashData.CRC)) // CRC .Concat(BitConverter.GetBytes(rom.HashData.Size).Reverse().ToArray()) // Long size (Mirrored) .ToArray(); sw.Write(data); @@ -840,17 +840,7 @@ namespace SabreTools.Helper } } - /// - /// http://stackoverflow.com/questions/311165/how-do-you-convert-byte-array-to-hexadecimal-string-and-vice-versa - /// - public static byte[] StringToByteArray(String hex) - { - int NumberChars = hex.Length; - byte[] bytes = new byte[NumberChars / 2]; - for (int i = 0; i < NumberChars; i += 2) - bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16); - return bytes; - } + #region Hash-to-Dat functions diff --git a/SabreTools.Helper/Tools/DatTools.cs b/SabreTools.Helper/Tools/DatTools.cs index dfe86cca..e7012dd3 100644 --- a/SabreTools.Helper/Tools/DatTools.cs +++ b/SabreTools.Helper/Tools/DatTools.cs @@ -2441,13 +2441,13 @@ namespace SabreTools.Helper Int64.TryParse(gc[i].Replace("\"", ""), out hashData.Size); break; case "crc": - hashData.CRC = ArchiveTools.StringToByteArray(gc[i].Replace("\"", "")); + hashData.CRC = Style.StringToByteArray(gc[i].Replace("\"", "")); break; case "md5": - hashData.MD5 = ArchiveTools.StringToByteArray(gc[i].Replace("\"", "")); + hashData.MD5 = Style.StringToByteArray(gc[i].Replace("\"", "")); break; case "sha1": - hashData.SHA1 = ArchiveTools.StringToByteArray(gc[i].Replace("\"", "")); + hashData.SHA1 = Style.StringToByteArray(gc[i].Replace("\"", "")); break; case "flags": if (gc[i].Replace("\"", "").ToLowerInvariant() == "nodump") @@ -2498,13 +2498,13 @@ namespace SabreTools.Helper Int64.TryParse(val, out hashData.Size); break; case "crc": - hashData.CRC = ArchiveTools.StringToByteArray(val); + hashData.CRC = Style.StringToByteArray(val); break; case "md5": - hashData.MD5 = ArchiveTools.StringToByteArray(val); + hashData.MD5 = Style.StringToByteArray(val); break; case "sha1": - hashData.SHA1 = ArchiveTools.StringToByteArray(val); + hashData.SHA1 = Style.StringToByteArray(val); break; case "flags": if (val.ToLowerInvariant() == "nodump") @@ -2806,7 +2806,7 @@ namespace SabreTools.Helper HashData hashData = new HashData { Size = Int64.Parse(rominfo[7]), - CRC = ArchiveTools.StringToByteArray(rominfo[6]), + CRC = Style.StringToByteArray(rominfo[6]), }; // Sanitize the hashes from null, hex sizes, and "true blank" strings @@ -3361,9 +3361,9 @@ namespace SabreTools.Helper HashData hashData = new HashData { Size = size, - CRC = RomTools.CleanHashData(ArchiveTools.StringToByteArray(crc), Constants.CRCBytesLength), - MD5 = RomTools.CleanHashData(ArchiveTools.StringToByteArray(md5), Constants.MD5BytesLength), - SHA1 = RomTools.CleanHashData(ArchiveTools.StringToByteArray(sha1), Constants.SHA1BytesLength), + CRC = RomTools.CleanHashData(Style.StringToByteArray(crc), Constants.CRCBytesLength), + MD5 = RomTools.CleanHashData(Style.StringToByteArray(md5), Constants.MD5BytesLength), + SHA1 = RomTools.CleanHashData(Style.StringToByteArray(sha1), Constants.SHA1BytesLength), Roms = new List(), }; hashData.Roms.Add(romData); @@ -3587,9 +3587,9 @@ namespace SabreTools.Helper HashData hashData = new HashData { Size = size, - CRC = RomTools.CleanHashData(ArchiveTools.StringToByteArray(crc), Constants.CRCBytesLength), - MD5 = RomTools.CleanHashData(ArchiveTools.StringToByteArray(md5), Constants.MD5BytesLength), - SHA1 = RomTools.CleanHashData(ArchiveTools.StringToByteArray(sha1), Constants.SHA1BytesLength), + CRC = RomTools.CleanHashData(Style.StringToByteArray(crc), Constants.CRCBytesLength), + MD5 = RomTools.CleanHashData(Style.StringToByteArray(md5), Constants.MD5BytesLength), + SHA1 = RomTools.CleanHashData(Style.StringToByteArray(sha1), Constants.SHA1BytesLength), Roms = new List(), }; hashData.Roms.Add(romData); diff --git a/SabreTools.Helper/Tools/Style.cs b/SabreTools.Helper/Tools/Style.cs index e823431b..d7d8cb58 100644 --- a/SabreTools.Helper/Tools/Style.cs +++ b/SabreTools.Helper/Tools/Style.cs @@ -210,6 +210,8 @@ namespace SabreTools.Helper return outgame; } + #region Externally sourced methods + /// /// Returns the human-readable file size for an arbitrary, 64-bit file size /// The default format is "0.### XB", e.g. "4.2 KB" or "1.434 GB" @@ -280,5 +282,19 @@ namespace SabreTools.Helper string sentence = input.ToLower(); return sentence[0].ToString().ToUpper() + sentence.Substring(1); } + + /// + /// http://stackoverflow.com/questions/311165/how-do-you-convert-byte-array-to-hexadecimal-string-and-vice-versa + /// + public static byte[] StringToByteArray(String hex) + { + int NumberChars = hex.Length; + byte[] bytes = new byte[NumberChars / 2]; + for (int i = 0; i < NumberChars; i += 2) + bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16); + return bytes; + } + + #endregion } }