using System; // TODO: Figure out the best way to put these back in their libraries namespace SabreTools.Core { #region DatFiles /// /// Determines merging tag handling for DAT output /// public enum MergingFlag { [Mapping("none")] None = 0, [Mapping("split")] Split, [Mapping("merged")] Merged, [Mapping("nonmerged", "unmerged")] NonMerged, /// This is not usually defined for Merging flags [Mapping("fullmerged")] FullMerged, /// This is not usually defined for Merging flags [Mapping("device", "deviceunmerged", "devicenonmerged")] DeviceNonMerged, /// This is not usually defined for Merging flags [Mapping("full", "fullunmerged", "fullnonmerged")] FullNonMerged, } /// /// Determines nodump tag handling for DAT output /// public enum NodumpFlag { [Mapping("none")] None = 0, [Mapping("obsolete")] Obsolete, [Mapping("required")] Required, [Mapping("ignore")] Ignore, } /// /// Determines packing tag handling for DAT output /// public enum PackingFlag { [Mapping("none")] None = 0, /// /// Force all sets to be in archives, except disk and media /// [Mapping("zip", "yes")] Zip, /// /// Force all sets to be extracted into subfolders /// [Mapping("unzip", "no")] Unzip, /// /// Force sets with single items to be extracted to the parent folder /// [Mapping("partial")] Partial, /// /// Force all sets to be extracted to the parent folder /// [Mapping("flat")] Flat, } #endregion #region DatItems /// /// Determine the chip type /// [Flags] public enum ChipType { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("cpu")] CPU = 1 << 0, [Mapping("audio")] Audio = 1 << 1, } /// /// Determine the control type /// [Flags] public enum ControlType { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine the device type /// [Flags] public enum DeviceType { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine the display type /// [Flags] public enum DisplayType { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine the endianness /// [Flags] public enum Endianness { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("big")] Big = 1 << 0, [Mapping("little")] Little = 1 << 1, } /// /// Determine the emulation status /// [Flags] public enum FeatureStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("unemulated")] Unemulated = 1 << 0, [Mapping("imperfect")] Imperfect = 1 << 1, } /// /// Determine the feature type /// [Flags] public enum FeatureType { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine the status of the item /// [Flags] public enum ItemStatus { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine what type of file an item is /// public enum ItemType { /// /// This is a fake flag that is used for filter only /// 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")] DeviceReference, [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")] SharedFeature, [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 } /// /// Determine the loadflag value /// [Flags] public enum LoadFlag { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine what type of machine it is /// [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, } /// /// Determine which OpenMSX subtype an item is /// [Flags] public enum OpenMSXSubType { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("rom")] Rom = 1 << 0, [Mapping("megarom")] MegaRom = 1 << 1, [Mapping("sccpluscart")] SCCPlusCart = 1 << 2, } /// /// Determine relation of value to condition /// [Flags] public enum Relation { /// /// This is a fake flag that is used for filter only /// 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, } /// /// Determine machine runnable status /// [Flags] public enum Runnable { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("no")] No = 1 << 0, [Mapping("partial")] Partial = 1 << 1, [Mapping("yes")] Yes = 1 << 2, } /// /// Determine software list status /// [Flags] public enum SoftwareListStatus { [Mapping("none")] None = 0, [Mapping("original")] Original = 1 << 0, [Mapping("compatible")] Compatible = 1 << 1, } /// /// Determine machine support status /// [Flags] public enum Supported { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("no", "unsupported")] No = 1 << 0, [Mapping("partial")] Partial = 1 << 1, [Mapping("yes", "supported")] Yes = 1 << 2, } /// /// Determine driver support statuses /// [Flags] public enum SupportStatus { /// /// This is a fake flag that is used for filter only /// NULL = 0, [Mapping("good")] Good = 1 << 0, [Mapping("imperfect")] Imperfect = 1 << 1, [Mapping("preliminary")] Preliminary = 1 << 2, } #endregion #region Fields /// /// List of valid field types within a DatHeader /// public enum DatHeaderField { /// /// This is a fake flag that is used for filter only /// NULL = 0, /// Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter [Mapping("author")] Author, /// Used in Logiqx [Mapping("biosmode", "bios_mode")] BiosMode, /// Used in Logiqx [Mapping("build")] Build, /// Used with OfflineList [Mapping("canopen", "can_open")] CanOpen, /// Used in ClrMamePro and Logiqx [Mapping("category")] Category, /// Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter [Mapping("comment")] Comment, /// Used in ClrMamePro, DOSCenter, Logiqx, OpenMSX, and RomCenter [Mapping("date", "timestamp", "time_stamp")] Date, /// Used in Logiqx and ListXML [Mapping("debug")] Debug, /// Used in ClrMamePro, DOSCenter, ListXML, Logiqx, OpenMSX, RomCenter, Separated Value, and Software List [Mapping("desc", "description")] Description, /// Used in ClrMamePro, Logiqx, and RomCenter [Mapping("email", "e_mail")] Email, /// Used in AttractMode, OfflineList, and Separated Value [Mapping("file", "filename", "file_name")] FileName, /// Used in ClrMamePro, Logiqx, and RomCenter [Mapping("forcemerging", "force_merging")] ForceMerging, /// Used in Logiqx [Mapping("forcenodump", "force_nodump")] ForceNodump, /// Used in ClrMamePro and Logiqx [Mapping("forcepacking", "force_packing")] ForcePacking, /// Used in ClrMamePro and Logiqx [Mapping("header", "headerskipper", "header_skipper", "skipper")] HeaderSkipper, /// Used in ClrMamePro, DOSCenter, Logiqx, and RomCenter [Mapping("homepage", "home_page")] Homepage, /// Used in Logiqx [Mapping("id", "nointroid", "no_intro_id")] ID, /// Used with OfflineList; Part of "Info" object [Mapping("info_default", "infos_default")] Info_Default, /// Used with OfflineList; Part of "Info" object [Mapping("info_isnamingoption", "info_is_naming_option", "infos_isnamingoption", "infos_is_naming_option")] Info_IsNamingOption, /// Used with OfflineList; Part of "Info" object [Mapping("info_name", "infos_name")] Info_Name, /// Used with OfflineList; Part of "Info" object [Mapping("info_visible", "infos_visible")] Info_Visible, /// Used in Logiqx [Mapping("lockbiosmode", "lockbios_mode", "lock_biosmode", "lock_bios_mode")] LockBiosMode, /// Used in Logiqx [Mapping("lockrommode", "lockrom_mode", "lock_rommode", "lock_rom_mode")] LockRomMode, /// Used in Logiqx [Mapping("locksamplemode", "locksample_mode", "lock_samplemode", "lock_sample_mode")] LockSampleMode, /// Used in ListXML [Mapping("mameconfig", "mame_config")] MameConfig, /// Used in ClrMamePro, DOSCenter, ListXML, Logiqx, OfflineList, OpenMSX, RomCenter, Separated Value, and Software List [Mapping("dat", "datname", "dat_name", "internalname", "internal_name")] Name, /// Used with RomCenter [Mapping("rcversion", "rc_version", "romcenterversion", "romcenter_version", "rom_center_version")] RomCenterVersion, /// Used in Logiqx [Mapping("rommode", "rom_mode")] RomMode, /// Used with OfflineList [Mapping("romtitle", "rom_title")] RomTitle, /// Used with ClrMamePro and Logiqx [Mapping("root", "rootdir", "root_dir", "rootdirectory", "root_directory")] RootDir, /// Used in Logiqx [Mapping("samplemode", "sample_mode")] SampleMode, /// Used with OfflineList [Mapping("screenshotheight", "screenshotsheight", "screenshot_height", "screenshots_height")] ScreenshotsHeight, /// Used with OfflineList [Mapping("screenshotwidth", "screenshotswidth", "screenshot_width", "screenshots_width")] ScreenshotsWidth, /// Used with Logiqx, OfflineList, and RomCenter; "plugin" is used for RomCenter [Mapping("system", "plugin")] System, /// Used with ClrMamePro, Logiqx, and OfflineList [Mapping("dattype", "type", "superdat")] Type, /// Used with ClrMamePro, Logiqx, OfflineList, and RomCenter [Mapping("url")] Url, /// Used with ClrMamePro, DOSCenter, ListXML, Logiqx, OfflineList, and RomCenter [Mapping("version")] Version, } /// /// List of valid field types within a DatItem /// public enum DatItemField { /// /// This is a fake flag that is used for filter only /// NULL = 0, /// Used in Rom [Mapping("altname", "alt_name", "altromname", "alt_romname", "alt_rom_name")] AltName, /// Used in Rom [Mapping("alttitle", "alt_title", "altromtitle", "alt_romtitle", "alt_rom_title")] AltTitle, /// Used in Analog [Mapping("analog_mask")] Analog_Mask, /// Used in Rom [Mapping("ado_format")] ArchiveDotOrgFormat, /// Used in Rom [Mapping("ado_source")] ArchiveDotOrgSource, /// Used in DataArea [Mapping("areaendinanness", "area_endianness")] AreaEndianness, /// Used in DataArea and DiskArea [Mapping("areaname", "area_name")] AreaName, /// Used in DataArea [Mapping("areasize", "area_size")] AreaSize, /// Used in DataArea [Mapping("areawidth", "area_width")] AreaWidth, /// Used in Rom [Mapping("bios")] Bios, /// Used in Rom [Mapping("boot")] Boot, /// Used in Archive [Mapping("categories")] Categories, /// Used in Sound [Mapping("channels")] Channels, /// Used in Chip [Mapping("chiptype", "chip_type")] ChipType, /// Used in Chip [Mapping("clock")] Clock, /// Used in Archive [Mapping("clone")] Clone, /// Used in Driver [Mapping("cocktailstatus", "cocktail_status")] CocktailStatus, /// Used in Input [Mapping("coins")] Coins, /// Used in Archive [Mapping("complete")] Complete, /// Used in Condition [Mapping("condition_mask")] Condition_Mask, /// Used in Condition [Mapping("condition_relation")] Condition_Relation, /// Used in Condition [Mapping("condition_tag")] Condition_Tag, /// Used in Condition [Mapping("condition_value")] Condition_Value, /// Used in RamOption [Mapping("content")] Content, /// Used in Control [Mapping("control_buttons")] Control_Buttons, /// Used in Control [Mapping("control_keydelta", "control_key_delta")] Control_KeyDelta, /// Used in Control [Mapping("control_maximum")] Control_Maximum, /// Used in Control [Mapping("control_minimum")] Control_Minimum, /// Used in Control [Mapping("control_player")] Control_Player, /// Used in Control [Mapping("control_reqbuttons", "control_req_buttons")] Control_RequiredButtons, /// Used in Control [Mapping("control_reverse")] Control_Reverse, /// Used in Control [Mapping("control_sensitivity")] Control_Sensitivity, /// Used in Control [Mapping("control_type")] Control_Type, /// Used in Control [Mapping("control_ways")] Control_Ways, /// Used in Control [Mapping("control_ways2")] Control_Ways2, /// Used in Control [Mapping("control_ways3")] Control_Ways3, /// Used in Rom [Mapping("crc", "crc32")] CRC, /// Used in Release and Rom [Mapping("date")] Date, /// Used in Adjuster, BiosSet, RamOption, and Release [Mapping("default")] Default, /// Used in BiosSet [Mapping("description", "biosdescription", "bios_description")] Description, /// Used in Device [Mapping("devicetype", "device_type")] DeviceType, /// Used in Archive [Mapping("devstatus", "dev_status")] DevStatus, /// Used in Display [Mapping("displaytype", "display_type")] DisplayType, /// Used in Driver [Mapping("emulationstatus", "emulation_status")] EmulationStatus, /// Used in Extension [Mapping("extension_name")] Extension_Name, /// Used in Feature [Mapping("featureoverall", "feature_overall")] FeatureOverall, /// Used in Feature [Mapping("featurestatus", "feature_status")] FeatureStatus, /// Used in Feature [Mapping("featuretype", "feature_type")] FeatureType, /// Used in SoftwareList [Mapping("filter")] Filter, /// Used in Device [Mapping("fixedimage", "fixed_image")] FixedImage, /// Used in Display [Mapping("flipx")] FlipX, /// Used in Display [Mapping("hbend")] HBEnd, /// Used in Display [Mapping("hbstart")] HBStart, /// Used in Display [Mapping("height")] Height, /// Used in Display [Mapping("htotal")] HTotal, /// Used in Driver [Mapping("incomplete")] Incomplete, /// Used in Disk [Mapping("index")] Index, /// Used in Instance [Mapping("instance_briefname", "instance_brief_name")] Instance_BriefName, /// Used in Instance [Mapping("instance_name")] Instance_Name, /// Used in Device [Mapping("interface")] Interface, /// Used in Rom [Mapping("inverted")] Inverted, /// Used in Release [Mapping("language")] Language, /// Used in Archive [Mapping("languages")] Languages, /// Used in Rom [Mapping("loadflag", "load_flag")] LoadFlag, /// Used in Location [Mapping("location_inverted")] Location_Inverted, /// Used in Location [Mapping("location_name")] Location_Name, /// Used in Location [Mapping("location_number")] Location_Number, /// Used in Device [Mapping("mandatory")] Mandatory, /// Used in Condition, Configuration, and DipSwitch [Mapping("mask")] Mask, /// Used in Disk, Media, and Rom [Mapping("md5", "md5hash", "md5_hash")] MD5, /// Used in Disk and Rom [Mapping("merge", "mergetag", "merge_tag")] Merge, /// Used in Rom [Mapping("mia")] MIA, /// Used in Adjuster, Archive, BiosSet, Chip, Configuration, DataArea, DeviceReference, DipSwitch, Disk, DiskArea, Extension, Info, Instance, Location, Media, Part, PartFeature, RamOption, Release, Rom, Sample, Setting, SharedFeature, Slot, SlotOption, and SoftwareList [Mapping("name")] Name, /// Used in Driver [Mapping("nosoundhardware", "no_sound_hardware")] NoSoundHardware, /// Used in Archive [Mapping("number")] Number, /// Used in Rom [Mapping("offset")] Offset, /// Used in Rom [Mapping("subtype", "sub_type", "openmsxsubtype", "openmsx_subtype", "openmsx_sub_type")] OpenMSXSubType, /// Used in Rom [Mapping("openmsxtype", "openmsx_type")] OpenMSXType, /// Used in Disk and Rom [Mapping("optional")] Optional, /// Used in Rom [Mapping("original")] Original, /// Used in Rom [Mapping("original_filename")] OriginalFilename, /// Used in PartFeature [Mapping("part_feature_name")] Part_Feature_Name, /// Used in PartFeature [Mapping("part_feature_value")] Part_Feature_Value, /// Used in Part [Mapping("partinterface", "part_interface")] Part_Interface, /// Used in Part [Mapping("partname", "part_name")] Part_Name, /// Used in Archive [Mapping("physical")] Physical, /// Used in Display [Mapping("pixclock", "pix_clock")] PixClock, /// Used in Input [Mapping("players")] Players, /// Used in Display [Mapping("refresh")] Refresh, /// Used in Archive, Disk, Release, and Rom [Mapping("region")] Region, /// Used in Archive [Mapping("regparent", "reg_parent")] RegParent, /// Used in Condition [Mapping("relation")] Relation, /// Used in Rom [Mapping("remark")] Remark, /// Used in Driver [Mapping("requiresartwork", "requires_artwork")] RequiresArtwork, /// Used in Display [Mapping("rotate")] Rotate, /// Used in Rom [Mapping("rotation")] Rotation, /// Used in Driver [Mapping("savestatestatus", "savestate_status", "save_state_status")] SaveStateStatus, /// Used in Input [Mapping("service")] Service, /// Used in Setting [Mapping("setting_default", "value_default")] Setting_Default, /// Used in Setting [Mapping("setting_name", "value_name")] Setting_Name, /// Used in Setting [Mapping("setting_value", "value_value")] Setting_Value, /// Used in Disk, Media, and Rom [Mapping("sha1", "sha_1", "sha1hash", "sha1_hash", "sha_1hash", "sha_1_hash")] SHA1, /// Used in Media and Rom [Mapping("sha256", "sha_256", "sha256hash", "sha256_hash", "sha_256hash", "sha_256_hash")] SHA256, /// Used in Rom [Mapping("sha384", "sha_384", "sha384hash", "sha384_hash", "sha_384hash", "sha_384_hash")] SHA384, /// Used in Rom [Mapping("sha512", "sha_512", "sha512hash", "sha512_hash", "sha_512hash", "sha_512_hash")] SHA512, /// Used in Rom [Mapping("size")] Size, /// Used in SlotOption [Mapping("slotoption_default")] SlotOption_Default, /// Used in SlotOption [Mapping("slotoption_devicename", "slotoption_device_name")] SlotOption_DeviceName, /// Used in SlotOption [Mapping("slotoption_name")] SlotOption_Name, /// Used in SoftwareList [Mapping("softwareliststatus", "softwarelist_status")] SoftwareListStatus, /// Used in Media and Rom [Mapping("spamsum", "spam_sum")] SpamSum, /// Used in Disk and Rom [Mapping("status")] Status, /// Used in Rom [Mapping("summation")] Summation, /// Used in Driver [Mapping("supportstatus", "support_status")] SupportStatus, /// Used in Chip, Condition, Configuration, Device, DipSwitch, Display, Port, and SoftwareList [Mapping("tag")] Tag, /// Used in Input [Mapping("tilt")] Tilt, /// Internal value, common to all DatItems [Mapping("type")] Type, /// Used in Driver [Mapping("unofficial")] Unofficial, /// Used in Condition, Info, Rom, and SharedFeature [Mapping("value")] Value, /// Used in Display [Mapping("vbend")] VBEnd, /// Used in Display [Mapping("vbstart")] VBStart, /// Used in Display [Mapping("vtotal")] VTotal, /// Used in Display [Mapping("width")] Width, /// Used in Disk [Mapping("writable")] Writable, } /// /// List of valid field types within a Machine /// public enum MachineField { /// /// This is a fake flag that is used for filter only /// NULL = 0, /// Used in Logiqx [Mapping("board")] Board, /// Used in AttractMode [Mapping("buttons")] Buttons, /// Used in AttractMode, ClrMamePro, and Logiqx [Mapping("category")] Category, /// Used in AttractMode, ClrMamePro, ListXML, Logiqx, OfflineList, RomCenter, and Software List [Mapping("cloneof", "clone_of")] CloneOf, /// Used in Logiqx [Mapping("cloneofid", "nointrocloneofid", "nointro_cloneofid", "no_intro_cloneofid", "no_intro_clone_of_id")] CloneOfID, /// Used in AttractMode, Logiqx, and OfflineList; "extra" is used with AttractMode [Mapping("comment", "extra")] Comment, /// Used in AttractMode [Mapping("control")] Control, /// Used in OpenMSX [Mapping("country")] Country, /// Used in Logiqx (EmuArc Extension) [Mapping("crc", "hascrc", "has_crc")] CRC, /// Used in ArchiveDotOrg, AttractMode, ClrMamePro, DOSCenter, Everdrive SMDB, ListXML, Logiqx, RomCenter, Separated Value, and Software List [Mapping("desc", "description")] Description, /// Used in Logiqx (EmuArc Extension) [Mapping("developer")] Developer, /// Used in AttractMode [Mapping("displaycount", "display_count")] DisplayCount, /// Used in AttractMode [Mapping("displaytype", "display_type")] DisplayType, /// Used in Logiqx (EmuArc Extension) [Mapping("enabled")] Enabled, /// Used in OpenMSX [Mapping("genmsxid", "genmsx_id", "gen_msxid", "gen_msx_id")] GenMSXID, /// Used in Logiqx (EmuArc Extension) [Mapping("genre")] Genre, /// Used in ListXML [Mapping("history")] History, /// Used in Logiqx [Mapping("id", "nointroid", "nointro_id", "no_intro_id")] ID, /// Used in AttractMode, ClrMamePro, ListXML, Logiqx, and OpenMSX [Mapping("manufacturer")] Manufacturer, /// Used in ArchiveDotOrg, AttractMode, ClrMamePro, DOSCenter, Everdrive SMDB, Hashfile, ListROM, ListXML, Logiqx, Missfile, OfflineList, OpenMSX, RomCenter, Separated Value, and Software List [Mapping("name")] Name, /// Used in AttractMode and Logiqx [Mapping("players")] Players, /// Used in Logiqx, OfflineList, and Software List [Mapping("publisher")] Publisher, /// Used in Logiqx (EmuArc Extension) [Mapping("ratings")] Ratings, /// Used in Logiqx [Mapping("rebuildto", "rebuild_to")] RebuildTo, /// Used in Logiqx (EmuArc Extension) [Mapping("relatedto", "related_to")] RelatedTo, /// Used in ClrMamePro, ListXML, Logiqx, and RomCenter [Mapping("romof", "rom_of")] RomOf, /// Used in AttractMode [Mapping("rotation")] Rotation, /// Used in ListXML and Logiqx [Mapping("runnable")] Runnable, /// Used in ClrMamePro, ListXML, and Logiqx [Mapping("sampleof", "sample_of")] SampleOf, /// Used in Logiqx (EmuArc Extension) [Mapping("score")] Score, /// Used in ListXML and Logiqx [Mapping("sourcefile", "source_file")] SourceFile, /// Used in AttractMode [Mapping("amstatus", "am_status", "gamestatus", "supportstatus", "support_status")] Status, /// Used in Logiqx (EmuArc Extension) [Mapping("subgenre", "sub_genre")] Subgenre, /// Used in Software List [Mapping("supported")] Supported, /// Used in OpenMSX [Mapping("system", "msxsystem", "msx_system")] System, /// Used in Logiqx (EmuArc Extension) [Mapping("titleid", "title_id")] TitleID, /// Used in ClrMamePro, DOSCenter, ListXML, and Logiqx [Mapping("type")] Type, /// Used in AttractMode, ClrMamePro, ListXML, Logiqx, OpenMSX, and Software List [Mapping("year")] Year, } #endregion #region Logging /// /// Severity of the logging statement /// public enum LogLevel { [Mapping("verbose")] VERBOSE = 0, [Mapping("user")] USER, [Mapping("warning")] WARNING, [Mapping("error")] ERROR, } #endregion }