Continued work on improving the LOS algorithm (will be needed to fix several outstanding bugs).
Parameterized internal logic to a set of flags specified with a new function paramater.
LS_PASSLEFT: Ray may cross one-sided linedefs from left to right.
LS_PASSOVER: Ray may cross over sector ceiling height on ray-entry side.
LS_PASSUNDER: Ray may cross under sector floor height on ray-entry side.
To test the new functionality of P_CheckLineSight I have implemented an alternative clipping strategy for halos when the viewer (displayPlayer) is in the void. Note that at present, clipping vs planes is not handled by this algorithm yet.
Todo: It should be possible to extend the algorithm to also test for ray plane interception; as non-degenerate subsectors in Doomsday are guaranteed to be convex this should be relatively simple.
Continued work on improving the LOS algorithm (will be needed to fix several outstanding bugs).
Todo: It should be possible to extend the algorithm to also test for ray plane interception; as non-degenerate subsectors in Doomsday are guaranteed to be convex this should be relatively simple.