This was harder than expected as the shoulders were often partially
covered by runway polygons. This was caused by inaccuracies introduced
by the calculation of dimensions from the runway center.
Now we create shoulders if set in apt.dat. If no shoulders are set,
a 1m broad stripe is added to concrete and asphalt runways to make
the blending runway-airport surface more visually appealing.
This function uses the 2 runway end points as supplied by apt.dat,
which eliminates some inaccuracies that occur when calculating with
only one center point.
- experimental : I haven't seen that this change has any detrimental effectt, and it avoids a
crash in triangle library if I don't split long edges before diffing the accumulator to
generate base_poly. Side effect could be t-junctions, but preliminary look at KATL seemed to give
the same (poor) effect - sometimes there are vertical gaps between the airport base and the terrain.
- Bad data on a few airports - Linear feature definition followed immediately by a
termination node - can't have a single point for linear feature definition, so I discard it.
clipping library format, so it doesn't have to be converted / reconverted
between clipping and TGPolygon types for each operation - shaves about
12 seconds from KATL build.
This does now support literal runway names like "07" instead of "7".
Also support upcoming "XX" designation which marks a runway as
non-numbered. Testing needed.
The width calculation is corrected now and should fix distorted
runway textures.
Hopefully we can get rid of this width mumbo-jumbo soon, too.
It has to stay for now as I found no solution.
and the runway function scales.
Now, U should always be 1 width, and length is offset from minv.
This allows 1 polygons texture to start where the previous finished,
making it appear the texture flows continuously
- cut in to the terrain
- using asphalt texture, need a test texture to check texcoords
- need offset - it's hardcoded for pavement features, so centerlines are off