Faster weapon switching with 'cycleweap'

Allows to skip elements on the weapon list by tapping the same bound key
This commit is contained in:
Jaime Moreira 2022-08-01 14:34:49 -04:00
parent f4643f174f
commit 5e31017f49

View file

@ -1461,6 +1461,7 @@ cycle_weapon(edict_t *ent)
int i; int i;
int start; int start;
int num_weaps; int num_weaps;
const char *weapname = NULL;
if (!ent) if (!ent)
{ {
@ -1477,11 +1478,20 @@ cycle_weapon(edict_t *ent)
num_weaps = gi.argc(); num_weaps = gi.argc();
/* find where we want to start the search for the next eligible weapon */ /* find where we want to start the search for the next eligible weapon */
if (cl->pers.weapon) if (cl->newweapon)
{
weapname = cl->newweapon->classname;
}
else if (cl->pers.weapon)
{
weapname = cl->pers.weapon->classname;
}
if (weapname)
{ {
for (i = 1; i < num_weaps; i++) for (i = 1; i < num_weaps; i++)
{ {
if (Q_stricmp(cl->pers.weapon->classname, gi.argv(i)) == 0) if (Q_stricmp(weapname, gi.argv(i)) == 0)
{ {
break; break;
} }