mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Field enum cleanup, part 1
This commit is contained in:
@@ -189,10 +189,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (filter.DatItem_Default.MatchesNeutral(null, Default) == false)
|
||||
return false;
|
||||
|
||||
// Filter on conditions
|
||||
if (filter.DatItem_Conditions.MatchesNeutral(null, Conditions != null ? (bool?)(Conditions.Count > 0) : null) == false)
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (Conditions != null)
|
||||
{
|
||||
@@ -222,9 +218,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Default))
|
||||
Default = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = null;
|
||||
|
||||
if (Conditions != null)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
@@ -272,9 +265,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Default))
|
||||
Default = newItem.Default;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = newItem.Conditions;
|
||||
|
||||
// Field replacement doesn't make sense for DatItem_Condition*
|
||||
}
|
||||
|
||||
|
||||
@@ -257,10 +257,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (filter.DatItem_Mask.MatchesNegativeSet(Mask) == true)
|
||||
return false;
|
||||
|
||||
// Filter on conditions
|
||||
if (filter.DatItem_Conditions.MatchesNeutral(null, Conditions != null ? (bool?)(Conditions.Count > 0) : null) == false)
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (Conditions != null)
|
||||
{
|
||||
@@ -271,10 +267,6 @@ namespace SabreTools.Library.DatItems
|
||||
}
|
||||
}
|
||||
|
||||
// Filter on locations
|
||||
if (filter.DatItem_Locations.MatchesNeutral(null, Locations != null ? (bool?)(Locations.Count > 0) : null) == false)
|
||||
return false;
|
||||
|
||||
// Filter on individual locations
|
||||
if (Locations != null)
|
||||
{
|
||||
@@ -285,10 +277,6 @@ namespace SabreTools.Library.DatItems
|
||||
}
|
||||
}
|
||||
|
||||
// Filter on settings
|
||||
if (filter.DatItem_Settings.MatchesNeutral(null, Settings != null ? (bool?)(Settings.Count > 0) : null) == false)
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (Settings != null)
|
||||
{
|
||||
@@ -321,9 +309,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Mask))
|
||||
Mask = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = null;
|
||||
|
||||
if (Conditions != null)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
@@ -332,9 +317,6 @@ namespace SabreTools.Library.DatItems
|
||||
}
|
||||
}
|
||||
|
||||
if (fields.Contains(Field.DatItem_Locations))
|
||||
Locations = null;
|
||||
|
||||
if (Locations != null)
|
||||
{
|
||||
foreach (Location location in Locations)
|
||||
@@ -343,9 +325,6 @@ namespace SabreTools.Library.DatItems
|
||||
}
|
||||
}
|
||||
|
||||
if (fields.Contains(Field.DatItem_Settings))
|
||||
Settings = null;
|
||||
|
||||
if (Settings != null)
|
||||
{
|
||||
foreach (Setting setting in Settings)
|
||||
@@ -396,19 +375,8 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Mask))
|
||||
Mask = newItem.Mask;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = newItem.Conditions;
|
||||
|
||||
// Field replacement doesn't make sense for DatItem_Condition*
|
||||
|
||||
if (fields.Contains(Field.DatItem_Locations))
|
||||
Locations = newItem.Locations;
|
||||
|
||||
// Field replacement doesn't make sense for DatItem_Location*
|
||||
|
||||
if (fields.Contains(Field.DatItem_Settings))
|
||||
Settings = newItem.Settings;
|
||||
|
||||
// Field replacement doesn't make sense for DatItem_Setting*
|
||||
}
|
||||
|
||||
|
||||
@@ -69,54 +69,20 @@ namespace SabreTools.Library.DatItems
|
||||
/// <summary>
|
||||
/// Fields unique to a DatItem
|
||||
/// </summary>
|
||||
/// TODO: Update this once reshuffling is done
|
||||
public static readonly List<Field> DatItemFields = new List<Field>()
|
||||
{
|
||||
#region Common
|
||||
|
||||
Field.DatItem_Name,
|
||||
Field.DatItem_Type,
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
Field.DatItem_AltName,
|
||||
Field.DatItem_AltTitle,
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
Field.DatItem_Original,
|
||||
Field.DatItem_OpenMSXSubType,
|
||||
Field.DatItem_OpenMSXType,
|
||||
Field.DatItem_Remark,
|
||||
Field.DatItem_Boot,
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
// Part
|
||||
Field.DatItem_Part,
|
||||
Field.DatItem_Part_Name,
|
||||
Field.DatItem_Part_Interface,
|
||||
|
||||
// Feature
|
||||
Field.DatItem_Features,
|
||||
Field.DatItem_Feature_Name,
|
||||
Field.DatItem_Feature_Value,
|
||||
|
||||
Field.DatItem_LoadFlag,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Item-Specific
|
||||
|
||||
#region Actionable
|
||||
|
||||
// Rom
|
||||
Field.DatItem_Name,
|
||||
Field.DatItem_Bios,
|
||||
Field.DatItem_Size,
|
||||
Field.DatItem_CRC,
|
||||
@@ -136,11 +102,27 @@ namespace SabreTools.Library.DatItems
|
||||
Field.DatItem_Optional,
|
||||
Field.DatItem_Inverted,
|
||||
|
||||
// Rom (AttractMode)
|
||||
Field.DatItem_AltName,
|
||||
Field.DatItem_AltTitle,
|
||||
|
||||
// Rom (OpenMSX)
|
||||
Field.DatItem_Original,
|
||||
Field.DatItem_OpenMSXSubType,
|
||||
Field.DatItem_OpenMSXType,
|
||||
Field.DatItem_Remark,
|
||||
Field.DatItem_Boot,
|
||||
|
||||
// Rom (SoftwareList)
|
||||
Field.DatItem_AreaName,
|
||||
Field.DatItem_AreaSize,
|
||||
Field.DatItem_AreaWidth,
|
||||
Field.DatItem_AreaEndianness,
|
||||
Field.DatItem_LoadFlag,
|
||||
Field.DatItem_Part_Name,
|
||||
Field.DatItem_Part_Interface,
|
||||
Field.DatItem_Part_Feature_Name,
|
||||
Field.DatItem_Part_Feature_Value,
|
||||
Field.DatItem_Value,
|
||||
|
||||
// Disk
|
||||
@@ -153,11 +135,9 @@ namespace SabreTools.Library.DatItems
|
||||
|
||||
// Adjuster
|
||||
Field.DatItem_Default,
|
||||
Field.DatItem_Conditions,
|
||||
Field.DatItem_Condition_Tag,
|
||||
Field.DatItem_Condition_Mask,
|
||||
Field.DatItem_Condition_Relation,
|
||||
Field.DatItem_Condition_Value,
|
||||
|
||||
// Analog
|
||||
Field.DatItem_Analog_Mask,
|
||||
|
||||
// BiosSet
|
||||
Field.DatItem_Description,
|
||||
@@ -167,23 +147,100 @@ namespace SabreTools.Library.DatItems
|
||||
Field.DatItem_ChipType,
|
||||
Field.DatItem_Clock,
|
||||
|
||||
// DIP Switch.Values
|
||||
Field.DatItem_Values,
|
||||
Field.DatItem_Value_Name,
|
||||
Field.DatItem_Value_Value,
|
||||
Field.DatItem_Value_Default,
|
||||
// Condition
|
||||
Field.DatItem_Mask,
|
||||
Field.DatItem_Relation,
|
||||
Field.DatItem_Condition_Tag,
|
||||
Field.DatItem_Condition_Mask,
|
||||
Field.DatItem_Condition_Relation,
|
||||
Field.DatItem_Condition_Value,
|
||||
|
||||
// Control
|
||||
Field.DatItem_Control_Type,
|
||||
Field.DatItem_Control_Player,
|
||||
Field.DatItem_Control_Buttons,
|
||||
Field.DatItem_Control_RegButtons,
|
||||
Field.DatItem_Control_Minimum,
|
||||
Field.DatItem_Control_Maximum,
|
||||
Field.DatItem_Control_Sensitivity,
|
||||
Field.DatItem_Control_KeyDelta,
|
||||
Field.DatItem_Control_Reverse,
|
||||
Field.DatItem_Control_Ways,
|
||||
Field.DatItem_Control_Ways2,
|
||||
Field.DatItem_Control_Ways3,
|
||||
|
||||
// Device
|
||||
Field.DatItem_DeviceType,
|
||||
Field.DatItem_FixedImage,
|
||||
Field.DatItem_Mandatory,
|
||||
Field.DatItem_Interface,
|
||||
|
||||
// Display
|
||||
Field.DatItem_DisplayType,
|
||||
Field.DatItem_Rotate,
|
||||
Field.DatItem_FlipX,
|
||||
Field.DatItem_Width,
|
||||
Field.DatItem_Height,
|
||||
Field.DatItem_Refresh,
|
||||
Field.DatItem_PixClock,
|
||||
Field.DatItem_HTotal,
|
||||
Field.DatItem_HBEnd,
|
||||
Field.DatItem_HBStart,
|
||||
Field.DatItem_VTotal,
|
||||
Field.DatItem_VBEnd,
|
||||
Field.DatItem_VBStart,
|
||||
|
||||
// Driver
|
||||
Field.DatItem_SupportStatus,
|
||||
Field.DatItem_EmulationStatus,
|
||||
Field.DatItem_CocktailStatus,
|
||||
Field.DatItem_SaveStateStatus,
|
||||
|
||||
// Extension
|
||||
Field.DatItem_Extension_Name,
|
||||
|
||||
// Feature
|
||||
Field.DatItem_FeatureType,
|
||||
Field.DatItem_FeatureStatus,
|
||||
Field.DatItem_FeatureOverall,
|
||||
|
||||
// Input
|
||||
Field.DatItem_Service,
|
||||
Field.DatItem_Tilt,
|
||||
Field.DatItem_Players,
|
||||
Field.DatItem_Coins,
|
||||
|
||||
// Instance
|
||||
Field.DatItem_Instance_Name,
|
||||
Field.DatItem_Instance_BriefName,
|
||||
|
||||
// Location
|
||||
Field.DatItem_Location_Name,
|
||||
Field.DatItem_Location_Number,
|
||||
Field.DatItem_Location_Inverted,
|
||||
|
||||
// RamOption
|
||||
Field.DatItem_Content,
|
||||
|
||||
// Slot.SlotOptions
|
||||
Field.DatItem_SlotOptions,
|
||||
// Release
|
||||
Field.DatItem_Language,
|
||||
|
||||
// Setting
|
||||
Field.DatItem_Setting_Name,
|
||||
Field.DatItem_Setting_Value,
|
||||
Field.DatItem_Setting_Default,
|
||||
|
||||
// SlotOption
|
||||
Field.DatItem_SlotOption_Name,
|
||||
Field.DatItem_SlotOption_DeviceName,
|
||||
Field.DatItem_SlotOption_Default,
|
||||
|
||||
// Release
|
||||
Field.DatItem_Language,
|
||||
// SoftwareList
|
||||
Field.DatItem_SoftwareListStatus,
|
||||
Field.DatItem_Filter,
|
||||
|
||||
// Sound
|
||||
Field.DatItem_Channels,
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -193,22 +250,26 @@ namespace SabreTools.Library.DatItems
|
||||
/// <summary>
|
||||
/// Fields unique to a Machine
|
||||
/// </summary>
|
||||
/// TODO: Update this once reshuffling is done
|
||||
public static readonly List<Field> MachineFields = new List<Field>()
|
||||
{
|
||||
// Common
|
||||
#region Common
|
||||
|
||||
Field.Machine_Name,
|
||||
Field.Machine_Comment,
|
||||
Field.Machine_Description,
|
||||
Field.Machine_Year,
|
||||
Field.Machine_Manufacturer,
|
||||
Field.Machine_Publisher,
|
||||
Field.Machine_Category,
|
||||
Field.Machine_RomOf,
|
||||
Field.Machine_CloneOf,
|
||||
Field.Machine_SampleOf,
|
||||
Field.Machine_Type,
|
||||
|
||||
// AttractMode
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
Field.Machine_Players,
|
||||
Field.Machine_Rotation,
|
||||
Field.Machine_Control,
|
||||
@@ -217,15 +278,24 @@ namespace SabreTools.Library.DatItems
|
||||
Field.Machine_DisplayType,
|
||||
Field.Machine_Buttons,
|
||||
|
||||
// ListXML
|
||||
#endregion
|
||||
|
||||
#region ListXML
|
||||
|
||||
Field.Machine_SourceFile,
|
||||
Field.Machine_Runnable,
|
||||
|
||||
// Logiqx
|
||||
#endregion
|
||||
|
||||
#region Logiqx
|
||||
|
||||
Field.Machine_Board,
|
||||
Field.Machine_RebuildTo,
|
||||
|
||||
// Logiqx EmuArc
|
||||
#endregion
|
||||
|
||||
#region Logiqx EmuArc
|
||||
|
||||
Field.Machine_TitleID,
|
||||
Field.Machine_Developer,
|
||||
Field.Machine_Genre,
|
||||
@@ -236,13 +306,21 @@ namespace SabreTools.Library.DatItems
|
||||
Field.Machine_CRC,
|
||||
Field.Machine_RelatedTo,
|
||||
|
||||
// OpenMSX
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
Field.Machine_GenMSXID,
|
||||
Field.Machine_System,
|
||||
Field.Machine_Country,
|
||||
|
||||
// SoftwareList
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
Field.Machine_Supported,
|
||||
|
||||
#endregion
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -301,15 +301,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Mask))
|
||||
Mask = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Locations))
|
||||
Locations = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Values))
|
||||
Values = null;
|
||||
|
||||
// TODO: Handle DatItem_Condition*
|
||||
// TODO: Handle DatItem_Location*
|
||||
// TODO: Handle DatItem_Value*
|
||||
@@ -324,9 +315,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Part_Interface) && Part != null)
|
||||
Part.Interface = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
||||
Part.Features = null;
|
||||
|
||||
// TODO: Handle DatItem_Feature*
|
||||
|
||||
#endregion
|
||||
@@ -376,15 +364,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Mask))
|
||||
Mask = newItem.Mask;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = newItem.Conditions;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Locations))
|
||||
Locations = newItem.Locations;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Values))
|
||||
Values = newItem.Values;
|
||||
|
||||
// TODO: Handle DatItem_Condition*
|
||||
// TODO: Handle DatItem_Location*
|
||||
// TODO: Handle DatItem_Value*
|
||||
@@ -409,13 +388,7 @@ namespace SabreTools.Library.DatItems
|
||||
Part.Interface = newItem.Part?.Interface;
|
||||
}
|
||||
|
||||
if (fields.Contains(Field.DatItem_Features))
|
||||
{
|
||||
if (Part == null)
|
||||
Part = new Part();
|
||||
|
||||
Part.Features = newItem.Part?.Features;
|
||||
}
|
||||
// TODO: Handle DatItem_Part_Feature*
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -555,9 +555,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Part_Interface) && Part != null)
|
||||
Part.Interface = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
||||
Part.Features = null;
|
||||
|
||||
// TODO: Handle DatItem_Feature*
|
||||
|
||||
#endregion
|
||||
@@ -694,13 +691,7 @@ namespace SabreTools.Library.DatItems
|
||||
Part.Interface = newItem.Part?.Interface;
|
||||
}
|
||||
|
||||
if (fields.Contains(Field.DatItem_Features))
|
||||
{
|
||||
if (Part == null)
|
||||
Part = new Part();
|
||||
|
||||
Part.Features = newItem.Part?.Features;
|
||||
}
|
||||
// TODO: Handle DatItem_Part_Feature*
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -229,39 +229,16 @@ namespace SabreTools.Library.DatItems
|
||||
|
||||
#region Common
|
||||
|
||||
DatItem_Name,
|
||||
DatItem_Type,
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
DatItem_AltName,
|
||||
DatItem_AltTitle,
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
// Part
|
||||
DatItem_Part,
|
||||
DatItem_Part_Name,
|
||||
DatItem_Part_Interface,
|
||||
|
||||
// Feature
|
||||
DatItem_Features,
|
||||
DatItem_Feature_Name,
|
||||
DatItem_Feature_Value,
|
||||
|
||||
DatItem_LoadFlag,
|
||||
|
||||
#endregion
|
||||
|
||||
#region Item-Specific
|
||||
|
||||
#region Actionable
|
||||
|
||||
// Rom
|
||||
DatItem_Name,
|
||||
DatItem_Bios,
|
||||
DatItem_Size,
|
||||
DatItem_CRC,
|
||||
@@ -281,6 +258,10 @@ namespace SabreTools.Library.DatItems
|
||||
DatItem_Optional,
|
||||
DatItem_Inverted,
|
||||
|
||||
// Rom (AttractMode)
|
||||
DatItem_AltName,
|
||||
DatItem_AltTitle,
|
||||
|
||||
// Rom (OpenMSX)
|
||||
DatItem_Original,
|
||||
DatItem_OpenMSXSubType,
|
||||
@@ -289,10 +270,15 @@ namespace SabreTools.Library.DatItems
|
||||
DatItem_Boot,
|
||||
|
||||
// Rom (SoftwareList)
|
||||
DatItem_AreaName,
|
||||
DatItem_AreaSize,
|
||||
DatItem_AreaWidth,
|
||||
DatItem_AreaEndianness,
|
||||
DatItem_AreaName, // TODO: DataArea/DiskArea?
|
||||
DatItem_AreaSize, // TODO: DataArea?
|
||||
DatItem_AreaWidth, // TODO: DataArea?
|
||||
DatItem_AreaEndianness, // TODO: DataArea?
|
||||
DatItem_LoadFlag,
|
||||
DatItem_Part_Name, // TODO: Part?
|
||||
DatItem_Part_Interface, // TODO: Part?
|
||||
DatItem_Part_Feature_Name, // TODO: PartFeature?
|
||||
DatItem_Part_Feature_Value, // TODO: PartFeature?
|
||||
DatItem_Value,
|
||||
|
||||
// Disk
|
||||
@@ -305,14 +291,9 @@ namespace SabreTools.Library.DatItems
|
||||
|
||||
// Adjuster
|
||||
DatItem_Default,
|
||||
DatItem_Conditions,
|
||||
DatItem_Condition_Tag,
|
||||
DatItem_Condition_Mask,
|
||||
DatItem_Condition_Relation,
|
||||
DatItem_Condition_Value,
|
||||
|
||||
// Analog
|
||||
DatItem_Mask,
|
||||
DatItem_Analog_Mask,
|
||||
|
||||
// BiosSet
|
||||
DatItem_Description,
|
||||
@@ -323,19 +304,26 @@ namespace SabreTools.Library.DatItems
|
||||
DatItem_Clock,
|
||||
|
||||
// Condition
|
||||
DatItem_Mask,
|
||||
DatItem_Relation,
|
||||
DatItem_Condition_Tag,
|
||||
DatItem_Condition_Mask,
|
||||
DatItem_Condition_Relation,
|
||||
DatItem_Condition_Value,
|
||||
|
||||
// Configuration.Locations
|
||||
DatItem_Locations,
|
||||
DatItem_Location_Name,
|
||||
DatItem_Location_Number,
|
||||
DatItem_Location_Inverted,
|
||||
|
||||
// Configuration.Settings
|
||||
DatItem_Settings,
|
||||
DatItem_Setting_Name,
|
||||
DatItem_Setting_Value,
|
||||
DatItem_Setting_Default,
|
||||
// Control
|
||||
DatItem_Control_Type,
|
||||
DatItem_Control_Player,
|
||||
DatItem_Control_Buttons,
|
||||
DatItem_Control_RegButtons,
|
||||
DatItem_Control_Minimum,
|
||||
DatItem_Control_Maximum,
|
||||
DatItem_Control_Sensitivity,
|
||||
DatItem_Control_KeyDelta,
|
||||
DatItem_Control_Reverse,
|
||||
DatItem_Control_Ways,
|
||||
DatItem_Control_Ways2,
|
||||
DatItem_Control_Ways3,
|
||||
|
||||
// Device
|
||||
DatItem_DeviceType,
|
||||
@@ -343,21 +331,6 @@ namespace SabreTools.Library.DatItems
|
||||
DatItem_Mandatory,
|
||||
DatItem_Interface,
|
||||
|
||||
// Device.Instances
|
||||
DatItem_Instances,
|
||||
DatItem_Instance_Name,
|
||||
DatItem_Instance_BriefName,
|
||||
|
||||
// Device.Extensions
|
||||
DatItem_Extensions,
|
||||
DatItem_Extension_Name,
|
||||
|
||||
// DipSwitch.Values
|
||||
DatItem_Values,
|
||||
DatItem_Value_Name,
|
||||
DatItem_Value_Value,
|
||||
DatItem_Value_Default,
|
||||
|
||||
// Display
|
||||
DatItem_DisplayType,
|
||||
DatItem_Rotate,
|
||||
@@ -379,35 +352,28 @@ namespace SabreTools.Library.DatItems
|
||||
DatItem_CocktailStatus,
|
||||
DatItem_SaveStateStatus,
|
||||
|
||||
// Extension
|
||||
DatItem_Extension_Name,
|
||||
|
||||
// Feature
|
||||
DatItem_FeatureType,
|
||||
DatItem_FeatureStatus,
|
||||
DatItem_FeatureOverall,
|
||||
|
||||
// Inputs
|
||||
// Input
|
||||
DatItem_Service,
|
||||
DatItem_Tilt,
|
||||
DatItem_Players,
|
||||
DatItem_Coins,
|
||||
|
||||
// Inputs.Controls
|
||||
DatItem_Controls,
|
||||
DatItem_Control_Type,
|
||||
DatItem_Control_Player,
|
||||
DatItem_Control_Buttons,
|
||||
DatItem_Control_RegButtons,
|
||||
DatItem_Control_Minimum,
|
||||
DatItem_Control_Maximum,
|
||||
DatItem_Control_Sensitivity,
|
||||
DatItem_Control_KeyDelta,
|
||||
DatItem_Control_Reverse,
|
||||
DatItem_Control_Ways,
|
||||
DatItem_Control_Ways2,
|
||||
DatItem_Control_Ways3,
|
||||
// Instance
|
||||
DatItem_Instance_Name,
|
||||
DatItem_Instance_BriefName,
|
||||
|
||||
// Port.Analogs
|
||||
DatItem_Analogs,
|
||||
DatItem_Analog_Mask,
|
||||
// Location
|
||||
DatItem_Location_Name,
|
||||
DatItem_Location_Number,
|
||||
DatItem_Location_Inverted,
|
||||
|
||||
// RamOption
|
||||
DatItem_Content,
|
||||
@@ -415,8 +381,12 @@ namespace SabreTools.Library.DatItems
|
||||
// Release
|
||||
DatItem_Language,
|
||||
|
||||
// Slot.SlotOptions
|
||||
DatItem_SlotOptions,
|
||||
// Setting
|
||||
DatItem_Setting_Name,
|
||||
DatItem_Setting_Value,
|
||||
DatItem_Setting_Default,
|
||||
|
||||
// SlotOption
|
||||
DatItem_SlotOption_Name,
|
||||
DatItem_SlotOption_DeviceName,
|
||||
DatItem_SlotOption_Default,
|
||||
@@ -425,7 +395,7 @@ namespace SabreTools.Library.DatItems
|
||||
DatItem_SoftwareListStatus,
|
||||
DatItem_Filter,
|
||||
|
||||
// Sounds
|
||||
// Sound
|
||||
DatItem_Channels,
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -193,9 +193,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Coins))
|
||||
Coins = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Controls))
|
||||
Controls = null;
|
||||
|
||||
// TODO: Handle DatItem_Control*
|
||||
}
|
||||
|
||||
@@ -233,9 +230,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Coins))
|
||||
Coins = newItem.Coins;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Controls))
|
||||
Controls = newItem.Controls;
|
||||
|
||||
// TODO: Handle DatItem_Control*
|
||||
}
|
||||
|
||||
|
||||
@@ -134,9 +134,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Tag))
|
||||
Tag = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Analogs))
|
||||
Analogs = null;
|
||||
|
||||
// TODO: Handle DatItem_Analog*
|
||||
}
|
||||
|
||||
@@ -165,9 +162,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Name))
|
||||
Tag = newItem.Tag;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Analogs))
|
||||
Analogs = newItem.Analogs;
|
||||
|
||||
// TODO: Handle DatItem_Analog*
|
||||
}
|
||||
|
||||
|
||||
@@ -1081,9 +1081,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Part_Interface) && Part != null)
|
||||
Part.Interface = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Features) && Part != null)
|
||||
Part.Features = null;
|
||||
|
||||
// TODO: Handle DatItem_Feature*
|
||||
|
||||
if (fields.Contains(Field.DatItem_Value))
|
||||
@@ -1342,13 +1339,7 @@ namespace SabreTools.Library.DatItems
|
||||
Part.Interface = newItem.Part?.Interface;
|
||||
}
|
||||
|
||||
if (fields.Contains(Field.DatItem_Features))
|
||||
{
|
||||
if (Part == null)
|
||||
Part = new Part();
|
||||
|
||||
Part.Features = newItem.Part?.Features;
|
||||
}
|
||||
// TODO: Handle DatItem_Part_Feature*
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -207,10 +207,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (filter.DatItem_Setting_Default.MatchesNeutral(null, Default) == false)
|
||||
return false;
|
||||
|
||||
// Filter on conditions
|
||||
if (filter.DatItem_Conditions.MatchesNeutral(null, Conditions != null ? (bool?)(Conditions.Count > 0) : null) == false)
|
||||
return false;
|
||||
|
||||
// Filter on individual conditions
|
||||
if (Conditions != null)
|
||||
{
|
||||
@@ -243,9 +239,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Setting_Default))
|
||||
Default = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_Conditions))
|
||||
Conditions = null;
|
||||
|
||||
if (Conditions != null)
|
||||
{
|
||||
foreach (Condition condition in Conditions)
|
||||
|
||||
@@ -173,9 +173,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Name))
|
||||
Name = null;
|
||||
|
||||
if (fields.Contains(Field.DatItem_SlotOptions))
|
||||
SlotOptions = null;
|
||||
|
||||
// TODO: Handle DatItem_SlotOption*
|
||||
}
|
||||
|
||||
@@ -214,9 +211,6 @@ namespace SabreTools.Library.DatItems
|
||||
if (fields.Contains(Field.DatItem_Name))
|
||||
Name = newItem.Name;
|
||||
|
||||
if (fields.Contains(Field.DatItem_SlotOptions))
|
||||
SlotOptions = newItem.SlotOptions;
|
||||
|
||||
// TODO: Handle DatItem_SlotOption*
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace SabreTools.Library.DatItems
|
||||
// Set base fields
|
||||
base.SetFields(mappings);
|
||||
|
||||
// Handle Sample-specific fields
|
||||
// Handle Sound-specific fields
|
||||
if (mappings.Keys.Contains(Field.DatItem_Channels))
|
||||
Channels = mappings[Field.DatItem_Channels];
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -661,90 +661,19 @@ namespace SabreTools.Library.Tools
|
||||
{
|
||||
#region Common
|
||||
|
||||
case "name":
|
||||
return Field.DatItem_Name;
|
||||
|
||||
case "type":
|
||||
return Field.DatItem_Type;
|
||||
|
||||
#endregion
|
||||
|
||||
#region AttractMode
|
||||
|
||||
case "altname":
|
||||
case "alt name":
|
||||
case "alt-name":
|
||||
case "altromname":
|
||||
case "alt romname":
|
||||
case "alt-romname":
|
||||
return Field.DatItem_AltName;
|
||||
|
||||
case "alttitle":
|
||||
case "alt title":
|
||||
case "alt-title":
|
||||
case "altromtitle":
|
||||
case "alt romtitle":
|
||||
case "alt-romtitle":
|
||||
return Field.DatItem_AltTitle;
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
case "original":
|
||||
return Field.DatItem_Original;
|
||||
|
||||
case "subtype":
|
||||
case "sub_type":
|
||||
case "openmsxsubtype":
|
||||
case "openmsx_subtype":
|
||||
return Field.DatItem_OpenMSXSubType;
|
||||
|
||||
case "openmsxtype":
|
||||
case "openmsx_type":
|
||||
return Field.DatItem_OpenMSXType;
|
||||
|
||||
case "remark":
|
||||
return Field.DatItem_Remark;
|
||||
|
||||
case "boot":
|
||||
return Field.DatItem_Boot;
|
||||
|
||||
#endregion
|
||||
|
||||
#region SoftwareList
|
||||
|
||||
case "part":
|
||||
return Field.DatItem_Part;
|
||||
|
||||
case "partname":
|
||||
case "part_name":
|
||||
return Field.DatItem_Part_Name;
|
||||
|
||||
case "partinterface":
|
||||
case "part_interface":
|
||||
return Field.DatItem_Part_Interface;
|
||||
|
||||
case "features":
|
||||
return Field.DatItem_Features;
|
||||
|
||||
case "feature_name":
|
||||
return Field.DatItem_Feature_Name;
|
||||
|
||||
case "feature_value":
|
||||
return Field.DatItem_Feature_Value;
|
||||
|
||||
case "loadflag":
|
||||
case "load_flag":
|
||||
return Field.DatItem_LoadFlag;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Item-Specific
|
||||
|
||||
#region Actionable
|
||||
|
||||
// Rom
|
||||
case "name":
|
||||
return Field.DatItem_Name;
|
||||
|
||||
case "bios":
|
||||
return Field.DatItem_Bios;
|
||||
|
||||
@@ -820,6 +749,43 @@ namespace SabreTools.Library.Tools
|
||||
case "inverted":
|
||||
return Field.DatItem_Inverted;
|
||||
|
||||
// Rom (AttractMode)
|
||||
case "altname":
|
||||
case "alt name":
|
||||
case "alt-name":
|
||||
case "altromname":
|
||||
case "alt romname":
|
||||
case "alt-romname":
|
||||
return Field.DatItem_AltName;
|
||||
|
||||
case "alttitle":
|
||||
case "alt title":
|
||||
case "alt-title":
|
||||
case "altromtitle":
|
||||
case "alt romtitle":
|
||||
case "alt-romtitle":
|
||||
return Field.DatItem_AltTitle;
|
||||
|
||||
// Rom (OpenMSX)
|
||||
case "original":
|
||||
return Field.DatItem_Original;
|
||||
|
||||
case "subtype":
|
||||
case "sub_type":
|
||||
case "openmsxsubtype":
|
||||
case "openmsx_subtype":
|
||||
return Field.DatItem_OpenMSXSubType;
|
||||
|
||||
case "openmsxtype":
|
||||
case "openmsx_type":
|
||||
return Field.DatItem_OpenMSXType;
|
||||
|
||||
case "remark":
|
||||
return Field.DatItem_Remark;
|
||||
|
||||
case "boot":
|
||||
return Field.DatItem_Boot;
|
||||
|
||||
// Rom (SoftwareList)
|
||||
case "areaname":
|
||||
case "area_name":
|
||||
@@ -837,6 +803,24 @@ namespace SabreTools.Library.Tools
|
||||
case "area_endianness":
|
||||
return Field.DatItem_AreaEndianness;
|
||||
|
||||
case "loadflag":
|
||||
case "load_flag":
|
||||
return Field.DatItem_LoadFlag;
|
||||
|
||||
case "partname":
|
||||
case "part_name":
|
||||
return Field.DatItem_Part_Name;
|
||||
|
||||
case "partinterface":
|
||||
case "part_interface":
|
||||
return Field.DatItem_Part_Interface;
|
||||
|
||||
case "part_feature_name":
|
||||
return Field.DatItem_Part_Feature_Name;
|
||||
|
||||
case "part_feature_value":
|
||||
return Field.DatItem_Part_Feature_Value;
|
||||
|
||||
case "value":
|
||||
return Field.DatItem_Value;
|
||||
|
||||
@@ -855,24 +839,9 @@ namespace SabreTools.Library.Tools
|
||||
case "default":
|
||||
return Field.DatItem_Default;
|
||||
|
||||
case "conditions":
|
||||
return Field.DatItem_Conditions;
|
||||
|
||||
case "condition_tag":
|
||||
return Field.DatItem_Condition_Tag;
|
||||
|
||||
case "condition_mask":
|
||||
return Field.DatItem_Condition_Mask;
|
||||
|
||||
case "condition_relation":
|
||||
return Field.DatItem_Condition_Relation;
|
||||
|
||||
case "condition_value":
|
||||
return Field.DatItem_Condition_Value;
|
||||
|
||||
// Analog
|
||||
case "mask":
|
||||
return Field.DatItem_Mask;
|
||||
case "analog_mask":
|
||||
return Field.DatItem_Analog_Mask;
|
||||
|
||||
// BiosSet
|
||||
case "description":
|
||||
@@ -892,46 +861,60 @@ namespace SabreTools.Library.Tools
|
||||
return Field.DatItem_Clock;
|
||||
|
||||
// Condition
|
||||
case "mask":
|
||||
return Field.DatItem_Mask;
|
||||
|
||||
case "relation":
|
||||
return Field.DatItem_Relation;
|
||||
|
||||
// Configuration
|
||||
case "locations":
|
||||
return Field.DatItem_Locations;
|
||||
case "condition_tag":
|
||||
return Field.DatItem_Condition_Tag;
|
||||
|
||||
case "location_name":
|
||||
return Field.DatItem_Location_Name;
|
||||
case "condition_mask":
|
||||
return Field.DatItem_Condition_Mask;
|
||||
|
||||
case "location_number":
|
||||
return Field.DatItem_Location_Number;
|
||||
case "condition_relation":
|
||||
return Field.DatItem_Condition_Relation;
|
||||
|
||||
case "location_inverted":
|
||||
return Field.DatItem_Location_Inverted;
|
||||
case "condition_value":
|
||||
return Field.DatItem_Condition_Value;
|
||||
|
||||
case "settings":
|
||||
return Field.DatItem_Settings;
|
||||
// Control
|
||||
case "control_type":
|
||||
return Field.DatItem_Control_Type;
|
||||
|
||||
case "setting_name":
|
||||
return Field.DatItem_Setting_Name;
|
||||
case "control_player":
|
||||
return Field.DatItem_Control_Player;
|
||||
|
||||
case "setting_value":
|
||||
return Field.DatItem_Setting_Value;
|
||||
case "control_buttons":
|
||||
return Field.DatItem_Control_Buttons;
|
||||
|
||||
case "setting_default":
|
||||
return Field.DatItem_Setting_Default;
|
||||
case "control_regbuttons":
|
||||
return Field.DatItem_Control_RegButtons;
|
||||
|
||||
// DIP Switch
|
||||
case "values":
|
||||
return Field.DatItem_Values;
|
||||
case "control_minimum":
|
||||
return Field.DatItem_Control_Minimum;
|
||||
|
||||
case "value_name":
|
||||
return Field.DatItem_Value_Name;
|
||||
case "control_maximum":
|
||||
return Field.DatItem_Control_Maximum;
|
||||
|
||||
case "value_value":
|
||||
return Field.DatItem_Value_Value;
|
||||
case "control_sensitivity":
|
||||
return Field.DatItem_Control_Sensitivity;
|
||||
|
||||
case "value_default":
|
||||
return Field.DatItem_Value_Default;
|
||||
case "control_keydelta":
|
||||
return Field.DatItem_Control_KeyDelta;
|
||||
|
||||
case "control_reverse":
|
||||
return Field.DatItem_Control_Reverse;
|
||||
|
||||
case "control_ways":
|
||||
return Field.DatItem_Control_Ways;
|
||||
|
||||
case "control_ways2":
|
||||
return Field.DatItem_Control_Ways2;
|
||||
|
||||
case "control_ways3":
|
||||
return Field.DatItem_Control_Ways3;
|
||||
|
||||
// Device
|
||||
case "devicetype":
|
||||
@@ -946,21 +929,6 @@ namespace SabreTools.Library.Tools
|
||||
case "interface":
|
||||
return Field.DatItem_Interface;
|
||||
|
||||
case "instances":
|
||||
return Field.DatItem_Instances;
|
||||
|
||||
case "instance_name":
|
||||
return Field.DatItem_Instance_Name;
|
||||
|
||||
case "instance_briefname":
|
||||
return Field.DatItem_Instance_BriefName;
|
||||
|
||||
case "extensions":
|
||||
return Field.DatItem_Extensions;
|
||||
|
||||
case "extension_name":
|
||||
return Field.DatItem_Extension_Name;
|
||||
|
||||
// Display
|
||||
case "displaytype":
|
||||
return Field.DatItem_DisplayType;
|
||||
@@ -1014,6 +982,10 @@ namespace SabreTools.Library.Tools
|
||||
case "savestatestatus":
|
||||
return Field.DatItem_SaveStateStatus;
|
||||
|
||||
// Extension
|
||||
case "extension_name":
|
||||
return Field.DatItem_Extension_Name;
|
||||
|
||||
// Feature
|
||||
case "featuretype":
|
||||
return Field.DatItem_FeatureType;
|
||||
@@ -1037,51 +1009,22 @@ namespace SabreTools.Library.Tools
|
||||
case "coins":
|
||||
return Field.DatItem_Coins;
|
||||
|
||||
case "controls":
|
||||
return Field.DatItem_Controls;
|
||||
// Instance
|
||||
case "instance_name":
|
||||
return Field.DatItem_Instance_Name;
|
||||
|
||||
case "control_type":
|
||||
return Field.DatItem_Control_Type;
|
||||
case "instance_briefname":
|
||||
return Field.DatItem_Instance_BriefName;
|
||||
|
||||
case "control_player":
|
||||
return Field.DatItem_Control_Player;
|
||||
// Location
|
||||
case "location_name":
|
||||
return Field.DatItem_Location_Name;
|
||||
|
||||
case "control_buttons":
|
||||
return Field.DatItem_Control_Buttons;
|
||||
case "location_number":
|
||||
return Field.DatItem_Location_Number;
|
||||
|
||||
case "control_regbuttons":
|
||||
return Field.DatItem_Control_RegButtons;
|
||||
|
||||
case "control_minimum":
|
||||
return Field.DatItem_Control_Minimum;
|
||||
|
||||
case "control_maximum":
|
||||
return Field.DatItem_Control_Maximum;
|
||||
|
||||
case "control_sensitivity":
|
||||
return Field.DatItem_Control_Sensitivity;
|
||||
|
||||
case "control_keydelta":
|
||||
return Field.DatItem_Control_KeyDelta;
|
||||
|
||||
case "control_reverse":
|
||||
return Field.DatItem_Control_Reverse;
|
||||
|
||||
case "control_ways":
|
||||
return Field.DatItem_Control_Ways;
|
||||
|
||||
case "control_ways2":
|
||||
return Field.DatItem_Control_Ways2;
|
||||
|
||||
case "control_ways3":
|
||||
return Field.DatItem_Control_Ways3;
|
||||
|
||||
// Port
|
||||
case "analogs":
|
||||
return Field.DatItem_Analogs;
|
||||
|
||||
case "analog_mask":
|
||||
return Field.DatItem_Analog_Mask;
|
||||
case "location_inverted":
|
||||
return Field.DatItem_Location_Inverted;
|
||||
|
||||
// RamOption
|
||||
case "content":
|
||||
@@ -1091,10 +1034,20 @@ namespace SabreTools.Library.Tools
|
||||
case "language":
|
||||
return Field.DatItem_Language;
|
||||
|
||||
// Slot
|
||||
case "slotoptions":
|
||||
return Field.DatItem_SlotOptions;
|
||||
// Setting
|
||||
case "setting_name":
|
||||
case "value_name":
|
||||
return Field.DatItem_Setting_Name;
|
||||
|
||||
case "setting_value":
|
||||
case "value_value":
|
||||
return Field.DatItem_Setting_Value;
|
||||
|
||||
case "setting_default":
|
||||
case "value_default":
|
||||
return Field.DatItem_Setting_Default;
|
||||
|
||||
// SlotOption
|
||||
case "slotoption_name":
|
||||
return Field.DatItem_SlotOption_Name;
|
||||
|
||||
@@ -1377,8 +1330,6 @@ namespace SabreTools.Library.Tools
|
||||
case "part interface":
|
||||
case "part-interface":
|
||||
return Field.DatItem_Part_Interface;
|
||||
case "features":
|
||||
return Field.DatItem_Features;
|
||||
case "areaname":
|
||||
case "area name":
|
||||
case "area-name":
|
||||
@@ -1504,9 +1455,6 @@ namespace SabreTools.Library.Tools
|
||||
case "default":
|
||||
return Field.DatItem_Default;
|
||||
|
||||
case "conditions":
|
||||
return Field.DatItem_Conditions;
|
||||
|
||||
case "condition_tag":
|
||||
return Field.DatItem_Condition_Tag;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user