From 9f10af508aa25dba944ec5189905cf4f522f6b26 Mon Sep 17 00:00:00 2001 From: smallmodel <15067410+smallmodel@users.noreply.github.com> Date: Wed, 29 Oct 2025 18:59:17 +0100 Subject: [PATCH] Fix rare patch collision issue that doesn't occur in the original quake3 binaries This is due to a small precision difference between FP87/SSE and SSE2/above. --- code/qcommon/cm_polylib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/qcommon/cm_polylib.c b/code/qcommon/cm_polylib.c index 684182625f..fdb8e0aa79 100644 --- a/code/qcommon/cm_polylib.c +++ b/code/qcommon/cm_polylib.c @@ -440,9 +440,9 @@ void ChopWindingInPlace (winding_t **inout, vec3_t normal, vec_t dist, vec_t eps dot = DotProduct (in->p[i], normal); dot -= dist; dists[i] = dot; - if (dot > epsilon) + if ((dot + 0.0005) > epsilon) sides[i] = SIDE_FRONT; - else if (dot < -epsilon) + else if ((dot - 0.0005) < -epsilon) sides[i] = SIDE_BACK; else {