mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 17:01:51 +00:00
- floatified PLAYER::Revolve
This commit is contained in:
parent
cebdc653bb
commit
83adf5e88a
3 changed files with 7 additions and 32 deletions
|
@ -651,7 +651,7 @@ struct PLAYER
|
|||
int16_t recoil_ndx;
|
||||
fixed_t recoil_ohorizoff, recoil_horizoff;
|
||||
|
||||
vec3_t Revolve;
|
||||
DVector3 Revolve;
|
||||
DAngle RevolveDeltaAng;
|
||||
DAngle RevolveAng;
|
||||
|
||||
|
|
|
@ -6987,8 +6987,7 @@ DEFINE_FIELD_X(SWPlayer, PLAYER, recoil_ohorizoff)
|
|||
//DEFINE_FIELD_X(SWPlayer, PLAYER, oldposx)
|
||||
//DEFINE_FIELD_X(SWPlayer, PLAYER, oldposy)
|
||||
//DEFINE_FIELD_X(SWPlayer, PLAYER, oldposz)
|
||||
//DEFINE_FIELD_X(SWPlayer, PLAYER, Revolve.X)
|
||||
//DEFINE_FIELD_X(SWPlayer, PLAYER, Revolve.Y)
|
||||
//DEFINE_FIELD_X(SWPlayer, PLAYER, Revolve)
|
||||
DEFINE_FIELD_X(SWPlayer, PLAYER, RevolveDeltaAng)
|
||||
DEFINE_FIELD_X(SWPlayer, PLAYER, pnum)
|
||||
DEFINE_FIELD_X(SWPlayer, PLAYER, LadderSector)
|
||||
|
|
|
@ -696,28 +696,6 @@ void SectorObjectSetupBounds(SECTOR_OBJECT* sop)
|
|||
KillActor(BoundActor);
|
||||
}
|
||||
|
||||
#if 0
|
||||
// look for players on sector object
|
||||
PLAYER* pp;
|
||||
short pnum;
|
||||
TRAVERSE_CONNECT(pnum)
|
||||
{
|
||||
pp = &Player[pnum];
|
||||
|
||||
if (pp->posx > xlow && pp->posx < xhigh && pp->posy > ylow && pp->posy < yhigh)
|
||||
{
|
||||
pp->RevolveAng = pp->angle.ang;
|
||||
pp->Revolve.X = pp->pos.X;
|
||||
pp->Revolve.Y = pp->pos.Y;
|
||||
pp->RevolveDeltaAng = nullAngle;
|
||||
pp->Flags |= (PF_PLAYER_RIDING);
|
||||
|
||||
pp->sop_riding = sop;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// look through all sectors for whole sectors that are IN bounds
|
||||
for (auto&sec: sector)
|
||||
{
|
||||
|
@ -1497,8 +1475,7 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
|
|||
pp->Flags |= (PF_PLAYER_RIDING);
|
||||
|
||||
pp->RevolveAng = pp->angle.ang;
|
||||
pp->Revolve.X = pp->int_ppos().X;
|
||||
pp->Revolve.Y = pp->int_ppos().Y;
|
||||
pp->Revolve.XY() = pp->pos.XY();
|
||||
|
||||
// set the delta angle to 0 when moving
|
||||
pp->RevolveDeltaAng = nullAngle;
|
||||
|
@ -1520,8 +1497,7 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
|
|||
// moving then you
|
||||
// know where he was last
|
||||
pp->RevolveAng = pp->angle.ang;
|
||||
pp->Revolve.X = pp->int_ppos().X;
|
||||
pp->Revolve.Y = pp->int_ppos().Y;
|
||||
pp->Revolve.XY() = pp->pos.XY();
|
||||
|
||||
// set the delta angle to 0 when moving
|
||||
pp->RevolveDeltaAng = nullAngle;
|
||||
|
@ -1531,8 +1507,8 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
|
|||
// Player is NOT moving
|
||||
|
||||
// Move saved x&y variables
|
||||
pp->Revolve.X += nx;
|
||||
pp->Revolve.Y += ny;
|
||||
pp->Revolve.X += nx * inttoworld;
|
||||
pp->Revolve.Y += ny * inttoworld;
|
||||
|
||||
// Last known angle is now adjusted by the delta angle
|
||||
pp->RevolveAng = deltaangle(pp->RevolveDeltaAng, pp->angle.ang);
|
||||
|
@ -1541,7 +1517,7 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, int nx, int ny)
|
|||
// increment Players delta angle
|
||||
pp->RevolveDeltaAng += GlobSpeedSO;
|
||||
|
||||
pp->pos.XY() = rotatepoint(sop->pmid.XY(), {pp->Revolve.X * inttoworld, pp->Revolve.Y * inttoworld}, pp->RevolveDeltaAng);
|
||||
pp->pos.XY() = rotatepoint(sop->pmid.XY(), pp->Revolve.XY(), pp->RevolveDeltaAng);
|
||||
|
||||
// THIS WAS CAUSING PROLEMS!!!!
|
||||
// Sectors are still being manipulated so you can end up in a void (-1) sector
|
||||
|
|
Loading…
Reference in a new issue