]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/weapons/config.qh
More work on config
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / config.qh
1 // ==========================
2 //  Balance Config Generator
3 // ==========================
4
5 void Dump_Weapon_Settings(void);
6 float wep_config_file;
7 float wep_config_alsoprint;
8
9 #define MAX_WEP_CONFIG 256
10 float WEP_CONFIG_COUNT;
11 string wep_config_queue[MAX_WEP_CONFIG];
12
13 #define WEP_CONFIG_QUEUE(a) { \
14         wep_config_queue[WEP_CONFIG_COUNT] = a; \
15         ++WEP_CONFIG_COUNT; }
16
17 #define WEP_CONFIG_WRITE(a) { \
18         fputs(wep_config_file, a); \
19         if(wep_config_alsoprint) { print(a); } }
20
21 #define WEP_CONFIG_WRITE_CVARS(weapon,mode,name) \
22         #if mode == MO_PRI \
23                 { WEP_CONFIG_QUEUE(sprintf( \
24                         "set g_balance_%s_primary_%s %g\n", \
25                         #weapon, \
26                         #name, \
27                         autocvar_g_balance_##weapon##_primary_##name)) } \
28         #endif \
29         #if mode == MO_SEC \
30                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_secondary_%s %g\n", \
31                         #weapon, \
32                         #name, \
33                         autocvar_g_balance_##weapon##_secondary_##name)) } \
34         #endif \
35         #if mode == MO_BOTH \
36                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_primary_%s %g\n", \
37                         #weapon, \
38                         #name, \
39                         autocvar_g_balance_##weapon##_primary_##name)) } \
40                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_secondary_%s %g\n", \
41                         #weapon, \
42                         #name, \
43                         autocvar_g_balance_##weapon##_secondary_##name)) } \
44         #endif \
45         #if mode == MO_NONE \
46                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_%s %g\n", \
47                         #weapon, \
48                         #name, \
49                         autocvar_g_balance_##weapon##_##name)) } \
50         #endif
51
52 // WEAPONTODO: remove prop
53 #define WEP_CONFIG_WRITE_PROPS(weapon,prop,name) \
54         { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_%s %g\n", \
55                         #weapon, \
56                         #name, \
57                         autocvar_g_balance_##weapon##_##name)) }