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;
}
--
⑨