diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs
index f7e3bf13..5a8e427b 100644
--- a/SabreTools.DatFiles/DatHeader.cs
+++ b/SabreTools.DatFiles/DatHeader.cs
@@ -118,52 +118,6 @@ namespace SabreTools.DatFiles
///
public object Clone() => new DatHeader(GetInternalClone());
- ///
- /// Clone the standard parts of the current header
- ///
- public DatHeader CloneStandard()
- {
- var header = new DatHeader();
- header.SetFieldValue(Models.Metadata.Header.AuthorKey,
- GetStringFieldValue(Models.Metadata.Header.AuthorKey));
- header.SetFieldValue(Models.Metadata.Header.CategoryKey,
- GetStringFieldValue(Models.Metadata.Header.CategoryKey));
- header.SetFieldValue(Models.Metadata.Header.CommentKey,
- GetStringFieldValue(Models.Metadata.Header.CommentKey));
- header.SetFieldValue(Models.Metadata.Header.DateKey,
- GetStringFieldValue(Models.Metadata.Header.DateKey));
- header.SetFieldValue(DatHeader.DatFormatKey,
- GetFieldValue(DatHeader.DatFormatKey));
- header.SetFieldValue(Models.Metadata.Header.DescriptionKey,
- GetStringFieldValue(Models.Metadata.Header.DescriptionKey));
- header.SetFieldValue(Models.Metadata.Header.EmailKey,
- GetStringFieldValue(Models.Metadata.Header.EmailKey));
- header.SetFieldValue(DatHeader.FileNameKey,
- GetStringFieldValue(DatHeader.FileNameKey));
- header.SetFieldValue(Models.Metadata.Header.ForceMergingKey,
- GetStringFieldValue(Models.Metadata.Header.ForceMergingKey).AsEnumValue().AsStringValue());
- header.SetFieldValue(Models.Metadata.Header.ForceNodumpKey,
- GetStringFieldValue(Models.Metadata.Header.ForceNodumpKey).AsEnumValue().AsStringValue());
- header.SetFieldValue(Models.Metadata.Header.ForcePackingKey,
- GetStringFieldValue(Models.Metadata.Header.ForcePackingKey).AsEnumValue().AsStringValue());
- header.SetFieldValue(Models.Metadata.Header.HeaderKey,
- GetStringFieldValue(Models.Metadata.Header.HeaderKey));
- header.SetFieldValue(Models.Metadata.Header.HomepageKey,
- GetStringFieldValue(Models.Metadata.Header.HomepageKey));
- header.SetFieldValue(Models.Metadata.Header.NameKey,
- GetStringFieldValue(Models.Metadata.Header.NameKey));
- header.SetFieldValue(Models.Metadata.Header.RootDirKey,
- GetStringFieldValue(Models.Metadata.Header.RootDirKey));
- header.SetFieldValue(Models.Metadata.Header.TypeKey,
- GetStringFieldValue(Models.Metadata.Header.TypeKey));
- header.SetFieldValue(Models.Metadata.Header.UrlKey,
- GetStringFieldValue(Models.Metadata.Header.UrlKey));
- header.SetFieldValue(Models.Metadata.Header.VersionKey,
- GetStringFieldValue(Models.Metadata.Header.VersionKey));
-
- return header;
- }
-
///
/// Clone just the format from the current header
///
diff --git a/SabreTools.DatTools/Splitter.cs b/SabreTools.DatTools/Splitter.cs
index 8c3c8fd1..e6204d41 100644
--- a/SabreTools.DatTools/Splitter.cs
+++ b/SabreTools.DatTools/Splitter.cs
@@ -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(DatHeader.FileNameKey, extADat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtAString})");
extADat.Header.SetFieldValue(Models.Metadata.Header.NameKey, extADat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtAString})");
extADat.Header.SetFieldValue(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(DatHeader.FileNameKey, extBDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtBString})");
extBDat.Header.SetFieldValue(Models.Metadata.Header.NameKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtBString})");
extBDat.Header.SetFieldValue(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(DatHeader.FileNameKey, extADat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtAString})");
extADat.Header.SetFieldValue(Models.Metadata.Header.NameKey, extADat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtAString})");
extADat.Header.SetFieldValue(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(DatHeader.FileNameKey, extBDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({newExtBString})");
extBDat.Header.SetFieldValue(Models.Metadata.Header.NameKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({newExtBString})");
extBDat.Header.SetFieldValue(Models.Metadata.Header.DescriptionKey, extBDat.Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({newExtBString})");
@@ -232,7 +232,7 @@ namespace SabreTools.DatTools
Dictionary 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(DatHeader.FileNameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(DatHeader.FileNameKey) + kvp.Value);
fieldDats[kvp.Key].Header.SetFieldValue(Models.Metadata.Header.NameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + kvp.Value);
fieldDats[kvp.Key].Header.SetFieldValue(Models.Metadata.Header.DescriptionKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + kvp.Value);
@@ -349,7 +349,7 @@ namespace SabreTools.DatTools
Dictionary 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(DatHeader.FileNameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(DatHeader.FileNameKey) + kvp.Value);
fieldDats[kvp.Key].Header.SetFieldValue(Models.Metadata.Header.NameKey, fieldDats[kvp.Key].Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + kvp.Value);
fieldDats[kvp.Key].Header.SetFieldValue(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(DatHeader.FileNameKey, lessThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (less than {radix})");
lessThan.Header.SetFieldValue(Models.Metadata.Header.NameKey, lessThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (less than {radix})");
lessThan.Header.SetFieldValue(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(DatHeader.FileNameKey, greaterThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (equal-greater than {radix})");
greaterThan.Header.SetFieldValue(Models.Metadata.Header.NameKey, greaterThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (equal-greater than {radix})");
greaterThan.Header.SetFieldValue(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(DatHeader.FileNameKey, lessThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (less than {radix})");
lessThan.Header.SetFieldValue(Models.Metadata.Header.NameKey, lessThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (less than {radix})");
lessThan.Header.SetFieldValue(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(DatHeader.FileNameKey, greaterThan.Header.GetStringFieldValue(DatHeader.FileNameKey) + $" (equal-greater than {radix})");
greaterThan.Header.SetFieldValue(Models.Metadata.Header.NameKey, greaterThan.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" (equal-greater than {radix})");
greaterThan.Header.SetFieldValue(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(DatHeader.FileNameKey, currentDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $"_{currentIndex}");
currentDat.Header.SetFieldValue(Models.Metadata.Header.NameKey, currentDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
currentDat.Header.SetFieldValue(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(DatHeader.FileNameKey, currentDat.Header.GetStringFieldValue(DatHeader.FileNameKey) + $"_{currentIndex}");
currentDat.Header.SetFieldValue(Models.Metadata.Header.NameKey, currentDat.Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
currentDat.Header.SetFieldValue(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(DatHeader.FileNameKey, typeDats[itemType].Header.GetStringFieldValue(DatHeader.FileNameKey) + $" ({itemType})");
typeDats[itemType].Header.SetFieldValue(Models.Metadata.Header.NameKey, typeDats[itemType].Header.GetStringFieldValue(Models.Metadata.Header.NameKey) + $" ({itemType})");
typeDats[itemType].Header.SetFieldValue(Models.Metadata.Header.DescriptionKey, typeDats[itemType].Header.GetStringFieldValue(Models.Metadata.Header.DescriptionKey) + $" ({itemType})");