mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
EmulationStatus -> FeatureStatus
This commit is contained in:
@@ -293,8 +293,8 @@ namespace SabreTools.Library.DatFiles
|
||||
datItems.Add(new Feature
|
||||
{
|
||||
Type = reader.GetAttribute("type").AsFeatureType(),
|
||||
Status = reader.GetAttribute("status").AsEmulationStatus(),
|
||||
Overall = reader.GetAttribute("overall").AsEmulationStatus(),
|
||||
Status = reader.GetAttribute("status").AsFeatureStatus(),
|
||||
Overall = reader.GetAttribute("overall").AsFeatureStatus(),
|
||||
});
|
||||
|
||||
reader.Read();
|
||||
@@ -1570,8 +1570,8 @@ namespace SabreTools.Library.DatFiles
|
||||
var feature = datItem as Feature;
|
||||
xtw.WriteStartElement("feature");
|
||||
xtw.WriteOptionalAttributeString("type", feature.Type.FromFeatureType());
|
||||
xtw.WriteOptionalAttributeString("status", feature.Status.FromEmulationStatus());
|
||||
xtw.WriteOptionalAttributeString("overall", feature.Overall.FromEmulationStatus());
|
||||
xtw.WriteOptionalAttributeString("status", feature.Status.FromFeatureStatus());
|
||||
xtw.WriteOptionalAttributeString("overall", feature.Overall.FromFeatureStatus());
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
|
||||
|
||||
@@ -1394,8 +1394,8 @@ namespace SabreTools.Library.DatFiles
|
||||
xtw.WriteStartElement("file");
|
||||
xtw.WriteAttributeString("type", "feature");
|
||||
xtw.WriteOptionalAttributeString("type", feature.Type.FromFeatureType());
|
||||
xtw.WriteOptionalAttributeString("status", feature.Status.FromEmulationStatus());
|
||||
xtw.WriteOptionalAttributeString("overall", feature.Overall.FromEmulationStatus());
|
||||
xtw.WriteOptionalAttributeString("status", feature.Status.FromFeatureStatus());
|
||||
xtw.WriteOptionalAttributeString("overall", feature.Overall.FromFeatureStatus());
|
||||
xtw.WriteEndElement();
|
||||
break;
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ namespace SabreTools.Library.DatItems
|
||||
/// </summary>
|
||||
NULL = 0,
|
||||
|
||||
// TODO: (cpu|audio)
|
||||
CPU = 1 << 0,
|
||||
Audio = 1 << 1,
|
||||
}
|
||||
@@ -37,7 +36,7 @@ namespace SabreTools.Library.DatItems
|
||||
/// Determine the emulation status
|
||||
/// </summary>
|
||||
[Flags]
|
||||
public enum EmulationStatus
|
||||
public enum FeatureStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// This is a fake flag that is used for filter only
|
||||
|
||||
@@ -28,14 +28,14 @@ namespace SabreTools.Library.DatItems
|
||||
/// </summary>
|
||||
[JsonProperty("status", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public EmulationStatus Status { get; set; }
|
||||
public FeatureStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Overall status
|
||||
/// </summary>
|
||||
[JsonProperty("overall", DefaultValueHandling = DefaultValueHandling.Ignore)]
|
||||
[JsonConverter(typeof(StringEnumConverter))]
|
||||
public EmulationStatus Overall { get; set; }
|
||||
public FeatureStatus Overall { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -55,10 +55,10 @@ namespace SabreTools.Library.DatItems
|
||||
Type = mappings[Field.DatItem_FeatureType].AsFeatureType();
|
||||
|
||||
if (mappings.Keys.Contains(Field.DatItem_FeatureStatus))
|
||||
Status = mappings[Field.DatItem_FeatureStatus].AsEmulationStatus();
|
||||
Status = mappings[Field.DatItem_FeatureStatus].AsFeatureStatus();
|
||||
|
||||
if (mappings.Keys.Contains(Field.DatItem_FeatureOverall))
|
||||
Overall = mappings[Field.DatItem_FeatureOverall].AsEmulationStatus();
|
||||
Overall = mappings[Field.DatItem_FeatureOverall].AsFeatureStatus();
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -151,15 +151,15 @@ namespace SabreTools.Library.DatItems
|
||||
return false;
|
||||
|
||||
// Filter on status
|
||||
if (filter.DatItem_FeatureStatus.MatchesPositive(EmulationStatus.NULL, Status) == false)
|
||||
if (filter.DatItem_FeatureStatus.MatchesPositive(FeatureStatus.NULL, Status) == false)
|
||||
return false;
|
||||
if (filter.DatItem_FeatureStatus.MatchesNegative(EmulationStatus.NULL, Status) == true)
|
||||
if (filter.DatItem_FeatureStatus.MatchesNegative(FeatureStatus.NULL, Status) == true)
|
||||
return false;
|
||||
|
||||
// Filter on overall
|
||||
if (filter.DatItem_FeatureOverall.MatchesPositive(EmulationStatus.NULL, Overall) == false)
|
||||
if (filter.DatItem_FeatureOverall.MatchesPositive(FeatureStatus.NULL, Overall) == false)
|
||||
return false;
|
||||
if (filter.DatItem_FeatureOverall.MatchesNegative(EmulationStatus.NULL, Overall) == true)
|
||||
if (filter.DatItem_FeatureOverall.MatchesNegative(FeatureStatus.NULL, Overall) == true)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -179,10 +179,10 @@ namespace SabreTools.Library.DatItems
|
||||
Type = FeatureType.NULL;
|
||||
|
||||
if (fields.Contains(Field.DatItem_FeatureStatus))
|
||||
Status = EmulationStatus.NULL;
|
||||
Status = FeatureStatus.NULL;
|
||||
|
||||
if (fields.Contains(Field.DatItem_FeatureOverall))
|
||||
Overall = EmulationStatus.NULL;
|
||||
Overall = FeatureStatus.NULL;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -296,8 +296,8 @@ namespace SabreTools.Library.Filtering
|
||||
|
||||
// Feature
|
||||
public FilterItem<FeatureType> DatItem_FeatureType { get; private set; } = new FilterItem<FeatureType>() { Positive = FeatureType.NULL, Negative = FeatureType.NULL };
|
||||
public FilterItem<EmulationStatus> DatItem_FeatureStatus { get; private set; } = new FilterItem<EmulationStatus>() { Positive = EmulationStatus.NULL, Negative = EmulationStatus.NULL };
|
||||
public FilterItem<EmulationStatus> DatItem_FeatureOverall { get; private set; } = new FilterItem<EmulationStatus>() { Positive = EmulationStatus.NULL, Negative = EmulationStatus.NULL };
|
||||
public FilterItem<FeatureStatus> DatItem_FeatureStatus { get; private set; } = new FilterItem<FeatureStatus>() { Positive = FeatureStatus.NULL, Negative = FeatureStatus.NULL };
|
||||
public FilterItem<FeatureStatus> DatItem_FeatureOverall { get; private set; } = new FilterItem<FeatureStatus>() { Positive = FeatureStatus.NULL, Negative = FeatureStatus.NULL };
|
||||
|
||||
|
||||
// Ram Option
|
||||
@@ -1707,16 +1707,16 @@ namespace SabreTools.Library.Filtering
|
||||
|
||||
case Field.DatItem_FeatureStatus:
|
||||
if (negate)
|
||||
DatItem_FeatureStatus.Negative |= value.AsEmulationStatus();
|
||||
DatItem_FeatureStatus.Negative |= value.AsFeatureStatus();
|
||||
else
|
||||
DatItem_FeatureStatus.Positive |= value.AsEmulationStatus();
|
||||
DatItem_FeatureStatus.Positive |= value.AsFeatureStatus();
|
||||
break;
|
||||
|
||||
case Field.DatItem_FeatureOverall:
|
||||
if (negate)
|
||||
DatItem_FeatureOverall.Negative |= value.AsEmulationStatus();
|
||||
DatItem_FeatureOverall.Negative |= value.AsFeatureStatus();
|
||||
else
|
||||
DatItem_FeatureOverall.Positive |= value.AsEmulationStatus();
|
||||
DatItem_FeatureOverall.Positive |= value.AsFeatureStatus();
|
||||
break;
|
||||
|
||||
// Ram Option
|
||||
|
||||
@@ -173,28 +173,28 @@ namespace SabreTools.Library.Tools
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get EmulationStatus value from input string
|
||||
/// Get FeatureStatus value from input string
|
||||
/// </summary>
|
||||
/// <param name="emulationStatus">String to get value from</param>
|
||||
/// <returns>EmulationStatus value corresponding to the string</returns>
|
||||
public static EmulationStatus AsEmulationStatus(this string emulationStatus)
|
||||
/// <param name="featureStatus">String to get value from</param>
|
||||
/// <returns>FeatureStatus value corresponding to the string</returns>
|
||||
public static FeatureStatus AsFeatureStatus(this string featureStatus)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (emulationStatus?.ToLowerInvariant())
|
||||
switch (featureStatus?.ToLowerInvariant())
|
||||
{
|
||||
case "unemulated":
|
||||
return EmulationStatus.Unemulated;
|
||||
return FeatureStatus.Unemulated;
|
||||
case "imperfect":
|
||||
return EmulationStatus.Imperfect;
|
||||
return FeatureStatus.Imperfect;
|
||||
default:
|
||||
return EmulationStatus.NULL;
|
||||
return FeatureStatus.NULL;
|
||||
}
|
||||
#else
|
||||
return emulationStatus?.ToLowerInvariant() switch
|
||||
return featureStatus?.ToLowerInvariant() switch
|
||||
{
|
||||
"unemulated" => EmulationStatus.Unemulated,
|
||||
"imperfect" => EmulationStatus.Imperfect,
|
||||
_ => EmulationStatus.NULL,
|
||||
"unemulated" => FeatureStatus.Unemulated,
|
||||
"imperfect" => FeatureStatus.Imperfect,
|
||||
_ => FeatureStatus.NULL,
|
||||
};
|
||||
#endif
|
||||
}
|
||||
@@ -2100,27 +2100,27 @@ namespace SabreTools.Library.Tools
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get string value from input EmulationStatus
|
||||
/// Get string value from input FeatureStatus
|
||||
/// </summary>
|
||||
/// <param name="emulationStatus">EmulationStatus to get value from</param>
|
||||
/// <returns>String value corresponding to the EmulationStatus</returns>
|
||||
public static string FromEmulationStatus(this EmulationStatus emulationStatus)
|
||||
/// <param name="featureStatus">FeatureStatus to get value from</param>
|
||||
/// <returns>String value corresponding to the FeatureStatus</returns>
|
||||
public static string FromFeatureStatus(this FeatureStatus featureStatus)
|
||||
{
|
||||
#if NET_FRAMEWORK
|
||||
switch (emulationStatus)
|
||||
switch (featureStatus)
|
||||
{
|
||||
case EmulationStatus.Unemulated:
|
||||
case FeatureStatus.Unemulated:
|
||||
return "unemulated";
|
||||
case EmulationStatus.Imperfect:
|
||||
case FeatureStatus.Imperfect:
|
||||
return "imperfect";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
#else
|
||||
return emulationStatus switch
|
||||
return featureStatus switch
|
||||
{
|
||||
EmulationStatus.Unemulated => "unemulated",
|
||||
EmulationStatus.Imperfect => "imperfect",
|
||||
FeatureStatus.Unemulated => "unemulated",
|
||||
FeatureStatus.Imperfect => "imperfect",
|
||||
_ => null,
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user