cube vertex, that vertex is no longer added immediatly, instead delaying it's
addition to the poly vertex list until all the sky poly points have been
handled (this has a side benefit of completely eliminating those two almost
identical functions: enter_face() and leave_face() :). After the sky poly
vertexen have been processed, the faces the edges of the poly have visted are
analysed for all 14 possible cases to determine how many and which cube
vertexen are to be added to the face polys. So far, 9/14 cases are handled
properly and 1 seems to be mysteriously handled in what seems to be a correct
fashion part of the time (bloody heisenbugs). The remaining cases are: 5
visited faces with 1 vertex and 3 vertexen (the heisenbug); 6 faces and 2
vertexen (2 variants: neighboring vertexen and opposing vertexen); and 7 faces
with 1 vertex.
care of. I have to fill in the incomplete faces (hmm, that will be interesting)
and figure out why one corner in one of my test cases is sometimes set and
sometimes not. Hmm, might be confused buy the enter/leave info from that edge.