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())
|
||||
{
|
||||
// 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
|
||||
@@ -271,7 +271,7 @@ namespace SabreTools.DatFiles
|
||||
// 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))
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ namespace SabreTools.DatFiles
|
||||
&& rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) != null && rom.GetFieldValue<long?>(Models.Metadata.Rom.SizeKey) > 0
|
||||
&& !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);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,11 @@ namespace SabreTools.DatFiles
|
||||
/// </summary>
|
||||
public const string AddExtensionKey = "ADDEXTENSION";
|
||||
|
||||
/// <summary>
|
||||
/// External name of the DAT
|
||||
/// </summary>
|
||||
public const string FileNameKey = "FILENAME";
|
||||
|
||||
/// <summary>
|
||||
/// Output the machine name
|
||||
/// </summary>
|
||||
@@ -62,13 +67,6 @@ namespace SabreTools.DatFiles
|
||||
|
||||
#region Fields
|
||||
|
||||
/// <summary>
|
||||
/// External name of the DAT
|
||||
/// </summary>
|
||||
[JsonProperty("filename", DefaultValueHandling = DefaultValueHandling.Include)]
|
||||
[XmlElement("filename")]
|
||||
public string? FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Read or write format
|
||||
/// </summary>
|
||||
@@ -168,7 +166,6 @@ namespace SabreTools.DatFiles
|
||||
{
|
||||
var header = new DatHeader()
|
||||
{
|
||||
FileName = this.FileName,
|
||||
DatFormat = this.DatFormat,
|
||||
|
||||
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<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?>(DatHeader.FileNameKey, GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||
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<PackingFlag>(Models.Metadata.Header.ForcePackingKey, GetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey));
|
||||
@@ -227,7 +225,6 @@ namespace SabreTools.DatFiles
|
||||
{
|
||||
var header = new DatHeader()
|
||||
{
|
||||
FileName = this.FileName,
|
||||
DatFormat = this.DatFormat,
|
||||
};
|
||||
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.DescriptionKey, GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey));
|
||||
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<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey, GetFieldValue<NodumpFlag>(Models.Metadata.Header.ForceNodumpKey));
|
||||
header.SetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey, GetFieldValue<PackingFlag>(Models.Metadata.Header.ForcePackingKey));
|
||||
@@ -283,8 +281,8 @@ namespace SabreTools.DatFiles
|
||||
if (datHeader == null)
|
||||
return;
|
||||
|
||||
if (!string.IsNullOrEmpty(datHeader.FileName))
|
||||
FileName = datHeader.FileName;
|
||||
if (!string.IsNullOrEmpty(datHeader.GetFieldValue<string?>(DatHeader.FileNameKey)))
|
||||
SetFieldValue<string?>(DatHeader.FileNameKey, datHeader.GetFieldValue<string?>(DatHeader.FileNameKey));
|
||||
|
||||
if (!string.IsNullOrEmpty(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>
|
||||
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
|
||||
if (Utilities.HasValidDatExtension(filename))
|
||||
|
||||
@@ -126,7 +126,7 @@ namespace SabreTools.DatFiles.Formats
|
||||
{
|
||||
Name = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
||||
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),
|
||||
Year = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.YearKey),
|
||||
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
|
||||
{
|
||||
FileName = Header.FileName,
|
||||
FileName = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
||||
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
||||
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
|
||||
{
|
||||
FileName = Header.FileName,
|
||||
FileName = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
||||
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
||||
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
|
||||
{
|
||||
FileName = Header.FileName,
|
||||
FileName = Header.GetFieldValue<string?>(DatHeader.FileNameKey),
|
||||
InternalName = Header.GetFieldValue<string?>(Models.Metadata.Header.NameKey),
|
||||
Description = Header.GetFieldValue<string?>(Models.Metadata.Header.DescriptionKey),
|
||||
GameName = rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetFieldValue<string?>(Models.Metadata.Machine.NameKey),
|
||||
|
||||
Reference in New Issue
Block a user