shithub: nanobsp

Download patch

ref: 9cbf12c8123634202a7c3162c4b3c0ed5007f7a6
parent: 5f62d4213cb279eb4ecb20b2f7a4120d02746c76
author: Andrew Apted <ajapted@gmail.com>
date: Sat Dec 9 09:13:19 EST 2023

rewrote R_PointInSubsector() for subsector_t/node_t changes.

--- a/r_main.c
+++ b/r_main.c
@@ -702,29 +702,17 @@
 //
 // R_PointInSubsector
 //
-subsector_t*
-R_PointInSubsector
-( fixed_t	x,
-  fixed_t	y )
+subsector_t * R_PointInSubsector (fixed_t x, fixed_t y)
 {
-    node_t*	node;
-    int		side;
-    int		nodenum;
+    node_t * node = root_node;
 
-    // single subsector is a special case
-    if (!numnodes)				
-	return subsectors;
-		
-    nodenum = numnodes-1;
-
-    while (! (nodenum & NF_SUBSECTOR) )
+    while (node->sub != NULL)
     {
-	node = &nodes[nodenum];
-	side = R_PointOnSide (x, y, node);
-	nodenum = node->children[side];
+        int side = R_PointOnSide (x, y, node);
+        node = side ? node->left : node->right;
     }
-	
-    return &subsectors[nodenum & ~NF_SUBSECTOR];
+
+    return node->sub;
 }
 
 
--