Files
SabreTools/SabreTools.Library/DatItems/Enums.cs

272 lines
4.6 KiB
C#
Raw Normal View History

2020-08-01 22:10:29 -07:00
using System;
namespace SabreTools.Library.DatItems
2020-08-01 21:42:28 -07:00
{
2020-08-01 22:10:29 -07:00
/// <summary>
/// Determines which type of duplicate a file is
/// </summary>
[Flags]
public enum DupeType
{
// Type of match
Hash = 1 << 0,
All = 1 << 1,
// Location of match
Internal = 1 << 2,
External = 1 << 3,
}
2020-08-01 21:42:28 -07:00
/// <summary>
/// List of valid field types within a DatItem/Machine
/// </summary>
2020-08-20 21:15:37 -07:00
/// TODO: Should this be split into MachineField and DatItemField?
/// TODO: Should there also be a DatFileField?
2020-08-01 21:42:28 -07:00
public enum Field : int
{
NULL = 0,
2020-08-20 14:36:36 -07:00
#region Machine
2020-08-01 21:42:28 -07:00
2020-08-20 22:42:04 -07:00
#region Common
2020-08-01 21:42:28 -07:00
MachineName,
Comment,
Description,
Year,
Manufacturer,
Publisher,
Category,
RomOf,
CloneOf,
SampleOf,
MachineType,
2020-08-20 14:36:36 -07:00
2020-08-20 22:42:04 -07:00
#endregion
#region AttractMode
2020-08-20 14:36:36 -07:00
Players,
Rotation,
Control,
SupportStatus,
DisplayCount,
DisplayType,
Buttons,
2020-08-20 22:42:04 -07:00
#endregion
#region ListXML
2020-08-01 21:42:28 -07:00
SourceFile,
Runnable,
2020-08-23 21:10:29 -07:00
DeviceReferences, // TODO: Double-check DeviceReferences usage
Chips, // TODO: Implement Chips usage
Displays, // TODO: Implement Displays usage
Sounds, // TODO: Implement Sounds usage
Conditions, // TODO: Implement Conditions usage
Slots, // TODO: Fix Slots usage
2020-08-01 21:42:28 -07:00
Infos,
2020-08-20 22:42:04 -07:00
#endregion
#region Logiqx
2020-08-20 14:36:36 -07:00
Board,
RebuildTo,
2020-08-20 22:42:04 -07:00
#endregion
#region Logiqx EmuArc
TitleID,
Developer,
Genre,
Subgenre,
Ratings,
Score,
Enabled,
HasCrc,
RelatedTo,
#endregion
#region OpenMSX
GenMSXID,
System,
Country,
#endregion
2020-08-20 22:42:04 -07:00
#region SoftwareList
2020-08-20 14:36:36 -07:00
Supported,
2020-08-21 13:03:38 -07:00
SharedFeatures,
DipSwitches,
2020-08-20 14:36:36 -07:00
#endregion
2020-08-20 22:42:04 -07:00
#endregion // Machine
2020-08-20 14:36:36 -07:00
#region DatItem
2020-08-20 22:42:04 -07:00
#region Common
2020-08-20 14:36:36 -07:00
Name,
2020-08-20 21:15:37 -07:00
ItemType,
2020-08-20 22:42:04 -07:00
#endregion
#region AttractMode
2020-08-20 21:15:37 -07:00
AltName,
AltTitle,
2020-08-20 22:42:04 -07:00
#endregion
#region OpenMSX
Original,
OpenMSXSubType,
OpenMSXType,
Remark,
Boot,
#endregion
2020-08-20 22:42:04 -07:00
#region SoftwareList
2020-08-20 14:36:36 -07:00
PartName,
PartInterface,
Features,
AreaName,
AreaSize,
2020-08-21 13:31:22 -07:00
AreaWidth,
AreaEndianness,
2020-08-21 14:20:17 -07:00
Value,
LoadFlag,
2020-08-20 14:36:36 -07:00
2020-08-20 22:42:04 -07:00
#endregion
2020-08-01 21:42:28 -07:00
// BiosSet
Default,
BiosDescription,
// Disk
MD5,
#if NET_FRAMEWORK
RIPEMD160,
#endif
SHA1,
SHA256,
SHA384,
SHA512,
Merge,
Region,
Index,
Writable,
Optional,
Status,
// Release
Language,
Date,
// Rom
Bios,
Size,
CRC,
Offset,
Inverted,
2020-08-20 14:36:36 -07:00
2020-08-20 22:42:04 -07:00
#endregion // DatItem
2020-08-01 21:42:28 -07:00
}
2020-08-01 22:10:29 -07:00
/// <summary>
/// Determine the status of the item
/// </summary>
[Flags]
public enum ItemStatus
{
/// <summary>
/// This is a fake flag that is used for filter only
/// </summary>
NULL = 0x00,
None = 1 << 0,
Good = 1 << 1,
BadDump = 1 << 2,
Nodump = 1 << 3,
Verified = 1 << 4,
}
2020-08-01 21:42:28 -07:00
/// <summary>
/// Determine what type of file an item is
/// </summary>
public enum ItemType
{
Rom = 0,
Disk = 1,
Sample = 2,
Release = 3,
BiosSet = 4,
Archive = 5,
Blank = 99, // This is not a real type, only used internally
}
2020-08-01 22:10:29 -07:00
/// <summary>
/// Determine which OpenMSX subtype an item is
/// </summary>
[Flags]
public enum OpenMSXSubType
{
NULL = 0,
Rom = 1,
MegaRom = 2,
SCCPlusCart = 3,
}
2020-08-01 22:10:29 -07:00
/// <summary>
/// Determine what type of machine it is
/// </summary>
[Flags]
public enum MachineType
{
/// <summary>
/// This is a fake flag that is used for filter only
/// </summary>
NULL = 0x00,
None = 1 << 0,
Bios = 1 << 1,
Device = 1 << 2,
Mechanical = 1 << 3,
}
2020-08-22 13:31:13 -07:00
/// <summary>
/// Determine machine runnable status
/// </summary>
[Flags]
public enum Runnable
{
NULL,
No,
Partial,
Yes,
}
2020-08-22 13:31:13 -07:00
/// <summary>
/// Determine machine support status
/// </summary>
[Flags]
public enum Supported
{
NULL,
No,
Partial,
Yes,
}
2020-08-01 21:42:28 -07:00
}