This commit is contained in:
Dana Yatsuta 2024-09-19 16:27:06 +01:00 committed by GitHub
commit 922dddb86f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 1 deletions

View File

@ -20,6 +20,7 @@ struct mArguments {
char* cheatsFile;
char* savestate;
char* bios;
char* shader;
int logLevel;
int frameskip;

View File

@ -47,6 +47,7 @@ static const struct option _options[] = {
{ "log-level", required_argument, 0, 'l' },
{ "savestate", required_argument, 0, 't' },
{ "patch", required_argument, 0, 'p' },
{ "shader", required_argument, 0, 'a'},
{ "version", no_argument, 0, '\0' },
{ 0, 0, 0, 0 }
};
@ -81,7 +82,7 @@ static void _tableApply(const char* key, void* value, void* user) {
bool mArgumentsParse(struct mArguments* args, int argc, char* const* argv, struct mSubParser* subparsers, int nSubparsers) {
int ch;
char options[128] =
"b:c:C:hl:p:s:t:"
"b:c:C:hl:p:s:t:a:"
#ifdef USE_EDITLINE
"d"
#endif
@ -172,6 +173,9 @@ bool mArgumentsParse(struct mArguments* args, int argc, char* const* argv, struc
case 't':
args->savestate = strdup(optarg);
break;
case 'a':
args->shader = strdup(optarg);
break;
default:
for (i = 0; i < nSubparsers; ++i) {
if (subparsers[i].parse) {
@ -207,6 +211,9 @@ void mArgumentsApply(const struct mArguments* args, struct mSubParser* subparser
mCoreConfigSetOverrideValue(config, "bios", args->bios);
mCoreConfigSetOverrideIntValue(config, "useBios", true);
}
if (args->shader) {
mCoreConfigSetOverrideValue(config, "shader", args->shader);
}
HashTableEnumerate(&args->configOverrides, _tableApply, config);
int i;
for (i = 0; i < nSubparsers; ++i) {
@ -292,6 +299,9 @@ void mArgumentsDeinit(struct mArguments* args) {
free(args->bios);
args->bios = 0;
free(args->shader);
args->shader = 0;
HashTableDeinit(&args->configOverrides);
}