float wep_config_file;
float wep_config_alsoprint;
-#define WEP_CONFIG_WRITE(a) { \
+#define MAX_WEP_CONFIG 256
+float WEP_CONFIG_COUNT;
+string wep_config_queue[MAX_WEP_CONFIG];
+
+#define WEP_CONFIG_QUEUE(a) { \
+ wep_config_queue[WEP_CONFIG_COUNT] = a; \
+ ++WEP_CONFIG_COUNT; }
+
+#define WEP_CONFIG_WRITETOFILE(a) { \
fputs(wep_config_file, a); \
if(wep_config_alsoprint) { print(a); } }
#define WEP_CONFIG_WRITE_CVARS(weapon,mode,name) \
#if mode == MO_PRI \
- { WEP_CONFIG_WRITE(sprintf( \
+ { WEP_CONFIG_QUEUE(sprintf( \
"set g_balance_%s_primary_%s %g\n", \
#weapon, \
#name, \
autocvar_g_balance_##weapon##_primary_##name)) } \
#endif \
#if mode == MO_SEC \
- { WEP_CONFIG_WRITE(sprintf("set g_balance_%s_secondary_%s %g\n", \
+ { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_secondary_%s %g\n", \
#weapon, \
#name, \
autocvar_g_balance_##weapon##_secondary_##name)) } \
#endif \
#if mode == MO_BOTH \
- { WEP_CONFIG_WRITE(sprintf("set g_balance_%s_primary_%s %g\n", \
+ { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_primary_%s %g\n", \
#weapon, \
#name, \
autocvar_g_balance_##weapon##_primary_##name)) } \
- { WEP_CONFIG_WRITE(sprintf("set g_balance_%s_secondary_%s %g\n", \
+ { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_secondary_%s %g\n", \
#weapon, \
#name, \
autocvar_g_balance_##weapon##_secondary_##name)) } \
#endif \
#if mode == MO_NONE \
- { WEP_CONFIG_WRITE(sprintf("set g_balance_%s_%s %g\n", \
+ { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_%s %g\n", \
#weapon, \
#name, \
autocvar_g_balance_##weapon##_##name)) } \
#endif
-
+
+// WEAPONTODO: remove prop
#define WEP_CONFIG_WRITE_PROPS(weapon,prop,name) \
- { WEP_CONFIG_WRITE(sprintf("set g_balance_%s_%s %g\n", \
+ { WEP_CONFIG_QUEUE(sprintf("set g_balance_%s_%s %g\n", \
#weapon, \
#name, \
autocvar_g_balance_##weapon##_##name)) }
+
+#define WEP_CONFIG_SETTINGS(wepsettings) \
+ #define WEP_ADD_CVAR(weapon,mode,name) WEP_CONFIG_WRITE_CVARS(weapon,mode,name) \
+ #define WEP_ADD_PROP(weapon,prop,name) WEP_CONFIG_WRITE_PROPS(weapon,prop,name) \
+ wepsettings \
+ #undef WEP_ADD_CVAR \
+ #undef WEP_ADD_PROP