add command-line options support

new command-line option "--bank <filename>" can be specified to be used instead of the game config option
This commit is contained in:
Slavasil 2025-03-23 22:01:59 +03:00
parent 44700b1ece
commit e35b8520b4
2 changed files with 17 additions and 2 deletions

View File

@ -1,7 +1,22 @@
namespace Game {
public struct CommandLineOptions {
public string? databaseFilename = null;
public CommandLineOptions() {
}
public static CommandLineOptions Parse(string[] args) {
return new CommandLineOptions();
string? databaseFilename = null;
for (int i = 0; i < args.Length; ++i) {
string arg = args[i];
if (arg.StartsWith("--bank")) {
if (arg.Length > 6 && arg[6] == '=') {
databaseFilename = arg.Substring(7);
} else if (args.Length > i + 1) {
databaseFilename = args[i + 1];
}
}
}
return new CommandLineOptions() { databaseFilename = databaseFilename };
}
}
}

View File

@ -29,7 +29,7 @@ namespace Game {
return 2;
}
string databaseFileName = gameConfig.databasePath;
string databaseFileName = opts.databaseFilename ?? gameConfig.databasePath;
display.ResetWindow();