diff --git a/SabreTools.Core/Enums.cs b/SabreTools.Core/Enums.cs
index 206c53e7..fab92427 100644
--- a/SabreTools.Core/Enums.cs
+++ b/SabreTools.Core/Enums.cs
@@ -26,341 +26,6 @@ namespace SabreTools.Core
SHA512,
}
- ///
- /// List of valid field types within a DatItem/Machine
- ///
- public enum Field : int
- {
- NULL = 0,
-
- #region DatHeader
-
- #region Common
-
- DatHeader_FileName,
- DatHeader_Name,
- DatHeader_Description,
- DatHeader_RootDir,
- DatHeader_Category,
- DatHeader_Version,
- DatHeader_Date,
- DatHeader_Author,
- DatHeader_Email,
- DatHeader_Homepage,
- DatHeader_Url,
- DatHeader_Comment,
- DatHeader_HeaderSkipper,
- DatHeader_Type,
- DatHeader_ForceMerging,
- DatHeader_ForceNodump,
- DatHeader_ForcePacking,
-
- #endregion
-
- #region ListXML
-
- DatHeader_Debug,
- DatHeader_MameConfig,
-
- #endregion
-
- #region Logiqx
-
- DatHeader_Build,
- DatHeader_RomMode,
- DatHeader_BiosMode,
- DatHeader_SampleMode,
- DatHeader_LockRomMode,
- DatHeader_LockBiosMode,
- DatHeader_LockSampleMode,
-
- #endregion
-
- #region OfflineList
-
- DatHeader_System,
- DatHeader_ScreenshotsWidth,
- DatHeader_ScreenshotsHeight,
- DatHeader_CanOpen,
- DatHeader_RomTitle,
-
- // Infos
- DatHeader_Info_Name,
- DatHeader_Info_Visible,
- DatHeader_Info_IsNamingOption,
- DatHeader_Info_Default,
-
- #endregion
-
- #region RomCenter
-
- DatHeader_RomCenterVersion,
-
- #endregion
-
- #endregion // DatHeader
-
- #region Machine
-
- #region Common
-
- Machine_Name,
- Machine_Comment,
- Machine_Description,
- Machine_Year,
- Machine_Manufacturer,
- Machine_Publisher,
- Machine_Category,
- Machine_RomOf,
- Machine_CloneOf,
- Machine_SampleOf,
- Machine_Type,
-
- #endregion
-
- #region AttractMode
-
- Machine_Players,
- Machine_Rotation,
- Machine_Control,
- Machine_Status,
- Machine_DisplayCount,
- Machine_DisplayType,
- Machine_Buttons,
-
- #endregion
-
- #region ListXML
-
- Machine_SourceFile,
- Machine_Runnable,
-
- #endregion
-
- #region Logiqx
-
- Machine_Board,
- Machine_RebuildTo,
-
- #endregion
-
- #region Logiqx EmuArc
-
- Machine_TitleID,
- Machine_Developer,
- Machine_Genre,
- Machine_Subgenre,
- Machine_Ratings,
- Machine_Score,
- Machine_Enabled,
- Machine_CRC,
- Machine_RelatedTo,
-
- #endregion
-
- #region OpenMSX
-
- Machine_GenMSXID,
- Machine_System,
- Machine_Country,
-
- #endregion
-
- #region SoftwareList
-
- Machine_Supported,
-
- #endregion
-
- #endregion // Machine
-
- #region DatItem
-
- #region Common
-
- DatItem_Type,
-
- #endregion
-
- #region Item-Specific
-
- #region Actionable
-
- // Rom
- DatItem_Name,
- DatItem_Bios,
- DatItem_Size,
- DatItem_CRC,
- DatItem_MD5,
-#if NET_FRAMEWORK
- DatItem_RIPEMD160,
-#endif
- DatItem_SHA1,
- DatItem_SHA256,
- DatItem_SHA384,
- DatItem_SHA512,
- DatItem_SpamSum,
- DatItem_Merge,
- DatItem_Region,
- DatItem_Offset,
- DatItem_Date,
- DatItem_Status,
- DatItem_Optional,
- DatItem_Inverted,
-
- // Rom (AttractMode)
- DatItem_AltName,
- DatItem_AltTitle,
-
- // Rom (OpenMSX)
- DatItem_Original,
- DatItem_OpenMSXSubType,
- DatItem_OpenMSXType,
- DatItem_Remark,
- DatItem_Boot,
-
- // Rom (SoftwareList)
- DatItem_LoadFlag,
- DatItem_Value,
-
- // Disk
- DatItem_Index,
- DatItem_Writable,
-
- #endregion
-
- #region Auxiliary
-
- // Adjuster
- DatItem_Default,
-
- // Analog
- DatItem_Analog_Mask,
-
- // BiosSet
- DatItem_Description,
-
- // Chip
- DatItem_Tag,
- DatItem_ChipType,
- DatItem_Clock,
-
- // Condition
- DatItem_Mask,
- DatItem_Relation,
- DatItem_Condition_Tag,
- DatItem_Condition_Mask,
- DatItem_Condition_Relation,
- DatItem_Condition_Value,
-
- // Control
- DatItem_Control_Type,
- DatItem_Control_Player,
- DatItem_Control_Buttons,
- DatItem_Control_RequiredButtons,
- DatItem_Control_Minimum,
- DatItem_Control_Maximum,
- DatItem_Control_Sensitivity,
- DatItem_Control_KeyDelta,
- DatItem_Control_Reverse,
- DatItem_Control_Ways,
- DatItem_Control_Ways2,
- DatItem_Control_Ways3,
-
- // DataArea
- DatItem_AreaName,
- DatItem_AreaSize,
- DatItem_AreaWidth,
- DatItem_AreaEndianness,
-
- // Device
- DatItem_DeviceType,
- DatItem_FixedImage,
- DatItem_Mandatory,
- DatItem_Interface,
-
- // Display
- DatItem_DisplayType,
- DatItem_Rotate,
- DatItem_FlipX,
- DatItem_Width,
- DatItem_Height,
- DatItem_Refresh,
- DatItem_PixClock,
- DatItem_HTotal,
- DatItem_HBEnd,
- DatItem_HBStart,
- DatItem_VTotal,
- DatItem_VBEnd,
- DatItem_VBStart,
-
- // Driver
- DatItem_SupportStatus,
- DatItem_EmulationStatus,
- DatItem_CocktailStatus,
- DatItem_SaveStateStatus,
-
- // Extension
- DatItem_Extension_Name,
-
- // Feature
- DatItem_FeatureType,
- DatItem_FeatureStatus,
- DatItem_FeatureOverall,
-
- // Input
- DatItem_Service,
- DatItem_Tilt,
- DatItem_Players,
- DatItem_Coins,
-
- // Instance
- DatItem_Instance_Name,
- DatItem_Instance_BriefName,
-
- // Location
- DatItem_Location_Name,
- DatItem_Location_Number,
- DatItem_Location_Inverted,
-
- // Part
- DatItem_Part_Name,
- DatItem_Part_Interface,
-
- // PartFeature
- DatItem_Part_Feature_Name,
- DatItem_Part_Feature_Value,
-
- // RamOption
- DatItem_Content,
-
- // Release
- DatItem_Language,
-
- // Setting
- DatItem_Setting_Name,
- DatItem_Setting_Value,
- DatItem_Setting_Default,
-
- // SlotOption
- DatItem_SlotOption_Name,
- DatItem_SlotOption_DeviceName,
- DatItem_SlotOption_Default,
-
- // SoftwareList
- DatItem_SoftwareListStatus,
- DatItem_Filter,
-
- // Sound
- DatItem_Channels,
-
- #endregion
-
- #endregion // Item-Specific
-
- #endregion // DatItem
- }
-
///
/// Available hashing types
///
@@ -807,4 +472,683 @@ namespace SabreTools.Core
}
#endregion
+
+ #region Fields
+
+ ///
+ /// List of valid field types within a DatFile
+ ///
+ /// TODO: Remove this in lieu of individual Field enums
+ public enum Field : int
+ {
+ NULL = 0,
+
+ #region DatHeader
+
+ #region Common
+
+ DatHeader_FileName,
+ DatHeader_Name,
+ DatHeader_Description,
+ DatHeader_RootDir,
+ DatHeader_Category,
+ DatHeader_Version,
+ DatHeader_Date,
+ DatHeader_Author,
+ DatHeader_Email,
+ DatHeader_Homepage,
+ DatHeader_Url,
+ DatHeader_Comment,
+ DatHeader_HeaderSkipper,
+ DatHeader_Type,
+ DatHeader_ForceMerging,
+ DatHeader_ForceNodump,
+ DatHeader_ForcePacking,
+
+ #endregion
+
+ #region ListXML
+
+ DatHeader_Debug,
+ DatHeader_MameConfig,
+
+ #endregion
+
+ #region Logiqx
+
+ DatHeader_Build,
+ DatHeader_RomMode,
+ DatHeader_BiosMode,
+ DatHeader_SampleMode,
+ DatHeader_LockRomMode,
+ DatHeader_LockBiosMode,
+ DatHeader_LockSampleMode,
+
+ #endregion
+
+ #region OfflineList
+
+ DatHeader_System,
+ DatHeader_ScreenshotsWidth,
+ DatHeader_ScreenshotsHeight,
+ DatHeader_CanOpen,
+ DatHeader_RomTitle,
+
+ // Infos
+ DatHeader_Info_Name,
+ DatHeader_Info_Visible,
+ DatHeader_Info_IsNamingOption,
+ DatHeader_Info_Default,
+
+ #endregion
+
+ #region RomCenter
+
+ DatHeader_RomCenterVersion,
+
+ #endregion
+
+ #endregion // DatHeader
+
+ #region Machine
+
+ #region Common
+
+ Machine_Name,
+ Machine_Comment,
+ Machine_Description,
+ Machine_Year,
+ Machine_Manufacturer,
+ Machine_Publisher,
+ Machine_Category,
+ Machine_RomOf,
+ Machine_CloneOf,
+ Machine_SampleOf,
+ Machine_Type,
+
+ #endregion
+
+ #region AttractMode
+
+ Machine_Players,
+ Machine_Rotation,
+ Machine_Control,
+ Machine_Status,
+ Machine_DisplayCount,
+ Machine_DisplayType,
+ Machine_Buttons,
+
+ #endregion
+
+ #region ListXML
+
+ Machine_SourceFile,
+ Machine_Runnable,
+
+ #endregion
+
+ #region Logiqx
+
+ Machine_Board,
+ Machine_RebuildTo,
+
+ #endregion
+
+ #region Logiqx EmuArc
+
+ Machine_TitleID,
+ Machine_Developer,
+ Machine_Genre,
+ Machine_Subgenre,
+ Machine_Ratings,
+ Machine_Score,
+ Machine_Enabled,
+ Machine_CRC,
+ Machine_RelatedTo,
+
+ #endregion
+
+ #region OpenMSX
+
+ Machine_GenMSXID,
+ Machine_System,
+ Machine_Country,
+
+ #endregion
+
+ #region SoftwareList
+
+ Machine_Supported,
+
+ #endregion
+
+ #endregion // Machine
+
+ #region DatItem
+
+ #region Common
+
+ DatItem_Type,
+
+ #endregion
+
+ #region Item-Specific
+
+ #region Actionable
+
+ // Rom
+ DatItem_Name,
+ DatItem_Bios,
+ DatItem_Size,
+ DatItem_CRC,
+ DatItem_MD5,
+#if NET_FRAMEWORK
+ DatItem_RIPEMD160,
+#endif
+ DatItem_SHA1,
+ DatItem_SHA256,
+ DatItem_SHA384,
+ DatItem_SHA512,
+ DatItem_SpamSum,
+ DatItem_Merge,
+ DatItem_Region,
+ DatItem_Offset,
+ DatItem_Date,
+ DatItem_Status,
+ DatItem_Optional,
+ DatItem_Inverted,
+
+ // Rom (AttractMode)
+ DatItem_AltName,
+ DatItem_AltTitle,
+
+ // Rom (OpenMSX)
+ DatItem_Original,
+ DatItem_OpenMSXSubType,
+ DatItem_OpenMSXType,
+ DatItem_Remark,
+ DatItem_Boot,
+
+ // Rom (SoftwareList)
+ DatItem_LoadFlag,
+ DatItem_Value,
+
+ // Disk
+ DatItem_Index,
+ DatItem_Writable,
+
+ #endregion
+
+ #region Auxiliary
+
+ // Adjuster
+ DatItem_Default,
+
+ // Analog
+ DatItem_Analog_Mask,
+
+ // BiosSet
+ DatItem_Description,
+
+ // Chip
+ DatItem_Tag,
+ DatItem_ChipType,
+ DatItem_Clock,
+
+ // Condition
+ DatItem_Mask,
+ DatItem_Relation,
+ DatItem_Condition_Tag,
+ DatItem_Condition_Mask,
+ DatItem_Condition_Relation,
+ DatItem_Condition_Value,
+
+ // Control
+ DatItem_Control_Type,
+ DatItem_Control_Player,
+ DatItem_Control_Buttons,
+ DatItem_Control_RequiredButtons,
+ DatItem_Control_Minimum,
+ DatItem_Control_Maximum,
+ DatItem_Control_Sensitivity,
+ DatItem_Control_KeyDelta,
+ DatItem_Control_Reverse,
+ DatItem_Control_Ways,
+ DatItem_Control_Ways2,
+ DatItem_Control_Ways3,
+
+ // DataArea
+ DatItem_AreaName,
+ DatItem_AreaSize,
+ DatItem_AreaWidth,
+ DatItem_AreaEndianness,
+
+ // Device
+ DatItem_DeviceType,
+ DatItem_FixedImage,
+ DatItem_Mandatory,
+ DatItem_Interface,
+
+ // Display
+ DatItem_DisplayType,
+ DatItem_Rotate,
+ DatItem_FlipX,
+ DatItem_Width,
+ DatItem_Height,
+ DatItem_Refresh,
+ DatItem_PixClock,
+ DatItem_HTotal,
+ DatItem_HBEnd,
+ DatItem_HBStart,
+ DatItem_VTotal,
+ DatItem_VBEnd,
+ DatItem_VBStart,
+
+ // Driver
+ DatItem_SupportStatus,
+ DatItem_EmulationStatus,
+ DatItem_CocktailStatus,
+ DatItem_SaveStateStatus,
+
+ // Extension
+ DatItem_Extension_Name,
+
+ // Feature
+ DatItem_FeatureType,
+ DatItem_FeatureStatus,
+ DatItem_FeatureOverall,
+
+ // Input
+ DatItem_Service,
+ DatItem_Tilt,
+ DatItem_Players,
+ DatItem_Coins,
+
+ // Instance
+ DatItem_Instance_Name,
+ DatItem_Instance_BriefName,
+
+ // Location
+ DatItem_Location_Name,
+ DatItem_Location_Number,
+ DatItem_Location_Inverted,
+
+ // Part
+ DatItem_Part_Name,
+ DatItem_Part_Interface,
+
+ // PartFeature
+ DatItem_Part_Feature_Name,
+ DatItem_Part_Feature_Value,
+
+ // RamOption
+ DatItem_Content,
+
+ // Release
+ DatItem_Language,
+
+ // Setting
+ DatItem_Setting_Name,
+ DatItem_Setting_Value,
+ DatItem_Setting_Default,
+
+ // SlotOption
+ DatItem_SlotOption_Name,
+ DatItem_SlotOption_DeviceName,
+ DatItem_SlotOption_Default,
+
+ // SoftwareList
+ DatItem_SoftwareListStatus,
+ DatItem_Filter,
+
+ // Sound
+ DatItem_Channels,
+
+ #endregion
+
+ #endregion // Item-Specific
+
+ #endregion // DatItem
+ }
+
+ ///
+ /// List of valid field types within a DatHeader
+ ///
+ public enum DatHeaderField
+ {
+ NULL = 0,
+
+ #region Common
+
+ FileName,
+ Name,
+ Description,
+ RootDir,
+ Category,
+ Version,
+ Date,
+ Author,
+ Email,
+ Homepage,
+ Url,
+ Comment,
+ HeaderSkipper,
+ Type,
+ ForceMerging,
+ ForceNodump,
+ ForcePacking,
+
+ #endregion
+
+ #region ListXML
+
+ Debug,
+ MameConfig,
+
+ #endregion
+
+ #region Logiqx
+
+ Build,
+ RomMode,
+ BiosMode,
+ SampleMode,
+ LockRomMode,
+ LockBiosMode,
+ LockSampleMode,
+
+ #endregion
+
+ #region OfflineList
+
+ System,
+ ScreenshotsWidth,
+ ScreenshotsHeight,
+ CanOpen,
+ RomTitle,
+
+ // Infos
+ Info_Name,
+ Info_Visible,
+ Info_IsNamingOption,
+ Info_Default,
+
+ #endregion
+
+ #region RomCenter
+
+ RomCenterVersion,
+
+ #endregion
+ }
+
+ ///
+ /// List of valid field types within a DatItem
+ ///
+ public enum DatItemField
+ {
+ NULL = 0,
+
+ #region Common
+
+ DatItem_Type,
+
+ #endregion
+
+ #region Item-Specific
+
+ #region Actionable
+
+ // Rom
+ DatItem_Name,
+ DatItem_Bios,
+ DatItem_Size,
+ DatItem_CRC,
+ DatItem_MD5,
+#if NET_FRAMEWORK
+ DatItem_RIPEMD160,
+#endif
+ DatItem_SHA1,
+ DatItem_SHA256,
+ DatItem_SHA384,
+ DatItem_SHA512,
+ DatItem_SpamSum,
+ DatItem_Merge,
+ DatItem_Region,
+ DatItem_Offset,
+ DatItem_Date,
+ DatItem_Status,
+ DatItem_Optional,
+ DatItem_Inverted,
+
+ // Rom (AttractMode)
+ DatItem_AltName,
+ DatItem_AltTitle,
+
+ // Rom (OpenMSX)
+ DatItem_Original,
+ DatItem_OpenMSXSubType,
+ DatItem_OpenMSXType,
+ DatItem_Remark,
+ DatItem_Boot,
+
+ // Rom (SoftwareList)
+ DatItem_LoadFlag,
+ DatItem_Value,
+
+ // Disk
+ DatItem_Index,
+ DatItem_Writable,
+
+ #endregion
+
+ #region Auxiliary
+
+ // Adjuster
+ DatItem_Default,
+
+ // Analog
+ DatItem_Analog_Mask,
+
+ // BiosSet
+ DatItem_Description,
+
+ // Chip
+ DatItem_Tag,
+ DatItem_ChipType,
+ DatItem_Clock,
+
+ // Condition
+ DatItem_Mask,
+ DatItem_Relation,
+ DatItem_Condition_Tag,
+ DatItem_Condition_Mask,
+ DatItem_Condition_Relation,
+ DatItem_Condition_Value,
+
+ // Control
+ DatItem_Control_Type,
+ DatItem_Control_Player,
+ DatItem_Control_Buttons,
+ DatItem_Control_RequiredButtons,
+ DatItem_Control_Minimum,
+ DatItem_Control_Maximum,
+ DatItem_Control_Sensitivity,
+ DatItem_Control_KeyDelta,
+ DatItem_Control_Reverse,
+ DatItem_Control_Ways,
+ DatItem_Control_Ways2,
+ DatItem_Control_Ways3,
+
+ // DataArea
+ DatItem_AreaName,
+ DatItem_AreaSize,
+ DatItem_AreaWidth,
+ DatItem_AreaEndianness,
+
+ // Device
+ DatItem_DeviceType,
+ DatItem_FixedImage,
+ DatItem_Mandatory,
+ DatItem_Interface,
+
+ // Display
+ DatItem_DisplayType,
+ DatItem_Rotate,
+ DatItem_FlipX,
+ DatItem_Width,
+ DatItem_Height,
+ DatItem_Refresh,
+ DatItem_PixClock,
+ DatItem_HTotal,
+ DatItem_HBEnd,
+ DatItem_HBStart,
+ DatItem_VTotal,
+ DatItem_VBEnd,
+ DatItem_VBStart,
+
+ // Driver
+ DatItem_SupportStatus,
+ DatItem_EmulationStatus,
+ DatItem_CocktailStatus,
+ DatItem_SaveStateStatus,
+
+ // Extension
+ DatItem_Extension_Name,
+
+ // Feature
+ DatItem_FeatureType,
+ DatItem_FeatureStatus,
+ DatItem_FeatureOverall,
+
+ // Input
+ DatItem_Service,
+ DatItem_Tilt,
+ DatItem_Players,
+ DatItem_Coins,
+
+ // Instance
+ DatItem_Instance_Name,
+ DatItem_Instance_BriefName,
+
+ // Location
+ DatItem_Location_Name,
+ DatItem_Location_Number,
+ DatItem_Location_Inverted,
+
+ // Part
+ DatItem_Part_Name,
+ DatItem_Part_Interface,
+
+ // PartFeature
+ DatItem_Part_Feature_Name,
+ DatItem_Part_Feature_Value,
+
+ // RamOption
+ DatItem_Content,
+
+ // Release
+ DatItem_Language,
+
+ // Setting
+ DatItem_Setting_Name,
+ DatItem_Setting_Value,
+ DatItem_Setting_Default,
+
+ // SlotOption
+ DatItem_SlotOption_Name,
+ DatItem_SlotOption_DeviceName,
+ DatItem_SlotOption_Default,
+
+ // SoftwareList
+ DatItem_SoftwareListStatus,
+ DatItem_Filter,
+
+ // Sound
+ DatItem_Channels,
+
+ #endregion
+
+ #endregion // Item-Specific
+ }
+
+ ///
+ /// List of valid field types within a Machine
+ ///
+ public enum MachineField
+ {
+ NULL = 0,
+
+ #region Common
+
+ Name,
+ Comment,
+ Description,
+ Year,
+ Manufacturer,
+ Publisher,
+ Category,
+ RomOf,
+ CloneOf,
+ SampleOf,
+ Type,
+
+ #endregion
+
+ #region AttractMode
+
+ Players,
+ Rotation,
+ Control,
+ Status,
+ DisplayCount,
+ DisplayType,
+ Buttons,
+
+ #endregion
+
+ #region ListXML
+
+ SourceFile,
+ Runnable,
+
+ #endregion
+
+ #region Logiqx
+
+ Board,
+ RebuildTo,
+
+ #endregion
+
+ #region Logiqx EmuArc
+
+ TitleID,
+ Developer,
+ Genre,
+ Subgenre,
+ Ratings,
+ Score,
+ Enabled,
+ CRC,
+ RelatedTo,
+
+ #endregion
+
+ #region OpenMSX
+
+ GenMSXID,
+ System,
+ Country,
+
+ #endregion
+
+ #region SoftwareList
+
+ Supported,
+
+ #endregion
+ }
+
+ #endregion
}