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