mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Move modifiers out of DatHeader
This commit is contained in:
@@ -218,7 +218,7 @@ namespace SabreTools.DatTools
|
||||
private static bool CheckDepotFile(DatFile datFile, string item)
|
||||
{
|
||||
// If we're not in Depot mode, return false
|
||||
if (datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.OutputDepotKey)?.IsActive != true)
|
||||
if (datFile.Modifiers.OutputDepot?.IsActive != true)
|
||||
return false;
|
||||
|
||||
// Check the file as if it were in a depot
|
||||
@@ -329,7 +329,7 @@ namespace SabreTools.DatTools
|
||||
private static void ProcessDirectoryBlanks(DatFile datFile, string? basePath)
|
||||
{
|
||||
// If we're in depot mode, we don't process blanks
|
||||
if (datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.OutputDepotKey)?.IsActive == true)
|
||||
if (datFile.Modifiers.OutputDepot?.IsActive == true)
|
||||
return;
|
||||
|
||||
List<string> empties = basePath.ListEmpty() ?? [];
|
||||
|
||||
@@ -118,7 +118,7 @@ namespace SabreTools.DatTools
|
||||
_staticLogger.User($"Checking hash '{hash}'");
|
||||
|
||||
// Get the extension path for the hash
|
||||
string? subpath = Utilities.GetDepotPath(hash, datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.InputDepotKey)?.Depth ?? 0);
|
||||
string? subpath = Utilities.GetDepotPath(hash, datFile.Modifiers.InputDepot?.Depth ?? 0);
|
||||
if (subpath == null)
|
||||
continue;
|
||||
|
||||
@@ -681,7 +681,7 @@ namespace SabreTools.DatTools
|
||||
// Get the proper output path
|
||||
string sha1 = (datItem as Rom)!.GetStringFieldValue(Models.Metadata.Rom.SHA1Key) ?? string.Empty;
|
||||
if (outputFormat == OutputFormat.TorrentGzipRomba)
|
||||
outDir = Path.Combine(outDir, Utilities.GetDepotPath(sha1, datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.OutputDepotKey)?.Depth ?? 0) ?? string.Empty);
|
||||
outDir = Path.Combine(outDir, Utilities.GetDepotPath(sha1, datFile.Modifiers.OutputDepot?.Depth ?? 0) ?? string.Empty);
|
||||
else
|
||||
outDir = Path.Combine(outDir, sha1 + ".gz");
|
||||
|
||||
@@ -727,7 +727,7 @@ namespace SabreTools.DatTools
|
||||
// Get the proper output path
|
||||
string sha1 = (datItem as Rom)!.GetStringFieldValue(Models.Metadata.Rom.SHA1Key) ?? string.Empty;
|
||||
if (outputFormat == OutputFormat.TorrentXZRomba)
|
||||
outDir = Path.Combine(outDir, Utilities.GetDepotPath(sha1, datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.OutputDepotKey)?.Depth ?? 0) ?? string.Empty).Replace(".gz", ".xz");
|
||||
outDir = Path.Combine(outDir, Utilities.GetDepotPath(sha1, datFile.Modifiers.OutputDepot?.Depth ?? 0) ?? string.Empty).Replace(".gz", ".xz");
|
||||
else
|
||||
outDir = Path.Combine(outDir, sha1 + ".xz");
|
||||
|
||||
@@ -832,9 +832,9 @@ namespace SabreTools.DatTools
|
||||
|
||||
// Set the depth fields where appropriate
|
||||
if (outputArchive is GZipArchive gzipArchive)
|
||||
gzipArchive.Depth = datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.OutputDepotKey)?.Depth ?? 0;
|
||||
gzipArchive.Depth = datFile.Modifiers.OutputDepot?.Depth ?? 0;
|
||||
else if (outputArchive is XZArchive xzArchive)
|
||||
xzArchive.Depth = datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.OutputDepotKey)?.Depth ?? 0;
|
||||
xzArchive.Depth = datFile.Modifiers.OutputDepot?.Depth ?? 0;
|
||||
|
||||
return outputArchive;
|
||||
}
|
||||
|
||||
@@ -54,12 +54,12 @@ namespace SabreTools.DatTools
|
||||
string newExtBString = string.Join(",", newExtB);
|
||||
|
||||
// Set all of the appropriate outputs for each of the subsets
|
||||
DatFile extADat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile extADat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
extADat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, extADat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtAString})");
|
||||
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extADat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtAString})");
|
||||
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extADat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({newExtAString})");
|
||||
|
||||
DatFile extBDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile extBDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
extBDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, extBDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtBString})");
|
||||
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtBString})");
|
||||
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({newExtBString})");
|
||||
@@ -131,12 +131,12 @@ namespace SabreTools.DatTools
|
||||
string newExtBString = string.Join(",", newExtB);
|
||||
|
||||
// Set all of the appropriate outputs for each of the subsets
|
||||
DatFile extADat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile extADat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
extADat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, extADat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtAString})");
|
||||
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extADat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtAString})");
|
||||
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extADat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({newExtAString})");
|
||||
|
||||
DatFile extBDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile extBDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
extBDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, extBDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtBString})");
|
||||
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtBString})");
|
||||
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({newExtBString})");
|
||||
@@ -232,7 +232,7 @@ namespace SabreTools.DatTools
|
||||
Dictionary<string, DatFile> fieldDats = [];
|
||||
foreach (var kvp in mappings)
|
||||
{
|
||||
fieldDats[kvp.Key] = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
fieldDats[kvp.Key] = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
fieldDats[kvp.Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(DatHeader.FileNameKey) + kvp.Value);
|
||||
fieldDats[kvp.Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + kvp.Value);
|
||||
fieldDats[kvp.Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + kvp.Value);
|
||||
@@ -349,7 +349,7 @@ namespace SabreTools.DatTools
|
||||
Dictionary<string, DatFile> fieldDats = [];
|
||||
foreach (var kvp in mappings)
|
||||
{
|
||||
fieldDats[kvp.Key] = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
fieldDats[kvp.Key] = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
fieldDats[kvp.Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(DatHeader.FileNameKey) + kvp.Value);
|
||||
fieldDats[kvp.Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + kvp.Value);
|
||||
fieldDats[kvp.Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + kvp.Value);
|
||||
@@ -492,7 +492,7 @@ namespace SabreTools.DatTools
|
||||
datFile.BucketBy(ItemKey.Machine, lower: false, norename: true);
|
||||
|
||||
// Create a temporary DAT to add things to
|
||||
DatFile tempDat = DatFileTool.CreateDatFile(datFile.Header);
|
||||
DatFile tempDat = DatFileTool.CreateDatFile(datFile.Header, datFile.Modifiers);
|
||||
tempDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, null);
|
||||
|
||||
// Sort the input keys
|
||||
@@ -512,7 +512,7 @@ namespace SabreTools.DatTools
|
||||
if (tempDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) != null && tempDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) != Path.GetDirectoryName(key))
|
||||
{
|
||||
// Reset the DAT for the next items
|
||||
tempDat = DatFileTool.CreateDatFile(datFile.Header);
|
||||
tempDat = DatFileTool.CreateDatFile(datFile.Header, datFile.Modifiers);
|
||||
tempDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, null);
|
||||
}
|
||||
|
||||
@@ -615,12 +615,12 @@ namespace SabreTools.DatTools
|
||||
// Create each of the respective output DATs
|
||||
InternalStopwatch watch = new($"Splitting DAT by size");
|
||||
|
||||
DatFile lessThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile lessThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
lessThan.Header.SetFieldValue<string?>(DatHeader.FileNameKey, lessThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (less than {radix})");
|
||||
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, lessThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (less than {radix})");
|
||||
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, lessThan.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" (less than {radix})");
|
||||
|
||||
DatFile greaterThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile greaterThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
greaterThan.Header.SetFieldValue<string?>(DatHeader.FileNameKey, greaterThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (equal-greater than {radix})");
|
||||
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, greaterThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (equal-greater than {radix})");
|
||||
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, greaterThan.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" (equal-greater than {radix})");
|
||||
@@ -681,12 +681,12 @@ namespace SabreTools.DatTools
|
||||
// Create each of the respective output DATs
|
||||
var watch = new InternalStopwatch($"Splitting DAT by size");
|
||||
|
||||
DatFile lessThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile lessThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
lessThan.Header.SetFieldValue<string?>(DatHeader.FileNameKey, lessThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (less than {radix})");
|
||||
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, lessThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (less than {radix})");
|
||||
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, lessThan.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" (less than {radix})");
|
||||
|
||||
DatFile greaterThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile greaterThan = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
greaterThan.Header.SetFieldValue<string?>(DatHeader.FileNameKey, greaterThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (equal-greater than {radix})");
|
||||
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, greaterThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (equal-greater than {radix})");
|
||||
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, greaterThan.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" (equal-greater than {radix})");
|
||||
@@ -782,7 +782,7 @@ namespace SabreTools.DatTools
|
||||
// Initialize everything
|
||||
long currentSize = 0;
|
||||
long currentIndex = 0;
|
||||
DatFile currentDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
DatFile currentDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
currentDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, currentDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $"_{currentIndex}");
|
||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, currentDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
|
||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, currentDat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $"_{currentIndex}");
|
||||
@@ -825,7 +825,7 @@ namespace SabreTools.DatTools
|
||||
datFiles.Add(currentDat);
|
||||
currentSize = 0;
|
||||
currentIndex++;
|
||||
currentDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
currentDat = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
currentDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, currentDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $"_{currentIndex}");
|
||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, currentDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
|
||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, currentDat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $"_{currentIndex}");
|
||||
@@ -869,7 +869,7 @@ namespace SabreTools.DatTools
|
||||
// Setup all of the DatFiles
|
||||
foreach (ItemType itemType in outputTypes)
|
||||
{
|
||||
typeDats[itemType] = DatFileTool.CreateDatFile(datFile.Header.CloneStandard());
|
||||
typeDats[itemType] = DatFileTool.CreateDatFile(datFile.Header.CloneStandard(), datFile.Modifiers);
|
||||
typeDats[itemType].Header.SetFieldValue<string?>(DatHeader.FileNameKey, typeDats[itemType].Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({itemType})");
|
||||
typeDats[itemType].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, typeDats[itemType].Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({itemType})");
|
||||
typeDats[itemType].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, typeDats[itemType].Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({itemType})");
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace SabreTools.DatTools
|
||||
_staticLogger.User($"Checking hash '{hash}'");
|
||||
|
||||
// Get the extension path for the hash
|
||||
string? subpath = Utilities.GetDepotPath(hash, datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.InputDepotKey)?.Depth ?? 0);
|
||||
string? subpath = Utilities.GetDepotPath(hash, datFile.Modifiers.InputDepot?.Depth ?? 0);
|
||||
if (subpath == null)
|
||||
continue;
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace SabreTools.DatTools
|
||||
_staticLogger.User($"Checking hash '{hash}'");
|
||||
|
||||
// Get the extension path for the hash
|
||||
string? subpath = Utilities.GetDepotPath(hash, datFile.Header.GetFieldValue<DepotInformation?>(DatHeader.InputDepotKey)?.Depth ?? 0);
|
||||
string? subpath = Utilities.GetDepotPath(hash, datFile.Modifiers.InputDepot?.Depth ?? 0);
|
||||
if (subpath == null)
|
||||
continue;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user