mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add functionality to run OfflineMerge program
This commit is contained in:
@@ -43,7 +43,88 @@ namespace SabreTools
|
|||||||
|
|
||||||
public static void Main(string[] args)
|
public static void Main(string[] args)
|
||||||
{
|
{
|
||||||
// Read in inputs and start the processing
|
// Perform initial setup and verification
|
||||||
|
Logger logger = new Logger(false, "database.log");
|
||||||
|
logger.Start();
|
||||||
|
Console.Clear();
|
||||||
|
|
||||||
|
// Credits take precidence over all
|
||||||
|
if ((new List<string>(args)).Contains("--credits"))
|
||||||
|
{
|
||||||
|
Build.Credits();
|
||||||
|
logger.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there's no arguments, show the help
|
||||||
|
if (args.Length == 0)
|
||||||
|
{
|
||||||
|
Build.Help();
|
||||||
|
logger.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set all default values
|
||||||
|
bool help = false, fake = false;
|
||||||
|
string currentAllMerged = "", currentMissingMerged = "", currentNewMerged = "";
|
||||||
|
|
||||||
|
// Determine which switches are enabled (with values if necessary)
|
||||||
|
foreach (string arg in args)
|
||||||
|
{
|
||||||
|
switch (arg)
|
||||||
|
{
|
||||||
|
case "-?":
|
||||||
|
case "-h":
|
||||||
|
case "--help":
|
||||||
|
help = true;
|
||||||
|
break;
|
||||||
|
case "-f":
|
||||||
|
case "--fake":
|
||||||
|
fake = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (File.Exists(arg.Replace("\"", "")))
|
||||||
|
{
|
||||||
|
if (currentAllMerged == "")
|
||||||
|
{
|
||||||
|
currentAllMerged = arg;
|
||||||
|
}
|
||||||
|
else if (currentMissingMerged == "")
|
||||||
|
{
|
||||||
|
currentMissingMerged = arg;
|
||||||
|
}
|
||||||
|
else if (currentNewMerged == "")
|
||||||
|
{
|
||||||
|
currentNewMerged = arg;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logger.Warning("Only 3 input files are required; ignoring " + arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logger.Warning("Invalid input detected: " + arg);
|
||||||
|
Console.WriteLine();
|
||||||
|
Build.Help();
|
||||||
|
logger.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If help is set or any of the inputs are empty, show help
|
||||||
|
if (help || currentAllMerged == "" || currentMissingMerged == "" || currentNewMerged == "")
|
||||||
|
{
|
||||||
|
Build.Help();
|
||||||
|
logger.Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, run the program
|
||||||
|
OfflineMerge om = new OfflineMerge(currentAllMerged, currentMissingMerged, currentNewMerged, fake, logger);
|
||||||
|
om.Process();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -171,6 +171,15 @@ Options:
|
|||||||
-l, --log Enable log to file
|
-l, --log Enable log to file
|
||||||
-sd, --superdat Enable SuperDAT creation");
|
-sd, --superdat Enable SuperDAT creation");
|
||||||
break;
|
break;
|
||||||
|
case "OfflineMerge":
|
||||||
|
Console.WriteLine(@"OfflineMerge - Update DATS for offline arrays
|
||||||
|
-----------------------------------------
|
||||||
|
Usage: OfflineMerge [options] [Complete] [Missing] [NewComplete]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, -?, --help Show this help dialog
|
||||||
|
-f, --fake Replace all hashes and sizes by the default");
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Console.Write("This is the default help output");
|
Console.Write("This is the default help output");
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user