]> git.lizzy.rs Git - dragonblocks_alpha.git/blob - src/server/server_config.c
242a10081f707b1170f9278e4c61f79e8ed6035b
[dragonblocks_alpha.git] / src / server / server_config.c
1 #include "config.h"
2 #include "server/server_config.h"
3
4 struct ServerConfig server_config = {
5         .load_distance = 10,
6         .terrain_gen_threads = 4,
7         .movement = {
8                 .speed_normal = 4.317,
9                 .speed_flight = 25.0,
10                 .gravity = 32.0,
11                 .jump = 8.944,
12         }
13 };
14
15 static ConfigEntry config_entries[] = {
16         {
17                 .type = CONFIG_UINT,
18                 .key = "load_distance",
19                 .value = &server_config.load_distance,
20         },
21         {
22                 .type = CONFIG_UINT,
23                 .key = "terrain_gen_threads",
24                 .value = &server_config.terrain_gen_threads,
25         },
26         {
27                 .type = CONFIG_FLOAT,
28                 .key = "movement.speed_normal",
29                 .value = &server_config.movement.speed_normal,
30         },
31         {
32                 .type = CONFIG_FLOAT,
33                 .key = "movement.speed_flight",
34                 .value = &server_config.movement.speed_flight,
35         },
36         {
37                 .type = CONFIG_FLOAT,
38                 .key = "movement.gravity",
39                 .value = &server_config.movement.gravity,
40         },
41         {
42                 .type = CONFIG_FLOAT,
43                 .key = "movement.jump",
44                 .value = &server_config.movement.jump,
45         },
46 };
47
48 __attribute__((constructor)) static void server_config_init()
49 {
50         config_read("server.conf", config_entries, sizeof config_entries / sizeof *config_entries);
51 }
52
53 __attribute__((destructor)) static void server_config_deinit()
54 {
55         config_free(config_entries, sizeof config_entries / sizeof *config_entries);
56 }