mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-26 19:50:45 +00:00
Cleaned underwater next/prev weapon fix
This commit is contained in:
parent
1957fc53be
commit
c3d03f21da
1 changed files with 4 additions and 5 deletions
|
@ -2091,7 +2091,7 @@ void WeaponProcess(PLAYER *pPlayer) {
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
const int prevNewWeaponVal = pPlayer->input.getNewWeapon(); // used to fix scroll issue for banned weapons
|
const int prevNewWeaponVal = pPlayer->input.getNewWeapon(); // used to fix scroll issue for banned weapons
|
||||||
if (VanillaMode())
|
if (VanillaMode())
|
||||||
{
|
{
|
||||||
if (pPlayer->nextWeapon)
|
if (pPlayer->nextWeapon)
|
||||||
|
@ -2203,16 +2203,15 @@ void WeaponProcess(PLAYER *pPlayer) {
|
||||||
}
|
}
|
||||||
if (pPlayer->newWeapon)
|
if (pPlayer->newWeapon)
|
||||||
{
|
{
|
||||||
if (pPlayer->isUnderwater && BannedUnderwater(pPlayer->newWeapon) && !checkFired6or7(pPlayer)) // skip banned weapons when underwater and using next/prev weapon key inputs
|
if (pPlayer->isUnderwater && BannedUnderwater(pPlayer->newWeapon) && !checkFired6or7(pPlayer) && !VanillaMode() && !DemoRecordStatus()) // skip banned weapons when underwater and using next/prev weapon key inputs
|
||||||
{
|
{
|
||||||
const bool next = prevNewWeaponVal == WeaponSel_Next, prev = prevNewWeaponVal == WeaponSel_Prev;
|
if (prevNewWeaponVal == WeaponSel_Next || prevNewWeaponVal == WeaponSel_Prev) // if player switched weapons
|
||||||
if ((next || prev) && !VanillaMode() && !DemoRecordStatus()) // if player switched weapons
|
|
||||||
{
|
{
|
||||||
PLAYER tmpPlayer = *pPlayer;
|
PLAYER tmpPlayer = *pPlayer;
|
||||||
tmpPlayer.curWeapon = pPlayer->newWeapon; // set current banned weapon to curweapon so WeaponFindNext() can find the next weapon
|
tmpPlayer.curWeapon = pPlayer->newWeapon; // set current banned weapon to curweapon so WeaponFindNext() can find the next weapon
|
||||||
for (int i = 0; i < 3; i++) // attempt twice to find a new weapon
|
for (int i = 0; i < 3; i++) // attempt twice to find a new weapon
|
||||||
{
|
{
|
||||||
tmpPlayer.curWeapon = WeaponFindNext(&tmpPlayer, NULL, next ? 1 : 0);
|
tmpPlayer.curWeapon = WeaponFindNext(&tmpPlayer, NULL, (char)(prevNewWeaponVal == WeaponSel_Next));
|
||||||
if (!BannedUnderwater(tmpPlayer.curWeapon)) // if new weapon is not a banned weapon, set to new current weapon
|
if (!BannedUnderwater(tmpPlayer.curWeapon)) // if new weapon is not a banned weapon, set to new current weapon
|
||||||
{
|
{
|
||||||
pPlayer->newWeapon = tmpPlayer.curWeapon;
|
pPlayer->newWeapon = tmpPlayer.curWeapon;
|
||||||
|
|
Loading…
Reference in a new issue