mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Each item removes its own
This commit is contained in:
@@ -1238,7 +1238,6 @@ namespace SabreTools.Library.DatFiles
|
||||
/// <summary>
|
||||
/// Remove fields as per the header
|
||||
/// </summary>
|
||||
/// TODO: Move internal logic to DatItem like the rest
|
||||
public void RemoveFieldsFromItems()
|
||||
{
|
||||
// Output the logging statement
|
||||
@@ -1253,200 +1252,7 @@ namespace SabreTools.Library.DatFiles
|
||||
List<DatItem> items = Items[key];
|
||||
for (int j = 0; j < items.Count; j++)
|
||||
{
|
||||
DatItem item = items[j];
|
||||
|
||||
// TODO: Switch statement
|
||||
foreach (Field field in fields)
|
||||
{
|
||||
// Machine Fields
|
||||
if (field == Field.MachineName)
|
||||
item.MachineName = null;
|
||||
if (field == Field.Comment)
|
||||
item.Comment = null;
|
||||
if (field == Field.Description)
|
||||
item.MachineDescription = null;
|
||||
if (field == Field.Year)
|
||||
item.Year = null;
|
||||
if (field == Field.Manufacturer)
|
||||
item.Manufacturer = null;
|
||||
if (field == Field.Publisher)
|
||||
item.Publisher = null;
|
||||
if (field == Field.Category)
|
||||
item.Category = null;
|
||||
if (field == Field.RomOf)
|
||||
item.RomOf = null;
|
||||
if (field == Field.CloneOf)
|
||||
item.CloneOf = null;
|
||||
if (field == Field.SampleOf)
|
||||
item.SampleOf = null;
|
||||
if (field == Field.Supported)
|
||||
item.Supported = null;
|
||||
if (field == Field.SourceFile)
|
||||
item.SourceFile = null;
|
||||
if (field == Field.Runnable)
|
||||
item.Runnable = null;
|
||||
if (field == Field.Board)
|
||||
item.Board = null;
|
||||
if (field == Field.RebuildTo)
|
||||
item.RebuildTo = null;
|
||||
if (field == Field.Devices)
|
||||
item.Devices = null;
|
||||
if (field == Field.SlotOptions)
|
||||
item.SlotOptions = null;
|
||||
if (field == Field.Infos)
|
||||
item.Infos = null;
|
||||
if (field == Field.MachineType)
|
||||
item.MachineType = MachineType.NULL;
|
||||
|
||||
// Item Fields
|
||||
if (field == Field.Name)
|
||||
item.Name = null;
|
||||
if (field == Field.PartName)
|
||||
item.PartName = null;
|
||||
if (field == Field.PartInterface)
|
||||
item.PartInterface = null;
|
||||
if (field == Field.Features)
|
||||
item.Features = null;
|
||||
if (field == Field.AreaName)
|
||||
item.AreaName = null;
|
||||
if (field == Field.AreaSize)
|
||||
item.AreaSize = null;
|
||||
if (field == Field.Default)
|
||||
{
|
||||
if (item.ItemType == ItemType.BiosSet)
|
||||
(item as BiosSet).Default = null;
|
||||
else if (item.ItemType == ItemType.Release)
|
||||
(item as Release).Default = null;
|
||||
}
|
||||
if (field == Field.BiosDescription)
|
||||
{
|
||||
if (item.ItemType == ItemType.BiosSet)
|
||||
(item as BiosSet).Description = null;
|
||||
}
|
||||
if (field == Field.Size)
|
||||
{
|
||||
if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Size = 0;
|
||||
}
|
||||
if (field == Field.CRC)
|
||||
{
|
||||
if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).CRC = null;
|
||||
}
|
||||
if (field == Field.MD5)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).MD5 = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).MD5 = null;
|
||||
}
|
||||
#if NET_FRAMEWORK
|
||||
if (field == Field.RIPEMD160)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).RIPEMD160 = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).RIPEMD160 = null;
|
||||
}
|
||||
#endif
|
||||
if (field == Field.SHA1)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).SHA1 = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).SHA1 = null;
|
||||
}
|
||||
if (field == Field.SHA256)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).SHA256 = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).SHA256 = null;
|
||||
}
|
||||
if (field == Field.SHA384)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).SHA384 = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).SHA384 = null;
|
||||
}
|
||||
if (field == Field.SHA512)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).SHA512 = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).SHA512 = null;
|
||||
}
|
||||
if (field == Field.Merge)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).MergeTag = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).MergeTag = null;
|
||||
}
|
||||
if (field == Field.Region)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).Region = null;
|
||||
else if (item.ItemType == ItemType.Release)
|
||||
(item as Release).Region = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Region = null;
|
||||
}
|
||||
if (field == Field.Index)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).Index = null;
|
||||
}
|
||||
if (field == Field.Writable)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).Writable = null;
|
||||
}
|
||||
if (field == Field.Optional)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).Optional = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Optional = null;
|
||||
}
|
||||
if (field == Field.Status)
|
||||
{
|
||||
if (item.ItemType == ItemType.Disk)
|
||||
(item as Disk).ItemStatus = ItemStatus.NULL;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).ItemStatus = ItemStatus.NULL;
|
||||
}
|
||||
if (field == Field.Language)
|
||||
{
|
||||
if (item.ItemType == ItemType.Release)
|
||||
(item as Release).Language = null;
|
||||
}
|
||||
if (field == Field.Date)
|
||||
{
|
||||
if (item.ItemType == ItemType.Release)
|
||||
(item as Release).Date = null;
|
||||
else if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Date = null;
|
||||
}
|
||||
if (field == Field.Bios)
|
||||
{
|
||||
if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Bios = null;
|
||||
}
|
||||
if (field == Field.Offset)
|
||||
{
|
||||
if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Offset = null;
|
||||
}
|
||||
if (field == Field.Inverted)
|
||||
{
|
||||
if (item.ItemType == ItemType.Rom)
|
||||
(item as Rom).Inverted = null;
|
||||
}
|
||||
}
|
||||
|
||||
items[j] = item;
|
||||
items[j].RemoveFields(fields);
|
||||
}
|
||||
|
||||
Items.Remove(key);
|
||||
|
||||
Reference in New Issue
Block a user