Expose G_ResetView and amend G_ResetViews

(fickle's suggestion.)
This commit is contained in:
james 2019-02-04 20:09:36 -08:00
parent ac9356a02b
commit e52641d15a
4 changed files with 19 additions and 23 deletions

View file

@ -2564,7 +2564,7 @@ void CL_RemovePlayer(INT32 playernum, INT32 reason)
if (playernum == displayplayer && !demoplayback)
displayplayer = consoleplayer; // don't look through someone's view who isn't there
else
G_ResetViews(0);
G_ResetViews();
#ifdef HAVE_BLUA
LUA_InvalidatePlayer(&players[playernum]);

View file

@ -1987,7 +1987,7 @@ Command_View_f (void)
olddisplayplayer = (*displayplayerp);
(*displayplayerp) = playernum;
G_ResetViews(viewnum);
G_ResetView(viewnum);
/* The player we wanted was corrected to who it already was. */
if ((*displayplayerp) == olddisplayplayer)

View file

@ -1809,7 +1809,7 @@ boolean G_Responder(event_t *ev)
else
{
displayplayer++;
G_ResetViews(1);
G_ResetView(1);
// change statusbar also if playing back demo
if (singledemo)
@ -1824,21 +1824,21 @@ boolean G_Responder(event_t *ev)
if (ev->data1 == gamecontrolbis[gc_viewpoint][0] || ev->data1 == gamecontrolbis[gc_viewpoint][1])
{
secondarydisplayplayer++;
G_ResetViews(2);
G_ResetView(2);
return true;
}
else if (ev->data1 == gamecontrol3[gc_viewpoint][0] || ev->data1 == gamecontrol3[gc_viewpoint][1])
{
thirddisplayplayer++;
G_ResetViews(3);
G_ResetView(3);
return true;
}
else if (ev->data1 == gamecontrol4[gc_viewpoint][0] || ev->data1 == gamecontrol4[gc_viewpoint][1])
{
fourthdisplayplayer++;
G_ResetViews(4);
G_ResetView(4);
return true;
}
@ -2132,8 +2132,10 @@ G_GetDisplayplayerPtr (UINT8 viewnum)
return &displayplayer;
}
/* Reset only one view */
static void
/*
Ensure a viewpoint is valid.
*/
void
G_ResetView (UINT8 viewnum)
{
INT32 *displayplayerp;
@ -2173,30 +2175,23 @@ G_ResetView (UINT8 viewnum)
(*displayplayerp) = G_FindView((*displayplayerp));
}
}
if (viewnum == 1 && demoplayback)
consoleplayer = displayplayer;
}
//
// G_ResetViews
// Ensures all viewpoints are valid
//
void G_ResetViews(UINT8 viewnum)
void G_ResetViews(void)
{
UINT8 splits = splitscreen+1;
if (viewnum == 0)
{
while (viewnum++ < splits)
{
G_ResetView(viewnum);
}
}
else
UINT8 viewnum = splitscreen+1;
do
{
G_ResetView(viewnum);
}
if (demoplayback)
consoleplayer = displayplayer;
while (--viewnum > 0) ;
}
//

View file

@ -228,7 +228,8 @@ boolean G_Responder(event_t *ev);
INT32 * G_GetDisplayplayerPtr (UINT8 viewnum);
void G_ResetViews(UINT8 viewnum);
void G_ResetViews(void);
void G_ResetView (UINT8 viewnum);
void G_AddPlayer(INT32 playernum);