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
}
}