mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 00:42:08 +00:00
- Duke/RR: Remove vehBraking variable from player struct.
* Back in 2020, I was trying to tidy stuff up and had no idea about network awareness, etc. * We must continue the misuse of network bits like the original game did to make sure the RRRA vehicles are network aware.
This commit is contained in:
parent
31f8de3854
commit
37e9cfed45
5 changed files with 32 additions and 31 deletions
|
@ -83,17 +83,10 @@ void hud_input(int plnum)
|
|||
p->sync.actions &= ~SB_CROUCH;
|
||||
}
|
||||
|
||||
if (p->OnMotorcycle || p->OnBoat)
|
||||
{
|
||||
// mask out all actions not compatible with vehicles.
|
||||
p->sync.actions &= ~(SB_WEAPONMASK_BITS | SB_TURNAROUND | SB_CENTERVIEW | SB_HOLSTER | SB_JUMP | SB_CROUCH | SB_RUN |
|
||||
SB_AIM_UP | SB_AIM_DOWN | SB_AIMMODE | SB_LOOK_UP | SB_LOOK_DOWN | SB_LOOK_LEFT | SB_LOOK_RIGHT);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((isRR() && p->drink_amt > 88)) p->sync.actions |= SB_LOOK_LEFT;
|
||||
if ((isRR() && p->drink_amt > 99)) p->sync.actions |= SB_LOOK_DOWN;
|
||||
}
|
||||
if ((isRR() && p->drink_amt > 88))
|
||||
p->sync.actions |= SB_LOOK_LEFT;
|
||||
if ((isRR() && p->drink_amt > 99))
|
||||
p->sync.actions |= SB_LOOK_DOWN;
|
||||
|
||||
if (isRR())
|
||||
{
|
||||
|
@ -617,11 +610,17 @@ static void processVehicleInput(player_struct *p, HIDInput* const hidInput, Inpu
|
|||
{
|
||||
float baseVel, velScale;
|
||||
|
||||
// mask out all actions not compatible with vehicles.
|
||||
inputBuffer->actions &= ~(SB_WEAPONMASK_BITS | SB_TURNAROUND | SB_CENTERVIEW | SB_HOLSTER | SB_JUMP | SB_CROUCH | SB_RUN |
|
||||
SB_AIM_UP | SB_AIM_DOWN | SB_AIMMODE | SB_LOOK_UP | SB_LOOK_DOWN | SB_LOOK_LEFT | SB_LOOK_RIGHT);
|
||||
|
||||
if (p->OnBoat || !p->moto_underwater)
|
||||
{
|
||||
p->vehForwardScale = min((buttonMap.ButtonDown(gamefunc_Move_Forward) || buttonMap.ButtonDown(gamefunc_Strafe)) + hidInput->joyaxes[JOYAXIS_Forward], 1.f);
|
||||
p->vehReverseScale = min(buttonMap.ButtonDown(gamefunc_Move_Backward) + -hidInput->joyaxes[JOYAXIS_Forward], 1.f);
|
||||
p->vehBraking = buttonMap.ButtonDown(gamefunc_Run);
|
||||
|
||||
if (buttonMap.ButtonDown(gamefunc_Run))
|
||||
inputBuffer->actions |= SB_CROUCH;
|
||||
}
|
||||
|
||||
if (p->OnMotorcycle)
|
||||
|
|
|
@ -1467,6 +1467,7 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
auto p = &ps[snum];
|
||||
auto pact = p->GetActor();
|
||||
|
||||
bool braking = false;
|
||||
int rng;
|
||||
|
||||
if (p->MotoSpeed < 0)
|
||||
|
@ -1475,11 +1476,16 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
bool turnLeft = p->sync.avel < 0;
|
||||
bool turnRight = p->sync.avel > 0;
|
||||
|
||||
if ((braking = actions & SB_CROUCH))
|
||||
{
|
||||
actions &= ~SB_CROUCH;
|
||||
}
|
||||
|
||||
if (p->vehForwardScale != 0)
|
||||
{
|
||||
if (p->on_ground)
|
||||
{
|
||||
if (p->MotoSpeed == 0 && p->vehBraking)
|
||||
if (p->MotoSpeed == 0 && braking)
|
||||
{
|
||||
if (!S_CheckActorSoundPlaying(pact, 187))
|
||||
S_PlayActorSound(187, pact);
|
||||
|
@ -1537,7 +1543,7 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
|
||||
if (p->on_ground == 1)
|
||||
{
|
||||
if (p->vehBraking && p->MotoSpeed > 0)
|
||||
if (braking && p->MotoSpeed > 0)
|
||||
{
|
||||
p->MotoSpeed -= p->moto_on_oil ? 2 : 4;
|
||||
if (p->MotoSpeed < 0)
|
||||
|
@ -1545,7 +1551,7 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
p->VBumpTarget = -30;
|
||||
p->moto_do_bump = 1;
|
||||
}
|
||||
else if (p->vehForwardScale != 0 && !p->vehBraking)
|
||||
else if (p->vehForwardScale != 0 && !braking)
|
||||
{
|
||||
if (p->MotoSpeed < 40)
|
||||
{
|
||||
|
@ -1565,13 +1571,13 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
else if (p->MotoSpeed > 0)
|
||||
p->MotoSpeed--;
|
||||
|
||||
if (p->moto_do_bump && (!p->vehBraking || p->MotoSpeed == 0))
|
||||
if (p->moto_do_bump && (!braking || p->MotoSpeed == 0))
|
||||
{
|
||||
p->VBumpTarget = 0;
|
||||
p->moto_do_bump = 0;
|
||||
}
|
||||
|
||||
if (p->vehReverseScale != 0 && p->MotoSpeed <= 0 && !p->vehBraking)
|
||||
if (p->vehReverseScale != 0 && p->MotoSpeed <= 0 && !braking)
|
||||
{
|
||||
bool temp = turnRight;
|
||||
turnRight = turnLeft;
|
||||
|
@ -1693,7 +1699,6 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
}
|
||||
|
||||
p->moto_on_mud = p->moto_on_oil = 0;
|
||||
p->vehBraking = false;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -1707,7 +1712,7 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
auto p = &ps[snum];
|
||||
auto pact = p->GetActor();
|
||||
|
||||
bool heeltoe;
|
||||
bool braking = false, heeltoe = false;
|
||||
int rng;
|
||||
|
||||
bool turnLeft = p->sync.avel < 0;
|
||||
|
@ -1730,14 +1735,11 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
if (p->MotoSpeed < 0)
|
||||
p->MotoSpeed = 0;
|
||||
|
||||
if (p->vehBraking && (p->vehForwardScale != 0))
|
||||
if ((actions & SB_CROUCH) && (p->vehForwardScale != 0))
|
||||
{
|
||||
heeltoe = true;
|
||||
p->vehBraking = false;
|
||||
p->vehForwardScale = 0;
|
||||
}
|
||||
else
|
||||
heeltoe = false;
|
||||
|
||||
if (p->vehForwardScale != 0)
|
||||
{
|
||||
|
@ -1770,6 +1772,11 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
S_PlayActorSound(87, pact);
|
||||
}
|
||||
|
||||
if ((braking = actions & SB_CROUCH))
|
||||
{
|
||||
actions &= ~SB_CROUCH;
|
||||
}
|
||||
|
||||
if (turnLeft && !S_CheckActorSoundPlaying(pact, 91) && p->MotoSpeed > 30 && !p->NotOnWater)
|
||||
S_PlayActorSound(91, pact);
|
||||
|
||||
|
@ -1815,7 +1822,7 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
p->moto_do_bump = 1;
|
||||
}
|
||||
}
|
||||
else if (p->vehBraking && p->MotoSpeed > 0)
|
||||
else if (braking && p->MotoSpeed > 0)
|
||||
{
|
||||
p->MotoSpeed -= 2;
|
||||
if (p->MotoSpeed < 0)
|
||||
|
@ -1838,13 +1845,13 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
else if (p->MotoSpeed > 0)
|
||||
p->MotoSpeed--;
|
||||
|
||||
if (p->moto_do_bump && (!p->vehBraking || p->MotoSpeed == 0))
|
||||
if (p->moto_do_bump && (!braking || p->MotoSpeed == 0))
|
||||
{
|
||||
p->VBumpTarget = 0;
|
||||
p->moto_do_bump = 0;
|
||||
}
|
||||
|
||||
if (p->vehReverseScale != 0 && p->MotoSpeed == 0 && !p->vehBraking)
|
||||
if (p->vehReverseScale != 0 && p->MotoSpeed == 0 && !braking)
|
||||
{
|
||||
bool temp = turnRight;
|
||||
turnRight = turnLeft;
|
||||
|
@ -1931,8 +1938,6 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
}
|
||||
if (p->NotOnWater && p->MotoSpeed > 50)
|
||||
p->MotoSpeed -= (p->MotoSpeed / 2.);
|
||||
|
||||
p->vehBraking = false;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
|
|
@ -309,7 +309,6 @@ struct player_struct
|
|||
uint8_t OnMotorcycle, OnBoat, moto_underwater, NotOnWater, MotoOnGround;
|
||||
uint8_t moto_do_bump, moto_bump_fast, moto_on_oil, moto_on_mud;
|
||||
double vehForwardScale, vehReverseScale, MotoSpeed;
|
||||
bool vehBraking;
|
||||
|
||||
TArray<GameVarValue> uservars;
|
||||
|
||||
|
|
|
@ -944,7 +944,6 @@ DEFINE_FIELD_X(DukePlayer, player_struct, moto_on_mud)
|
|||
DEFINE_FIELD_X(DukePlayer, player_struct, vehForwardScale)
|
||||
DEFINE_FIELD_X(DukePlayer, player_struct, vehReverseScale)
|
||||
DEFINE_FIELD_X(DukePlayer, player_struct, MotoSpeed)
|
||||
DEFINE_FIELD_X(DukePlayer, player_struct, vehBraking)
|
||||
DEFINE_FIELD_X(DukePlayer, player_struct, holoduke_on)
|
||||
DEFINE_FIELD_X(DukePlayer, player_struct, actorsqu)
|
||||
DEFINE_FIELD_X(DukePlayer, player_struct, wackedbyactor)
|
||||
|
|
|
@ -335,7 +335,6 @@ struct DukePlayer native
|
|||
native uint8 OnMotorcycle, OnBoat, moto_underwater, NotOnWater, MotoOnGround;
|
||||
native uint8 moto_do_bump, moto_bump_fast, moto_on_oil, moto_on_mud;
|
||||
native double vehForwardScale, vehReverseScale, MotoSpeed;
|
||||
native bool vehBraking;
|
||||
|
||||
// input stuff.
|
||||
//InputPacket sync;
|
||||
|
|
Loading…
Reference in a new issue