-#ifndef TURRETS_CONFIG_H
-#define TURRETS_CONFIG_H
+#pragma once
#ifdef SVQC
+// ==========================
+// Balance Config Generator
+// ==========================
-void Dump_Turret_Settings(void);
+void Dump_Turret_Settings();
float tur_config_file;
float tur_config_alsoprint;
-#define MAX_TUR_CONFIG 256
float TUR_CONFIG_COUNT;
-string tur_config_queue[MAX_TUR_CONFIG];
+void T_Config_Queue(string setting);
-#define TUR_CONFIG_QUEUE(a) { \
- tur_config_queue[TUR_CONFIG_COUNT] = a; \
- ++TUR_CONFIG_COUNT; }
+#define TUR_CONFIG_WRITE_CVARS(turname, name, T) TUR_CONFIG_WRITE_PROPS_##T(turname, name)
-#define TUR_CONFIG_WRITETOFILE(a) { \
- fputs(tur_config_file, a); \
- if(tur_config_alsoprint) { LOG_INFO(a); } }
+#define TUR_CONFIG_WRITE_PROPS_string(turname, name) {\
+ T_Config_Queue( \
+ sprintf("set g_turrets_unit_%s_%s \"%s\"\n", #turname, #name, \
+ cvar_string(sprintf("g_turrets_unit_%s_%s", #turname, #name)))); \
+}
-#define TUR_CONFIG_WRITE_CVARS(turret,name) \
- { TUR_CONFIG_QUEUE( \
- sprintf("set g_turrets_unit_%s_%s %g\n", #turret, #name, \
- cvar(sprintf("g_turrets_unit_%s_%s", #turret, #name)))) } \
-
-#define TUR_CONFIG_SETTINGS(tursettings) \
- #define TUR_ADD_CVAR(turret,name) TUR_CONFIG_WRITE_CVARS(turret,name) \
- tursettings \
- #undef TUR_ADD_CVAR
-
-#endif
+#define TUR_CONFIG_WRITE_PROPS_float(turname, name) {\
+ T_Config_Queue( \
+ sprintf("set g_turrets_unit_%s_%s %g\n", #turname, #name, \
+ cvar(sprintf("g_turrets_unit_%s_%s", #turname, #name)))); \
+}
#endif