- Partially fixed the 3d floors + fogboundary issue. There's still an issue when a sprite appears in front of a fog boundary, but because this is already a huge visual improvement I am going to go ahead and push this.

This commit is contained in:
Rachael Alexanderson 2017-06-19 15:01:27 -04:00
parent 8af76b96d8
commit 7e292fbfec
3 changed files with 6 additions and 0 deletions

View file

@ -163,8 +163,12 @@ namespace swrenderer
if (ds->fake) continue;
if (ds->maskedtexturecol != nullptr || ds->bFogBoundary)
{
if (renew && ds->bRenewDrawn)
continue;
RenderDrawSegment renderer(Thread);
renderer.Render(ds, ds->x1, ds->x2);
if (renew && ds->bFogBoundary)
ds->bRenewDrawn = true;
}
}
}

View file

@ -85,6 +85,7 @@ namespace swrenderer
void DrawSegmentList::Push(DrawSegment *segment)
{
segment->bRenewDrawn = false;
Segments.Push(segment);
}

View file

@ -39,6 +39,7 @@ namespace swrenderer
uint8_t silhouette; // 0=none, 1=bottom, 2=top, 3=both
uint8_t bFogBoundary;
uint8_t bFakeBoundary; // for fake walls
bool bRenewDrawn;
int shade;
bool foggy;