- Exhumed: Slightly tidy up updatePlayerWeapon().

This commit is contained in:
Mitchell Richters 2023-04-24 19:06:46 +10:00
parent e29726370c
commit 80f2afd6a4

View file

@ -1194,14 +1194,15 @@ static void updatePlayerWeapon(Player* const pPlayer)
if (const auto weapDir = (newWeap == WeaponSel_Next) - (newWeap == WeaponSel_Prev))
{
int nextWeap = getWrappedIndex(pPlayer->nCurrentWeapon + weapDir, kMaxWeapons);
int haveWeap = pPlayer->nPlayerWeapons & (1 << nextWeap);
int nextWeap = pPlayer->nCurrentWeapon;
int haveWeap;
while (nextWeap && (!haveWeap || (haveWeap && !pPlayer->nAmmo[nextWeap])))
do
{
nextWeap = getWrappedIndex(nextWeap + weapDir, kMaxWeapons);
haveWeap = pPlayer->nPlayerWeapons & (1 << nextWeap);
}
while (nextWeap && (!haveWeap || (haveWeap && !pPlayer->nAmmo[nextWeap])));
SetNewWeapon(pPlayer->nPlayer, nextWeap);
}