diff --git a/SabreTools.Helper/Data/Enums.cs b/SabreTools.Helper/Data/Enums.cs index 8278ebdb..e7faf22b 100644 --- a/SabreTools.Helper/Data/Enums.cs +++ b/SabreTools.Helper/Data/Enums.cs @@ -282,7 +282,18 @@ BadDump = 2, Nodump = 3, Verified = 4, - NotNodump = 5, // This is a fake flag that is used for filter only + } + + /// + /// Determine what type of machine it is + /// + public enum MachineType + { + NULL = -1, // This is a fake flag used for filter only + None = 0, + Bios = 1, + Device = 2, + Mechanical = 3, } #endregion diff --git a/SabreTools.Helper/Dats/Machine.cs b/SabreTools.Helper/Dats/Machine.cs index 5ed10781..85aa4c74 100644 --- a/SabreTools.Helper/Dats/Machine.cs +++ b/SabreTools.Helper/Dats/Machine.cs @@ -1,4 +1,6 @@ -namespace SabreTools.Helper.Dats +using SabreTools.Helper.Data; + +namespace SabreTools.Helper.Dats { public class Machine { @@ -14,12 +16,10 @@ protected string _cloneOf; protected string _sampleOf; protected string _sourceFile; - protected bool _isBios; - protected bool _isDevice; - protected bool _isMechanical; protected bool _runnable; protected string _board; protected string _rebuildTo; + protected MachineType _machineType; #endregion @@ -71,21 +71,6 @@ get { return _sourceFile; } set { _sourceFile = value; } } - public bool IsBios - { - get { return _isBios; } - set { _isBios = value; } - } - public bool IsDevice - { - get { return _isDevice; } - set { _isDevice = value; } - } - public bool IsMechanical - { - get { return _isMechanical; } - set { _isMechanical = value; } - } public bool Runnable { get { return _runnable; } @@ -101,6 +86,11 @@ get { return _rebuildTo; } set { _rebuildTo = value; } } + public MachineType MachineType + { + get { return _machineType; } + set { _machineType = value; } + } #endregion diff --git a/SabreTools.Helper/Dats/Partials/DatFile.Parsers.cs b/SabreTools.Helper/Dats/Partials/DatFile.Parsers.cs index 6bc0632b..8a199423 100644 --- a/SabreTools.Helper/Dats/Partials/DatFile.Parsers.cs +++ b/SabreTools.Helper/Dats/Partials/DatFile.Parsers.cs @@ -1249,9 +1249,11 @@ namespace SabreTools.Helper.Dats CloneOf = xtr.GetAttribute("cloneof") ?? "", SampleOf = xtr.GetAttribute("sampleof") ?? "", - IsBios = xtr.GetAttribute("isbios") == "yes", - IsDevice = xtr.GetAttribute("isdevice") == "yes", - IsMechanical = xtr.GetAttribute("ismechanical") == "yes", + MachineType = + xtr.GetAttribute("isbios") == "yes" ? MachineType.Bios : + xtr.GetAttribute("isdevice") == "yes" ? MachineType.Device : + xtr.GetAttribute("ismechanical") == "yes" ? MachineType.Mechanical : + MachineType.None, Runnable = xtr.GetAttribute("runnable") == "yes", }; @@ -1268,6 +1270,7 @@ namespace SabreTools.Helper.Dats } } + if (superdat && !keep) { string tempout = Regex.Match(machine.Name, @".*?\\(.*)").Groups[1].Value;