REJECT tables could be built using a variant of GZDoom's BLOCKMAP-based line-of-sight algorithm. The variant used to build the REJECT tables will use an imaginary surveyor whose only purpose is to fill out the table depending on what sector the surveyor is on, and all the sectors the surveyor sees in a 360 degree full circle. The surveyor uses a brute-force way of getting the REJECT tables correct with the BLOCKMAP-based LoS algorithm of ZDoom family ports. Certain REJECT builders will traverse the BSP tree for line-of-sight determination, which is slow and inefficient compared to the BLOCKMAP-based LoS system in ports from the ZDoom family. The finishing condition of the REJECT building process is governed by comparing how many sectors the imaginary surveyor has been in to the map's sector count, and the process is finished when the two values are equal.
REJECT tables in GZDoom will have performance benefits for high-sector slaughtermaps as the sheer sector and monster count (5 to 8 figure sector count and many legions of monsters!) will bring the BLOCKMAP-based LoS algorithm to it's knees.
The REJECT builder is optional and is unused by default. To activate the REJECT builder, pass the
Code: Select all
-true-reject