Closed ImmortalBLG closed 1 year ago
Yeah good catch, it's not doing what the comment on the previous line says. To get a comparison ignoring the plane side, it should be something like:
if ((face.planenum & (~1u)) == (clipface.planenum & (~1u)) || spurious_onplane) {
We don't use it any more, but CSGFaces
in brushbsp has the same bug. But yeah in other places in the code, we do do face->planenum & ~1
for these types of sidedness ignoring.
https://github.com/ericwa/ericw-tools/blob/d5e29a1c9024ddfdf7c88ea764dc2494ece56f81/qbsp/csg.cc#L242 Shouldn't there be "if (face.planenum == (clipface.planenum ^ 1) || spurious_onplane) {" ???