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,
|
FeatureType.Flag,
|
||||||
null);
|
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
|
// Create the Miss feature
|
||||||
Feature miss = new Feature(
|
Feature miss = new Feature(
|
||||||
"miss",
|
"miss",
|
||||||
@@ -170,6 +187,7 @@ namespace RombaSharp
|
|||||||
help.Add("Fixdat", fixdat);
|
help.Add("Fixdat", fixdat);
|
||||||
help.Add("Lookup", lookup);
|
help.Add("Lookup", lookup);
|
||||||
help.Add("Memstats", memstats);
|
help.Add("Memstats", memstats);
|
||||||
|
help.Add("Merge", merge);
|
||||||
help.Add("Miss", miss);
|
help.Add("Miss", miss);
|
||||||
help.Add("Purge Backup", purgeBackup);
|
help.Add("Purge Backup", purgeBackup);
|
||||||
help.Add("Purge Delete", purgeDelete);
|
help.Add("Purge Delete", purgeDelete);
|
||||||
|
|||||||
@@ -373,6 +373,17 @@ namespace RombaSharp
|
|||||||
dbc.Dispose();
|
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>
|
/// <summary>
|
||||||
/// Wrap creating a havefile and a missfile for each Dat
|
/// Wrap creating a havefile and a missfile for each Dat
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ namespace RombaSharp
|
|||||||
fixdat = false,
|
fixdat = false,
|
||||||
lookup = false,
|
lookup = false,
|
||||||
memstats = false,
|
memstats = false,
|
||||||
|
merge = false,
|
||||||
miss = false,
|
miss = false,
|
||||||
progress = false,
|
progress = false,
|
||||||
purgeBackup = false,
|
purgeBackup = false,
|
||||||
@@ -98,7 +99,8 @@ namespace RombaSharp
|
|||||||
onlyNeeded = false;
|
onlyNeeded = false;
|
||||||
|
|
||||||
// User inputs
|
// User inputs
|
||||||
string newdat ="",
|
string depotPath = "",
|
||||||
|
newdat = "",
|
||||||
outdat = "";
|
outdat = "";
|
||||||
List<string> inputs = new List<string>();
|
List<string> inputs = new List<string>();
|
||||||
|
|
||||||
@@ -150,6 +152,9 @@ namespace RombaSharp
|
|||||||
case "memstats":
|
case "memstats":
|
||||||
memstats = true;
|
memstats = true;
|
||||||
break;
|
break;
|
||||||
|
case "merge":
|
||||||
|
merge = true;
|
||||||
|
break;
|
||||||
case "miss":
|
case "miss":
|
||||||
miss = true;
|
miss = true;
|
||||||
break;
|
break;
|
||||||
@@ -179,6 +184,11 @@ namespace RombaSharp
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
// User inputs
|
// User inputs
|
||||||
|
case "-depot":
|
||||||
|
case "--depot":
|
||||||
|
i++;
|
||||||
|
depotPath = args[i];
|
||||||
|
break;
|
||||||
case "-new":
|
case "-new":
|
||||||
case "--new":
|
case "--new":
|
||||||
i++;
|
i++;
|
||||||
@@ -203,6 +213,11 @@ namespace RombaSharp
|
|||||||
|
|
||||||
switch (split[0])
|
switch (split[0])
|
||||||
{
|
{
|
||||||
|
case "-depot":
|
||||||
|
case "--depot":
|
||||||
|
i++;
|
||||||
|
depotPath = split[1];
|
||||||
|
break;
|
||||||
case "-new":
|
case "-new":
|
||||||
case "--new":
|
case "--new":
|
||||||
newdat = split[1];
|
newdat = split[1];
|
||||||
@@ -226,7 +241,7 @@ namespace RombaSharp
|
|||||||
|
|
||||||
// If more than one switch is enabled, show the help screen
|
// If more than one switch is enabled, show the help screen
|
||||||
if (!(archive ^ build ^ dbstats ^ depotRescan ^ diffdat ^ dir2dat ^ export ^ fixdat ^ lookup ^
|
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");
|
_logger.Error("Only one feature switch is allowed at a time");
|
||||||
_help.OutputGenericHelp();
|
_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 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");
|
_logger.Error("This feature requires at least one input");
|
||||||
_help.OutputGenericHelp();
|
_help.OutputGenericHelp();
|
||||||
@@ -308,6 +323,12 @@ namespace RombaSharp
|
|||||||
DisplayMemoryStats();
|
DisplayMemoryStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Merges depots
|
||||||
|
else if (merge)
|
||||||
|
{
|
||||||
|
InitMerge(inputs, depotPath, onlyNeeded);
|
||||||
|
}
|
||||||
|
|
||||||
// For each specified DAT file it creates a miss file and a have file
|
// For each specified DAT file it creates a miss file and a have file
|
||||||
else if (miss)
|
else if (miss)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user