diff --git a/paradox-mod-merger/Merge.cs b/paradox-mod-merger/Merge.cs
index 2f9d19d..679b9ea 100644
--- a/paradox-mod-merger/Merge.cs
+++ b/paradox-mod-merger/Merge.cs
@@ -58,10 +58,23 @@ static class Merge
public static void ConsoleAskYN(string question, Action? yes, Action? no)
{
- Log("y", question + " [y/n]");
- string answ = ColoredConsole.Read("w").ToLower();
- if (answ == "y") yes?.Invoke();
- else no?.Invoke();
+ while (true)
+ {
+ Log("y", question + " [y/n]");
+ string answ = Program.YesAll ? "y" : ColoredConsole.Read("w").ToLower();
+ if (answ == "y")
+ {
+ Log("c",$"answer: {answ}");
+ yes?.Invoke();
+ break;
+ }
+ if (answ == "n") {
+ Log("c",$"answer: {answ}");
+ no?.Invoke();
+ break;
+ }
+ Log("r", $"incorrect answer: {answ}");
+ }
}
static void HandleConflicts(IOPath[] moddirs)
diff --git a/paradox-mod-merger/Program.cs b/paradox-mod-merger/Program.cs
index aa43e86..ae7d2a9 100644
--- a/paradox-mod-merger/Program.cs
+++ b/paradox-mod-merger/Program.cs
@@ -16,6 +16,8 @@ public static class Program
{
static ConsoleLogger logger = new($"logs", "main");
static void Log(params string[] msg) => logger.Log(msg);
+
+ public static bool YesAll = false;
static int Main(string[] args)
{
@@ -28,10 +30,14 @@ public static class Program
new LaunchArgumentParser(
new LaunchArgument(new []{"o", "out"},
- "sets output path",
+ "Sets output path",
p => outPath=p,
"out_path",
0),
+ new LaunchArgument(new []{"y", "yes-all"},
+ "Automatically answers [Y] to all questions",
+ ()=> YesAll=true,
+ 0),
new LaunchArgument(new []{"clear"},
"Clear mod files and put them into separate dirs in output dir. Requires -o",
wdir=>Workshop.ClearWorkshop(wdir, outPath),
diff --git a/paradox-mod-merger/paradox-mod-merger.csproj b/paradox-mod-merger/paradox-mod-merger.csproj
index cf0adcd..270114f 100644
--- a/paradox-mod-merger/paradox-mod-merger.csproj
+++ b/paradox-mod-merger/paradox-mod-merger.csproj
@@ -6,20 +6,21 @@
ParadoxModMerger
paradox-mod-merger
10
+ enable
-
+
-
+