mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
DatItems don't know about removing fields or ORPG
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml.Serialization;
|
||||
@@ -795,136 +794,6 @@ namespace SabreTools.DatItems
|
||||
|
||||
#endregion
|
||||
|
||||
#region Filtering
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void RemoveFields(
|
||||
List<DatItemField> datItemFields,
|
||||
List<MachineField> machineFields)
|
||||
{
|
||||
// Remove common fields first
|
||||
base.RemoveFields(datItemFields, machineFields);
|
||||
|
||||
// Remove the fields
|
||||
|
||||
#region Common
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Name))
|
||||
Name = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Bios))
|
||||
Bios = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Size))
|
||||
Size = 0;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.CRC))
|
||||
CRC = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.MD5))
|
||||
MD5 = null;
|
||||
|
||||
#if NET_FRAMEWORK
|
||||
if (datItemFields.Contains(DatItemField.RIPEMD160))
|
||||
RIPEMD160 = null;
|
||||
#endif
|
||||
|
||||
if (datItemFields.Contains(DatItemField.SHA1))
|
||||
SHA1 = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.SHA256))
|
||||
SHA256 = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.SHA384))
|
||||
SHA384 = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.SHA512))
|
||||
SHA512 = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.SpamSum))
|
||||
SpamSum = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Merge))
|
||||
MergeTag = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Region))
|
||||
Region = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Offset))
|
||||
Offset = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Date))
|
||||
Date = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Status))
|
||||
ItemStatus = ItemStatus.NULL;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Optional))
|
||||
Optional = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Inverted))
|
||||
Inverted = null;
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
if (datItemFields.Contains(DatItemField.AltName))
|
||||
AltName = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.AltTitle))
|
||||
AltTitle = null;
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Original))
|
||||
Original = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.OpenMSXSubType))
|
||||
OpenMSXSubType = OpenMSXSubType.NULL;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.OpenMSXType))
|
||||
OpenMSXType = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Remark))
|
||||
Remark = null;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Boot))
|
||||
Boot = null;
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
if (datItemFields.Contains(DatItemField.LoadFlag))
|
||||
LoadFlag = LoadFlag.NULL;
|
||||
|
||||
if (datItemFields.Contains(DatItemField.Value))
|
||||
Value = null;
|
||||
|
||||
if (DataAreaSpecified)
|
||||
DataArea.RemoveFields(datItemFields, machineFields);
|
||||
|
||||
if (PartSpecified)
|
||||
Part.RemoveFields(datItemFields, machineFields);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set internal names to match One Rom Per Game (ORPG) logic
|
||||
/// </summary>
|
||||
public override void SetOneRomPerGame()
|
||||
{
|
||||
string[] splitname = Name.Split('.');
|
||||
Machine.Name += $"/{string.Join(".", splitname.Take(splitname.Length > 1 ? splitname.Length - 1 : 1))}";
|
||||
Name = Path.GetFileName(Name);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Sorting and Merging
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user