aboutsummaryrefslogtreecommitdiffstats
path: root/src/cmd-version.c
diff options
context:
space:
mode:
authorLibravatar bigfoot547 <[email protected]>2024-01-05 04:53:20 -0600
committerLibravatar bigfoot547 <[email protected]>2024-01-05 04:53:20 -0600
commit11672146b9bf67cae05e8e3207c9bd1e47d52220 (patch)
tree4d72fd88efbabeeb37509cdc99c5404528183ca1 /src/cmd-version.c
parentdownloads assets correctly (diff)
extracts natives
Diffstat (limited to 'src/cmd-version.c')
-rw-r--r--src/cmd-version.c32
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);