Fixed|World|SectorCluster: Crash with sci2.wad (Doom2) upon triggering the exit crusher
The crash was the result of an incorrect assumption that all sector clusters will have at least one outer boundary edge. While this is logically true there are some special cases in which no boundary is recorded (e.g., the one unique outer halfedge is twined with an egde originating from a degenerate BSP leaf). In this case, the trigger is a so-called "control sector" outside the map attempting to update surface light decorations when it's ceiling plane moved.
Todo for later: There is no need for such a cluster to be observing plane movement at all. To address this properly we need two things; 1) BSP building algorithm that guarantees topologically sound and geometrically correct data, 2) more intelligent SectorCluster.
Fixed|World|SectorCluster: Crash with sci2.wad (Doom2) upon triggering the exit crusher
The crash was the result of an incorrect assumption that all sector
clusters will have at least one outer boundary edge. While this is
logically true there are some special cases in which no boundary is
recorded (e.g., the one unique outer halfedge is twined with an egde
originating from a degenerate BSP leaf). In this case, the trigger
is a so-called "control sector" outside the map attempting to update
surface light decorations when it's ceiling plane moved.
Todo for later: There is no need for such a cluster to be observing
plane movement at all. To address this properly we need two things;
1) BSP building algorithm that guarantees topologically sound and
geometrically correct data, 2) more intelligent SectorCluster.
IssueID #1791