#ifndef WEAPONS_CONFIG_H #define WEAPONS_CONFIG_H #if defined(CSQC) #elif defined(MENUQC) #elif defined(SVQC) #include "../util-pre.qh" #include "../../server/sys-pre.qh" #include "../../dpdefs/progsdefs.qc" #include "../../dpdefs/dpextensions.qc" #include "../../server/sys-post.qh" #include "../../warpzonelib/anglestransform.qh" #include "../../warpzonelib/mathlib.qh" #include "../../warpzonelib/common.qh" #include "../../warpzonelib/util_server.qh" #include "../../warpzonelib/server.qh" #include "../constants.qh" #include "../stats.qh" #include "../teams.qh" #include "../util.qh" #include "../nades.qh" #include "../buffs.qh" #include "../test.qh" #include "../counting.qh" #include "../urllib.qh" #include "../command/markup.qh" #include "../command/rpn.qh" #include "../command/generic.qh" #include "../command/shared_defs.qh" #include "../net_notice.qh" #include "../animdecide.qh" #include "../monsters/monsters.qh" #include "../monsters/sv_monsters.qh" #include "../monsters/spawn.qh" #endif // ========================== // Balance Config Generator // ========================== void Dump_Weapon_Settings(void); int wep_config_file; bool wep_config_alsoprint; const int MAX_WEP_CONFIG = 256; int 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) do { \ fputs(wep_config_file, a); \ if(wep_config_alsoprint) { print(a); } \ } while(0) #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) #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) #endif