// ========================== // Balance Config Generator // ========================== void Dump_Weapon_Settings(void); float wep_config_file; float wep_config_alsoprint; #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_QUEUE( \ sprintf("set g_balance_%s_primary_%s %g\n", #weapon, #name, \ cvar(sprintf("g_balance_%s_primary_%s", #weapon, #name)))) } \ #endif \ #if mode == MO_SEC \ { WEP_CONFIG_QUEUE( \ sprintf("set g_balance_%s_secondary_%s %g\n", #weapon, #name, \ cvar(sprintf("g_balance_%s_secondary_%s", #weapon, #name)))) } \ #endif \ #if mode == MO_BOTH \ { WEP_CONFIG_QUEUE( \ sprintf("set g_balance_%s_primary_%s %g\n", #weapon, #name, \ cvar(sprintf("g_balance_%s_primary_%s", #weapon, #name)))) } \ { WEP_CONFIG_QUEUE( \ sprintf("set g_balance_%s_secondary_%s %g\n", #weapon, #name, \ cvar(sprintf("g_balance_%s_secondary_%s", #weapon, #name)))) } \ #endif \ #if mode == MO_NONE \ { WEP_CONFIG_QUEUE( \ sprintf("set g_balance_%s_%s %g\n", #weapon, #name, \ cvar(sprintf("g_balance_%s_%s", #weapon, #name)))) } \ #endif // WEAPONTODO: remove prop #define WEP_CONFIG_WRITE_PROPS(weapon,name) \ { WEP_CONFIG_QUEUE( \ sprintf("set g_balance_%s_%s %g\n", #weapon, #name, \ cvar(sprintf("g_balance_%s_%s", #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,name) \ wepsettings \ #undef WEP_ADD_CVAR \ #undef WEP_ADD_PROP