From 06cee4a0b75e334fffb36e929c3fa5ba7fc4df44 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 22 Feb 2020 05:12:29 -0800 Subject: [PATCH] Fix camera angle of party players --- src/d_clisrv.c | 3 ++- src/g_splitscreen.c | 3 ++- src/p_user.c | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index aad0f9b1a..7c3f1aa30 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -3529,6 +3529,7 @@ static void Got_AddPlayer(UINT8 **p, INT32 playernum) if (splitscreenplayer) { displayplayers[splitscreenplayer] = newplayernum; + localdisplayplayers[splitscreenplayer] = splitscreenplayer; DEBFILE(va("spawning sister # %d\n", splitscreenplayer)); if (splitscreenplayer == 1 && botingame) players[newplayernum].bot = 1; @@ -3539,7 +3540,7 @@ static void Got_AddPlayer(UINT8 **p, INT32 playernum) for (i = 0; i < MAXSPLITSCREENPLAYERS; i++) { displayplayers[i] = newplayernum; - localdisplayplayers[i] = i; + localdisplayplayers[i] = 0; } splitscreen_partied[newplayernum] = true; DEBFILE("spawning me\n"); diff --git a/src/g_splitscreen.c b/src/g_splitscreen.c index 3ff71e627..039eb02bf 100644 --- a/src/g_splitscreen.c +++ b/src/g_splitscreen.c @@ -51,7 +51,7 @@ G_ResetSplitscreen (int playernum) while (i < MAXSPLITSCREENPLAYERS) { displayplayers[i] = consoleplayer; - localdisplayplayers[i] = i; + localdisplayplayers[i] = 0; i++; } @@ -203,6 +203,7 @@ G_AddPartyMember (int invitation, int playernum) while (++i < new_party_size) { displayplayers[i] = party[i]; + localdisplayplayers[i] = old_party_size; } r_splitscreen = ( new_party_size - 1 ); diff --git a/src/p_user.c b/src/p_user.c index bb9eae095..581085d75 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7339,17 +7339,17 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall focusangle = localangle[0]; focusaiming = localaiming[0]; } - else if (player == &players[displayplayers[1]]) + else if (player == &players[displayplayers[localdisplayplayers[1]]]) { focusangle = localangle[1]; focusaiming = localaiming[1]; } - else if (player == &players[displayplayers[2]]) + else if (player == &players[displayplayers[localdisplayplayers[2]]]) { focusangle = localangle[2]; focusaiming = localaiming[2]; } - else if (player == &players[displayplayers[3]]) + else if (player == &players[displayplayers[localdisplayplayers[3]]]) { focusangle = localangle[3]; focusaiming = localaiming[3];