[renderer] Fix a silly double set test

No wonder the final changes didn't make as much difference as I
expected.
This commit is contained in:
Bill Currie 2023-08-06 00:21:54 +09:00
parent bf951c3ba2
commit 42ce1f1a86
1 changed files with 16 additions and 18 deletions

View File

@ -53,24 +53,22 @@ R_MarkLeavesPVS (visstate_t *visstate, const set_t *pvs)
auto face_visframes = visstate->face_visframes;
for (auto li = set_first (pvs); li; li = set_next (li)) {
unsigned i = li->element;
if (set_is_member (pvs, i)) {
auto leaf = &brush->leafs[i + 1];
int c;
if ((c = leaf->nummarksurfaces)) {
auto mark = brush->marksurfaces + leaf->firstmarksurface;
do {
face_visframes[*mark - brush->surfaces] = visframecount;
mark++;
} while (--c);
}
leaf_visframes[i + 1] = visframecount;
int node_id = brush->leaf_parents[leaf - brush->leafs];
while (node_id >= 0) {
if (node_visframes[node_id] == visframecount)
break;
node_visframes[node_id] = visframecount;
node_id = brush->node_parents[node_id];
}
auto leaf = &brush->leafs[i + 1];
int c;
if ((c = leaf->nummarksurfaces)) {
auto mark = brush->marksurfaces + leaf->firstmarksurface;
do {
face_visframes[*mark - brush->surfaces] = visframecount;
mark++;
} while (--c);
}
leaf_visframes[i + 1] = visframecount;
int node_id = brush->leaf_parents[leaf - brush->leafs];
while (node_id >= 0) {
if (node_visframes[node_id] == visframecount)
break;
node_visframes[node_id] = visframecount;
node_id = brush->node_parents[node_id];
}
}
}