aboutsummaryrefslogtreecommitdiffstats
path: root/src/launch.h
blob: 598a15297d8ff1fb83d5dfd352b472ab80032395 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef L2SU_LAUNCH_H_INCLUDED
#define L2SU_LAUNCH_H_INCLUDED

#include "l2su.h"
#include "instance.h"
#include "version.h"

#include <jansson.h>

struct l2_launch {
  json_t *version;
  json_t *asset_index;
  struct l2_instance *instance;

  struct {
    unsigned width;
    unsigned height;
  } resolution;
  
  char *virtual_assets; /* aka game_assets */
  char *assets_root;

  struct l2_version_library *libraries;
  char *natives;
  char *jarpath;

  char *jrepath;
  char *main_class;
  char *classpath;

  l2_subst_t *arg_subst;

  char **game_args;
  size_t ngame_args;
  char **jvm_args;
  size_t njvm_args;
};

int l2_launch_init(struct l2_launch *launch, const char *vername, struct l2_instance *inst);
int l2_launch_init_runtime(struct l2_launch *launch); /* returns 1 if good, 0 if no java version specified */
int l2_launch_init_runtime_manual(struct l2_launch *launch, const char *home);

int l2_launch_init_substitutor(struct l2_launch *launch);
int l2_launch_init_args(struct l2_launch *launch);
int l2_launch_jni(struct l2_launch *launch);

void l2_launch_free_contents(struct l2_launch *launch);

#endif /* include guard */