diff --git a/source/games/sw/src/ai.cpp b/source/games/sw/src/ai.cpp index 094388254..366d3e188 100644 --- a/source/games/sw/src/ai.cpp +++ b/source/games/sw/src/ai.cpp @@ -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; diff --git a/source/games/sw/src/bunny.cpp b/source/games/sw/src/bunny.cpp index e8d0a79a6..046c73c18 100644 --- a/source/games/sw/src/bunny.cpp +++ b/source/games/sw/src/bunny.cpp @@ -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); } } diff --git a/source/games/sw/src/draw.cpp b/source/games/sw/src/draw.cpp index d36cf11f2..a0a8174d5 100644 --- a/source/games/sw/src/draw.cpp +++ b/source/games/sw/src/draw.cpp @@ -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 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); diff --git a/source/games/sw/src/game.cpp b/source/games/sw/src/game.cpp index 623aa7d9c..9de9b5943 100644 --- a/source/games/sw/src/game.cpp +++ b/source/games/sw/src/game.cpp @@ -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; diff --git a/source/games/sw/src/game.h b/source/games/sw/src/game.h index 188c9b325..a092eda08 100644 --- a/source/games/sw/src/game.h +++ b/source/games/sw/src/game.h @@ -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 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) diff --git a/source/games/sw/src/hornet.cpp b/source/games/sw/src/hornet.cpp index 6427eeea8..580a981ce 100644 --- a/source/games/sw/src/hornet.cpp +++ b/source/games/sw/src/hornet.cpp @@ -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; diff --git a/source/games/sw/src/input.cpp b/source/games/sw/src/input.cpp index 47046f33a..973978ad7 100644 --- a/source/games/sw/src/input.cpp +++ b/source/games/sw/src/input.cpp @@ -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)) diff --git a/source/games/sw/src/jsector.cpp b/source/games/sw/src/jsector.cpp index 2a38cd93e..7d8ce57cc 100644 --- a/source/games/sw/src/jsector.cpp +++ b/source/games/sw/src/jsector.cpp @@ -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 { diff --git a/source/games/sw/src/jweapon.cpp b/source/games/sw/src/jweapon.cpp index 7ef7e24d3..3c2c34f80 100644 --- a/source/games/sw/src/jweapon.cpp +++ b/source/games/sw/src/jweapon.cpp @@ -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); diff --git a/source/games/sw/src/mclip.cpp b/source/games/sw/src/mclip.cpp index 40e6db1e1..eeabcec1a 100644 --- a/source/games/sw/src/mclip.cpp +++ b/source/games/sw/src/mclip.cpp @@ -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 } diff --git a/source/games/sw/src/ninja.cpp b/source/games/sw/src/ninja.cpp index 69b4750dc..f49511f42 100644 --- a/source/games/sw/src/ninja.cpp +++ b/source/games/sw/src/ninja.cpp @@ -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; diff --git a/source/games/sw/src/osdcmds.cpp b/source/games/sw/src/osdcmds.cpp index 40644a399..6a67800bd 100644 --- a/source/games/sw/src/osdcmds.cpp +++ b/source/games/sw/src/osdcmds.cpp @@ -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)) { diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index 09e70c65b..6ce1b12ab 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -1214,7 +1214,7 @@ DSWActor* DoPickTarget(DSWActor* actor, DAngle max_delta_ang, int skip_targets) double ezhl = ActorZOfBottom(itActor) - (ActorSizeZ(itActor) * 0.25); if (actor->hasU() && actor->user.PlayerP) - apos.Z = actor->user.PlayerP->pos.Z; + apos.Z = actor->user.PlayerP->PlayerNowPosition.Z; else apos.Z = ActorZOfTop(actor) + (ActorSizeZ(actor) * 0.25); @@ -1312,10 +1312,10 @@ void DoPlayerTeleportPause(PLAYER* pp) void DoPlayerTeleportToSprite(PLAYER* pp, DVector3& pos, DAngle ang) { pp->angle.ang = pp->angle.oang = ang; - pp->opos = pp->pos= pos.plusZ(-PLAYER_HEIGHTF); - pp->oldpos.XY() = pp->pos.XY(); + pp->opos = pp->PlayerNowPosition= pos.plusZ(-PLAYER_HEIGHTF); + pp->oldpos.XY() = pp->PlayerNowPosition.XY(); - updatesector(pp->pos, &pp->cursector); + updatesector(pp->PlayerNowPosition, &pp->cursector); pp->Flags2 |= (PF2_TELEPORTED); } @@ -1327,9 +1327,9 @@ void DoPlayerTeleportToSprite(PLAYER* pp, DVector3& pos, DAngle ang) void DoPlayerTeleportToOffset(PLAYER* pp) { - pp->oldpos.XY() = pp->opos.XY() = pp->pos.XY(); + pp->oldpos.XY() = pp->opos.XY() = pp->PlayerNowPosition.XY(); - updatesector(pp->pos, &pp->cursector); + updatesector(pp->PlayerNowPosition, &pp->cursector); pp->Flags2 |= (PF2_TELEPORTED); } @@ -1400,7 +1400,7 @@ void DoPlayerWarpTeleporter(PLAYER* pp) TAG 5 to 8 = random match locations #endif - if ((act_warp = Warp(pp->pos, &pp->cursector)) == nullptr) + if ((act_warp = Warp(pp->PlayerNowPosition, &pp->cursector)) == nullptr) { return; } @@ -1471,7 +1471,7 @@ void DoPlayerSetWadeDepth(PLAYER* pp) if ((sectp->extra & SECTFX_SINK)) { // make sure your even in the water - if (pp->pos.Z + PLAYER_HEIGHTF > pp->lo_sectp->floorz - FixedToInt(pp->lo_sectp->depth_fixed)) + if (pp->PlayerNowPosition.Z + PLAYER_HEIGHTF > pp->lo_sectp->floorz - FixedToInt(pp->lo_sectp->depth_fixed)) pp->WadeDepth = FixedToInt(pp->lo_sectp->depth_fixed); } } @@ -1485,17 +1485,17 @@ void DoPlayerSetWadeDepth(PLAYER* pp) void DoPlayerHeight(PLAYER* pp) { - double diff = pp->pos.Z - (pp->loz - PLAYER_HEIGHTF); - pp->pos.Z -= diff * 0.375; + double diff = pp->PlayerNowPosition.Z - (pp->loz - PLAYER_HEIGHTF); + pp->PlayerNowPosition.Z -= diff * 0.375; } void DoPlayerJumpHeight(PLAYER* pp) { if (pp->lo_sectp && (pp->lo_sectp->extra & SECTFX_DYNAMIC_AREA)) { - if (pp->pos.Z + PLAYER_HEIGHTF > pp->loz) + if (pp->PlayerNowPosition.Z + PLAYER_HEIGHTF > pp->loz) { - pp->pos.Z = pp->loz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_HEIGHTF; DoPlayerBeginRun(pp); } } @@ -1503,8 +1503,8 @@ void DoPlayerJumpHeight(PLAYER* pp) void DoPlayerCrawlHeight(PLAYER* pp) { - double diff = pp->pos.Z - (pp->loz - PLAYER_CRAWL_HEIGHTF); - pp->pos.Z -= diff * 0.375; + double diff = pp->PlayerNowPosition.Z - (pp->loz - PLAYER_CRAWL_HEIGHTF); + pp->PlayerNowPosition.Z -= diff * 0.375; } //--------------------------------------------------------------------------- @@ -1684,7 +1684,7 @@ void SlipSlope(PLAYER* pp) void DoPlayerHorizon(PLAYER* pp, float const horz, double const scaleAdjust) { bool const canslopetilt = !(pp->Flags & (PF_FLYING|PF_SWIMMING|PF_DIVING|PF_CLIMBING|PF_JUMPING|PF_FALLING)) && pp->cursector && (pp->cursector->floorstat & CSTAT_SECTOR_SLOPE); - pp->horizon.calcviewpitch(pp->pos.XY(), pp->angle.ang, pp->input.actions & SB_AIMMODE, canslopetilt, pp->cursector, scaleAdjust, (pp->Flags & PF_CLIMBING)); + pp->horizon.calcviewpitch(pp->PlayerNowPosition.XY(), pp->angle.ang, pp->input.actions & SB_AIMMODE, canslopetilt, pp->cursector, scaleAdjust, (pp->Flags & PF_CLIMBING)); pp->horizon.applyinput(horz, &pp->input.actions, scaleAdjust); } @@ -1698,7 +1698,7 @@ void DoPlayerBob(PLAYER* pp) { double amt; - double dist = (pp->pos.XY() - pp->oldpos.XY()).Length(); + double dist = (pp->PlayerNowPosition.XY() - pp->oldpos.XY()).Length(); if (dist > 32) dist = 0; @@ -1774,7 +1774,7 @@ void DoPlayerSpriteBob(PLAYER* pp, double player_height, double bobamt, short bo { pp->bob_ndx = (pp->bob_ndx + (synctics << bob_speed)) & 2047; pp->pbob_amt = bobamt * BobVal(pp->bob_ndx); - pp->actor->spr.pos.Z = pp->pos.Z + player_height + pp->pbob_amt; + pp->actor->spr.pos.Z = pp->PlayerNowPosition.Z + player_height + pp->pbob_amt; } //--------------------------------------------------------------------------- @@ -1856,7 +1856,7 @@ void UpdatePlayerSprite(PLAYER* pp) // Update sprite representation of player - actor->spr.pos.XY() = pp->pos.XY(); + actor->spr.pos.XY() = pp->PlayerNowPosition.XY(); // there are multiple death functions if (pp->Flags & (PF_DEAD)) @@ -1874,12 +1874,12 @@ void UpdatePlayerSprite(PLAYER* pp) } else if (pp->DoPlayerAction == DoPlayerCrawl) { - actor->spr.pos.Z = pp->pos.Z + PLAYER_CRAWL_HEIGHTF; + actor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_CRAWL_HEIGHTF; ChangeActorSect(pp->actor, pp->cursector); } else if (pp->DoPlayerAction == DoPlayerWade) { - actor->spr.pos.Z = pp->pos.Z + PLAYER_HEIGHTF; + actor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_HEIGHTF; ChangeActorSect(pp->actor, pp->cursector); if (pp->WadeDepth > Z(29)) @@ -1890,12 +1890,12 @@ void UpdatePlayerSprite(PLAYER* pp) else if (pp->DoPlayerAction == DoPlayerDive) { // bobbing and sprite position taken care of in DoPlayerDive - actor->spr.pos.Z = pp->pos.Z + 10; + actor->spr.pos.Z = pp->PlayerNowPosition.Z + 10; ChangeActorSect(pp->actor, pp->cursector); } else if (pp->DoPlayerAction == DoPlayerClimb) { - actor->spr.pos.Z = pp->pos.Z + 17; + actor->spr.pos.Z = pp->PlayerNowPosition.Z + 17; ChangeActorSect(pp->actor, pp->cursector); } @@ -1907,12 +1907,12 @@ void UpdatePlayerSprite(PLAYER* pp) } else if (pp->DoPlayerAction == DoPlayerJump || pp->DoPlayerAction == DoPlayerFall || pp->DoPlayerAction == DoPlayerForceJump) { - actor->spr.pos.Z = pp->pos.Z + PLAYER_HEIGHTF; + actor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_HEIGHTF; ChangeActorSect(pp->actor, pp->cursector); } else if (pp->DoPlayerAction == DoPlayerTeleportPause) { - actor->spr.pos.Z = pp->pos.Z + PLAYER_HEIGHTF; + actor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_HEIGHTF; ChangeActorSect(pp->actor, pp->cursector); } else @@ -1945,7 +1945,7 @@ void DoPlayerZrange(PLAYER* pp) auto bakcstat = actor->spr.cstat; actor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK); - FAFgetzrange(pp->pos.plusZ(8), pp->cursector, &pp->hiz, &ceilhit, &pp->loz, &florhit, actor->clipdist - GETZRANGE_CLIP_ADJ, CLIPMASK_PLAYER); + FAFgetzrange(pp->PlayerNowPosition.plusZ(8), pp->cursector, &pp->hiz, &ceilhit, &pp->loz, &florhit, actor->clipdist - GETZRANGE_CLIP_ADJ, CLIPMASK_PLAYER); actor->spr.cstat = bakcstat; Collision ceilColl(ceilhit); @@ -2009,7 +2009,7 @@ void DoPlayerSlide(PLAYER* pp) if (abs(pp->slide_vect.X) < 0.05 && abs(pp->slide_vect.Y) < 0.05) pp->slide_vect.Zero(); - push_ret = pushmove(pp->pos, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); + push_ret = pushmove(pp->PlayerNowPosition, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); if (push_ret < 0) { if (!(pp->Flags & PF_DEAD)) @@ -2023,10 +2023,10 @@ void DoPlayerSlide(PLAYER* pp) return; } Collision coll; - clipmove(pp->pos, &pp->cursector, pp->slide_vect, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER, coll); + clipmove(pp->PlayerNowPosition, &pp->cursector, pp->slide_vect, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER, coll); PlayerCheckValidMove(pp); - push_ret = pushmove(pp->pos, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); + push_ret = pushmove(pp->PlayerNowPosition, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); if (push_ret < 0) { if (!(pp->Flags & PF_DEAD)) @@ -2051,7 +2051,7 @@ void PlayerCheckValidMove(PLAYER* pp) { if (!pp->insector()) { - pp->pos = pp->oldpos; + pp->PlayerNowPosition = pp->oldpos; pp->cursector = pp->lastcursector; } } @@ -2078,13 +2078,13 @@ void PlayerSectorBound(PLAYER* pp, double amt) // called from DoPlayerMove() but can be called // from anywhere it is needed - calcSlope(pp->cursector, pp->pos, &cz, &fz); + calcSlope(pp->cursector, pp->PlayerNowPosition, &cz, &fz); - if (pp->pos.Z > fz - amt) - pp->pos.Z = fz - amt; + if (pp->PlayerNowPosition.Z > fz - amt) + pp->PlayerNowPosition.Z = fz - amt; - if (pp->pos.Z < cz + amt) - pp->pos.Z = cz + amt; + if (pp->PlayerNowPosition.Z < cz + amt) + pp->PlayerNowPosition.Z = cz + amt; } @@ -2119,7 +2119,7 @@ void DoPlayerMove(PLAYER* pp) DoPlayerTurn(pp, pp->input.avel, 1); } - pp->oldpos = pp->pos; + pp->oldpos = pp->PlayerNowPosition; pp->lastcursector = pp->cursector; if (PLAYER_MOVING(pp) == 0) @@ -2163,16 +2163,16 @@ void DoPlayerMove(PLAYER* pp) auto sect = pp->cursector; if (interpolate_ride) { - pp->opos.XY() = pp->pos.XY(); + pp->opos.XY() = pp->PlayerNowPosition.XY(); } - pp->pos += pp->vect; - updatesector(pp->pos, §); + pp->PlayerNowPosition += pp->vect; + updatesector(pp->PlayerNowPosition, §); if (sect != nullptr) pp->cursector = sect; } else { - push_ret = pushmove(pp->pos, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist - Z(16), CLIPMASK_PLAYER); + push_ret = pushmove(pp->PlayerNowPosition, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist - Z(16), CLIPMASK_PLAYER); if (push_ret < 0) { @@ -2188,19 +2188,19 @@ void DoPlayerMove(PLAYER* pp) if (interpolate_ride) { - pp->opos.XY() = pp->pos.XY(); + pp->opos.XY() = pp->PlayerNowPosition.XY(); } auto save_cstat = actor->spr.cstat; actor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK); Collision coll; - updatesector(pp->pos, &pp->cursector); - clipmove(pp->pos, &pp->cursector, pp->vect, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER, coll); + updatesector(pp->PlayerNowPosition, &pp->cursector); + clipmove(pp->PlayerNowPosition, &pp->cursector, pp->vect, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER, coll); actor->spr.cstat = save_cstat; PlayerCheckValidMove(pp); - push_ret = pushmove(pp->pos, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist - Z(16), CLIPMASK_PLAYER); + push_ret = pushmove(pp->PlayerNowPosition, &pp->cursector, actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist - Z(16), CLIPMASK_PLAYER); if (push_ret < 0) { @@ -2217,12 +2217,12 @@ void DoPlayerMove(PLAYER* pp) if (interpolate_ride) { - pp->opos.Z = pp->pos.Z; + pp->opos.Z = pp->PlayerNowPosition.Z; pp->angle.backup(); } // check for warp - probably can remove from CeilingHit - if (WarpPlane(pp->pos, &pp->cursector)) + if (WarpPlane(pp->PlayerNowPosition, &pp->cursector)) { PlayerWarpUpdatePos(pp); } @@ -2246,19 +2246,19 @@ void DoPlayerMove(PLAYER* pp) { if (pp->Flags & (PF_FLYING|PF_JUMPING|PF_FALLING)) { - if (pp->pos.Z > pp->loz) - pp->pos.Z = pp->loz - PLAYER_HEIGHTF; + if (pp->PlayerNowPosition.Z > pp->loz) + pp->PlayerNowPosition.Z = pp->loz - PLAYER_HEIGHTF; - if (pp->pos.Z < pp->hiz) - pp->pos.Z = pp->hiz + PLAYER_HEIGHTF; + if (pp->PlayerNowPosition.Z < pp->hiz) + pp->PlayerNowPosition.Z = pp->hiz + PLAYER_HEIGHTF; } else if (pp->Flags & (PF_SWIMMING|PF_DIVING)) { - if (pp->pos.Z > pp->loz) - pp->pos.Z = pp->loz - PLAYER_SWIM_HEIGHTF; + if (pp->PlayerNowPosition.Z > pp->loz) + pp->PlayerNowPosition.Z = pp->loz - PLAYER_SWIM_HEIGHTF; - if (pp->pos.Z < pp->hiz) - pp->pos.Z = pp->hiz + PLAYER_SWIM_HEIGHTF; + if (pp->PlayerNowPosition.Z < pp->hiz) + pp->PlayerNowPosition.Z = pp->hiz + PLAYER_SWIM_HEIGHTF; } } } @@ -2278,21 +2278,21 @@ void DoPlayerSectorUpdatePreMove(PLAYER* pp) if ((pp->cursector->extra & SECTFX_DYNAMIC_AREA)) { - updatesectorz(pp->pos, §); + updatesectorz(pp->PlayerNowPosition, §); if (sect == nullptr) { sect = pp->cursector; - updatesector(pp->pos, §); + updatesector(pp->PlayerNowPosition, §); } ASSERT(sect); } else if (FAF_ConnectArea(sect)) { - updatesectorz(pp->pos, §); + updatesectorz(pp->PlayerNowPosition, §); if (sect == nullptr) { sect = pp->cursector; - updatesector(pp->pos, §); + updatesector(pp->PlayerNowPosition, §); } ASSERT(sect); } @@ -2314,7 +2314,7 @@ void DoPlayerSectorUpdatePostMove(PLAYER* pp) // need to do updatesectorz if in connect area if (sect != nullptr && FAF_ConnectArea(sect)) { - updatesectorz(pp->pos, &pp->cursector); + updatesectorz(pp->PlayerNowPosition, &pp->cursector); // can mess up if below if (!pp->insector()) @@ -2322,15 +2322,15 @@ void DoPlayerSectorUpdatePostMove(PLAYER* pp) pp->setcursector(sect); // adjust the posz to be in a sector - calcSlope(pp->cursector, pp->pos, &cz, &fz); - if (pp->pos.Z > fz) - pp->pos.Z = fz; + calcSlope(pp->cursector, pp->PlayerNowPosition, &cz, &fz); + if (pp->PlayerNowPosition.Z > fz) + pp->PlayerNowPosition.Z = fz; - if (pp->pos.Z < cz) - pp->pos.Z = cz; + if (pp->PlayerNowPosition.Z < cz) + pp->PlayerNowPosition.Z = cz; // try again - updatesectorz(pp->pos, &pp->cursector); + updatesectorz(pp->PlayerNowPosition, &pp->cursector); } } else @@ -2687,7 +2687,7 @@ void DoPlayerMoveVehicle(PLAYER* pp) pp->vect.X = pp->vect.Y = 0; pp->lastcursector = pp->cursector; - double zz = pp->pos.Z + 10; + double zz = pp->PlayerNowPosition.Z + 10; DVector2 pos[4], opos[4]; @@ -2784,7 +2784,7 @@ void DoPlayerMoveVehicle(PLAYER* pp) if (pp->sop->clipdist) { Collision coll; - clipmove(pp->pos, &pp->cursector, pp->vect, pp->sop->clipdist, 4., floordist, CLIPMASK_PLAYER, actor->user.coll); + clipmove(pp->PlayerNowPosition, &pp->cursector, pp->vect, pp->sop->clipdist, 4., floordist, CLIPMASK_PLAYER, actor->user.coll); } else { @@ -2813,7 +2813,7 @@ void DoPlayerMoveVehicle(PLAYER* pp) } } - OperateSectorObject(pp->sop, pp->angle.ang, pp->pos.XY()); + OperateSectorObject(pp->sop, pp->angle.ang, pp->PlayerNowPosition.XY()); pp->cursector = save_sect; // for speed if (!SyncInput()) @@ -2939,12 +2939,12 @@ void DoPlayerBeginForceJump(PLAYER* pp) bool PlayerCeilingHit(PLAYER* pp, double zlimit) { - return (pp->pos.Z < zlimit); + return (pp->PlayerNowPosition.Z < zlimit); } bool PlayerFloorHit(PLAYER* pp, double zlimit) { - return (pp->pos.Z > zlimit); + return (pp->PlayerNowPosition.Z > zlimit); } //--------------------------------------------------------------------------- @@ -2986,13 +2986,13 @@ void DoPlayerJump(PLAYER* pp) } // adjust height by jump speed - pp->pos.Z += pp->jump_speed * JUMP_FACTOR; + pp->PlayerNowPosition.Z += pp->jump_speed * JUMP_FACTOR; // if player gets to close the ceiling while jumping if (PlayerCeilingHit(pp, pp->hiz + 4)) { // put player at the ceiling - pp->pos.Z = pp->hiz + 4; + pp->PlayerNowPosition.Z = pp->hiz + 4; // reverse your speed to falling pp->jump_speed = -pp->jump_speed; @@ -3008,7 +3008,7 @@ void DoPlayerJump(PLAYER* pp) // if player gets to close the floor while jumping if (PlayerFloorHit(pp, pp->loz - pp->p_floor_dist)) { - pp->pos.Z = pp->loz - pp->p_floor_dist; + pp->PlayerNowPosition.Z = pp->loz - pp->p_floor_dist; pp->jump_speed = 0; PlayerSectorBound(pp, 1); @@ -3060,14 +3060,14 @@ void DoPlayerForceJump(PLAYER* pp) } // adjust height by jump speed - pp->pos.Z += pp->jump_speed * JUMP_FACTOR; + pp->PlayerNowPosition.Z += pp->jump_speed * JUMP_FACTOR; // if player gets to close the ceiling while jumping - //if (pp->posz < pp->hiz + Z(4)) + //if (pp->PlayerNowPositionz < pp->hiz + Z(4)) if (PlayerCeilingHit(pp, pp->hiz + 4)) { // put player at the ceiling - pp->pos.Z = pp->hiz + 4; + pp->PlayerNowPosition.Z = pp->hiz + 4; // reverse your speed to falling pp->jump_speed = -pp->jump_speed; @@ -3161,7 +3161,7 @@ void DoPlayerFall(PLAYER* pp) pp->jump_speed = 4100; // adjust player height by jump speed - pp->pos.Z += pp->jump_speed * JUMP_FACTOR; + pp->PlayerNowPosition.Z += pp->jump_speed * JUMP_FACTOR; if (pp->jump_speed > 2000) { @@ -3193,7 +3193,7 @@ void DoPlayerFall(PLAYER* pp) if (PlayerCeilingHit(pp, pp->hiz + pp->p_ceiling_dist)) { // put player at the ceiling - pp->pos.Z = pp->hiz + pp->p_ceiling_dist; + pp->PlayerNowPosition.Z = pp->hiz + pp->p_ceiling_dist; // don't return or anything - allow to fall until // hit floor } @@ -3220,14 +3220,14 @@ void DoPlayerFall(PLAYER* pp) // i any kind of crawl key get rid of recoil if (DoPlayerTestCrawl(pp) || (pp->input.actions & SB_CROUCH)) { - pp->pos.Z = pp->loz - PLAYER_CRAWL_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_CRAWL_HEIGHTF; } else { // this was causing the z to snap immediately // changed it so it stays gradual - pp->pos.Z += recoil_amnt; + pp->PlayerNowPosition.Z += recoil_amnt; DoPlayerHeight(pp); } @@ -3359,7 +3359,7 @@ void DoPlayerClimb(PLAYER* pp) { const double ADJ_AMT = 0.5; - auto ppos = pp->pos.XY(); + auto ppos = pp->PlayerNowPosition.XY(); // player if (ppos.X != pp->LadderPosition.X) { @@ -3382,7 +3382,7 @@ void DoPlayerClimb(PLAYER* pp) if (fabs(ppos.Y - pp->LadderPosition.Y) <= ADJ_AMT) ppos.Y = pp->LadderPosition.Y; } - pp->pos.XY() = ppos; + pp->PlayerNowPosition.XY() = ppos; // sprite ppos = plActor->spr.pos.XY(); @@ -3421,14 +3421,14 @@ void DoPlayerClimb(PLAYER* pp) // moving UP if (climbVel > 0) { - pp->pos.Z -= climbVel; + pp->PlayerNowPosition.Z -= climbVel; pp->climb_ndx &= 1023; // if player gets to close the ceiling while climbing if (PlayerCeilingHit(pp, pp->hiz)) { // put player at the hiz - pp->pos.Z = pp->hiz; + pp->PlayerNowPosition.Z = pp->hiz; NewStateGroup(pp->actor, sg_PlayerNinjaClimb); } @@ -3436,14 +3436,14 @@ void DoPlayerClimb(PLAYER* pp) if (PlayerCeilingHit(pp, pp->hiz + 4)) { // put player at the ceiling - pp->pos.Z = pp->LadderSector->ceilingz + 4; + pp->PlayerNowPosition.Z = pp->LadderSector->ceilingz + 4; NewStateGroup(pp->actor, sg_PlayerNinjaClimb); } // if floor is ABOVE you && your head goes above it, do a jump up to // terrace - if (pp->pos.Z < pp->LadderSector->floorz - 6) + if (pp->PlayerNowPosition.Z < pp->LadderSector->floorz - 6) { pp->jump_speed = PLAYER_CLIMB_JUMP_AMT; pp->Flags &= ~(PF_CLIMBING|PF_WEAPON_DOWN); @@ -3455,14 +3455,14 @@ void DoPlayerClimb(PLAYER* pp) // move DOWN if (climbVel < 0) { - pp->pos.Z -= climbVel; + pp->PlayerNowPosition.Z -= climbVel; pp->climb_ndx &= 1023; // if you are touching the floor if (PlayerFloorHit(pp, pp->loz - 4 - PLAYER_HEIGHTF)) { // stand on floor - pp->pos.Z = pp->loz - 4 - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - 4 - PLAYER_HEIGHTF; // if moving backwards start running if (climbVel < 0) @@ -3480,7 +3480,7 @@ void DoPlayerClimb(PLAYER* pp) } // setsprite to players location - plActor->spr.pos.Z = pp->pos.Z + PLAYER_HEIGHTF; + plActor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_HEIGHTF; ChangeActorSect(pp->actor, pp->cursector); if (!SyncInput()) @@ -3494,11 +3494,11 @@ void DoPlayerClimb(PLAYER* pp) if (FAF_ConnectArea(pp->cursector)) { - updatesectorz(pp->pos, &pp->cursector); + updatesectorz(pp->PlayerNowPosition, &pp->cursector); LadderUpdate = true; } - if (WarpPlane(pp->pos, &pp->cursector)) + if (WarpPlane(pp->PlayerNowPosition, &pp->cursector)) { PlayerWarpUpdatePos(pp); LadderUpdate = true; @@ -3510,7 +3510,7 @@ void DoPlayerClimb(PLAYER* pp) HitInfo near; // constantly look for new ladder sector because of warping at any time - neartag(pp->pos, pp->cursector, pp->angle.ang, near, 50., NT_Lotag | NT_Hitag | NT_NoSpriteCheck); + neartag(pp->PlayerNowPosition, pp->cursector, pp->angle.ang, near, 50., NT_Lotag | NT_Hitag | NT_NoSpriteCheck); if (near.hitWall) { @@ -3550,15 +3550,15 @@ int DoPlayerWadeSuperJump(PLAYER* pp) //for (i = 0; i < SIZ(angs); i++) { - FAFhitscan(DVector3(pp->pos.XY(), zh), pp->cursector, DVector3(pp->angle.ang.ToVector() * 1024, 0), hit, CLIPMASK_MISSILE); + FAFhitscan(DVector3(pp->PlayerNowPosition.XY(), zh), pp->cursector, DVector3(pp->angle.ang.ToVector() * 1024, 0), hit, CLIPMASK_MISSILE); if (hit.hitWall != nullptr && hit.hitSector != nullptr) { hit.hitSector = hit.hitWall->nextSector(); - if (hit.hitSector != nullptr && abs(hit.hitSector->floorz - pp->pos.Z) < 50) + if (hit.hitSector != nullptr && abs(hit.hitSector->floorz - pp->PlayerNowPosition.Z) < 50) { - double dist = (pp->pos.XY() - hit.hitpos.XY()).Length(); + double dist = (pp->PlayerNowPosition.XY() - hit.hitpos.XY()).Length(); double comp = (pp->actor->clipdist + 16); if (dist < comp) return true; @@ -3620,7 +3620,7 @@ void DoPlayerBeginCrawl(PLAYER* pp) bool PlayerFallTest(PLAYER* pp, double player_height) { // If the floor is far below you, fall hard instead of adjusting height - if (abs(pp->pos.Z - pp->loz) > player_height + PLAYER_FALL_HEIGHTF) + if (abs(pp->PlayerNowPosition.Z - pp->loz) > player_height + PLAYER_FALL_HEIGHTF) { // if on a STEEP slope sector and you have not moved off of the sector if (pp->lo_sectp && @@ -3657,7 +3657,7 @@ void DoPlayerCrawl(PLAYER* pp) if (FAF_ConnectArea(pp->cursector)) { // adjust the z - pp->pos.Z = pp->cursector->ceilingz + 12; + pp->PlayerNowPosition.Z = pp->cursector->ceilingz + 12; } DoPlayerBeginDiveNoWarp(pp); @@ -3711,7 +3711,7 @@ void DoPlayerCrawl(PLAYER* pp) if (pp->insector() && (pp->cursector->extra & SECTFX_DYNAMIC_AREA)) { - pp->pos.Z = pp->loz - PLAYER_CRAWL_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_CRAWL_HEIGHTF; } DoPlayerBob(pp); @@ -3753,7 +3753,7 @@ void PlayerWarpUpdatePos(PLAYER* pp) if (Prediction) return; - pp->opos = pp->pos; + pp->opos = pp->PlayerNowPosition; DoPlayerZrange(pp); UpdatePlayerSprite(pp); } @@ -3790,7 +3790,7 @@ void DoPlayerFly(PLAYER* pp) pp->z_speed *= FixedToFloat(58000); - pp->pos.Z += pp->z_speed; + pp->PlayerNowPosition.Z += pp->z_speed; // Make the min distance from the ceiling/floor match bobbing amount // so the player never goes into the ceiling/floor @@ -3798,14 +3798,14 @@ void DoPlayerFly(PLAYER* pp) // Only get so close to the ceiling if (PlayerCeilingHit(pp, pp->hiz + PLAYER_FLY_BOB_AMT + 8)) { - pp->pos.Z = pp->hiz + PLAYER_FLY_BOB_AMT + 8; + pp->PlayerNowPosition.Z = pp->hiz + PLAYER_FLY_BOB_AMT + 8; pp->z_speed = 0; } // Only get so close to the floor if (PlayerFloorHit(pp, pp->loz - PLAYER_HEIGHTF - PLAYER_FLY_BOB_AMT)) { - pp->pos.Z = pp->loz - PLAYER_HEIGHTF - PLAYER_FLY_BOB_AMT; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_HEIGHTF - PLAYER_FLY_BOB_AMT; pp->z_speed = 0; } @@ -3871,7 +3871,7 @@ bool PlayerOnLadder(PLAYER* pp) if (Prediction) return false; - neartag(pp->pos, pp->cursector, pp->angle.ang, near, 64. + 48., NT_Lotag | NT_Hitag); + neartag(pp->PlayerNowPosition, pp->cursector, pp->angle.ang, near, 64. + 48., NT_Lotag | NT_Hitag); double dir = pp->vect.dot(pp->angle.ang.ToVector()); @@ -3883,12 +3883,12 @@ bool PlayerOnLadder(PLAYER* pp) for (i = 0; i < SIZ(angles); i++) { - neartag(pp->pos, pp->cursector, pp->angle.ang + angles[i], near, 37.5, NT_Lotag | NT_Hitag | NT_NoSpriteCheck); + neartag(pp->PlayerNowPosition, pp->cursector, pp->angle.ang + angles[i], near, 37.5, NT_Lotag | NT_Hitag | NT_NoSpriteCheck); if (near.hitWall == nullptr || near.hitpos.X < 6.25 || near.hitWall->lotag != TAG_WALL_CLIMB) return false; - FAFhitscan(pp->pos, pp->cursector, DVector3((pp->angle.ang + angles[i]).ToVector() * 1024, 0), hit, CLIPMASK_MISSILE); + FAFhitscan(pp->PlayerNowPosition, pp->cursector, DVector3((pp->angle.ang + angles[i]).ToVector() * 1024, 0), hit, CLIPMASK_MISSILE); if (hit.actor() != nullptr) { @@ -3990,11 +3990,11 @@ int PlayerCanDive(PLAYER* pp) { if (PlayerInDiveArea(pp)) { - pp->pos.Z += 20; + pp->PlayerNowPosition.Z += 20; pp->z_speed = 20; pp->jump_speed = 0; - if (pp->pos.Z > pp->loz - pp->WadeDepth - 2) + if (pp->PlayerNowPosition.Z > pp->loz - pp->WadeDepth - 2) { DoPlayerBeginDive(pp); } @@ -4029,7 +4029,7 @@ int PlayerCanDiveNoWarp(PLAYER* pp) if (SectorIsUnderwaterArea(sect)) { pp->setcursector(sect); - pp->pos.Z = sect->ceilingz + 20; + pp->PlayerNowPosition.Z = sect->ceilingz + 20; pp->z_speed = 20; pp->jump_speed = 0; @@ -4266,24 +4266,24 @@ void DoPlayerWarpToUnderwater(PLAYER* pp) PRODUCTION_ASSERT(Found == true); // get the offset from the sprite - plActor->user.pos.XY() = over_act->spr.pos.XY() - pp->pos.XY(); + plActor->user.pos.XY() = over_act->spr.pos.XY() - pp->PlayerNowPosition.XY(); // update to the new x y position - pp->pos.XY() = under_act->spr.pos.XY() - plActor->user.pos.XY(); + pp->PlayerNowPosition.XY() = under_act->spr.pos.XY() - plActor->user.pos.XY(); auto over = over_act->sector(); auto under = under_act->sector(); - if (GetOverlapSector(pp->pos, &over, &under) == 2) + if (GetOverlapSector(pp->PlayerNowPosition, &over, &under) == 2) { pp->setcursector(under); } else pp->setcursector(over); - pp->pos.Z = under_act->sector()->ceilingz + 6; + pp->PlayerNowPosition.Z = under_act->sector()->ceilingz + 6; - pp->opos = pp->pos; + pp->opos = pp->PlayerNowPosition; DoPlayerZrange(pp); return; @@ -4338,28 +4338,28 @@ void DoPlayerWarpToSurface(PLAYER* pp) PRODUCTION_ASSERT(Found == true); // get the offset from the under sprite - plActor->user.pos.XY() = under_act->spr.pos.XY() - pp->pos.XY(); + plActor->user.pos.XY() = under_act->spr.pos.XY() - pp->PlayerNowPosition.XY(); // update to the new x y position - pp->pos.XY() = over_act->spr.pos.XY() - plActor->user.pos.XY(); + pp->PlayerNowPosition.XY() = over_act->spr.pos.XY() - plActor->user.pos.XY(); auto over = over_act->sector(); auto under = under_act->sector(); - if (GetOverlapSector(pp->pos, &over, &under)) + if (GetOverlapSector(pp->PlayerNowPosition, &over, &under)) { pp->setcursector(over); } - pp->pos.Z = over_act->sector()->floorz - 2; + pp->PlayerNowPosition.Z = over_act->sector()->floorz - 2; // set z range and wade depth so we know how high to set view DoPlayerZrange(pp); DoPlayerSetWadeDepth(pp); - pp->pos.Z -= pp->WadeDepth; + pp->PlayerNowPosition.Z -= pp->WadeDepth; - pp->opos = pp->pos; + pp->opos = pp->PlayerNowPosition; return; } @@ -4683,22 +4683,22 @@ void DoPlayerDive(PLAYER* pp) if (abs(pp->z_speed) < 1./16) pp->z_speed = 0; - pp->pos.Z += pp->z_speed; + pp->PlayerNowPosition.Z += pp->z_speed; if (pp->z_speed < 0 && FAF_ConnectArea(pp->cursector)) { - if (pp->pos.Z < pp->cursector->ceilingz + 10) + if (pp->PlayerNowPosition.Z < pp->cursector->ceilingz + 10) { auto sect = pp->cursector; // check for sector above to see if it is an underwater sector also - updatesectorz(DVector3(pp->pos, pp->cursector->ceilingz - 8), §); + updatesectorz(DVector3(pp->PlayerNowPosition, pp->cursector->ceilingz - 8), §); if (!SectorIsUnderwaterArea(sect)) { // if not underwater sector we must surface // force into above sector - pp->pos.Z = pp->cursector->ceilingz- 8; + pp->PlayerNowPosition.Z = pp->cursector->ceilingz- 8; pp->setcursector(sect); DoPlayerStopDiveNoWarp(pp); DoPlayerBeginRun(pp); @@ -4713,9 +4713,9 @@ void DoPlayerDive(PLAYER* pp) if (sectu && (sectu->number == 0 || (sectu->flags & SECTFU_CANT_SURFACE))) { // for room over room water the hiz will be the top rooms ceiling - if (pp->pos.Z < pp->hiz + pp->p_ceiling_dist) + if (pp->PlayerNowPosition.Z < pp->hiz + pp->p_ceiling_dist) { - pp->pos.Z = pp->hiz + pp->p_ceiling_dist; + pp->PlayerNowPosition.Z = pp->hiz + pp->p_ceiling_dist; } } else @@ -4724,7 +4724,7 @@ void DoPlayerDive(PLAYER* pp) // !JIM! FRANK - I added !pp->hiActor so that you don't warp to surface when // there is a sprite above you since getzrange returns a hiz < ceiling height // if you are clipping into a sprite and not the ceiling. - if (pp->pos.Z < pp->hiz + 4 && !pp->highActor) + if (pp->PlayerNowPosition.Z < pp->hiz + 4 && !pp->highActor) { DoPlayerStopDive(pp); return; @@ -4732,9 +4732,9 @@ void DoPlayerDive(PLAYER* pp) } // Only get so close to the floor - if (pp->pos.Z >= pp->loz - PLAYER_DIVE_HEIGHTF) + if (pp->PlayerNowPosition.Z >= pp->loz - PLAYER_DIVE_HEIGHTF) { - pp->pos.Z = pp->loz - PLAYER_DIVE_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_DIVE_HEIGHTF; } // make player bob if sitting still @@ -4759,13 +4759,13 @@ void DoPlayerDive(PLAYER* pp) } // Reverse bobbing when getting close to the floor - if (pp->pos.Z + pp->pbob_amt >= pp->loz - PLAYER_DIVE_HEIGHTF) + if (pp->PlayerNowPosition.Z + pp->pbob_amt >= pp->loz - PLAYER_DIVE_HEIGHTF) { pp->bob_ndx = NORM_ANGLE(pp->bob_ndx + ((1024 + 512) - pp->bob_ndx) * 2); DoPlayerSpriteBob(pp, PLAYER_DIVE_HEIGHTF, PLAYER_DIVE_BOB_AMT, 3); } // Reverse bobbing when getting close to the ceiling - if (pp->pos.Z + pp->pbob_amt < pp->hiz + pp->p_ceiling_dist) + if (pp->PlayerNowPosition.Z + pp->pbob_amt < pp->hiz + pp->p_ceiling_dist) { pp->bob_ndx = NORM_ANGLE(pp->bob_ndx + ((512) - pp->bob_ndx) * 2); DoPlayerSpriteBob(pp, PLAYER_DIVE_HEIGHTF, PLAYER_DIVE_BOB_AMT, 3); @@ -4830,7 +4830,7 @@ void DoPlayerCurrent(PLAYER* pp) auto vect = sectu->angle.ToVector() / 256. * sectu->speed * synctics; // 16384 >> 4 - Beware of clipmove's odd format for vect! - push_ret = pushmove(pp->pos, &pp->cursector, pp->actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); + push_ret = pushmove(pp->PlayerNowPosition, &pp->cursector, pp->actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); if (push_ret < 0) { if (!(pp->Flags & PF_DEAD)) @@ -4846,10 +4846,10 @@ void DoPlayerCurrent(PLAYER* pp) return; } Collision coll; - clipmove(pp->pos, &pp->cursector, vect, pp->actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER, coll); + clipmove(pp->PlayerNowPosition, &pp->cursector, vect, pp->actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER, coll); PlayerCheckValidMove(pp); - pushmove(pp->pos, &pp->cursector, pp->actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); + pushmove(pp->PlayerNowPosition, &pp->cursector, pp->actor->clipdist, pp->p_ceiling_dist, pp->p_floor_dist, CLIPMASK_PLAYER); if (push_ret < 0) { if (!(pp->Flags & PF_DEAD)) @@ -5049,7 +5049,7 @@ void DoPlayerWade(PLAYER* pp) } // If the floor is far below you, fall hard instead of adjusting height - if (abs(pp->pos.Z - pp->loz) > PLAYER_HEIGHTF + PLAYER_FALL_HEIGHTF) + if (abs(pp->PlayerNowPosition.Z - pp->loz) > PLAYER_HEIGHTF + PLAYER_FALL_HEIGHTF) { pp->jump_speed = 256; DoPlayerBeginFall(pp); @@ -5066,7 +5066,7 @@ void DoPlayerWade(PLAYER* pp) } // If the floor is far below you, fall hard instead of adjusting height - if (abs(pp->pos.Z - pp->loz) > PLAYER_HEIGHTF + PLAYER_FALL_HEIGHTF) + if (abs(pp->PlayerNowPosition.Z - pp->loz) > PLAYER_HEIGHTF + PLAYER_FALL_HEIGHTF) { pp->jump_speed = Z(1); DoPlayerBeginFall(pp); @@ -5244,10 +5244,10 @@ void DoPlayerBeginOperate(PLAYER* pp) sop->controller = pp->actor; pp->angle.oang = pp->angle.ang = sop->ang; - pp->pos.XY() = sop->pmid.XY(); - updatesector(pp->pos, &pp->cursector); - calcSlope(pp->cursector, pp->pos, &cz, &fz); - pp->pos.Z = fz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.XY() = sop->pmid.XY(); + updatesector(pp->PlayerNowPosition, &pp->cursector); + calcSlope(pp->cursector, pp->PlayerNowPosition, &cz, &fz); + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; pp->Flags &= ~(PF_CRAWLING|PF_JUMPING|PF_FALLING|PF_LOCK_CRAWL); @@ -5272,7 +5272,7 @@ void DoPlayerBeginOperate(PLAYER* pp) PlaySOsound(pp->sop->mid_sector, SO_DRIVE_SOUND); else PlaySOsound(pp->sop->mid_sector, SO_IDLE_SOUND); - pp->pos.Z = fz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; DoPlayerBeginOperateVehicle(pp); break; case SO_TURRET_MGUN: @@ -5281,7 +5281,7 @@ void DoPlayerBeginOperate(PLAYER* pp) PlaySOsound(pp->sop->mid_sector, SO_DRIVE_SOUND); else PlaySOsound(pp->sop->mid_sector, SO_IDLE_SOUND); - pp->pos.Z = fz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; DoPlayerBeginOperateTurret(pp); break; #if 0 @@ -5334,10 +5334,10 @@ void DoPlayerBeginRemoteOperate(PLAYER* pp, SECTOR_OBJECT* sop) auto save_sect = pp->cursector; pp->angle.oang = pp->angle.ang = sop->ang; - pp->pos.XY() = sop->pmid.XY(); - updatesector(pp->pos, &pp->cursector); - calcSlope(pp->cursector, pp->pos, &cz, &fz); - pp->pos.Z = fz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.XY() = sop->pmid.XY(); + updatesector(pp->PlayerNowPosition, &pp->cursector); + calcSlope(pp->cursector, pp->PlayerNowPosition, &cz, &fz); + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; pp->Flags &= ~(PF_CRAWLING|PF_JUMPING|PF_FALLING|PF_LOCK_CRAWL); @@ -5365,7 +5365,7 @@ void DoPlayerBeginRemoteOperate(PLAYER* pp, SECTOR_OBJECT* sop) PlaySOsound(pp->sop->mid_sector, SO_DRIVE_SOUND); else PlaySOsound(pp->sop->mid_sector, SO_IDLE_SOUND); - pp->pos.Z = fz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; DoPlayerBeginOperateVehicle(pp); break; case SO_TURRET_MGUN: @@ -5374,7 +5374,7 @@ void DoPlayerBeginRemoteOperate(PLAYER* pp, SECTOR_OBJECT* sop) PlaySOsound(pp->sop->mid_sector, SO_DRIVE_SOUND); else PlaySOsound(pp->sop->mid_sector, SO_IDLE_SOUND); - pp->pos.Z = fz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; DoPlayerBeginOperateTurret(pp); break; default: @@ -5395,7 +5395,7 @@ void PlayerToRemote(PLAYER* pp) pp->remote.cursectp = pp->cursector; pp->remote.lastcursectp = pp->lastcursector; - pp->remote.pos = pp->pos; + pp->remote.pos = pp->PlayerNowPosition; pp->remote.vect = pp->vect; pp->remote.ovect = pp->ovect; @@ -5407,7 +5407,7 @@ void RemoteToPlayer(PLAYER* pp) pp->setcursector(pp->remote.cursectp); pp->lastcursector = pp->remote.lastcursectp; - pp->pos = pp->remote.pos; + pp->PlayerNowPosition = pp->remote.pos; pp->vect = pp->remote.vect; pp->ovect = pp->remote.ovect; @@ -5420,8 +5420,8 @@ void PlayerRemoteReset(PLAYER* pp, sectortype* sect) pp->lastcursector = pp->cursector; auto rsp = pp->remoteActor; - pp->pos.XY() = rsp->spr.pos.XY(); - pp->pos.Z = sect->floorz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.XY() = rsp->spr.pos.XY(); + pp->PlayerNowPosition.Z = sect->floorz - PLAYER_HEIGHTF; pp->vect.Zero(); pp->ovect.Zero(); @@ -5457,7 +5457,7 @@ void DoPlayerStopOperate(PLAYER* pp) if (TEST_BOOL1(rsp)) pp->angle.ang = pp->angle.oang = rsp->spr.angle; else - pp->angle.ang = pp->angle.oang = (pp->sop_remote->pmid.XY() - pp->pos.XY()).Angle(); + pp->angle.ang = pp->angle.oang = (pp->sop_remote->pmid.XY() - pp->PlayerNowPosition.XY()).Angle(); } if (pp->sop_control) @@ -5583,14 +5583,14 @@ void DoPlayerDeathJump(PLAYER* pp) } // adjust height by jump speed - pp->pos.Z += pp->jump_speed * JUMP_FACTOR; + pp->PlayerNowPosition.Z += pp->jump_speed * JUMP_FACTOR; // if player gets to close the ceiling while jumping //if (pp->posz < pp->hiz + Z(4)) if (PlayerCeilingHit(pp, pp->hiz + 4)) { // put player at the ceiling - pp->pos.Z = pp->hiz + 4; + pp->PlayerNowPosition.Z = pp->hiz + 4; // reverse your speed to falling pp->jump_speed = -pp->jump_speed; @@ -5620,7 +5620,7 @@ void DoPlayerDeathFall(PLAYER* pp) pp->jump_speed += PLAYER_DEATH_GRAV; // adjust player height by jump speed - pp->pos.Z += pp->jump_speed * JUMP_FACTOR; + pp->PlayerNowPosition.Z += pp->jump_speed * JUMP_FACTOR; if (pp->lo_sectp && (pp->lo_sectp->extra & SECTFX_SINK)) { @@ -5639,7 +5639,7 @@ void DoPlayerDeathFall(PLAYER* pp) else PlaySound(DIGI_BODYFALL2, pp, v3df_dontpan); - pp->pos.Z = loz - PLAYER_DEATH_HEIGHTF; + pp->PlayerNowPosition.Z = loz - PLAYER_DEATH_HEIGHTF; pp->Flags &= ~(PF_FALLING); } } @@ -6091,9 +6091,9 @@ void DoPlayerDeathFollowKiller(PLAYER* pp) DSWActor* killer = pp->KillerActor; if (killer) { - if (FAFcansee(ActorVectOfTop(killer), killer->sector(), pp->pos, pp->cursector)) + if (FAFcansee(ActorVectOfTop(killer), killer->sector(), pp->PlayerNowPosition, pp->cursector)) { - pp->angle.addadjustment(deltaangle(pp->angle.ang, (killer->spr.pos.XY() - pp->pos.XY()).Angle()) * (1. / 16.)); + pp->angle.addadjustment(deltaangle(pp->angle.ang, (killer->spr.pos.XY() - pp->PlayerNowPosition.XY()).Angle()) * (1. / 16.)); } } } @@ -6132,7 +6132,7 @@ void DoPlayerDeathCheckKeys(PLAYER* pp) plActor->spr.picnum = plActor->user.State->Pic; plActor->spr.scale = DVector2(PLAYER_NINJA_XREPEAT, PLAYER_NINJA_XREPEAT); plActor->spr.cstat &= ~(CSTAT_SPRITE_YCENTER); - plActor->spr.pos = pp->pos.plusZ(PLAYER_HEIGHTF); + plActor->spr.pos = pp->PlayerNowPosition.plusZ(PLAYER_HEIGHTF); plActor->spr.angle = pp->angle.ang; DoSpawnTeleporterEffect(plActor); @@ -6302,23 +6302,23 @@ void DoPlayerDeathMoveHead(PLAYER* pp) } } - pp->pos.XY() = plActor->spr.pos.XY(); + pp->PlayerNowPosition.XY() = plActor->spr.pos.XY(); pp->setcursector(plActor->sector()); // try to stay in valid area - death sometimes throws you out of the map auto sect = pp->cursector; - updatesector(pp->pos, §); + updatesector(pp->PlayerNowPosition, §); if (sect == nullptr) { pp->cursector = pp->lv_sector; ChangeActorSect(pp->actor, pp->lv_sector); - pp->pos.XY() = pp->lv.XY(); - plActor->spr.pos.XY() = pp->pos.XY(); + pp->PlayerNowPosition.XY() = pp->lv.XY(); + plActor->spr.pos.XY() = pp->PlayerNowPosition.XY(); } else { pp->lv_sector = sect; - pp->lv.XY() = pp->pos.XY(); + pp->lv.XY() = pp->PlayerNowPosition.XY(); } } @@ -6390,14 +6390,14 @@ void DoPlayerDeathDrown(PLAYER* pp) if ((pp->Flags & PF_FALLING)) { - pp->pos.Z += 2; + pp->PlayerNowPosition.Z += 2; if (MoveSkip2 == 0) actor->spr.pos.Z += 4; // Stick like glue when you hit the ground - if (pp->pos.Z > pp->loz - PLAYER_DEATH_HEIGHTF) + if (pp->PlayerNowPosition.Z > pp->loz - PLAYER_DEATH_HEIGHTF) { - pp->pos.Z = pp->loz - PLAYER_DEATH_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_DEATH_HEIGHTF; pp->Flags &= ~(PF_FALLING); } } @@ -6494,7 +6494,7 @@ void DoPlayerDeathCrumble(PLAYER* pp) } DoPlayerDeathCheckKeys(pp); - plActor->spr.pos.Z = pp->pos.Z + PLAYER_DEAD_HEAD_FLOORZ_OFFSET; + plActor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_DEAD_HEAD_FLOORZ_OFFSET; DoPlayerHeadDebris(pp); } @@ -6553,7 +6553,7 @@ void DoPlayerDeathExplode(PLAYER* pp) } DoPlayerDeathCheckKeys(pp); - plActor->spr.pos.Z = pp->pos.Z + PLAYER_DEAD_HEAD_FLOORZ_OFFSET; + plActor->spr.pos.Z = pp->PlayerNowPosition.Z + PLAYER_DEAD_HEAD_FLOORZ_OFFSET; DoPlayerHeadDebris(pp); } @@ -6639,7 +6639,7 @@ void DoPlayerRun(PLAYER* pp) //DoPlayerHeight(pp); //DoPlayerHeight(pp); //DoPlayerHeight(pp); - pp->pos.Z = pp->loz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_HEIGHTF; DoPlayerBeginJump(pp); return; } @@ -6734,7 +6734,7 @@ void DoPlayerRun(PLAYER* pp) if ((pp->cursector && pp->cursector->extra & SECTFX_DYNAMIC_AREA)) { - pp->pos.Z = pp->loz - PLAYER_HEIGHTF; + pp->PlayerNowPosition.Z = pp->loz - PLAYER_HEIGHTF; } // Adjust height moving up and down sectors @@ -6818,7 +6818,7 @@ void MoveSkipSavePos(void) { pp = Player + pnum; - pp->opos = pp->pos; + pp->opos = pp->PlayerNowPosition; pp->obob_z = pp->bob_z; pp->angle.backup(); pp->horizon.backup(); @@ -7099,7 +7099,7 @@ void domovethings(void) // auto tracking mode for single player multi-game if (numplayers <= 1 && PlayerTrackingMode && pnum == screenpeek && screenpeek != myconnectindex) { - Player[screenpeek].angle.settarget((Player[myconnectindex].pos - Player[screenpeek].pos).Angle()); + Player[screenpeek].angle.settarget((Player[myconnectindex].PlayerNowPosition - Player[screenpeek].PlayerNowPosition).Angle()); } if (!(pp->Flags & PF_DEAD)) @@ -7174,7 +7174,7 @@ void InitAllPlayers(void) // Initialize all [MAX_SW_PLAYERS] arrays here! for (pp = Player; pp < &Player[MAX_SW_PLAYERS]; pp++) { - pp->pos = pp->opos = pfirst->pos; + pp->PlayerNowPosition = pp->opos = pfirst->PlayerNowPosition; pp->angle.ang = pp->angle.oang = pfirst->angle.ang; pp->horizon.horiz = pp->horizon.ohoriz = pfirst->horizon.horiz; pp->cursector = pfirst->cursector; @@ -7250,7 +7250,7 @@ int SearchSpawnPosition(PLAYER* pp) if (opp != pp) // don't test for yourself { - if ((spawn_sprite->spr.pos.XY() - opp->pos.XY()).Length() < 62.25) + if ((spawn_sprite->spr.pos.XY() - opp->PlayerNowPosition.XY()).Length() < 62.25) { blocked = true; break; @@ -7334,17 +7334,17 @@ void PlayerSpawnPosition(PLAYER* pp) ASSERT(spawn_sprite != nullptr); - pp->pos = spawn_sprite->spr.pos; - pp->opos = pp->pos; + pp->PlayerNowPosition = spawn_sprite->spr.pos; + pp->opos = pp->PlayerNowPosition; pp->angle.ang = pp->angle.oang = spawn_sprite->spr.angle; pp->setcursector(spawn_sprite->sector()); - calcSlope(pp->cursector, pp->pos, &cz, &fz); + calcSlope(pp->cursector, pp->PlayerNowPosition, &cz, &fz); // if too close to the floor - stand up - if (pp->pos.Z > fz - PLAYER_HEIGHTF) + if (pp->PlayerNowPosition.Z > fz - PLAYER_HEIGHTF) { - pp->pos.Z = fz - PLAYER_HEIGHTF; - pp->opos.Z = pp->pos.Z; + pp->PlayerNowPosition.Z = fz - PLAYER_HEIGHTF; + pp->opos.Z = pp->PlayerNowPosition.Z; } } @@ -7399,7 +7399,7 @@ void InitMultiPlayerInfo(void) continue; } - auto start0 = SpawnActor(MultiStatList[stat], ST1, nullptr, pp->cursector, pp->pos, pp->angle.ang); + auto start0 = SpawnActor(MultiStatList[stat], ST1, nullptr, pp->cursector, pp->PlayerNowPosition, pp->angle.ang); start0->clearUser(); start0->spr.picnum = ST1; } diff --git a/source/games/sw/src/quake.cpp b/source/games/sw/src/quake.cpp index a28fe3c0c..e2949b07c 100644 --- a/source/games/sw/src/quake.cpp +++ b/source/games/sw/src/quake.cpp @@ -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; } diff --git a/source/games/sw/src/save.cpp b/source/games/sw/src/save.cpp index 872b66277..92dbce929 100644 --- a/source/games/sw/src/save.cpp +++ b/source/games/sw/src/save.cpp @@ -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 = {}; diff --git a/source/games/sw/src/sector.cpp b/source/games/sw/src/sector.cpp index a1f6d4bd0..aca8d429f 100644 --- a/source/games/sw/src/sector.cpp +++ b/source/games/sw/src/sector.cpp @@ -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; } diff --git a/source/games/sw/src/sounds.cpp b/source/games/sw/src/sounds.cpp index 6a88dc7d6..238218fd3 100644 --- a/source/games/sw/src/sounds.cpp +++ b/source/games/sw/src/sounds.cpp @@ -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; } diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index c63eea668..109265272 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -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); diff --git a/source/games/sw/src/sumo.cpp b/source/games/sw/src/sumo.cpp index cb04b0b52..84e476207 100644 --- a/source/games/sw/src/sumo.cpp +++ b/source/games/sw/src/sumo.cpp @@ -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]) { diff --git a/source/games/sw/src/track.cpp b/source/games/sw/src/track.cpp index 0d13b9031..d6f8a2f9d 100644 --- a/source/games/sw/src/track.cpp +++ b/source/games/sw/src/track.cpp @@ -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); diff --git a/source/games/sw/src/vis.cpp b/source/games/sw/src/vis.cpp index cea8e5645..e30a22d45 100644 --- a/source/games/sw/src/vis.cpp +++ b/source/games/sw/src/vis.cpp @@ -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); diff --git a/source/games/sw/src/weapon.cpp b/source/games/sw/src/weapon.cpp index e42a71494..25bed6803 100644 --- a/source/games/sw/src/weapon.cpp +++ b/source/games/sw/src/weapon.cpp @@ -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) { diff --git a/source/games/sw/src/weapon.h b/source/games/sw/src/weapon.h index fdb08c11a..b23c78cb9 100644 --- a/source/games/sw/src/weapon.h +++ b/source/games/sw/src/weapon.h @@ -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(); } diff --git a/source/games/sw/src/zombie.cpp b/source/games/sw/src/zombie.cpp index ebe31f824..ac7099cef 100644 --- a/source/games/sw/src/zombie.cpp +++ b/source/games/sw/src/zombie.cpp @@ -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();