ref: cf107929d8081a23a99affb4e5244f4ac5691215
parent: ded57deabd3633ca2597c62dc0f562adb344193e
author: Andrew Apted <ajapted@gmail.com>
date: Sun Dec 10 09:17:42 EST 2023
fixed BSP_EvalPartition() to not skip the partition itself.
--- a/nano_bsp.c
+++ b/nano_bsp.c
@@ -98,6 +98,10 @@
if (N->sub == NULL)
{+ printf ("%spartition (%d %d) --> (%d %d)\n", spaces,+ N->x >> 16, N->y >> 16,
+ (N->x + N->dx) >> 16, (N->y + N->dy) >> 16);
+
printf ("%sright\n", spaces); printf ("%s{\n", spaces);DumpNode (N->right, lev + 1);
@@ -316,6 +320,9 @@
int BSP_SegOnSide (seg_t * part, seg_t * seg)
{+ if (seg == part)
+ return +1;
+
int side1 = BSP_PointOnSide (part, seg->v1->x, seg->v1->y);
int side2 = BSP_PointOnSide (part, seg->v2->x, seg->v2->y);
@@ -343,9 +350,6 @@
seg_t * S;
for (S = soup ; S != NULL ; S = S->next)
{- if (S == part)
- continue;
-
int side = BSP_SegOnSide (part, S);
switch (side)
--
⑨