diff options
Diffstat (limited to 'src/cmd-version.c')
| -rw-r--r-- | src/cmd-version.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cmd-version.c b/src/cmd-version.c index bb02d90..4ee4309 100644 --- a/src/cmd-version.c +++ b/src/cmd-version.c @@ -4,6 +4,7 @@ #include "version.h" #include "l2su.h" #include "macros.h" +#include "args.h" #include <jansson.h> #include <stdio.h> @@ -87,6 +88,37 @@ unsigned cmd_version_install(struct l2_context_node *ctx, char **args) CMD_FATAL0("Failed to download assets."); } + char *nativesdir = NULL; + CMD_INFO0("Extracting natives..."); + if ((res = l2_version_extract_natives(libs, &nativesdir)) != VERSION_SUCCESS) { + CMD_FATAL("Failed to extract natives: %s", l2_version_strerror(res)); + } + + char **game_args; + size_t ngame_args; + l2_subst_t *st; + l2_subst_init(&st); + l2_subst_add(st, "version_name", "1.8.9"); + if (l2_args_get_game_args(js, st, &feat_match_cb, &game_args, &ngame_args) < 0) { + CMD_FATAL0("Failed to find game arguments"); + } + for (size_t n = 0; n < ngame_args; ++n) { + CMD_DEBUG("arg: %s", game_args[n]); + free(game_args[n]); + } + free(game_args); + + if (l2_args_get_jvm_args(js, st, &feat_match_cb, &game_args, &ngame_args) < 0) { + CMD_FATAL0("Failed to find JVM arguments"); + } + for (size_t n = 0; n < ngame_args; ++n) { + CMD_DEBUG("jvm arg: %s", game_args[n]); + free(game_args[n]); + } + free(game_args); + + l2_subst_free(st); + CMD_INFO("Assets base: %s", assetsbase); free(assetsbase); |
