]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/config.qh
Cleanup cvar handling a bit
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / config.qh
index 139df90a4a40d3d21361ce70c554258d7eb11e6e..6a0489314849cd47bfee81208355e02dd79a5852 100644 (file)
@@ -18,33 +18,27 @@ string wep_config_queue[MAX_WEP_CONFIG];
        fputs(wep_config_file, a); \
        if(wep_config_alsoprint) { print(a); } }
 
-#define WEP_CONFIG_WRITE_CVARS_MO_PRI(wepname,name) \
-       { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_primary_%s %g\n", #wepname, #name, \
-               cvar(sprintf("g_balance_%s_primary_%s", #wepname, #name)))) }
-
-#define WEP_CONFIG_WRITE_CVARS_MO_SEC(wepname,name) \
-       { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_secondary_%s %g\n", #wepname, #name, \
-               cvar(sprintf("g_balance_%s_secondary_%s", #wepname, #name)))) }
-               
-#define WEP_CONFIG_WRITE_CVARS_MO_BOTH(wepname,name) \
-       { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_primary_%s %g\n", #wepname, #name, \
-               cvar(sprintf("g_balance_%s_primary_%s", #wepname, #name)))) } \
-       { WEP_CONFIG_QUEUE( \
-               sprintf("set g_balance_%s_secondary_%s %g\n", #wepname, #name, \
-               cvar(sprintf("g_balance_%s_secondary_%s", #wepname, #name)))) }
-
-#define WEP_CONFIG_WRITE_CVARS_MO_NONE(wepname,name) \
+#define WEP_CONFIG_WRITE_CVARS_NONE(wepname,name) \
        { WEP_CONFIG_QUEUE( \
                sprintf("set g_balance_%s_%s %g\n", #wepname, #name, \
                cvar(sprintf("g_balance_%s_%s", #wepname, #name)))) }
 
+#define WEP_CONFIG_WRITE_CVARS_PRI(wepname,name) WEP_CONFIG_WRITE_CVARS_NONE(wepname, primary_##name)
+#define WEP_CONFIG_WRITE_CVARS_SEC(wepname,name) WEP_CONFIG_WRITE_CVARS_NONE(wepname, secondary_##name)
+#define WEP_CONFIG_WRITE_CVARS_BOTH(wepname,name) \
+       WEP_CONFIG_WRITE_CVARS_PRI(wepname, name) \
+       WEP_CONFIG_WRITE_CVARS_SEC(wepname, name)
+       
 #define WEP_CONFIG_WRITE_CVARS(wepid,wepname,mode,name) WEP_CONFIG_WRITE_CVARS_##mode(wepname, name)
 
-// WEAPONTODO: remove prop
-#define WEP_CONFIG_WRITE_PROPS(wepid,wepname,unused,name) \
+#define WEP_CONFIG_WRITE_PROPS_string(wepname,name) \
+       { WEP_CONFIG_QUEUE( \
+               sprintf("set g_balance_%s_%s \"%s\"\n", #wepname, #name, \
+               cvar_string(sprintf("g_balance_%s_%s", #wepname, #name)))) }
+
+#define WEP_CONFIG_WRITE_PROPS_float(wepname,name) \
        { WEP_CONFIG_QUEUE( \
                sprintf("set g_balance_%s_%s %g\n", #wepname, #name, \
                cvar(sprintf("g_balance_%s_%s", #wepname, #name)))) }
+
+#define WEP_CONFIG_WRITE_PROPS(wepid,wepname,type,prop,name) WEP_CONFIG_WRITE_PROPS_##type(wepname,name)