- 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)) if (const auto weapDir = (newWeap == WeaponSel_Next) - (newWeap == WeaponSel_Prev))
{ {
int nextWeap = getWrappedIndex(pPlayer->nCurrentWeapon + weapDir, kMaxWeapons); int nextWeap = pPlayer->nCurrentWeapon;
int haveWeap = pPlayer->nPlayerWeapons & (1 << nextWeap); int haveWeap;
while (nextWeap && (!haveWeap || (haveWeap && !pPlayer->nAmmo[nextWeap]))) do
{ {
nextWeap = getWrappedIndex(nextWeap + weapDir, kMaxWeapons); nextWeap = getWrappedIndex(nextWeap + weapDir, kMaxWeapons);
haveWeap = pPlayer->nPlayerWeapons & (1 << nextWeap); haveWeap = pPlayer->nPlayerWeapons & (1 << nextWeap);
} }
while (nextWeap && (!haveWeap || (haveWeap && !pPlayer->nAmmo[nextWeap])));
SetNewWeapon(pPlayer->nPlayer, nextWeap); SetNewWeapon(pPlayer->nPlayer, nextWeap);
} }