diff --git a/src/r_main.c b/src/r_main.c index 76a510c30..c7e8df4a3 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1011,9 +1011,10 @@ void R_SkyboxFrame(player_t *player) R_SetupFreelook(); } -boolean R_IsViewpointFirstPerson(player_t *player, boolean skybox) +boolean R_ViewpointHasChasecam(player_t *player) { boolean chasecam = false; + if (splitscreen && player == &players[secondarydisplayplayer] && player != &players[consoleplayer]) chasecam = (cv_chasecam2.value != 0); else @@ -1024,6 +1025,13 @@ boolean R_IsViewpointFirstPerson(player_t *player, boolean skybox) else if (player->spectator) // no spectator chasecam chasecam = false; // force chasecam off + return chasecam; +} + +boolean R_IsViewpointFirstPerson(player_t *player, boolean skybox) +{ + boolean chasecam = R_ViewpointHasChasecam(player); + // cut-away view stuff if (player->awayviewtics || skybox) return chasecam; diff --git a/src/r_main.h b/src/r_main.h index 5ce3e922c..0dbc3e9cf 100644 --- a/src/r_main.h +++ b/src/r_main.h @@ -104,6 +104,8 @@ void R_ExecuteSetViewSize(void); void R_SetupFrame(player_t *player); void R_SkyboxFrame(player_t *player); + +boolean R_ViewpointHasChasecam(player_t *player); boolean R_IsViewpointFirstPerson(player_t *player, boolean skybox); // Called by D_Display.