mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Use new IO byte array extensions
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.Data.Sqlite;
|
using Microsoft.Data.Sqlite;
|
||||||
using SabreTools.Core.Tools;
|
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
using SabreTools.IO;
|
using SabreTools.IO;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
using SabreTools.Skippers;
|
using SabreTools.Skippers;
|
||||||
|
|
||||||
namespace Headerer.Features
|
namespace Headerer.Features
|
||||||
@@ -91,7 +91,7 @@ The following systems have headers that this program can work with:
|
|||||||
int startOffset = int.Parse(rule.StartOffset ?? "0");
|
int startOffset = int.Parse(rule.StartOffset ?? "0");
|
||||||
byte[] hbin = new byte[startOffset];
|
byte[] hbin = new byte[startOffset];
|
||||||
fs.Read(hbin, 0, startOffset);
|
fs.Read(hbin, 0, startOffset);
|
||||||
hstr = TextHelper.ByteArrayToString(hbin)!;
|
hstr = ByteArrayExtensions.ByteArrayToString(hbin)!;
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.Data.Sqlite;
|
using Microsoft.Data.Sqlite;
|
||||||
using SabreTools.Core.Tools;
|
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
using SabreTools.IO;
|
using SabreTools.IO;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
|
|
||||||
namespace Headerer.Features
|
namespace Headerer.Features
|
||||||
{
|
{
|
||||||
@@ -79,7 +79,7 @@ The following systems have headers that this program can work with:
|
|||||||
{
|
{
|
||||||
string outputFile = (string.IsNullOrWhiteSpace(outDir) ? $"{Path.GetFullPath(file)}.new" : Path.Combine(outDir, Path.GetFileName(file))) + i;
|
string outputFile = (string.IsNullOrWhiteSpace(outDir) ? $"{Path.GetFullPath(file)}.new" : Path.Combine(outDir, Path.GetFileName(file))) + i;
|
||||||
logger.User($"Creating reheadered file: {outputFile}");
|
logger.User($"Creating reheadered file: {outputFile}");
|
||||||
AppendBytes(file, outputFile, TextHelper.StringToByteArray(headers[i]), null);
|
AppendBytes(file, outputFile, ByteArrayExtensions.StringToByteArray(headers[i]), null);
|
||||||
logger.User("Reheadered file created!");
|
logger.User("Reheadered file created!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ using SabreTools.DatTools;
|
|||||||
using SabreTools.FileTypes;
|
using SabreTools.FileTypes;
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
using SabreTools.IO.Logging;
|
using SabreTools.IO.Logging;
|
||||||
|
|
||||||
namespace RombaSharp.Features
|
namespace RombaSharp.Features
|
||||||
@@ -562,7 +563,7 @@ CREATE TABLE IF NOT EXISTS dat (
|
|||||||
if (lowerCaseDats.Contains(input.ToLowerInvariant()))
|
if (lowerCaseDats.Contains(input.ToLowerInvariant()))
|
||||||
{
|
{
|
||||||
string fullpath = Path.GetFullPath(datRootDats[lowerCaseDats.IndexOf(input.ToLowerInvariant())]);
|
string fullpath = Path.GetFullPath(datRootDats[lowerCaseDats.IndexOf(input.ToLowerInvariant())]);
|
||||||
string? sha1 = TextHelper.ByteArrayToString(BaseFile.GetInfo(fullpath, hashes: [HashType.SHA1])?.SHA1);
|
string? sha1 = ByteArrayExtensions.ByteArrayToString(BaseFile.GetInfo(fullpath, hashes: [HashType.SHA1])?.SHA1);
|
||||||
if (sha1 != null)
|
if (sha1 != null)
|
||||||
foundDats.Add(sha1, fullpath);
|
foundDats.Add(sha1, fullpath);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
@@ -8,56 +7,6 @@ namespace SabreTools.Core.Tools
|
|||||||
{
|
{
|
||||||
public static class TextHelper
|
public static class TextHelper
|
||||||
{
|
{
|
||||||
#region Conversion
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Convert a byte array to a hex string
|
|
||||||
/// </summary>
|
|
||||||
public static string? ByteArrayToString(byte[]? bytes)
|
|
||||||
{
|
|
||||||
// If we get null in, we send null out
|
|
||||||
if (bytes == null)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
string hex = BitConverter.ToString(bytes);
|
|
||||||
return hex.Replace("-", string.Empty).ToLowerInvariant();
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Convert a hex string to a byte array
|
|
||||||
/// </summary>
|
|
||||||
public static byte[]? StringToByteArray(string? hex)
|
|
||||||
{
|
|
||||||
// If we get null in, we send null out
|
|
||||||
if (string.IsNullOrEmpty(hex))
|
|
||||||
return null;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Normalization
|
#region Normalization
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using Newtonsoft.Json;
|
|||||||
using SabreTools.Core;
|
using SabreTools.Core;
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.FileTypes;
|
using SabreTools.FileTypes;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
|
|
||||||
namespace SabreTools.DatItems.Formats
|
namespace SabreTools.DatItems.Formats
|
||||||
{
|
{
|
||||||
@@ -74,8 +75,8 @@ namespace SabreTools.DatItems.Formats
|
|||||||
public Disk(BaseFile baseFile) : base()
|
public Disk(BaseFile baseFile) : base()
|
||||||
{
|
{
|
||||||
SetName(baseFile.Filename);
|
SetName(baseFile.Filename);
|
||||||
SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, TextHelper.ByteArrayToString(baseFile.MD5));
|
SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
|
||||||
SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, TextHelper.ByteArrayToString(baseFile.SHA1));
|
SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
|
||||||
|
|
||||||
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
|
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
|
||||||
}
|
}
|
||||||
@@ -93,8 +94,8 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
Filename = this.GetName(),
|
Filename = this.GetName(),
|
||||||
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
|
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
|
||||||
MD5 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.MD5Key)),
|
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.MD5Key)),
|
||||||
SHA1 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.SHA1Key)),
|
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Disk.SHA1Key)),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using Newtonsoft.Json;
|
|||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.FileTypes;
|
using SabreTools.FileTypes;
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
using SabreTools.Matching;
|
using SabreTools.Matching;
|
||||||
|
|
||||||
// TODO: Add item mappings for all fields
|
// TODO: Add item mappings for all fields
|
||||||
@@ -53,8 +54,8 @@ namespace SabreTools.DatItems.Formats
|
|||||||
[JsonProperty("crc", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("crc")]
|
[JsonProperty("crc", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("crc")]
|
||||||
public string? CRC
|
public string? CRC
|
||||||
{
|
{
|
||||||
get { return _crc.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_crc); }
|
get { return _crc.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_crc); }
|
||||||
set { _crc = (value == "null" ? Constants.CRCZeroBytes : TextHelper.StringToByteArray(TextHelper.NormalizeCRC32(value))); }
|
set { _crc = (value == "null" ? Constants.CRCZeroBytes : ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeCRC32(value))); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -63,8 +64,8 @@ namespace SabreTools.DatItems.Formats
|
|||||||
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
|
[JsonProperty("md5", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("md5")]
|
||||||
public string? MD5
|
public string? MD5
|
||||||
{
|
{
|
||||||
get { return _md5.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_md5); }
|
get { return _md5.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_md5); }
|
||||||
set { _md5 = TextHelper.StringToByteArray(TextHelper.NormalizeMD5(value)); }
|
set { _md5 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeMD5(value)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -73,8 +74,8 @@ namespace SabreTools.DatItems.Formats
|
|||||||
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
|
[JsonProperty("sha1", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha1")]
|
||||||
public string? SHA1
|
public string? SHA1
|
||||||
{
|
{
|
||||||
get { return _sha1.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_sha1); }
|
get { return _sha1.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_sha1); }
|
||||||
set { _sha1 = TextHelper.StringToByteArray(TextHelper.NormalizeSHA1(value)); }
|
set { _sha1 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeSHA1(value)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -83,8 +84,8 @@ namespace SabreTools.DatItems.Formats
|
|||||||
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha256")]
|
[JsonProperty("sha256", DefaultValueHandling = DefaultValueHandling.Ignore), XmlElement("sha256")]
|
||||||
public string? SHA256
|
public string? SHA256
|
||||||
{
|
{
|
||||||
get { return _sha256.IsNullOrEmpty() ? null : TextHelper.ByteArrayToString(_sha256); }
|
get { return _sha256.IsNullOrEmpty() ? null : ByteArrayExtensions.ByteArrayToString(_sha256); }
|
||||||
set { _sha256 = TextHelper.StringToByteArray(TextHelper.NormalizeSHA256(value)); }
|
set { _sha256 = ByteArrayExtensions.StringToByteArray(TextHelper.NormalizeSHA256(value)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using SabreTools.Core;
|
using SabreTools.Core;
|
||||||
using SabreTools.Core.Tools;
|
|
||||||
using SabreTools.FileTypes;
|
using SabreTools.FileTypes;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
|
|
||||||
namespace SabreTools.DatItems.Formats
|
namespace SabreTools.DatItems.Formats
|
||||||
{
|
{
|
||||||
@@ -37,9 +37,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
public Media(BaseFile baseFile) : base()
|
public Media(BaseFile baseFile) : base()
|
||||||
{
|
{
|
||||||
SetName(baseFile.Filename);
|
SetName(baseFile.Filename);
|
||||||
SetFieldValue<string?>(Models.Metadata.Media.MD5Key, TextHelper.ByteArrayToString(baseFile.MD5));
|
SetFieldValue<string?>(Models.Metadata.Media.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
|
||||||
SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, TextHelper.ByteArrayToString(baseFile.SHA1));
|
SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
|
||||||
SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, TextHelper.ByteArrayToString(baseFile.SHA256));
|
SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA256));
|
||||||
SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, System.Text.Encoding.UTF8.GetString(baseFile.SpamSum ?? []));
|
SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, System.Text.Encoding.UTF8.GetString(baseFile.SpamSum ?? []));
|
||||||
|
|
||||||
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
|
SetFieldValue<DupeType>(DatItem.DupeTypeKey, 0x00);
|
||||||
@@ -58,9 +58,9 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
Filename = this.GetName(),
|
Filename = this.GetName(),
|
||||||
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
|
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
|
||||||
MD5 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.MD5Key)),
|
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.MD5Key)),
|
||||||
SHA1 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA1Key)),
|
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA1Key)),
|
||||||
SHA256 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA256Key)),
|
SHA256 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Media.SHA256Key)),
|
||||||
SpamSum = System.Text.Encoding.UTF8.GetBytes(GetStringFieldValue(Models.Metadata.Media.SpamSumKey) ?? string.Empty),
|
SpamSum = System.Text.Encoding.UTF8.GetBytes(GetStringFieldValue(Models.Metadata.Media.SpamSumKey) ?? string.Empty),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using Newtonsoft.Json;
|
|||||||
using SabreTools.Core;
|
using SabreTools.Core;
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.FileTypes;
|
using SabreTools.FileTypes;
|
||||||
|
using SabreTools.IO.Extensions;
|
||||||
|
|
||||||
namespace SabreTools.DatItems.Formats
|
namespace SabreTools.DatItems.Formats
|
||||||
{
|
{
|
||||||
@@ -94,12 +95,12 @@ namespace SabreTools.DatItems.Formats
|
|||||||
{
|
{
|
||||||
SetName(baseFile.Filename);
|
SetName(baseFile.Filename);
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.DateKey, baseFile.Date);
|
SetFieldValue<string?>(Models.Metadata.Rom.DateKey, baseFile.Date);
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, TextHelper.ByteArrayToString(baseFile.CRC));
|
SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, ByteArrayExtensions.ByteArrayToString(baseFile.CRC));
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, TextHelper.ByteArrayToString(baseFile.MD5));
|
SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, ByteArrayExtensions.ByteArrayToString(baseFile.MD5));
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, TextHelper.ByteArrayToString(baseFile.SHA1));
|
SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA1));
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, TextHelper.ByteArrayToString(baseFile.SHA256));
|
SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA256));
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, TextHelper.ByteArrayToString(baseFile.SHA384));
|
SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA384));
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, TextHelper.ByteArrayToString(baseFile.SHA512));
|
SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, ByteArrayExtensions.ByteArrayToString(baseFile.SHA512));
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.SizeKey, baseFile.Size.ToString());
|
SetFieldValue<string?>(Models.Metadata.Rom.SizeKey, baseFile.Size.ToString());
|
||||||
if (baseFile.SpamSum != null)
|
if (baseFile.SpamSum != null)
|
||||||
SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, System.Text.Encoding.UTF8.GetString(baseFile.SpamSum));
|
SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, System.Text.Encoding.UTF8.GetString(baseFile.SpamSum));
|
||||||
@@ -128,12 +129,12 @@ namespace SabreTools.DatItems.Formats
|
|||||||
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
|
Parent = GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey),
|
||||||
Date = GetStringFieldValue(Models.Metadata.Rom.DateKey),
|
Date = GetStringFieldValue(Models.Metadata.Rom.DateKey),
|
||||||
Size = NumberHelper.ConvertToInt64(GetStringFieldValue(Models.Metadata.Rom.SizeKey)),
|
Size = NumberHelper.ConvertToInt64(GetStringFieldValue(Models.Metadata.Rom.SizeKey)),
|
||||||
CRC = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.CRCKey)),
|
CRC = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.CRCKey)),
|
||||||
MD5 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.MD5Key)),
|
MD5 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.MD5Key)),
|
||||||
SHA1 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA1Key)),
|
SHA1 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA1Key)),
|
||||||
SHA256 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA256Key)),
|
SHA256 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA256Key)),
|
||||||
SHA384 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA384Key)),
|
SHA384 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA384Key)),
|
||||||
SHA512 = TextHelper.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA512Key)),
|
SHA512 = ByteArrayExtensions.StringToByteArray(GetStringFieldValue(Models.Metadata.Rom.SHA512Key)),
|
||||||
SpamSum = spamSum != null ? System.Text.Encoding.UTF8.GetBytes(spamSum) : null,
|
SpamSum = spamSum != null ? System.Text.Encoding.UTF8.GetBytes(spamSum) : null,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -399,7 +399,7 @@ namespace SabreTools.FileTypes.Archives
|
|||||||
Size = extractedsize,
|
Size = extractedsize,
|
||||||
CRC = headercrc,
|
CRC = headercrc,
|
||||||
MD5 = headermd5,
|
MD5 = headermd5,
|
||||||
SHA1 = TextHelper.StringToByteArray(Path.GetFileNameWithoutExtension(this.Filename)),
|
SHA1 = ByteArrayExtensions.StringToByteArray(Path.GetFileNameWithoutExtension(this.Filename)),
|
||||||
|
|
||||||
Parent = Path.GetFileNameWithoutExtension(this.Filename).ToLowerInvariant(),
|
Parent = Path.GetFileNameWithoutExtension(this.Filename).ToLowerInvariant(),
|
||||||
};
|
};
|
||||||
@@ -446,7 +446,7 @@ namespace SabreTools.FileTypes.Archives
|
|||||||
baseFile = GetInfo(inputStream, keepReadOpen: true);
|
baseFile = GetInfo(inputStream, keepReadOpen: true);
|
||||||
|
|
||||||
// Get the output file name
|
// Get the output file name
|
||||||
string outfile = Path.Combine(outDir, Utilities.GetDepotPath(TextHelper.ByteArrayToString(baseFile.SHA1), Depth) ?? string.Empty);
|
string outfile = Path.Combine(outDir, Utilities.GetDepotPath(ByteArrayExtensions.ByteArrayToString(baseFile.SHA1), Depth) ?? string.Empty);
|
||||||
|
|
||||||
// Check to see if the folder needs to be created
|
// Check to see if the folder needs to be created
|
||||||
if (!Directory.Exists(Path.GetDirectoryName(outfile)))
|
if (!Directory.Exists(Path.GetDirectoryName(outfile)))
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ using System.IO;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
#if NET462_OR_GREATER || NETCOREAPP
|
|
||||||
using SabreTools.IO.Extensions;
|
using SabreTools.IO.Extensions;
|
||||||
|
#if NET462_OR_GREATER || NETCOREAPP
|
||||||
using SharpCompress.Compressors.Xz;
|
using SharpCompress.Compressors.Xz;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -286,7 +286,7 @@ namespace SabreTools.FileTypes.Archives
|
|||||||
BaseFile baseFile = new()
|
BaseFile baseFile = new()
|
||||||
{
|
{
|
||||||
Filename = Path.GetFileNameWithoutExtension(this.Filename).ToLowerInvariant(),
|
Filename = Path.GetFileNameWithoutExtension(this.Filename).ToLowerInvariant(),
|
||||||
SHA1 = TextHelper.StringToByteArray(Path.GetFileNameWithoutExtension(this.Filename)),
|
SHA1 = ByteArrayExtensions.StringToByteArray(Path.GetFileNameWithoutExtension(this.Filename)),
|
||||||
|
|
||||||
Parent = Path.GetFileNameWithoutExtension(this.Filename).ToLowerInvariant(),
|
Parent = Path.GetFileNameWithoutExtension(this.Filename).ToLowerInvariant(),
|
||||||
};
|
};
|
||||||
@@ -334,7 +334,7 @@ namespace SabreTools.FileTypes.Archives
|
|||||||
baseFile = GetInfo(inputStream, keepReadOpen: true);
|
baseFile = GetInfo(inputStream, keepReadOpen: true);
|
||||||
|
|
||||||
// Get the output file name
|
// Get the output file name
|
||||||
string outfile = Path.Combine(outDir, Utilities.GetDepotPath(TextHelper.ByteArrayToString(baseFile.SHA1), Depth)!);
|
string outfile = Path.Combine(outDir, Utilities.GetDepotPath(ByteArrayExtensions.ByteArrayToString(baseFile.SHA1), Depth)!);
|
||||||
outfile = outfile.Replace(".gz", ".xz");
|
outfile = outfile.Replace(".gz", ".xz");
|
||||||
|
|
||||||
// Check to see if the folder needs to be created
|
// Check to see if the folder needs to be created
|
||||||
|
|||||||
@@ -328,13 +328,13 @@ namespace SabreTools.FileTypes
|
|||||||
var baseFile = new BaseFile()
|
var baseFile = new BaseFile()
|
||||||
{
|
{
|
||||||
Size = size,
|
Size = size,
|
||||||
CRC = hashDict.ContainsKey(HashType.CRC32) ? TextHelper.StringToByteArray(hashDict[HashType.CRC32]) : null,
|
CRC = hashDict.ContainsKey(HashType.CRC32) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.CRC32]) : null,
|
||||||
MD5 = hashDict.ContainsKey(HashType.MD5) ? TextHelper.StringToByteArray(hashDict[HashType.MD5]) : null,
|
MD5 = hashDict.ContainsKey(HashType.MD5) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.MD5]) : null,
|
||||||
SHA1 = hashDict.ContainsKey(HashType.SHA1) ? TextHelper.StringToByteArray(hashDict[HashType.SHA1]) : null,
|
SHA1 = hashDict.ContainsKey(HashType.SHA1) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.SHA1]) : null,
|
||||||
SHA256 = hashDict.ContainsKey(HashType.SHA256) ? TextHelper.StringToByteArray(hashDict[HashType.SHA256]) : null,
|
SHA256 = hashDict.ContainsKey(HashType.SHA256) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.SHA256]) : null,
|
||||||
SHA384 = hashDict.ContainsKey(HashType.SHA384) ? TextHelper.StringToByteArray(hashDict[HashType.SHA384]) : null,
|
SHA384 = hashDict.ContainsKey(HashType.SHA384) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.SHA384]) : null,
|
||||||
SHA512 = hashDict.ContainsKey(HashType.SHA512) ? TextHelper.StringToByteArray(hashDict[HashType.SHA512]) : null,
|
SHA512 = hashDict.ContainsKey(HashType.SHA512) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.SHA512]) : null,
|
||||||
SpamSum = hashDict.ContainsKey(HashType.SpamSum) ? TextHelper.StringToByteArray(hashDict[HashType.SpamSum]) : null,
|
SpamSum = hashDict.ContainsKey(HashType.SpamSum) ? ByteArrayExtensions.StringToByteArray(hashDict[HashType.SpamSum]) : null,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Deal with the input stream
|
// Deal with the input stream
|
||||||
|
|||||||
Reference in New Issue
Block a user