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 }