From 2f38209f101daa760a46b0453d458656ab511fe4 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sat, 5 Sep 2020 21:12:00 -0700 Subject: [PATCH] Backport Wiki changes --- SabreTools.Library/README.1ST | 684 +++-------------------------- SabreTools/Features/BaseFeature.cs | 14 +- 2 files changed, 65 insertions(+), 633 deletions(-) diff --git a/SabreTools.Library/README.1ST b/SabreTools.Library/README.1ST index 7f029a33..c548edd3 100644 --- a/SabreTools.Library/README.1ST +++ b/SabreTools.Library/README.1ST @@ -209,30 +209,29 @@ Options: This allows the user to skip calculating the MD5 for each of the files which will speed up the creation of the DAT. - -nr160, --skip-ripemd160 Don't include RIPEMD160 in output - This allows the user to skip calculating the RIPEMD160 for each of - the files which will speed up the creation of the DAT. - .NET Framework 4.8 only. + -nr160, --skip-ripemd160 Include RIPEMD160 in output + This allows the user to include calculating the RIPEMD160 for each of + the files. .NET Framework 4.8 only. -ns, --skip-sha1 Don't include SHA-1 in output This allows the user to skip calculating the SHA-1 for each of the files which will speed up the creation of the DAT. -ns256, --skip-sha256 Include SHA-256 in output - This allows the user to skip calculating the SHA-256 for each of the - files which will speed up the creation of the DAT. + This allows the user to include calculating the SHA-256 for each of the + files. -ns384, --skip-sha384 Include SHA-384 in output - This allows the user to skip calculating the SHA-384 for each of the - files which will speed up the creation of the DAT. + This allows the user to include calculating the SHA-384 for each of the + files. -ns512, --skip-sha512 Include SHA-512 in output - This allows the user to skip calculating the SHA-512 for each of the - files which will speed up the creation of the DAT. + This allows the user to include calculating the SHA-512 for each of the + files. --nss, --skip-spamsum Include SpamSum in output - This allows the user to skip calculating the SpamSum for each of the - files which will speed up the creation of the DAT. + This allows the user to include calculating the SpamSum for each of the + files. -b, --no-automatic-date Don't include date in file name Normally, the DAT will be created with the date in the file name in @@ -385,7 +384,7 @@ Options: the empty directories in the source. This is useful for tools that require all folders be accounted for in the output DAT. - -ad, --add-date Add dates to items, where posible + -ad, --add-date Add dates to items, where possible If this flag is set, then the Date will be appended to each file information in the output DAT. The output format is standardized as "yyyy/MM/dd HH:mm:ss". @@ -409,195 +408,19 @@ Options: -fi=, --filter= Filter a game/rom field with the given value(s) Filter any valid item or machine field from inputs. Filters are input - in the form 'key:value' or '!key:value', where the '!' signifies 'not' - matching. Numeric values may also prefix the 'value' with '>', '<', or + in the form 'key:value' or '!key:value', where the '!' signifies 'not + matching'. Numeric values may also prefix the 'value' with '>', '<', or '=' accordingly. Key examples include: romof, category, and game. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed. - -cat=, --category-filter= Filter by category - Include only items with this category in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ncat=, --not-category= Filter by not category - Include only items without this category in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -gn=, --game-name= Filter by game name - Include only items with this game name in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ngn=, --not-game-name= Filter by not game name - Include only items without this game name in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -gd=, --game-description= Filter by game description - Include only items with this game description in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -ngd=, --not-game-description= Filter by not game description - Include only items without this game description in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - -ofg, --match-of-tags Allow cloneof and romof tags to match game name filters If filter or exclude by game name is used, this flag will allow those filters to be checked against the romof and cloneof tags as well. This can allow for more advanced set-building, especially in arcade-based sets. - -rn=, --item-name= Filter by item name - Include only items with this item name in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nrn=, --not-item-name= Filter by not item name - Include only items without this item name in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -rt=, --item-type= Filter by item type - Include only items with this item type in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nrt=, --not-item-type= Filter by not item type - Include only items without this item type in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sgt=, --greater= Filter by size >= - Only include items whose size is greater than or equal to this value - in the output DAT. Users can specify either a regular integer number - or a number with a standard postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -slt=, --less= Filter by size =< - Only include items whose size is less than or equal to this value in - the output DAT. Users can specify either a regular integer number or - a number with a standard postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -seq=, --equal= Filter by size == - Only include items of this exact size in the output DAT. Users can - specify either a regular integer number or a number with a standard - postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -crc=, --crc= Filter by CRC hash - Include only items with this CRC hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ncrc=, --not-crc= Filter by not CRC hash - Include only items without this CRC hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -md5=, --md5= Filter by MD5 hash - Include only items with this MD5 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nmd5=, --not-md5= Filter by not MD5 hash - Include only items without this MD5 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ripemd160=, --ripemd160= Filter by RIPEMD160 hash - Include only items with this RIPEMD160 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. .NET Framework 4.8 only. - - -nripemd160=, --not-ripemd160= Filter by not RIPEMD160 hash - Include only items without this RIPEMD160 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. .NET Framework 4.8 only - - -sha1=, --sha1= Filter by SHA-1 hash - Include only items with this SHA-1 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nsha1=, --not-sha1= Filter by not SHA-1 hash - Include only items without this SHA-1 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha256=, --sha256= Filter by SHA-256 hash - Include only items with this SHA-256 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha256=, --not-sha256= Filter by not SHA-256 hash - Include only items without this SHA-256 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha384=, --sha384= Filter by SHA-384 hash - Include only items with this SHA-384 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha384=, --not-sha384= Filter by not SHA-384 hash - Include only items without this SHA-384 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha512=, --sha512= Filter by SHA-512 hash - Include only items with this SHA-512 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha512=, --not-sha512= Filter by not SHA-512 hash - Include only items without this SHA-512 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -is=, --status= Include only items with a given status - Include only items with this item status in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Good, BadDump, Nodump, Verified - - -nis=, --not-status= Exclude only items with a given status - Include only items without this item status in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Good, BadDump, Nodump, Verified - - -gt=, --game-type= Include only games with a given type - Include only items with this game type in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Bios, Device, Mechanical - - -ngt=, --not-game-type= Exclude only games with a given type - Include only items without this game type in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Bios, Device, Mechanical - - -run, --runnable Include only items that are marked runnable - This allows users to include only verified runnable games. - - -nrun, --not-runnable Include only items that are not marked runnable - This allows users to include only unrunnable games. - -t=, --temp= Set the temporary directory to use Optionally, a temp folder can be supplied in the case the default temp directory is not preferred. @@ -708,7 +531,7 @@ Options: compare against the input DATs. This flag forces all CHDs to be treated like regular files. - -ad, --add-date Add dates to items, where posible + -ad, --add-date Add dates to items, where possible If this flag is set, then the Date will be appended to each file information in the output DAT. The output format is standardized as "yyyy/MM/dd HH:mm:ss". @@ -923,34 +746,13 @@ Options: this flag are allowed. Possible values are: - all - All available DAT types + all - All available report types csv - Standardized Comma-Separated Value - html - HTML webpage + html - HTML webpage ssv - Standardized Semicolon-Separated Value - text - Generic textfile + text - Generic textfile tsv - Standardized Tab-Separated Value - -as, --all-stats Write all statistics to all available formats [DEPRECIATED] - Output all statistical information to all available formats. - [DEPRECIATED] - - -csv, --csv Output in Comma-Separated Value format [DEPRECIATED] - Output all statistical information in standardized CSV format. - [DEPRECIATED] - - -html, --html Output in HTML format [DEPRECIATED] - Output all statistical information in standardized HTML format. - [DEPRECIATED] - - -tsv, --tsv Output in Tab-Separated Value format [DEPRECIATED] - Output all statistical information in standardized TSV format. - [DEPRECIATED] - - -txt, --text Output in generic text format [DEPRECIATED] - Output all statistical information in generic text format. If no - other format flags are enabled, this is the default output. - [DEPRECIATED] - -f=, --filename= Set the external name of the DAT Set the external filename for the output DAT(s) @@ -1074,12 +876,12 @@ Options: -de=, --description= Set the description of the DAT Set the description header field for the output DAT(s) - -r=, --root= Set a new rootdir - Set the rootdir (as used by SuperDAT mode) for the output DAT(s). - -c=, --category= Set the category of the DAT Set the category header field for the output DAT(s) + -r=, --root= Set a new rootdir + Set the rootdir (as used by SuperDAT mode) for the output DAT(s). + -v=, --version= Set the version of the DAT Set the version header field for the output DAT(s) @@ -1311,41 +1113,6 @@ Options: will only be overwritten if they are the same as the machine names. - -un, --update-names Update item names from base DATs - This flag enables updating of item names from base DATs. - [Both base-replace and reverse-base-replace] - - -uh, --update-hashes Update hashes from base DATs - This flag enables updating of hashes from base DATs. - [Both base-replace and reverse-base-replace] - - -udd, --update-description Update machine descriptions from base DATs - This flag enables updating of machine descriptions from base - DATs. [Both base-replace and reverse-base-replace] - - -ons, --only-same Only update description if machine name matches description - Normally, updating the description will always overwrite if - the machine names are the same. With this flag, descriptions - will only be overwritten if they are the same as the machine - names. - - -ugt, --update-game-type Update machine type from base DATs - This flag enables updating of machine type from base DATs. - [Both base-replace and reverse-base-replace] - - -uy, --update-year Update machine years from base DATs - This flag enables updating of machine years from base DATs. - [Both base-replace and reverse-base-replace] - - -um, --update-manufacturer Update machine manufacturers from base DATs - This flag enables updating of machine manufacturers from base - DATs. [Both base-replace and reverse-base-replace] - - -up, --update-parents Update machine parents from base DATs - This flag enables updating of machine parents (romof, cloneof, - sampleof) from base DATs. [Both base-replace and - reverse-base-replace] - -dc, --diff-cascade Enable cascaded diffing This flag allows for a special type of diffing in which the first DAT is considered a base, and for each additional input DAT, it only @@ -1372,195 +1139,19 @@ Options: -fi=, --filter= Filter a game/rom field with the given value(s) Filter any valid item or machine field from inputs. Filters are input - in the form 'key:value' or '!key:value', where the '!' signifies 'not' - matching. Numeric values may also prefix the 'value' with '>', '<', or + in the form 'key:value' or '!key:value', where the '!' signifies 'not + matching'. Numeric values may also prefix the 'value' with '>', '<', or '=' accordingly. Key examples include: romof, category, and game. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed. - -cat=, --category-filter= Filter by category - Include only items with this category in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ncat=, --not-category= Filter by not category - Include only items without this category in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -gn=, --game-name= Filter by game name - Include only items with this game name in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ngn=, --not-game-name= Filter by not game name - Include only items without this game name in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -gd=, --game-description= Filter by game description - Include only items with this game description in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -ngd=, --not-game-description= Filter by not game description - Include only items without this game description in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - -ofg, --match-of-tags Allow cloneof and romof tags to match game name filters If filter or exclude by game name is used, this flag will allow those filters to be checked against the romof and cloneof tags as well. This can allow for more advanced set-building, especially in arcade-based sets. - -rn=, --item-name= Filter by item name - Include only items with this item name in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nrn=, --not-item-name= Filter by not item name - Include only items without this item name in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -rt=, --item-type= Filter by item type - Include only items with this item type in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nrt=, --not-item-type= Filter by not item type - Include only items without this item type in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sgt=, --greater= Filter by size >= - Only include items whose size is greater than or equal to this value - in the output DAT. Users can specify either a regular integer number - or a number with a standard postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -slt=, --less= Filter by size =< - Only include items whose size is less than or equal to this value in - the output DAT. Users can specify either a regular integer number or - a number with a standard postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -seq=, --equal= Filter by size == - Only include items of this exact size in the output DAT. Users can - specify either a regular integer number or a number with a standard - postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -crc=, --crc= Filter by CRC hash - Include only items with this CRC hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ncrc=, --not-crc= Filter by not CRC hash - Include only items without this CRC hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -md5=, --md5= Filter by MD5 hash - Include only items with this MD5 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nmd5=, --not-md5= Filter by not MD5 hash - Include only items without this MD5 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ripemd160=, --ripemd160= Filter by RIPEMD160 hash - Include only items with this RIPEMD160 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. .NET Framework 4.8 only. - - -nripemd160=, --not-ripemd160= Filter by not RIPEMD160 hash - Include only items without this RIPEMD160 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. .NET Framework 4.8 only. - - -sha1=, --sha1= Filter by SHA-1 hash - Include only items with this SHA-1 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nsha1=, --not-sha1= Filter by not SHA-1 hash - Include only items without this SHA-1 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha256=, --sha256= Filter by SHA-256 hash - Include only items with this SHA-256 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha256=, --not-sha256= Filter by not SHA-256 hash - Include only items without this SHA-256 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha384=, --sha384= Filter by SHA-384 hash - Include only items with this SHA-384 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha384=, --not-sha384= Filter by not SHA-384 hash - Include only items without this SHA-384 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha512=, --sha512= Filter by SHA-512 hash - Include only items with this SHA-512 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha512=, --not-sha512= Filter by not SHA-512 hash - Include only items without this SHA-512 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -is=, --status= Include only items with a given status - Include only items with this item status in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Good, BadDump, Nodump, Verified - - -nis=, --not-status= Exclude only items with a given status - Include only items without this item status in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Good, BadDump, Nodump, Verified - - -gt=, --game-type= Include only games with a given type - Include only items with this game type in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Bios, Device, Mechanical - - -ngt=, --not-game-type= Exclude only games with a given type - Include only items without this game type in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Bios, Device, Mechanical - - -run, --runnable Include only items that are marked runnable - This allows users to include only verified runnable games. - - -nrun, --not-runnable Include only items that are not marked runnable - This allows users to include only unrunnable games. - -out=, --output-dir= Set output directory This sets an output folder to be used when the files are created. If a path is not defined, the runtime directory is used instead. @@ -1667,195 +1258,19 @@ Options: -fi=, --filter= Filter a game/rom field with the given value(s) Filter any valid item or machine field from inputs. Filters are input - in the form 'key:value' or '!key:value', where the '!' signifies 'not' - matching. Numeric values may also prefix the 'value' with '>', '<', or + in the form 'key:value' or '!key:value', where the '!' signifies 'not + matching'. Numeric values may also prefix the 'value' with '>', '<', or '=' accordingly. Key examples include: romof, category, and game. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed. - -cat=, --category-filter= Filter by category - Include only items with this category in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ncat=, --not-category= Filter by not category - Include only items without this category in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -gn=, --game-name= Filter by game name - Include only items with this game name in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ngn=, --not-game-name= Filter by not game name - Include only items without this game name in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -gd=, --game-description= Filter by game description - Include only items with this game description in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -ngd=, --not-game-description= Filter by not game description - Include only items without this game description in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - -ofg, --match-of-tags Allow cloneof and romof tags to match game name filters If filter or exclude by game name is used, this flag will allow those filters to be checked against the romof and cloneof tags as well. This can allow for more advanced set-building, especially in arcade-based sets. - -rn=, --item-name= Filter by item name - Include only items with this item name in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nrn=, --not-item-name= Filter by not item name - Include only items without this item name in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -rt=, --item-type= Filter by item type - Include only items with this item type in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nrt=, --not-item-type= Filter by not item type - Include only items without this item type in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sgt=, --greater= Filter by size >= - Only include items whose size is greater than or equal to this value - in the output DAT. Users can specify either a regular integer number - or a number with a standard postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -slt=, --less= Filter by size =< - Only include items whose size is less than or equal to this value in - the output DAT. Users can specify either a regular integer number or - a number with a standard postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -seq=, --equal= Filter by size == - Only include items of this exact size in the output DAT. Users can - specify either a regular integer number or a number with a standard - postfix. e.g. 8kb => 8000 or 8kib => 8192 - - -crc=, --crc= Filter by CRC hash - Include only items with this CRC hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ncrc=, --not-crc= Filter by not CRC hash - Include only items without this CRC hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -md5=, --md5= Filter by MD5 hash - Include only items with this MD5 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nmd5=, --not-md5= Filter by not MD5 hash - Include only items without this MD5 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -ripemd160=, --ripemd160= Filter by RIPEMD160 hash - Include only items with this RIPEMD160 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. .NET Framework 4.8 only. - - -nripemd160=, --not-ripemd160= Filter by not RIPEMD160 hash - Include only items without this RIPEMD160 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. .NET Framework 4.8 only. - - -sha1=, --sha1= Filter by SHA-1 hash - Include only items with this SHA-1 hash in the output. Additionally, - the user can specify an exact match or full C#-style regex for - pattern matching. Multiple instances of this flag are allowed. - - -nsha1=, --not-sha1= Filter by not SHA-1 hash - Include only items without this SHA-1 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha256=, --sha256= Filter by SHA-256 hash - Include only items with this SHA-256 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha256=, --not-sha256= Filter by not SHA-256 hash - Include only items without this SHA-256 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha384=, --sha384= Filter by SHA-384 hash - Include only items with this SHA-384 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha384=, --not-sha384= Filter by not SHA-384 hash - Include only items without this SHA-384 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -sha512=, --sha512= Filter by SHA-512 hash - Include only items with this SHA-512 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -nsha512=, --not-sha512= Filter by not SHA-512 hash - Include only items without this SHA-512 hash in the output. - Additionally, the user can specify an exact match or full C#-style - regex for pattern matching. Multiple instances of this flag are - allowed. - - -is=, --status= Include only items with a given status - Include only items with this item status in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Good, BadDump, Nodump, Verified - - -nis=, --not-status= Exclude only items with a given status - Include only items without this item status in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Good, BadDump, Nodump, Verified - - -gt=, --game-type= Include only games with a given type - Include only items with this game type in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Bios, Device, Mechanical - - -ngt=, --not-game-type= Exclude only games with a given type - Include only items without this game type in the output. Multiple - instances of this flag are allowed. - Possible values are: None, Bios, Device, Mechanical - - -run, --runnable Include only items that are marked runnable - This allows users to include only verified runnable games. - - -nrun, --not-runnable Include only items that are not marked runnable - This allows users to include only unrunnable games. - ** Section 3.0 - Examples Here are a few usage examples based on features that are commonly used by most @@ -1943,6 +1358,10 @@ more details. This section contains remappings from old flag names to new ones. +PLEASE NOTE: This section may be out of date as many flags have been reshuffled. +Please take some time to read the rest of the documentation especially if there +has been a new stable release. + -ab, --add-blank -> -ab, --add-blank-files -ae, --add-ext -> -ae, --add-extension -ag, --against -> -dag, --diff-against @@ -2015,18 +1434,18 @@ This section contains remappings from old flag names to new ones. -rc, --rev-cascade -> -drc, --diff-reverse-cascade -rc, --reverse-cascade -> -drc, --diff-reverse-cascade -rep, --rep-ext -> -rep, --replace-extension --rmd5, --rem-md5 -> -ef=md5, --exclude-field=md5 --rmd5, --remove-md5 -> -ef=md5, --exclude-field=md5 +-rmd5, --rem-md5 -> -ef=md5, --exclude-field=item.md5 +-rmd5, --remove-md5 -> -ef=md5, --exclude-field=item.md5 -rme, --rem-ext -> -rme, --remove-extensions -rn, --rom-name -> -rn, --item-name --rsha1, --rem-sha1 -> -ef=sha1, --exclude-field=sha1 --rsha1, --remove-sha1 -> -ef=sha1, --exclude-field=sha1 --rsha256, --rem-sha256 -> -ef=sha256, --exclude-field=sha256 --rsha256, --remove-sha256 ->-ef=sha256, --exclude-field=sha256 --rsha384, --rem-sha384 -> -ef=sha384, --exclude-field=sha384 --rsha384, --remove-sha384 -> -ef=sha384, --exclude-field=sha384 --rsha512, --rem-sha512 -> -ef=sha512, --exclude-field=sha512 --rsha512, --remove-sha512 -> -ef=sha512, --exclude-field=sha512 +-rsha1, --rem-sha1 -> -ef=sha1, --exclude-field=item.sha1 +-rsha1, --remove-sha1 -> -ef=sha1, --exclude-field=item.sha1 +-rsha256, --rem-sha256 -> -ef=sha256, --exclude-field=item.sha256 +-rsha256, --remove-sha256 ->-ef=sha256, --exclude-field=item.sha256 +-rsha384, --rem-sha384 -> -ef=sha384, --exclude-field=item.sha384 +-rsha384, --remove-sha384 -> -ef=sha384, --exclude-field=item.sha384 +-rsha512, --rem-sha512 -> -ef=sha512, --exclude-field=item.sha512 +-rsha512, --remove-sha512 -> -ef=sha512, --exclude-field=item.sha512 -rt, --rom-type -> -rt, --item-type -ru, --rem-uni -> -ru, --remove-unicode -sf, --skip -> -sf, --skip-first-output @@ -2038,9 +1457,22 @@ This section contains remappings from old flag names to new ones. -text, --text -> -srt=text, --report-type=text -tgz, --tgz -> -tgz, --torrent-gzip -tzip, --tzip -> -tzip, --torrent-zip --udd, --update-desc -> -udd, --update-description --um, --update-manu -> -um, --update-manufacturer --xof, --exclude-of -> (-ef=romof -ef=cloneof -ef=sampleof - -ef=runnable -ef=machinetype), (--exclude-field=romof - --exclude-field=cloneof --exclude-field=sampleof - --exclude-field=runnable --exclude-field=machinetype) \ No newline at end of file +-udd, --update-desc -> -uf=machine.description, --update-field=machine.description +-udd, --update-description -> -uf=machine.description, --update-field=machine.description +-ugt, --update-game-type -> -uf=machine.type, --update-field=machine.type +-uh, --update-hashes -> (-uf=item.crc -uf=item.md5 -uf=item.ripemd160 + -uf=item.sha1 -uf=item.sha256 -uf=item.sha384 -uf=item.sha512 -uf=item.spamsum), + (--update-field=item.crc --update-field=item.md5 --update-field=item.ripemd160 + --update-field=item.sha1 --update-field=item.sha256 --update-field=item.sha384 + --update-field=item.sha512 --update-field=item.spamsum) +-um, --update-manu -> -uf=machine.manufacturer, --update-field=machine.manufacturer +-um, --update-manufacturer -> -uf=machine.manufacturer, --update-field=machine.manufacturer +-un, --update-names -> -uf=item.name, --update-field=item.name +-up, --update-parents -> (-uf=machine.cloneof -uf=machine.romof -uf=machine.sampleof), + (--update-field=machine.cloneof --update-field=machine.romof + --update-field=machine.sampleof) +- uy, --update-year -> -uf=machine.year, --update-field=machine.year +-xof, --exclude-of -> (-ef=machine.romof -ef=machine.cloneof -ef=machine.sampleof + -ef=machine.runnable -ef=machine.machinetype), (--exclude-field=machine.romof + --exclude-field=machine.cloneof --exclude-field=machine.sampleof + --exclude-field=machine.runnable --exclude-field=machine.type) \ No newline at end of file diff --git a/SabreTools/Features/BaseFeature.cs b/SabreTools/Features/BaseFeature.cs index 3e76f0b3..b5864064 100644 --- a/SabreTools/Features/BaseFeature.cs +++ b/SabreTools/Features/BaseFeature.cs @@ -102,7 +102,7 @@ namespace SabreTools.Features return new Library.Help.Feature( AddDateValue, new List() { "-ad", "--add-date" }, - "Add dates to items, where posible", + "Add dates to items, where possible", Library.Help.FeatureType.Flag, longDescription: "If this flag is set, then the Date will be appended to each file information in the output DAT. The output format is standardized as \"yyyy/MM/dd HH:mm:ss\"."); } @@ -959,7 +959,7 @@ namespace SabreTools.Features new List() { "-nr160", "--skip-ripemd160" }, "Include RIPEMD160 in output", // TODO: This needs to be inverted later Library.Help.FeatureType.Flag, - longDescription: "This allows the user to skip calculating the RIPEMD160 for each of the files which will speed up the creation of the DAT."); + longDescription: "This allows the user to include calculating the RIPEMD160 for each of the files."); } } #endif @@ -988,7 +988,7 @@ namespace SabreTools.Features new List() { "-ns256", "--skip-sha256" }, "Include SHA-256 in output", // TODO: This needs to be inverted later Library.Help.FeatureType.Flag, - longDescription: "This allows the user to skip calculating the SHA-256 for each of the files which will speed up the creation of the DAT."); + longDescription: "This allows the user to include calculating the SHA-256 for each of the files."); } } @@ -1002,7 +1002,7 @@ namespace SabreTools.Features new List() { "-ns384", "--skip-sha384" }, "Include SHA-384 in output", // TODO: This needs to be inverted later Library.Help.FeatureType.Flag, - longDescription: "This allows the user to skip calculating the SHA-384 for each of the files which will speed up the creation of the DAT."); + longDescription: "This allows the user to include calculating the SHA-384 for each of the files."); } } @@ -1016,7 +1016,7 @@ namespace SabreTools.Features new List() { "-ns512", "--skip-sha512" }, "Include SHA-512 in output", // TODO: This needs to be inverted later Library.Help.FeatureType.Flag, - longDescription: "This allows the user to skip calculating the SHA-512 for each of the files which will speed up the creation of the DAT."); + longDescription: "This allows the user to include calculating the SHA-512 for each of the files."); } } @@ -1030,7 +1030,7 @@ namespace SabreTools.Features new List() { "-nss", "--skip-spamsum" }, "Include SpamSum in output", // TODO: This needs to be inverted later Library.Help.FeatureType.Flag, - longDescription: "This allows the user to skip calculating the SpamSum for each of the files which will speed up the creation of the DAT."); + longDescription: "This allows the user to include calculating the SpamSum for each of the files."); } } @@ -1434,7 +1434,7 @@ namespace SabreTools.Features new List() { "-fi", "--filter" }, "Filter a game/rom field with the given value(s)", Library.Help.FeatureType.List, - longDescription: "Filter any valid item or machine field from inputs. Filters are input in the form 'key:value' or '!key:value', where the '!' signifies 'not' matching. Numeric values may also prefix the 'value' with '>', '<', or '=' accordingly. Key examples include: romof, category, and game. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed."); + longDescription: "Filter any valid item or machine field from inputs. Filters are input in the form 'key:value' or '!key:value', where the '!' signifies 'not matching'. Numeric values may also prefix the 'value' with '>', '<', or '=' accordingly. Key examples include: romof, category, and game. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed."); } }