2016-10-24 12:58:57 -07:00
|
|
|
|
namespace SabreTools.Helper.Data
|
2016-04-12 15:03:47 -07:00
|
|
|
|
{
|
2016-10-24 12:58:57 -07:00
|
|
|
|
#region Archival
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Version of tool archive made by
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum ArchiveVersion : ushort
|
|
|
|
|
|
{
|
|
|
|
|
|
MSDOSandOS2 = 0,
|
|
|
|
|
|
Amiga = 1,
|
|
|
|
|
|
OpenVMS = 2,
|
|
|
|
|
|
UNIX = 3,
|
|
|
|
|
|
VMCMS = 4,
|
|
|
|
|
|
AtariST = 5,
|
|
|
|
|
|
OS2HPFS = 6,
|
|
|
|
|
|
Macintosh = 7,
|
|
|
|
|
|
ZSystem = 8,
|
|
|
|
|
|
CPM = 9,
|
|
|
|
|
|
WindowsNTFS = 10,
|
|
|
|
|
|
MVS = 11,
|
|
|
|
|
|
VSE = 12,
|
|
|
|
|
|
AcornRisc = 13,
|
|
|
|
|
|
VFAT = 14,
|
|
|
|
|
|
AlternateMVS = 15,
|
|
|
|
|
|
BeOS = 16,
|
|
|
|
|
|
Tandem = 17,
|
|
|
|
|
|
OS400 = 18,
|
|
|
|
|
|
OSXDarwin = 19,
|
|
|
|
|
|
TorrentZip = 20,
|
|
|
|
|
|
TorrentZip64 = 45,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Compression method based on flag
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum CompressionMethod : ushort
|
|
|
|
|
|
{
|
|
|
|
|
|
Stored = 0,
|
|
|
|
|
|
Shrunk = 1,
|
|
|
|
|
|
ReducedCompressionFactor1 = 2,
|
|
|
|
|
|
ReducedCompressionFactor2 = 3,
|
|
|
|
|
|
ReducedCompressionFactor3 = 4,
|
|
|
|
|
|
ReducedCompressionFactor4 = 5,
|
|
|
|
|
|
Imploded = 6,
|
|
|
|
|
|
Tokenizing = 7,
|
|
|
|
|
|
Deflated = 8,
|
|
|
|
|
|
Delfate64 = 9,
|
|
|
|
|
|
PKWAREDataCompressionLibrary = 10,
|
|
|
|
|
|
BZIP2 = 12,
|
|
|
|
|
|
LZMA = 14,
|
|
|
|
|
|
IBMTERSE = 18,
|
|
|
|
|
|
IBMLZ77 = 19,
|
|
|
|
|
|
WavPak = 97,
|
|
|
|
|
|
PPMdVersionIRev1 = 98,
|
|
|
|
|
|
|
|
|
|
|
|
// Reserved and unused (SHOULD NOT BE USED)
|
|
|
|
|
|
Type11 = 11,
|
|
|
|
|
|
Type13 = 13,
|
|
|
|
|
|
Type15 = 15,
|
|
|
|
|
|
Type16 = 16,
|
|
|
|
|
|
Type17 = 17,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-10-25 15:12:07 -07:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Output format for rebuilt files
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum OutputFormat
|
|
|
|
|
|
{
|
|
|
|
|
|
// Currently implemented
|
|
|
|
|
|
Folder = 0,
|
|
|
|
|
|
TorrentZip = 1,
|
|
|
|
|
|
TorrentGzip = 2,
|
|
|
|
|
|
|
|
|
|
|
|
// Currently unimplemented
|
|
|
|
|
|
Torrent7Zip = 3,
|
|
|
|
|
|
TorrentRar = 4,
|
|
|
|
|
|
TapeArchive = 5,
|
|
|
|
|
|
TorrentXZ = 6,
|
|
|
|
|
|
TorrentLrzip = 7,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-10-24 12:58:57 -07:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Zip open type
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>https://raw.githubusercontent.com/gjefferyes/RomVault/5a93500001f0d068f32cf77a048950717507f733/ROMVault2/SupportedFiles/ZipEnums.cs</remarks>
|
|
|
|
|
|
public enum ZipOpenType
|
|
|
|
|
|
{
|
|
|
|
|
|
Closed,
|
|
|
|
|
|
OpenRead,
|
|
|
|
|
|
OpenWrite
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Zip testing type
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>https://raw.githubusercontent.com/gjefferyes/RomVault/5a93500001f0d068f32cf77a048950717507f733/ROMVault2/SupportedFiles/ZipEnums.cs</remarks>
|
|
|
|
|
|
public enum ZipReturn
|
|
|
|
|
|
{
|
|
|
|
|
|
ZipGood,
|
|
|
|
|
|
ZipFileLocked,
|
|
|
|
|
|
ZipFileCountError,
|
|
|
|
|
|
ZipSignatureError,
|
|
|
|
|
|
ZipExtraDataOnEndOfZip,
|
|
|
|
|
|
ZipUnsupportedCompression,
|
|
|
|
|
|
ZipLocalFileHeaderError,
|
|
|
|
|
|
ZipCentralDirError,
|
|
|
|
|
|
ZipEndOfCentralDirectoryError,
|
|
|
|
|
|
Zip64EndOfCentralDirError,
|
|
|
|
|
|
Zip64EndOfCentralDirectoryLocatorError,
|
|
|
|
|
|
ZipReadingFromOutputFile,
|
|
|
|
|
|
ZipWritingToInputFile,
|
|
|
|
|
|
ZipErrorGettingDataStream,
|
|
|
|
|
|
ZipCRCDecodeError,
|
|
|
|
|
|
ZipDecodeError,
|
|
|
|
|
|
ZipFileNameToLong,
|
|
|
|
|
|
ZipFileAlreadyOpen,
|
|
|
|
|
|
ZipCannotFastOpen,
|
|
|
|
|
|
ZipErrorOpeningFile,
|
|
|
|
|
|
ZipErrorFileNotFound,
|
|
|
|
|
|
ZipErrorReadingFile,
|
|
|
|
|
|
ZipErrorTimeStamp,
|
|
|
|
|
|
ZipErrorRollBackFile,
|
|
|
|
|
|
ZipUntested
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
2016-09-22 21:32:06 -07:00
|
|
|
|
#region DatFile related
|
2016-09-12 21:35:25 -07:00
|
|
|
|
|
2016-04-12 15:03:47 -07:00
|
|
|
|
/// <summary>
|
2016-09-12 21:35:25 -07:00
|
|
|
|
/// Determines forcemerging tag for DAT output
|
2016-04-12 15:03:47 -07:00
|
|
|
|
/// </summary>
|
2016-09-12 21:35:25 -07:00
|
|
|
|
public enum ForceMerging
|
2016-04-12 15:03:47 -07:00
|
|
|
|
{
|
|
|
|
|
|
None = 0,
|
2016-09-12 21:35:25 -07:00
|
|
|
|
Split,
|
|
|
|
|
|
Full,
|
2016-04-12 15:03:47 -07:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2016-09-12 21:35:25 -07:00
|
|
|
|
/// Determines forcenodump tag for DAT output
|
2016-04-12 15:03:47 -07:00
|
|
|
|
/// </summary>
|
2016-09-12 21:35:25 -07:00
|
|
|
|
public enum ForceNodump
|
2016-04-12 15:03:47 -07:00
|
|
|
|
{
|
2016-09-12 21:35:25 -07:00
|
|
|
|
None = 0,
|
|
|
|
|
|
Obsolete,
|
|
|
|
|
|
Required,
|
|
|
|
|
|
Ignore,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determines forcepacking tag for DAT output
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum ForcePacking
|
|
|
|
|
|
{
|
|
|
|
|
|
None = 0,
|
|
|
|
|
|
Zip,
|
|
|
|
|
|
Unzip,
|
2016-04-12 15:03:47 -07:00
|
|
|
|
}
|
2016-05-10 20:55:51 -07:00
|
|
|
|
|
2016-10-06 11:42:55 -07:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determines how the current dictionary is sorted by
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum SortedBy
|
|
|
|
|
|
{
|
|
|
|
|
|
Default = 0,
|
|
|
|
|
|
Size,
|
|
|
|
|
|
CRC,
|
|
|
|
|
|
MD5,
|
|
|
|
|
|
SHA1,
|
|
|
|
|
|
Game,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-09-12 21:35:25 -07:00
|
|
|
|
#endregion
|
|
|
|
|
|
|
2016-09-22 21:32:06 -07:00
|
|
|
|
#region DatItem related
|
2016-09-12 21:35:25 -07:00
|
|
|
|
|
2016-08-29 13:50:55 -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,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-09-21 15:45:40 -07:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determine the status of the item
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum ItemStatus
|
|
|
|
|
|
{
|
2016-09-21 16:46:01 -07:00
|
|
|
|
NULL = -1, // This is a fake flag that is used for filter only
|
2016-09-21 15:45:40 -07:00
|
|
|
|
None = 0,
|
|
|
|
|
|
Good = 1,
|
|
|
|
|
|
BadDump = 2,
|
|
|
|
|
|
Nodump = 3,
|
|
|
|
|
|
Verified = 4,
|
2016-09-21 16:46:01 -07:00
|
|
|
|
NotNodump = 5, // This is a fake flag that is used for filter only
|
2016-09-21 15:45:40 -07:00
|
|
|
|
}
|
2016-09-26 14:38:05 -07:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determine which format to output Stats to
|
|
|
|
|
|
/// </summary>
|
2016-10-25 15:02:02 -07:00
|
|
|
|
public enum StatDatFormat
|
2016-09-26 14:38:05 -07:00
|
|
|
|
{
|
|
|
|
|
|
None = 0,
|
|
|
|
|
|
HTML = 1,
|
|
|
|
|
|
CSV = 2,
|
|
|
|
|
|
TSV = 3,
|
|
|
|
|
|
}
|
2016-09-21 15:45:40 -07:00
|
|
|
|
|
2016-09-12 21:35:25 -07:00
|
|
|
|
#endregion
|
2016-05-15 14:34:06 -07:00
|
|
|
|
|
2016-09-12 21:35:25 -07:00
|
|
|
|
#region Skippers and Mappers
|
2016-05-15 14:34:06 -07:00
|
|
|
|
|
2016-06-16 19:36:05 -07:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determines the header skip operation
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum HeaderSkipOperation
|
|
|
|
|
|
{
|
|
|
|
|
|
None = 0,
|
|
|
|
|
|
Bitswap,
|
|
|
|
|
|
Byteswap,
|
|
|
|
|
|
Wordswap,
|
2016-06-17 01:22:22 -07:00
|
|
|
|
WordByteswap,
|
2016-06-16 19:36:05 -07:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determines the type of test to be done
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum HeaderSkipTest
|
|
|
|
|
|
{
|
|
|
|
|
|
Data = 0,
|
|
|
|
|
|
Or,
|
|
|
|
|
|
Xor,
|
|
|
|
|
|
And,
|
|
|
|
|
|
File,
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determines the operator to be used in a file test
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum HeaderSkipTestFileOperator
|
|
|
|
|
|
{
|
|
|
|
|
|
Equal = 0,
|
|
|
|
|
|
Less,
|
|
|
|
|
|
Greater,
|
|
|
|
|
|
}
|
2016-08-26 11:52:51 -07:00
|
|
|
|
|
2016-09-12 21:35:25 -07:00
|
|
|
|
#endregion
|
2016-04-12 15:03:47 -07:00
|
|
|
|
}
|