mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-21 20:11:12 +00:00
Check for cv_skybox.value if in a portal too
This commit is contained in:
parent
cf1f310363
commit
d7bc644dfe
3 changed files with 14 additions and 18 deletions
|
@ -1560,7 +1560,7 @@ void R_RenderPlayerView(player_t *player)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't add skybox portals while IN a skybox portal, because that'll cause infinite recursion
|
// Don't add skybox portals while IN a skybox portal, because that'll cause infinite recursion
|
||||||
Portal_AddPlanePortals(!portal->is_skybox);
|
Portal_AddPlanePortals(cv_skybox.value && !portal->is_skybox);
|
||||||
|
|
||||||
Mask_Post(&masks[nummasks - 1]);
|
Mask_Post(&masks[nummasks - 1]);
|
||||||
|
|
||||||
|
|
|
@ -305,13 +305,13 @@ static void Portal_GetViewpointForSkybox(portal_t *portal)
|
||||||
* Applies the necessary offsets and rotation to give
|
* Applies the necessary offsets and rotation to give
|
||||||
* a depth illusion to the skybox.
|
* a depth illusion to the skybox.
|
||||||
*/
|
*/
|
||||||
void Portal_AddSkybox (const visplane_t* plane)
|
static boolean Portal_AddSkybox (const visplane_t* plane)
|
||||||
{
|
{
|
||||||
INT16 start, end;
|
INT16 start, end;
|
||||||
portal_t* portal;
|
portal_t* portal;
|
||||||
|
|
||||||
if (TrimVisplaneBounds(plane, &start, &end))
|
if (TrimVisplaneBounds(plane, &start, &end))
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
portal = Portal_Add(start, end);
|
portal = Portal_Add(start, end);
|
||||||
|
|
||||||
|
@ -323,6 +323,8 @@ void Portal_AddSkybox (const visplane_t* plane)
|
||||||
portal->horizon_sector = NULL;
|
portal->horizon_sector = NULL;
|
||||||
|
|
||||||
Portal_GetViewpointForSkybox(portal);
|
Portal_GetViewpointForSkybox(portal);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Portal_GetViewpointForSecPortal(portal_t *portal, sectorportal_t *secportal)
|
static void Portal_GetViewpointForSecPortal(portal_t *portal, sectorportal_t *secportal)
|
||||||
|
@ -390,7 +392,7 @@ static void Portal_GetViewpointForSecPortal(portal_t *portal, sectorportal_t *se
|
||||||
|
|
||||||
/** Creates a sector portal out of a visplane.
|
/** Creates a sector portal out of a visplane.
|
||||||
*/
|
*/
|
||||||
void Portal_AddSectorPortal (const visplane_t* plane)
|
static boolean Portal_AddSectorPortal (const visplane_t* plane)
|
||||||
{
|
{
|
||||||
INT16 start, end;
|
INT16 start, end;
|
||||||
sectorportal_t *secportal = plane->portalsector;
|
sectorportal_t *secportal = plane->portalsector;
|
||||||
|
@ -398,13 +400,13 @@ void Portal_AddSectorPortal (const visplane_t* plane)
|
||||||
// Shortcut
|
// Shortcut
|
||||||
if (secportal->type == SECPORTAL_SKYBOX)
|
if (secportal->type == SECPORTAL_SKYBOX)
|
||||||
{
|
{
|
||||||
if (skyboxmo[0])
|
if (cv_skybox.value && skyboxmo[0])
|
||||||
Portal_AddSkybox(plane);
|
return Portal_AddSkybox(plane);
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TrimVisplaneBounds(plane, &start, &end))
|
if (TrimVisplaneBounds(plane, &start, &end))
|
||||||
return;
|
return false;
|
||||||
|
|
||||||
portal_t* portal = Portal_Add(start, end);
|
portal_t* portal = Portal_Add(start, end);
|
||||||
|
|
||||||
|
@ -416,6 +418,8 @@ void Portal_AddSectorPortal (const visplane_t* plane)
|
||||||
portal->horizon_sector = NULL;
|
portal->horizon_sector = NULL;
|
||||||
|
|
||||||
Portal_GetViewpointForSecPortal(portal, secportal);
|
Portal_GetViewpointForSecPortal(portal, secportal);
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Creates a transferred sector portal.
|
/** Creates a transferred sector portal.
|
||||||
|
@ -467,17 +471,11 @@ void Portal_AddPlanePortals (boolean add_skyboxes)
|
||||||
|
|
||||||
// Render sector portal if recursiveness limit hasn't been reached
|
// Render sector portal if recursiveness limit hasn't been reached
|
||||||
if (pl->portalsector && portalrender < cv_maxportals.value)
|
if (pl->portalsector && portalrender < cv_maxportals.value)
|
||||||
{
|
added_portal = Portal_AddSectorPortal(pl);
|
||||||
Portal_AddSectorPortal(pl);
|
|
||||||
added_portal = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Render skybox portal
|
// Render skybox portal
|
||||||
if (!added_portal && pl->picnum == skyflatnum && add_skyboxes && skyboxmo[0])
|
if (!added_portal && pl->picnum == skyflatnum && add_skyboxes && skyboxmo[0])
|
||||||
{
|
added_portal = Portal_AddSkybox(pl);
|
||||||
Portal_AddSkybox(pl);
|
|
||||||
added_portal = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// don't render this visplane anymore
|
// don't render this visplane anymore
|
||||||
if (added_portal)
|
if (added_portal)
|
||||||
|
|
|
@ -58,8 +58,6 @@ extern INT32 portalclipstart, portalclipend;
|
||||||
void Portal_InitList (void);
|
void Portal_InitList (void);
|
||||||
void Portal_Remove (portal_t* portal);
|
void Portal_Remove (portal_t* portal);
|
||||||
void Portal_Add2Lines (const INT32 line1, const INT32 line2, const INT32 x1, const INT32 x2);
|
void Portal_Add2Lines (const INT32 line1, const INT32 line2, const INT32 x1, const INT32 x2);
|
||||||
void Portal_AddSkybox (const visplane_t* plane);
|
|
||||||
void Portal_AddSectorPortal (const visplane_t* plane);
|
|
||||||
void Portal_AddTransferred (UINT32 secportalnum, const INT32 x1, const INT32 x2);
|
void Portal_AddTransferred (UINT32 secportalnum, const INT32 x1, const INT32 x2);
|
||||||
|
|
||||||
void Portal_ClipRange (portal_t* portal);
|
void Portal_ClipRange (portal_t* portal);
|
||||||
|
|
Loading…
Reference in a new issue