diff --git a/source/core/gameinput.h b/source/core/gameinput.h index 0f08967d4..894b35fe2 100644 --- a/source/core/gameinput.h +++ b/source/core/gameinput.h @@ -166,6 +166,9 @@ struct PlayerAngle binangle interpolatedlookang(double const smoothratio) { return interpolatedangle(olook_ang, look_ang, smoothratio); } binangle interpolatedrotscrn(double const smoothratio) { return interpolatedangle(orotscrnang, rotscrnang, smoothratio); } + // Setter to force angle and its interpolation companion. + void setvalue(binangle const value) { oang = ang = value; } + // Ticrate playsim adjustment helpers. void resetadjustment() { adjustment = 0; } bool targetset() { return target.asbam(); } @@ -207,9 +210,9 @@ struct PlayerAngle } } - void settarget(binangle const value, bool const backup = false) + void settarget(binangle const value) { - if (!SyncInput() && !backup) + if (!SyncInput()) { target = value; if (!targetset()) target = bamang(1); @@ -217,7 +220,6 @@ struct PlayerAngle else { ang = value; - if (backup) oang = ang; } } diff --git a/source/games/blood/src/triggers.cpp b/source/games/blood/src/triggers.cpp index 73b9fcce5..dfd176f38 100644 --- a/source/games/blood/src/triggers.cpp +++ b/source/games/blood/src/triggers.cpp @@ -1543,7 +1543,7 @@ void OperateTeleport(sectortype* pSector) { playerResetInertia(pPlayer); pPlayer->zViewVel = pPlayer->zWeaponVel = 0; - pPlayer->angle.settarget(buildang(actor->spr.ang), true); + pPlayer->angle.setvalue(buildang(actor->spr.ang)); } } } diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index 8314700d9..238449ea5 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -935,7 +935,7 @@ void AIPlayer::Tick(RunListEvent* ev) if (nTotalPlayers <= 1) { auto ang = GetAngleToSprite(pPlayerActor, pSpiritSprite) & kAngleMask; - PlayerList[nPlayer].angle.settarget(buildang(ang), true); + PlayerList[nPlayer].angle.setvalue(buildang(ang)); pPlayerActor->spr.ang = ang; PlayerList[nPlayer].horizon.setvalue(buildhoriz(0));