mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 23:02:03 +00:00
- SW: Uplift of DoPlayerHorizon()
and PlayerAutoLook()
.
* Set `PF2_INPUT_CAN_AIM` explicitly where `DoPlayerHorizon()` would have been done within the original game. * Replace original centering code and route `SB_CENTERVIEW` through the `SB_LOOK_UP`/`SB_LOOK_DOWN` code. * With this commit, first person input is now nice again. Vehicle code still to be looked at.
This commit is contained in:
parent
e84c8379d9
commit
3667116274
2 changed files with 84 additions and 151 deletions
|
@ -34,8 +34,8 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
|
|||
|
||||
BEGIN_SW_NS
|
||||
|
||||
void DoPlayerTurn(PLAYERp pp, fixed_t q16angvel, double const scaleAdjust);
|
||||
void DoPlayerHorizon(PLAYERp pp, fixed_t *pq16horiz, fixed_t q16horz, double const scaleAdjust);
|
||||
void DoPlayerTurn(PLAYERp pp, fixed_t const q16avel, double const scaleAdjust);
|
||||
void DoPlayerHorizon(PLAYERp pp, fixed_t const q16horz, double const scaleAdjust);
|
||||
|
||||
static InputPacket loc;
|
||||
static int32_t turnheldtime;
|
||||
|
@ -283,7 +283,7 @@ static void processMovement(PLAYERp const pp, ControlInfo* const hidInput, bool
|
|||
if (TEST(pp->Flags2, PF2_INPUT_CAN_TURN))
|
||||
DoPlayerTurn(pp, q16avel, scaleAdjust);
|
||||
if (TEST(pp->Flags2, PF2_INPUT_CAN_AIM))
|
||||
DoPlayerHorizon(pp, &pp->q16horiz, q16horz, scaleAdjust);
|
||||
DoPlayerHorizon(pp, q16horz, scaleAdjust);
|
||||
}
|
||||
|
||||
loc.fvel = clamp(loc.fvel + fvel, -MAXFVEL, MAXFVEL);
|
||||
|
|
|
@ -124,6 +124,12 @@ char PlayerGravity = PLAYER_JUMP_GRAV;
|
|||
|
||||
extern SWBOOL DebugOperate;
|
||||
|
||||
enum
|
||||
{
|
||||
TURN_SHIFT = 2,
|
||||
HORIZ_SPEED = 16
|
||||
};
|
||||
|
||||
//unsigned char synctics, lastsynctics;
|
||||
|
||||
int ChopTics;
|
||||
|
@ -1542,11 +1548,6 @@ DoPlayerCrawlHeight(PLAYERp pp)
|
|||
pp->posz = pp->posz - (DIV4(diff) + DIV8(diff));
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
TURN_SHIFT = 2
|
||||
};
|
||||
|
||||
void
|
||||
DoPlayerTurn(PLAYERp pp, fixed_t const q16avel, double const scaleAdjust)
|
||||
{
|
||||
|
@ -1793,7 +1794,7 @@ void SlipSlope(PLAYERp pp)
|
|||
}
|
||||
|
||||
void
|
||||
PlayerAutoLook(PLAYERp pp, double const scaleAdjust = 1.)
|
||||
PlayerAutoLook(PLAYERp pp, double const scaleAdjust)
|
||||
{
|
||||
int x,y,k,j;
|
||||
short tempsect;
|
||||
|
@ -1803,8 +1804,9 @@ PlayerAutoLook(PLAYERp pp, double const scaleAdjust = 1.)
|
|||
if (!TEST(pp->Flags, PF_MOUSE_AIMING_ON) && TEST(sector[pp->cursectnum].floorstat, FLOOR_STAT_SLOPE)) // If the floor is sloped
|
||||
{
|
||||
// Get a point, 512 units ahead of player's position
|
||||
x = pp->posx + (sintable[(FixedToInt(pp->q16ang) + 512) & 2047] >> 5);
|
||||
y = pp->posy + (sintable[FixedToInt(pp->q16ang) & 2047] >> 5);
|
||||
auto const ang = FixedToInt(pp->q16ang);
|
||||
x = pp->posx + (sintable[(ang + 512) & 2047] >> 5);
|
||||
y = pp->posy + (sintable[ang & 2047] >> 5);
|
||||
tempsect = pp->cursectnum;
|
||||
COVERupdatesector(x, y, &tempsect);
|
||||
|
||||
|
@ -1820,75 +1822,38 @@ PlayerAutoLook(PLAYERp pp, double const scaleAdjust = 1.)
|
|||
// closely (to avoid accidently looking straight out when
|
||||
// you're at the edge of a sector line) then adjust horizon
|
||||
// accordingly
|
||||
if ((pp->cursectnum == tempsect) ||
|
||||
(klabs(getflorzofslope(tempsect, x, y) - k) <= (4 << 8)))
|
||||
if ((pp->cursectnum == tempsect) || (klabs(getflorzofslope(tempsect, x, y) - k) <= (4 << 8)))
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizoff += (j - k) * 160;
|
||||
else
|
||||
pp->q16horizoff += FloatToFixed(scaleAdjust * (mulscale16((j - k), 160)));
|
||||
pp->q16horizoff += xs_CRoundToInt(scaleAdjust * ((j - k) * 160));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (TEST(pp->Flags, PF_CLIMBING))
|
||||
if (TEST(pp->Flags, PF_CLIMBING) && pp->q16horizoff < IntToFixed(100))
|
||||
{
|
||||
// tilt when climbing but you can't even really tell it
|
||||
if (pp->q16horizoff < IntToFixed(100))
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizoff += IntToFixed((((100 - FixedToInt(pp->q16horizoff)) >> 3) + 1));
|
||||
else
|
||||
pp->q16horizoff += FloatToFixed(scaleAdjust * (FixedToFloat(((IntToFixed(100) - pp->q16horizoff) >> 3) + FRACUNIT)));
|
||||
}
|
||||
// tilt when climbing but you can't even really tell it.
|
||||
pp->q16horizoff += xs_CRoundToInt(scaleAdjust * (((IntToFixed(100) - pp->q16horizoff) >> 3) + FRACUNIT));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Make q16horizoff grow towards 0 since q16horizoff is not modified when
|
||||
// you're not on a slope
|
||||
// Make q16horizoff grow towards 0 since q16horizoff is not modified when you're not on a slope.
|
||||
if (pp->q16horizoff > 0)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizoff -= IntToFixed(((FixedToInt(pp->q16horizoff) >> 3) + 1));
|
||||
else
|
||||
{
|
||||
pp->q16horizoff -= FloatToFixed(scaleAdjust * (FixedToFloat((pp->q16horizoff >> 3) + FRACUNIT)));
|
||||
pp->q16horizoff = max(pp->q16horizoff, 0);
|
||||
}
|
||||
pp->q16horizoff -= xs_CRoundToInt(scaleAdjust * ((pp->q16horizoff >> 3) + FRACUNIT));
|
||||
pp->q16horizoff = max(pp->q16horizoff, 0);
|
||||
}
|
||||
if (pp->q16horizoff < 0)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizoff += IntToFixed((((FixedToInt(-pp->q16horizoff)) >> 3) + 1));
|
||||
else
|
||||
{
|
||||
pp->q16horizoff += FloatToFixed(scaleAdjust * (FixedToFloat((-pp->q16horizoff >> 3) + FRACUNIT)));
|
||||
pp->q16horizoff = min(pp->q16horizoff, 0);
|
||||
}
|
||||
pp->q16horizoff += xs_CRoundToInt(scaleAdjust * ((pp->q16horizoff >> 3) + FRACUNIT));
|
||||
pp->q16horizoff = min(pp->q16horizoff, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern int PlaxCeilGlobZadjust, PlaxFloorGlobZadjust;
|
||||
void
|
||||
DoPlayerHorizon(PLAYERp pp, fixed_t *pq16horiz, fixed_t q16horz, double const scaleAdjust = 1.)
|
||||
DoPlayerHorizon(PLAYERp pp, fixed_t const q16horz, double const scaleAdjust)
|
||||
{
|
||||
int i;
|
||||
#define HORIZ_SPEED (16)
|
||||
|
||||
// //DSPRINTF(ds,"FixedToInt(pp->q16horizoff), %d", FixedToInt(pp->q16horizoff));
|
||||
// MONO_PRINT(ds);
|
||||
#if 0
|
||||
if (!cl_syncinput && (pq16horiz == &pp->q16horiz))
|
||||
{
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
pp->q16horiz = pp->input.q16horiz;
|
||||
if ((pp == &Player[myconnectindex]) || (pp == ppp)) // No coop view?
|
||||
pp->oq16horiz = pp->q16horiz;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
// Fixme: This should probably be made optional.
|
||||
if (cl_slopetilting)
|
||||
PlayerAutoLook(pp, scaleAdjust);
|
||||
|
@ -1899,104 +1864,61 @@ DoPlayerHorizon(PLAYERp pp, fixed_t *pq16horiz, fixed_t q16horz, double const sc
|
|||
SET(pp->Flags, PF_LOCK_HORIZ | PF_LOOKING);
|
||||
}
|
||||
|
||||
if ((pp->input.actions & SB_CENTERVIEW) || pp->centering)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizbase = IntToFixed(100);
|
||||
else if (pp->q16horizbase > IntToFixed(100))
|
||||
{
|
||||
pp->q16horizbase -= FloatToFixed(scaleAdjust * ((HORIZ_SPEED*6)));
|
||||
pp->q16horizbase = max(pp->q16horizbase, IntToFixed(100));
|
||||
}
|
||||
else if (pp->q16horizbase < IntToFixed(100))
|
||||
{
|
||||
pp->q16horizbase += FloatToFixed(scaleAdjust * ((HORIZ_SPEED*6)));
|
||||
pp->q16horizbase = min(pp->q16horizbase, IntToFixed(100));
|
||||
}
|
||||
pp->centering = pp->q16horizbase != IntToFixed(100);
|
||||
*pq16horiz = pp->q16horizbase;
|
||||
pp->q16horizoff = 0;
|
||||
}
|
||||
|
||||
// this is the locked type
|
||||
if (pp->input.actions & (SB_AIM_UP|SB_AIM_DOWN))
|
||||
{
|
||||
// set looking because player is manually looking
|
||||
// set looking because player is manually looking.
|
||||
SET(pp->Flags, PF_LOCK_HORIZ | PF_LOOKING);
|
||||
|
||||
// adjust *pq16horiz negative
|
||||
// adjust q16horiz negative
|
||||
if (pp->input.actions & SB_AIM_DOWN)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizbase -= IntToFixed((HORIZ_SPEED/2));
|
||||
else
|
||||
pp->q16horizbase -= FloatToFixed(scaleAdjust * ((HORIZ_SPEED/2)));
|
||||
}
|
||||
pp->q16horizbase -= FloatToFixed(scaleAdjust * (HORIZ_SPEED >> 1));
|
||||
|
||||
// adjust *pq16horiz positive
|
||||
// adjust q16horiz positive
|
||||
if (pp->input.actions & SB_AIM_UP)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizbase += IntToFixed((HORIZ_SPEED/2));
|
||||
else
|
||||
pp->q16horizbase += FloatToFixed(scaleAdjust * ((HORIZ_SPEED/2)));
|
||||
}
|
||||
pp->centering = false;
|
||||
pp->q16horizbase += FloatToFixed(scaleAdjust * (HORIZ_SPEED >> 1));
|
||||
}
|
||||
|
||||
// this is the unlocked type
|
||||
if (pp->input.actions & (SB_LOOK_UP|SB_LOOK_DOWN))
|
||||
if (pp->input.actions & (SB_LOOK_UP|SB_LOOK_DOWN|SB_CENTERVIEW))
|
||||
{
|
||||
RESET(pp->Flags, PF_LOCK_HORIZ);
|
||||
SET(pp->Flags, PF_LOOKING);
|
||||
|
||||
// adjust *pq16horiz negative
|
||||
// adjust q16horiz negative
|
||||
if (pp->input.actions & SB_LOOK_DOWN)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizbase -= IntToFixed(HORIZ_SPEED);
|
||||
else
|
||||
pp->q16horizbase -= FloatToFixed(scaleAdjust * (HORIZ_SPEED));
|
||||
}
|
||||
pp->q16horizbase -= FloatToFixed(scaleAdjust * HORIZ_SPEED);
|
||||
|
||||
// adjust *pq16horiz positive
|
||||
// adjust q16horiz positive
|
||||
if (pp->input.actions & SB_LOOK_UP)
|
||||
{
|
||||
if (cl_syncinput)
|
||||
pp->q16horizbase += IntToFixed(HORIZ_SPEED);
|
||||
else
|
||||
pp->q16horizbase += FloatToFixed(scaleAdjust * (HORIZ_SPEED));
|
||||
}
|
||||
pp->centering = false;
|
||||
pp->q16horizbase += FloatToFixed(scaleAdjust * HORIZ_SPEED);
|
||||
|
||||
if (pp->input.actions & SB_CENTERVIEW)
|
||||
pp->q16horizoff = 0;
|
||||
}
|
||||
|
||||
if (!TEST(pp->Flags, PF_LOCK_HORIZ))
|
||||
{
|
||||
if (!(pp->input.actions & (SB_LOOK_UP|SB_LOOK_DOWN)))
|
||||
{
|
||||
// not pressing the *pq16horiz keys
|
||||
// not pressing the q16horiz keys
|
||||
if (pp->q16horizbase != IntToFixed(100))
|
||||
{
|
||||
|
||||
// move *pq16horiz back to 100
|
||||
for (i = 1; i; i--)
|
||||
// move q16horiz back to 100
|
||||
for (int i = 1; i; i--)
|
||||
{
|
||||
// this formula does not work for *pq16horiz = 101-103
|
||||
if (cl_syncinput)
|
||||
pp->q16horizbase += IntToFixed(25) - (pp->q16horizbase >> 2);
|
||||
else
|
||||
pp->q16horizbase += FloatToFixed(scaleAdjust * (FixedToFloat(IntToFixed(25) - (pp->q16horizbase >> 2))));
|
||||
// this formula does not work for q16horiz = 101-103
|
||||
pp->q16horizbase += xs_CRoundToInt(scaleAdjust * (IntToFixed(25) - (pp->q16horizbase >> 2)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// not looking anymore because *pq16horiz is back at 100
|
||||
// not looking anymore because q16horiz is back at 100
|
||||
RESET(pp->Flags, PF_LOOKING);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if 1
|
||||
// bound the base
|
||||
pp->q16horizbase = max(pp->q16horizbase, IntToFixed(PLAYER_HORIZ_MIN));
|
||||
pp->q16horizbase = min(pp->q16horizbase, IntToFixed(PLAYER_HORIZ_MAX));
|
||||
|
@ -2008,16 +1930,7 @@ DoPlayerHorizon(PLAYERp pp, fixed_t *pq16horiz, fixed_t q16horz, double const sc
|
|||
pp->q16horizoff = IntToFixed(PLAYER_HORIZ_MAX) - pp->q16horizbase;
|
||||
|
||||
// add base and offsets
|
||||
*pq16horiz = pp->q16horizbase + pp->q16horizoff;
|
||||
#else
|
||||
if (pp->q16horizbase + pp->q16horizoff < IntToFixed(PLAYER_HORIZ_MIN))
|
||||
pp->q16horizbase += IntToFixed(HORIZ_SPEED);
|
||||
else if (pp->q16horizbase + pp->q16horizoff > IntToFixed(PLAYER_HORIZ_MAX))
|
||||
pp->q16horizbase -= HORIZ_SPEED;
|
||||
|
||||
*pq16horiz = pp->q16horizbase + pp->q16horizoff;
|
||||
#endif
|
||||
|
||||
pp->q16horiz = pp->q16horizbase + pp->q16horizoff;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2072,17 +1985,12 @@ DoPlayerBob(PLAYERp pp)
|
|||
void
|
||||
DoPlayerBeginRecoil(PLAYERp pp, short pix_amt)
|
||||
{
|
||||
#if 0
|
||||
return;
|
||||
#else
|
||||
SET(pp->Flags, PF_RECOIL);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->recoil_amt = pix_amt;
|
||||
pp->recoil_speed = 80;
|
||||
pp->recoil_ndx = 0;
|
||||
pp->recoil_horizoff = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2573,7 +2481,14 @@ DoPlayerMove(PLAYERp pp)
|
|||
|
||||
DoPlayerSetWadeDepth(pp);
|
||||
|
||||
DoPlayerHorizon(pp, &pp->q16horiz, pp->input.q16horz);
|
||||
if (!cl_syncinput)
|
||||
{
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoPlayerHorizon(pp, pp->input.q16horz, 1);
|
||||
}
|
||||
|
||||
if (pp->cursectnum >= 0 && TEST(sector[pp->cursectnum].extra, SECTFX_DYNAMIC_AREA))
|
||||
{
|
||||
|
@ -2774,7 +2689,14 @@ DoPlayerMoveBoat(PLAYERp pp)
|
|||
OperateSectorObject(pp->sop, FixedToInt(pp->q16ang), pp->posx, pp->posy);
|
||||
pp->cursectnum = save_sectnum; // for speed
|
||||
|
||||
DoPlayerHorizon(pp, &pp->q16horiz, pp->input.q16horz);
|
||||
if (!cl_syncinput)
|
||||
{
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoPlayerHorizon(pp, pp->input.q16horz, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void DoTankTreads(PLAYERp pp)
|
||||
|
@ -3247,7 +3169,14 @@ DoPlayerMoveTank(PLAYERp pp)
|
|||
OperateSectorObject(pp->sop, FixedToInt(pp->q16ang), pp->posx, pp->posy);
|
||||
pp->cursectnum = save_sectnum; // for speed
|
||||
|
||||
DoPlayerHorizon(pp, &pp->q16horiz, pp->input.q16horz);
|
||||
if (!cl_syncinput)
|
||||
{
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoPlayerHorizon(pp, pp->input.q16horz, 1);
|
||||
}
|
||||
|
||||
DoTankTreads(pp);
|
||||
}
|
||||
|
@ -3264,7 +3193,14 @@ DoPlayerMoveTurret(PLAYERp pp)
|
|||
|
||||
OperateSectorObject(pp->sop, FixedToInt(pp->q16ang), pp->sop->xmid, pp->sop->ymid);
|
||||
|
||||
DoPlayerHorizon(pp, &pp->q16horiz, pp->input.q16horz);
|
||||
if (!cl_syncinput)
|
||||
{
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoPlayerHorizon(pp, pp->input.q16horz, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -3276,7 +3212,6 @@ DoPlayerBeginJump(PLAYERp pp)
|
|||
RESET(pp->Flags, PF_FALLING);
|
||||
RESET(pp->Flags, PF_CRAWLING);
|
||||
RESET(pp->Flags, PF_LOCK_CRAWL);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->floor_dist = PLAYER_JUMP_FLOOR_DIST;
|
||||
pp->ceiling_dist = PLAYER_JUMP_CEILING_DIST;
|
||||
|
@ -3306,7 +3241,6 @@ DoPlayerBeginForceJump(PLAYERp pp)
|
|||
|
||||
SET(pp->Flags, PF_JUMPING);
|
||||
RESET(pp->Flags, PF_FALLING|PF_CRAWLING|PF_CLIMBING|PF_LOCK_CRAWL);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->JumpDuration = MAX_JUMP_DURATION;
|
||||
pp->DoPlayerAction = DoPlayerForceJump;
|
||||
|
@ -3457,7 +3391,6 @@ DoPlayerBeginFall(PLAYERp pp)
|
|||
RESET(pp->Flags, PF_JUMPING);
|
||||
RESET(pp->Flags, PF_CRAWLING);
|
||||
RESET(pp->Flags, PF_LOCK_CRAWL);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->floor_dist = PLAYER_FALL_FLOOR_DIST;
|
||||
pp->ceiling_dist = PLAYER_FALL_CEILING_DIST;
|
||||
|
@ -3654,7 +3587,6 @@ DoPlayerBeginClimb(PLAYERp pp)
|
|||
RESET(pp->Flags, PF_JUMPING|PF_FALLING);
|
||||
RESET(pp->Flags, PF_CRAWLING);
|
||||
RESET(pp->Flags, PF_LOCK_CRAWL);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->DoPlayerAction = DoPlayerClimb;
|
||||
|
||||
|
@ -3841,7 +3773,14 @@ DoPlayerClimb(PLAYERp pp)
|
|||
sp->z = pp->posz + PLAYER_HEIGHT;
|
||||
changespritesect(pp->PlayerSprite, pp->cursectnum);
|
||||
|
||||
DoPlayerHorizon(pp, &pp->q16horiz, pp->input.q16horz);
|
||||
if (!cl_syncinput)
|
||||
{
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
}
|
||||
else
|
||||
{
|
||||
DoPlayerHorizon(pp, pp->input.q16horz, 1);
|
||||
}
|
||||
|
||||
if (FAF_ConnectArea(pp->cursectnum))
|
||||
{
|
||||
|
@ -3951,7 +3890,6 @@ DoPlayerBeginCrawl(PLAYERp pp)
|
|||
|
||||
RESET(pp->Flags, PF_FALLING | PF_JUMPING);
|
||||
SET(pp->Flags, PF_CRAWLING);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->friction = PLAYER_CRAWL_FRICTION;
|
||||
pp->floor_dist = PLAYER_CRAWL_FLOOR_DIST;
|
||||
|
@ -4107,7 +4045,6 @@ DoPlayerBeginFly(PLAYERp pp)
|
|||
|
||||
RESET(pp->Flags, PF_FALLING | PF_JUMPING | PF_CRAWLING);
|
||||
SET(pp->Flags, PF_FLYING);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->friction = PLAYER_FLY_FRICTION;
|
||||
pp->floor_dist = PLAYER_RUN_FLOOR_DIST;
|
||||
|
@ -4794,7 +4731,6 @@ DoPlayerBeginDive(PLAYERp pp)
|
|||
if (pp->Bloody) pp->Bloody = FALSE; // Water washes away the blood
|
||||
|
||||
SET(pp->Flags, PF_DIVING);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
DoPlayerDivePalette(pp);
|
||||
DoPlayerNightVisionPalette(pp);
|
||||
|
||||
|
@ -4860,7 +4796,6 @@ void DoPlayerBeginDiveNoWarp(PLAYERp pp)
|
|||
}
|
||||
|
||||
SET(pp->Flags, PF_DIVING);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
DoPlayerDivePalette(pp);
|
||||
DoPlayerNightVisionPalette(pp);
|
||||
|
||||
|
@ -5267,7 +5202,6 @@ DoPlayerBeginWade(PLAYERp pp)
|
|||
|
||||
RESET(pp->Flags, PF_JUMPING | PF_FALLING);
|
||||
RESET(pp->Flags, PF_CRAWLING);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
pp->friction = PLAYER_WADE_FRICTION;
|
||||
pp->floor_dist = PLAYER_WADE_FLOOR_DIST;
|
||||
|
@ -6933,7 +6867,6 @@ DoPlayerBeginRun(PLAYERp pp)
|
|||
}
|
||||
|
||||
RESET(pp->Flags, PF_CRAWLING|PF_JUMPING|PF_FALLING|PF_LOCK_CRAWL|PF_CLIMBING);
|
||||
SET(pp->Flags2, PF2_INPUT_CAN_AIM);
|
||||
|
||||
if (pp->WadeDepth)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue