]> git.lizzy.rs Git - dragonblocks_alpha.git/blob - src/server/server_config.c
refactoring
[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 #define NUM_CONFIG_ENTRIES 6
16 static ConfigEntry config_entries[NUM_CONFIG_ENTRIES] = {
17         {
18                 .type = CONFIG_UINT,
19                 .key = "load_distance",
20                 .value = &server_config.load_distance,
21         },
22         {
23                 .type = CONFIG_UINT,
24                 .key = "terrain_gen_threads",
25                 .value = &server_config.terrain_gen_threads,
26         },
27         {
28                 .type = CONFIG_FLOAT,
29                 .key = "movement.speed_normal",
30                 .value = &server_config.movement.speed_normal,
31         },
32         {
33                 .type = CONFIG_FLOAT,
34                 .key = "movement.speed_flight",
35                 .value = &server_config.movement.speed_flight,
36         },
37         {
38                 .type = CONFIG_FLOAT,
39                 .key = "movement.gravity",
40                 .value = &server_config.movement.gravity,
41         },
42         {
43                 .type = CONFIG_FLOAT,
44                 .key = "movement.jump",
45                 .value = &server_config.movement.jump,
46         },
47 };
48
49 __attribute__((constructor)) static void server_config_init()
50 {
51         config_read("server.conf", config_entries, NUM_CONFIG_ENTRIES);
52 }
53
54 __attribute__((destructor)) static void server_config_deinit()
55 {
56         config_free(config_entries, NUM_CONFIG_ENTRIES);
57 }