mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Convert header filename to a key
This commit is contained in:
@@ -250,7 +250,7 @@ namespace SabreTools.DatFiles
|
|||||||
if (rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) == null && !rom.HasHashes())
|
if (rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) == null && !rom.HasHashes())
|
||||||
{
|
{
|
||||||
// No-op, just catch it so it doesn't go further
|
// No-op, just catch it so it doesn't go further
|
||||||
logger.Verbose($"{Header.FileName}: Entry with only SHA-1 found - '{rom.GetName()}'");
|
logger.Verbose($"{Header.GetFieldValue<string?>(DatHeader.FileNameKey)}: Entry with only SHA-1 found - '{rom.GetName()}'");
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info
|
// If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info
|
||||||
@@ -271,7 +271,7 @@ namespace SabreTools.DatFiles
|
|||||||
// If the file has no size and it's not the above case, skip and log
|
// If the file has no size and it's not the above case, skip and log
|
||||||
else if (rom.GetFieldValue<ItemStatus>(Models.Metadata.Rom.StatusKey) != ItemStatus.Nodump && (rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) == 0 || rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) == null))
|
else if (rom.GetFieldValue<ItemStatus>(Models.Metadata.Rom.StatusKey) != ItemStatus.Nodump && (rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) == 0 || rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) == null))
|
||||||
{
|
{
|
||||||
logger.Verbose($"{Header.FileName}: Incomplete entry for '{rom.GetName()}' will be output as nodump");
|
logger.Verbose($"{Header.GetFieldValue<string?>(DatHeader.FileNameKey)}: Incomplete entry for '{rom.GetName()}' will be output as nodump");
|
||||||
rom.SetFieldValue<ItemStatus>(Models.Metadata.Rom.StatusKey, ItemStatus.Nodump);
|
rom.SetFieldValue<ItemStatus>(Models.Metadata.Rom.StatusKey, ItemStatus.Nodump);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -280,7 +280,7 @@ namespace SabreTools.DatFiles
|
|||||||
&& rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) != null && rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) > 0
|
&& rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) != null && rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) > 0
|
||||||
&& !rom.HasHashes())
|
&& !rom.HasHashes())
|
||||||
{
|
{
|
||||||
logger.Verbose($"{Header.FileName}: Incomplete entry for '{rom.GetName()}' will be output as nodump");
|
logger.Verbose($"{Header.GetFieldValue<string?>(DatHeader.FileNameKey)}: Incomplete entry for '{rom.GetName()}' will be output as nodump");
|
||||||
rom.SetFieldValue<ItemStatus>(Models.Metadata.Rom.StatusKey, ItemStatus.Nodump);
|
rom.SetFieldValue<ItemStatus>(Models.Metadata.Rom.StatusKey, ItemStatus.Nodump);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,11 @@ namespace SabreTools.DatFiles
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string AddExtensionKey = "ADDEXTENSION";
|
public const string AddExtensionKey = "ADDEXTENSION";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// External name of the DAT
|
||||||
|
/// </summary>
|
||||||
|
public const string FileNameKey = "FILENAME";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Output the machine name
|
/// Output the machine name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -62,13 +67,6 @@ namespace SabreTools.DatFiles
|
|||||||
|
|
||||||
#region Fields
|
#region Fields
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// External name of the DAT
|
|
||||||
/// </summary>
|
|
||||||
[JsonProperty("filename", DefaultValueHandling = DefaultValueHandling.Include)]
|
|
||||||
[XmlElement("filename")]
|
|
||||||
public string? FileName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Read or write format
|
/// Read or write format
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -168,7 +166,6 @@ namespace SabreTools.DatFiles
|
|||||||
{
|
{
|
||||||
var header = new DatHeader()
|
var header = new DatHeader()
|
||||||
{
|
{
|
||||||
FileName = this.FileName,
|
|
||||||
DatFormat = this.DatFormat,
|
DatFormat = this.DatFormat,
|
||||||
|
|
||||||
InputDepot = this.InputDepot?.Clone() as DepotInformation,
|
InputDepot = this.InputDepot?.Clone() as DepotInformation,
|
||||||
@@ -185,6 +182,7 @@ namespace SabreTools.DatFiles
|
|||||||
header.SetFieldValue<bool?>(Models.Metadata.Header.DebugKey, GetFieldValue<bool?>(Models.Metadata.Header.DebugKey));
|
header.SetFieldValue<bool?>(Models.Metadata.Header.DebugKey, GetFieldValue<bool?>(Models.Metadata.Header.DebugKey));
|
||||||
header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
||||||
header.SetFieldValue<string?>(Models.Metadata.Header.EmailKey, GetFieldValue<string?>(Models.Metadata.Header.EmailKey));
|
header.SetFieldValue<string?>(Models.Metadata.Header.EmailKey, GetFieldValue<string?>(Models.Metadata.Header.EmailKey));
|
||||||
|
header.SetFieldValue<string?>(DatHeader.FileNameKey, GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
header.SetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey, GetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey));
|
header.SetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey, GetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey));
|
||||||
header.SetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey));
|
header.SetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey));
|
||||||
header.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey, GetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey));
|
header.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey, GetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey));
|
||||||
@@ -227,7 +225,6 @@ namespace SabreTools.DatFiles
|
|||||||
{
|
{
|
||||||
var header = new DatHeader()
|
var header = new DatHeader()
|
||||||
{
|
{
|
||||||
FileName = this.FileName,
|
|
||||||
DatFormat = this.DatFormat,
|
DatFormat = this.DatFormat,
|
||||||
};
|
};
|
||||||
header.SetFieldValue<string?>(Models.Metadata.Header.AuthorKey, GetFieldValue<string?>(Models.Metadata.Header.AuthorKey));
|
header.SetFieldValue<string?>(Models.Metadata.Header.AuthorKey, GetFieldValue<string?>(Models.Metadata.Header.AuthorKey));
|
||||||
@@ -236,6 +233,7 @@ namespace SabreTools.DatFiles
|
|||||||
header.SetFieldValue<string?>(Models.Metadata.Header.DateKey, GetFieldValue<string?>(Models.Metadata.Header.DateKey));
|
header.SetFieldValue<string?>(Models.Metadata.Header.DateKey, GetFieldValue<string?>(Models.Metadata.Header.DateKey));
|
||||||
header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
||||||
header.SetFieldValue<string?>(Models.Metadata.Header.EmailKey, GetFieldValue<string?>(Models.Metadata.Header.EmailKey));
|
header.SetFieldValue<string?>(Models.Metadata.Header.EmailKey, GetFieldValue<string?>(Models.Metadata.Header.EmailKey));
|
||||||
|
header.SetFieldValue<string?>(DatHeader.FileNameKey, GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
header.SetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey, GetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey));
|
header.SetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey, GetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey));
|
||||||
header.SetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey));
|
header.SetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey));
|
||||||
header.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey, GetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey));
|
header.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey, GetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey));
|
||||||
@@ -283,8 +281,8 @@ namespace SabreTools.DatFiles
|
|||||||
if (datHeader == null)
|
if (datHeader == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(datHeader.FileName))
|
if (!string.IsNullOrEmpty(datHeader.GetFieldValue<string?>(DatHeader.FileNameKey)))
|
||||||
FileName = datHeader.FileName;
|
SetFieldValue<string?>(DatHeader.FileNameKey, datHeader.GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(datHeader.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
if (!string.IsNullOrEmpty(datHeader.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
||||||
SetFieldValue<string?>(Models.Metadata.Header.NameKey, datHeader.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
|
SetFieldValue<string?>(Models.Metadata.Header.NameKey, datHeader.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
|
||||||
@@ -859,7 +857,9 @@ namespace SabreTools.DatFiles
|
|||||||
/// <returns>String containing the new filename</returns>
|
/// <returns>String containing the new filename</returns>
|
||||||
private string CreateOutFileNamesHelper(string outDir, string extension, bool overwrite)
|
private string CreateOutFileNamesHelper(string outDir, string extension, bool overwrite)
|
||||||
{
|
{
|
||||||
string? filename = string.IsNullOrEmpty(FileName) ? GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) : FileName;
|
string? filename = string.IsNullOrEmpty(GetFieldValue<string?>(DatHeader.FileNameKey))
|
||||||
|
? GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)
|
||||||
|
: GetFieldValue<string?>(DatHeader.FileNameKey);
|
||||||
|
|
||||||
// Strip off the extension if it's a holdover from the DAT
|
// Strip off the extension if it's a holdover from the DAT
|
||||||
if (Utilities.HasValidDatExtension(filename))
|
if (Utilities.HasValidDatExtension(filename))
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
Name = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
Name = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
||||||
Title = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey),
|
Title = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey),
|
||||||
Emulator = Header.FileName,
|
Emulator = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||||
CloneOf = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey),
|
CloneOf = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey),
|
||||||
Year = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.YearKey),
|
Year = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.YearKey),
|
||||||
Manufacturer = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.ManufacturerKey),
|
Manufacturer = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.ManufacturerKey),
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
var row = new Models.SeparatedValue.Row
|
var row = new Models.SeparatedValue.Row
|
||||||
{
|
{
|
||||||
FileName = Header.FileName,
|
FileName = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||||
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
||||||
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
||||||
GameName = disk.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
GameName = disk.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
||||||
@@ -187,7 +187,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
var row = new Models.SeparatedValue.Row
|
var row = new Models.SeparatedValue.Row
|
||||||
{
|
{
|
||||||
FileName = Header.FileName,
|
FileName = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||||
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
||||||
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
||||||
GameName = media.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
GameName = media.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
||||||
@@ -215,7 +215,7 @@ namespace SabreTools.DatFiles.Formats
|
|||||||
{
|
{
|
||||||
var row = new Models.SeparatedValue.Row
|
var row = new Models.SeparatedValue.Row
|
||||||
{
|
{
|
||||||
FileName = Header.FileName,
|
FileName = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||||
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
||||||
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
||||||
GameName = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
GameName = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ namespace SabreTools.DatTools
|
|||||||
Dictionary<string, List<string>> itemFieldNames,
|
Dictionary<string, List<string>> itemFieldNames,
|
||||||
bool onlySame)
|
bool onlySame)
|
||||||
{
|
{
|
||||||
InternalStopwatch watch = new($"Replacing items in '{intDat.Header.FileName}' from the base DAT");
|
InternalStopwatch watch = new($"Replacing items in '{intDat.Header.GetFieldValue<string?>(DatHeader.FileNameKey)}' from the base DAT");
|
||||||
|
|
||||||
// If we are matching based on DatItem fields of any sort
|
// If we are matching based on DatItem fields of any sort
|
||||||
if (itemFieldNames.Any())
|
if (itemFieldNames.Any())
|
||||||
@@ -221,7 +221,7 @@ namespace SabreTools.DatTools
|
|||||||
else
|
else
|
||||||
datFile.Items.BucketBy(ItemKey.CRC, DedupeType.None);
|
datFile.Items.BucketBy(ItemKey.CRC, DedupeType.None);
|
||||||
|
|
||||||
InternalStopwatch watch = new($"Comparing '{intDat.Header.FileName}' to base DAT");
|
InternalStopwatch watch = new($"Comparing '{intDat.Header.GetFieldValue<string?>(DatHeader.FileNameKey)}' to base DAT");
|
||||||
|
|
||||||
// For comparison's sake, we want to a the base bucketing
|
// For comparison's sake, we want to a the base bucketing
|
||||||
if (useGames)
|
if (useGames)
|
||||||
@@ -378,8 +378,8 @@ namespace SabreTools.DatTools
|
|||||||
InternalStopwatch watch = new("Initializing duplicate DAT");
|
InternalStopwatch watch = new("Initializing duplicate DAT");
|
||||||
|
|
||||||
// Fill in any information not in the base DAT
|
// Fill in any information not in the base DAT
|
||||||
if (string.IsNullOrEmpty(datFile.Header.FileName))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)))
|
||||||
datFile.Header.FileName = "All DATs";
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, "All DATs");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "datFile.All DATs");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "datFile.All DATs");
|
||||||
@@ -389,7 +389,7 @@ namespace SabreTools.DatTools
|
|||||||
|
|
||||||
string post = " (Duplicates)";
|
string post = " (Duplicates)";
|
||||||
DatFile dupeData = DatFile.Create(datFile.Header);
|
DatFile dupeData = DatFile.Create(datFile.Header);
|
||||||
dupeData.Header.FileName += post;
|
dupeData.Header.SetFieldValue<string?>(DatHeader.FileNameKey, dupeData.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + post);
|
||||||
dupeData.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, dupeData.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + post);
|
dupeData.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, dupeData.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + post);
|
||||||
dupeData.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, dupeData.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + post);
|
dupeData.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, dupeData.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + post);
|
||||||
dupeData.Items = [];
|
dupeData.Items = [];
|
||||||
@@ -467,8 +467,8 @@ namespace SabreTools.DatTools
|
|||||||
InternalStopwatch watch = new("Initializing all individual DATs");
|
InternalStopwatch watch = new("Initializing all individual DATs");
|
||||||
|
|
||||||
// Fill in any information not in the base DAT
|
// Fill in any information not in the base DAT
|
||||||
if (string.IsNullOrEmpty(datFile.Header.FileName))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)))
|
||||||
datFile.Header.FileName = "All DATs";
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, "All DATs");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "All DATs");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "All DATs");
|
||||||
@@ -489,7 +489,7 @@ namespace SabreTools.DatTools
|
|||||||
{
|
{
|
||||||
string innerpost = $" ({j} - {inputs[j].GetNormalizedFileName(true)} Only)";
|
string innerpost = $" ({j} - {inputs[j].GetNormalizedFileName(true)} Only)";
|
||||||
DatFile diffData = DatFile.Create(datFile.Header);
|
DatFile diffData = DatFile.Create(datFile.Header);
|
||||||
diffData.Header.FileName += innerpost;
|
diffData.Header.SetFieldValue<string?>(DatHeader.FileNameKey, diffData.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + innerpost);
|
||||||
diffData.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, diffData.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + innerpost);
|
diffData.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, diffData.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + innerpost);
|
||||||
diffData.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, diffData.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + innerpost);
|
diffData.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, diffData.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + innerpost);
|
||||||
diffData.Items = [];
|
diffData.Items = [];
|
||||||
@@ -571,8 +571,8 @@ namespace SabreTools.DatTools
|
|||||||
InternalStopwatch watch = new("Initializing no duplicate DAT");
|
InternalStopwatch watch = new("Initializing no duplicate DAT");
|
||||||
|
|
||||||
// Fill in any information not in the base DAT
|
// Fill in any information not in the base DAT
|
||||||
if (string.IsNullOrEmpty(datFile.Header.FileName))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)))
|
||||||
datFile.Header.FileName = "All DATs";
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, "All DATs");
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)))
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "All DATs");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "All DATs");
|
||||||
@@ -582,7 +582,7 @@ namespace SabreTools.DatTools
|
|||||||
|
|
||||||
string post = " (No Duplicates)";
|
string post = " (No Duplicates)";
|
||||||
DatFile outerDiffData = DatFile.Create(datFile.Header);
|
DatFile outerDiffData = DatFile.Create(datFile.Header);
|
||||||
outerDiffData.Header.FileName += post;
|
outerDiffData.Header.SetFieldValue<string?>(DatHeader.FileNameKey, outerDiffData.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + post);
|
||||||
outerDiffData.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, outerDiffData.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + post);
|
outerDiffData.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, outerDiffData.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + post);
|
||||||
outerDiffData.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, outerDiffData.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + post);
|
outerDiffData.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, outerDiffData.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + post);
|
||||||
outerDiffData.Items = [];
|
outerDiffData.Items = [];
|
||||||
|
|||||||
@@ -94,11 +94,11 @@ namespace SabreTools.DatTools
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// If the output filename isn't set already, get the internal filename
|
// If the output filename isn't set already, get the internal filename
|
||||||
datFile.Header.FileName = string.IsNullOrEmpty(datFile.Header.FileName)
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey))
|
||||||
? (keepext
|
? (keepext
|
||||||
? Path.GetFileName(currentPath)
|
? Path.GetFileName(currentPath)
|
||||||
: Path.GetFileNameWithoutExtension(currentPath))
|
: Path.GetFileNameWithoutExtension(currentPath))
|
||||||
: datFile.Header.FileName;
|
: datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
|
|
||||||
// If the output type isn't set already, get the internal output type
|
// If the output type isn't set already, get the internal output type
|
||||||
DatFormat currentPathFormat = GetDatFormat(currentPath);
|
DatFormat currentPathFormat = GetDatFormat(currentPath);
|
||||||
|
|||||||
@@ -55,12 +55,12 @@ namespace SabreTools.DatTools
|
|||||||
|
|
||||||
// Set all of the appropriate outputs for each of the subsets
|
// Set all of the appropriate outputs for each of the subsets
|
||||||
DatFile extADat = DatFile.Create(datFile.Header.CloneStandard());
|
DatFile extADat = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
extADat.Header.FileName += $" ({newExtAString})";
|
extADat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, extADat.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $" ({newExtAString})");
|
||||||
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extADat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" ({newExtAString})");
|
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extADat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" ({newExtAString})");
|
||||||
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extADat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" ({newExtAString})");
|
extADat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extADat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" ({newExtAString})");
|
||||||
|
|
||||||
DatFile extBDat = DatFile.Create(datFile.Header.CloneStandard());
|
DatFile extBDat = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
extBDat.Header.FileName += $" ({newExtBString})";
|
extBDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, extBDat.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $" ({newExtBString})");
|
||||||
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extBDat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" ({newExtBString})");
|
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, extBDat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" ({newExtBString})");
|
||||||
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extBDat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" ({newExtBString})");
|
extBDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, extBDat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" ({newExtBString})");
|
||||||
|
|
||||||
@@ -123,42 +123,42 @@ namespace SabreTools.DatTools
|
|||||||
|
|
||||||
// TODO: Can this be made into a loop?
|
// TODO: Can this be made into a loop?
|
||||||
fieldDats[Models.Metadata.Rom.StatusKey] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.StatusKey] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.StatusKey].Header.FileName += " (Nodump)";
|
fieldDats[Models.Metadata.Rom.StatusKey].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.StatusKey].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (Nodump)");
|
||||||
fieldDats[Models.Metadata.Rom.StatusKey].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.StatusKey].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (Nodump)");
|
fieldDats[Models.Metadata.Rom.StatusKey].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.StatusKey].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (Nodump)");
|
||||||
fieldDats[Models.Metadata.Rom.StatusKey].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.StatusKey].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (Nodump)");
|
fieldDats[Models.Metadata.Rom.StatusKey].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.StatusKey].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (Nodump)");
|
||||||
|
|
||||||
fieldDats[Models.Metadata.Rom.SHA512Key] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.SHA512Key] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.SHA512Key].Header.FileName += " (SHA-512)";
|
fieldDats[Models.Metadata.Rom.SHA512Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.SHA512Key].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (SHA-512)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA512Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA512Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-512)");
|
fieldDats[Models.Metadata.Rom.SHA512Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA512Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-512)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA512Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA512Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-512)");
|
fieldDats[Models.Metadata.Rom.SHA512Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA512Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-512)");
|
||||||
|
|
||||||
fieldDats[Models.Metadata.Rom.SHA384Key] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.SHA384Key] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.SHA384Key].Header.FileName += " (SHA-384)";
|
fieldDats[Models.Metadata.Rom.SHA384Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.SHA384Key].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (SHA-384)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA384Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA384Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-384)");
|
fieldDats[Models.Metadata.Rom.SHA384Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA384Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-384)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA384Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA384Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-384)");
|
fieldDats[Models.Metadata.Rom.SHA384Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA384Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-384)");
|
||||||
|
|
||||||
fieldDats[Models.Metadata.Rom.SHA256Key] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.SHA256Key] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.SHA256Key].Header.FileName += " (SHA-256)";
|
fieldDats[Models.Metadata.Rom.SHA256Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.SHA256Key].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (SHA-256)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA256Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA256Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-256)");
|
fieldDats[Models.Metadata.Rom.SHA256Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA256Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-256)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA256Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA256Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-256)");
|
fieldDats[Models.Metadata.Rom.SHA256Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA256Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-256)");
|
||||||
|
|
||||||
fieldDats[Models.Metadata.Rom.SHA1Key] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.SHA1Key] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.SHA1Key].Header.FileName += " (SHA-1)";
|
fieldDats[Models.Metadata.Rom.SHA1Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.SHA1Key].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (SHA-1)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA1Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA1Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-1)");
|
fieldDats[Models.Metadata.Rom.SHA1Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.SHA1Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (SHA-1)");
|
||||||
fieldDats[Models.Metadata.Rom.SHA1Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA1Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-1)");
|
fieldDats[Models.Metadata.Rom.SHA1Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.SHA1Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (SHA-1)");
|
||||||
|
|
||||||
fieldDats[Models.Metadata.Rom.MD5Key] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.MD5Key] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.MD5Key].Header.FileName += " (MD5)";
|
fieldDats[Models.Metadata.Rom.MD5Key].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.MD5Key].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (MD5)");
|
||||||
fieldDats[Models.Metadata.Rom.MD5Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.MD5Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (MD5)");
|
fieldDats[Models.Metadata.Rom.MD5Key].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.MD5Key].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (MD5)");
|
||||||
fieldDats[Models.Metadata.Rom.MD5Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.MD5Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (MD5)");
|
fieldDats[Models.Metadata.Rom.MD5Key].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.MD5Key].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (MD5)");
|
||||||
|
|
||||||
fieldDats[Models.Metadata.Rom.CRCKey] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats[Models.Metadata.Rom.CRCKey] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats[Models.Metadata.Rom.CRCKey].Header.FileName += " (CRC)";
|
fieldDats[Models.Metadata.Rom.CRCKey].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats[Models.Metadata.Rom.CRCKey].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (CRC)");
|
||||||
fieldDats[Models.Metadata.Rom.CRCKey].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.CRCKey].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (CRC)");
|
fieldDats[Models.Metadata.Rom.CRCKey].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats[Models.Metadata.Rom.CRCKey].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (CRC)");
|
||||||
fieldDats[Models.Metadata.Rom.CRCKey].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.CRCKey].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (CRC)");
|
fieldDats[Models.Metadata.Rom.CRCKey].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats[Models.Metadata.Rom.CRCKey].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (CRC)");
|
||||||
|
|
||||||
fieldDats["null"] = DatFile.Create(datFile.Header.CloneStandard());
|
fieldDats["null"] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
fieldDats["null"].Header.FileName += " (Other)";
|
fieldDats["null"].Header.SetFieldValue<string?>(DatHeader.FileNameKey, fieldDats["null"].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + " (Other)");
|
||||||
fieldDats["null"].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats["null"].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (Other)");
|
fieldDats["null"].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, fieldDats["null"].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + " (Other)");
|
||||||
fieldDats["null"].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats["null"].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (Other)");
|
fieldDats["null"].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, fieldDats["null"].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + " (Other)");
|
||||||
|
|
||||||
@@ -340,24 +340,28 @@ namespace SabreTools.DatTools
|
|||||||
|
|
||||||
// Now set the new output values
|
// Now set the new output values
|
||||||
#if NET20 || NET35
|
#if NET20 || NET35
|
||||||
newDatFile.Header.FileName = string.IsNullOrEmpty(name)
|
newDatFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, string.IsNullOrEmpty(name)
|
||||||
? datFile.Header.FileName
|
? datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)
|
||||||
: (shortname
|
: (shortname
|
||||||
? Path.GetFileName(name)
|
? Path.GetFileName(name)
|
||||||
: expName
|
: expName
|
||||||
);
|
));
|
||||||
#else
|
#else
|
||||||
newDatFile.Header.FileName = WebUtility.HtmlDecode(string.IsNullOrEmpty(name)
|
newDatFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, WebUtility.HtmlDecode(string.IsNullOrEmpty(name)
|
||||||
? datFile.Header.FileName
|
? datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)
|
||||||
: (shortname
|
: (shortname
|
||||||
? Path.GetFileName(name)
|
? Path.GetFileName(name)
|
||||||
: expName
|
: expName
|
||||||
)
|
)
|
||||||
);
|
));
|
||||||
#endif
|
#endif
|
||||||
newDatFile.Header.FileName = restore ? $"{datFile.Header.FileName} ({newDatFile.Header.FileName})" : newDatFile.Header.FileName;
|
newDatFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, restore
|
||||||
|
? $"{datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)} ({newDatFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)})"
|
||||||
|
: newDatFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
newDatFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)} ({expName})");
|
newDatFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)} ({expName})");
|
||||||
newDatFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)) ? newDatFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) : $"{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)} ({expName})");
|
newDatFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey))
|
||||||
|
? newDatFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)
|
||||||
|
: $"{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)} ({expName})");
|
||||||
newDatFile.Header.SetFieldValue<string?>(Models.Metadata.Header.TypeKey, null);
|
newDatFile.Header.SetFieldValue<string?>(Models.Metadata.Header.TypeKey, null);
|
||||||
|
|
||||||
// Write out the temporary DAT to the proper directory
|
// Write out the temporary DAT to the proper directory
|
||||||
@@ -376,12 +380,12 @@ namespace SabreTools.DatTools
|
|||||||
InternalStopwatch watch = new($"Splitting DAT by size");
|
InternalStopwatch watch = new($"Splitting DAT by size");
|
||||||
|
|
||||||
DatFile lessThan = DatFile.Create(datFile.Header.CloneStandard());
|
DatFile lessThan = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
lessThan.Header.FileName += $" (less than {radix})";
|
lessThan.Header.SetFieldValue<string?>(DatHeader.FileNameKey, lessThan.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $" (less than {radix})");
|
||||||
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, lessThan.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" (less than {radix})");
|
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, lessThan.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" (less than {radix})");
|
||||||
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, lessThan.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" (less than {radix})");
|
lessThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, lessThan.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" (less than {radix})");
|
||||||
|
|
||||||
DatFile greaterThan = DatFile.Create(datFile.Header.CloneStandard());
|
DatFile greaterThan = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
greaterThan.Header.FileName += $" (equal-greater than {radix})";
|
greaterThan.Header.SetFieldValue<string?>(DatHeader.FileNameKey, greaterThan.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $" (equal-greater than {radix})");
|
||||||
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, greaterThan.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" (equal-greater than {radix})");
|
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, greaterThan.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" (equal-greater than {radix})");
|
||||||
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, greaterThan.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" (equal-greater than {radix})");
|
greaterThan.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, greaterThan.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" (equal-greater than {radix})");
|
||||||
|
|
||||||
@@ -458,7 +462,7 @@ namespace SabreTools.DatTools
|
|||||||
long currentSize = 0;
|
long currentSize = 0;
|
||||||
long currentIndex = 0;
|
long currentIndex = 0;
|
||||||
DatFile currentDat = DatFile.Create(datFile.Header.CloneStandard());
|
DatFile currentDat = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
currentDat.Header.FileName += $"_{currentIndex}";
|
currentDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, currentDat.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $"_{currentIndex}");
|
||||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
|
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
|
||||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $"_{currentIndex}");
|
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $"_{currentIndex}");
|
||||||
|
|
||||||
@@ -501,7 +505,7 @@ namespace SabreTools.DatTools
|
|||||||
currentSize = 0;
|
currentSize = 0;
|
||||||
currentIndex++;
|
currentIndex++;
|
||||||
currentDat = DatFile.Create(datFile.Header.CloneStandard());
|
currentDat = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
currentDat.Header.FileName += $"_{currentIndex}";
|
currentDat.Header.SetFieldValue<string?>(DatHeader.FileNameKey, currentDat.Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $"_{currentIndex}");
|
||||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
|
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $"_{currentIndex}");
|
||||||
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $"_{currentIndex}");
|
currentDat.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, currentDat.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $"_{currentIndex}");
|
||||||
}
|
}
|
||||||
@@ -545,7 +549,7 @@ namespace SabreTools.DatTools
|
|||||||
foreach (ItemType itemType in outputTypes)
|
foreach (ItemType itemType in outputTypes)
|
||||||
{
|
{
|
||||||
typeDats[itemType] = DatFile.Create(datFile.Header.CloneStandard());
|
typeDats[itemType] = DatFile.Create(datFile.Header.CloneStandard());
|
||||||
typeDats[itemType].Header.FileName += $" ({itemType})";
|
typeDats[itemType].Header.SetFieldValue<string?>(DatHeader.FileNameKey, typeDats[itemType].Header.GetFieldValue<string?>(DatHeader.FileNameKey) + $" ({itemType})");
|
||||||
typeDats[itemType].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, typeDats[itemType].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" ({itemType})");
|
typeDats[itemType].Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, typeDats[itemType].Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey) + $" ({itemType})");
|
||||||
typeDats[itemType].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, typeDats[itemType].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" ({itemType})");
|
typeDats[itemType].Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, typeDats[itemType].Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + $" ({itemType})");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ namespace SabreTools.DatTools
|
|||||||
DatStatistics individualStats = new()
|
DatStatistics individualStats = new()
|
||||||
{
|
{
|
||||||
Statistics = datdata.Items,
|
Statistics = datdata.Items,
|
||||||
DisplayName = datdata.Header.FileName,
|
DisplayName = datdata.Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||||
MachineCount = datdata.Items.Keys.Count,
|
MachineCount = datdata.Items.Keys.Count,
|
||||||
IsDirectory = false,
|
IsDirectory = false,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ namespace SabreTools.DatTools
|
|||||||
watch.Stop();
|
watch.Stop();
|
||||||
|
|
||||||
// Set fixdat headers in case of writing out
|
// Set fixdat headers in case of writing out
|
||||||
datFile.Header.FileName = $"fixDAT_{datFile.Header.FileName}";
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)}");
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
||||||
datFile.Items.ClearMarked();
|
datFile.Items.ClearMarked();
|
||||||
@@ -153,7 +153,7 @@ namespace SabreTools.DatTools
|
|||||||
watch.Stop();
|
watch.Stop();
|
||||||
|
|
||||||
// Set fixdat headers in case of writing out
|
// Set fixdat headers in case of writing out
|
||||||
datFile.Header.FileName = $"fixDAT_{datFile.Header.FileName}";
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)}");
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
||||||
datFile.Items.ClearMarked();
|
datFile.Items.ClearMarked();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ namespace SabreTools.DatTools
|
|||||||
datFile.Items.BucketBy(ItemKey.Machine, DedupeType.None);
|
datFile.Items.BucketBy(ItemKey.Machine, DedupeType.None);
|
||||||
|
|
||||||
// Output the number of items we're going to be writing
|
// Output the number of items we're going to be writing
|
||||||
logger.User($"A total of {datFile.Items.TotalCount - datFile.Items.RemovedCount} items will be written out to '{datFile.Header.FileName}'");
|
logger.User($"A total of {datFile.Items.TotalCount - datFile.Items.RemovedCount} items will be written out to '{datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)}'");
|
||||||
|
|
||||||
// Get the outfile names
|
// Get the outfile names
|
||||||
Dictionary<DatFormat, string> outfiles = datFile.Header.CreateOutFileNames(outDir!, overwrite);
|
Dictionary<DatFormat, string> outfiles = datFile.Header.CreateOutFileNames(outDir!, overwrite);
|
||||||
@@ -135,7 +135,7 @@ namespace SabreTools.DatTools
|
|||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
Statistics = datFile.Items,
|
Statistics = datFile.Items,
|
||||||
DisplayName = datFile.Header.FileName,
|
DisplayName = datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||||
MachineCount = datFile.Items.Keys.Count,
|
MachineCount = datFile.Items.Keys.Count,
|
||||||
IsDirectory = false,
|
IsDirectory = false,
|
||||||
},
|
},
|
||||||
@@ -151,30 +151,30 @@ namespace SabreTools.DatTools
|
|||||||
private static void EnsureHeaderFields(DatFile datFile)
|
private static void EnsureHeaderFields(DatFile datFile)
|
||||||
{
|
{
|
||||||
// Empty FileName
|
// Empty FileName
|
||||||
if (string.IsNullOrEmpty(datFile.Header.FileName))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey)))
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
||||||
{
|
{
|
||||||
datFile.Header.FileName = "Default";
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey,"Default");
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "Default");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, "Default");
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, "Default");
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, "Default");
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
else if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
||||||
{
|
{
|
||||||
datFile.Header.FileName = datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey);
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey,datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (!string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
else if (!string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
||||||
{
|
{
|
||||||
datFile.Header.FileName = datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey);
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey));
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (!string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
else if (!string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
||||||
{
|
{
|
||||||
datFile.Header.FileName = datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey);
|
datFile.Header.SetFieldValue<string?>(DatHeader.FileNameKey, datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,8 +183,8 @@ namespace SabreTools.DatTools
|
|||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
||||||
{
|
{
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.FileName);
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.FileName);
|
datFile.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datFile.Header.GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
else if (string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)) && !string.IsNullOrEmpty(datFile.Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)))
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ namespace SabreTools.Test.DatFiles
|
|||||||
var datHeader = new DatHeader
|
var datHeader = new DatHeader
|
||||||
{
|
{
|
||||||
DatFormat = datFormat,
|
DatFormat = datFormat,
|
||||||
FileName = "test.dat",
|
|
||||||
};
|
};
|
||||||
|
datHeader.SetFieldValue<string?>(DatHeader.FileNameKey, "test.dat");
|
||||||
|
|
||||||
// Invoke the method
|
// Invoke the method
|
||||||
string outDir = "C:\\Test";
|
string outDir = "C:\\Test";
|
||||||
@@ -37,8 +37,8 @@ namespace SabreTools.Test.DatFiles
|
|||||||
var datHeader = new DatHeader
|
var datHeader = new DatHeader
|
||||||
{
|
{
|
||||||
DatFormat = DatFormat.ALL,
|
DatFormat = DatFormat.ALL,
|
||||||
FileName = "test.dat",
|
|
||||||
};
|
};
|
||||||
|
datHeader.SetFieldValue<string?>(DatHeader.FileNameKey, "test.dat");
|
||||||
|
|
||||||
// Invoke the method
|
// Invoke the method
|
||||||
string outDir = "C:\\Test";
|
string outDir = "C:\\Test";
|
||||||
|
|||||||
@@ -2152,8 +2152,6 @@ Some special strings that can be used:
|
|||||||
// TODO: Sort this by region, like the actual header
|
// TODO: Sort this by region, like the actual header
|
||||||
var datHeader = new DatHeader()
|
var datHeader = new DatHeader()
|
||||||
{
|
{
|
||||||
FileName = GetString(features, FilenameStringValue),
|
|
||||||
|
|
||||||
// Get the depot information
|
// Get the depot information
|
||||||
InputDepot = new DepotInformation(
|
InputDepot = new DepotInformation(
|
||||||
GetBoolean(features, DepotValue),
|
GetBoolean(features, DepotValue),
|
||||||
@@ -2168,6 +2166,7 @@ Some special strings that can be used:
|
|||||||
datHeader.SetFieldValue<string?>(Models.Metadata.Header.DateKey, GetString(features, DateStringValue));
|
datHeader.SetFieldValue<string?>(Models.Metadata.Header.DateKey, GetString(features, DateStringValue));
|
||||||
datHeader.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, GetString(features, DescriptionStringValue));
|
datHeader.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, GetString(features, DescriptionStringValue));
|
||||||
datHeader.SetFieldValue<string?>(Models.Metadata.Header.EmailKey, GetString(features, EmailStringValue));
|
datHeader.SetFieldValue<string?>(Models.Metadata.Header.EmailKey, GetString(features, EmailStringValue));
|
||||||
|
datHeader.SetFieldValue<string?>(DatHeader.FileNameKey, GetString(features, FilenameStringValue));
|
||||||
datHeader.SetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey, GetString(features, ForceMergingStringValue).AsEnumValue<MergingFlag>());
|
datHeader.SetFieldValue<MergingFlag>(Models.Metadata.Header.ForceMergingKey, GetString(features, ForceMergingStringValue).AsEnumValue<MergingFlag>());
|
||||||
datHeader.SetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetString(features, ForceNodumpStringValue).AsEnumValue<NodumpFlag>());
|
datHeader.SetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetString(features, ForceNodumpStringValue).AsEnumValue<NodumpFlag>());
|
||||||
datHeader.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForceNodumpKey, GetString(features, ForcePackingStringValue).AsEnumValue<PackingFlag>());
|
datHeader.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForceNodumpKey, GetString(features, ForcePackingStringValue).AsEnumValue<PackingFlag>());
|
||||||
|
|||||||
@@ -108,14 +108,14 @@ namespace SabreTools.Features
|
|||||||
// If we have the depot flag, respect it
|
// If we have the depot flag, respect it
|
||||||
bool success;
|
bool success;
|
||||||
if (Header.InputDepot?.IsActive ?? false)
|
if (Header.InputDepot?.IsActive ?? false)
|
||||||
success = Rebuilder.RebuildDepot(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.FileName!), date, delete, inverse, outputFormat);
|
success = Rebuilder.RebuildDepot(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.GetFieldValue<string?>(DatHeader.FileNameKey)!), date, delete, inverse, outputFormat);
|
||||||
else
|
else
|
||||||
success = Rebuilder.RebuildGeneric(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.FileName!), quickScan, date, delete, inverse, outputFormat, asFiles);
|
success = Rebuilder.RebuildGeneric(datdata, Inputs, Path.Combine(OutputDir!, datdata.Header.GetFieldValue<string?>(DatHeader.FileNameKey)!), quickScan, date, delete, inverse, outputFormat, asFiles);
|
||||||
|
|
||||||
// If we have a success and we're updating the DAT, write it out
|
// If we have a success and we're updating the DAT, write it out
|
||||||
if (success && updateDat)
|
if (success && updateDat)
|
||||||
{
|
{
|
||||||
datdata.Header.FileName = $"fixDAT_{Header.FileName}";
|
datdata.Header.SetFieldValue<string?>(DatHeader.FileNameKey, $"fixDAT_{Header.GetFieldValue<string?>(DatHeader.FileNameKey)}");
|
||||||
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
||||||
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
||||||
datdata.Items.ClearMarked();
|
datdata.Items.ClearMarked();
|
||||||
@@ -156,7 +156,7 @@ namespace SabreTools.Features
|
|||||||
// If we have a success and we're updating the DAT, write it out
|
// If we have a success and we're updating the DAT, write it out
|
||||||
if (success && updateDat)
|
if (success && updateDat)
|
||||||
{
|
{
|
||||||
datdata.Header.FileName = $"fixDAT_{Header.FileName}";
|
datdata.Header.SetFieldValue<string?>(DatHeader.FileNameKey, $"fixDAT_{Header.GetFieldValue<string?>(DatHeader.FileNameKey)}");
|
||||||
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.NameKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey)}");
|
||||||
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
datdata.Header.SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, $"fixDAT_{Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey)}");
|
||||||
datdata.Items.ClearMarked();
|
datdata.Items.ClearMarked();
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ The stats that are outputted are as follows:
|
|||||||
if (!base.ProcessFeatures(features))
|
if (!base.ProcessFeatures(features))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
string filename = Header!.FileName!;
|
string filename = Header!.GetFieldValue<string?>(DatFiles.DatHeader.FileNameKey)!;
|
||||||
if (Path.GetFileName(filename) != filename)
|
if (Path.GetFileName(filename) != filename)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(OutputDir))
|
if (string.IsNullOrWhiteSpace(OutputDir))
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ namespace SabreTools.Features
|
|||||||
string innerpost = $" ({j} - {inputPaths[j].GetNormalizedFileName(true)} Only)";
|
string innerpost = $" ({j} - {inputPaths[j].GetNormalizedFileName(true)} Only)";
|
||||||
|
|
||||||
datHeaders[j] = userInputDat.Header;
|
datHeaders[j] = userInputDat.Header;
|
||||||
datHeaders[j].FileName += innerpost;
|
datHeaders[j].SetFieldValue<string?>(DatHeader.FileNameKey, datHeaders[j].GetFieldValue<string?>(DatHeader.FileNameKey) + innerpost);
|
||||||
datHeaders[j].SetFieldValue<string?>(Models.Metadata.Header.NameKey, datHeaders[j].GetFieldValue<string?>(Models.Metadata.Header.NameKey) + innerpost);
|
datHeaders[j].SetFieldValue<string?>(Models.Metadata.Header.NameKey, datHeaders[j].GetFieldValue<string?>(Models.Metadata.Header.NameKey) + innerpost);
|
||||||
datHeaders[j].SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datHeaders[j].GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + innerpost);
|
datHeaders[j].SetFieldValue<string?>(Models.Metadata.Header.DescriptionKey, datHeaders[j].GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey) + innerpost);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user