From a910dd861ae7ba7ddb7eb38ebf0028729ac178c9 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Mon, 24 Jul 2017 23:12:37 -0600 Subject: [PATCH] qbsp: csg: mirror faces, even for solid, to help leaf content assignment Mark them as skip so they don't get saved. This fixes csg_fail.map (in combination with -epsilon 0.1) --- qbsp/csg4.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/qbsp/csg4.cc b/qbsp/csg4.cc index fe1cd5ac..913ce7a8 100644 --- a/qbsp/csg4.cc +++ b/qbsp/csg4.cc @@ -354,7 +354,8 @@ SaveFacesToPlaneList(face_t *facelist, bool mirror, std::map &pla if (face->contents[1] == CONTENTS_DETAIL || face->contents[1] == CONTENTS_DETAIL_ILLUSIONARY || face->contents[1] == CONTENTS_DETAIL_FENCE - || (face->cflags[1] & CFLAGS_WAS_ILLUSIONARY)) { + || (face->cflags[1] & CFLAGS_WAS_ILLUSIONARY) + || face->contents[1] == CONTENTS_SOLID) { newface->texinfo = MakeSkipTexinfo(); } @@ -653,7 +654,7 @@ CSGFaces(const mapentity_t *entity) * All of the faces left on the outside list are real surface faces * If the brush is non-solid, mirror faces for the inside view */ - mirror = (brush->contents != CONTENTS_SOLID); + mirror = true;//brush->contents != CONTENTS_SOLID); SaveFacesToPlaneList(outside, mirror, planefaces); progress++;