mirror of
https://github.com/DrBeef/Raze.git
synced 2025-03-21 17:00:52 +00:00
- Duke: Remove player_struct::posZget()
.
This commit is contained in:
parent
bd8a6dd956
commit
b42672dcf9
16 changed files with 74 additions and 74 deletions
|
@ -156,6 +156,11 @@ public:
|
|||
viewzoffset = oviewzoffset;
|
||||
}
|
||||
|
||||
double getOffsetZ()
|
||||
{
|
||||
return spr.pos.Z + viewzoffset;
|
||||
}
|
||||
|
||||
sectortype* sector() const
|
||||
{
|
||||
return spr.sectp;
|
||||
|
|
|
@ -972,9 +972,9 @@ void recon(DDukeActor *actor, int explosion, int firelaser, int attacksnd, int p
|
|||
|
||||
if (actor->temp_data[0] == 2)
|
||||
{
|
||||
double l = ps[p].posZget() - actor->spr.pos.Z;
|
||||
double l = ps[p].GetActor()->getOffsetZ() - actor->spr.pos.Z;
|
||||
if (fabs(l) < 48) actor->temp_data[0] = 3;
|
||||
else actor->spr.pos.Z += (Sgn(ps[p].posZget() - actor->spr.pos.Z) * shift); // The shift here differs between Duke and RR.
|
||||
else actor->spr.pos.Z += (Sgn(ps[p].GetActor()->getOffsetZ() - actor->spr.pos.Z) * shift); // The shift here differs between Duke and RR.
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3490,7 +3490,7 @@ void handle_se27(DDukeActor* actor)
|
|||
ud.cameraactor = actor;
|
||||
actor->temp_data[0] = 999;
|
||||
actor->spr.angle += deltaangle(actor->spr.angle, (ps[p].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Angle()) * 0.125;
|
||||
actor->spr.yint = 100 + int((actor->spr.pos.Z - ps[p].posZget()) * (256. / 257.));
|
||||
actor->spr.yint = 100 + int((actor->spr.pos.Z - ps[p].GetActor()->getOffsetZ()) * (256. / 257.));
|
||||
|
||||
}
|
||||
else if (actor->temp_data[0] == 999)
|
||||
|
@ -3570,7 +3570,7 @@ void handle_se24(DDukeActor *actor, bool scroll, double mult)
|
|||
{
|
||||
if (ps[p].cursector == actor->sector() && ps[p].on_ground)
|
||||
{
|
||||
if (abs(ps[p].posZget() - ps[p].truefz) < gs.playerheight + 9)
|
||||
if (abs(ps[p].GetActor()->getOffsetZ() - ps[p].truefz) < gs.playerheight + 9)
|
||||
{
|
||||
ps[p].fric += vec * (1. / 8.); // keeping the original velocity. to match the animation it should be ~1/24.
|
||||
}
|
||||
|
|
|
@ -1363,7 +1363,7 @@ void movetransports_d(void)
|
|||
}
|
||||
else if (!(sectlotag == 1 && ps[p].on_ground == 1)) break;
|
||||
|
||||
if (onfloorz == 0 && abs(act->spr.pos.Z - ps[p].posZget()) < 24)
|
||||
if (onfloorz == 0 && abs(act->spr.pos.Z - ps[p].GetActor()->getOffsetZ()) < 24)
|
||||
if ((ps[p].jetpack_on == 0) || (ps[p].jetpack_on && (PlayerInput(p, SB_JUMP))) ||
|
||||
(ps[p].jetpack_on && PlayerInput(p, SB_CROUCH)))
|
||||
{
|
||||
|
@ -1386,7 +1386,7 @@ void movetransports_d(void)
|
|||
|
||||
int k = 0;
|
||||
|
||||
if (onfloorz && sectlotag == ST_1_ABOVE_WATER && ps[p].on_ground && ps[p].posZget() > (sectp->floorz - 16) && (PlayerInput(p, SB_CROUCH) || ps[p].vel.Z > 8))
|
||||
if (onfloorz && sectlotag == ST_1_ABOVE_WATER && ps[p].on_ground && ps[p].GetActor()->getOffsetZ() > (sectp->floorz - 16) && (PlayerInput(p, SB_CROUCH) || ps[p].vel.Z > 8))
|
||||
// if( onfloorz && sectlotag == 1 && ps[p].pos.z > (sectp->floorz-(6<<8)) )
|
||||
{
|
||||
k = 1;
|
||||
|
@ -1405,7 +1405,7 @@ void movetransports_d(void)
|
|||
|
||||
}
|
||||
|
||||
if (onfloorz && sectlotag == ST_2_UNDERWATER && ps[p].posZget() < (sectp->ceilingz + 6))
|
||||
if (onfloorz && sectlotag == ST_2_UNDERWATER && ps[p].GetActor()->getOffsetZ() < (sectp->ceilingz + 6))
|
||||
{
|
||||
k = 1;
|
||||
// if( act2->spr.extra <= 0) break;
|
||||
|
@ -1721,7 +1721,7 @@ static void greenslime(DDukeActor *actor)
|
|||
return;
|
||||
}
|
||||
|
||||
actor->spr.pos.Z = ps[p].posZget() + 8 + ps[p].pyoff - (actor->temp_data[2] + (ps[p].horizon.horiz.Tan() * 2048.)) * zinttoworld;
|
||||
actor->spr.pos.Z = ps[p].GetActor()->getOffsetZ() + 8 + ps[p].pyoff - (actor->temp_data[2] + (ps[p].horizon.horiz.Tan() * 2048.)) * zinttoworld;
|
||||
|
||||
if (actor->temp_data[2] > 512)
|
||||
actor->temp_data[2] -= 128;
|
||||
|
|
|
@ -1248,7 +1248,7 @@ void movetransports_r(void)
|
|||
}
|
||||
else break;
|
||||
|
||||
if (onfloorz == 0 && fabs(act->spr.pos.Z - ps[p].posZget()) < 24)
|
||||
if (onfloorz == 0 && fabs(act->spr.pos.Z - ps[p].GetActor()->getOffsetZ()) < 24)
|
||||
if ((ps[p].jetpack_on == 0) || (ps[p].jetpack_on && PlayerInput(p, SB_JUMP)) ||
|
||||
(ps[p].jetpack_on && PlayerInput(p, SB_CROUCH)))
|
||||
{
|
||||
|
@ -1270,14 +1270,14 @@ void movetransports_r(void)
|
|||
|
||||
if (isRRRA())
|
||||
{
|
||||
if (onfloorz && sectlotag == 160 && ps[p].posZget() > sectp->floorz - 48)
|
||||
if (onfloorz && sectlotag == 160 && ps[p].GetActor()->getOffsetZ() > sectp->floorz - 48)
|
||||
{
|
||||
k = 2;
|
||||
ps[p].GetActor()->spr.pos.Z = Owner->sector()->ceilingz + 7 + gs.playerheight;
|
||||
ps[p].GetActor()->backupz();
|
||||
}
|
||||
|
||||
if (onfloorz && sectlotag == 161 && ps[p].posZget() < sectp->ceilingz + 6)
|
||||
if (onfloorz && sectlotag == 161 && ps[p].GetActor()->getOffsetZ() < sectp->ceilingz + 6)
|
||||
{
|
||||
k = 2;
|
||||
if (ps[p].GetActor()->spr.extra <= 0) break;
|
||||
|
@ -1286,7 +1286,7 @@ void movetransports_r(void)
|
|||
}
|
||||
}
|
||||
|
||||
if ((onfloorz && sectlotag == ST_1_ABOVE_WATER && ps[p].posZget() > sectp->floorz - 6) ||
|
||||
if ((onfloorz && sectlotag == ST_1_ABOVE_WATER && ps[p].GetActor()->getOffsetZ() > sectp->floorz - 6) ||
|
||||
(onfloorz && sectlotag == ST_1_ABOVE_WATER && ps[p].OnMotorcycle))
|
||||
{
|
||||
if (ps[p].OnBoat) break;
|
||||
|
@ -1302,7 +1302,7 @@ void movetransports_r(void)
|
|||
ps[p].moto_underwater = 1;
|
||||
}
|
||||
|
||||
if (onfloorz && sectlotag == ST_2_UNDERWATER && ps[p].posZget() < sectp->ceilingz + 6)
|
||||
if (onfloorz && sectlotag == ST_2_UNDERWATER && ps[p].GetActor()->getOffsetZ() < sectp->ceilingz + 6)
|
||||
{
|
||||
k = 1;
|
||||
if (ps[p].GetActor()->spr.extra <= 0) break;
|
||||
|
|
|
@ -345,7 +345,7 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
case DEVISTATOR_WEAPON: newtspr->picnum = DEVISTATORSPRITE; break;
|
||||
}
|
||||
|
||||
if (h->GetOwner()) newtspr->pos.Z = ps[p].posZget() - 12;
|
||||
if (h->GetOwner()) newtspr->pos.Z = ps[p].GetActor()->getOffsetZ() - 12;
|
||||
else newtspr->pos.Z = h->spr.pos.Z - 51;
|
||||
if (ps[p].curr_weapon == HANDBOMB_WEAPON)
|
||||
{
|
||||
|
@ -541,7 +541,7 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
floorz = h->floorz;
|
||||
|
||||
|
||||
if (h->spr.pos.Z - floorz < 8 && ps[screenpeek].posZget() < floorz)
|
||||
if (h->spr.pos.Z - floorz < 8 && ps[screenpeek].GetActor()->getOffsetZ() < floorz)
|
||||
{
|
||||
auto shadowspr = tsprites.newTSprite();
|
||||
*shadowspr = *t;
|
||||
|
|
|
@ -397,7 +397,7 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
case TIT_WEAPON: newtspr->picnum = TITSPRITE; break;
|
||||
}
|
||||
|
||||
if (h->GetOwner()) newtspr->pos.Z = ps[p].posZget() - 12;
|
||||
if (h->GetOwner()) newtspr->pos.Z = ps[p].GetActor()->getOffsetZ() - 12;
|
||||
else newtspr->pos.Z = h->spr.pos.Z - 51;
|
||||
if (ps[p].curr_weapon == HANDBOMB_WEAPON)
|
||||
{
|
||||
|
@ -705,7 +705,7 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
else
|
||||
floorz = h->floorz;
|
||||
|
||||
if (h->spr.pos.Z - floorz < 8 && ps[screenpeek].posZget() < floorz)
|
||||
if (h->spr.pos.Z - floorz < 8 && ps[screenpeek].GetActor()->getOffsetZ() < floorz)
|
||||
{
|
||||
auto shadowspr = tsprites.newTSprite();
|
||||
*shadowspr = *t;
|
||||
|
|
|
@ -431,7 +431,7 @@ bool GameInterface::DrawAutomapPlayer(const DVector2& mxy, const DVector2& cpos,
|
|||
auto& pp = ps[p];
|
||||
auto act = pp.GetActor();
|
||||
int i = TILE_APLAYERTOP + (act->vel.X > 1 && pp.on_ground ? (PlayClock >> 4) & 3 : 0);
|
||||
double j = clamp(czoom * act->spr.scale.Y + abs(pp.truefz - pp.posZget()) * REPEAT_SCALE, 0.333, 2.);
|
||||
double j = clamp(czoom * act->spr.scale.Y + abs(pp.truefz - pp.GetActor()->getOffsetZ()) * REPEAT_SCALE, 0.333, 2.);
|
||||
|
||||
auto const vec = OutAutomapVector(mxy - cpos, cangvect, czoom, xydim);
|
||||
auto const daang = -((!SyncInput() ? act->spr.angle : act->interpolatedangle(interpfrac)) - cang).Normalized360().Degrees();
|
||||
|
|
|
@ -334,7 +334,7 @@ void DoPlayer(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor,
|
|||
break;
|
||||
|
||||
case PLAYER_POSZ:
|
||||
if (!bSet) SetGameVarID(lVar2, int(ps[iPlayer].posZget() * (1 / zmaptoworld)), sActor, sPlayer);
|
||||
if (!bSet) SetGameVarID(lVar2, int(ps[iPlayer].GetActor()->getOffsetZ() * (1 / zmaptoworld)), sActor, sPlayer);
|
||||
break;
|
||||
|
||||
case PLAYER_HORIZ:
|
||||
|
@ -2408,7 +2408,7 @@ int ParseState::parse(void)
|
|||
j = 1;
|
||||
else if( (l& prunning) && vel >= 0.5 && PlayerInput(g_p, SB_RUN) )
|
||||
j = 1;
|
||||
else if( (l& phigher) && ps[g_p].posZget() < g_ac->spr.pos.Z - 48)
|
||||
else if( (l& phigher) && ps[g_p].GetActor()->getOffsetZ() < g_ac->spr.pos.Z - 48)
|
||||
j = 1;
|
||||
else if( (l& pwalkingback) && vel <= -0.5 && !(PlayerInput(g_p, SB_RUN)) )
|
||||
j = 1;
|
||||
|
|
|
@ -607,7 +607,7 @@ void playerisdead(int snum, int psectlotag, double floorz, double ceilingz)
|
|||
{
|
||||
if (p->on_warping_sector == 0)
|
||||
{
|
||||
if (abs(p->posZget() - floorz) > (gs.playerheight * 0.5))
|
||||
if (abs(p->GetActor()->getOffsetZ() - floorz) > (gs.playerheight * 0.5))
|
||||
p->GetActor()->spr.pos.Z += 348/ 256.;
|
||||
}
|
||||
else
|
||||
|
@ -617,7 +617,7 @@ void playerisdead(int snum, int psectlotag, double floorz, double ceilingz)
|
|||
}
|
||||
|
||||
Collision coll;
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, DVector2( 0, 0), 10.25, 4., 4., CLIPMASK0, coll);
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, DVector2( 0, 0), 10.25, 4., 4., CLIPMASK0, coll);
|
||||
}
|
||||
|
||||
backupplayer(p);
|
||||
|
@ -626,10 +626,10 @@ void playerisdead(int snum, int psectlotag, double floorz, double ceilingz)
|
|||
|
||||
updatesector(p->posGet(), &p->cursector);
|
||||
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 8, 4, 20, CLIPMASK0);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, 8, 4, 20, CLIPMASK0);
|
||||
|
||||
if (floorz > ceilingz + 16 && actor->spr.pal != 1)
|
||||
p->angle.rotscrnang = DAngle::fromBuild(p->dead_flag + ((floorz + p->posZget()) * 2));
|
||||
p->angle.rotscrnang = DAngle::fromBuild(p->dead_flag + ((floorz + p->GetActor()->getOffsetZ()) * 2));
|
||||
|
||||
p->on_warping_sector = 0;
|
||||
|
||||
|
@ -771,7 +771,7 @@ void player_struct::backuppos(bool noclipping)
|
|||
GetActor()->restorevec2();
|
||||
}
|
||||
|
||||
posoldZset(posZget());
|
||||
posoldZset(GetActor()->getOffsetZ());
|
||||
bobpos = GetActor()->spr.pos.XY();
|
||||
opyoff = pyoff;
|
||||
}
|
||||
|
|
|
@ -384,7 +384,7 @@ static void shootweapon(DDukeActor *actor, int p, DVector3 pos, DAngle ang, int
|
|||
int j = findplayer(actor, &x);
|
||||
pos.Z -= 4;
|
||||
double dist = (ps[j].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Length();
|
||||
zvel = ((ps[j].posZget() - pos.Z) * 16) / dist;
|
||||
zvel = ((ps[j].GetActor()->getOffsetZ() - pos.Z) * 16) / dist;
|
||||
zvel += 0.5 - krandf(1);
|
||||
if (actor->spr.picnum != BOSS1)
|
||||
{
|
||||
|
@ -933,7 +933,7 @@ static void shootgrowspark(DDukeActor* actor, int p, DVector3 pos, DAngle ang)
|
|||
int j = findplayer(actor, &x);
|
||||
pos.Z -= 4;
|
||||
double dist = (ps[j].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Length();
|
||||
zvel = ((ps[j].posZget() - pos.Z) * 16) / dist;
|
||||
zvel = ((ps[j].GetActor()->getOffsetZ() - pos.Z) * 16) / dist;
|
||||
zvel += 0.5 - krandf(1);
|
||||
ang += DAngle22_5 / 4 - randomAngle(22.5 / 2);
|
||||
}
|
||||
|
@ -1022,7 +1022,7 @@ static void shootshrinker(DDukeActor* actor, int p, const DVector3& pos, DAngle
|
|||
double x;
|
||||
int j = findplayer(actor, &x);
|
||||
double dist = (ps[j].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Length();
|
||||
zvel = ((ps[j].posZget() - pos.Z) * 32) / dist;
|
||||
zvel = ((ps[j].GetActor()->getOffsetZ() - pos.Z) * 32) / dist;
|
||||
}
|
||||
else zvel = 0;
|
||||
|
||||
|
@ -1729,9 +1729,9 @@ static void operateJetpack(int snum, ESyncBits actions, int psectlotag, double f
|
|||
if (psectlotag != 2 && p->scuba_on == 1)
|
||||
p->scuba_on = 0;
|
||||
|
||||
if (p->posZget() > floorz - k)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - k) - p->posZget()) * 0.5;
|
||||
if (p->posZget() < pact->ceilingz + 18)
|
||||
if (p->GetActor()->getOffsetZ() > floorz - k)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - k) - p->GetActor()->getOffsetZ()) * 0.5;
|
||||
if (p->GetActor()->getOffsetZ() < pact->ceilingz + 18)
|
||||
p->GetActor()->spr.pos.Z = pact->ceilingz + 18 + gs.playerheight;
|
||||
|
||||
}
|
||||
|
@ -1786,11 +1786,11 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
footprints(snum);
|
||||
}
|
||||
|
||||
if (p->posZget() < floorz - i) //falling
|
||||
if (p->GetActor()->getOffsetZ() < floorz - i) //falling
|
||||
{
|
||||
|
||||
// not jumping or crouching
|
||||
if ((actions & (SB_JUMP|SB_CROUCH)) == 0 && p->on_ground && (psect->floorstat & CSTAT_SECTOR_SLOPE) && p->posZget() >= (floorz - i - 16))
|
||||
if ((actions & (SB_JUMP|SB_CROUCH)) == 0 && p->on_ground && (psect->floorstat & CSTAT_SECTOR_SLOPE) && p->GetActor()->getOffsetZ() >= (floorz - i - 16))
|
||||
p->GetActor()->spr.pos.Z = floorz - i + gs.playerheight;
|
||||
else
|
||||
{
|
||||
|
@ -1804,7 +1804,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
S_PlayActorSound(DUKE_SCREAM, pact);
|
||||
}
|
||||
|
||||
if (p->posZget() + p->vel.Z >= floorz - i) // hit the ground
|
||||
if (p->GetActor()->getOffsetZ() + p->vel.Z >= floorz - i) // hit the ground
|
||||
{
|
||||
S_StopSound(DUKE_SCREAM, pact);
|
||||
if (!p->insector() || p->cursector->lotag != 1)
|
||||
|
@ -1848,7 +1848,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
{
|
||||
//Smooth on the ground
|
||||
|
||||
double k = (floorz - i - p->posZget()) * 0.5;
|
||||
double k = (floorz - i - p->GetActor()->getOffsetZ()) * 0.5;
|
||||
if (abs(k) < 1) k = 0;
|
||||
p->GetActor()->spr.pos.Z += k;
|
||||
p->vel.Z -= 3;
|
||||
|
@ -1856,8 +1856,8 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
}
|
||||
else if (p->jumping_counter == 0)
|
||||
{
|
||||
p->GetActor()->spr.pos.Z += ((floorz - i * 0.5) - p->posZget()) * 0.5; //Smooth on the water
|
||||
if (p->on_warping_sector == 0 && p->posZget() > floorz - 16)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - i * 0.5) - p->GetActor()->getOffsetZ()) * 0.5; //Smooth on the water
|
||||
if (p->on_warping_sector == 0 && p->GetActor()->getOffsetZ() > floorz - 16)
|
||||
{
|
||||
p->GetActor()->spr.pos.Z = floorz - 16 + gs.playerheight;
|
||||
p->vel.Z *= 0.5;
|
||||
|
@ -1912,7 +1912,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
|
||||
p->GetActor()->spr.pos.Z += p->vel.Z;
|
||||
|
||||
if (p->posZget() < ceilingz + 4)
|
||||
if (p->GetActor()->getOffsetZ() < ceilingz + 4)
|
||||
{
|
||||
p->jumping_counter = 0;
|
||||
if (p->vel.Z < 0)
|
||||
|
@ -1979,10 +1979,10 @@ static void underwater(int snum, ESyncBits actions, double floorz, double ceilin
|
|||
|
||||
p->GetActor()->spr.pos.Z += p->vel.Z;
|
||||
|
||||
if (p->posZget() > floorz - 15)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - 15) - p->posZget()) * 0.5;
|
||||
if (p->GetActor()->getOffsetZ() > floorz - 15)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - 15) - p->GetActor()->getOffsetZ()) * 0.5;
|
||||
|
||||
if (p->posZget() < ceilingz + 4)
|
||||
if (p->GetActor()->getOffsetZ() < ceilingz + 4)
|
||||
{
|
||||
p->GetActor()->spr.pos.Z = ceilingz + 4 + gs.playerheight;
|
||||
p->vel.Z = 0;
|
||||
|
@ -1995,7 +1995,7 @@ static void underwater(int snum, ESyncBits actions, double floorz, double ceilin
|
|||
{
|
||||
j->spr.pos += (p->angle.ang.ToVector() + DVector2(4 - (global_random & 8), 4 - (global_random & 8))) * 16;
|
||||
j->spr.scale = DVector2(0.046875, 0.3125);
|
||||
j->spr.pos.Z = p->posZget() + 8;
|
||||
j->spr.pos.Z = p->GetActor()->getOffsetZ() + 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2755,7 +2755,7 @@ void processinput_d(int snum)
|
|||
p->truefz = getflorzofslopeptr(psectp, p->posGet());
|
||||
p->truecz = getceilzofslopeptr(psectp, p->posGet());
|
||||
|
||||
truefdist = abs(p->posZget() - p->truefz);
|
||||
truefdist = abs(p->GetActor()->getOffsetZ() - p->truefz);
|
||||
if (clz.type == kHitSector && psectlotag == 1 && truefdist > gs.playerheight + 16)
|
||||
psectlotag = 0;
|
||||
|
||||
|
@ -3038,7 +3038,7 @@ HORIZONLY:
|
|||
ChangeActorSect(pact, p->cursector);
|
||||
}
|
||||
else
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
|
||||
if (p->jetpack_on == 0 && psectlotag != 2 && psectlotag != 1 && shrunk)
|
||||
p->GetActor()->spr.pos.Z += 32;
|
||||
|
@ -3090,7 +3090,7 @@ HORIZONLY:
|
|||
while (ud.clipping == 0)
|
||||
{
|
||||
int blocked;
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 10.25, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, 10.25, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
|
||||
if (fabs(pact->floorz - pact->ceilingz) < 48 || blocked)
|
||||
{
|
||||
|
|
|
@ -245,7 +245,7 @@ static void shootweapon(DDukeActor* actor, int p, DVector3 pos, DAngle ang, int
|
|||
int j = findplayer(actor, &x);
|
||||
pos.Z -= 4;
|
||||
double dist = (ps[j].GetActor()->spr.pos.XY() - actor->spr.pos.XY()).Length();
|
||||
zvel = ((ps[j].posZget() - pos.Z) * 16) / dist;
|
||||
zvel = ((ps[j].GetActor()->getOffsetZ() - pos.Z) * 16) / dist;
|
||||
if (actor->spr.picnum != BOSS1)
|
||||
{
|
||||
zvel += 0.5 - krandf(1);
|
||||
|
@ -2077,15 +2077,15 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
footprints(snum);
|
||||
}
|
||||
|
||||
if (p->posZget() < floorz - i) //falling
|
||||
if (p->GetActor()->getOffsetZ() < floorz - i) //falling
|
||||
{
|
||||
if ((actions & (SB_JUMP|SB_CROUCH)) == 0 && p->on_ground && (psect->floorstat & CSTAT_SECTOR_SLOPE) && p->posZget() >= (floorz - i - 16))
|
||||
if ((actions & (SB_JUMP|SB_CROUCH)) == 0 && p->on_ground && (psect->floorstat & CSTAT_SECTOR_SLOPE) && p->GetActor()->getOffsetZ() >= (floorz - i - 16))
|
||||
p->GetActor()->spr.pos.Z = floorz - i + gs.playerheight;
|
||||
else
|
||||
{
|
||||
p->on_ground = 0;
|
||||
|
||||
if ((p->OnMotorcycle || p->OnBoat) && floorz - i * 2 > p->posZget())
|
||||
if ((p->OnMotorcycle || p->OnBoat) && floorz - i * 2 > p->GetActor()->getOffsetZ())
|
||||
{
|
||||
if (p->MotoOnGround)
|
||||
{
|
||||
|
@ -2115,7 +2115,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
S_PlayActorSound(DUKE_SCREAM, pact);
|
||||
}
|
||||
|
||||
if (p->posZget() + p->vel.Z >= floorz - i) // hit the ground
|
||||
if (p->GetActor()->getOffsetZ() + p->vel.Z >= floorz - i) // hit the ground
|
||||
{
|
||||
S_StopSound(DUKE_SCREAM, pact);
|
||||
if (!p->insector() || p->cursector->lotag != 1)
|
||||
|
@ -2175,7 +2175,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
{
|
||||
//Smooth on the ground
|
||||
|
||||
double k = (floorz - i - p->posZget()) * 0.5;
|
||||
double k = (floorz - i - p->GetActor()->getOffsetZ()) * 0.5;
|
||||
if (abs(k) < 1) k = 0;
|
||||
p->GetActor()->spr.pos.Z += k;
|
||||
p->vel.Z -= 3;
|
||||
|
@ -2183,8 +2183,8 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
}
|
||||
else if (p->jumping_counter == 0)
|
||||
{
|
||||
p->GetActor()->spr.pos.Z += ((floorz - i * 0.5) - p->posZget()) * 0.5; //Smooth on the water
|
||||
if (p->on_warping_sector == 0 && p->posZget() > floorz - 16)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - i * 0.5) - p->GetActor()->getOffsetZ()) * 0.5; //Smooth on the water
|
||||
if (p->on_warping_sector == 0 && p->GetActor()->getOffsetZ() > floorz - 16)
|
||||
{
|
||||
p->GetActor()->spr.pos.Z = floorz - 16 + gs.playerheight;
|
||||
p->vel.Z *= 0.5;
|
||||
|
@ -2235,7 +2235,7 @@ static void movement(int snum, ESyncBits actions, sectortype* psect, double floo
|
|||
|
||||
p->GetActor()->spr.pos.Z += p->vel.Z;
|
||||
|
||||
if (p->posZget() < ceilingz + 4)
|
||||
if (p->GetActor()->getOffsetZ() < ceilingz + 4)
|
||||
{
|
||||
p->jumping_counter = 0;
|
||||
if (p->vel.Z < 0)
|
||||
|
@ -2298,10 +2298,10 @@ static void underwater(int snum, ESyncBits actions, double floorz, double ceilin
|
|||
|
||||
p->GetActor()->spr.pos.Z += p->vel.Z;
|
||||
|
||||
if (p->posZget() > floorz - 15)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - 15) - p->posZget()) * 0.5;
|
||||
if (p->GetActor()->getOffsetZ() > floorz - 15)
|
||||
p->GetActor()->spr.pos.Z += ((floorz - 15) - p->GetActor()->getOffsetZ()) * 0.5;
|
||||
|
||||
if (p->posZget() < ceilingz + 4)
|
||||
if (p->GetActor()->getOffsetZ() < ceilingz + 4)
|
||||
{
|
||||
p->GetActor()->spr.pos.Z = ceilingz + 4 + gs.playerheight;
|
||||
p->vel.Z = 0;
|
||||
|
@ -2314,7 +2314,7 @@ static void underwater(int snum, ESyncBits actions, double floorz, double ceilin
|
|||
{
|
||||
j->spr.pos += (p->angle.ang.ToVector() + DVector2(12 - (global_random & 8), 12 - (global_random & 8))) * 16;
|
||||
j->spr.scale = DVector2(0.046875, 0.03125);
|
||||
j->spr.pos.Z = p->posZget() + 8;
|
||||
j->spr.pos.Z = p->GetActor()->getOffsetZ() + 8;
|
||||
j->spr.cstat = CSTAT_SPRITE_TRANS_FLIP | CSTAT_SPRITE_TRANSLUCENT;
|
||||
}
|
||||
}
|
||||
|
@ -3332,7 +3332,7 @@ void processinput_r(int snum)
|
|||
while (auto act2 = it.Next())
|
||||
{
|
||||
if (act2->spr.picnum == RRTILE380)
|
||||
if (act2->spr.pos.Z - 8 < p->posZget())
|
||||
if (act2->spr.pos.Z - 8 < p->GetActor()->getOffsetZ())
|
||||
psectlotag = 2;
|
||||
}
|
||||
}
|
||||
|
@ -3365,7 +3365,7 @@ void processinput_r(int snum)
|
|||
p->truefz = tempfz;
|
||||
p->truecz = getceilzofslopeptr(psectp, p->posGet());
|
||||
|
||||
double truefdist = abs(p->posZget() - tempfz);
|
||||
double truefdist = abs(p->GetActor()->getOffsetZ() - tempfz);
|
||||
if (clz.type == kHitSector && psectlotag == 1 && truefdist > gs.playerheight + 16)
|
||||
psectlotag = 0;
|
||||
|
||||
|
@ -3742,7 +3742,7 @@ HORIZONLY:
|
|||
ChangeActorSect(pact, p->cursector);
|
||||
}
|
||||
else
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
clipmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, p->vel, 10.25, 4., iif, CLIPMASK0, clip);
|
||||
|
||||
if (p->jetpack_on == 0 && psectlotag != 2 && psectlotag != 1 && shrunk)
|
||||
p->GetActor()->spr.pos.Z += 32;
|
||||
|
@ -3771,10 +3771,10 @@ HORIZONLY:
|
|||
if (wal->lotag < 44)
|
||||
{
|
||||
dofurniture(clip.hitWall, p->cursector, snum);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
}
|
||||
else
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
pushmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, 10.75, 4, 4, CLIPMASK0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3875,9 +3875,9 @@ HORIZONLY:
|
|||
{
|
||||
int blocked;
|
||||
if (pact->clipdist == 16)
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 8, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, 8, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
else
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->posZget(), &p->cursector, 1, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
blocked = (pushmove(p->GetActor()->spr.pos.XY(), p->GetActor()->getOffsetZ(), &p->cursector, 1, 4, 4, CLIPMASK0) < 0 && furthestangle(p->GetActor(), 8) < DAngle90);
|
||||
|
||||
if (fabs(pact->floorz - pact->ceilingz) < 48 || blocked)
|
||||
{
|
||||
|
|
|
@ -380,7 +380,7 @@ void doanimations(void)
|
|||
{
|
||||
for (auto p = connecthead; p >= 0; p = connectpoint2[p])
|
||||
if (ps[p].cursector == dasectp)
|
||||
if ((dasectp->floorz - ps[p].posZget()) < 64)
|
||||
if ((dasectp->floorz - ps[p].GetActor()->getOffsetZ()) < 64)
|
||||
if (ps[p].GetActor()->GetOwner() != nullptr)
|
||||
{
|
||||
ps[p].GetActor()->spr.pos.Z += v;
|
||||
|
|
|
@ -452,7 +452,7 @@ bool checkhitswitch_d(int snum, walltype* wwal, DDukeActor *act)
|
|||
return 1;
|
||||
}
|
||||
|
||||
DVector3 v(spos, ps[snum].posZget());
|
||||
DVector3 v(spos, ps[snum].GetActor()->getOffsetZ());
|
||||
switch (picnum)
|
||||
{
|
||||
default:
|
||||
|
|
|
@ -646,7 +646,7 @@ bool checkhitswitch_r(int snum, walltype* wwal, DDukeActor* act)
|
|||
setnextmap(false);
|
||||
}
|
||||
|
||||
DVector3 v(pos, ps[snum].posZget());
|
||||
DVector3 v(pos, ps[snum].GetActor()->getOffsetZ());
|
||||
switch (picnum)
|
||||
{
|
||||
default:
|
||||
|
|
|
@ -430,7 +430,7 @@ void initshell(DDukeActor* actj, DDukeActor* act, bool isshell)
|
|||
ang = ps[snum].angle.ang - mapangle((krand() & 63) + 8); //Fine tune
|
||||
|
||||
act->temp_data[0] = krand() & 1;
|
||||
act->spr.pos.Z = 3 + ps[snum].posZget() + ps[snum].pyoff + (ps[snum].horizon.sum().Tan() * 8.) + (!isshell ? 3 : 0);
|
||||
act->spr.pos.Z = 3 + ps[snum].GetActor()->getOffsetZ() + ps[snum].pyoff + (ps[snum].horizon.sum().Tan() * 8.) + (!isshell ? 3 : 0);
|
||||
act->vel.Z = -krandf(1);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -336,11 +336,6 @@ struct player_struct
|
|||
}
|
||||
|
||||
|
||||
double posZget()
|
||||
{
|
||||
return GetActor()->spr.pos.Z + GetActor()->viewzoffset;
|
||||
}
|
||||
|
||||
void posSet(const DVector3& val)
|
||||
{
|
||||
GetActor()->spr.pos = val.plusZ(-GetActor()->viewzoffset);
|
||||
|
|
Loading…
Reference in a new issue