- Call PlayerAngles::resetCameraAngles() from within the player loop of each game.

* I was only thinking of the console player initially but since each game can draw the view of other players in network games, each game will need to update and reset the camera angles for all players.
This commit is contained in:
Mitchell Richters 2023-03-17 14:40:18 +11:00
parent d329328191
commit 130c5315e9
3 changed files with 6 additions and 7 deletions

View file

@ -437,14 +437,12 @@ void GameInterface::Ticker()
PLAYER* pPlayer = &gPlayer[myconnectindex];
// this must be done before the view is backed up.
pPlayer->Angles.resetCameraAngles();
// disable synchronised input if set by game.
resetForcedSyncInput();
for (int i = connecthead; i >= 0; i = connectpoint2[i])
{
gPlayer[i].Angles.resetCameraAngles();
viewBackupView(i);
playerProcess(&gPlayer[i]);
}

View file

@ -70,7 +70,10 @@ void GameInterface::Ticker()
everyothertime++;
// this must be done before the view is backed up.
ps[myconnectindex].Angles.resetCameraAngles();
for (int i = connecthead; i >= 0; i = connectpoint2[i])
{
ps[i].Angles.resetCameraAngles();
}
// disable synchronised input if set by game.
resetForcedSyncInput();

View file

@ -6704,14 +6704,12 @@ void MoveSkipSavePos(void)
MoveSkip4 = (MoveSkip4 + 1) & 3;
MoveSkip2 ^= 1;
// this must be done before the view is backed up.
Player[myconnectindex].Angles.resetCameraAngles();
// Save off player
TRAVERSE_CONNECT(pnum)
{
pp = Player + pnum;
pp->Angles.resetCameraAngles();
pp->actor->backuploc();
pp->obob_z = pp->bob_z;
pp->opbob_amt = pp->pbob_amt;