mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[RombaSharp] Create skeleton for merge feature
This commit is contained in:
@@ -116,6 +116,23 @@ namespace RombaSharp
|
||||
FeatureType.Flag,
|
||||
null);
|
||||
|
||||
// Create the Merge feature
|
||||
Feature merge = new Feature(
|
||||
"merge",
|
||||
"Merges a depot into the existing one",
|
||||
FeatureType.Flag,
|
||||
null);
|
||||
merge.AddFeature("depot", new Feature(
|
||||
"-depot",
|
||||
"Depot path to merge into",
|
||||
FeatureType.String,
|
||||
null));
|
||||
merge.AddFeature("only-needed", new Feature(
|
||||
"-only-needed",
|
||||
"Only merge files in if needed",
|
||||
FeatureType.Flag,
|
||||
null));
|
||||
|
||||
// Create the Miss feature
|
||||
Feature miss = new Feature(
|
||||
"miss",
|
||||
@@ -170,6 +187,7 @@ namespace RombaSharp
|
||||
help.Add("Fixdat", fixdat);
|
||||
help.Add("Lookup", lookup);
|
||||
help.Add("Memstats", memstats);
|
||||
help.Add("Merge", merge);
|
||||
help.Add("Miss", miss);
|
||||
help.Add("Purge Backup", purgeBackup);
|
||||
help.Add("Purge Delete", purgeDelete);
|
||||
|
||||
@@ -373,6 +373,17 @@ namespace RombaSharp
|
||||
dbc.Dispose();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wrap merging an external depot into an existing one
|
||||
/// </summary>
|
||||
/// <param name="inputs"></param>
|
||||
/// <param name="depotPath"></param>
|
||||
/// <param name="onlyNeeded"></param>
|
||||
private static void InitMerge(List<string> inputs, string depotPath, bool onlyNeeded)
|
||||
{
|
||||
_logger.User("This feature is not yet implemented: merge");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wrap creating a havefile and a missfile for each Dat
|
||||
/// </summary>
|
||||
|
||||
@@ -86,6 +86,7 @@ namespace RombaSharp
|
||||
fixdat = false,
|
||||
lookup = false,
|
||||
memstats = false,
|
||||
merge = false,
|
||||
miss = false,
|
||||
progress = false,
|
||||
purgeBackup = false,
|
||||
@@ -98,7 +99,8 @@ namespace RombaSharp
|
||||
onlyNeeded = false;
|
||||
|
||||
// User inputs
|
||||
string newdat ="",
|
||||
string depotPath = "",
|
||||
newdat = "",
|
||||
outdat = "";
|
||||
List<string> inputs = new List<string>();
|
||||
|
||||
@@ -150,6 +152,9 @@ namespace RombaSharp
|
||||
case "memstats":
|
||||
memstats = true;
|
||||
break;
|
||||
case "merge":
|
||||
merge = true;
|
||||
break;
|
||||
case "miss":
|
||||
miss = true;
|
||||
break;
|
||||
@@ -179,6 +184,11 @@ namespace RombaSharp
|
||||
break;
|
||||
|
||||
// User inputs
|
||||
case "-depot":
|
||||
case "--depot":
|
||||
i++;
|
||||
depotPath = args[i];
|
||||
break;
|
||||
case "-new":
|
||||
case "--new":
|
||||
i++;
|
||||
@@ -203,6 +213,11 @@ namespace RombaSharp
|
||||
|
||||
switch (split[0])
|
||||
{
|
||||
case "-depot":
|
||||
case "--depot":
|
||||
i++;
|
||||
depotPath = split[1];
|
||||
break;
|
||||
case "-new":
|
||||
case "--new":
|
||||
newdat = split[1];
|
||||
@@ -226,7 +241,7 @@ namespace RombaSharp
|
||||
|
||||
// If more than one switch is enabled, show the help screen
|
||||
if (!(archive ^ build ^ dbstats ^ depotRescan ^ diffdat ^ dir2dat ^ export ^ fixdat ^ lookup ^
|
||||
memstats ^ miss ^ progress ^ purgeBackup ^ purgeDelete ^ refreshDats ^ shutdown))
|
||||
memstats ^ merge ^ miss ^ progress ^ purgeBackup ^ purgeDelete ^ refreshDats ^ shutdown))
|
||||
{
|
||||
_logger.Error("Only one feature switch is allowed at a time");
|
||||
_help.OutputGenericHelp();
|
||||
@@ -235,7 +250,7 @@ namespace RombaSharp
|
||||
}
|
||||
|
||||
// If a switch that requires a filename is set and no file is, show the help screen
|
||||
if (inputs.Count == 0 && (archive || build || depotRescan || dir2dat || fixdat || lookup || miss))
|
||||
if (inputs.Count == 0 && (archive || build || depotRescan || dir2dat || fixdat || lookup || merge || miss))
|
||||
{
|
||||
_logger.Error("This feature requires at least one input");
|
||||
_help.OutputGenericHelp();
|
||||
@@ -308,6 +323,12 @@ namespace RombaSharp
|
||||
DisplayMemoryStats();
|
||||
}
|
||||
|
||||
// Merges depots
|
||||
else if (merge)
|
||||
{
|
||||
InitMerge(inputs, depotPath, onlyNeeded);
|
||||
}
|
||||
|
||||
// For each specified DAT file it creates a miss file and a have file
|
||||
else if (miss)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user