- Duke: Remove player_struct::posZset().

This commit is contained in:
Mitchell Richters 2022-11-21 15:34:37 +11:00 committed by Christoph Oelckers
parent 92dd6c9795
commit 78b04649f1
7 changed files with 28 additions and 26 deletions

View file

@ -139,6 +139,12 @@ public:
backupang();
}
void restorez()
{
spr.pos.Z = opos.Z;
viewzoffset = oviewzoffset;
}
void restorevec2()
{
spr.pos.XY() = opos.XY();

View file

@ -1371,8 +1371,8 @@ void movetransports_d(void)
ps[p].GetActor()->backupvec2();
if (ps[p].jetpack_on && (PlayerInput(p, SB_JUMP) || ps[p].jetpack_on < 11))
ps[p].posZset(Owner->spr.pos.Z - 24);
else ps[p].posZset(Owner->spr.pos.Z + 24);
ps[p].GetActor()->spr.pos.Z = Owner->spr.pos.Z - 24 + gs.playerheight;
else ps[p].GetActor()->spr.pos.Z = Owner->spr.pos.Z + 24 + gs.playerheight;
ps[p].GetActor()->backupz();
auto pa = ps[p].GetActor();
@ -1396,7 +1396,7 @@ void movetransports_d(void)
}
if (ps[p].GetActor()->spr.extra > 0)
S_PlayActorSound(DUKE_UNDERWATER, act2);
ps[p].posZset(Owner->sector()->ceilingz + 7);
ps[p].GetActor()->spr.pos.Z = Owner->sector()->ceilingz + 7 + gs.playerheight;
ps[p].GetActor()->backupz();
// this is actually below the precision óf the original Build coordinate system...
@ -1415,7 +1415,7 @@ void movetransports_d(void)
}
S_PlayActorSound(DUKE_GASP, act2);
ps[p].posZset(Owner->sector()->floorz - 7);
ps[p].GetActor()->spr.pos.Z = Owner->sector()->floorz - 7 + gs.playerheight;
ps[p].GetActor()->backupz();
ps[p].jumping_toggle = 1;

View file

@ -1256,8 +1256,8 @@ void movetransports_r(void)
ps[p].GetActor()->backupvec2();
if (ps[p].jetpack_on && (PlayerInput(p, SB_JUMP) || ps[p].jetpack_on < 11))
ps[p].posZset(Owner->spr.pos.Z - 24);
else ps[p].posZset(Owner->spr.pos.Z + 24);
ps[p].GetActor()->spr.pos.Z = Owner->spr.pos.Z - 24 + gs.playerheight;
else ps[p].GetActor()->spr.pos.Z = Owner->spr.pos.Z + 24 + gs.playerheight;
ps[p].GetActor()->backupz();
ChangeActorSect(act2, Owner->sector());
@ -1273,7 +1273,7 @@ void movetransports_r(void)
if (onfloorz && sectlotag == 160 && ps[p].posZget() > sectp->floorz - 48)
{
k = 2;
ps[p].posZset(Owner->sector()->ceilingz + 7);
ps[p].GetActor()->spr.pos.Z = Owner->sector()->ceilingz + 7 + gs.playerheight;
ps[p].GetActor()->backupz();
}
@ -1281,7 +1281,7 @@ void movetransports_r(void)
{
k = 2;
if (ps[p].GetActor()->spr.extra <= 0) break;
ps[p].posZset(Owner->sector()->floorz - 49);
ps[p].GetActor()->spr.pos.Z = Owner->sector()->floorz - 49 + gs.playerheight;
ps[p].GetActor()->backupz();
}
}
@ -1296,7 +1296,7 @@ void movetransports_r(void)
FX_StopAllSounds();
}
S_PlayActorSound(DUKE_UNDERWATER, ps[p].GetActor());
ps[p].posZset(Owner->sector()->ceilingz + 7);
ps[p].GetActor()->spr.pos.Z = Owner->sector()->ceilingz + 7 + gs.playerheight;
ps[p].GetActor()->backupz();
if (ps[p].OnMotorcycle)
ps[p].moto_underwater = 1;
@ -1312,7 +1312,7 @@ void movetransports_r(void)
}
S_PlayActorSound(DUKE_GASP, ps[p].GetActor());
ps[p].posZset(Owner->sector()->floorz - 7);
ps[p].GetActor()->spr.pos.Z = Owner->sector()->floorz - 7 + gs.playerheight;
ps[p].GetActor()->backupz();
}

View file

@ -1732,7 +1732,7 @@ static void operateJetpack(int snum, ESyncBits actions, int psectlotag, double f
if (p->posZget() > floorz - k)
p->posZadd(((floorz - k) - p->posZget()) * 0.5);
if (p->posZget() < pact->ceilingz + 18)
p->posZset(pact->ceilingz + 18);
p->GetActor()->spr.pos.Z = pact->ceilingz + 18 + gs.playerheight;
}
@ -1791,7 +1791,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
// not jumping or crouching
if ((actions & (SB_JUMP|SB_CROUCH)) == 0 && p->on_ground && (psect->floorstat & CSTAT_SECTOR_SLOPE) && p->posZget() >= (floorz - i - 16))
p->posZset(floorz - i);
p->GetActor()->spr.pos.Z = floorz - i + gs.playerheight;
else
{
p->on_ground = 0;
@ -1859,7 +1859,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
p->posZadd(((floorz - i * 0.5) - p->posZget()) * 0.5); //Smooth on the water
if (p->on_warping_sector == 0 && p->posZget() > floorz - 16)
{
p->posZset(floorz - 16);
p->GetActor()->spr.pos.Z = floorz - 16 + gs.playerheight;
p->vel.Z *= 0.5;
}
}
@ -1918,7 +1918,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
if (p->vel.Z < 0)
p->vel.X = p->vel.Y = 0;
p->vel.Z = 0.5;
p->posZset(ceilingz + 4);
p->GetActor()->spr.pos.Z = ceilingz + 4 + gs.playerheight;
}
}
@ -1984,7 +1984,7 @@ static void underwater(int snum, ESyncBits actions, double floorz, double ceilin
if (p->posZget() < ceilingz + 4)
{
p->posZset(ceilingz + 4);
p->GetActor()->spr.pos.Z = ceilingz + 4 + gs.playerheight;
p->vel.Z = 0;
}
@ -2043,7 +2043,7 @@ int operateTripbomb(int snum)
auto delta = hit.hitpos.XY() - p->GetActor()->spr.pos.XY();
if (delta.LengthSquared() < (18.125 * 18.125))
{
p->posZset(p->posoldZget());
p->GetActor()->restorez();
p->vel.Z = 0;
return 1;
}
@ -2585,7 +2585,7 @@ static void operateweapon(int snum, ESyncBits actions)
case TRIPBOMB_WEAPON: // Claymore in NAM
if (p->kickback_pic < 4)
{
p->posZset(p->posoldZget());
p->GetActor()->restorez();
p->vel.Z = 0;
if (p->kickback_pic == 3)
fi.shoot(pact, HANDHOLDINGLASER);

View file

@ -2080,7 +2080,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
if (p->posZget() < floorz - i) //falling
{
if ((actions & (SB_JUMP|SB_CROUCH)) == 0 && p->on_ground && (psect->floorstat & CSTAT_SECTOR_SLOPE) && p->posZget() >= (floorz - i - 16))
p->posZset(floorz - i);
p->GetActor()->spr.pos.Z = floorz - i + gs.playerheight;
else
{
p->on_ground = 0;
@ -2186,7 +2186,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
p->posZadd(((floorz - i * 0.5) - p->posZget()) * 0.5); //Smooth on the water
if (p->on_warping_sector == 0 && p->posZget() > floorz - 16)
{
p->posZset(floorz - 16);
p->GetActor()->spr.pos.Z = floorz - 16 + gs.playerheight;
p->vel.Z *= 0.5;
}
}
@ -2241,7 +2241,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
if (p->vel.Z < 0)
p->vel.X = p->vel.Y = 0;
p->vel.Z = 0.5;
p->posZset(ceilingz + 4);
p->GetActor()->spr.pos.Z = ceilingz + 4 + gs.playerheight;
}
}
@ -2303,7 +2303,7 @@ static void underwater(int snum, ESyncBits actions, double floorz, double ceilin
if (p->posZget() < ceilingz + 4)
{
p->posZset(ceilingz + 4);
p->GetActor()->spr.pos.Z = ceilingz + 4 + gs.playerheight;
p->vel.Z = 0;
}

View file

@ -436,7 +436,7 @@ void operateweapon_ww(int snum, ESyncBits actions)
if (aplWeaponFlags(p->curr_weapon, snum) & WEAPON_FLAG_STANDSTILL
&& p->kickback_pic < (aplWeaponFireDelay(p->curr_weapon, snum) + 1))
{
p->posZset(p->posoldZget());
p->GetActor()->restorez();
p->vel.Z = 0;
}
if (p->kickback_pic == aplWeaponSound2Time(p->curr_weapon, snum))

View file

@ -336,10 +336,6 @@ struct player_struct
}
void posZset(const double val)
{
GetActor()->spr.pos.Z = val - GetActor()->viewzoffset;
}
void posZadd(const double val)
{
GetActor()->spr.pos.Z += val;