- Remove PlayerAngles::setYaw() method usage and remaining associated code.

This commit is contained in:
Mitchell Richters 2022-12-03 15:10:02 +11:00 committed by Christoph Oelckers
parent f58e3c58aa
commit 470b4efac8
8 changed files with 12 additions and 34 deletions

View file

@ -88,33 +88,10 @@ struct PlayerAngles
return offsets;
}
// Yaw methods.
void setYaw(const DAngle value, const bool backup = false) { updateAngle(YAW, value, backup); }
// Roll methods.
void addRoll(const DAngle value) { updateAngle(ROLL, pActor->spr.Angles.Roll + value); }
void setRoll(const DAngle value, const bool backup = false) { updateAngle(ROLL, value, backup); }
private:
// DRotator indices.
enum : unsigned
{
PITCH,
YAW,
ROLL,
MAXANGLES,
};
// Private data which should never be accessed publically.
DRotator PrevLerpAngles;
DCoreActor* pActor;
// Internal angle updater to reduce boilerplate from the public setters.
void updateAngle(const unsigned angIndex, const DAngle value, const bool backup = false)
{
pActor->spr.Angles[angIndex] = value;
if (backup) pActor->PrevAngles[angIndex] = pActor->spr.Angles[angIndex];
}
};
class FSerializer;

View file

@ -6051,12 +6051,12 @@ bool modernTypeOperateSprite(DBloodActor* actor, EVENT& event)
else if (actor->spr.flags & kModernTypeFlag1)
{
setForcedSyncInput();
pPlayer->Angles.setYaw(actor->spr.Angles.Yaw);
pPlayer->actor->spr.Angles.Yaw = actor->spr.Angles.Yaw;
}
else if (valueIsBetween(actor->xspr.data2, -kAng360, kAng360))
{
setForcedSyncInput();
pPlayer->Angles.setYaw(mapangle(actor->xspr.data2));
pPlayer->actor->spr.Angles.Yaw = mapangle(actor->xspr.data2);
}
break;
case 10: // 74 (de)activate powerup

View file

@ -1627,7 +1627,7 @@ void OperateTeleport(sectortype* pSector)
{
playerResetInertia(pPlayer);
pPlayer->zViewVel = pPlayer->zWeaponVel = 0;
pPlayer->Angles.setYaw(actor->spr.Angles.Yaw, true);
pPlayer->actor->PrevAngles.Yaw = pPlayer->actor->spr.Angles.Yaw = actor->spr.Angles.Yaw;
}
}
}

View file

@ -746,7 +746,7 @@ void movetransports_d(void)
ps[k].GetActor()->spr.extra = 0;
}
ps[p].Angles.setYaw(Owner->spr.Angles.Yaw, true);
ps[p].GetActor()->PrevAngles.Yaw = ps[p].GetActor()->spr.Angles.Yaw = Owner->spr.Angles.Yaw;
if (Owner->GetOwner() != Owner)
{

View file

@ -608,7 +608,7 @@ void movetransports_r(void)
ps[k].GetActor()->spr.extra = 0;
}
ps[p].Angles.setYaw(Owner->spr.Angles.Yaw, true);
ps[p].GetActor()->PrevAngles.Yaw = ps[p].GetActor()->spr.Angles.Yaw = Owner->spr.Angles.Yaw;
if (Owner->GetOwner() != Owner)
{

View file

@ -472,7 +472,7 @@ void DoPlayer(bool bSet, int lVar1, int lLabelID, int lVar2, DDukeActor* sActor,
break;
case PLAYER_ANG:
if (bSet) ps[iPlayer].Angles.setYaw(mapangle(lValue));
if (bSet) ps[iPlayer].GetActor()->spr.Angles.Yaw = mapangle(lValue);
else SetGameVarID(lVar2, ps[iPlayer].GetActor()->spr.Angles.Yaw.Buildang(), sActor, sPlayer);
break;

View file

@ -1016,7 +1016,8 @@ DEFINE_ACTION_FUNCTION_NATIVE(_DukePlayer, playerinput, DukePlayer_PlayerInput)
void dukeplayer_settargetangle(player_struct* self, double a, int backup)
{
self->Angles.setYaw(DAngle::fromDeg(a), backup);
self->GetActor()->spr.Angles.Yaw = DAngle::fromDeg(a);
if (backup) self->GetActor()->PrevAngles.Yaw = self->GetActor()->spr.Angles.Yaw;
}
DEFINE_ACTION_FUNCTION_NATIVE(_DukePlayer, settargetangle, dukeplayer_settargetangle)

View file

@ -3435,7 +3435,7 @@ void DoPlayerClimb(PLAYER* pp)
pp->LadderPosition = lActor->spr.pos.XY() + nvec;
pp->Angles.setYaw(lActor->spr.Angles.Yaw + DAngle180);
pp->actor->spr.Angles.Yaw = lActor->spr.Angles.Yaw + DAngle180;
}
}
}
@ -3823,7 +3823,7 @@ bool PlayerOnLadder(PLAYER* pp)
// the sprite
pp->LadderPosition = lActor->spr.pos + npos;
pp->Angles.setYaw(lActor->spr.Angles.Yaw + DAngle180);
pp->actor->spr.Angles.Yaw = lActor->spr.Angles.Yaw + DAngle180;
return true;
}
@ -5343,7 +5343,7 @@ void DoPlayerStopOperate(PLAYER* pp)
if (pp->sop_remote)
{
DSWActor* rsp = pp->remoteActor;
pp->Angles.setYaw(rsp && TEST_BOOL1(rsp) ? rsp->spr.Angles.Yaw : (pp->sop_remote->pmid.XY() - pp->actor->spr.pos.XY()).Angle(), true);
pp->actor->PrevAngles.Yaw = pp->actor->spr.Angles.Yaw = rsp && TEST_BOOL1(rsp) ? rsp->spr.Angles.Yaw : (pp->sop_remote->pmid.XY() - pp->actor->spr.pos.XY()).Angle();
}
if (pp->sop_control)
@ -6985,7 +6985,7 @@ void domovethings(void)
// auto tracking mode for single player multi-game
if (numplayers <= 1 && PlayerTrackingMode && pnum == screenpeek && screenpeek != myconnectindex)
{
Player[screenpeek].Angles.setYaw((Player[myconnectindex].actor->spr.pos.XY() - Player[screenpeek].actor->spr.pos.XY()).Angle());
Player[screenpeek].actor->spr.Angles.Yaw = (Player[myconnectindex].actor->spr.pos.XY() - Player[screenpeek].actor->spr.pos.XY()).Angle();
}
if (!(pp->Flags & PF_DEAD))