early-access version 2573
This commit is contained in:
@@ -66,7 +66,8 @@ static void PrintHelp(const char* argv0) {
|
||||
"-f, --fullscreen Start in fullscreen mode\n"
|
||||
"-h, --help Display this help and exit\n"
|
||||
"-v, --version Output version information and exit\n"
|
||||
"-p, --program Pass following string as arguments to executable\n";
|
||||
"-p, --program Pass following string as arguments to executable\n"
|
||||
"-c, --config Load the specified configuration file\n";
|
||||
}
|
||||
|
||||
static void PrintVersion() {
|
||||
@@ -78,7 +79,6 @@ int main(int argc, char** argv) {
|
||||
Common::Log::Initialize();
|
||||
Common::Log::SetColorConsoleBackendEnabled(true);
|
||||
Common::DetachedTasks detached_tasks;
|
||||
Config config;
|
||||
|
||||
int option_index = 0;
|
||||
#ifdef _WIN32
|
||||
@@ -91,19 +91,24 @@ int main(int argc, char** argv) {
|
||||
}
|
||||
#endif
|
||||
std::string filepath;
|
||||
std::optional<std::string> config_path;
|
||||
std::string program_args;
|
||||
|
||||
bool fullscreen = false;
|
||||
|
||||
static struct option long_options[] = {
|
||||
// clang-format off
|
||||
{"fullscreen", no_argument, 0, 'f'},
|
||||
{"help", no_argument, 0, 'h'},
|
||||
{"version", no_argument, 0, 'v'},
|
||||
{"program", optional_argument, 0, 'p'},
|
||||
{"config", required_argument, 0, 'c'},
|
||||
{0, 0, 0, 0},
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
while (optind < argc) {
|
||||
int arg = getopt_long(argc, argv, "g:fhvp::", long_options, &option_index);
|
||||
int arg = getopt_long(argc, argv, "g:fhvp::c:", long_options, &option_index);
|
||||
if (arg != -1) {
|
||||
switch (static_cast<char>(arg)) {
|
||||
case 'f':
|
||||
@@ -117,9 +122,12 @@ int main(int argc, char** argv) {
|
||||
PrintVersion();
|
||||
return 0;
|
||||
case 'p':
|
||||
Settings::values.program_args = argv[optind];
|
||||
program_args = argv[optind];
|
||||
++optind;
|
||||
break;
|
||||
case 'c':
|
||||
config_path = optarg;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
#ifdef _WIN32
|
||||
@@ -131,6 +139,12 @@ int main(int argc, char** argv) {
|
||||
}
|
||||
}
|
||||
|
||||
Config config{config_path};
|
||||
|
||||
if (!program_args.empty()) {
|
||||
Settings::values.program_args = program_args;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
LocalFree(argv_w);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user