From e290274fb769a6059656842c8cf8d8398436a0c5 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Mon, 19 Jun 2017 17:19:44 -0400 Subject: [PATCH] - fixed: Now fully fixed the 3d floor + fog boundary issue. - Revert "- 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 reverts commit 7e292fbfece37edc25d8898672a3cc6c09d6359d. --- src/swrenderer/scene/r_translucent_pass.cpp | 6 ++---- src/swrenderer/segments/r_drawsegment.cpp | 1 - src/swrenderer/segments/r_drawsegment.h | 1 - 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/swrenderer/scene/r_translucent_pass.cpp b/src/swrenderer/scene/r_translucent_pass.cpp index 2e15a0a21..a8ba85d25 100644 --- a/src/swrenderer/scene/r_translucent_pass.cpp +++ b/src/swrenderer/scene/r_translucent_pass.cpp @@ -163,12 +163,10 @@ 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; + if (renew && ds->bFogBoundary) // don't draw fogboundary again + ds->bFogBoundary = false; } } } diff --git a/src/swrenderer/segments/r_drawsegment.cpp b/src/swrenderer/segments/r_drawsegment.cpp index 846800e03..6d8d50707 100644 --- a/src/swrenderer/segments/r_drawsegment.cpp +++ b/src/swrenderer/segments/r_drawsegment.cpp @@ -85,7 +85,6 @@ namespace swrenderer void DrawSegmentList::Push(DrawSegment *segment) { - segment->bRenewDrawn = false; Segments.Push(segment); } diff --git a/src/swrenderer/segments/r_drawsegment.h b/src/swrenderer/segments/r_drawsegment.h index 26751b2e6..5480ac4f2 100644 --- a/src/swrenderer/segments/r_drawsegment.h +++ b/src/swrenderer/segments/r_drawsegment.h @@ -39,7 +39,6 @@ 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;