diff --git a/SabreTools.Library/README.1ST b/SabreTools.Library/README.1ST
index a483fb23..118d2bd6 100644
--- a/SabreTools.Library/README.1ST
+++ b/SabreTools.Library/README.1ST
@@ -201,10 +201,6 @@ Options:
Normally, the DAT will be created with the date in the file name in
brackets. This flag removes that instead of the default.
- -fp=, --forcepacking= Set force packing
- Set the forcepacking tag to the given value.
- Possible values are: None, Zip, Unzip
-
-aaf, --archives-as-files Treat archives as files
Instead of trying to enumerate the files within archives, treat the
archives as files themselves. This is good for uncompressed sets that
@@ -270,6 +266,9 @@ Options:
-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)
@@ -293,6 +292,18 @@ Options:
preserving the directory structure of the inputted folder, if
applicable.
+ -fm=, --forcemerging= Set force merging
+ Set the forcemerging tag to the given value.
+ Possible values are: None, Split, Merged, Nonmerged, Full
+
+ -fn=, --forcenodump= Set force nodump
+ Set the forcenodump tag to the given value.
+ Possible values are: None, Obsolete, Required, Ignore
+
+ -fp=, --forcepacking= Set force packing
+ Set the forcepacking tag to the given value.
+ Possible values are: None, Zip, Unzip
+
-ef=, --exclude-field= Exclude a game/rom field from outputs
Exclude any valid item or machine field from outputs. Examples
include: romof, publisher, and offset.
diff --git a/SabreTools/SabreTools.Help.cs b/SabreTools/SabreTools.Help.cs
index c186be91..d9b4fb7b 100644
--- a/SabreTools/SabreTools.Help.cs
+++ b/SabreTools/SabreTools.Help.cs
@@ -2206,6 +2206,8 @@ Some special strings that can be used:
private class SabreToolsFeature : TopLevel
{
+ #region Fields
+
///
/// Pre-configured Filter
///
@@ -2221,6 +2223,10 @@ Some special strings that can be used:
///
protected string OutputDir { get; set; }
+ #endregion
+
+ #region Add Feature Groups
+
///
/// Add Filter-specific features
///
@@ -2265,6 +2271,38 @@ Some special strings that can be used:
AddFeature(NotRunnableFlag);
}
+ ///
+ /// Add Header-specific features
+ ///
+ protected void AddHeaderFeatures()
+ {
+ // Header Values
+ AddFeature(FilenameStringInput);
+ AddFeature(NameStringInput);
+ AddFeature(DescriptionStringInput);
+ AddFeature(RootStringInput);
+ AddFeature(CategoryStringInput);
+ AddFeature(VersionStringInput);
+ AddFeature(DateStringInput);
+ AddFeature(AuthorStringInput);
+ AddFeature(EmailStringInput);
+ AddFeature(HomepageStringInput);
+ AddFeature(UrlStringInput);
+ AddFeature(CommentStringInput);
+ AddFeature(HeaderStringInput);
+ AddFeature(SuperdatFlag);
+ AddFeature(ForceMergingStringInput);
+ AddFeature(ForceNodumpStringInput);
+ AddFeature(ForcePackingStringInput);
+
+ // Header Filters
+ AddFeature(ExcludeFieldListInput);
+ AddFeature(OneGamePerRegionFlag);
+ this[OneGamePerRegionFlag].AddFeature(RegionListInput);
+ AddFeature(OneRomPerGameFlag);
+ AddFeature(SceneDateStripFlag);
+ }
+
///
/// Add internal split/merge features
///
@@ -2277,6 +2315,8 @@ Some special strings that can be used:
AddFeature(DatFullNonMergedFlag);
}
+ #endregion
+
public override void ProcessFeatures(Dictionary features)
{
// Generic feature flags
@@ -2893,6 +2933,7 @@ Some special strings that can be used:
this.LongDescription = "Create a DAT file from an input directory or set of files. By default, this will output a DAT named based on the input directory and the current date. It will also treat all archives as possible games and add all three hashes (CRC, MD5, SHA-1) for each file.";
this.Features = new Dictionary();
+ // Hash Features
AddFeature(SkipMd5Flag);
#if NET_FRAMEWORK
AddFeature(SkipRipeMd160Flag);
@@ -2901,30 +2942,15 @@ Some special strings that can be used:
AddFeature(SkipSha256Flag);
AddFeature(SkipSha384Flag);
AddFeature(SkipSha512Flag);
+
AddFeature(NoAutomaticDateFlag);
- AddFeature(ForcePackingStringInput);
AddFeature(ArchivesAsFilesFlag);
AddFeature(OutputTypeListInput);
this[OutputTypeListInput].AddFeature(DeprecatedFlag);
AddFeature(RombaFlag);
AddFeature(SkipArchivesFlag);
AddFeature(SkipFilesFlag);
- AddFeature(FilenameStringInput);
- AddFeature(NameStringInput);
- AddFeature(DescriptionStringInput);
- AddFeature(CategoryStringInput);
- AddFeature(VersionStringInput);
- AddFeature(AuthorStringInput);
- AddFeature(EmailStringInput);
- AddFeature(HomepageStringInput);
- AddFeature(UrlStringInput);
- AddFeature(CommentStringInput);
- AddFeature(SuperdatFlag);
- AddFeature(ExcludeFieldListInput);
- AddFeature(OneGamePerRegionFlag);
- this[OneGamePerRegionFlag].AddFeature(RegionListInput);
- AddFeature(OneRomPerGameFlag);
- AddFeature(SceneDateStripFlag);
+ AddHeaderFeatures();
AddFeature(AddBlankFilesFlag);
AddFeature(AddDateFlag);
AddFeature(CopyFilesFlag);
@@ -3351,6 +3377,7 @@ The stats that are outputted are as follows:
this.LongDescription = "This is the multitool part of the program, allowing for almost every manipulation to a DAT, or set of DATs. This is also a combination of many different programs that performed DAT manipulation that work better together.";
this.Features = new Dictionary();
+ // Output Formats
AddFeature(OutputTypeListInput);
this[OutputTypeListInput].AddFeature(PrefixStringInput);
this[OutputTypeListInput].AddFeature(PostfixStringInput);
@@ -3362,29 +3389,9 @@ The stats that are outputted are as follows:
this[OutputTypeListInput].AddFeature(RemoveExtensionsFlag);
this[OutputTypeListInput].AddFeature(RombaFlag);
this[OutputTypeListInput].AddFeature(DeprecatedFlag);
- AddFeature(FilenameStringInput);
- AddFeature(NameStringInput);
- AddFeature(DescriptionStringInput);
- AddFeature(RootStringInput);
- AddFeature(CategoryStringInput);
- AddFeature(VersionStringInput);
- AddFeature(DateStringInput);
- AddFeature(AuthorStringInput);
- AddFeature(EmailStringInput);
- AddFeature(HomepageStringInput);
- AddFeature(UrlStringInput);
- AddFeature(CommentStringInput);
- AddFeature(HeaderStringInput);
- AddFeature(SuperdatFlag);
- AddFeature(ForceMergingStringInput);
- AddFeature(ForceNodumpStringInput);
- AddFeature(ForcePackingStringInput);
- AddFeature(ExcludeFieldListInput);
- AddFeature(OneGamePerRegionFlag);
- this[OneGamePerRegionFlag].AddFeature(RegionListInput);
- AddFeature(OneRomPerGameFlag);
+
+ AddHeaderFeatures();
AddFeature(KeepEmptyGamesFlag);
- AddFeature(SceneDateStripFlag);
AddFeature(CleanFlag);
AddFeature(RemoveUnicodeFlag);
AddFeature(DescriptionAsNameFlag);