From 04b429d064fb2954e768abc8066013ad0faf2729 Mon Sep 17 00:00:00 2001 From: bigfoot547 Date: Fri, 5 Jan 2024 14:39:43 -0600 Subject: launch info all in one place TODO: build class path --- src/args.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/args.c') diff --git a/src/args.c b/src/args.c index 7b307a8..69f1272 100644 --- a/src/args.c +++ b/src/args.c @@ -8,10 +8,10 @@ #include #include -int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs); -int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs); +int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs); +int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs); -int l2_args_get_game_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs) +int l2_args_get_game_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs) { const char *mc_args = NULL; json_t *jargs = NULL; @@ -24,9 +24,9 @@ int l2_args_get_game_args(json_t *version, l2_subst_t *subst, l2_version_feature if (!json_is_array(jargs)) return -1; - return l2_args__get_args_json(subst, jargs, feature_matcher, out_args, out_nargs); + return l2_args__get_args_json(subst, jargs, feature_matcher, muser, out_args, out_nargs); } else if (mc_args) { - return l2_args__get_game_args(subst, mc_args, feature_matcher, out_args, out_nargs); + return l2_args__get_game_args(subst, mc_args, feature_matcher, muser, out_args, out_nargs); } else { return -1; } @@ -66,7 +66,7 @@ cleanup: return -1; } -int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs) +int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs) { char **args = NULL; size_t nargs = 0; @@ -85,11 +85,11 @@ int l2_args__get_game_args(l2_subst_t *subst, const char *argsline, l2_version_f if (*arg_start && l2_args__array_append(subst, &args, &nargs, arg_start, NULL) < 0) goto cleanup; - if ((*feature_matcher)("is_demo_user", json_true())) { + if ((*feature_matcher)("is_demo_user", json_true(), muser)) { if (l2_args__array_append(subst, &args, &nargs, "--demo", NULL) < 0) goto cleanup; } - if ((*feature_matcher)("has_custom_resolution", json_true())) { + if ((*feature_matcher)("has_custom_resolution", json_true(), muser)) { if (l2_args__array_append(subst, &args, &nargs, "--width", "${resolution_width}", "--height", "${resolution_height}", NULL) < 0) goto cleanup; } @@ -107,7 +107,7 @@ cleanup: return -1; } -int l2_args_get_jvm_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs) +int l2_args_get_jvm_args(json_t *version, l2_subst_t *subst, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs) { json_t *jarguments = json_object_get(version, "arguments"); if (!jarguments) { @@ -145,10 +145,10 @@ int l2_args_get_jvm_args(json_t *version, l2_subst_t *subst, l2_version_feature_ return -1; } - return l2_args__get_args_json(subst, jjvmargs, feature_matcher, out_args, out_nargs); + return l2_args__get_args_json(subst, jjvmargs, feature_matcher, muser, out_args, out_nargs); } -int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, char ***out_args, size_t *out_nargs) +int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_match_proc_t *feature_matcher, void *muser, char ***out_args, size_t *out_nargs) { char **args = NULL; size_t nargs = 0; @@ -168,7 +168,7 @@ int l2_args__get_args_json(l2_subst_t *subst, json_t *jargs, l2_version_feature_ if (!json_is_array(rules)) goto cleanup; - switch (l2_version_check_rules(rules, feature_matcher)) { + switch (l2_version_check_rules(rules, feature_matcher, muser)) { case RULE_CHECK_ALLOW: { json_t *argval; size_t argidx; -- cgit v1.2.3-70-g09d2