[Flags] Code formatting

This commit is contained in:
Matt Nadareski
2018-10-12 15:08:07 -07:00
parent c9e413afc0
commit 5fcd075d0a

View File

@@ -11,28 +11,28 @@ namespace SabreTools.Library.Data
public enum ArchiveScanLevel
{
// 7zip
SevenZipExternal = 0x00001,
SevenZipInternal = 0x00002,
SevenZipExternal = 1 << 0,
SevenZipInternal = 1 << 1,
SevenZipBoth = SevenZipExternal | SevenZipInternal,
// GZip
GZipExternal = 0x00010,
GZipInternal = 0x00020,
GZipExternal = 1 << 2,
GZipInternal = 1 << 3,
GZipBoth = GZipExternal | GZipInternal,
// RAR
RarExternal = 0x00100,
RarInternal = 0x00200,
RarExternal = 1 << 4,
RarInternal = 1 << 5,
RarBoth = RarExternal | RarInternal,
// Zip
ZipExternal = 0x01000,
ZipInternal = 0x02000,
ZipExternal = 1 << 6,
ZipInternal = 1 << 7,
ZipBoth = ZipExternal | ZipInternal,
// Tar
TarExternal = 0x10000,
TarInternal = 0x20000,
TarExternal = 1 << 8,
TarInternal = 1 << 9,
TarBoth = TarExternal | TarInternal,
}
@@ -42,34 +42,34 @@ namespace SabreTools.Library.Data
[Flags]
public enum GeneralPurposeBitFlag : ushort
{
Encrypted = 0x0001,
ZeroedCRCAndSize = 0x0008,
CompressedPatchedData = 0x0020,
StrongEncryption = 0x0040,
LanguageEncodingFlag = 0x0800,
EncryptedCentralDirectory = 0x2000,
Encrypted = 1 << 0,
ZeroedCRCAndSize = 1 << 3,
CompressedPatchedData = 1 << 5,
StrongEncryption = 1 << 6,
LanguageEncodingFlag = 1 << 11,
EncryptedCentralDirectory = 1 << 13,
// For Method 6 - Imploding
Imploding8KSlidingDictionary = 0x0002,
Imploding3ShannonFanoTrees = 0x0004,
Imploding8KSlidingDictionary = 1 << 1,
Imploding3ShannonFanoTrees = 1 << 2,
// For Methods 8 and 9 - Deflating
DeflatingMaximumCompression = 0x0002,
DeflatingFastCompression = 0x0004,
DeflatingSuperFastCompression = 0x0006,
EnhancedDeflating = 0x0010,
DeflatingMaximumCompression = 1 << 1,
DeflatingFastCompression = 1 << 2,
DeflatingSuperFastCompression = 1 << 1 | 1 << 2,
EnhancedDeflating = 1 << 4,
// For Method 14 - LZMA
LZMAEOSMarkerUsed = 0x0002,
LZMAEOSMarkerUsed = 1 << 1,
// Reserved and unused (SHOULD NOT BE USED)
Bit7 = 0x0080,
Bit8 = 0x0100,
Bit9 = 0x0200,
Bit10 = 0x0400,
Bit12 = 0x1000, // Reserved by PKWARE for enhanced compression
Bit14 = 0x4000, // Reserved by PKWARE
Bit15 = 0x8000, // Reserved by PKWARE
Bit7 = 1 << 7,
Bit8 = 1 << 8,
Bit9 = 1 << 9,
Bit10 = 1 << 10,
Bit12 = 1 << 12, // Reserved by PKWARE for enhanced compression
Bit14 = 1 << 14, // Reserved by PKWARE
Bit15 = 1 << 15, // Reserved by PKWARE
}
/// <summary>
@@ -78,12 +78,12 @@ namespace SabreTools.Library.Data
[Flags]
public enum InternalFileAttributes : ushort
{
ASCIIOrTextFile = 0x0001,
RecordLengthControl = 0x0002,
ASCIIOrTextFile = 1 << 0,
RecordLengthControl = 1 << 1,
// Reserved and unused (SHOULD NOT BE USED)
Bit1 = 0x0002,
Bit2 = 0x0004,
Bit1 = 1 << 1,
Bit2 = 1 << 2,
}
/// <summary>
@@ -92,11 +92,30 @@ namespace SabreTools.Library.Data
[Flags]
public enum RarArchiveFlags : uint
{
Volume = 0x0001, // Volume. Archive is a part of multivolume set.
VolumeNumberField = 0x0002, // Volume number field is present. This flag is present in all volumes except first.
Solid = 0x0004, // Solid archive.
RecoveryRecordPresent = 0x0008, // Recovery record is present.
Locked = 0x0010, // Locked archive.
/// <summary>
/// Volume. Archive is a part of multivolume set.
/// </summary>
Volume = 1 << 0,
/// <summary>
/// Volume number field is present. This flag is present in all volumes except first.
/// </summary>
VolumeNumberField = 1 << 1,
/// <summary>
/// Solid archive.
/// </summary>
Solid = 1 << 2,
/// <summary>
/// Recovery record is present.
/// </summary>
RecoveryRecordPresent = 1 << 3,
/// <summary>
/// Locked archive.
/// </summary>
Locked = 1 << 4,
}
/// <summary>
@@ -105,8 +124,8 @@ namespace SabreTools.Library.Data
[Flags]
public enum RarEncryptionFlags : uint
{
PasswordCheckDataPresent = 0x0001,
UseTweakedChecksums = 0x0002,
PasswordCheckDataPresent = 1 << 0,
UseTweakedChecksums = 1 << 1,
/*
If flag 0x0002 is present, RAR transforms the checksum preserving file or service data integrity, so it becomes dependent on
@@ -121,10 +140,25 @@ namespace SabreTools.Library.Data
[Flags]
public enum RarFileFlags : uint
{
Directory = 0x0001, // Directory file system object (file header only)
TimeInUnix = 0x0002, // Time field in Unix format is present
CRCPresent = 0x0004, // CRC32 field is present
UnpackedSizeUnknown = 0x0008, // Unpacked size is unknown
/// <summary>
/// Directory file system object (file header only)
/// </summary>
Directory = 1 << 0,
/// <summary>
/// Time field in Unix format is present
/// </summary>
TimeInUnix = 1 << 1,
/// <summary>
/// CRC32 field is present
/// </summary>
CRCPresent = 1 << 2,
/// <summary>
/// Unpacked size is unknown
/// </summary>
UnpackedSizeUnknown = 1 << 3,
/*
If flag 0x0008 is set, unpacked size field is still present, but must be ignored and extraction
@@ -140,22 +174,49 @@ namespace SabreTools.Library.Data
[Flags]
public enum RarHeaderFlags : uint
{
ExtraAreaPresent = 0x0001, // Extra area is present in the end of header
DataAreaPresent = 0x0002, // Data area is present in the end of header
BlocksWithUnknownType = 0x0004, // Blocks with unknown type and this flag must be skipped when updating an archive
DataAreaContinuingFromPrevious = 0x0008, // Data area is continuing from previous volume
DataAreaContinuingToNext = 0x0010, // Data area is continuing in next volume
BlockDependsOnPreceding = 0x0020, // Block depends on preceding file block
PreserveChildBlock = 0x0040, // Preserve a child block if host block is modified
/// <summary>
/// Extra area is present in the end of header
/// </summary>
ExtraAreaPresent = 1 << 0,
/// <summary>
/// Data area is present in the end of header
/// </summary>
DataAreaPresent = 1 << 1,
/// <summary>
/// Blocks with unknown type and this flag must be skipped when updating an archive
/// </summary>
BlocksWithUnknownType = 1 << 2,
/// <summary>
/// Data area is continuing from previous volume
/// </summary>
DataAreaContinuingFromPrevious = 1 << 3,
/// <summary>
/// Data area is continuing in next volume
/// </summary>
DataAreaContinuingToNext = 1 << 4,
/// <summary>
/// Block depends on preceding file block
/// </summary>
BlockDependsOnPreceding = 1 << 5,
/// <summary>
/// Preserve a child block if host block is modified
/// </summary>
PreserveChildBlock = 1 << 6,
}
[Flags]
public enum RarUnixOwnerRecordFlags : uint
{
UserNameStringIsPresent = 0x0001,
GroupNameStringIsPresent = 0x0002,
NumericUserIdIsPresent = 0x0004,
NumericGroupIdIsPresent = 0x0008,
UserNameStringIsPresent = 1 << 0,
GroupNameStringIsPresent = 1 << 1,
NumericUserIdIsPresent = 1 << 2,
NumericGroupIdIsPresent = 1 << 3,
}
/// <summary>
@@ -164,10 +225,10 @@ namespace SabreTools.Library.Data
[Flags]
public enum RarTimeFlags : uint
{
TimeInUnixFormat = 0x0001,
ModificationTimePresent = 0x0002,
CreationTimePresent = 0x0004,
LastAccessTimePresent = 0x0008,
TimeInUnixFormat = 1 << 0,
ModificationTimePresent = 1 << 1,
CreationTimePresent = 1 << 2,
LastAccessTimePresent = 1 << 3,
}
/// <summary>
@@ -177,9 +238,9 @@ namespace SabreTools.Library.Data
[Flags]
public enum ZipStatus
{
None = 0x0,
TorrentZip = 0x1,
ExtraData = 0x2
None = 0x00,
TorrentZip = 1 << 0,
ExtraData = 1 << 1
}
#endregion
@@ -187,57 +248,153 @@ namespace SabreTools.Library.Data
#region DatFile related
/// <summary>
/// Determines the DAT output format
/// DAT output formats
/// </summary>
[Flags]
public enum DatFormat
{
// XML Formats
Logiqx = 0x01,
LogiqxDepreciated = Logiqx << 1, // Special internal type for "game" instead of "machine"
SoftwareList = LogiqxDepreciated << 1,
Listxml = SoftwareList << 1,
OfflineList = Listxml << 1,
SabreDat = OfflineList << 1,
OpenMSX = SabreDat << 1,
#region XML Formats
// Propietary Formats
ClrMamePro = OpenMSX << 1,
RomCenter = ClrMamePro << 1,
DOSCenter = RomCenter << 1,
AttractMode = DOSCenter << 1,
/// <summary>
/// Logiqx XML (using machine)
/// </summary>
Logiqx = 1 << 0,
// Standardized Text Formats
MissFile = AttractMode << 1,
CSV = MissFile << 1, // Comma-separated
SSV = CSV << 1, // Semicolon-separated
TSV = SSV << 1, // Tab-separated
Listrom = TSV << 1,
/// <summary>
/// Logiqx XML (using gmae)
/// </summary>
LogiqxDepreciated = 1 << 1,
// SFV-similar Formats
RedumpSFV = Listrom << 1,
RedumpMD5 = RedumpSFV << 1,
RedumpSHA1 = RedumpMD5 << 1,
RedumpSHA256 = RedumpSHA1 << 1,
RedumpSHA384 = RedumpSHA256 << 1,
RedumpSHA512 = RedumpSHA384 << 1,
/// <summary>
/// MAME Softare List XML
/// </summary>
SoftwareList = 1 << 2,
/// <summary>
/// MAME Listxml output
/// </summary>
Listxml = 1 << 3,
/// <summary>
/// OfflineList XML
/// </summary>
OfflineList = 1 << 4,
/// <summary>
/// SabreDat XML
/// </summary>
SabreDat = 1 << 5,
/// <summary>
/// OpenMSX Software List XML
/// </summary>
OpenMSX = 1 << 6,
#endregion
#region Propietary Formats
/// <summary>
/// ClrMamePro custom
/// </summary>
ClrMamePro = 1 << 7,
/// <summary>
/// RomCetner INI-based
/// </summary>
RomCenter = 1 << 8,
/// <summary>
/// DOSCenter custom
/// </summary>
DOSCenter = 1 << 9,
/// <summary>
/// AttractMode custom
/// </summary>
AttractMode = 1 << 10,
#endregion
#region Standardized Text Formats
/// <summary>
/// ClrMamePro missfile
/// </summary>
MissFile = 1 << 11,
/// <summary>
/// Comma-Separated Values (standardized)
/// </summary>
CSV = 1 << 12,
/// <summary>
/// Semicolon-Separated Values (standardized)
/// </summary>
SSV = 1 << 13,
/// <summary>
/// Tab-Separated Values (standardized)
/// </summary>
TSV = 1 << 14,
/// <summary>
/// MAME Listrom output
/// </summary>
Listrom = 1 << 15,
#endregion
#region SFV-similar Formats
/// <summary>
/// CRC32 hash list
/// </summary>
RedumpSFV = 1 << 16,
/// <summary>
/// MD5 hash list
/// </summary>
RedumpMD5 = 1 << 17,
/// <summary>
/// SHA-1 hash list
/// </summary>
RedumpSHA1 = 1 << 18,
/// <summary>
/// SHA-256 hash list
/// </summary>
RedumpSHA256 = 1 << 19,
/// <summary>
/// SHA-384 hash list
/// </summary>
RedumpSHA384 = 1 << 20,
/// <summary>
/// SHA-512 hash list
/// </summary>
RedumpSHA512 = 1 << 21,
#endregion
// Specialty combinations
ALL = 0xFFFFFFF,
ALL = Int32.MaxValue,
}
/// <summary>
/// Determine what hashes to strip from the DAT
/// Available hashing types
/// </summary>
[Flags]
public enum Hash
{
CRC = 0x0001,
MD5 = CRC << 1,
SHA1 = MD5 << 1,
SHA256 = SHA1 << 1,
SHA384 = SHA256 << 1,
SHA512 = SHA384 << 1,
CRC = 1 << 0,
MD5 = 1 << 1,
SHA1 = 1 << 2,
SHA256 = 1 << 3,
SHA384 = 1 << 4,
SHA512 = 1 << 5,
// Special combinations
Standard = CRC | MD5 | SHA1,
@@ -251,18 +408,18 @@ namespace SabreTools.Library.Data
[Flags]
public enum ReplaceMode
{
None = 0x0,
None = 0x00,
// Sorted by hash
ItemName = 0x1,
Hash = ItemName << 1,
ItemName = 1 << 0,
Hash = 1 << 1,
// Sorted by machine name
Description = Hash << 1,
MachineType = Description << 1,
Year = MachineType << 1,
Manufacturer = Year << 1,
Parents = Manufacturer << 1,
Description = 1 << 2,
MachineType = 1 << 3,
Year = 1 << 4,
Manufacturer = 1 << 5,
Parents = 1 << 6,
}
/// <summary>
@@ -271,14 +428,37 @@ namespace SabreTools.Library.Data
[Flags]
public enum StatReportFormat
{
None = 0x0,
Textfile = 0x01,
HTML = Textfile << 1,
CSV = HTML << 1,
SSV = CSV << 1,
TSV = SSV << 1,
/// <summary>
/// Only output to the console
/// </summary>
None = 0x00,
All = Textfile | HTML | CSV | SSV | TSV,
/// <summary>
/// Console-formatted
/// </summary>
Textfile = 1 << 0,
/// <summary>
/// ClrMamePro HTML
/// </summary>
HTML = 1 << 1,
/// <summary>
/// Comma-Separated Values (Standardized)
/// </summary>
CSV = 1 << 2,
/// <summary>
/// Semicolon-Separated Values (Standardized)
/// </summary>
SSV = 1 << 3,
/// <summary>
/// Tab-Separated Values (Standardized)
/// </summary>
TSV = 1 << 4,
All = Int32.MaxValue,
}
/// <summary>
@@ -287,13 +467,13 @@ namespace SabreTools.Library.Data
[Flags]
public enum SplittingMode
{
None = 0x0,
None = 0x00,
Extension = 0x01,
Hash = Extension << 1,
Level = Hash << 1,
Type = Level << 1,
Size = Type << 1,
Extension = 1 << 0,
Hash = 1 << 2,
Level = 1 << 3,
Type = 1 << 4,
Size = 1 << 5,
}
/// <summary>
@@ -305,22 +485,24 @@ namespace SabreTools.Library.Data
None = 0x00,
// Standard diffs
DiffDupesOnly = 0x01,
DiffNoDupesOnly = DiffDupesOnly << 1,
DiffIndividualsOnly = DiffNoDupesOnly << 1,
AllDiffs = DiffDupesOnly | DiffNoDupesOnly | DiffIndividualsOnly,
DiffDupesOnly = 1 << 0,
DiffNoDupesOnly = 1 << 1,
DiffIndividualsOnly = 1 << 2,
// Cascaded diffs
DiffCascade = DiffIndividualsOnly << 1,
DiffReverseCascade = DiffCascade << 1,
DiffCascade = 1 << 3,
DiffReverseCascade = 1 << 4,
// Base diffs
DiffAgainst = DiffReverseCascade << 1,
DiffAgainst = 1 << 5,
// Special update modes
Merge = DiffAgainst << 1,
BaseReplace = Merge << 1,
ReverseBaseReplace = BaseReplace << 1,
Merge = 1 << 6,
BaseReplace = 1 << 7,
ReverseBaseReplace = 1 << 8,
// Combinations
AllDiffs = DiffDupesOnly | DiffNoDupesOnly | DiffIndividualsOnly,
}
#endregion
@@ -334,12 +516,12 @@ namespace SabreTools.Library.Data
public enum DupeType
{
// Type of match
Hash = 0x01,
All = 0x02,
Hash = 1 << 0,
All = 1 << 1,
// Location of match
Internal = 0x10,
External = 0x20,
Internal = 1 << 2,
External = 1 << 3,
}
/// <summary>
@@ -348,12 +530,16 @@ namespace SabreTools.Library.Data
[Flags]
public enum ItemStatus
{
NULL = 0x00, // This is a fake flag that is used for filter only
None = 0x01,
Good = 0x02,
BadDump = 0x04,
Nodump = 0x08,
Verified = 0x10,
/// <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,
}
/// <summary>
@@ -362,11 +548,15 @@ namespace SabreTools.Library.Data
[Flags]
public enum MachineType
{
NULL = 0x00, // This is a fake flag used for filter only
None = 0x01,
Bios = 0x02,
Device = 0x04,
Mechanical = 0x08,
/// <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,
}
#endregion