mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[Utilities, SabreTools] Add flag conversion methods
This commit is contained in:
@@ -303,6 +303,65 @@ namespace SabreTools.Library.Tools
|
|||||||
return hash;
|
return hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get ForceMerging value from input string
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="forcemerge">String to get value from</param>
|
||||||
|
/// <returns>ForceMerging value corresponding to the string</returns>
|
||||||
|
public static ForceMerging GetForceMerging(string forcemerge)
|
||||||
|
{
|
||||||
|
switch (forcemerge?.ToLowerInvariant())
|
||||||
|
{
|
||||||
|
case "none":
|
||||||
|
default:
|
||||||
|
return ForceMerging.None;
|
||||||
|
case "split":
|
||||||
|
return ForceMerging.Split;
|
||||||
|
case "full":
|
||||||
|
return ForceMerging.Full;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get ForceNodump value from input string
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="forcend">String to get value from</param>
|
||||||
|
/// <returns>ForceNodump value corresponding to the string</returns>
|
||||||
|
public static ForceNodump GetForceNodump(string forcend)
|
||||||
|
{
|
||||||
|
switch (forcend?.ToLowerInvariant())
|
||||||
|
{
|
||||||
|
case "none":
|
||||||
|
default:
|
||||||
|
return ForceNodump.None;
|
||||||
|
case "obsolete":
|
||||||
|
return ForceNodump.Obsolete;
|
||||||
|
case "required":
|
||||||
|
return ForceNodump.Required;
|
||||||
|
case "ignore":
|
||||||
|
return ForceNodump.Ignore;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get ForcePacking value from input string
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="forcepack">String to get value from</param>
|
||||||
|
/// <returns>ForcePacking value corresponding to the string</returns>
|
||||||
|
public static ForcePacking GetForcePacking(string forcepack)
|
||||||
|
{
|
||||||
|
switch (forcepack?.ToLowerInvariant())
|
||||||
|
{
|
||||||
|
case "none":
|
||||||
|
default:
|
||||||
|
return ForcePacking.None;
|
||||||
|
case "zip":
|
||||||
|
return ForcePacking.Zip;
|
||||||
|
case "unzip":
|
||||||
|
return ForcePacking.Unzip;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Replace accented characters
|
/// Replace accented characters
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -87,20 +87,7 @@ namespace SabreTools
|
|||||||
string headerToCheckAgainst,
|
string headerToCheckAgainst,
|
||||||
bool chdsAsFiles)
|
bool chdsAsFiles)
|
||||||
{
|
{
|
||||||
ForcePacking fp = ForcePacking.None;
|
ForcePacking fp = Utilities.GetForcePacking(forcepack);
|
||||||
switch (forcepack?.ToLowerInvariant())
|
|
||||||
{
|
|
||||||
case "none":
|
|
||||||
default:
|
|
||||||
fp = ForcePacking.None;
|
|
||||||
break;
|
|
||||||
case "zip":
|
|
||||||
fp = ForcePacking.Zip;
|
|
||||||
break;
|
|
||||||
case "unzip":
|
|
||||||
fp = ForcePacking.Unzip;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a new DATFromDir object and process the inputs
|
// Create a new DATFromDir object and process the inputs
|
||||||
DatFile basedat = new DatFile
|
DatFile basedat = new DatFile
|
||||||
@@ -394,68 +381,9 @@ namespace SabreTools
|
|||||||
Hash stripHash)
|
Hash stripHash)
|
||||||
{
|
{
|
||||||
// Set the special flags
|
// Set the special flags
|
||||||
ForceMerging fm = ForceMerging.None;
|
ForceMerging fm = Utilities.GetForceMerging(forcemerge);
|
||||||
if (!String.IsNullOrWhiteSpace(forcemerge))
|
ForceNodump fn = Utilities.GetForceNodump(forcend);
|
||||||
{
|
ForcePacking fp = Utilities.GetForcePacking(forcepack);
|
||||||
switch (forcemerge.ToLowerInvariant())
|
|
||||||
{
|
|
||||||
case "none":
|
|
||||||
fm = ForceMerging.None;
|
|
||||||
break;
|
|
||||||
case "split":
|
|
||||||
fm = ForceMerging.Split;
|
|
||||||
break;
|
|
||||||
case "full":
|
|
||||||
fm = ForceMerging.Full;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Globals.Logger.Warning("{0} is not a valid merge flag", forcemerge);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ForceNodump fn = ForceNodump.None;
|
|
||||||
if (!String.IsNullOrWhiteSpace(forcend))
|
|
||||||
{
|
|
||||||
switch (forcend.ToLowerInvariant())
|
|
||||||
{
|
|
||||||
case "none":
|
|
||||||
fn = ForceNodump.None;
|
|
||||||
break;
|
|
||||||
case "obsolete":
|
|
||||||
fn = ForceNodump.Obsolete;
|
|
||||||
break;
|
|
||||||
case "required":
|
|
||||||
fn = ForceNodump.Required;
|
|
||||||
break;
|
|
||||||
case "ignore":
|
|
||||||
fn = ForceNodump.Ignore;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Globals.Logger.Warning("{0} is not a valid nodump flag", forcend);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ForcePacking fp = ForcePacking.None;
|
|
||||||
if (!String.IsNullOrWhiteSpace(forcepack))
|
|
||||||
{
|
|
||||||
switch (forcepack.ToLowerInvariant())
|
|
||||||
{
|
|
||||||
case "none":
|
|
||||||
fp = ForcePacking.None;
|
|
||||||
break;
|
|
||||||
case "zip":
|
|
||||||
fp = ForcePacking.Zip;
|
|
||||||
break;
|
|
||||||
case "unzip":
|
|
||||||
fp = ForcePacking.Unzip;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Globals.Logger.Warning("{0} is not a valid packing flag", forcepack);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Normalize the extensions
|
// Normalize the extensions
|
||||||
addext = (addext == "" || addext.StartsWith(".") ? addext : "." + addext);
|
addext = (addext == "" || addext.StartsWith(".") ? addext : "." + addext);
|
||||||
|
|||||||
Reference in New Issue
Block a user