this is the bug reported earlier with the line_strips.
i tried to fix it but gave up in the clipping macros.

i attached my test programm so someone else may look at it.

looks like it takes a vertex that is clipped out and has an invalid
origin..
a switch from line_strip to line_loop let me suspect that it is the last
vertex in the buffer.

sorry for the size..
-- 
ralf willenbacher ([EMAIL PROTECTED])
/* $Id: glxdemo.c,v 1.1.1.1 1999/08/19 00:55:43 jtg Exp $ */


/*
 * A demonstration of using the GLX functions.  This program is in the
 * public domain.
 *
 * Brian Paul
 */


/*
 * $Log: glxdemo.c,v $
 * Revision 1.1.1.1  1999/08/19 00:55:43  jtg
 * Imported sources
 *
 * Revision 3.0  1998/02/21 02:16:54  brianp
 * initial rev
 *
 */


#include <GL/gl.h>
#include <GL/glx.h>
#include <stdio.h>
#include <stdlib.h>

/* ortho  args */

#if 1
#define LEFT -9500.0
#define RIGHT -8000.0
#define BOTTOM 4500.0
#define TOP 6000.0
#else
#define LEFT -10000.0
#define RIGHT -7000.0
#define BOTTOM 3000.0
#define TOP 8000.0
#endif

/* line loop/strip switching */
#define GLBEGIN_ARG GL_LINE_STRIP

/* line strips */
#define T1 1
#define T2 0
#define T3 0
#define T4 0
#define T5 0
#define T6 0
#define T7 0
#define T8 0
#define T9 0
#define T10 0
#define T11 0
#define T12 0
#define T13 1

#define USE_DISPLAYLIST 1

GLuint linelist;


static void redraw( Display *dpy, Window w )
{
   
   printf("Redraw event\n");
   
   glClear( GL_COLOR_BUFFER_BIT );
   glMatrixMode( GL_MODELVIEW );
   glLoadIdentity();

#if USE_DISPLAYLIST
  glCallList(linelist);
#else
  create_linelist();
#endif

   glXSwapBuffers( dpy, w );
}


static void create_linelist(void)
{
   int i;

#if USE_DISPLAYLIST
   glNewList(linelist, GL_COMPILE);
#endif

   glColor3f(0.0, 0.7, 0.0);
#if T1
   glBegin(GLBEGIN_ARG);
   glVertex2f(-7793.077148, 5427.343750);
   glVertex2f(-7794.624512, 5427.698242);
   glVertex2f(-7794.156738, 5429.316895);
   glVertex2f(-7793.166504, 5430.734863);
   glVertex2f(-7792.520996, 5440.591797);
   glVertex2f(-7793.755859, 5440.931152);
   glVertex2f(-7792.732422, 5442.135254);
   glVertex2f(-7793.010254, 5444.791016);
   glVertex2f(-7794.034180, 5443.509277);
   glVertex2f(-7795.025391, 5442.042480);
   glVertex2f(-7796.071777, 5440.761719);
   glVertex2f(-7797.407715, 5440.113770);
   glVertex2f(-7798.921387, 5439.773926);
   glVertex2f(-7800.346191, 5439.264648);
   glVertex2f(-7801.916016, 5439.172363);
   glVertex2f(-7803.095215, 5438.107422);
   glVertex2f(-7804.141602, 5436.811523);
   glVertex2f(-7805.533691, 5436.302246);
   glVertex2f(-7806.835938, 5435.531250);
   glVertex2f(-7807.916016, 5434.158203);
   glVertex2f(-7808.851074, 5432.785645);
   glVertex2f(-7810.086914, 5431.891113);
   glVertex2f(-7811.567383, 5431.552246);
   glVertex2f(-7812.157715, 5429.625000);
   glVertex2f(-7812.925293, 5427.775391);
   glVertex2f(-7813.793457, 5426.280273);
   glVertex2f(-7814.695312, 5424.693359);
   glVertex2f(-7815.552246, 5422.983398);
   glVertex2f(-7816.765625, 5422.090332);
   glVertex2f(-7818.124023, 5421.443359);
   glVertex2f(-7818.156738, 5419.780273);
   glVertex2f(-7817.934570, 5418.271484);
   glVertex2f(-7817.567383, 5416.777832);
   glVertex2f(-7818.056641, 5415.069336);
   glVertex2f(-7819.169922, 5413.915039);
   glVertex2f(-7819.604004, 5413.622559);
   glVertex2f(-7821.151367, 5413.360840);
   glVertex2f(-7823.010742, 5413.837891);
   glVertex2f(-7823.689941, 5413.191895);
   glVertex2f(-7822.354004, 5412.161133);
   glVertex2f(-7820.506348, 5411.775879);
   glVertex2f(-7818.958496, 5412.037598);
   glVertex2f(-7817.600586, 5412.684082);
   glVertex2f(-7816.086426, 5412.807129);
   glVertex2f(-7814.662109, 5411.822266);
   glVertex2f(-7814.138672, 5410.406738);
   glVertex2f(-7814.038574, 5408.837891);
   glVertex2f(-7813.949707, 5407.253906);
   glVertex2f(-7814.383301, 5405.377930);
   glVertex2f(-7814.595215, 5403.579590);
   glVertex2f(-7814.004883, 5402.119629);
   glVertex2f(-7813.448242, 5400.797363);
   glVertex2f(-7814.004883, 5399.568359);
   glVertex2f(-7815.808594, 5399.998535);
   glVertex2f(-7817.199707, 5399.476074);
   glVertex2f(-7818.435547, 5398.584961);
   glVertex2f(-7819.704590, 5397.817383);
   glVertex2f(-7820.072266, 5399.261230);
   glVertex2f(-7820.962402, 5400.167480);
   glVertex2f(-7822.142578, 5399.138184);
   glVertex2f(-7823.222168, 5397.939453);
   glVertex2f(-7824.157227, 5396.280762);
   glVertex2f(-7824.992188, 5394.652832);
   glVertex2f(-7826.038574, 5395.175293);
   glVertex2f(-7825.726562, 5396.957031);
   glVertex2f(-7826.384277, 5398.277832);
   glVertex2f(-7828.053711, 5398.539062);
   glVertex2f(-7829.066406, 5397.340820);
   glVertex2f(-7829.900879, 5395.635742);
   glVertex2f(-7830.925293, 5394.360840);
   glVertex2f(-7831.816406, 5392.779297);
   glVertex2f(-7832.650879, 5391.075684);
   glVertex2f(-7832.962891, 5389.279297);
   glVertex2f(-7833.118164, 5387.576172);
   glVertex2f(-7833.062988, 5385.964844);
   glVertex2f(-7832.650879, 5384.507812);
   glVertex2f(-7832.194824, 5383.111328);
   glVertex2f(-7830.858887, 5382.421875);
   glVertex2f(-7829.623535, 5383.311035);
   glVertex2f(-7828.542969, 5384.461426);
   glVertex2f(-7827.218750, 5384.124023);
   glVertex2f(-7828.176270, 5382.682129);
   glVertex2f(-7829.412109, 5381.777832);
   glVertex2f(-7830.613770, 5380.887695);
   glVertex2f(-7831.760254, 5379.615234);
   glVertex2f(-7832.628906, 5378.158691);
   glVertex2f(-7833.429688, 5376.212402);
   glVertex2f(-7834.176270, 5374.464844);
   glVertex2f(-7835.255859, 5373.315918);
   glVertex2f(-7837.014648, 5373.392578);
   glVertex2f(-7838.250488, 5372.718750);
   glVertex2f(-7839.274902, 5371.400879);
   glVertex2f(-7840.198730, 5369.731445);
   glVertex2f(-7841.033691, 5368.031250);
   glVertex2f(-7842.091309, 5366.714844);
   glVertex2f(-7843.416016, 5366.117188);
   glVertex2f(-7845.051758, 5366.117188);
   glVertex2f(-7847.000000, 5366.714844);
   glVertex2f(-7848.580566, 5366.592285);
   glVertex2f(-7849.938477, 5365.949219);
   glVertex2f(-7851.019043, 5364.801270);
   glVertex2f(-7852.042969, 5363.484863);
   glVertex2f(-7853.067383, 5361.954102);
   glVertex2f(-7853.957520, 5360.638672);
   glVertex2f(-7854.859375, 5359.062988);
   glVertex2f(-7855.694336, 5357.364746);
   glVertex2f(-7856.529297, 5355.666992);
   glVertex2f(-7857.241699, 5353.709961);
   glVertex2f(-7857.419434, 5351.890625);
   glVertex2f(-7857.419434, 5350.316406);
   glVertex2f(-7856.895996, 5348.956055);
   glVertex2f(-7856.284668, 5347.596191);
   glVertex2f(-7856.028320, 5346.067871);
   glVertex2f(-7856.930176, 5344.494629);
   glVertex2f(-7857.976562, 5343.227539);
   glVertex2f(-7858.477539, 5341.746094);
   glVertex2f(-7857.453125, 5340.601074);
   glVertex2f(-7857.797852, 5339.410156);
   glVertex2f(-7859.345703, 5339.074219);
   glVertex2f(-7860.547852, 5338.173828);
   glVertex2f(-7860.893066, 5336.617188);
   glVertex2f(-7861.315918, 5335.121582);
   glVertex2f(-7862.462402, 5334.068848);
   glVertex2f(-7863.085938, 5332.329102);
   glVertex2f(-7863.887695, 5330.636719);
   glVertex2f(-7864.755371, 5328.943848);
   glVertex2f(-7865.312012, 5327.037598);
   glVertex2f(-7866.113770, 5325.345215);
   glVertex2f(-7867.349121, 5324.446777);
   glVertex2f(-7868.652344, 5325.421387);
   glVertex2f(-7869.264648, 5326.778320);
   glVertex2f(-7870.043457, 5328.059082);
   glVertex2f(-7871.089355, 5329.157227);
   glVertex2f(-7872.146973, 5330.300781);
   glVertex2f(-7873.539062, 5330.682129);
   glVertex2f(-7873.694336, 5329.065918);
   glVertex2f(-7873.160156, 5327.708008);
   glVertex2f(-7873.783691, 5325.940430);
   glVertex2f(-7874.496094, 5324.278320);
   glVertex2f(-7875.174805, 5322.678711);
   glVertex2f(-7875.943359, 5320.850098);
   glVertex2f(-7874.674316, 5320.606445);
   glVertex2f(-7873.349609, 5321.230957);
   glVertex2f(-7871.924316, 5321.749023);
   glVertex2f(-7870.722656, 5321.200684);
   glVertex2f(-7870.755859, 5319.585449);
   glVertex2f(-7871.434570, 5317.590332);
   glVertex2f(-7872.269043, 5315.899414);
   glVertex2f(-7873.138184, 5314.346680);
   glVertex2f(-7874.095215, 5312.900391);
   glVertex2f(-7875.052246, 5311.500000);
   glVertex2f(-7875.976562, 5309.811035);
   glVertex2f(-7876.878418, 5308.289062);
   glVertex2f(-7877.680176, 5306.600098);
   glVertex2f(-7878.637207, 5305.170410);
   glVertex2f(-7879.561523, 5303.726074);
   glVertex2f(-7880.518555, 5302.296387);
   glVertex2f(-7880.830078, 5300.517578);
   glVertex2f(-7880.863281, 5298.921387);
   glVertex2f(-7881.887695, 5297.614746);
   glVertex2f(-7882.622070, 5295.791016);
   glVertex2f(-7882.778320, 5294.058594);
   glVertex2f(-7882.811523, 5292.463867);
   glVertex2f(-7882.844727, 5290.808594);
   glVertex2f(-7882.744629, 5289.213867);
   glVertex2f(-7882.500000, 5287.740723);
   glVertex2f(-7882.410645, 5286.132324);
   glVertex2f(-7883.279785, 5284.902344);
   glVertex2f(-7885.071777, 5285.205566);
   glVertex2f(-7886.774414, 5285.373047);
   glVertex2f(-7888.166504, 5284.872070);
   glVertex2f(-7887.509277, 5283.566895);
   glVertex2f(-7886.496094, 5282.428711);
   glVertex2f(-7884.603516, 5282.079590);
   glVertex2f(-7883.245605, 5282.504883);
   glVertex2f(-7881.943848, 5282.125488);
   glVertex2f(-7881.486816, 5280.653809);
   glVertex2f(-7880.952637, 5279.303711);
   glVertex2f(-7880.273926, 5278.075684);
   glVertex2f(-7879.683594, 5276.649902);
   glVertex2f(-7879.193848, 5275.254883);
   glVertex2f(-7878.949219, 5273.738770);
   glVertex2f(-7878.670410, 5272.359375);
   glVertex2f(-7878.203125, 5270.874023);
   glVertex2f(-7877.680176, 5269.570801);
   glVertex2f(-7877.312500, 5268.146484);
   glVertex2f(-7878.637207, 5267.843750);
   glVertex2f(-7879.538574, 5269.025879);
   glVertex2f(-7880.429199, 5270.207031);
   glVertex2f(-7880.930664, 5271.601562);
   glVertex2f(-7881.174805, 5273.117676);
   glVertex2f(-7882.166016, 5273.450684);
   glVertex2f(-7882.321777, 5271.768066);
   glVertex2f(-7882.255371, 5270.086426);
   glVertex2f(-7882.099121, 5268.601562);
   glVertex2f(-7881.208984, 5267.434570);
   glVertex2f(-7879.561523, 5266.753418);
   glVertex2f(-7878.425781, 5265.662598);
   glVertex2f(-7876.967773, 5264.738770);
   glVertex2f(-7875.208496, 5264.102539);
   glVertex2f(-7873.561035, 5263.436523);
   glVertex2f(-7873.939941, 5262.134277);
   glVertex2f(-7875.453125, 5261.876465);
   glVertex2f(-7876.967773, 5261.664551);
   glVertex2f(-7876.444336, 5260.271973);
   glVertex2f(-7875.141602, 5259.273438);
   glVertex2f(-7873.594238, 5258.379883);
   glVertex2f(-7872.146973, 5258.758301);
   glVertex2f(-7871.000488, 5259.817871);
   glVertex2f(-7869.330566, 5259.863281);
   glVertex2f(-7867.872559, 5258.939941);
   glVertex2f(-7868.685059, 5257.335938);
   glVertex2f(-7867.783203, 5256.155273);
   glVertex2f(-7866.202637, 5256.246582);
   glVertex2f(-7865.312012, 5257.805176);
   glVertex2f(-7865.557129, 5259.318359);
   glVertex2f(-7866.458984, 5260.483887);
   glVertex2f(-7865.590332, 5261.967773);
   glVertex2f(-7864.477051, 5262.966797);
   glVertex2f(-7863.330566, 5263.981445);
   glVertex2f(-7862.095703, 5264.904785);
   glVertex2f(-7860.703613, 5264.814453);
   glVertex2f(-7860.859863, 5263.133301);
   glVertex2f(-7861.015137, 5261.452637);
   glVertex2f(-7860.024902, 5260.786621);
   glVertex2f(-7858.599609, 5261.120117);
   glVertex2f(-7856.963379, 5260.786621);
   glVertex2f(-7856.996094, 5259.137207);
   glVertex2f(-7858.009277, 5257.834961);
   glVertex2f(-7857.241699, 5256.624512);
   glVertex2f(-7857.920410, 5255.656250);
   glVertex2f(-7859.557129, 5255.656250);
   glVertex2f(-7860.458984, 5254.143555);
   glVertex2f(-7861.193359, 5252.298340);
   glVertex2f(-7862.061523, 5250.860840);
   glVertex2f(-7863.397461, 5250.241699);
   glVertex2f(-7864.533203, 5251.284668);
   glVertex2f(-7864.376953, 5253.008789);
   glVertex2f(-7865.679688, 5253.341797);
   glVertex2f(-7866.915039, 5252.328125);
   glVertex2f(-7867.661133, 5250.649414);
   glVertex2f(-7868.340332, 5249.016602);
   glVertex2f(-7869.419922, 5247.882812);
   glVertex2f(-7870.934082, 5247.625977);
   glVertex2f(-7872.514648, 5247.549805);
   glVertex2f(-7873.939941, 5247.172363);
   glVertex2f(-7875.420410, 5246.794434);
   glVertex2f(-7876.811523, 5246.280273);
   glVertex2f(-7876.967773, 5246.159668);
   glVertex2f(-7878.358887, 5245.660645);
   glVertex2f(-7879.838867, 5245.192383);
   glVertex2f(-7881.208984, 5244.769043);
   glVertex2f(-7882.600098, 5244.270508);
   glVertex2f(-7884.080566, 5243.816895);
   glVertex2f(-7885.405273, 5243.438965);
   glVertex2f(-7886.952637, 5243.182129);
   glVertex2f(-7888.411133, 5242.804688);
   glVertex2f(-7889.646973, 5241.837402);
   glVertex2f(-7889.424316, 5240.236328);
   glVertex2f(-7890.392578, 5239.028320);
   glVertex2f(-7891.227539, 5237.352051);
   glVertex2f(-7890.726074, 5235.962402);
   glVertex2f(-7889.424316, 5236.762695);
   glVertex2f(-7888.622559, 5238.438965);
   glVertex2f(-7887.454102, 5239.526855);
   glVertex2f(-7887.053223, 5238.182617);
   glVertex2f(-7885.906250, 5237.140625);
   glVertex2f(-7885.717285, 5235.750977);
   glVertex2f(-7887.053223, 5235.131836);
   glVertex2f(-7888.188477, 5234.120605);
   glVertex2f(-7889.212891, 5232.822266);
   glVertex2f(-7890.080566, 5231.268066);
   glVertex2f(-7891.405762, 5230.634277);
   glVertex2f(-7893.175781, 5230.936523);
   glVertex2f(-7894.655762, 5230.725098);
   glVertex2f(-7895.401855, 5229.004395);
   glVertex2f(-7894.845215, 5227.707520);
   glVertex2f(-7893.821289, 5226.621094);
   glVertex2f(-7892.273926, 5225.731445);
   glVertex2f(-7892.206543, 5224.313477);
   glVertex2f(-7893.788086, 5224.193359);
   glVertex2f(-7895.546875, 5224.479492);
   glVertex2f(-7896.325684, 5225.731445);
   glVertex2f(-7896.848633, 5227.118652);
   glVertex2f(-7897.316895, 5228.461426);
   glVertex2f(-7898.797363, 5228.084473);
   glVertex2f(-7899.542969, 5226.273926);
   glVertex2f(-7900.410645, 5224.735840);
   glVertex2f(-7901.112305, 5223.137695);
   glVertex2f(-7900.867676, 5221.629883);
   glVertex2f(-7899.542969, 5220.620117);
   glVertex2f(-7899.164062, 5219.203125);
   glVertex2f(-7899.631836, 5217.273926);
   glVertex2f(-7899.075684, 5216.023926);
   glVertex2f(-7897.962402, 5214.969238);
   glVertex2f(-7899.320312, 5214.471680);
   glVertex2f(-7900.867676, 5215.345703);
   glVertex2f(-7901.524414, 5216.656738);
   glVertex2f(-7902.938477, 5217.575684);
   glVertex2f(-7904.451660, 5217.319336);
   glVertex2f(-7904.084961, 5215.902832);
   glVertex2f(-7903.060547, 5214.772949);
   glVertex2f(-7903.038574, 5213.598145);
   glVertex2f(-7904.363281, 5214.471680);
   glVertex2f(-7905.665527, 5215.481445);
   glVertex2f(-7906.957031, 5216.475586);
   glVertex2f(-7908.481934, 5216.565918);
   glVertex2f(-7908.815430, 5214.938477);
   glVertex2f(-7907.424316, 5213.884277);
   glVertex2f(-7906.099609, 5213.010742);
   glVertex2f(-7905.198242, 5211.835938);
   glVertex2f(-7906.589355, 5211.338867);
   glVertex2f(-7907.791992, 5210.420410);
   glVertex2f(-7908.660156, 5208.914551);
   glVertex2f(-7908.626953, 5207.695312);
   glVertex2f(-7908.104004, 5206.987793);
   glVertex2f(-7907.491211, 5205.648438);
   glVertex2f(-7906.033203, 5205.061035);
   glVertex2f(-7904.919922, 5206.069824);
   glVertex2f(-7903.806152, 5206.987793);
   glVertex2f(-7902.727051, 5206.069824);
   glVertex2f(-7903.750977, 5204.805664);
   glVertex2f(-7904.274414, 5203.270508);
   glVertex2f(-7902.971680, 5202.262695);
   glVertex2f(-7901.212402, 5201.977051);
   glVertex2f(-7899.631836, 5202.097168);
   glVertex2f(-7898.151855, 5202.307617);
   glVertex2f(-7898.185059, 5200.667969);
   glVertex2f(-7899.075684, 5199.299316);
   glVertex2f(-7899.721191, 5197.870605);
   glVertex2f(-7898.485352, 5196.998535);
   glVertex2f(-7897.282715, 5197.870605);
   glVertex2f(-7895.858398, 5197.916016);
   glVertex2f(-7894.466797, 5197.464355);
   glVertex2f(-7893.598633, 5198.998535);
   glVertex2f(-7892.395996, 5199.886230);
   glVertex2f(-7891.561035, 5198.622559);
   glVertex2f(-7890.537109, 5198.035645);
   glVertex2f(-7889.424316, 5199.043945);
   glVertex2f(-7888.288574, 5200.096680);
   glVertex2f(-7888.934082, 5201.390137);
   glVertex2f(-7890.203125, 5202.382812);
   glVertex2f(-7890.726074, 5203.767090);
   glVertex2f(-7891.349609, 5205.061035);
   glVertex2f(-7892.918945, 5205.934082);
   glVertex2f(-7892.763672, 5207.620117);
   glVertex2f(-7891.194336, 5207.409180);
   glVertex2f(-7889.735840, 5206.445801);
   glVertex2f(-7888.744629, 5205.362305);
   glVertex2f(-7888.099609, 5204.023438);
   glVertex2f(-7887.454102, 5202.729004);
   glVertex2f(-7886.150879, 5201.721191);
   glVertex2f(-7884.326172, 5201.014160);
   glVertex2f(-7882.466797, 5200.427246);
   glVertex2f(-7880.930664, 5199.464844);
   glVertex2f(-7879.594727, 5198.592285);
   glVertex2f(-7877.835449, 5198.291504);
   glVertex2f(-7876.344238, 5197.539551);
   glVertex2f(-7875.453125, 5196.367188);
   glVertex2f(-7874.429199, 5195.239258);
   glVertex2f(-7873.416504, 5194.111816);
   glVertex2f(-7872.236328, 5193.075195);
   glVertex2f(-7871.746094, 5191.692383);
   glVertex2f(-7871.769043, 5190.069336);
   glVertex2f(-7871.679688, 5188.521973);
   glVertex2f(-7872.425781, 5186.733887);
   glVertex2f(-7871.679688, 5185.472656);
   glVertex2f(-7870.043457, 5185.442871);
   glVertex2f(-7869.019043, 5184.346191);
   glVertex2f(-7868.652344, 5182.889648);
   glVertex2f(-7867.994629, 5181.598633);
   glVertex2f(-7867.538574, 5180.142578);
   glVertex2f(-7866.915039, 5178.852051);
   glVertex2f(-7866.147461, 5177.591797);
   glVertex2f(-7865.123047, 5176.465820);
   glVertex2f(-7863.976562, 5175.431152);
   glVertex2f(-7862.841309, 5174.350586);
   glVertex2f(-7863.119141, 5172.595703);
   glVertex2f(-7862.896484, 5171.141113);
   glVertex2f(-7862.128418, 5169.881348);
   glVertex2f(-7861.382812, 5168.637207);
   glVertex2f(-7860.859863, 5167.258301);
   glVertex2f(-7860.080078, 5166.059082);
   glVertex2f(-7859.089844, 5164.935059);
   glVertex2f(-7858.042480, 5163.811523);
   glVertex2f(-7857.976562, 5162.267578);
   glVertex2f(-7859.156250, 5161.354004);
   glVertex2f(-7860.614258, 5161.024902);
   glVertex2f(-7862.429199, 5161.638672);
   glVertex2f(-7862.307129, 5162.597168);
   glVertex2f(-7860.948242, 5163.062012);
   glVertex2f(-7861.315918, 5164.515625);
   glVertex2f(-7862.061523, 5165.758789);
   glVertex2f(-7862.773926, 5167.092773);
   glVertex2f(-7863.330566, 5168.352051);
   glVertex2f(-7863.953613, 5169.687012);
   glVertex2f(-7865.468262, 5169.431641);
   glVertex2f(-7865.746582, 5167.677734);
   glVertex2f(-7865.646484, 5166.134277);
   glVertex2f(-7865.835938, 5164.470215);
   glVertex2f(-7865.958008, 5162.807129);
   glVertex2f(-7867.538574, 5162.687012);
   glVertex2f(-7869.019043, 5163.436523);
   glVertex2f(-7869.920898, 5162.223145);
   glVertex2f(-7869.141113, 5160.979492);
   glVertex2f(-7867.716797, 5160.065918);
   glVertex2f(-7866.547363, 5158.987305);
   glVertex2f(-7865.801758, 5157.729492);
   glVertex2f(-7865.189453, 5156.441895);
   glVertex2f(-7864.099121, 5155.453613);
   glVertex2f(-7862.495605, 5154.870117);
   glVertex2f(-7861.104492, 5154.151367);
   glVertex2f(-7859.679199, 5153.208496);
   glVertex2f(-7857.887207, 5153.028809);
   glVertex2f(-7856.651367, 5153.777344);
   glVertex2f(-7855.070801, 5153.238281);
   glVertex2f(-7853.656738, 5152.280273);
   glVertex2f(-7852.109375, 5151.412598);
   glVertex2f(-7851.553223, 5149.916504);
   glVertex2f(-7852.354980, 5148.375000);
   glVertex2f(-7852.165527, 5146.804688);
   glVertex2f(-7851.764648, 5145.353516);
   glVertex2f(-7851.274414, 5144.097656);
   glVertex2f(-7850.773438, 5142.737305);
   glVertex2f(-7850.439941, 5141.241699);
   glVertex2f(-7850.461914, 5139.612793);
   glVertex2f(-7850.718262, 5137.954102);
   glVertex2f(-7851.430664, 5136.041504);
   glVertex2f(-7851.831543, 5134.263672);
   glVertex2f(-7851.731445, 5132.725098);
   glVertex2f(-7850.997070, 5131.485352);
   glVertex2f(-7849.693848, 5130.485352);
   glVertex2f(-7848.180664, 5129.529297);
   glVertex2f(-7847.000000, 5128.573730);
   glVertex2f(-7845.986816, 5127.454102);
   glVertex2f(-7844.996582, 5126.334961);
   glVertex2f(-7843.972168, 5125.215332);
   glVertex2f(-7842.547363, 5124.305176);
   glVertex2f(-7841.467773, 5123.932617);
   glVertex2f(-7839.641602, 5123.275391);
   glVertex2f(-7837.849609, 5122.738770);
   glVertex2f(-7836.023438, 5122.395508);
   glVertex2f(-7834.265625, 5122.439941);
   glVertex2f(-7832.840332, 5122.484863);
   glVertex2f(-7831.081543, 5122.201660);
   glVertex2f(-7829.289551, 5121.783691);
   glVertex2f(-7827.463379, 5121.455566);
   glVertex2f(-7825.726562, 5121.276855);
   glVertex2f(-7824.157227, 5121.112305);
   glVertex2f(-7822.509766, 5121.201660);
   glVertex2f(-7823.601074, 5120.291992);
   glVertex2f(-7824.925781, 5119.665527);
   glVertex2f(-7826.595703, 5119.830078);
   glVertex2f(-7828.265137, 5119.785156);
   glVertex2f(-7829.656250, 5119.546387);
   glVertex2f(-7830.335938, 5118.591797);
   glVertex2f(-7828.509766, 5117.846191);
   glVertex2f(-7826.807129, 5117.682129);
   glVertex2f(-7825.048340, 5117.473633);
   glVertex2f(-7823.601074, 5117.592773);
   glVertex2f(-7822.108887, 5117.801758);
   glVertex2f(-7820.539062, 5118.129395);
   glVertex2f(-7819.448730, 5119.039062);
   glVertex2f(-7818.524902, 5120.411621);
   glVertex2f(-7817.377930, 5121.455566);
   glVertex2f(-7816.142578, 5122.201660);
   glVertex2f(-7814.839355, 5122.768555);
   glVertex2f(-7813.448242, 5123.275391);
   glVertex2f(-7812.034180, 5123.857910);
   glVertex2f(-7810.765625, 5124.350098);
   glVertex2f(-7809.374512, 5124.842773);
   glVertex2f(-7807.949219, 5125.215332);
   glVertex2f(-7806.401855, 5125.304688);
   glVertex2f(-7804.821289, 5125.379883);
   glVertex2f(-7803.340820, 5125.842285);
   glVertex2f(-7801.859863, 5126.379883);
   glVertex2f(-7800.780273, 5126.961914);
   glVertex2f(-7799.511230, 5127.708008);
   glVertex2f(-7798.053223, 5128.364746);
   glVertex2f(-7796.817383, 5128.782715);
   glVertex2f(-7795.425293, 5129.291016);
   glVertex2f(-7794.123535, 5130.111328);
   glVertex2f(-7793.232422, 5131.395996);
   glVertex2f(-7792.397461, 5133.053711);
   glVertex2f(-7792.920898, 5141.241699);
   glVertex2f(-7793.266602, 5142.691895);
   glVertex2f(-7792.954590, 5144.396484);
   glVertex2f(-7794.101562, 5145.473633);
   glVertex2f(-7793.878906, 5146.669922);
   glVertex2f(-7792.453613, 5149.093262);
   glVertex2f(-7793.878906, 5148.749023);
   glVertex2f(-7795.270020, 5149.467285);
   glVertex2f(-7795.236816, 5151.083008);
   glVertex2f(-7796.416504, 5151.711426);
   glVertex2f(-7797.841797, 5151.127930);
   glVertex2f(-7798.554199, 5149.751465);
   glVertex2f(-7798.454102, 5148.210449);
   glVertex2f(-7798.364746, 5146.669922);
   glVertex2f(-7798.798828, 5144.845215);
   glVertex2f(-7799.666992, 5144.935059);
   glVertex2f(-7799.878418, 5146.430664);
   glVertex2f(-7799.967285, 5148.000977);
   glVertex2f(-7800.067871, 5149.541992);
   glVertex2f(-7800.089844, 5151.157715);
   glVertex2f(-7800.224121, 5152.744141);
   glVertex2f(-7800.312988, 5154.286133);
   glVertex2f(-7800.524414, 5155.783203);
   glVertex2f(-7800.780273, 5157.280273);
   glVertex2f(-7801.236328, 5158.643066);
   glVertex2f(-7801.425781, 5160.230469);
   glVertex2f(-7801.759277, 5161.638672);
   glVertex2f(-7802.316406, 5162.941895);
   glVertex2f(-7803.029297, 5164.260742);
   glVertex2f(-7803.685547, 5165.474121);
   glVertex2f(-7804.265137, 5166.882812);
   glVertex2f(-7805.043945, 5168.007812);
   glVertex2f(-7806.034668, 5169.221680);
   glVertex2f(-7807.481934, 5170.091309);
   glVertex2f(-7809.185059, 5170.256348);
   glVertex2f(-7810.665039, 5170.016113);
   glVertex2f(-7811.934082, 5169.267090);
   glVertex2f(-7813.114746, 5168.187500);
   glVertex2f(-7813.793457, 5166.553711);
   glVertex2f(-7812.591309, 5165.729492);
   glVertex2f(-7811.166504, 5165.968750);
   glVertex2f(-7812.190430, 5164.680176);
   glVertex2f(-7813.670898, 5164.470215);
   glVertex2f(-7814.973633, 5165.474121);
   glVertex2f(-7815.708496, 5166.718262);
   glVertex2f(-7816.332031, 5168.007812);
   glVertex2f(-7817.099609, 5169.267090);
   glVertex2f(-7818.246094, 5170.346191);
   glVertex2f(-7819.760254, 5170.631348);
   glVertex2f(-7819.704590, 5172.385742);
   glVertex2f(-7818.736328, 5173.765625);
   glVertex2f(-7817.600586, 5174.560547);
   glVertex2f(-7815.986328, 5174.726074);
   glVertex2f(-7814.261230, 5174.425293);
   glVertex2f(-7812.524414, 5174.260742);
   glVertex2f(-7810.887695, 5174.215332);
   glVertex2f(-7809.273926, 5174.185547);
   glVertex2f(-7807.458984, 5173.765625);
   glVertex2f(-7805.633789, 5173.015625);
   glVertex2f(-7804.086426, 5172.220703);
   glVertex2f(-7802.628418, 5171.306152);
   glVertex2f(-7801.147949, 5170.301270);
   glVertex2f(-7800.089844, 5169.311523);
   glVertex2f(-7799.199707, 5168.097656);
   glVertex2f(-7798.208496, 5166.882812);
   glVertex2f(-7797.307617, 5165.804199);
   glVertex2f(-7796.327148, 5164.560059);
   glVertex2f(-7795.392090, 5163.481445);
   glVertex2f(-7794.557617, 5162.223145);
   glVertex2f(-7793.667480, 5161.024902);
   glVertex2f(-7792.887695, 5159.856445);
   glEnd();
#endif
#if T2
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8384.673828, 4569.655273);
   glVertex2f(-8384.517578, 4569.739746);
   glVertex2f(-8384.217773, 4570.911133);
   glVertex2f(-8384.093750, 4571.503906);
   glVertex2f(-8383.504883, 4573.226074);
   glVertex2f(-8382.914062, 4574.680664);
   glVertex2f(-8382.513672, 4575.852539);
   glVertex2f(-8381.923828, 4576.798828);
   glVertex2f(-8381.400391, 4578.055664);
   glVertex2f(-8380.721680, 4579.072754);
   glVertex2f(-8379.730469, 4580.089844);
   glVertex2f(-8378.740234, 4581.107422);
   glVertex2f(-8377.816406, 4582.364746);
   glVertex2f(-8376.981445, 4583.551758);
   glVertex2f(-8376.146484, 4584.809570);
   glVertex2f(-8375.990234, 4586.449707);
   glVertex2f(-8375.210938, 4587.749512);
   glVertex2f(-8374.130859, 4588.456543);
   glVertex2f(-8373.575195, 4589.403809);
   glVertex2f(-8372.961914, 4590.535645);
   glVertex2f(-8372.707031, 4591.794434);
   glVertex2f(-8371.994141, 4592.967773);
   glVertex2f(-8371.013672, 4594.000488);
   glVertex2f(-8370.202148, 4595.415039);
   glVertex2f(-8369.957031, 4596.703125);
   glVertex2f(-8369.923828, 4597.608887);
   glVertex2f(-8369.522461, 4599.108887);
   glVertex2f(-8369.400391, 4600.241699);
   glVertex2f(-8369.278320, 4601.430664);
   glVertex2f(-8369.032227, 4602.846191);
   glVertex2f(-8368.654297, 4604.134766);
   glVertex2f(-8367.696289, 4605.395020);
   glVertex2f(-8366.928711, 4606.499512);
   glVertex2f(-8366.461914, 4607.760254);
   glVertex2f(-8365.971680, 4608.823242);
   glVertex2f(-8365.258789, 4610.310547);
   glVertex2f(-8364.391602, 4611.699219);
   glVertex2f(-8363.644531, 4612.988770);
   glVertex2f(-8362.999023, 4614.604492);
   glVertex2f(-8362.788086, 4615.355469);
   glVertex2f(-8362.443359, 4616.660156);
   glVertex2f(-8362.109375, 4617.553711);
   glVertex2f(-8361.730469, 4618.857910);
   glVertex2f(-8361.017578, 4620.006836);
   glVertex2f(-8360.372070, 4620.829102);
   glVertex2f(-8359.971680, 4621.226074);
   glVertex2f(-8359.326172, 4621.736816);
   glVertex2f(-8359.169922, 4621.183594);
   glVertex2f(-8359.448242, 4620.162598);
   glVertex2f(-8359.904297, 4619.212402);
   glVertex2f(-8360.215820, 4618.460449);
   glVertex2f(-8360.583984, 4617.482910);
   glVertex2f(-8361.139648, 4616.220215);
   glVertex2f(-8361.641602, 4615.157227);
   glVertex2f(-8362.231445, 4613.697266);
   glVertex2f(-8362.843750, 4612.082031);
   glVertex2f(-8363.433594, 4610.664551);
   glVertex2f(-8363.990234, 4609.403320);
   glVertex2f(-8364.546875, 4608.156738);
   glVertex2f(-8365.037109, 4606.570312);
   glVertex2f(-8365.538086, 4605.239258);
   glVertex2f(-8366.004883, 4603.865234);
   glVertex2f(-8366.305664, 4602.449707);
   glVertex2f(-8366.528320, 4601.189941);
   glVertex2f(-8366.862305, 4599.576172);
   glVertex2f(-8367.363281, 4598.514160);
   glVertex2f(-8368.041992, 4597.099121);
   glVertex2f(-8368.565430, 4595.571289);
   glVertex2f(-8369.122070, 4594.227051);
   glVertex2f(-8369.711914, 4592.854980);
   glVertex2f(-8370.390625, 4591.355469);
   glVertex2f(-8371.192383, 4589.983887);
   glVertex2f(-8371.971680, 4588.612305);
   glVertex2f(-8372.583984, 4587.467285);
   glVertex2f(-8373.084961, 4586.689453);
   glVertex2f(-8373.886719, 4585.318359);
   glVertex2f(-8374.476562, 4584.173340);
   glVertex2f(-8375.122070, 4583.042969);
   glVertex2f(-8375.767578, 4581.742676);
   glVertex2f(-8376.301758, 4580.485352);
   glVertex2f(-8376.880859, 4579.425781);
   glVertex2f(-8377.559570, 4578.451172);
   glVertex2f(-8378.461914, 4577.264648);
   glVertex2f(-8379.385742, 4576.134766);
   glVertex2f(-8380.065430, 4574.637695);
   glVertex2f(-8380.565430, 4573.268555);
   glVertex2f(-8381.155273, 4571.503906);
   glVertex2f(-8381.611328, 4570.445312);
   glVertex2f(-8382.202148, 4569.429199);
   glVertex2f(-8382.847656, 4568.483398);
   glVertex2f(-8383.592773, 4567.312500);
   glVertex2f(-8384.217773, 4566.056641);
   glVertex2f(-8384.673828, 4564.801270);
   glVertex2f(-8385.107422, 4563.897949);
   glVertex2f(-8385.942383, 4562.643066);
   glVertex2f(-8386.933594, 4561.627930);
   glVertex2f(-8387.801758, 4560.964844);
   glVertex2f(-8388.969727, 4560.457031);
   glVertex2f(-8390.061523, 4560.132812);
   glVertex2f(-8391.296875, 4560.372559);
   glVertex2f(-8391.752930, 4560.879883);
   glVertex2f(-8391.352539, 4561.669434);
   glVertex2f(-8390.083008, 4561.937500);
   glVertex2f(-8388.569336, 4561.867188);
   glVertex2f(-8387.645508, 4562.797852);
   glVertex2f(-8387.299805, 4563.897949);
   glVertex2f(-8388.269531, 4564.138184);
   glVertex2f(-8388.948242, 4564.208496);
   glVertex2f(-8389.593750, 4564.490723);
   glVertex2f(-8389.682617, 4565.506836);
   glVertex2f(-8389.226562, 4566.564453);
   glVertex2f(-8388.134766, 4566.874512);
   glVertex2f(-8386.744141, 4567.228027);
   glVertex2f(-8385.787109, 4567.665039);
   glVertex2f(-8385.263672, 4568.130371);
   glVertex2f(-8385.074219, 4568.483398);
   glVertex2f(-8384.706055, 4569.189453);
   glVertex2f(-8384.673828, 4569.655273);
   glEnd();
#endif
#if T3
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8428.466797, 4191.134277);
   glVertex2f(-8427.909180, 4191.393555);
   glVertex2f(-8426.819336, 4192.156738);
   glVertex2f(-8426.261719, 4193.096191);
   glVertex2f(-8425.895508, 4194.240723);
   glVertex2f(-8425.282227, 4195.031738);
   glVertex2f(-8424.726562, 4194.608887);
   glVertex2f(-8423.613281, 4194.009766);
   glVertex2f(-8422.343750, 4194.391113);
   glVertex2f(-8421.130859, 4194.922363);
   glVertex2f(-8419.995117, 4195.604004);
   glVertex2f(-8418.848633, 4196.244629);
   glVertex2f(-8417.768555, 4197.117188);
   glVertex2f(-8416.745117, 4197.907227);
   glVertex2f(-8415.720703, 4198.779785);
   glVertex2f(-8414.729492, 4199.693359);
   glVertex2f(-8413.459961, 4200.033691);
   glVertex2f(-8412.046875, 4199.842773);
   glVertex2f(-8410.554688, 4199.952148);
   glVertex2f(-8409.319336, 4200.210938);
   glVertex2f(-8408.117188, 4200.743164);
   glVertex2f(-8407.059570, 4201.738281);
   glVertex2f(-8406.536133, 4203.320312);
   glVertex2f(-8406.291016, 4204.984375);
   glVertex2f(-8405.946289, 4206.320801);
   glVertex2f(-8405.979492, 4207.685547);
   glVertex2f(-8405.924805, 4208.926758);
   glVertex2f(-8405.946289, 4209.991211);
   glVertex2f(-8405.768555, 4211.096680);
   glVertex2f(-8405.333984, 4212.721191);
   glVertex2f(-8404.833008, 4214.126953);
   glVertex2f(-8404.432617, 4215.260254);
   glVertex2f(-8404.220703, 4216.434082);
   glVertex2f(-8403.998047, 4218.031738);
   glVertex2f(-8403.909180, 4219.356445);
   glVertex2f(-8403.719727, 4220.845215);
   glVertex2f(-8403.385742, 4222.389160);
   glVertex2f(-8403.041016, 4224.138184);
   glVertex2f(-8402.673828, 4225.846191);
   glVertex2f(-8402.461914, 4226.761719);
   glVertex2f(-8402.517578, 4228.237793);
   glVertex2f(-8402.550781, 4229.563965);
   glVertex2f(-8402.884766, 4230.931152);
   glVertex2f(-8403.196289, 4232.270996);
   glVertex2f(-8403.319336, 4233.707031);
   glVertex2f(-8402.952148, 4235.457520);
   glVertex2f(-8402.395508, 4237.126465);
   glVertex2f(-8401.873047, 4238.645020);
   glVertex2f(-8401.348633, 4240.354980);
   glVertex2f(-8400.881836, 4242.147949);
   glVertex2f(-8400.692383, 4243.749512);
   glVertex2f(-8400.814453, 4245.228027);
   glVertex2f(-8400.791992, 4245.296387);
   glVertex2f(-8401.125977, 4246.254883);
   glVertex2f(-8401.348633, 4247.665039);
   glVertex2f(-8401.560547, 4249.062012);
   glVertex2f(-8401.749023, 4250.472656);
   glVertex2f(-8402.206055, 4251.732910);
   glVertex2f(-8402.550781, 4252.910645);
   glVertex2f(-8402.707031, 4254.198730);
   glVertex2f(-8402.707031, 4255.267578);
   glVertex2f(-8403.196289, 4256.336426);
   glVertex2f(-8403.853516, 4257.213379);
   glVertex2f(-8404.310547, 4258.392090);
   glVertex2f(-8404.532227, 4259.378906);
   glVertex2f(-8404.499023, 4260.640137);
   glVertex2f(-8404.744141, 4262.052246);
   glVertex2f(-8405.089844, 4263.190430);
   glVertex2f(-8405.579102, 4264.411133);
   glVertex2f(-8406.135742, 4265.508301);
   glVertex2f(-8406.759766, 4266.618652);
   glVertex2f(-8407.315430, 4267.730469);
   glVertex2f(-8407.750000, 4269.020020);
   glVertex2f(-8406.847656, 4269.856934);
   glVertex2f(-8406.012695, 4270.007324);
   glVertex2f(-8405.245117, 4268.827637);
   glVertex2f(-8404.688477, 4267.730469);
   glVertex2f(-8404.065430, 4266.701660);
   glVertex2f(-8403.508789, 4265.508301);
   glVertex2f(-8402.952148, 4264.301270);
   glVertex2f(-8402.583984, 4263.107910);
   glVertex2f(-8402.272461, 4262.079590);
   glVertex2f(-8401.927734, 4260.750000);
   glVertex2f(-8401.749023, 4259.337891);
   glVertex2f(-8401.649414, 4258.159180);
   glVertex2f(-8401.527344, 4257.172363);
   glVertex2f(-8401.371094, 4255.883789);
   glVertex2f(-8401.092773, 4254.431641);
   glVertex2f(-8400.848633, 4253.144043);
   glVertex2f(-8400.602539, 4251.924805);
   glVertex2f(-8400.101562, 4250.746582);
   glVertex2f(-8399.678711, 4249.445312);
   glVertex2f(-8399.245117, 4248.198730);
   glVertex2f(-8398.933594, 4246.747559);
   glVertex2f(-8398.843750, 4245.378418);
   glVertex2f(-8398.777344, 4244.009766);
   glVertex2f(-8398.867188, 4242.682129);
   glVertex2f(-8398.867188, 4242.298828);
   glVertex2f(-8399.055664, 4241.573242);
   glVertex2f(-8399.579102, 4240.054199);
   glVertex2f(-8400.101562, 4238.686035);
   glVertex2f(-8400.636719, 4237.166992);
   glVertex2f(-8400.970703, 4235.539551);
   glVertex2f(-8401.160156, 4234.130859);
   glVertex2f(-8401.193359, 4233.173828);
   glVertex2f(-8401.348633, 4231.587402);
   glVertex2f(-8401.315430, 4230.219727);
   glVertex2f(-8401.315430, 4229.153809);
   glVertex2f(-8401.471680, 4227.854980);
   glVertex2f(-8401.593750, 4226.529785);
   glVertex2f(-8401.749023, 4224.944336);
   glVertex2f(-8402.049805, 4223.195312);
   glVertex2f(-8402.150391, 4221.979004);
   glVertex2f(-8402.329102, 4220.873047);
   glVertex2f(-8402.607422, 4219.506836);
   glVertex2f(-8402.640625, 4218.332520);
   glVertex2f(-8402.795898, 4217.048828);
   glVertex2f(-8402.707031, 4215.874512);
   glVertex2f(-8402.707031, 4214.809570);
   glVertex2f(-8402.795898, 4213.676758);
   glVertex2f(-8402.795898, 4212.611816);
   glVertex2f(-8402.795898, 4211.587891);
   glVertex2f(-8402.985352, 4210.073242);
   glVertex2f(-8403.263672, 4208.708984);
   glVertex2f(-8403.575195, 4207.644531);
   glVertex2f(-8404.131836, 4206.239258);
   glVertex2f(-8404.833008, 4204.684570);
   glVertex2f(-8405.389648, 4203.320312);
   glVertex2f(-8405.667969, 4202.229492);
   glVertex2f(-8405.857422, 4200.934082);
   glVertex2f(-8406.046875, 4199.461426);
   glVertex2f(-8406.202148, 4198.438965);
   glVertex2f(-8406.380859, 4197.416504);
   glVertex2f(-8406.570312, 4196.694336);
   glVertex2f(-8407.125977, 4196.094238);
   glVertex2f(-8407.771484, 4195.862793);
   glVertex2f(-8407.750000, 4195.944336);
   glVertex2f(-8408.272461, 4195.781250);
   glVertex2f(-8409.541992, 4195.372070);
   glVertex2f(-8410.989258, 4195.140137);
   glVertex2f(-8412.536133, 4195.099609);
   glVertex2f(-8413.649414, 4194.990723);
   glVertex2f(-8414.852539, 4194.731445);
   glVertex2f(-8416.243164, 4194.309082);
   glVertex2f(-8417.211914, 4194.009766);
   glVertex2f(-8418.191406, 4193.586914);
   glVertex2f(-8419.371094, 4193.137207);
   glVertex2f(-8420.640625, 4192.755859);
   glVertex2f(-8421.909180, 4192.347168);
   glVertex2f(-8423.201172, 4191.883789);
   glVertex2f(-8424.469727, 4191.475098);
   glVertex2f(-8425.561523, 4190.671387);
   glVertex2f(-8426.729492, 4190.031250);
   glVertex2f(-8427.843750, 4189.350098);
   glVertex2f(-8428.833984, 4188.941406);
   glVertex2f(-8429.947266, 4188.750977);
   glVertex2f(-8431.026367, 4189.050781);
   glVertex2f(-8431.093750, 4189.622559);
   glVertex2f(-8430.502930, 4190.031250);
   glVertex2f(-8429.635742, 4190.412598);
   glVertex2f(-8428.466797, 4191.134277);
   glEnd();
#endif
#if T4
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8437.739258, 4187.307129);
   glVertex2f(-8438.541016, 4186.748535);
   glVertex2f(-8439.653320, 4186.176758);
   glVertex2f(-8440.867188, 4185.604980);
   glVertex2f(-8442.103516, 4185.074219);
   glVertex2f(-8443.305664, 4184.515625);
   glVertex2f(-8444.485352, 4184.052734);
   glVertex2f(-8445.687500, 4183.603516);
   glVertex2f(-8446.889648, 4183.031738);
   glVertex2f(-8448.192383, 4182.501465);
   glVertex2f(-8449.394531, 4181.983398);
   glVertex2f(-8450.507812, 4181.412109);
   glVertex2f(-8451.866211, 4180.771973);
   glVertex2f(-8452.979492, 4180.119141);
   glVertex2f(-8454.069336, 4179.330078);
   glVertex2f(-8455.027344, 4178.608398);
   glVertex2f(-8456.107422, 4177.859863);
   glVertex2f(-8457.186523, 4177.057617);
   glVertex2f(-8458.266602, 4176.200195);
   glVertex2f(-8459.256836, 4175.397949);
   glVertex2f(-8460.348633, 4174.608398);
   glVertex2f(-8461.484375, 4173.969238);
   glVertex2f(-8461.951172, 4173.969238);
   glVertex2f(-8461.305664, 4174.676270);
   glVertex2f(-8460.625977, 4175.356934);
   glVertex2f(-8459.914062, 4176.689941);
   glVertex2f(-8459.758789, 4178.309082);
   glVertex2f(-8459.813477, 4179.628906);
   glVertex2f(-8458.890625, 4180.160156);
   glVertex2f(-8458.422852, 4179.669922);
   glVertex2f(-8457.744141, 4179.330078);
   glVertex2f(-8456.730469, 4179.261230);
   glVertex2f(-8455.895508, 4179.710938);
   glVertex2f(-8454.749023, 4180.458984);
   glVertex2f(-8453.691406, 4181.139648);
   glVertex2f(-8452.578125, 4181.643555);
   glVertex2f(-8451.498047, 4182.432617);
   glVertex2f(-8450.351562, 4183.072754);
   glVertex2f(-8449.182617, 4183.644531);
   glVertex2f(-8448.248047, 4184.175293);
   glVertex2f(-8447.201172, 4184.774414);
   glVertex2f(-8445.999023, 4185.414062);
   glVertex2f(-8444.852539, 4185.986328);
   glVertex2f(-8443.862305, 4186.408203);
   glVertex2f(-8442.592773, 4186.816895);
   glVertex2f(-8441.390625, 4187.388672);
   glVertex2f(-8440.088867, 4187.919922);
   glVertex2f(-8438.852539, 4188.451172);
   glVertex2f(-8437.671875, 4188.941406);
   glVertex2f(-8436.381836, 4189.472656);
   glVertex2f(-8435.201172, 4189.921875);
   glVertex2f(-8434.333008, 4190.262695);
   glVertex2f(-8434.867188, 4189.649902);
   glVertex2f(-8435.668945, 4188.900391);
   glVertex2f(-8436.693359, 4188.178711);
   glVertex2f(-8437.739258, 4187.307129);
   glEnd();
#endif
#if T5
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8466.159180, 4170.568848);
   glVertex2f(-8466.871094, 4170.080078);
   glVertex2f(-8467.829102, 4169.236816);
   glVertex2f(-8468.909180, 4168.489258);
   glVertex2f(-8470.088867, 4167.728027);
   glVertex2f(-8471.135742, 4167.020996);
   glVertex2f(-8472.282227, 4166.368164);
   glVertex2f(-8473.361328, 4165.580078);
   glVertex2f(-8474.352539, 4164.709961);
   glVertex2f(-8475.621094, 4163.962402);
   glVertex2f(-8474.841797, 4165.009277);
   glVertex2f(-8474.040039, 4165.960938);
   glVertex2f(-8473.171875, 4166.898926);
   glVertex2f(-8472.248047, 4167.999512);
   glVertex2f(-8471.324219, 4168.978516);
   glVertex2f(-8470.456055, 4169.998047);
   glVertex2f(-8469.810547, 4170.977539);
   glVertex2f(-8469.153320, 4172.459473);
   glVertex2f(-8468.263672, 4173.588379);
   glVertex2f(-8467.361328, 4173.356934);
   glVertex2f(-8466.771484, 4172.976074);
   glVertex2f(-8465.691406, 4172.636230);
   glVertex2f(-8464.666992, 4172.187500);
   glVertex2f(-8464.823242, 4171.167480);
   glVertex2f(-8466.159180, 4170.568848);
   glEnd();
#endif
#if T6
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8287.369141, 4781.249023);
   glVertex2f(-8287.369141, 4781.249023);
   glVertex2f(-8287.247070, 4781.407227);
   glVertex2f(-8287.090820, 4781.566406);
   glVertex2f(-8286.712891, 4782.099609);
   glVertex2f(-8286.133789, 4782.416016);
   glVertex2f(-8285.598633, 4782.373047);
   glVertex2f(-8285.320312, 4781.897949);
   glVertex2f(-8285.109375, 4781.335449);
   glVertex2f(-8285.019531, 4781.205566);
   glVertex2f(-8284.430664, 4781.133789);
   glVertex2f(-8283.929688, 4780.687500);
   glVertex2f(-8283.750977, 4779.938477);
   glVertex2f(-8283.439453, 4779.131348);
   glVertex2f(-8282.203125, 4778.728027);
   glVertex2f(-8280.934570, 4779.174316);
   glVertex2f(-8280.099609, 4780.053223);
   glVertex2f(-8279.577148, 4781.450684);
   glVertex2f(-8279.354492, 4783.006836);
   glVertex2f(-8278.619141, 4784.261230);
   glVertex2f(-8277.806641, 4785.529785);
   glVertex2f(-8277.928711, 4786.610840);
   glVertex2f(-8278.151367, 4787.778320);
   glVertex2f(-8277.806641, 4788.903320);
   glVertex2f(-8277.161133, 4789.739258);
   glVertex2f(-8275.491211, 4789.782715);
   glVertex2f(-8273.821289, 4789.133789);
   glVertex2f(-8272.708008, 4788.744629);
   glVertex2f(-8271.662109, 4788.341309);
   glVertex2f(-8271.104492, 4787.778320);
   glVertex2f(-8271.194336, 4787.101074);
   glVertex2f(-8271.594727, 4786.812500);
   glVertex2f(-8272.307617, 4786.898926);
   glVertex2f(-8272.831055, 4786.740723);
   glVertex2f(-8273.454102, 4786.091797);
   glVertex2f(-8273.632812, 4785.010742);
   glVertex2f(-8273.509766, 4783.973145);
   glVertex2f(-8273.732422, 4783.208984);
   glVertex2f(-8274.311523, 4782.257812);
   glVertex2f(-8275.212891, 4781.292480);
   glVertex2f(-8276.136719, 4780.413574);
   glVertex2f(-8276.760742, 4779.765137);
   glVertex2f(-8277.528320, 4779.174316);
   glVertex2f(-8278.363281, 4778.367676);
   glVertex2f(-8279.476562, 4777.446289);
   glVertex2f(-8279.509766, 4777.373535);
   glVertex2f(-8279.420898, 4777.331055);
   glVertex2f(-8279.509766, 4777.287598);
   glVertex2f(-8280.433594, 4776.927734);
   glVertex2f(-8281.124023, 4776.696777);
   glVertex2f(-8281.858398, 4776.696777);
   glVertex2f(-8282.637695, 4776.495117);
   glVertex2f(-8283.250000, 4776.452148);
   glVertex2f(-8283.284180, 4776.365723);
   glVertex2f(-8283.439453, 4776.524414);
   glVertex2f(-8283.750977, 4776.610352);
   glVertex2f(-8284.051758, 4776.884277);
   glVertex2f(-8284.207031, 4776.812012);
   glVertex2f(-8284.274414, 4777.244629);
   glVertex2f(-8284.463867, 4777.604492);
   glVertex2f(-8284.396484, 4777.575195);
   glVertex2f(-8284.396484, 4777.575195);
   glVertex2f(-8284.430664, 4777.806152);
   glVertex2f(-8284.485352, 4777.935547);
   glVertex2f(-8284.954102, 4778.454590);
   glVertex2f(-8285.420898, 4778.684570);
   glVertex2f(-8285.944336, 4779.016113);
   glVertex2f(-8286.222656, 4779.217773);
   glVertex2f(-8286.778320, 4779.649902);
   glVertex2f(-8286.990234, 4780.010254);
   glVertex2f(-8287.112305, 4780.254883);
   glVertex2f(-8287.146484, 4780.571777);
   glEnd();
#endif
#if T7
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8427.787109, 4495.906250);
   glVertex2f(-8427.687500, 4495.906250);
   glVertex2f(-8427.753906, 4496.018066);
   glVertex2f(-8427.787109, 4495.906250);
   glVertex2f(-8427.564453, 4496.326660);
   glVertex2f(-8427.475586, 4496.719238);
   glVertex2f(-8426.952148, 4497.966797);
   glVertex2f(-8426.518555, 4498.821777);
   glVertex2f(-8426.050781, 4499.873047);
   glVertex2f(-8425.561523, 4500.966797);
   glVertex2f(-8425.125977, 4501.821777);
   glVertex2f(-8424.659180, 4502.803223);
   glVertex2f(-8424.102539, 4503.336426);
   glVertex2f(-8423.791016, 4503.462402);
   glVertex2f(-8423.333984, 4503.336426);
   glVertex2f(-8423.301758, 4502.256348);
   glVertex2f(-8423.735352, 4501.078613);
   glVertex2f(-8424.135742, 4499.873047);
   glVertex2f(-8424.502930, 4499.213867);
   glVertex2f(-8425.003906, 4498.050293);
   glVertex2f(-8425.650391, 4496.760742);
   glVertex2f(-8426.329102, 4495.751953);
   glVertex2f(-8426.796875, 4495.093262);
   glVertex2f(-8427.375000, 4494.420898);
   glVertex2f(-8427.843750, 4493.846680);
   glVertex2f(-8428.155273, 4493.762695);
   glVertex2f(-8428.188477, 4494.743164);
   glVertex2f(-8428.065430, 4495.275879);
   glVertex2f(-8427.843750, 4496.018066);
   glVertex2f(-8427.719727, 4496.494629);
   glVertex2f(-8427.719727, 4496.494629);
   glEnd();
#endif
#if T8
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8441.112305, 4471.522461);
   glVertex2f(-8440.611328, 4471.675781);
   glVertex2f(-8439.598633, 4471.997559);
   glVertex2f(-8439.041016, 4472.654785);
   glVertex2f(-8438.574219, 4473.703613);
   glVertex2f(-8438.330078, 4475.018066);
   glVertex2f(-8438.330078, 4476.108887);
   glVertex2f(-8438.229492, 4477.549805);
   glVertex2f(-8437.772461, 4478.907227);
   glVertex2f(-8437.338867, 4479.760254);
   glVertex2f(-8436.904297, 4480.348145);
   glVertex2f(-8436.381836, 4480.810059);
   glVertex2f(-8436.135742, 4480.348145);
   glVertex2f(-8436.102539, 4479.256348);
   glVertex2f(-8436.436523, 4477.857910);
   glVertex2f(-8436.503906, 4476.612793);
   glVertex2f(-8436.414062, 4475.409668);
   glVertex2f(-8436.414062, 4474.249023);
   glVertex2f(-8436.660156, 4472.920410);
   glVertex2f(-8437.093750, 4471.647949);
   glVertex2f(-8437.806641, 4470.865234);
   glVertex2f(-8438.384766, 4470.599609);
   glVertex2f(-8438.975586, 4470.250000);
   glVertex2f(-8440.054688, 4470.250000);
   glVertex2f(-8440.867188, 4470.250000);
   glVertex2f(-8441.724609, 4470.403809);
   glVertex2f(-8442.192383, 4470.906738);
   glVertex2f(-8442.036133, 4471.452637);
   glVertex2f(-8441.390625, 4471.675781);
   glVertex2f(-8441.167969, 4471.717773);
   glEnd();
#endif
#if T9
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8450.017578, 4456.391113);
   glVertex2f(-8450.017578, 4456.391113);
   glVertex2f(-8450.017578, 4456.391113);
   glVertex2f(-8449.494141, 4457.158691);
   glVertex2f(-8449.027344, 4458.206543);
   glVertex2f(-8448.559570, 4458.792969);
   glVertex2f(-8448.158203, 4459.184082);
   glVertex2f(-8447.602539, 4459.490723);
   glVertex2f(-8446.734375, 4459.686523);
   glVertex2f(-8446.087891, 4459.923828);
   glVertex2f(-8445.932617, 4459.686523);
   glVertex2f(-8446.456055, 4458.904297);
   glVertex2f(-8447.112305, 4457.898926);
   glVertex2f(-8447.791992, 4456.893555);
   glVertex2f(-8448.503906, 4456.000488);
   glVertex2f(-8449.272461, 4455.344238);
   glVertex2f(-8449.828125, 4454.799316);
   glVertex2f(-8450.173828, 4454.562500);
   glVertex2f(-8450.452148, 4455.037109);
   glVertex2f(-8450.295898, 4455.692871);
   glVertex2f(-8450.017578, 4456.391113);
   glEnd();
#endif
#if T10
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8478.716797, 4619.254883);
   glVertex2f(-8479.016602, 4618.744629);
   glVertex2f(-8478.616211, 4618.347656);
   glVertex2f(-8477.781250, 4617.751953);
   glVertex2f(-8477.101562, 4616.887207);
   glVertex2f(-8476.078125, 4615.823242);
   glVertex2f(-8474.909180, 4615.242676);
   glVertex2f(-8474.128906, 4614.250488);
   glVertex2f(-8474.318359, 4613.187500);
   glVertex2f(-8476.022461, 4613.300293);
   glVertex2f(-8477.446289, 4614.094238);
   glVertex2f(-8478.804688, 4614.916504);
   glVertex2f(-8479.484375, 4615.781250);
   glVertex2f(-8479.951172, 4617.127930);
   glVertex2f(-8480.408203, 4618.106445);
   glVertex2f(-8480.875000, 4619.411133);
   glVertex2f(-8481.276367, 4620.715332);
   glVertex2f(-8480.630859, 4621.538574);
   glVertex2f(-8479.484375, 4620.942871);
   glVertex2f(-8479.139648, 4619.878906);
   glVertex2f(-8479.172852, 4619.411133);
   glEnd();
#endif
#if T11
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8462.697266, 4607.448730);
   glVertex2f(-8462.418945, 4606.499512);
   glVertex2f(-8461.883789, 4605.550781);
   glVertex2f(-8461.305664, 4604.333008);
   glVertex2f(-8462.018555, 4603.511719);
   glVertex2f(-8462.853516, 4602.251465);
   glVertex2f(-8464.144531, 4601.968262);
   glVertex2f(-8465.079102, 4603.001465);
   glVertex2f(-8466.471680, 4603.426758);
   glVertex2f(-8467.794922, 4603.001465);
   glVertex2f(-8469.120117, 4603.313477);
   glVertex2f(-8469.376953, 4604.573730);
   glVertex2f(-8469.253906, 4605.947266);
   glVertex2f(-8468.263672, 4607.094238);
   glVertex2f(-8466.994141, 4607.633301);
   glVertex2f(-8465.914062, 4608.270020);
   glVertex2f(-8465.224609, 4609.021484);
   glVertex2f(-8464.054688, 4609.219727);
   glVertex2f(-8463.342773, 4608.823242);
   glVertex2f(-8462.853516, 4607.987305);
   glVertex2f(-8462.697266, 4607.448730);
   glEnd();
#endif
#if T12
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8459.813477, 4592.232422);
   glVertex2f(-8459.635742, 4591.398438);
   glVertex2f(-8459.813477, 4590.337891);
   glVertex2f(-8461.183594, 4590.493164);
   glVertex2f(-8462.229492, 4591.440430);
   glVertex2f(-8463.030273, 4592.657227);
   glVertex2f(-8463.777344, 4593.717773);
   glVertex2f(-8464.456055, 4594.892090);
   glVertex2f(-8464.889648, 4596.080566);
   glVertex2f(-8464.422852, 4596.985840);
   glVertex2f(-8462.875000, 4597.056641);
   glVertex2f(-8461.761719, 4597.495605);
   glVertex2f(-8461.048828, 4597.608887);
   glVertex2f(-8460.994141, 4596.193359);
   glVertex2f(-8460.905273, 4594.977051);
   glVertex2f(-8460.493164, 4594.269531);
   glVertex2f(-8460.248047, 4593.647461);
   glVertex2f(-8460.002930, 4592.657227);
   glEnd();
#endif
#if T13
   glBegin(GLBEGIN_ARG);
   glVertex2f(-8460.994141, 4583.975586);
   glVertex2f(-8460.214844, 4583.395996);
   glVertex2f(-8459.513672, 4582.717773);
   glVertex2f(-8458.923828, 4581.785645);
   glVertex2f(-8458.800781, 4580.753906);
   glVertex2f(-8458.734375, 4579.425781);
   glVertex2f(-8459.079102, 4578.125977);
   glVertex2f(-8459.936523, 4576.869141);
   glVertex2f(-8460.526367, 4576.007812);
   glVertex2f(-8461.083008, 4575.075684);
   glVertex2f(-8461.517578, 4574.991211);
   glVertex2f(-8462.384766, 4575.894531);
   glVertex2f(-8463.932617, 4576.601074);
   glVertex2f(-8465.324219, 4577.039062);
   glVertex2f(-8465.936523, 4578.098145);
   glVertex2f(-8465.780273, 4579.425781);
   glVertex2f(-8464.490234, 4579.425781);
   glVertex2f(-8463.532227, 4578.762207);
   glVertex2f(-8462.262695, 4577.928223);
   glVertex2f(-8461.394531, 4577.744629);
   glVertex2f(-8460.905273, 4578.804688);
   glVertex2f(-8461.027344, 4580.019043);
   glVertex2f(-8462.073242, 4580.994141);
   glVertex2f(-8463.276367, 4581.389648);
   glVertex2f(-8464.456055, 4581.785645);
   glVertex2f(-8465.324219, 4582.717773);
   glVertex2f(-8465.413086, 4583.905273);
   glVertex2f(-8465.447266, 4584.611816);
   glVertex2f(-8464.923828, 4585.474121);
   glVertex2f(-8463.810547, 4585.784668);
   glVertex2f(-8462.664062, 4585.190918);
   glVertex2f(-8461.951172, 4584.837891);
   glVertex2f(-8461.183594, 4584.328613);
   glEnd();
#endif

#if USE_DISPLAYLIST
   glEndList();
#endif

}

static void resize( unsigned int width, unsigned int height )
{
   printf("Resize event\n");
   glViewport( 0, 0, width, height );

   glMatrixMode( GL_PROJECTION );
   glLoadIdentity();
   glOrtho( LEFT, RIGHT, BOTTOM, TOP, -10000.000000, 10000.000000 );

}



static Window make_rgb_db_window( Display *dpy,
                                  unsigned int width, unsigned int height )
{
   int attrib[] = { GLX_RGBA,
                    GLX_RED_SIZE, 1,
                    GLX_GREEN_SIZE, 1,
                    GLX_BLUE_SIZE, 1,
                    GLX_DOUBLEBUFFER,
                    None };
   int scrnum;
   XSetWindowAttributes attr;
   unsigned long mask;
   Window root;
   Window win;
   GLXContext ctx;
   XVisualInfo *visinfo;

   scrnum = DefaultScreen( dpy );
   root = RootWindow( dpy, scrnum );

   visinfo = glXChooseVisual( dpy, scrnum, attrib );
   if (!visinfo) {
      printf("Error: couldn't get an RGB, Double-buffered visual\n");
      exit(1);
   }

   /* window attributes */
   attr.background_pixel = 0;
   attr.border_pixel = 0;
   attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone);
   attr.event_mask = StructureNotifyMask | ExposureMask;
   mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;

   win = XCreateWindow( dpy, root, 0, 0, width, height,
                        0, visinfo->depth, InputOutput,
                        visinfo->visual, mask, &attr );

   ctx = glXCreateContext( dpy, visinfo, NULL, 0 );

   glXMakeCurrent( dpy, win, ctx );

   return win;
}


static void event_loop( Display *dpy )
{
   XEvent event;

   while (1) {
      XNextEvent( dpy, &event );

      switch (event.type) {
         case Expose:
            redraw( dpy, event.xany.window );
            break;
         case ConfigureNotify:
            resize( event.xconfigure.width, event.xconfigure.height );
            break;
      }
   }
}



int main( int argc, char *argv[] )
{
   Display *dpy;
   Window win;

   dpy = XOpenDisplay(NULL);

   win = make_rgb_db_window( dpy, 300, 300 );

   glShadeModel( GL_NONE );
   glEnable(GL_TEXTURE_2D);
   glEnable(GL_CULL_FACE);
   glCullFace(GL_BACK);
   glClearColor( 1.0, 1.0, 1.0, 1.0 );

   XMapWindow( dpy, win );

   linelist = glGenLists(1);
   create_linelist();

   event_loop( dpy );
   return 0;
}

CC      = gcc
IPATH   = -I/usr/local/include -L/usr/X11R6/lib
LIBS    = -lm -lGL
CFLAGS  = -O2 -m486 -Wall
DEFINES = $(DEFS) -D__Linux__

AS      = nasm
AFLAGS  = -f elf

PROGRAM = linebug 
SOURCE  = linebug.c
OBJECTS = $(SOURCE:.c=.o)

all:    clear $(PROGRAM)

$(PROGRAM): $(OBJECTS)
        $(CC) $(CFLAGS) $^ -o $@ $(IPATH) $(LIBS)

###############################################################################

%.o : %.c
        $(CC) -c $(CFLAGS) $(IPATH) $(DEFINES) $< -o $@

%.o : %.s
        $(AS) $(AFLAGS) $< -o $@

###############################################################################

clean:
        rm -f "#"*"#" *~ $(OBJECTS) core

clear:
        clear

Reply via email to