- SW: Rename Player::pos to Player::PlayerNowPosition to make it easier to search upon.

This commit is contained in:
Mitchell Richters 2022-11-17 18:38:49 +11:00 committed by Christoph Oelckers
parent e55412f240
commit cf25884675
24 changed files with 281 additions and 281 deletions

View file

@ -316,7 +316,7 @@ int DoActorPickClosePlayer(DSWActor* actor)
// continue;
}
dist = (actor->spr.pos - pp->pos).Length();
dist = (actor->spr.pos - pp->PlayerNowPosition).Length();
if (dist < near_dist)
{
@ -342,7 +342,7 @@ int DoActorPickClosePlayer(DSWActor* actor)
continue;
}
dist = (actor->spr.pos - pp->pos).Length();
dist = (actor->spr.pos - pp->PlayerNowPosition).Length();
DSWActor* plActor = pp->actor;

View file

@ -1022,7 +1022,7 @@ int DoBunnyQuickJump(DSWActor* actor)
if (pp == Player+myconnectindex)
{
choose_snd = StdRandomRange(2<<8)>>8;
if (FAFcansee(ActorVectOfTop(actor),actor->sector(),pp->pos, pp->cursector) && Facing(actor, actor->user.targetActor))
if (FAFcansee(ActorVectOfTop(actor),actor->sector(),pp->PlayerNowPosition, pp->cursector) && Facing(actor, actor->user.targetActor))
PlayerSound(fagsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp);
}
}
@ -1037,7 +1037,7 @@ int DoBunnyQuickJump(DSWActor* actor)
if (pp == Player+myconnectindex)
{
choose_snd = StdRandomRange(3<<8)>>8;
if (FAFcansee(ActorVectOfTop(actor), actor->sector(), pp->pos, pp->cursector) && Facing(actor, actor->user.targetActor))
if (FAFcansee(ActorVectOfTop(actor), actor->sector(), pp->PlayerNowPosition, pp->cursector) && Facing(actor, actor->user.targetActor))
PlayerSound(straightsnds[choose_snd], v3df_doppler | v3df_follow | v3df_dontpan, pp);
}
}

View file

@ -811,7 +811,7 @@ static void analyzesprites(tspriteArray& tsprites, const DVector3& viewpos, doub
else // Otherwise just interpolate the player sprite
{
pp = tActor->user.PlayerP;
tsp->pos = interpolatedvalue(pp->opos, pp->pos, interpfrac);
tsp->pos = interpolatedvalue(pp->opos, pp->PlayerNowPosition, interpfrac);
tsp->angle = pp->angle.interpolatedang(interpfrac);
}
}
@ -965,7 +965,7 @@ void post_analyzesprites(tspriteArray& tsprites)
std::pair<DVector3, DAngle> GameInterface::GetCoordinates()
{
PLAYER* pp = Player + myconnectindex;
return std::make_pair(pp->pos, pp->angle.ang);
return std::make_pair(pp->PlayerNowPosition, pp->angle.ang);
}
//---------------------------------------------------------------------------
@ -1240,7 +1240,7 @@ void drawscreen(PLAYER* pp, double interpfrac, bool sceneonly)
}
// Get initial player position, interpolating if required.
DVector3 tpos = interpolatedvalue(camerapp->opos, camerapp->pos, interpfrac);
DVector3 tpos = interpolatedvalue(camerapp->opos, camerapp->PlayerNowPosition, interpfrac);
if (SyncInput() || pp != Player+myconnectindex)
{
tang = camerapp->angle.interpolatedsum(interpfrac);
@ -1261,14 +1261,14 @@ void drawscreen(PLAYER* pp, double interpfrac, bool sceneonly)
{
if (pp->sop_control && (!cl_sointerpolation || (CommEnabled && !pp->sop_remote)))
{
tpos = pp->pos;
tpos = pp->PlayerNowPosition;
tang = pp->angle.ang;
}
tsect = pp->cursector;
updatesectorz(tpos, &tsect);
}
pp->si = tpos.plusZ(-pp->pos.Z);
pp->si = tpos.plusZ(-pp->PlayerNowPosition.Z);
pp->siang = tang;
QuakeViewChange(camerapp, tpos, tang);

View file

@ -408,7 +408,7 @@ void InitLevel(MapRecord *maprec)
SpawnSpriteDef sprites;
DVector3 ppos;
loadMap(maprec->fileName, SW_SHAREWARE ? 1 : 0, &ppos, &ang, &cursect, sprites);
Player[0].pos = ppos;
Player[0].PlayerNowPosition = ppos;
spawnactors(sprites);
Player[0].cursector = cursect;

View file

@ -538,7 +538,7 @@ struct PLAYER
{
// variable that fit in the sprite or user structure
DVector3 pos, opos, oldpos;
DVector3 PlayerNowPosition, opos, oldpos;
DSWActor* actor; // this may not be a TObjPtr!
TObjPtr<DSWActor*> lowActor, highActor;
@ -1902,7 +1902,7 @@ inline bool SectorIsUnderwaterArea(sectortype* sect)
inline bool PlayerFacingRange(PLAYER* pp, DSWActor* a, DAngle range)
{
return absangle((a->spr.pos - pp->pos).Angle(), pp->angle.ang) < range;
return absangle((a->spr.pos - pp->PlayerNowPosition).Angle(), pp->angle.ang) < range;
}
inline bool FacingRange(DSWActor* a1, DSWActor* a2, DAngle range)

View file

@ -571,7 +571,7 @@ int DoCheckSwarm(DSWActor* actor)
if (actor->user.targetActor->user.PlayerP)
{
pp = actor->user.targetActor->user.PlayerP;
pdist = (actor->spr.pos.XY() - pp->pos.XY()).LengthSquared();
pdist = (actor->spr.pos.XY() - pp->PlayerNowPosition.XY()).LengthSquared();
}
else
return 0;

View file

@ -192,7 +192,7 @@ void GameInterface::GetInput(ControlInfo* const hidInput, double const scaleAdju
if ((pp->Flags2 & PF2_INPUT_CAN_TURN_VEHICLE))
{
DoPlayerTurnVehicle(pp, input.avel, pp->pos.Z + 10, abs(pp->pos.Z + 10 - pp->sop->floor_loz));
DoPlayerTurnVehicle(pp, input.avel, pp->PlayerNowPosition.Z + 10, abs(pp->PlayerNowPosition.Z + 10 - pp->sop->floor_loz));
}
if ((pp->Flags2 & PF2_INPUT_CAN_TURN_TURRET))

View file

@ -424,7 +424,7 @@ void JS_ProcessEchoSpot()
while (auto actor = it.Next())
{
double maxdist = SP_TAG4(actor) * maptoworld;
auto v = actor->spr.pos.XY() - pp->pos.XY();
auto v = actor->spr.pos.XY() - pp->PlayerNowPosition.XY();
double dist = abs(v.X) + abs(v.Y);
if (dist <= maxdist) // tag4 = ang
@ -598,7 +598,7 @@ void JS_DrawCameras(PLAYER* pp, const DVector3& campos, double smoothratio)
// If player is dead still then update at MoveSkip4
// rate.
if (pp->pos.X == pp->opos.X && pp->pos.Y == pp->opos.Y && pp->pos.Z == pp->opos.Z)
if (pp->PlayerNowPosition.X == pp->opos.X && pp->PlayerNowPosition.Y == pp->opos.Y && pp->PlayerNowPosition.Z == pp->opos.Z)
DoCam = true;
@ -612,7 +612,7 @@ void JS_DrawCameras(PLAYER* pp, const DVector3& campos, double smoothratio)
if (TEST_BOOL11(camactor) && numplayers > 1)
{
drawroomstotile(cp->pos, cp->angle.ang, cp->horizon.horiz, cp->cursector, mirror[cnt].campic, smoothratio);
drawroomstotile(cp->PlayerNowPosition, cp->angle.ang, cp->horizon.horiz, cp->cursector, mirror[cnt].campic, smoothratio);
}
else
{

View file

@ -1256,7 +1256,7 @@ int PlayerInitChemBomb(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -1630,7 +1630,7 @@ int PlayerInitCaltrops(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
auto actorNew = SpawnActor(STAT_DEAD_ACTOR, CALTROPS, s_Caltrops, pp->cursector, pos, pp->angle.ang, (CHEMBOMB_VELOCITY + RandomRangeF(CHEMBOMB_VELOCITY)) / 2);

View file

@ -60,7 +60,7 @@ Collision MultiClipMove(PLAYER* pp, double zz, double floordist)
// move the box to position instead of using offset- this prevents small rounding errors
// allowing you to move through wall
DAngle ang = (pp->angle.ang + sop->clipbox_ang[i]);
DVector3 spos(pp->pos, zz);
DVector3 spos(pp->PlayerNowPosition, zz);
DVector2 vect = ang.ToVector() * sop->clipbox_vdist[i];
Collision coll;
@ -73,7 +73,7 @@ Collision MultiClipMove(PLAYER* pp, double zz, double floordist)
min_dist = 0;
min_ndx = i;
// ox is where it should be
opos[i].XY() = pp->pos + ang.ToVector() * sop->clipbox_vdist[i];
opos[i].XY() = pp->PlayerNowPosition + ang.ToVector() * sop->clipbox_vdist[i];
// spos.x is where it hit
pos[i].XY() = spos.XY();
@ -111,7 +111,7 @@ Collision MultiClipMove(PLAYER* pp, double zz, double floordist)
}
// put posx and y off from offset
pp->pos.XY() += pos[min_ndx].XY() - opos[min_ndx].XY();
pp->PlayerNowPosition.XY() += pos[min_ndx].XY() - opos[min_ndx].XY();
return min_ret;
}
@ -133,7 +133,7 @@ int MultiClipTurn(PLAYER* pp, DAngle new_ang, double zz, double floordist)
{
DAngle ang = new_ang + sop->clipbox_ang[i];
DVector3 spos(pp->pos, zz);
DVector3 spos(pp->PlayerNowPosition, zz);
DVector2 vect = ang.ToVector() * sop->clipbox_vdist[i];
Collision coll;
@ -207,7 +207,7 @@ int RectClipMove(PLAYER* pp, DVector2* qpos)
//Given the 4 points: x[4], y[4]
if (testquadinsect(&point_num, xy, pp->cursector))
{
pp->pos += pvect;
pp->PlayerNowPosition += pvect;
return true;
}
@ -223,7 +223,7 @@ int RectClipMove(PLAYER* pp, DVector2* qpos)
}
if (testquadinsect(&point_num, xy, pp->cursector))
{
pp->pos.XY() += { -pvect.X * 0.5, pvect.X * 0.5 };
pp->PlayerNowPosition.XY() += { -pvect.X * 0.5, pvect.X * 0.5 };
}
return false;
@ -238,7 +238,7 @@ int RectClipMove(PLAYER* pp, DVector2* qpos)
}
if (testquadinsect(&point_num, xy, pp->cursector))
{
pp->pos.XY() += { pvect.X * 0.5, -pvect.X * 0.5 };
pp->PlayerNowPosition.XY() += { pvect.X * 0.5, -pvect.X * 0.5 };
}
return false;
@ -264,7 +264,7 @@ short RectClipTurn(PLAYER* pp, DAngle new_angl, DVector2* qpos, DVector2* opos)
rot_angl = new_angl + sop->spin_ang - sop->ang_orig;
for (i = 0; i < 4; i++)
{
xy[i] = rotatepoint(pp->pos.XY(), opos[i], rot_angl);
xy[i] = rotatepoint(pp->PlayerNowPosition.XY(), opos[i], rot_angl);
// cannot use sop->xmid and ymid because the SO is off the map at this point
}

View file

@ -2392,7 +2392,7 @@ void InitPlayerSprite(PLAYER* pp)
COVER_SetReverb(0); // Turn off any echoing that may have been going before
pp->Reverb = 0;
auto actor = SpawnActor(STAT_PLAYER0 + pnum, NINJA_RUN_R0, nullptr, pp->cursector, pp->pos, pp->angle.ang);
auto actor = SpawnActor(STAT_PLAYER0 + pnum, NINJA_RUN_R0, nullptr, pp->cursector, pp->PlayerNowPosition, pp->angle.ang);
pp->actor = actor;
pp->pnum = pnum;
@ -2465,7 +2465,7 @@ void SpawnPlayerUnderSprite(PLAYER* pp)
int pnum = int(pp - Player);
pp->PlayerUnderActor = SpawnActor(STAT_PLAYER_UNDER0 + pnum,
NINJA_RUN_R0, nullptr, pp->cursector, pp->pos, pp->angle.ang);
NINJA_RUN_R0, nullptr, pp->cursector, pp->PlayerNowPosition, pp->angle.ang);
DSWActor* actor = pp->PlayerUnderActor;

View file

@ -56,9 +56,9 @@ BEGIN_SW_NS
void GameInterface::WarpToCoords(double x, double y, double z, DAngle ang)
{
Player->pos = DVector3(x,y,z);
Player->PlayerNowPosition = DVector3(x,y,z);
Player->opos = Player->pos;
Player->opos = Player->PlayerNowPosition;
if (ang != DAngle::fromDeg(INT_MIN))
{

File diff suppressed because it is too large Load diff

View file

@ -195,7 +195,7 @@ void QuakeViewChange(PLAYER* pp, DVector3& tpos, DAngle& tang)
SWStatIterator it(STAT_QUAKE_ON);
while ((actor = it.Next()))
{
auto dist = (pp->pos - actor->spr.pos).Length();
auto dist = (pp->PlayerNowPosition - actor->spr.pos).Length();
// shake whole level
if (QUAKE_TestDontTaper(actor))
@ -277,7 +277,7 @@ void SpawnQuake(sectortype* sect, const DVector3& pos, int tics, int amt, int ra
bool SetQuake(PLAYER* pp, short tics, short amt)
{
SpawnQuake(pp->cursector, pp->pos, tics, amt, 30000);
SpawnQuake(pp->cursector, pp->PlayerNowPosition, tics, amt, 30000);
return false;
}
@ -295,7 +295,7 @@ int SetGunQuake(DSWActor* actor)
int SetPlayerQuake(PLAYER* pp)
{
SpawnQuake(pp->cursector, pp->pos, 40, 8, 40000);
SpawnQuake(pp->cursector, pp->PlayerNowPosition, 40, 8, 40000);
return 0;
}

View file

@ -435,9 +435,9 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PLAYER& w, PLAYER*
{
if (arc.BeginObject(keyname))
{
arc("x", w.pos.X)
("y", w.pos.Y)
("z", w.pos.Z)
arc("x", w.PlayerNowPosition.X)
("y", w.PlayerNowPosition.Y)
("z", w.PlayerNowPosition.Z)
("lv_sectnum", w.lv_sector)
("lv_x", w.lv.X)
("lv_y", w.lv.Y)
@ -574,7 +574,7 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, PLAYER& w, PLAYER*
}
if (arc.isReading())
{
w.opos = w.pos;
w.opos = w.PlayerNowPosition;
w.ovect = w.vect;
w.obob_z = w.bob_z;
w.input = {};

View file

@ -1549,7 +1549,7 @@ int OperateSprite(DSWActor* actor, short player_is_operating)
{
pp = GlobPlayerP;
if (!FAFcansee(pp->pos, pp->cursector, actor->spr.pos.plusZ(ActorSizeZ(actor) * -0.5), actor->sector()))
if (!FAFcansee(pp->PlayerNowPosition, pp->cursector, actor->spr.pos.plusZ(ActorSizeZ(actor) * -0.5), actor->sector()))
return false;
}
@ -2027,7 +2027,7 @@ void OperateTripTrigger(PLAYER* pp)
{
if (actor->user.Flags & (SPR_WAIT_FOR_TRIGGER))
{
if ((actor->spr.pos.XY() - pp->pos.XY()).Length() < dist)
if ((actor->spr.pos.XY() - pp->PlayerNowPosition.XY()).Length() < dist)
{
actor->user.targetActor = pp->actor;
actor->user.Flags &= ~(SPR_WAIT_FOR_TRIGGER);
@ -2140,7 +2140,7 @@ bool NearThings(PLAYER* pp)
return false;
}
neartag(pp->pos, pp->cursector, pp->angle.ang, near, 64., NT_Lotag | NT_Hitag);
neartag(pp->PlayerNowPosition, pp->cursector, pp->angle.ang, near, 64., NT_Lotag | NT_Hitag);
// hit a sprite? Check to see if it has sound info in it!
@ -2173,12 +2173,12 @@ bool NearThings(PLAYER* pp)
{
HitInfo hit{};
FAFhitscan(pp->pos.plusZ(-30), pp->cursector, DVector3(pp->angle.ang.ToVector() * 1024, 0), hit, CLIPMASK_MISSILE);
FAFhitscan(pp->PlayerNowPosition.plusZ(-30), pp->cursector, DVector3(pp->angle.ang.ToVector() * 1024, 0), hit, CLIPMASK_MISSILE);
if (hit.hitSector == nullptr)
return false;
if ((hit.hitpos.XY() - pp->pos.XY()).Length() > 93.75)
if ((hit.hitpos.XY() - pp->PlayerNowPosition.XY()).Length() > 93.75)
return false;
// hit a sprite?
@ -2221,7 +2221,7 @@ void NearTagList(NEAR_TAG_INFO* ntip, PLAYER* pp, double z, double dist, int typ
HitInfo near;
neartag(DVector3(pp->pos.XY(), z), pp->cursector, pp->angle.ang, near, dist, type);
neartag(DVector3(pp->PlayerNowPosition.XY(), z), pp->cursector, pp->angle.ang, near, dist, type);
if (near.hitSector != nullptr)
{
@ -2346,7 +2346,7 @@ int DoPlayerGrabStar(PLAYER* pp)
auto actor = StarQueue[i];
if (actor != nullptr)
{
if ((actor->spr.pos - pp->pos).plusZ(12).Length() < 31.25)
if ((actor->spr.pos - pp->PlayerNowPosition).plusZ(12).Length() < 31.25)
{
break;
}
@ -2404,7 +2404,7 @@ void PlayerOperateEnv(PLAYER* pp)
NearThings(pp); // Check for player sound specified in a level sprite
}
BuildNearTagList(nti, sizeof(nti), pp, pp->pos.Z, 128, NT_Lotag | NT_Hitag, 8);
BuildNearTagList(nti, sizeof(nti), pp, pp->PlayerNowPosition.Z, 128, NT_Lotag | NT_Hitag, 8);
found = false;
@ -2935,7 +2935,7 @@ void DoSector(void)
}
else
{
double dist = (pp->pos.XY() - sop->pmid.XY()).Length();
double dist = (pp->PlayerNowPosition.XY() - sop->pmid.XY()).Length();
if (dist < min_dist)
min_dist = dist;
}

View file

@ -122,7 +122,7 @@ short SoundDist(const DVector3& pos, int basedist)
double sqrdist;
extern short screenpeek;
double distance = (Player[screenpeek].pos - pos).Length() * 16;
double distance = (Player[screenpeek].PlayerNowPosition - pos).Length() * 16;
if (basedist < 0) // if basedist is negative
{
@ -374,7 +374,7 @@ static void UpdateAmbients()
if (sdist < 255 && amb->vocIndex.index() == DIGI_WHIPME)
{
PLAYER* pp = Player + screenpeek;
if (!FAFcansee(spot->spr.pos, spot->sector(), pp->pos, pp->cursector))
if (!FAFcansee(spot->spr.pos, spot->sector(), pp->PlayerNowPosition, pp->cursector))
{
sdist = 255;
}
@ -513,7 +513,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
if (pos != nullptr)
{
PLAYER* pp = Player + screenpeek;
FVector3 campos = GetSoundPos(pp->pos);
FVector3 campos = GetSoundPos(pp->PlayerNowPosition);
DVector3 vPos = {};
bool pancheck = false;
@ -527,7 +527,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
}
else if (type == SOURCE_Actor || type == SOURCE_Player)
{
vPos = type == SOURCE_Actor ? ((DSWActor*)source)->spr.pos : ((PLAYER*)source)->pos;
vPos = type == SOURCE_Actor ? ((DSWActor*)source)->spr.pos : ((PLAYER*)source)->PlayerNowPosition;
pancheck = true;
FVector3 npos = GetSoundPos(vPos);
@ -556,7 +556,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
// Can the ambient sound see the player? If not, tone it down some.
if ((chanflags & CHANF_LOOP))
{
if (!FAFcansee(vPos, spot->sector(), pp->pos, pp->cursector))
if (!FAFcansee(vPos, spot->sector(), pp->PlayerNowPosition, pp->cursector))
{
auto distvec = npos - campos;
npos = campos + distvec * 1.75f; // Play more quietly
@ -599,13 +599,13 @@ void GameInterface::UpdateSounds(void)
if (TEST_BOOL1(rsp))
tang = rsp->spr.angle;
else
tang = (pp->sop_remote->pmid.XY() - pp->pos.XY()).Angle();
tang = (pp->sop_remote->pmid.XY() - pp->PlayerNowPosition.XY()).Angle();
}
else tang = pp->angle.ang;
listener.angle = float(-tang.Radians());
listener.velocity.Zero();
listener.position = GetSoundPos(pp->pos);
listener.position = GetSoundPos(pp->PlayerNowPosition);
listener.underwater = false;
// This should probably use a real environment instead of the pitch hacking in S_PlaySound3D.
// listenactor->waterlevel == 3;
@ -649,7 +649,7 @@ int _PlaySound(int num, DSWActor* actor, PLAYER* pp, const DVector3* const ppos,
}
else if (pp && !ppos)
{
pos = pp->pos;
pos = pp->PlayerNowPosition;
pp = nullptr;
sourcetype = SOURCE_Unattached;
}

View file

@ -1543,8 +1543,8 @@ void PreMapCombineFloors(void)
{
if (itsect == dasect)
{
pp->pos += dv;
pp->opos.XY() = pp->oldpos.XY() = pp->pos.XY();
pp->PlayerNowPosition += dv;
pp->opos.XY() = pp->oldpos.XY() = pp->PlayerNowPosition.XY();
break;
}
}
@ -5134,7 +5134,7 @@ int DoGet(DSWActor* actor)
if (pp->Flags & (PF_DEAD))
continue;
double dist = (pp->pos.XY() - actor->spr.pos).Length();
double dist = (pp->PlayerNowPosition.XY() - actor->spr.pos).Length();
if ((unsigned)dist > (plActor->user.fRadius() + actor->user.fRadius()))
{
continue;
@ -5147,7 +5147,7 @@ int DoGet(DSWActor* actor)
auto cstat_bak = actor->spr.cstat;
actor->spr.cstat |= (CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
can_see = FAFcansee(actor->spr.pos, actor->sector(), pp->pos, pp->cursector);
can_see = FAFcansee(actor->spr.pos, actor->sector(), pp->PlayerNowPosition, pp->cursector);
actor->spr.cstat = cstat_bak;
if (!can_see)
@ -6181,7 +6181,7 @@ void SpriteControl(void)
pp = &Player[pnum];
// Only update the ones closest
double dist = (pp->pos.XY() - actor->spr.pos.XY()).Length();
double dist = (pp->PlayerNowPosition.XY() - actor->spr.pos.XY()).Length();
AdjustActiveRange(pp, actor, dist);

View file

@ -797,7 +797,7 @@ void BossHealthMeter(void)
DSWActor* actor = BossSpriteNum[i];
if (actor != nullptr && !bosswasseen[i])
{
if (cansee(ActorVectOfTop(actor), actor->sector(), pp->pos.plusZ(-40), pp->cursector))
if (cansee(ActorVectOfTop(actor), actor->sector(), pp->PlayerNowPosition.plusZ(-40), pp->cursector))
{
if (i == 0 && !bosswasseen[0])
{

View file

@ -1481,13 +1481,13 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, const DVector2& move)
pp->Flags |= (PF_PLAYER_RIDING);
pp->RevolveAng = pp->angle.ang;
pp->Revolve.XY() = pp->pos.XY();
pp->Revolve.XY() = pp->PlayerNowPosition.XY();
// set the delta angle to 0 when moving
pp->RevolveDeltaAng = nullAngle;
}
pp->pos += move;
pp->PlayerNowPosition += move;
if ((sop->flags & SOBJ_DONT_ROTATE))
{
@ -1503,7 +1503,7 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, const DVector2& move)
// moving then you
// know where he was last
pp->RevolveAng = pp->angle.ang;
pp->Revolve.XY() = pp->pos.XY();
pp->Revolve.XY() = pp->PlayerNowPosition.XY();
// set the delta angle to 0 when moving
pp->RevolveDeltaAng = nullAngle;
@ -1522,7 +1522,7 @@ void MovePlayer(PLAYER* pp, SECTOR_OBJECT* sop, const DVector2& move)
// increment Players delta angle
pp->RevolveDeltaAng += GlobSpeedSO;
pp->pos.XY() = rotatepoint(sop->pmid.XY(), pp->Revolve.XY(), pp->RevolveDeltaAng);
pp->PlayerNowPosition.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
@ -1735,7 +1735,7 @@ PlayerPart:
// prevents you from falling into map HOLEs created by moving
// Sectors and sprites around.
//if (!SO_EMPTY(sop))
updatesector(pp->pos, &pp->cursector);
updatesector(pp->PlayerNowPosition, &pp->cursector);
// in case you are in a whirlpool
// move perfectly with the ride in the z direction
@ -1743,7 +1743,7 @@ PlayerPart:
{
// move up some for really fast moving plats
DoPlayerZrange(pp);
pp->pos.Z = pp->loz - PLAYER_CRAWL_HEIGHTF;
pp->PlayerNowPosition.Z = pp->loz - PLAYER_CRAWL_HEIGHTF;
pp->actor->spr.pos.Z = pp->loz;
}
else
@ -1753,7 +1753,7 @@ PlayerPart:
if (!(pp->Flags & (PF_JUMPING | PF_FALLING | PF_FLYING)))
{
pp->pos.Z = pp->loz - PLAYER_HEIGHTF;
pp->PlayerNowPosition.Z = pp->loz - PLAYER_HEIGHTF;
pp->actor->spr.pos.Z = pp->loz;
}
}
@ -3338,7 +3338,7 @@ int ActorFollowTrack(DSWActor* actor, short locktics)
{
pp = &Player[pnum];
if ((actor->spr.pos.XY() - pp->pos.XY()).Length() < actor->user.Dist)
if ((actor->spr.pos.XY() - pp->PlayerNowPosition.XY()).Length() < actor->user.Dist)
{
actor->user.targetActor = pp->actor;
actor->user.Flags &= ~(SPR_WAIT_FOR_PLAYER);

View file

@ -106,7 +106,7 @@ void VisViewChange(PLAYER* pp, int *vis)
}
// save off the brightest vis that you can see
if (FAFcansee(pp->pos, pp->cursector, pos, sectp))
if (FAFcansee(pp->PlayerNowPosition, pp->cursector, pos, sectp))
{
if (VIS_VisCur(actor) < BrightestVis)
BrightestVis = VIS_VisCur(actor);

View file

@ -11500,7 +11500,7 @@ int DoRing(DSWActor* actor)
double z;
// move the center with the player
if (pp)
z = pp->pos.Z + 20;
z = pp->PlayerNowPosition.Z + 20;
else
z = ActorZOfMiddle(own) + 30;
@ -11594,7 +11594,7 @@ void InitSpellRing(PLAYER* pp)
for (missiles = 0, ang = ang_start; missiles < max_missiles; ang += ang_diff, missiles++)
{
auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, FIREBALL1, s_Ring, pp->cursector, pp->pos, ang, 0);
auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, FIREBALL1, s_Ring, pp->cursector, pp->PlayerNowPosition, ang, 0);
actorNew->spr.hitag = LUMINOUS; //Always full brightness
actorNew->vel.X = 31.25;
@ -11612,7 +11612,7 @@ void InitSpellRing(PLAYER* pp)
// put it out there
actorNew->spr.pos += actorNew->spr.angle.ToVector() * actorNew->user.Dist;
actorNew->spr.pos.Z += pp->pos.Z + 20 - (actorNew->user.Dist * pp->horizon.horiz.Tan() * 2.); // horizon math sucks...
actorNew->spr.pos.Z += pp->PlayerNowPosition.Z + 20 - (actorNew->user.Dist * pp->horizon.horiz.Tan() * 2.); // horizon math sucks...
actorNew->spr.angle += DAngle90;
@ -11971,7 +11971,7 @@ void InitSpellNapalm(PLAYER* pp)
for (i = 0; i < SIZ(mp); i++)
{
auto actor = SpawnActor(STAT_MISSILE, FIREBALL1, s_Napalm, pp->cursector,
pp->pos.plusZ(12), pp->angle.ang, NAPALM_VELOCITY*2);
pp->PlayerNowPosition.plusZ(12), pp->angle.ang, NAPALM_VELOCITY*2);
actor->spr.hitag = LUMINOUS; //Always full brightness
@ -12106,7 +12106,7 @@ int InitSpellMirv(PLAYER* pp)
if (!pp->insector())
return 0;
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Mirv, pp->cursector, pp->pos.plusZ(12), pp->angle.ang, MIRV_VELOCITY);
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Mirv, pp->cursector, pp->PlayerNowPosition.plusZ(12), pp->angle.ang, MIRV_VELOCITY);
PlaySound(DIGI_MIRVWIZ, actorNew, v3df_follow);
@ -12228,7 +12228,7 @@ int InitSwordAttack(PLAYER* pp)
if (!(itActor->spr.extra & SPRX_PLAYER_OR_ENEMY))
continue;
double dist = (pp->pos.XY() - itActor->spr.pos.XY()).Length();
double dist = (pp->PlayerNowPosition.XY() - itActor->spr.pos.XY()).Length();
face = mapangle(200);
@ -12250,12 +12250,12 @@ int InitSwordAttack(PLAYER* pp)
double dax = 1024., daz = 0;
DAngle daang = pp->angle.ang;
setFreeAimVelocity(dax, daz, pp->horizon.horiz, 1000. - (RandomRangeF(24000 / 256.) - 12000 / 256.));
FAFhitscan(pp->pos, pp->cursector, DVector3(pp->angle.ang.ToVector() * dax, daz), hit, CLIPMASK_MISSILE);
FAFhitscan(pp->PlayerNowPosition, pp->cursector, DVector3(pp->angle.ang.ToVector() * dax, daz), hit, CLIPMASK_MISSILE);
if (hit.hitSector == nullptr)
return 0;
if ((pp->pos - hit.hitpos).Length() < 43.75)
if ((pp->PlayerNowPosition - hit.hitpos).Length() < 43.75)
{
if (hit.actor() != nullptr)
@ -12393,7 +12393,7 @@ int InitFistAttack(PLAYER* pp)
if (!(itActor->spr.extra & SPRX_PLAYER_OR_ENEMY))
continue;
double dist = (pp->pos.XY() - itActor->spr.pos.XY()).Length();
double dist = (pp->PlayerNowPosition.XY() - itActor->spr.pos.XY()).Length();
bool iactive = pp->InventoryActive[2];
if (iactive) // Shadow Bombs give you demon fist
{
@ -12428,12 +12428,12 @@ int InitFistAttack(PLAYER* pp)
double dax = 1024., daz = 0;
auto daang = pp->angle.ang;
setFreeAimVelocity(dax, daz, pp->horizon.horiz, 1000. - (RandomRangeF(24000 / 256.) - 12000 / 256.));
FAFhitscan(pp->pos, pp->cursector, DVector3(pp->angle.ang.ToVector() * dax, daz), hit, CLIPMASK_MISSILE);
FAFhitscan(pp->PlayerNowPosition, pp->cursector, DVector3(pp->angle.ang.ToVector() * dax, daz), hit, CLIPMASK_MISSILE);
if (hit.hitSector == nullptr)
return 0;
if ((pp->pos - hit.hitpos).Length() < 43.75)
if ((pp->PlayerNowPosition - hit.hitpos).Length() < 43.75)
{
if (hit.actor() != nullptr)
@ -12975,7 +12975,7 @@ int InitStar(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -13080,7 +13080,7 @@ void InitHeartAttack(PLAYER* pp)
return;
auto actorNew = SpawnActor(STAT_MISSILE_SKIP4, BLOOD_WORM, s_BloodWorm, pp->cursector,
pp->pos.plusZ(12), pp->angle.ang, BLOOD_WORM_VELOCITY*2);
pp->PlayerNowPosition.plusZ(12), pp->angle.ang, BLOOD_WORM_VELOCITY*2);
actorNew->spr.hitag = LUMINOUS; //Always full brightness
@ -13223,7 +13223,7 @@ int InitShotgun(PLAYER* pp)
}
}
auto pos = pp->pos.plusZ(pp->bob_z);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z);
double dax = 1024.;
double daz = pos.Z;
@ -13378,7 +13378,7 @@ int InitLaser(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -13476,7 +13476,7 @@ int InitRail(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 11);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 11);
// Spawn a shot
// Inserting and setting up variables
@ -13641,7 +13641,7 @@ int InitRocket(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -13748,7 +13748,7 @@ int InitBunnyRocket(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -13850,7 +13850,7 @@ int InitNuke(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -14024,7 +14024,7 @@ int InitMicro(PLAYER* pp)
{
picked = ts->actor;
angle = (picked->spr.pos.XY() - pp->pos.XY()).Angle();
angle = (picked->spr.pos.XY() - pp->PlayerNowPosition.XY()).Angle();
ts++;
}
@ -14034,7 +14034,7 @@ int InitMicro(PLAYER* pp)
angle = pp->angle.ang;
}
auto pos = pp->pos.plusZ(pp->bob_z + 4 + RandomRange(20));
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 4 + RandomRange(20));
// Spawn a shot
// Inserting and setting up variables
@ -15226,7 +15226,7 @@ int InitTracerUzi(PLAYER* pp)
// Spawn a shot
// Inserting and setting up variables
auto actorNew = SpawnActor(STAT_MISSILE, 0, s_Tracer, pp->cursector, pp->pos.plusZ(nz), pp->angle.ang, TRACER_VELOCITY);
auto actorNew = SpawnActor(STAT_MISSILE, 0, s_Tracer, pp->cursector, pp->PlayerNowPosition.plusZ(nz), pp->angle.ang, TRACER_VELOCITY);
actorNew->spr.hitag = LUMINOUS; //Always full brightness
SetOwner(pp->actor, actorNew);
@ -15513,7 +15513,7 @@ int InitUzi(PLAYER* pp)
if (RANDOM_P2(1024) < 400)
InitTracerUzi(pp);
double nz = (pp->pos.Z + pp->bob_z);
double nz = (pp->PlayerNowPosition.Z + pp->bob_z);
double dax = 1024.;
double daz = nz;
DAngle daang = DAngle22_5 / 4;
@ -15530,7 +15530,7 @@ int InitUzi(PLAYER* pp)
DVector3 vect(daang.ToVector() * dax, daz);
FAFhitscan(DVector3(pp->pos.XY(), nz), pp->cursector, vect, hit, CLIPMASK_MISSILE);
FAFhitscan(DVector3(pp->PlayerNowPosition.XY(), nz), pp->cursector, vect, hit, CLIPMASK_MISSILE);
if (hit.hitSector == nullptr)
{
@ -16662,7 +16662,7 @@ int InitGrenade(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -16800,7 +16800,7 @@ int InitMine(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 8);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 8);
// Spawn a shot
// Inserting and setting up variables
@ -16931,7 +16931,7 @@ int InitFireball(PLAYER* pp)
if (!pp->insector())
return 0;
auto pos = pp->pos.plusZ(pp->bob_z + 15);
auto pos = pp->PlayerNowPosition.plusZ(pp->bob_z + 15);
auto actorNew = SpawnActor(STAT_MISSILE, FIREBALL1, s_Fireball, pp->cursector, pos, pp->angle.ang, FIREBALL_VELOCITY);
@ -18234,7 +18234,7 @@ int DoFloorBlood(DSWActor* actor)
{
pp = &Player[pnum];
double dist = (actor->spr.pos.XY() - pp->pos.XY()).Length();
double dist = (actor->spr.pos.XY() - pp->PlayerNowPosition.XY()).Length();
if (dist < FEET_IN_BLOOD_DIST)
{

View file

@ -40,7 +40,7 @@ inline DAngle AngToSprite(DSWActor* actor, DSWActor* other)
inline DAngle AngToPlayer(PLAYER* player, DSWActor* other)
{
return (player->pos - other->spr.pos).Angle();
return (player->PlayerNowPosition - other->spr.pos).Angle();
}

View file

@ -787,7 +787,7 @@ void SpawnZombie(PLAYER* pp, DSWActor* weaponActor)
if (ownerActor == nullptr)
return;
auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], pp->cursector, pp->pos, pp->angle.ang, 0);
auto actorNew = SpawnActor(STAT_ENEMY, ZOMBIE_RUN_R0, s_ZombieRun[0], pp->cursector, pp->PlayerNowPosition, pp->angle.ang, 0);
SetOwner(actorNew, ownerActor);
actorNew->spr.pal = actorNew->user.spal = ownerActor->user.spal;
actorNew->spr.angle = RandomAngle();