Fixed g_swap_speed behaviour with extreme values

When its value was between 0 and 1, rounded down to 0; did the same
when bigger than 65535. Both cases locked up the weapon animation.
This commit is contained in:
Jaime Moreira 2023-08-26 22:48:23 -04:00
parent 751f3f56fa
commit 1e63034859

View file

@ -685,7 +685,9 @@ Weapon_Generic(edict_t *ent, int FRAME_ACTIVATE_LAST, int FRAME_FIRE_LAST,
int *fire_frames, void (*fire)(edict_t *ent)) int *fire_frames, void (*fire)(edict_t *ent))
{ {
int n; int n;
const unsigned short int change_speed = (g_swap_speed->value > 0)?(unsigned short int)g_swap_speed->value:1; const unsigned short int change_speed = (g_swap_speed->value > 1)?
(g_swap_speed->value < USHRT_MAX)? (unsigned short int)g_swap_speed->value : 1
: 1;
if (!ent || !fire_frames || !fire) if (!ent || !fire_frames || !fire)
{ {