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:35:42 -04:00
parent 7bf2454901
commit 6b9331ea5f

View file

@ -1470,6 +1470,7 @@ cycle_weapon(edict_t *ent)
int i;
int start;
int num_weaps;
const char *weapname = NULL;
if (!ent)
{
@ -1486,11 +1487,20 @@ cycle_weapon(edict_t *ent)
num_weaps = gi.argc();
/* 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++)
{
if (Q_stricmp(cl->pers.weapon->classname, gi.argv(i)) == 0)
if (Q_stricmp(weapname, gi.argv(i)) == 0)
{
break;
}