X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fweapons%2Fconfig.qc;h=26a05d10ac739f4b609a5ce39384be48e9ef86d8;hb=b9671f63469586007314131f3f53728795c035cd;hp=ed0dc2b93973e88697c01ade41ac216366238ae4;hpb=35e8f712933b0ebf9b163b7289cf975825b33803;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/weapons/config.qc b/qcsrc/common/weapons/config.qc index ed0dc2b93..26a05d10a 100644 --- a/qcsrc/common/weapons/config.qc +++ b/qcsrc/common/weapons/config.qc @@ -1,65 +1,63 @@ #if defined(CSQC) #elif defined(MENUQC) #elif defined(SVQC) - #include "../../dpdefs/progsdefs.qh" - #include "../../dpdefs/dpextensions.qh" #include "../util.qh" #include "config.qh" - #include "weapons.qh" + #include "all.qh" #endif // ========================== // Balance Config Generator // ========================== -void W_Config_Queue_Swap(float root, float child, entity pass) +void W_Config_Queue_Swap(int root, int child, entity pass) { string oldroot = wep_config_queue[root]; wep_config_queue[root] = wep_config_queue[child]; wep_config_queue[child] = oldroot; } -float W_Config_Queue_Compare(float root, float child, entity pass) +float W_Config_Queue_Compare(int root, int child, entity pass) { return strcmp(wep_config_queue[root], wep_config_queue[child]); } -void Dump_Weapon_Settings(void) +void Dump_Weapon_Settings() { - float i, x, totalsettings = 0; - for(i = WEP_FIRST; i <= WEP_LAST; ++i) - { + int totalweapons = 0, totalsettings = 0; + FOREACH(Weapons, it != WEP_Null, { // step 1: clear the queue WEP_CONFIG_COUNT = 0; - for(x = 0; x <= MAX_WEP_CONFIG; ++x) + for (int x = 0; x <= MAX_WEP_CONFIG; ++x) { wep_config_queue[x] = string_null; } // step 2: build new queue - WEP_ACTION(i, WR_CONFIG); + it.wr_config(it); // step 3: sort queue - heapsort(WEP_CONFIG_COUNT, W_Config_Queue_Swap, W_Config_Queue_Compare, world); - + heapsort(WEP_CONFIG_COUNT, W_Config_Queue_Swap, W_Config_Queue_Compare, NULL); + // step 4: write queue WEP_CONFIG_WRITETOFILE(sprintf( "// {{{ #%d: %s%s\n", i, - WEP_NAME(i), - (((get_weaponinfo(i)).spawnflags & WEP_FLAG_MUTATORBLOCKED) ? " (MUTATOR WEAPON)" : "") + it.m_name, + ((it.spawnflags & WEP_FLAG_MUTATORBLOCKED) ? " (MUTATOR WEAPON)" : "") )); - for(x = 0; x <= WEP_CONFIG_COUNT; ++x) { WEP_CONFIG_WRITETOFILE(wep_config_queue[x]); } + for (int x = 0; x <= WEP_CONFIG_COUNT; ++x) { WEP_CONFIG_WRITETOFILE(wep_config_queue[x]); } WEP_CONFIG_WRITETOFILE("// }}}\n"); // step 5: debug info - print(sprintf("#%d: %s: %d settings...\n", i, WEP_NAME(i), WEP_CONFIG_COUNT)); + LOG_INFO(sprintf("#%d: %s: %d settings...\n", i, it.m_name, WEP_CONFIG_COUNT)); + totalweapons += 1; totalsettings += WEP_CONFIG_COUNT; - } + }); // clear queue now that we're finished WEP_CONFIG_COUNT = 0; - for(x = 0; x <= MAX_WEP_CONFIG; ++x) + for(int x = 0; x <= MAX_WEP_CONFIG; ++x) { wep_config_queue[x] = string_null; } // extra information - print(sprintf("Totals: %d weapons, %d settings\n", (i - 1), totalsettings)); + LOG_INFO(sprintf("Totals: %d weapons, %d settings\n", totalweapons, totalsettings)); }