mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-10 19:01:50 +00:00
Refactor R_SetupFrame/R_SkyboxFrame to use splitscreen number directly
This commit is contained in:
parent
025832aaa4
commit
8e0f02d65a
3 changed files with 18 additions and 50 deletions
|
|
@ -6042,7 +6042,7 @@ void HWR_RenderSkyboxView(player_t *player)
|
||||||
}
|
}
|
||||||
|
|
||||||
// note: sets viewangle, viewx, viewy, viewz
|
// note: sets viewangle, viewx, viewy, viewz
|
||||||
R_SkyboxFrame(player);
|
R_SkyboxFrame(viewssnum);
|
||||||
|
|
||||||
// copy view cam position for local use
|
// copy view cam position for local use
|
||||||
dup_viewx = viewx;
|
dup_viewx = viewx;
|
||||||
|
|
@ -6253,7 +6253,7 @@ void HWR_RenderPlayerView(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
// note: sets viewangle, viewx, viewy, viewz
|
// note: sets viewangle, viewx, viewy, viewz
|
||||||
R_SetupFrame(player);
|
R_SetupFrame(viewssnum);
|
||||||
framecount++; // timedemo
|
framecount++; // timedemo
|
||||||
|
|
||||||
// copy view cam position for local use
|
// copy view cam position for local use
|
||||||
|
|
|
||||||
60
src/r_main.c
60
src/r_main.c
|
|
@ -1199,30 +1199,13 @@ subsector_t *R_PointInSubsectorOrNull(fixed_t x, fixed_t y)
|
||||||
// R_SetupFrame
|
// R_SetupFrame
|
||||||
//
|
//
|
||||||
|
|
||||||
void R_SetupFrame(player_t *player)
|
void R_SetupFrame(int s)
|
||||||
{
|
{
|
||||||
camera_t *thiscam = &camera[0];
|
player_t *player = &players[displayplayers[s]];
|
||||||
boolean chasecam = (cv_chasecam[0].value != 0);
|
camera_t *thiscam = &camera[s];
|
||||||
UINT8 i = 0;
|
boolean chasecam = (cv_chasecam[s].value != 0);
|
||||||
|
|
||||||
for (i = 0; i <= r_splitscreen; i++)
|
R_SetViewContext(VIEWCONTEXT_PLAYER1 + s);
|
||||||
{
|
|
||||||
if (player == &players[displayplayers[i]])
|
|
||||||
{
|
|
||||||
thiscam = &camera[i];
|
|
||||||
chasecam = (cv_chasecam[i].value != 0);
|
|
||||||
R_SetViewContext(VIEWCONTEXT_PLAYER1 + i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i > r_splitscreen)
|
|
||||||
{
|
|
||||||
i = 0; // Shouldn't be possible, but just in case.
|
|
||||||
thiscam = &camera[0];
|
|
||||||
chasecam = (cv_chasecam[0].value != 0);
|
|
||||||
R_SetViewContext(VIEWCONTEXT_PLAYER1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (player->spectator) // no spectator chasecam
|
if (player->spectator) // no spectator chasecam
|
||||||
chasecam = false; // force chasecam off
|
chasecam = false; // force chasecam off
|
||||||
|
|
@ -1267,8 +1250,8 @@ void R_SetupFrame(player_t *player)
|
||||||
|
|
||||||
if (!demo.playback && player->playerstate != PST_DEAD)
|
if (!demo.playback && player->playerstate != PST_DEAD)
|
||||||
{
|
{
|
||||||
newview->angle = localangle[i]; // WARNING: camera uses this
|
newview->angle = localangle[s]; // WARNING: camera uses this
|
||||||
newview->aim = localaiming[i];
|
newview->aim = localaiming[s];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newview->roll = R_ViewRollAngle(player);
|
newview->roll = R_ViewRollAngle(player);
|
||||||
|
|
@ -1307,27 +1290,12 @@ void R_SetupFrame(player_t *player)
|
||||||
R_InterpolateView(rendertimefrac);
|
R_InterpolateView(rendertimefrac);
|
||||||
}
|
}
|
||||||
|
|
||||||
void R_SkyboxFrame(player_t *player)
|
void R_SkyboxFrame(int s)
|
||||||
{
|
{
|
||||||
camera_t *thiscam = &camera[0];
|
player_t *player = &players[displayplayers[s]];
|
||||||
UINT8 i = 0;
|
camera_t *thiscam = &camera[s];
|
||||||
|
|
||||||
for (i = 0; i <= r_splitscreen; i++)
|
R_SetViewContext(VIEWCONTEXT_SKY1 + s);
|
||||||
{
|
|
||||||
if (player == &players[displayplayers[i]])
|
|
||||||
{
|
|
||||||
thiscam = &camera[i];
|
|
||||||
R_SetViewContext(VIEWCONTEXT_SKY1 + i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i > r_splitscreen)
|
|
||||||
{
|
|
||||||
i = 0; // Shouldn't be possible, but just in case.
|
|
||||||
thiscam = &camera[0];
|
|
||||||
R_SetViewContext(VIEWCONTEXT_SKY1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// cut-away view stuff
|
// cut-away view stuff
|
||||||
newview->sky = true;
|
newview->sky = true;
|
||||||
|
|
@ -1355,8 +1323,8 @@ void R_SkyboxFrame(player_t *player)
|
||||||
newview->angle = player->mo->angle;
|
newview->angle = player->mo->angle;
|
||||||
if (/*!demo.playback && */player->playerstate != PST_DEAD)
|
if (/*!demo.playback && */player->playerstate != PST_DEAD)
|
||||||
{
|
{
|
||||||
newview->angle = localangle[i];
|
newview->angle = localangle[s];
|
||||||
newview->aim = localaiming[i];
|
newview->aim = localaiming[s];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newview->angle += r_viewmobj->angle;
|
newview->angle += r_viewmobj->angle;
|
||||||
|
|
@ -1561,7 +1529,7 @@ void R_RenderPlayerView(void)
|
||||||
V_DrawFill(viewwidth, viewheight, viewwidth, viewheight, 31|V_NOSCALESTART);
|
V_DrawFill(viewwidth, viewheight, viewwidth, viewheight, 31|V_NOSCALESTART);
|
||||||
}
|
}
|
||||||
|
|
||||||
R_SetupFrame(player);
|
R_SetupFrame(viewssnum);
|
||||||
framecount++;
|
framecount++;
|
||||||
validcount++;
|
validcount++;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -134,8 +134,8 @@ void R_SetViewSize(void);
|
||||||
// do it (sometimes explicitly called)
|
// do it (sometimes explicitly called)
|
||||||
void R_ExecuteSetViewSize(void);
|
void R_ExecuteSetViewSize(void);
|
||||||
|
|
||||||
void R_SetupFrame(player_t *player);
|
void R_SetupFrame(int split);
|
||||||
void R_SkyboxFrame(player_t *player);
|
void R_SkyboxFrame(int split);
|
||||||
|
|
||||||
boolean R_ViewpointHasChasecam(player_t *player);
|
boolean R_ViewpointHasChasecam(player_t *player);
|
||||||
boolean R_IsViewpointThirdPerson(player_t *player, boolean skybox);
|
boolean R_IsViewpointThirdPerson(player_t *player, boolean skybox);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue