mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Move DatItems enums back to proper project
This commit is contained in:
@@ -1,653 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
// TODO: Figure out the best way to put these back in their libraries
|
|
||||||
namespace SabreTools.Core
|
|
||||||
{
|
|
||||||
#region DatItems
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the chip type
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum ChipType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("cpu")]
|
|
||||||
CPU = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("audio")]
|
|
||||||
Audio = 1 << 1,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the control type
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum ControlType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("joy")]
|
|
||||||
Joy = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("stick")]
|
|
||||||
Stick = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("paddle")]
|
|
||||||
Paddle = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("pedal")]
|
|
||||||
Pedal = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("lightgun")]
|
|
||||||
Lightgun = 1 << 4,
|
|
||||||
|
|
||||||
[Mapping("positional")]
|
|
||||||
Positional = 1 << 5,
|
|
||||||
|
|
||||||
[Mapping("dial")]
|
|
||||||
Dial = 1 << 6,
|
|
||||||
|
|
||||||
[Mapping("trackball")]
|
|
||||||
Trackball = 1 << 7,
|
|
||||||
|
|
||||||
[Mapping("mouse")]
|
|
||||||
Mouse = 1 << 8,
|
|
||||||
|
|
||||||
[Mapping("only_buttons")]
|
|
||||||
OnlyButtons = 1 << 9,
|
|
||||||
|
|
||||||
[Mapping("keypad")]
|
|
||||||
Keypad = 1 << 10,
|
|
||||||
|
|
||||||
[Mapping("keyboard")]
|
|
||||||
Keyboard = 1 << 11,
|
|
||||||
|
|
||||||
[Mapping("mahjong")]
|
|
||||||
Mahjong = 1 << 12,
|
|
||||||
|
|
||||||
[Mapping("hanafuda")]
|
|
||||||
Hanafuda = 1 << 13,
|
|
||||||
|
|
||||||
[Mapping("gambling")]
|
|
||||||
Gambling = 1 << 14,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the device type
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum DeviceType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("unknown")]
|
|
||||||
Unknown = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("cartridge")]
|
|
||||||
Cartridge = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("floppydisk")]
|
|
||||||
FloppyDisk = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("harddisk")]
|
|
||||||
HardDisk = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("cylinder")]
|
|
||||||
Cylinder = 1 << 4,
|
|
||||||
|
|
||||||
[Mapping("cassette")]
|
|
||||||
Cassette = 1 << 5,
|
|
||||||
|
|
||||||
[Mapping("punchcard")]
|
|
||||||
PunchCard = 1 << 6,
|
|
||||||
|
|
||||||
[Mapping("punchtape")]
|
|
||||||
PunchTape = 1 << 7,
|
|
||||||
|
|
||||||
[Mapping("printout")]
|
|
||||||
Printout = 1 << 8,
|
|
||||||
|
|
||||||
[Mapping("serial")]
|
|
||||||
Serial = 1 << 9,
|
|
||||||
|
|
||||||
[Mapping("parallel")]
|
|
||||||
Parallel = 1 << 10,
|
|
||||||
|
|
||||||
[Mapping("snapshot")]
|
|
||||||
Snapshot = 1 << 11,
|
|
||||||
|
|
||||||
[Mapping("quickload")]
|
|
||||||
QuickLoad = 1 << 12,
|
|
||||||
|
|
||||||
[Mapping("memcard")]
|
|
||||||
MemCard = 1 << 13,
|
|
||||||
|
|
||||||
[Mapping("cdrom")]
|
|
||||||
CDROM = 1 << 14,
|
|
||||||
|
|
||||||
[Mapping("magtape")]
|
|
||||||
MagTape = 1 << 15,
|
|
||||||
|
|
||||||
[Mapping("romimage")]
|
|
||||||
ROMImage = 1 << 16,
|
|
||||||
|
|
||||||
[Mapping("midiin")]
|
|
||||||
MIDIIn = 1 << 17,
|
|
||||||
|
|
||||||
[Mapping("midiout")]
|
|
||||||
MIDIOut = 1 << 18,
|
|
||||||
|
|
||||||
[Mapping("picture")]
|
|
||||||
Picture = 1 << 19,
|
|
||||||
|
|
||||||
[Mapping("vidfile")]
|
|
||||||
VidFile = 1 << 20,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the display type
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum DisplayType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("raster")]
|
|
||||||
Raster = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("vector")]
|
|
||||||
Vector = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("lcd")]
|
|
||||||
LCD = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("svg")]
|
|
||||||
SVG = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("unknown")]
|
|
||||||
Unknown = 1 << 4,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the endianness
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum Endianness
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("big")]
|
|
||||||
Big = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("little")]
|
|
||||||
Little = 1 << 1,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the emulation status
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum FeatureStatus
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("unemulated")]
|
|
||||||
Unemulated = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("imperfect")]
|
|
||||||
Imperfect = 1 << 1,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the feature type
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum FeatureType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("protection")]
|
|
||||||
Protection = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("palette")]
|
|
||||||
Palette = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("graphics")]
|
|
||||||
Graphics = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("sound")]
|
|
||||||
Sound = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("controls")]
|
|
||||||
Controls = 1 << 4,
|
|
||||||
|
|
||||||
[Mapping("keyboard")]
|
|
||||||
Keyboard = 1 << 5,
|
|
||||||
|
|
||||||
[Mapping("mouse")]
|
|
||||||
Mouse = 1 << 6,
|
|
||||||
|
|
||||||
[Mapping("microphone")]
|
|
||||||
Microphone = 1 << 7,
|
|
||||||
|
|
||||||
[Mapping("camera")]
|
|
||||||
Camera = 1 << 8,
|
|
||||||
|
|
||||||
[Mapping("disk")]
|
|
||||||
Disk = 1 << 9,
|
|
||||||
|
|
||||||
[Mapping("printer")]
|
|
||||||
Printer = 1 << 10,
|
|
||||||
|
|
||||||
[Mapping("lan")]
|
|
||||||
Lan = 1 << 11,
|
|
||||||
|
|
||||||
[Mapping("wan")]
|
|
||||||
Wan = 1 << 12,
|
|
||||||
|
|
||||||
[Mapping("timing")]
|
|
||||||
Timing = 1 << 13,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <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 = 0,
|
|
||||||
|
|
||||||
[Mapping("none", "no")]
|
|
||||||
None = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("good")]
|
|
||||||
Good = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("baddump")]
|
|
||||||
BadDump = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("nodump", "yes")]
|
|
||||||
Nodump = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("verified")]
|
|
||||||
Verified = 1 << 4,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine what type of file an item is
|
|
||||||
/// </summary>
|
|
||||||
public enum ItemType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
// "Actionable" item types
|
|
||||||
|
|
||||||
[Mapping("rom")]
|
|
||||||
Rom,
|
|
||||||
|
|
||||||
[Mapping("disk")]
|
|
||||||
Disk,
|
|
||||||
|
|
||||||
[Mapping("file")]
|
|
||||||
File,
|
|
||||||
|
|
||||||
[Mapping("media")]
|
|
||||||
Media,
|
|
||||||
|
|
||||||
// "Auxiliary" item types
|
|
||||||
|
|
||||||
[Mapping("adjuster")]
|
|
||||||
Adjuster,
|
|
||||||
|
|
||||||
[Mapping("analog")]
|
|
||||||
Analog,
|
|
||||||
|
|
||||||
[Mapping("archive")]
|
|
||||||
Archive,
|
|
||||||
|
|
||||||
[Mapping("biosset")]
|
|
||||||
BiosSet,
|
|
||||||
|
|
||||||
[Mapping("chip")]
|
|
||||||
Chip,
|
|
||||||
|
|
||||||
[Mapping("condition")]
|
|
||||||
Condition,
|
|
||||||
|
|
||||||
[Mapping("configuration")]
|
|
||||||
Configuration,
|
|
||||||
|
|
||||||
[Mapping("conflocation")]
|
|
||||||
ConfLocation,
|
|
||||||
|
|
||||||
[Mapping("confsetting")]
|
|
||||||
ConfSetting,
|
|
||||||
|
|
||||||
[Mapping("control")]
|
|
||||||
Control,
|
|
||||||
|
|
||||||
[Mapping("dataarea")]
|
|
||||||
DataArea,
|
|
||||||
|
|
||||||
[Mapping("device")]
|
|
||||||
Device,
|
|
||||||
|
|
||||||
[Mapping("device_ref", "deviceref")]
|
|
||||||
DeviceRef,
|
|
||||||
|
|
||||||
[Mapping("diplocation")]
|
|
||||||
DipLocation,
|
|
||||||
|
|
||||||
[Mapping("dipswitch")]
|
|
||||||
DipSwitch,
|
|
||||||
|
|
||||||
[Mapping("dipvalue")]
|
|
||||||
DipValue,
|
|
||||||
|
|
||||||
[Mapping("diskarea")]
|
|
||||||
DiskArea,
|
|
||||||
|
|
||||||
[Mapping("display")]
|
|
||||||
Display,
|
|
||||||
|
|
||||||
[Mapping("driver")]
|
|
||||||
Driver,
|
|
||||||
|
|
||||||
[Mapping("extension")]
|
|
||||||
Extension,
|
|
||||||
|
|
||||||
[Mapping("feature")]
|
|
||||||
Feature,
|
|
||||||
|
|
||||||
[Mapping("info")]
|
|
||||||
Info,
|
|
||||||
|
|
||||||
[Mapping("input")]
|
|
||||||
Input,
|
|
||||||
|
|
||||||
[Mapping("instance")]
|
|
||||||
Instance,
|
|
||||||
|
|
||||||
[Mapping("original")]
|
|
||||||
Original,
|
|
||||||
|
|
||||||
[Mapping("part")]
|
|
||||||
Part,
|
|
||||||
|
|
||||||
[Mapping("part_feature", "partfeature")]
|
|
||||||
PartFeature,
|
|
||||||
|
|
||||||
[Mapping("port")]
|
|
||||||
Port,
|
|
||||||
|
|
||||||
[Mapping("ramoption", "ram_option")]
|
|
||||||
RamOption,
|
|
||||||
|
|
||||||
[Mapping("release")]
|
|
||||||
Release,
|
|
||||||
|
|
||||||
[Mapping("release_details", "releasedetails")]
|
|
||||||
ReleaseDetails,
|
|
||||||
|
|
||||||
[Mapping("sample")]
|
|
||||||
Sample,
|
|
||||||
|
|
||||||
[Mapping("serials")]
|
|
||||||
Serials,
|
|
||||||
|
|
||||||
[Mapping("sharedfeat", "shared_feat", "sharedfeature", "shared_feature")]
|
|
||||||
SharedFeat,
|
|
||||||
|
|
||||||
[Mapping("slot")]
|
|
||||||
Slot,
|
|
||||||
|
|
||||||
[Mapping("slotoption", "slot_option")]
|
|
||||||
SlotOption,
|
|
||||||
|
|
||||||
[Mapping("softwarelist", "software_list")]
|
|
||||||
SoftwareList,
|
|
||||||
|
|
||||||
[Mapping("sound")]
|
|
||||||
Sound,
|
|
||||||
|
|
||||||
[Mapping("source_details", "sourcedetails")]
|
|
||||||
SourceDetails,
|
|
||||||
|
|
||||||
[Mapping("blank")]
|
|
||||||
Blank = 99, // This is not a real type, only used internally
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine the loadflag value
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum LoadFlag
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("load16_byte")]
|
|
||||||
Load16Byte = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("load16_word")]
|
|
||||||
Load16Word = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("load16_word_swap")]
|
|
||||||
Load16WordSwap = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("load32_byte")]
|
|
||||||
Load32Byte = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("load32_word")]
|
|
||||||
Load32Word = 1 << 4,
|
|
||||||
|
|
||||||
[Mapping("load32_word_swap")]
|
|
||||||
Load32WordSwap = 1 << 5,
|
|
||||||
|
|
||||||
[Mapping("load32_dword")]
|
|
||||||
Load32DWord = 1 << 6,
|
|
||||||
|
|
||||||
[Mapping("load64_word")]
|
|
||||||
Load64Word = 1 << 7,
|
|
||||||
|
|
||||||
[Mapping("load64_word_swap")]
|
|
||||||
Load64WordSwap = 1 << 8,
|
|
||||||
|
|
||||||
[Mapping("reload")]
|
|
||||||
Reload = 1 << 9,
|
|
||||||
|
|
||||||
[Mapping("fill")]
|
|
||||||
Fill = 1 << 10,
|
|
||||||
|
|
||||||
[Mapping("continue")]
|
|
||||||
Continue = 1 << 11,
|
|
||||||
|
|
||||||
[Mapping("reload_plain")]
|
|
||||||
ReloadPlain = 1 << 12,
|
|
||||||
|
|
||||||
[Mapping("ignore")]
|
|
||||||
Ignore = 1 << 13,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine what type of machine it is
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum MachineType
|
|
||||||
{
|
|
||||||
[Mapping("none")]
|
|
||||||
None = 0,
|
|
||||||
|
|
||||||
[Mapping("bios")]
|
|
||||||
Bios = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("device", "dev")]
|
|
||||||
Device = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("mechanical", "mech")]
|
|
||||||
Mechanical = 1 << 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine which OpenMSX subtype an item is
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum OpenMSXSubType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("rom")]
|
|
||||||
Rom = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("megarom")]
|
|
||||||
MegaRom = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("sccpluscart")]
|
|
||||||
SCCPlusCart = 1 << 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine relation of value to condition
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum Relation
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("eq")]
|
|
||||||
Equal = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("ne")]
|
|
||||||
NotEqual = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("gt")]
|
|
||||||
GreaterThan = 1 << 2,
|
|
||||||
|
|
||||||
[Mapping("le")]
|
|
||||||
LessThanOrEqual = 1 << 3,
|
|
||||||
|
|
||||||
[Mapping("lt")]
|
|
||||||
LessThan = 1 << 4,
|
|
||||||
|
|
||||||
[Mapping("ge")]
|
|
||||||
GreaterThanOrEqual = 1 << 5,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine machine runnable status
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum Runnable
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("no")]
|
|
||||||
No = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("partial")]
|
|
||||||
Partial = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("yes")]
|
|
||||||
Yes = 1 << 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine software list status
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum SoftwareListStatus
|
|
||||||
{
|
|
||||||
[Mapping("none")]
|
|
||||||
None = 0,
|
|
||||||
|
|
||||||
[Mapping("original")]
|
|
||||||
Original = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("compatible")]
|
|
||||||
Compatible = 1 << 1,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine machine support status
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum Supported
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("no", "unsupported")]
|
|
||||||
No = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("partial")]
|
|
||||||
Partial = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("yes", "supported")]
|
|
||||||
Yes = 1 << 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determine driver support statuses
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum SupportStatus
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// This is a fake flag that is used for filter only
|
|
||||||
/// </summary>
|
|
||||||
NULL = 0,
|
|
||||||
|
|
||||||
[Mapping("good")]
|
|
||||||
Good = 1 << 0,
|
|
||||||
|
|
||||||
[Mapping("imperfect")]
|
|
||||||
Imperfect = 1 << 1,
|
|
||||||
|
|
||||||
[Mapping("preliminary")]
|
|
||||||
Preliminary = 1 << 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
@@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using SabreTools.Core;
|
using SabreTools.Core;
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
|
using SabreTools.DatItems;
|
||||||
|
|
||||||
namespace SabreTools.DatFiles
|
namespace SabreTools.DatFiles
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using SabreTools.Core;
|
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
|
using SabreTools.DatItems;
|
||||||
|
|
||||||
namespace SabreTools.DatFiles
|
namespace SabreTools.DatFiles
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using SabreTools.Core;
|
using SabreTools.DatItems;
|
||||||
|
|
||||||
namespace SabreTools.DatFiles.Formats
|
namespace SabreTools.DatFiles.Formats
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,185 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using SabreTools.Core;
|
||||||
|
|
||||||
namespace SabreTools.DatItems
|
namespace SabreTools.DatItems
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the chip type
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum ChipType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("cpu")]
|
||||||
|
CPU = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("audio")]
|
||||||
|
Audio = 1 << 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the control type
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum ControlType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("joy")]
|
||||||
|
Joy = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("stick")]
|
||||||
|
Stick = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("paddle")]
|
||||||
|
Paddle = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("pedal")]
|
||||||
|
Pedal = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("lightgun")]
|
||||||
|
Lightgun = 1 << 4,
|
||||||
|
|
||||||
|
[Mapping("positional")]
|
||||||
|
Positional = 1 << 5,
|
||||||
|
|
||||||
|
[Mapping("dial")]
|
||||||
|
Dial = 1 << 6,
|
||||||
|
|
||||||
|
[Mapping("trackball")]
|
||||||
|
Trackball = 1 << 7,
|
||||||
|
|
||||||
|
[Mapping("mouse")]
|
||||||
|
Mouse = 1 << 8,
|
||||||
|
|
||||||
|
[Mapping("only_buttons")]
|
||||||
|
OnlyButtons = 1 << 9,
|
||||||
|
|
||||||
|
[Mapping("keypad")]
|
||||||
|
Keypad = 1 << 10,
|
||||||
|
|
||||||
|
[Mapping("keyboard")]
|
||||||
|
Keyboard = 1 << 11,
|
||||||
|
|
||||||
|
[Mapping("mahjong")]
|
||||||
|
Mahjong = 1 << 12,
|
||||||
|
|
||||||
|
[Mapping("hanafuda")]
|
||||||
|
Hanafuda = 1 << 13,
|
||||||
|
|
||||||
|
[Mapping("gambling")]
|
||||||
|
Gambling = 1 << 14,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the device type
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum DeviceType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("unknown")]
|
||||||
|
Unknown = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("cartridge")]
|
||||||
|
Cartridge = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("floppydisk")]
|
||||||
|
FloppyDisk = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("harddisk")]
|
||||||
|
HardDisk = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("cylinder")]
|
||||||
|
Cylinder = 1 << 4,
|
||||||
|
|
||||||
|
[Mapping("cassette")]
|
||||||
|
Cassette = 1 << 5,
|
||||||
|
|
||||||
|
[Mapping("punchcard")]
|
||||||
|
PunchCard = 1 << 6,
|
||||||
|
|
||||||
|
[Mapping("punchtape")]
|
||||||
|
PunchTape = 1 << 7,
|
||||||
|
|
||||||
|
[Mapping("printout")]
|
||||||
|
Printout = 1 << 8,
|
||||||
|
|
||||||
|
[Mapping("serial")]
|
||||||
|
Serial = 1 << 9,
|
||||||
|
|
||||||
|
[Mapping("parallel")]
|
||||||
|
Parallel = 1 << 10,
|
||||||
|
|
||||||
|
[Mapping("snapshot")]
|
||||||
|
Snapshot = 1 << 11,
|
||||||
|
|
||||||
|
[Mapping("quickload")]
|
||||||
|
QuickLoad = 1 << 12,
|
||||||
|
|
||||||
|
[Mapping("memcard")]
|
||||||
|
MemCard = 1 << 13,
|
||||||
|
|
||||||
|
[Mapping("cdrom")]
|
||||||
|
CDROM = 1 << 14,
|
||||||
|
|
||||||
|
[Mapping("magtape")]
|
||||||
|
MagTape = 1 << 15,
|
||||||
|
|
||||||
|
[Mapping("romimage")]
|
||||||
|
ROMImage = 1 << 16,
|
||||||
|
|
||||||
|
[Mapping("midiin")]
|
||||||
|
MIDIIn = 1 << 17,
|
||||||
|
|
||||||
|
[Mapping("midiout")]
|
||||||
|
MIDIOut = 1 << 18,
|
||||||
|
|
||||||
|
[Mapping("picture")]
|
||||||
|
Picture = 1 << 19,
|
||||||
|
|
||||||
|
[Mapping("vidfile")]
|
||||||
|
VidFile = 1 << 20,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the display type
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum DisplayType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("raster")]
|
||||||
|
Raster = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("vector")]
|
||||||
|
Vector = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("lcd")]
|
||||||
|
LCD = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("svg")]
|
||||||
|
SVG = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("unknown")]
|
||||||
|
Unknown = 1 << 4,
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines which type of duplicate a file is
|
/// Determines which type of duplicate a file is
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -17,6 +195,96 @@ namespace SabreTools.DatItems
|
|||||||
External = 1 << 3,
|
External = 1 << 3,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the endianness
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum Endianness
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("big")]
|
||||||
|
Big = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("little")]
|
||||||
|
Little = 1 << 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the emulation status
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum FeatureStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("unemulated")]
|
||||||
|
Unemulated = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("imperfect")]
|
||||||
|
Imperfect = 1 << 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the feature type
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum FeatureType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("protection")]
|
||||||
|
Protection = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("palette")]
|
||||||
|
Palette = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("graphics")]
|
||||||
|
Graphics = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("sound")]
|
||||||
|
Sound = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("controls")]
|
||||||
|
Controls = 1 << 4,
|
||||||
|
|
||||||
|
[Mapping("keyboard")]
|
||||||
|
Keyboard = 1 << 5,
|
||||||
|
|
||||||
|
[Mapping("mouse")]
|
||||||
|
Mouse = 1 << 6,
|
||||||
|
|
||||||
|
[Mapping("microphone")]
|
||||||
|
Microphone = 1 << 7,
|
||||||
|
|
||||||
|
[Mapping("camera")]
|
||||||
|
Camera = 1 << 8,
|
||||||
|
|
||||||
|
[Mapping("disk")]
|
||||||
|
Disk = 1 << 9,
|
||||||
|
|
||||||
|
[Mapping("printer")]
|
||||||
|
Printer = 1 << 10,
|
||||||
|
|
||||||
|
[Mapping("lan")]
|
||||||
|
Lan = 1 << 11,
|
||||||
|
|
||||||
|
[Mapping("wan")]
|
||||||
|
Wan = 1 << 12,
|
||||||
|
|
||||||
|
[Mapping("timing")]
|
||||||
|
Timing = 1 << 13,
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A subset of fields that can be used as keys
|
/// A subset of fields that can be used as keys
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -34,4 +302,381 @@ namespace SabreTools.DatItems
|
|||||||
SHA512,
|
SHA512,
|
||||||
SpamSum,
|
SpamSum,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <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 = 0,
|
||||||
|
|
||||||
|
[Mapping("none", "no")]
|
||||||
|
None = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("good")]
|
||||||
|
Good = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("baddump")]
|
||||||
|
BadDump = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("nodump", "yes")]
|
||||||
|
Nodump = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("verified")]
|
||||||
|
Verified = 1 << 4,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine what type of file an item is
|
||||||
|
/// </summary>
|
||||||
|
public enum ItemType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
// "Actionable" item types
|
||||||
|
|
||||||
|
[Mapping("rom")]
|
||||||
|
Rom,
|
||||||
|
|
||||||
|
[Mapping("disk")]
|
||||||
|
Disk,
|
||||||
|
|
||||||
|
[Mapping("file")]
|
||||||
|
File,
|
||||||
|
|
||||||
|
[Mapping("media")]
|
||||||
|
Media,
|
||||||
|
|
||||||
|
// "Auxiliary" item types
|
||||||
|
|
||||||
|
[Mapping("adjuster")]
|
||||||
|
Adjuster,
|
||||||
|
|
||||||
|
[Mapping("analog")]
|
||||||
|
Analog,
|
||||||
|
|
||||||
|
[Mapping("archive")]
|
||||||
|
Archive,
|
||||||
|
|
||||||
|
[Mapping("biosset")]
|
||||||
|
BiosSet,
|
||||||
|
|
||||||
|
[Mapping("chip")]
|
||||||
|
Chip,
|
||||||
|
|
||||||
|
[Mapping("condition")]
|
||||||
|
Condition,
|
||||||
|
|
||||||
|
[Mapping("configuration")]
|
||||||
|
Configuration,
|
||||||
|
|
||||||
|
[Mapping("conflocation")]
|
||||||
|
ConfLocation,
|
||||||
|
|
||||||
|
[Mapping("confsetting")]
|
||||||
|
ConfSetting,
|
||||||
|
|
||||||
|
[Mapping("control")]
|
||||||
|
Control,
|
||||||
|
|
||||||
|
[Mapping("dataarea")]
|
||||||
|
DataArea,
|
||||||
|
|
||||||
|
[Mapping("device")]
|
||||||
|
Device,
|
||||||
|
|
||||||
|
[Mapping("device_ref", "deviceref")]
|
||||||
|
DeviceRef,
|
||||||
|
|
||||||
|
[Mapping("diplocation")]
|
||||||
|
DipLocation,
|
||||||
|
|
||||||
|
[Mapping("dipswitch")]
|
||||||
|
DipSwitch,
|
||||||
|
|
||||||
|
[Mapping("dipvalue")]
|
||||||
|
DipValue,
|
||||||
|
|
||||||
|
[Mapping("diskarea")]
|
||||||
|
DiskArea,
|
||||||
|
|
||||||
|
[Mapping("display")]
|
||||||
|
Display,
|
||||||
|
|
||||||
|
[Mapping("driver")]
|
||||||
|
Driver,
|
||||||
|
|
||||||
|
[Mapping("extension")]
|
||||||
|
Extension,
|
||||||
|
|
||||||
|
[Mapping("feature")]
|
||||||
|
Feature,
|
||||||
|
|
||||||
|
[Mapping("info")]
|
||||||
|
Info,
|
||||||
|
|
||||||
|
[Mapping("input")]
|
||||||
|
Input,
|
||||||
|
|
||||||
|
[Mapping("instance")]
|
||||||
|
Instance,
|
||||||
|
|
||||||
|
[Mapping("original")]
|
||||||
|
Original,
|
||||||
|
|
||||||
|
[Mapping("part")]
|
||||||
|
Part,
|
||||||
|
|
||||||
|
[Mapping("part_feature", "partfeature")]
|
||||||
|
PartFeature,
|
||||||
|
|
||||||
|
[Mapping("port")]
|
||||||
|
Port,
|
||||||
|
|
||||||
|
[Mapping("ramoption", "ram_option")]
|
||||||
|
RamOption,
|
||||||
|
|
||||||
|
[Mapping("release")]
|
||||||
|
Release,
|
||||||
|
|
||||||
|
[Mapping("release_details", "releasedetails")]
|
||||||
|
ReleaseDetails,
|
||||||
|
|
||||||
|
[Mapping("sample")]
|
||||||
|
Sample,
|
||||||
|
|
||||||
|
[Mapping("serials")]
|
||||||
|
Serials,
|
||||||
|
|
||||||
|
[Mapping("sharedfeat", "shared_feat", "sharedfeature", "shared_feature")]
|
||||||
|
SharedFeat,
|
||||||
|
|
||||||
|
[Mapping("slot")]
|
||||||
|
Slot,
|
||||||
|
|
||||||
|
[Mapping("slotoption", "slot_option")]
|
||||||
|
SlotOption,
|
||||||
|
|
||||||
|
[Mapping("softwarelist", "software_list")]
|
||||||
|
SoftwareList,
|
||||||
|
|
||||||
|
[Mapping("sound")]
|
||||||
|
Sound,
|
||||||
|
|
||||||
|
[Mapping("source_details", "sourcedetails")]
|
||||||
|
SourceDetails,
|
||||||
|
|
||||||
|
[Mapping("blank")]
|
||||||
|
Blank = 99, // This is not a real type, only used internally
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine the loadflag value
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum LoadFlag
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("load16_byte")]
|
||||||
|
Load16Byte = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("load16_word")]
|
||||||
|
Load16Word = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("load16_word_swap")]
|
||||||
|
Load16WordSwap = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("load32_byte")]
|
||||||
|
Load32Byte = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("load32_word")]
|
||||||
|
Load32Word = 1 << 4,
|
||||||
|
|
||||||
|
[Mapping("load32_word_swap")]
|
||||||
|
Load32WordSwap = 1 << 5,
|
||||||
|
|
||||||
|
[Mapping("load32_dword")]
|
||||||
|
Load32DWord = 1 << 6,
|
||||||
|
|
||||||
|
[Mapping("load64_word")]
|
||||||
|
Load64Word = 1 << 7,
|
||||||
|
|
||||||
|
[Mapping("load64_word_swap")]
|
||||||
|
Load64WordSwap = 1 << 8,
|
||||||
|
|
||||||
|
[Mapping("reload")]
|
||||||
|
Reload = 1 << 9,
|
||||||
|
|
||||||
|
[Mapping("fill")]
|
||||||
|
Fill = 1 << 10,
|
||||||
|
|
||||||
|
[Mapping("continue")]
|
||||||
|
Continue = 1 << 11,
|
||||||
|
|
||||||
|
[Mapping("reload_plain")]
|
||||||
|
ReloadPlain = 1 << 12,
|
||||||
|
|
||||||
|
[Mapping("ignore")]
|
||||||
|
Ignore = 1 << 13,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine what type of machine it is
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum MachineType
|
||||||
|
{
|
||||||
|
[Mapping("none")]
|
||||||
|
None = 0,
|
||||||
|
|
||||||
|
[Mapping("bios")]
|
||||||
|
Bios = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("device", "dev")]
|
||||||
|
Device = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("mechanical", "mech")]
|
||||||
|
Mechanical = 1 << 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine which OpenMSX subtype an item is
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum OpenMSXSubType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("rom")]
|
||||||
|
Rom = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("megarom")]
|
||||||
|
MegaRom = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("sccpluscart")]
|
||||||
|
SCCPlusCart = 1 << 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine relation of value to condition
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum Relation
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("eq")]
|
||||||
|
Equal = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("ne")]
|
||||||
|
NotEqual = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("gt")]
|
||||||
|
GreaterThan = 1 << 2,
|
||||||
|
|
||||||
|
[Mapping("le")]
|
||||||
|
LessThanOrEqual = 1 << 3,
|
||||||
|
|
||||||
|
[Mapping("lt")]
|
||||||
|
LessThan = 1 << 4,
|
||||||
|
|
||||||
|
[Mapping("ge")]
|
||||||
|
GreaterThanOrEqual = 1 << 5,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine machine runnable status
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum Runnable
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("no")]
|
||||||
|
No = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("partial")]
|
||||||
|
Partial = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("yes")]
|
||||||
|
Yes = 1 << 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine software list status
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum SoftwareListStatus
|
||||||
|
{
|
||||||
|
[Mapping("none")]
|
||||||
|
None = 0,
|
||||||
|
|
||||||
|
[Mapping("original")]
|
||||||
|
Original = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("compatible")]
|
||||||
|
Compatible = 1 << 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine machine support status
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum Supported
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("no", "unsupported")]
|
||||||
|
No = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("partial")]
|
||||||
|
Partial = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("yes", "supported")]
|
||||||
|
Yes = 1 << 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Determine driver support statuses
|
||||||
|
/// </summary>
|
||||||
|
[Flags]
|
||||||
|
public enum SupportStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is a fake flag that is used for filter only
|
||||||
|
/// </summary>
|
||||||
|
NULL = 0,
|
||||||
|
|
||||||
|
[Mapping("good")]
|
||||||
|
Good = 1 << 0,
|
||||||
|
|
||||||
|
[Mapping("imperfect")]
|
||||||
|
Imperfect = 1 << 1,
|
||||||
|
|
||||||
|
[Mapping("preliminary")]
|
||||||
|
Preliminary = 1 << 2,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ using System.IO;
|
|||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using SabreTools.DatItems;
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Logging;
|
using SabreTools.Logging;
|
||||||
|
|
||||||
@@ -237,12 +238,12 @@ body {
|
|||||||
|
|
||||||
xtw.WriteStartElement("td");
|
xtw.WriteStartElement("td");
|
||||||
xtw.WriteAttributeString("align", "right");
|
xtw.WriteAttributeString("align", "right");
|
||||||
xtw.WriteString(stat.Statistics.GetItemCount(Core.ItemType.Rom).ToString());
|
xtw.WriteString(stat.Statistics.GetItemCount(ItemType.Rom).ToString());
|
||||||
xtw.WriteEndElement(); // td
|
xtw.WriteEndElement(); // td
|
||||||
|
|
||||||
xtw.WriteStartElement("td");
|
xtw.WriteStartElement("td");
|
||||||
xtw.WriteAttributeString("align", "right");
|
xtw.WriteAttributeString("align", "right");
|
||||||
xtw.WriteString(stat.Statistics.GetItemCount(Core.ItemType.Disk).ToString());
|
xtw.WriteString(stat.Statistics.GetItemCount(ItemType.Disk).ToString());
|
||||||
xtw.WriteEndElement(); // td
|
xtw.WriteEndElement(); // td
|
||||||
|
|
||||||
xtw.WriteStartElement("td");
|
xtw.WriteStartElement("td");
|
||||||
@@ -269,7 +270,7 @@ body {
|
|||||||
{
|
{
|
||||||
xtw.WriteStartElement("td");
|
xtw.WriteStartElement("td");
|
||||||
xtw.WriteAttributeString("align", "right");
|
xtw.WriteAttributeString("align", "right");
|
||||||
xtw.WriteString(stat.Statistics.GetStatusCount(Core.ItemStatus.BadDump).ToString());
|
xtw.WriteString(stat.Statistics.GetStatusCount(ItemStatus.BadDump).ToString());
|
||||||
xtw.WriteEndElement(); // td
|
xtw.WriteEndElement(); // td
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,7 +278,7 @@ body {
|
|||||||
{
|
{
|
||||||
xtw.WriteStartElement("td");
|
xtw.WriteStartElement("td");
|
||||||
xtw.WriteAttributeString("align", "right");
|
xtw.WriteAttributeString("align", "right");
|
||||||
xtw.WriteString(stat.Statistics.GetStatusCount(Core.ItemStatus.Nodump).ToString());
|
xtw.WriteString(stat.Statistics.GetStatusCount(ItemStatus.Nodump).ToString());
|
||||||
xtw.WriteEndElement(); // td
|
xtw.WriteEndElement(); // td
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using SabreTools.DatItems;
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.IO.Writers;
|
using SabreTools.IO.Writers;
|
||||||
using SabreTools.Logging;
|
using SabreTools.Logging;
|
||||||
@@ -131,16 +132,16 @@ namespace SabreTools.Reports.Formats
|
|||||||
stat.DisplayName!,
|
stat.DisplayName!,
|
||||||
stat.Statistics!.TotalSize.ToString(),
|
stat.Statistics!.TotalSize.ToString(),
|
||||||
stat.MachineCount.ToString(),
|
stat.MachineCount.ToString(),
|
||||||
stat.Statistics.GetItemCount(Core.ItemType.Rom).ToString(),
|
stat.Statistics.GetItemCount(ItemType.Rom).ToString(),
|
||||||
stat.Statistics.GetItemCount(Core.ItemType.Disk).ToString(),
|
stat.Statistics.GetItemCount(ItemType.Disk).ToString(),
|
||||||
stat.Statistics.GetHashCount(HashType.CRC32).ToString(),
|
stat.Statistics.GetHashCount(HashType.CRC32).ToString(),
|
||||||
stat.Statistics.GetHashCount(HashType.MD5).ToString(),
|
stat.Statistics.GetHashCount(HashType.MD5).ToString(),
|
||||||
stat.Statistics.GetHashCount(HashType.SHA1).ToString(),
|
stat.Statistics.GetHashCount(HashType.SHA1).ToString(),
|
||||||
stat.Statistics.GetHashCount(HashType.SHA256).ToString(),
|
stat.Statistics.GetHashCount(HashType.SHA256).ToString(),
|
||||||
stat.Statistics.GetHashCount(HashType.SHA384).ToString(),
|
stat.Statistics.GetHashCount(HashType.SHA384).ToString(),
|
||||||
stat.Statistics.GetHashCount(HashType.SHA512).ToString(),
|
stat.Statistics.GetHashCount(HashType.SHA512).ToString(),
|
||||||
baddumpCol ? stat.Statistics.GetStatusCount(Core.ItemStatus.BadDump).ToString() : string.Empty,
|
baddumpCol ? stat.Statistics.GetStatusCount(ItemStatus.BadDump).ToString() : string.Empty,
|
||||||
nodumpCol ? stat.Statistics.GetStatusCount(Core.ItemStatus.Nodump).ToString() : string.Empty,
|
nodumpCol ? stat.Statistics.GetStatusCount(ItemStatus.Nodump).ToString() : string.Empty,
|
||||||
];
|
];
|
||||||
svw.WriteValues(values);
|
svw.WriteValues(values);
|
||||||
svw.Flush();
|
svw.Flush();
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using SabreTools.DatItems;
|
||||||
using SabreTools.Hashing;
|
using SabreTools.Hashing;
|
||||||
using SabreTools.Logging;
|
using SabreTools.Logging;
|
||||||
|
|
||||||
@@ -93,8 +94,8 @@ namespace SabreTools.Reports.Formats
|
|||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
Uncompressed size: " + GetBytesReadable(stat.Statistics!.TotalSize) + @"
|
Uncompressed size: " + GetBytesReadable(stat.Statistics!.TotalSize) + @"
|
||||||
Games found: " + stat.MachineCount + @"
|
Games found: " + stat.MachineCount + @"
|
||||||
Roms found: " + stat.Statistics.GetItemCount(Core.ItemType.Rom) + @"
|
Roms found: " + stat.Statistics.GetItemCount(ItemType.Rom) + @"
|
||||||
Disks found: " + stat.Statistics.GetItemCount(Core.ItemType.Disk) + @"
|
Disks found: " + stat.Statistics.GetItemCount(ItemType.Disk) + @"
|
||||||
Roms with CRC: " + stat.Statistics.GetHashCount(HashType.CRC32) + @"
|
Roms with CRC: " + stat.Statistics.GetHashCount(HashType.CRC32) + @"
|
||||||
Roms with MD5: " + stat.Statistics.GetHashCount(HashType.MD5) + @"
|
Roms with MD5: " + stat.Statistics.GetHashCount(HashType.MD5) + @"
|
||||||
Roms with SHA-1: " + stat.Statistics.GetHashCount(HashType.SHA1) + @"
|
Roms with SHA-1: " + stat.Statistics.GetHashCount(HashType.SHA1) + @"
|
||||||
@@ -103,10 +104,10 @@ namespace SabreTools.Reports.Formats
|
|||||||
Roms with SHA-512: " + stat.Statistics.GetHashCount(HashType.SHA512) + "\n";
|
Roms with SHA-512: " + stat.Statistics.GetHashCount(HashType.SHA512) + "\n";
|
||||||
|
|
||||||
if (baddumpCol)
|
if (baddumpCol)
|
||||||
line += " Roms with BadDump status: " + stat.Statistics.GetStatusCount(Core.ItemStatus.BadDump) + "\n";
|
line += " Roms with BadDump status: " + stat.Statistics.GetStatusCount(ItemStatus.BadDump) + "\n";
|
||||||
|
|
||||||
if (nodumpCol)
|
if (nodumpCol)
|
||||||
line += " Roms with Nodump status: " + stat.Statistics.GetStatusCount(Core.ItemStatus.Nodump) + "\n";
|
line += " Roms with Nodump status: " + stat.Statistics.GetStatusCount(ItemStatus.Nodump) + "\n";
|
||||||
|
|
||||||
// For spacing between DATs
|
// For spacing between DATs
|
||||||
line += "\n\n";
|
line += "\n\n";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
using SabreTools.Core;
|
|
||||||
using SabreTools.Core.Tools;
|
using SabreTools.Core.Tools;
|
||||||
using SabreTools.DatFiles;
|
using SabreTools.DatFiles;
|
||||||
|
using SabreTools.DatItems;
|
||||||
using SabreTools.Logging;
|
using SabreTools.Logging;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using SabreTools.Core;
|
using SabreTools.Core;
|
||||||
using SabreTools.DatFiles;
|
using SabreTools.DatFiles;
|
||||||
|
using SabreTools.DatItems;
|
||||||
using SabreTools.DatTools;
|
using SabreTools.DatTools;
|
||||||
using SabreTools.Help;
|
using SabreTools.Help;
|
||||||
using SabreTools.IO;
|
using SabreTools.IO;
|
||||||
|
|||||||
Reference in New Issue
Block a user