Make inverted DiskArea less impactful

This commit is contained in:
Matt Nadareski
2026-04-09 23:36:50 -04:00
parent b0a9464d2b
commit 5f9eaef9f2
8 changed files with 18 additions and 40 deletions

View File

@@ -638,7 +638,6 @@ namespace SabreTools.Metadata.DatFiles
{
foreach (var diskArea in diskAreas)
{
var diskAreaitem = new DiskArea(diskArea, machine, source);
var disks = diskArea.Disk;
if (disks is null)
continue;
@@ -651,7 +650,7 @@ namespace SabreTools.Metadata.DatFiles
var diskItem = new Disk(disk, machine, source)
{
DiskArea = diskAreaitem,
DiskAreaName = diskArea.Name,
PartInterface = item.Interface,
PartName = item.Name,
};

View File

@@ -139,7 +139,7 @@ namespace SabreTools.Metadata.DatFiles
// Add Part mapping
if (dipSwitch.PartInterface is not null || dipSwitch.PartName is not null)
partMappings[new Data.Models.Metadata.Part { Interface = dipSwitch.PartInterface, Name = dipSwitch.PartName}] = dipSwitchItem;
partMappings[new Data.Models.Metadata.Part { Interface = dipSwitch.PartInterface, Name = dipSwitch.PartName }] = dipSwitchItem;
break;
case DatItems.Formats.Disk disk:
@@ -148,7 +148,7 @@ namespace SabreTools.Metadata.DatFiles
machine.Disk = [.. machine.Disk, diskItem];
// Add Part and DiskArea mappings
if ((disk.PartInterface is not null || disk.PartName is not null) && disk.DiskArea is not null)
if ((disk.PartInterface is not null || disk.PartName is not null) && disk.DiskAreaName is not null)
{
var partItemInternal = new Data.Models.Metadata.Part
{
@@ -156,7 +156,7 @@ namespace SabreTools.Metadata.DatFiles
Name = disk.PartName,
};
partMappings[partItemInternal] = diskItem;
diskAreaMappings[partItemInternal] = (disk.DiskArea.GetInternalClone(), diskItem);
diskAreaMappings[partItemInternal] = (new Data.Models.Metadata.DiskArea { Name = disk.DiskAreaName }, diskItem);
}
break;
@@ -193,7 +193,7 @@ namespace SabreTools.Metadata.DatFiles
// Add Part mapping
if (partFeature.PartInterface is not null || partFeature.PartName is not null)
partMappings[new Data.Models.Metadata.Part { Interface = partFeature.PartInterface, Name = partFeature.PartName}] = partFeatureItem;
partMappings[new Data.Models.Metadata.Part { Interface = partFeature.PartInterface, Name = partFeature.PartName }] = partFeatureItem;
break;
case DatItems.Formats.Port port:
@@ -477,7 +477,7 @@ namespace SabreTools.Metadata.DatFiles
// Add Part mapping
if (dipSwitch.PartInterface is not null || dipSwitch.PartName is not null)
partMappings[new Data.Models.Metadata.Part { Interface = dipSwitch.PartInterface, Name = dipSwitch.PartName}] = dipSwitchItem;
partMappings[new Data.Models.Metadata.Part { Interface = dipSwitch.PartInterface, Name = dipSwitch.PartName }] = dipSwitchItem;
break;
case DatItems.Formats.Disk disk:
@@ -486,7 +486,7 @@ namespace SabreTools.Metadata.DatFiles
machine.Disk = [.. machine.Disk, diskItem];
// Add Part and DiskArea mappings
if ((disk.PartInterface is not null || disk.PartName is not null) && disk.DiskArea is not null)
if ((disk.PartInterface is not null || disk.PartName is not null) && disk.DiskAreaName is not null)
{
var partItemInternal = new Data.Models.Metadata.Part
{
@@ -494,7 +494,7 @@ namespace SabreTools.Metadata.DatFiles
Name = disk.PartName,
};
partMappings[partItemInternal] = diskItem;
diskAreaMappings[partItemInternal] = (disk.DiskArea.GetInternalClone(), diskItem);
diskAreaMappings[partItemInternal] = (new Data.Models.Metadata.DiskArea { Name = disk.DiskAreaName }, diskItem);
}
break;
@@ -531,7 +531,7 @@ namespace SabreTools.Metadata.DatFiles
// Add Part mapping
if (partFeature.PartInterface is not null || partFeature.PartName is not null)
partMappings[new Data.Models.Metadata.Part { Interface = partFeature.PartInterface, Name = partFeature.PartName}] = partFeatureItem;
partMappings[new Data.Models.Metadata.Part { Interface = partFeature.PartInterface, Name = partFeature.PartName }] = partFeatureItem;
break;
case DatItems.Formats.Port port:

View File

@@ -151,15 +151,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
}
if (!disk.DiskAreaSpecified)
{
if (disk.DiskAreaName is null)
missingFields.Add(nameof(Data.Models.Metadata.DiskArea.Name));
}
else
{
if (string.IsNullOrEmpty(disk.DiskArea!.Name))
missingFields.Add(nameof(Data.Models.Metadata.DiskArea.Name));
}
if (string.IsNullOrEmpty(disk.Name))
missingFields.Add(nameof(Data.Models.Metadata.Disk.Name));