diff --git a/source/core/coreactor.h b/source/core/coreactor.h index 9c77979ad..3ecea9f24 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -120,7 +120,7 @@ public: void backupang() { - PrevAngles.Yaw = spr.Angles.Yaw; + PrevAngles = spr.Angles; } void backuploc() diff --git a/source/core/gameinput.h b/source/core/gameinput.h index 6e38c649f..e581a739c 100644 --- a/source/core/gameinput.h +++ b/source/core/gameinput.h @@ -9,8 +9,7 @@ struct PlayerAngles { // Temporary wrappers. - DAngle thisHoriz; - DAngle& ZzHORIZON() { return thisHoriz; } + DAngle& ZzHORIZON() { return pActor->spr.Angles.Pitch; } DAngle prevHoriz; DAngle& ZzOLDHORIZON() { return prevHoriz; } DAngle thisAngle; diff --git a/source/games/duke/src/premap.cpp b/source/games/duke/src/premap.cpp index 2bbac1d9a..b15a34ca7 100644 --- a/source/games/duke/src/premap.cpp +++ b/source/games/duke/src/premap.cpp @@ -125,7 +125,6 @@ void resetplayerstats(int snum) p->footprintpal = 0; p->footprintshade = 0; p->jumping_toggle = 0; - p->Angles.ZzOLDHORIZON() = p->Angles.ZzHORIZON() = DAngle::fromDeg(-17.354); p->Angles.ZzOHORIZOFF = p->Angles.ZzHORIZOFF = nullAngle; p->bobcounter = 0; p->on_ground = 0; @@ -515,8 +514,9 @@ void resetpspritevars(int g, const DVector3& startpos) auto newActor = CreateActor(ps[0].cursector, startpos.plusZ(gs.playerheight), TILE_APLAYER, 0, DVector2(0, 0), ps[0].Angles.ZzANGLE(), 0., 0., nullptr, 10); + newActor->spr.Angles.Pitch = DAngle::fromDeg(-17.354); newActor->viewzoffset = -gs.playerheight; - newActor->backupz(); + newActor->backuploc(); if (ud.recstat != 2) for (i = 0; i < MAXPLAYERS; i++) { diff --git a/source/games/exhumed/src/input.cpp b/source/games/exhumed/src/input.cpp index 3081ac938..496718cfe 100644 --- a/source/games/exhumed/src/input.cpp +++ b/source/games/exhumed/src/input.cpp @@ -82,7 +82,7 @@ void GameInterface::GetInput(ControlInfo* const hidInput, double const scaleAdju sPlayerInput[nLocalPlayer].vel.Zero(); } - if (!SyncInput()) + if (!SyncInput() && gamestate == GS_LEVEL) { if (!nFreeze) { diff --git a/source/games/exhumed/src/player.cpp b/source/games/exhumed/src/player.cpp index 7ea27be01..11801d00e 100644 --- a/source/games/exhumed/src/player.cpp +++ b/source/games/exhumed/src/player.cpp @@ -317,7 +317,6 @@ void RestartPlayer(int nPlayer) } plr->Angles.backupYaw(); - plr->Angles.backupPitch(); plr->pPlayerFloorSprite = floorsprt; diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index bf360e915..28bc6dae0 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -7042,13 +7042,10 @@ void InitAllPlayers(void) extern bool NewGame; //int fz,cz; - pfirst->Angles.ZzHORIZON() = nullAngle; - // Initialize all [MAX_SW_PLAYERS] arrays here! for (pp = Player; pp < &Player[MAX_SW_PLAYERS]; pp++) { pp->Angles.ZzANGLE() = pp->Angles.ZzOLDANGLE() = pfirst->Angles.ZzANGLE(); - pp->Angles.ZzHORIZON() = pp->Angles.ZzOLDHORIZON() = pfirst->Angles.ZzHORIZON(); pp->cursector = pfirst->cursector; // set like this so that player can trigger something on start of the level pp->lastcursector = pfirst->cursector+1;