CloneStandard is redundant now

This commit is contained in:
Matt Nadareski
2025-01-30 09:17:03 -05:00
parent ed4d6fd1b6
commit 7f5b468aaa
2 changed files with 13 additions and 59 deletions

View File

@@ -118,52 +118,6 @@ namespace SabreTools.DatFiles
/// </summary>
public object Clone() => new DatHeader(GetInternalClone());
/// <summary>
/// Clone the standard parts of the current header
/// </summary>
public DatHeader CloneStandard()
{
var header = new DatHeader();
header.SetFieldValue<string?>(Models.Metadata.Header.AuthorKey,
GetStringFieldValue(Models.Metadata.Header.AuthorKey));
header.SetFieldValue<string?>(Models.Metadata.Header.CategoryKey,
GetStringFieldValue(Models.Metadata.Header.CategoryKey));
header.SetFieldValue<string?>(Models.Metadata.Header.CommentKey,
GetStringFieldValue(Models.Metadata.Header.CommentKey));
header.SetFieldValue<string?>(Models.Metadata.Header.DateKey,
GetStringFieldValue(Models.Metadata.Header.DateKey));
header.SetFieldValue<DatFormat>(DatHeader.DatFormatKey,
GetFieldValue<DatFormat>(DatHeader.DatFormatKey));
header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey,
GetStringFieldValue(Models.Metadata.Header.DescriptionKey));
header.SetFieldValue<string?>(Models.Metadata.Header.EmailKey,
GetStringFieldValue(Models.Metadata.Header.EmailKey));
header.SetFieldValue<string?>(DatHeader.FileNameKey,
GetStringFieldValue(DatHeader.FileNameKey));
header.SetFieldValue<string?>(Models.Metadata.Header.ForceMergingKey,
GetStringFieldValue(Models.Metadata.Header.ForceMergingKey).AsEnumValue<MergingFlag>().AsStringValue());
header.SetFieldValue<string?>(Models.Metadata.Header.ForceNodumpKey,
GetStringFieldValue(Models.Metadata.Header.ForceNodumpKey).AsEnumValue<NodumpFlag>().AsStringValue());
header.SetFieldValue<string?>(Models.Metadata.Header.ForcePackingKey,
GetStringFieldValue(Models.Metadata.Header.ForcePackingKey).AsEnumValue<PackingFlag>().AsStringValue());
header.SetFieldValue<string?>(Models.Metadata.Header.HeaderKey,
GetStringFieldValue(Models.Metadata.Header.HeaderKey));
header.SetFieldValue<string?>(Models.Metadata.Header.HomepageKey,
GetStringFieldValue(Models.Metadata.Header.HomepageKey));
header.SetFieldValue<string?>(Models.Metadata.Header.NameKey,
GetStringFieldValue(Models.Metadata.Header.NameKey));
header.SetFieldValue<string?>(Models.Metadata.Header.RootDirKey,
GetStringFieldValue(Models.Metadata.Header.RootDirKey));
header.SetFieldValue<string?>(Models.Metadata.Header.TypeKey,
GetStringFieldValue(Models.Metadata.Header.TypeKey));
header.SetFieldValue<string?>(Models.Metadata.Header.UrlKey,
GetStringFieldValue(Models.Metadata.Header.UrlKey));
header.SetFieldValue<string?>(Models.Metadata.Header.VersionKey,
GetStringFieldValue(Models.Metadata.Header.VersionKey));
return header;
}
/// <summary>
/// Clone just the format from the current header
/// </summary>

View File

@@ -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.Modifiers);
DatFile extADat = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile extBDat = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile extADat = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile extBDat = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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(), datFile.Modifiers);
fieldDats[kvp.Key] = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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(), datFile.Modifiers);
fieldDats[kvp.Key] = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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);
@@ -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.Modifiers);
DatFile lessThan = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile greaterThan = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile lessThan = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile greaterThan = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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.Modifiers);
DatFile currentDat = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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(), datFile.Modifiers);
currentDat = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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(), datFile.Modifiers);
typeDats[itemType] = DatFileTool.CreateDatFile((DatHeader)datFile.Header.Clone(), 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})");