From 0f318cfd5e7b56140cc6a0274e7ec5f258c30157 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 6 Jul 2022 08:00:00 +1000 Subject: [PATCH] Restore a legacy hack to ensure core weapons have impulse priority, fixes #2714 --- qcsrc/common/weapons/all.qh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/qcsrc/common/weapons/all.qh b/qcsrc/common/weapons/all.qh index 356c3882a..37858af5b 100644 --- a/qcsrc/common/weapons/all.qh +++ b/qcsrc/common/weapons/all.qh @@ -308,11 +308,14 @@ WepSet WEPSET_SUPERWEAPONS; #include "all.inc" -// TODO: invert after 0.8.2. Will require moving 'best weapon' impulses +// TODO: remove after 0.8.5. Retains impulse number compatibility because 0.8.1 clients don't reload the weapons.cfg +#define WEP_HARDCODED_IMPULSES 20 + +// TODO: invert after 0.8.5. Will require moving 'best weapon' impulses #define WEP_IMPULSE_BEGIN 230 #define WEP_IMPULSE_END bound(WEP_IMPULSE_BEGIN, WEP_IMPULSE_BEGIN + (REGISTRY_COUNT(Weapons) - 1) - 1, 253) -REGISTRY_SORT(Weapons, 1) +REGISTRY_SORT(Weapons, WEP_HARDCODED_IMPULSES + 1) REGISTRY_CHECK(Weapons) STATIC_INIT(register_weapons_done) @@ -329,7 +332,7 @@ STATIC_INIT(register_weapons_done) else inaccessible = strcat(inaccessible, "\n", it.netname); }); - if (inaccessible && autocvar_developer > 0) LOG_TRACEF("Impulse limit exceeded, weapon(s) will not be directly accessible: %s", inaccessible); + if (inaccessible != "" && autocvar_developer > 0) LOG_TRACEF("Impulse limit exceeded, weapon(s) will not be directly accessible: %s", inaccessible); #ifdef CSQC FOREACH(Weapons, true, it.wr_init(it)); #endif -- 2.39.2