]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/weapons/config.qh
Add sorting support to the weapon config dumping function
[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         print(sprintf("foobar: %g: %s\n", WEP_CONFIG_COUNT, a)); \
15         wep_config_queue[WEP_CONFIG_COUNT] = a; \
16         ++WEP_CONFIG_COUNT; }
17
18 #define WEP_CONFIG_WRITE(a) { \
19         fputs(wep_config_file, a); \
20         if(wep_config_alsoprint) { print(a); } }
21
22 #define WEP_CONFIG_WRITE_CVARS(weapon,mode,name) \
23         #if mode == MO_PRI \
24                 { WEP_CONFIG_QUEUE(sprintf( \
25                         "set g_balance_%s_primary_%s %g\n", \
26                         #weapon, \
27                         #name, \
28                         autocvar_g_balance_##weapon##_primary_##name)) } \
29         #endif \
30         #if mode == MO_SEC \
31                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_secondary_%s %g\n", \
32                         #weapon, \
33                         #name, \
34                         autocvar_g_balance_##weapon##_secondary_##name)) } \
35         #endif \
36         #if mode == MO_BOTH \
37                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_primary_%s %g\n", \
38                         #weapon, \
39                         #name, \
40                         autocvar_g_balance_##weapon##_primary_##name)) } \
41                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_secondary_%s %g\n", \
42                         #weapon, \
43                         #name, \
44                         autocvar_g_balance_##weapon##_secondary_##name)) } \
45         #endif \
46         #if mode == MO_NONE \
47                 { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_%s %g\n", \
48                         #weapon, \
49                         #name, \
50                         autocvar_g_balance_##weapon##_##name)) } \
51         #endif
52         
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)) }