Add new packing flags

This commit is contained in:
Matt Nadareski
2020-08-28 19:15:23 -07:00
parent 244b85ecf8
commit 6f76051399
3 changed files with 32 additions and 0 deletions

View File

@@ -2371,6 +2371,7 @@ namespace SabreTools.Library.DatFiles
case PackingFlag.Unzip: case PackingFlag.Unzip:
outputFormat = OutputFormat.Folder; outputFormat = OutputFormat.Folder;
break; break;
// TODO: Check what output format would be for Partial and Flat
} }
} }
@@ -2560,6 +2561,7 @@ namespace SabreTools.Library.DatFiles
case PackingFlag.Unzip: case PackingFlag.Unzip:
outputFormat = OutputFormat.Folder; outputFormat = OutputFormat.Folder;
break; break;
// TODO: Check what output format would be for Partial and Flat
} }
} }

View File

@@ -233,8 +233,26 @@ namespace SabreTools.Library.DatFiles
public enum PackingFlag public enum PackingFlag
{ {
None = 0, None = 0,
/// <summary>
/// Force all sets to be in archives, except disk and media
/// </summary>
Zip, Zip,
/// <summary>
/// Force all sets to be extracted into subfolders
/// </summary>
Unzip, Unzip,
/// <summary>
/// Force sets with single items to be extracted to the parent folder
/// </summary>
Partial,
/// <summary>
/// Force all sets to be extracted to the parent folder
/// </summary>
Flat,
} }
/// <summary> /// <summary>

View File

@@ -1709,6 +1709,10 @@ namespace SabreTools.Library.Tools
case "no": case "no":
case "unzip": case "unzip":
return PackingFlag.Unzip; return PackingFlag.Unzip;
case "partial":
return PackingFlag.Partial;
case "flat":
return PackingFlag.Flat;
case "none": case "none":
default: default:
return PackingFlag.None; return PackingFlag.None;
@@ -1720,6 +1724,8 @@ namespace SabreTools.Library.Tools
"zip" => PackingFlag.Zip, "zip" => PackingFlag.Zip,
"no" => PackingFlag.Unzip, "no" => PackingFlag.Unzip,
"unzip" => PackingFlag.Unzip, "unzip" => PackingFlag.Unzip,
"partial" => PackingFlag.Partial,
"flat" => PackingFlag.Flat,
"none" => PackingFlag.None, "none" => PackingFlag.None,
_ => PackingFlag.None, _ => PackingFlag.None,
}; };
@@ -2088,6 +2094,10 @@ namespace SabreTools.Library.Tools
return yesno ? "yes" : "zip"; return yesno ? "yes" : "zip";
case PackingFlag.Unzip: case PackingFlag.Unzip:
return yesno ? "no" : "unzip"; return yesno ? "no" : "unzip";
case PackingFlag.Partial:
return "partial";
case PackingFlag.Flat:
return "flat";
default: default:
return null; return null;
} }
@@ -2096,6 +2106,8 @@ namespace SabreTools.Library.Tools
{ {
PackingFlag.Zip => yesno ? "yes" : "zip", PackingFlag.Zip => yesno ? "yes" : "zip",
PackingFlag.Unzip => yesno ? "yes" : "zip", PackingFlag.Unzip => yesno ? "yes" : "zip",
PackingFlag.Partial => "partial",
PackingFlag.Flat => "flat",
_ => null, _ => null,
}; };
#endif #endif