Skip to content
Snippets Groups Projects
Commit dedd5527 authored by Lactozilla's avatar Lactozilla :speech_balloon:
Browse files

Restore portal culling code that went gone by pure accident

parent 2d68eac5
No related branches found
No related tags found
2 merge requests!734Rebase Keycodes only branch.,!523Restore portal culling code that went gone by pure accident
...@@ -1378,5 +1378,13 @@ void R_RenderBSPNode(INT32 bspnum) ...@@ -1378,5 +1378,13 @@ void R_RenderBSPNode(INT32 bspnum)
bspnum = bsp->children[side^1]; bspnum = bsp->children[side^1];
} }
// PORTAL CULLING
if (portalcullsector) {
sector_t *sect = subsectors[bspnum & ~NF_SUBSECTOR].sector;
if (sect != portalcullsector)
return;
portalcullsector = NULL;
}
R_Subsector(bspnum == -1 ? 0 : bspnum & ~NF_SUBSECTOR); R_Subsector(bspnum == -1 ? 0 : bspnum & ~NF_SUBSECTOR);
} }
...@@ -1008,11 +1008,13 @@ static void R_PortalFrame(portal_t *portal) ...@@ -1008,11 +1008,13 @@ static void R_PortalFrame(portal_t *portal)
if (portal->clipline != -1) if (portal->clipline != -1)
{ {
portalclipline = &lines[portal->clipline]; portalclipline = &lines[portal->clipline];
portalcullsector = portalclipline->frontsector;
viewsector = portalclipline->frontsector; viewsector = portalclipline->frontsector;
} }
else else
{ {
portalclipline = NULL; portalclipline = NULL;
portalcullsector = NULL;
viewsector = R_PointInSubsector(viewx, viewy)->sector; viewsector = R_PointInSubsector(viewx, viewy)->sector;
} }
} }
......
...@@ -26,6 +26,7 @@ UINT8 portalrender; /**< When rendering a portal, it establishes the depth of ...@@ -26,6 +26,7 @@ UINT8 portalrender; /**< When rendering a portal, it establishes the depth of
portal_t *portal_base, *portal_cap; portal_t *portal_base, *portal_cap;
line_t *portalclipline; line_t *portalclipline;
sector_t *portalcullsector;
INT32 portalclipstart, portalclipend; INT32 portalclipstart, portalclipend;
boolean portalline; // is curline a portal seg? boolean portalline; // is curline a portal seg?
......
...@@ -45,6 +45,7 @@ extern portal_t* portal_cap; ...@@ -45,6 +45,7 @@ extern portal_t* portal_cap;
extern UINT8 portalrender; extern UINT8 portalrender;
extern line_t *portalclipline; extern line_t *portalclipline;
extern sector_t *portalcullsector;
extern INT32 portalclipstart, portalclipend; extern INT32 portalclipstart, portalclipend;
void Portal_InitList (void); void Portal_InitList (void);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment