mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-16 17:01:39 +00:00
- Move some Duke-specific stuff out of ApplyGlobalInput()
.
This commit is contained in:
parent
eed9716d86
commit
a45890e064
5 changed files with 14 additions and 8 deletions
|
@ -370,7 +370,7 @@ CCMD(show_weapon)
|
||||||
gi->ToggleShowWeapon();
|
gi->ToggleShowWeapon();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ApplyGlobalInput(InputPacket& input, HIDInput* hidInput, bool const crouchable, bool const disableToggle)
|
void ApplyGlobalInput(InputPacket& input, HIDInput* const hidInput)
|
||||||
{
|
{
|
||||||
if (WeaponToSend != 0) input.setNewWeapon(WeaponToSend);
|
if (WeaponToSend != 0) input.setNewWeapon(WeaponToSend);
|
||||||
WeaponToSend = 0;
|
WeaponToSend = 0;
|
||||||
|
@ -413,11 +413,11 @@ void ApplyGlobalInput(InputPacket& input, HIDInput* hidInput, bool const croucha
|
||||||
|
|
||||||
if (buttonMap.ButtonDown(gamefunc_Toggle_Crouch))
|
if (buttonMap.ButtonDown(gamefunc_Toggle_Crouch))
|
||||||
{
|
{
|
||||||
crouch_toggle = !crouch_toggle && crouchable;
|
crouch_toggle = !crouch_toggle;
|
||||||
if (crouchable) buttonMap.ClearButton(gamefunc_Toggle_Crouch);
|
buttonMap.ClearButton(gamefunc_Toggle_Crouch);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buttonMap.ButtonDown(gamefunc_Crouch) || buttonMap.ButtonDown(gamefunc_Jump) || disableToggle)
|
if (buttonMap.ButtonDown(gamefunc_Crouch) || buttonMap.ButtonDown(gamefunc_Jump))
|
||||||
crouch_toggle = false;
|
crouch_toggle = false;
|
||||||
|
|
||||||
if (buttonMap.ButtonDown(gamefunc_Fire))
|
if (buttonMap.ButtonDown(gamefunc_Fire))
|
||||||
|
|
|
@ -96,7 +96,7 @@ enum GameFunction_t
|
||||||
};
|
};
|
||||||
|
|
||||||
void SetupGameButtons();
|
void SetupGameButtons();
|
||||||
void ApplyGlobalInput(InputPacket& input, HIDInput* const hidInput, bool const crouchable = true, bool const disableToggle = false);
|
void ApplyGlobalInput(InputPacket& input, HIDInput* const hidInput);
|
||||||
extern ESyncBits ActionsToSend;
|
extern ESyncBits ActionsToSend;
|
||||||
extern bool gamesetinput;
|
extern bool gamesetinput;
|
||||||
|
|
||||||
|
|
|
@ -530,9 +530,15 @@ static void processInputBits(player_struct *p, HIDInput* const hidInput)
|
||||||
bool const crouchable = sectorLotag != ST_2_UNDERWATER && (sectorLotag != ST_1_ABOVE_WATER || p->spritebridge);
|
bool const crouchable = sectorLotag != ST_2_UNDERWATER && (sectorLotag != ST_1_ABOVE_WATER || p->spritebridge);
|
||||||
bool const disableToggle = p->jetpack_on || (!crouchable && p->on_ground) || (isRRRA() && (p->OnMotorcycle || p->OnBoat));
|
bool const disableToggle = p->jetpack_on || (!crouchable && p->on_ground) || (isRRRA() && (p->OnMotorcycle || p->OnBoat));
|
||||||
|
|
||||||
ApplyGlobalInput(loc, hidInput, crouchable, disableToggle);
|
ApplyGlobalInput(loc, hidInput);
|
||||||
if (isRR() && (loc.actions & SB_CROUCH)) loc.actions &= ~SB_JUMP;
|
if (isRR() && (loc.actions & SB_CROUCH)) loc.actions &= ~SB_JUMP;
|
||||||
|
|
||||||
|
if (!crouchable || disableToggle)
|
||||||
|
{
|
||||||
|
crouch_toggle = false;
|
||||||
|
loc.actions &= ~SB_CROUCH;
|
||||||
|
}
|
||||||
|
|
||||||
if (p->OnMotorcycle || p->OnBoat)
|
if (p->OnMotorcycle || p->OnBoat)
|
||||||
{
|
{
|
||||||
// mask out all actions not compatible with vehicles.
|
// mask out all actions not compatible with vehicles.
|
||||||
|
|
|
@ -1738,7 +1738,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
||||||
|
|
||||||
p->on_warping_sector = 0;
|
p->on_warping_sector = 0;
|
||||||
|
|
||||||
if ((actions & SB_CROUCH) || crouch_toggle) // FIXME: The crouch_toggle check here is not network safe and needs revision when multiplayer is going.
|
if (actions & SB_CROUCH)
|
||||||
{
|
{
|
||||||
playerCrouch(snum);
|
playerCrouch(snum);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2106,7 +2106,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
||||||
|
|
||||||
p->on_warping_sector = 0;
|
p->on_warping_sector = 0;
|
||||||
|
|
||||||
if (((actions & SB_CROUCH) || crouch_toggle) && !p->OnMotorcycle) // FIXME: The crouch_toggle check here is not network safe and needs revision when multiplayer is going.
|
if ((actions & SB_CROUCH) && !p->OnMotorcycle)
|
||||||
{
|
{
|
||||||
playerCrouch(snum);
|
playerCrouch(snum);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue