home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 July & August / PCWorld_2006-07-08_cd.bin / temacd / planearcade / planearcade.exe / Tank3.bmp / level.cpp < prev    next >
C/C++ Source or Header  |  2004-09-30  |  78KB  |  2,352 lines

  1.  
  2.  
  3. #include "main.h"
  4.  
  5. //------------------
  6. //Global
  7. //------------------
  8. LEVEL Level;
  9.  
  10.  
  11. //Inicializacia
  12. //------------------------------------------------------------------
  13. void LEVEL::Initialize()
  14. {
  15.  
  16.     int i;
  17.  
  18.     //
  19.     //Krajina
  20. //    Krajina.Load("scene/terrain.geo");
  21. //    Krajina.SaveScene("scene/terrain.scn");
  22.     Krajina.LoadScene("scene/terrain.geo","scene/terrain.scn");
  23.  
  24. //    Krajina.CreateOctTree();
  25. //    Krajina.SaveOctTree("scene/terrain.oct");
  26.     Krajina.LoadOctTree("scene/terrain.oct");
  27.  
  28.     //-------------------
  29.     //objekty a lietadla
  30.     //-------------------
  31.  
  32.     //
  33.     //Messerschmitt
  34.     for (i=0;i<Max_MesserSchmitt;i++)
  35.     {
  36.         MesserSchmitt[i].Initialize();
  37.     }
  38.  
  39.     //
  40.     //Volkers
  41.     for (i=0;i<Max_Volkers;i++)
  42.     {
  43.         Volker[i].Initialize();
  44.     }
  45.  
  46.     //
  47.     //Bombardery
  48.     for (i=0;i<Max_Bombarders;i++)
  49.     {
  50.         Bombarder[i].Initialize();
  51.     }
  52.  
  53.     //
  54.     //Structure
  55.     for (i=0;i<Max_Structures;i++)
  56.     {
  57.         Structure[i].Initialize();
  58.     }
  59.  
  60.     //
  61.     //Truck
  62.     for (i=0;i<Max_Trucks;i++)
  63.     {
  64.         Truck[i].Initialize();
  65.     }
  66.  
  67.  
  68.     //----------
  69.     //reset
  70.     //----------
  71.     DestroyLevel();
  72.  
  73.  
  74. }
  75.  
  76. //pridaj messerschmitt
  77. //------------------------------------------------------------------
  78. void LEVEL::AddMesserSchmitt(int Index,int Life,int Mode,VECTOR3D Pos,VECTOR3D Rot, float OnTime)
  79. {
  80.  
  81.     //ak je deaktivovany
  82.     if (MesserSchmitt[Index].Active == false &&
  83.         StageTime >= OnTime && StageTime <= OnTime+3.0f)
  84.     {
  85.         MesserSchmitt[Index].Reset();
  86.         MesserSchmitt[Index].Life = Life;
  87.         MesserSchmitt[Index].Mode = Mode;
  88.         MesserSchmitt[Index].Pos = Pos;
  89.         MesserSchmitt[Index].Rot = Rot;
  90.         MesserSchmitt[Index].Active = true;
  91.  
  92.     }
  93. }
  94.  
  95. //pridaj messerschmitt quick
  96. //------------------------------------------------------------------
  97. void LEVEL::AddMesserSchmittQuick(int Index,int Life,int Mode,VECTOR3D Pos,VECTOR3D Rot)
  98. {
  99.     //ak je deaktivovany
  100.     if (MesserSchmitt[Index].Active == false) 
  101.     {
  102.         MesserSchmitt[Index].Reset();
  103.         MesserSchmitt[Index].Life = Life;
  104.         MesserSchmitt[Index].Mode = Mode;
  105.         MesserSchmitt[Index].Pos = Pos;
  106.         MesserSchmitt[Index].Rot = Rot;
  107.         MesserSchmitt[Index].Active = true;
  108.     }
  109.  
  110. }
  111.  
  112. //pridaj Volker
  113. //------------------------------------------------------------------
  114. void LEVEL::AddVolker(int Index,int Life,VECTOR3D Pos,VECTOR3D Rot, float OnTime)
  115. {
  116.  
  117.     //ak je deaktivovany
  118.     if (Volker[Index].Active == false &&
  119.         StageTime >= OnTime && StageTime <= OnTime+3.0f)
  120.     {
  121.         Volker[Index].Reset();
  122.         Volker[Index].Life = Life;
  123.         Volker[Index].Pos = Pos;
  124.         Volker[Index].Rot = Rot;
  125.         Volker[Index].Active = true;
  126.  
  127.     }
  128. }
  129.  
  130. //pridaj volker quick
  131. //------------------------------------------------------------------
  132. void LEVEL::AddVolkerQuick(int Index,int Life,VECTOR3D Pos,VECTOR3D Rot)
  133. {
  134.     //ak je deaktivovany
  135.     if (Volker[Index].Active == false) 
  136.     {
  137.         Volker[Index].Reset();
  138.         Volker[Index].Life = Life;
  139.         Volker[Index].Pos = Pos;
  140.         Volker[Index].Rot = Rot;
  141.         Volker[Index].Active = true;
  142.     }
  143.  
  144. }
  145.  
  146. //pridaj Volker
  147. //------------------------------------------------------------------
  148. void LEVEL::AddBombarder(int Index,int Life,int Mode,VECTOR3D Target,VECTOR3D Pos, VECTOR3D Rot, float OnTime)
  149. {
  150.  
  151.     //ak je deaktivovany
  152.     if (Bombarder[Index].Active == false &&
  153.         StageTime >= OnTime && StageTime <= OnTime+3.0f)
  154.     {
  155.         Bombarder[Index].Reset();
  156.  
  157.         Bombarder[Index].Mode = Mode;
  158.         
  159.         Bombarder[Index].Life = Life;
  160.         Bombarder[Index].Pos = Pos;
  161.         Bombarder[Index].Rot = Rot;
  162.         Bombarder[Index].Target = Target;
  163.         Bombarder[Index].Active = true;
  164.  
  165.     }
  166. }
  167.  
  168. //pridaj protilietadlove delo
  169. //-----------------------------------------------------------
  170. void LEVEL::AddTruck(int Index, int Mode,VECTOR3D Pos, VECTOR3D Rot)
  171. {
  172.  
  173.     if (StageTime != 0.0f)
  174.         return;
  175.  
  176.     //zisti koliziu
  177.     if (Krajina.ColliseDistance(Get3D(Pos.X,1000.0f,Pos.Z),
  178.                                 Get3D(Pos.X,-1000.0f,Pos.Z)) != true)
  179.     {
  180.         return;
  181.     }
  182.  
  183.     Truck[Index].Active = true;
  184.     Truck[Index].Pos = Krajina.IntPos;
  185.     Truck[Index].Rot = Rot;
  186.  
  187.     //primary target
  188.     if (Mode == 0)
  189.     {
  190.         Truck[Index].Target = true;
  191.     }
  192.  
  193.     //second target
  194.     if (Mode == 1)
  195.     {
  196.         Truck[Index].Target = false;
  197.     }
  198.  
  199.  
  200. }
  201.  
  202. //pridaj objekt - dom
  203. //------------------------------------------------------------
  204. void LEVEL::AddStructure(int Index,int ModelIndex,int Mode, VECTOR3D Pos, VECTOR3D Rot)
  205. {
  206.     if (StageTime != 0.0f)
  207.      return;
  208.  
  209.     //---------
  210.     //Obecne
  211.     //---------
  212.     //zisti koliziu
  213.     if (Krajina.ColliseDistance(Get3D(Pos.X,1000.0f,Pos.Z),
  214.                                 Get3D(Pos.X,-1000.0f,Pos.Z)) != true)
  215.     {
  216.         return;
  217.     }
  218.  
  219.     Structure[Index].Pos = Krajina.IntPos;
  220.     Structure[Index].Pos.Y = Krajina.IntPos.Y + Pos.Y;
  221.     Structure[Index].Rot = Rot;
  222.     Structure[Index].ModelIndex = ModelIndex;
  223.     Structure[Index].Active = true;
  224.  
  225.     
  226.  
  227.     //--------------------------
  228.     //nastavi podla typu budovy
  229.     //--------------------------
  230.     //nastavi budovu
  231.     if (ModelIndex == Index_Structure_Budova)
  232.     {
  233.         Structure[Index].Life = 320;
  234.         Structure[Index].NumSmokePoints = 2;
  235.         Structure[Index].SmokePoint[0] = Get3D(-35.0f,40.0f,0.0f);
  236.         Structure[Index].SmokePoint[1] = Get3D(35.0f,40.0f,0.0f);
  237.     }
  238.  
  239.     //nastavi tovaren
  240.     if (ModelIndex == Index_Structure_Tovaren)
  241.     {
  242.         Structure[Index].Life = 500;
  243.         Structure[Index].NumSmokePoints = 3;
  244.         Structure[Index].SmokePoint[0] = Get3D(-40.0f,50.0f,0.0f);
  245.         Structure[Index].SmokePoint[1] = Get3D(40.0f,50.0f,0.0f);
  246.         Structure[Index].SmokePoint[2] = Get3D(0.0f,50.0f,30.0f);
  247.     }
  248.  
  249.     //nastavi komin
  250.     if (ModelIndex == Index_Structure_Komin)
  251.     {
  252.         Structure[Index].Life = 300;
  253.         Structure[Index].NumSmokePoints = 1;
  254.         Structure[Index].SmokePoint[0] = Get3D(0.0f,135.0f,0.0f);
  255.     }
  256.  
  257.     //nastavi sklad
  258.     if (ModelIndex == Index_Structure_Sklad)
  259.     {
  260.         Structure[Index].Life = 350;
  261.         Structure[Index].NumSmokePoints = 2;
  262.         Structure[Index].SmokePoint[0] = Get3D(-25.0f,45.0f,0.0f);
  263.         Structure[Index].SmokePoint[1] = Get3D(25.0f,37.0f,0.0f);
  264.     }
  265.  
  266.     //nastavi stan
  267.     if (ModelIndex == Index_Structure_Stan)
  268.     {
  269.         Structure[Index].Life = 200;
  270.         Structure[Index].NumSmokePoints = 1;
  271.         Structure[Index].SmokePoint[0] = Get3D(0.0f,20.0f,0.0f);
  272.     }
  273.  
  274.     //nastavi letisko
  275.     if (ModelIndex == Index_Structure_Letisko)
  276.     {
  277.         Structure[Index].Life = 300;
  278.         Structure[Index].NumSmokePoints = 1;
  279.         Structure[Index].SmokePoint[0] = Get3D(0.0f,5.0f,0.0f);
  280.     }
  281.  
  282.     //nastavi Hangar
  283.     if (ModelIndex == Index_Structure_Hangar)
  284.     {
  285.         Structure[Index].Life = 330;
  286.         Structure[Index].NumSmokePoints = 2;
  287.         Structure[Index].SmokePoint[0] = Get3D(40.0f,50.0f,0.0f);
  288.         Structure[Index].SmokePoint[1] = Get3D(-40.0f,50.0f,0.0f);
  289.     }
  290.  
  291.     //nastavi Dom1
  292.     if (ModelIndex == Index_Structure_Dom1)
  293.     {
  294.         Structure[Index].Life = 380;
  295.         Structure[Index].NumSmokePoints = 1;
  296.         Structure[Index].SmokePoint[0] = Get3D(0.0f,30.0f,0.0f);
  297.     }
  298.  
  299.     //nastavi Dom2
  300.     if (ModelIndex == Index_Structure_Dom2)
  301.     {
  302.         Structure[Index].Life = 380;
  303.         Structure[Index].NumSmokePoints = 1;
  304.         Structure[Index].SmokePoint[0] = Get3D(0.0f,30.0f,0.0f);
  305.     }
  306.  
  307.     //nastavi Kostol
  308.     if (ModelIndex == Index_Structure_Kostol)
  309.     {
  310.         Structure[Index].Life = 380;
  311.         Structure[Index].NumSmokePoints = 2;
  312.         Structure[Index].SmokePoint[0] = Get3D(-40.0f,82.0f,0.0f);
  313.         Structure[Index].SmokePoint[1] = Get3D(40.0f,82.0f,0.0f);
  314.     }
  315.  
  316.     //nastavi Tank1
  317.     if (ModelIndex == Index_Structure_Tank1)
  318.     {
  319.         Structure[Index].Life = 300;
  320.         Structure[Index].NumSmokePoints = 1;
  321.         Structure[Index].SmokePoint[0] = Get3D(0.0f,20.0f,0.0f);
  322.     }
  323.  
  324.     //nastavi Tank2
  325.     if (ModelIndex == Index_Structure_Tank2)
  326.     {
  327.         Structure[Index].Life = 300;
  328.         Structure[Index].NumSmokePoints = 1;
  329.         Structure[Index].SmokePoint[0] = Get3D(0.0f,20.0f,0.0f);
  330.     }
  331.  
  332.     //nastavi Conv1
  333.     if (ModelIndex == Index_Structure_Conv1)
  334.     {
  335.         Structure[Index].Life = 200;
  336.         Structure[Index].NumSmokePoints = 1;
  337.         Structure[Index].SmokePoint[0] = Get3D(0.0f,20.0f,0.0f);
  338.     }
  339.  
  340.     //nastavi Conv2
  341.     if (ModelIndex == Index_Structure_Conv2)
  342.     {
  343.         Structure[Index].Life = 200;
  344.         Structure[Index].NumSmokePoints = 1;
  345.         Structure[Index].SmokePoint[0] = Get3D(0.0f,20.0f,0.0f);
  346.     }
  347.  
  348.     //nastavi Plane
  349.     if (ModelIndex == Index_Structure_Plane)
  350.     {
  351.         Structure[Index].Life = 130;
  352.         Structure[Index].NumSmokePoints = 1;
  353.         Structure[Index].SmokePoint[0] = Get3D(0.0f,10.0f,0.0f);
  354.     }
  355.  
  356.     //stastavi mesto1
  357.     if (ModelIndex == Index_Structure_Mesto1)
  358.     {
  359.         Structure[Index].Life = 500;
  360.         Structure[Index].NumSmokePoints = 4;
  361.         Structure[Index].SmokePoint[0] = Get3D(30.0f,70.0f,50.0f);
  362.         Structure[Index].SmokePoint[1] = Get3D(-30.0f,70.0f,50.0f);
  363.         Structure[Index].SmokePoint[2] = Get3D(-30.0f,70.0f,-50.0f);
  364.         Structure[Index].SmokePoint[3] = Get3D(30.0f,70.0f,-50.0f);
  365.     }
  366.  
  367.     //stastavi mesto2
  368.     if (ModelIndex == Index_Structure_Mesto2)
  369.     {
  370.         Structure[Index].Life = 400;
  371.         Structure[Index].NumSmokePoints = 3;
  372.         Structure[Index].SmokePoint[0] = Get3D(50.0f,70.0f,50.0f);
  373.         Structure[Index].SmokePoint[1] = Get3D(50.0f,70.0f,-50.0f);
  374.         Structure[Index].SmokePoint[2] = Get3D(-50.0f,70.0f,-50.0f);
  375.     }
  376.  
  377.     //stastavi mesto3
  378.     if (ModelIndex == Index_Structure_Mesto3)
  379.     {
  380.         Structure[Index].Life = 350;
  381.         Structure[Index].NumSmokePoints = 2;
  382.         Structure[Index].SmokePoint[0] = Get3D(0.0f,70.0f,50.0f);
  383.         Structure[Index].SmokePoint[1] = Get3D(0.0f,65.0f,-50.0f);
  384.     }
  385.  
  386.     //stastavi mesto4
  387.     if (ModelIndex == Index_Structure_Mesto4)
  388.     {
  389.         Structure[Index].Life = 500;
  390.         Structure[Index].NumSmokePoints = 4;
  391.         Structure[Index].SmokePoint[0] = Get3D(30.0f,70.0f,50.0f);
  392.         Structure[Index].SmokePoint[1] = Get3D(-30.0f,70.0f,50.0f);
  393.         Structure[Index].SmokePoint[2] = Get3D(-30.0f,70.0f,-50.0f);
  394.         Structure[Index].SmokePoint[3] = Get3D(30.0f,70.0f,-50.0f);
  395.     }
  396.  
  397.     //nastavi stromy a billboard
  398.     if (ModelIndex == Index_Structure_BillBoard ||
  399.         ModelIndex == Index_Structure_Strom1 ||
  400.         ModelIndex == Index_Structure_Strom2 ||
  401.         ModelIndex == Index_Structure_Strom3 ||
  402.         ModelIndex == Index_Structure_Strom4 ||
  403.         ModelIndex == Index_Structure_Palma1 ||
  404.         ModelIndex == Index_Structure_Palma2)
  405.     {
  406.         Structure[Index].Life = 30000;
  407.         Structure[Index].NumSmokePoints = 0;
  408.     }
  409.  
  410.     //------------
  411.     //Mody
  412.     //------------
  413.  
  414.     //primary target
  415.     if (Mode == 0)
  416.     {
  417.         Structure[Index].Target = true;
  418.         Structure[Index].Friendly = false;
  419.     }
  420.  
  421.     //neutral
  422.     if (Mode == 1)
  423.     {
  424.         Structure[Index].Target = false;
  425.         Structure[Index].Friendly = false;
  426.     }
  427.  
  428.     //priatelsky
  429.     if (Mode == 2)
  430.     {
  431.         Structure[Index].Target = false;
  432.         Structure[Index].Friendly = true;
  433.     }
  434.  
  435.     //znicene
  436.     if (Mode == 3)
  437.     {
  438.         Structure[Index].Destroyed = true;
  439.         Structure[Index].Normal = false;
  440.         Structure[Index].Target = false;
  441.         Structure[Index].Friendly = false;
  442.         Structure[Index].ActiveTime = 48000.0f;
  443.     }
  444. }
  445.  
  446. //znici budovu
  447. //------------------------------------------------------------------
  448. void LEVEL::DestroyStructure(int Index)
  449. {
  450.     Structure[Index].Destroyed = true;
  451.     Structure[Index].Normal = false;
  452.     Structure[Index].Target = false;
  453.     Structure[Index].Friendly = false;
  454.     Structure[Index].ActiveTime = 48000.0f;
  455. }
  456.  
  457.  
  458. //priprava na spustenie hry
  459. //------------------------------------------------------------------
  460. void LEVEL::StartGame(int Level)
  461. {
  462.  
  463.     DestroyLevel();      
  464.     SpitFire.Reset();   
  465.     Score.Reset();        
  466.     LevelIndex = Level;
  467.     Menu.LoadBriefring(Level);
  468.  
  469. }
  470.  
  471. //  znicenie - na konci celej hry
  472. //------------------------------------------------------------------
  473. void LEVEL::Destroy()
  474. {
  475.  
  476.     //
  477.     //Krajina
  478.     Krajina.CleanUp();
  479.  
  480. }
  481.  
  482. //reset na konci hry
  483. //------------------------------------------------------------------
  484. void LEVEL::DestroyLevel()
  485. {
  486.  
  487.     int i;
  488.  
  489.     //
  490.     //Level
  491.     StageTime = 0.0f;
  492.  
  493.     //
  494.     //Zasobniky casov
  495.     TimeBuffer1 = 0.0f;
  496.     TimeBuffer2 = 0.0f;
  497.     TimeBuffer3 = 0.0f;
  498.     TimeBuffer4 = 0.0f;
  499.     TimeBuffer5 = 0.0f;
  500.  
  501.     //
  502.     //Messerschmitt
  503.     for (i=0;i<Max_MesserSchmitt;i++)
  504.     {
  505.         MesserSchmitt[i].Reset();
  506.     }
  507.  
  508.     //
  509.     //Volkers
  510.     for (i=0;i<Max_Volkers;i++)
  511.     {
  512.         Volker[i].Reset();
  513.     }
  514.  
  515.     //
  516.     //Bombardery
  517.     for (i=0;i<Max_Bombarders;i++)
  518.     {
  519.         Bombarder[i].Reset();
  520.     }
  521.  
  522.     //
  523.     //Structures
  524.     for (i=0;i<Max_Structures;i++)
  525.     {
  526.         Structure[i].Reset();
  527.     }
  528.  
  529.     //
  530.     //Truck
  531.     for (i=0;i<Max_Trucks;i++)
  532.     {
  533.         Truck[i].Reset();
  534.     }
  535.  
  536. }
  537.  
  538. //zastav vsetky zvuky
  539. //------------------------------------------------------------------
  540. void LEVEL::StopAllSounds()
  541. {
  542.     int i;
  543.  
  544.     //
  545.     //MesserSchmitt
  546.     for (i=0;i<Max_MesserSchmitt;i++)
  547.     {
  548.         MesserSchmitt[i].StopSound();
  549.     }
  550.  
  551.     //
  552.     //Volkers
  553.     for (i=0;i<Max_Volkers;i++)
  554.     {
  555.         Volker[i].StopSound();
  556.     }
  557.  
  558.     //
  559.     //Bombardery
  560.     for (i=0;i<Max_Bombarders;i++)
  561.     {
  562.         Bombarder[i].StopSound();
  563.     }
  564.  
  565.     //
  566.     //SpitFire
  567.     SpitFire.StopSound();
  568. }
  569.  
  570. //obnovi vsetko
  571. //------------------------------------------------------------------
  572. void LEVEL::Refresh()
  573. {
  574.     int i;
  575.     
  576.     //zapni hmlu
  577.     Engine.SetFog(true);
  578.  
  579.     //
  580.     //Krajina
  581.     //----------
  582.     Krajina.Render();
  583.  
  584.     //
  585.     //Messerschmitt
  586.     //--------------
  587.     for (i=0;i<Max_MesserSchmitt;i++)
  588.     {
  589.         MesserSchmitt[i].Refresh();
  590.     }
  591.  
  592.     //
  593.     //Volker
  594.     //--------------
  595.     for (i=0;i<Max_Volkers;i++)
  596.     {
  597.         Volker[i].Refresh();
  598.     }
  599.  
  600.     //Bombarderi
  601.     //---------------
  602.     for (i=0;i<Max_Bombarders;i++)
  603.     {
  604.         Bombarder[i].Refresh();
  605.     }
  606.  
  607.     //Structures
  608.     //-------------
  609.     for (i=0;i<Max_Structures;i++)
  610.     {
  611.         Structure[i].Refresh();
  612.     }
  613.  
  614.     //Truck
  615.     //-------------
  616.     for (i=0;i<Max_Trucks;i++)
  617.     {
  618.         Truck[i].Refresh();
  619.     }
  620.  
  621.     //vypni hmlu
  622.     Engine.SetFog(false);
  623.  
  624. }
  625.  
  626.  
  627. //pridavanie levelov
  628. //-----------------------------------------------------------------
  629. void LEVEL::ProccesLevel()
  630. {
  631.         
  632.     switch (LevelIndex)
  633.     {
  634.  
  635.     //----------
  636.     //Battle
  637.     //---------
  638.     case 0:
  639.  
  640.         //Structures
  641.         //---------
  642.         AddDesertBasic();
  643.  
  644.         //Vehicles
  645.         //----------
  646.         AddMesserSchmittQuick(0,110,0,Get3D(0.0f,600.0f,5300.0f),Get3D(0.0f,0.0f,0.0f));
  647.         AddMesserSchmittQuick(1,110,0,Get3D(4500.0f,600.0f,-4300.0f),Get3D(0.0f,0.0f,0.0f));
  648.         AddMesserSchmittQuick(2,110,1,Get3D(4000.0f,600.0f,3000.0f),Get3D(0.0f,0.0f,0.0f));
  649.         AddVolkerQuick(3,150,Get3D(3000.0f,600.0f,7300.0f),Get3D(0.0f,0.0f,0.0f));
  650.         AddVolkerQuick(4,150,Get3D(-4500.0f,600.0f,-8300.0f),Get3D(0.0f,0.0f,0.0f));
  651.  
  652.         //configuracia
  653.         //--------------
  654.         MaxTime = StageTime;
  655.         if(StageTime == 0.0f)
  656.         {
  657.             SpitFire.Pos = Get3D(0.0f,400.0f,-4000.0f);
  658.             SpitFire.Bombs = 5;
  659.             SpitFire.ModelMode = 2;
  660.  
  661.             Krajina.Mode = 1;
  662.         }
  663.  
  664.         //Skript
  665.         //----------
  666.         
  667.     break;
  668.  
  669.     //---------
  670.     //Level1
  671.     //---------
  672.     case 1:
  673.     
  674.         //Structures
  675.         //----------
  676.         AddCountryBasic();
  677.         
  678.         //configuracia
  679.         //--------------
  680.         if(StageTime == 0.0f)
  681.         {
  682.  
  683.             MaxTime = 300.0f;
  684.  
  685.             SpitFire.Pos = Get3D(0.0f,500.0f,-4000.0f);
  686.             SpitFire.Bombs = 5;
  687.             SpitFire.ModelMode = 1;
  688.  
  689.             Krajina.Mode = 0;
  690.         }
  691.  
  692.         //Skript
  693.         //----------
  694.         //mission completed
  695.         if (SpitFire.Pos.X > -7000.0f && SpitFire.Pos.X < -6000.0f  &&
  696.             SpitFire.Pos.Z >  4000.0f && SpitFire.Pos.Z <  5000.0f  &&
  697.             StageTime > 73.0f)
  698.         {
  699.             SpitFire.MissionCompleted();
  700.         }
  701.  
  702.         if (StageTime > 3.0f && StageTime < 4.0f)
  703.         {
  704.             SpitFire.DrawMessage("Welcome in Plane Arcade!",
  705.                                  "Vφtßm t∞ ve h°e Plane Arcade",3.0f);        
  706.         }
  707.  
  708.         if (StageTime > 8.0f && StageTime < 9.0f)
  709.         {
  710.             SpitFire.DrawMessage("This is a training mission",
  711.                                  "Tohle je v²ukovß mise",3.0f);        
  712.         }
  713.  
  714.         if (StageTime > 13.0f && StageTime < 14.0f)
  715.         {
  716.             SpitFire.DrawMessage("Take your mouse to the right hand",
  717.                                  "Popadni myÜ pravou rukou",3.0f);        
  718.         }
  719.  
  720.         if (StageTime > 18.0f && StageTime < 19.0f)
  721.         {
  722.             SpitFire.DrawMessage("Left hand leave on the keybord",
  723.                                  "Levou ruku polo₧ na klßvesnici",3.0f);        
  724.         }
  725.  
  726.         if (StageTime > 23.0f && StageTime < 24.0f)
  727.         {
  728.             SpitFire.DrawMessage("Using arrows you can change point of wiew",
  729.                                  "èipkami m∙₧eÜ m∞nit pohled kamery",3.0f);        
  730.         }
  731.  
  732.         if (StageTime > 28.0f && StageTime < 29.0f)
  733.         {
  734.             SpitFire.DrawMessage("Ctrl,Shift are used for control speed of the plane",
  735.                                  "Klßvesami CTRL a SHIFT lze m∞nit otßΦky motoru",3.0f);        
  736.         }
  737.  
  738.         if (StageTime > 33.0f && StageTime < 34.0f)
  739.         {
  740.             SpitFire.DrawMessage("At the right corner there is a revmeter",
  741.                                  "V pravo dole je otßΦkom∞r ",3.0f);        
  742.         }
  743.  
  744.         if (StageTime > 38.0f && StageTime < 39.0f)
  745.         {
  746.             SpitFire.DrawMessage("and also a number showing number of bombs",
  747.                                  "Je tam i Φφslo kterΘ udßva poΦet bomb",3.0f);        
  748.         }
  749.  
  750.         if (StageTime > 43.0f && StageTime < 44.0f)
  751.         {
  752.             SpitFire.DrawMessage("For now only five bombs",
  753.                                  "Nynφ mßÜ 5 bomb",3.0f);        
  754.         }
  755.  
  756.         if (StageTime > 48.0f && StageTime < 49.0f)
  757.         {
  758.             SpitFire.DrawMessage("Drop the bomb with right click",
  759.                                  "ShodφÜ je stisknutφm pravΘho tlaΦφtka myÜi",3.0f);        
  760.         }
  761.  
  762.         if (StageTime > 53.0f && StageTime < 54.0f)
  763.         {
  764.             SpitFire.DrawMessage("Machinegun is left click",
  765.                                  "JeÜte si vyzkouÜej kulomet - levΘ tlaΦφtko myÜi",3.0f);        
  766.         }
  767.  
  768.         if (StageTime > 58.0f && StageTime < 59.0f)
  769.         {
  770.             SpitFire.DrawMessage("If you forgot what is your goal press the ESC key",
  771.                                  "Kdy₧ zapomeneÜ tv∙j ·kol stiskni Escape",3.0f);        
  772.         }
  773.  
  774.         if (StageTime > 63.0f && StageTime < 64.0f)
  775.         { 
  776.             SpitFire.DrawMessage("So here is the order: Fly back to the base!",
  777.                                  "Tv∙j prvnφ rozkaz: Dole¥ na zßkladnu!",3.0f);        
  778.         }
  779.  
  780.         if (StageTime > 68.0f && StageTime < 69.0f)
  781.         { 
  782.             SpitFire.DrawMessage("On the radar the base is idicated with green",
  783.                                  "Na radaru je oznaΦena zelen²m symbolem",3.0f);        
  784.         }
  785.  
  786.         if (StageTime > 73.0f && StageTime < 74.0f)
  787.         { 
  788.             SpitFire.DrawMessage("Back to the base it's order!",
  789.                                  "Jestli₧e nesplnφÜ ·lohu, mise bude ne·sp∞Ünß",3.0f);        
  790.         }
  791.  
  792.         if (StageTime > 100.0f && StageTime < 101.0f)
  793.         { 
  794.             SpitFire.DrawMessage("Back to the base it's order!",
  795.                                  "Dole¥ k zßkladn∞! To je rozkaz!",3.0f);        
  796.         }
  797.  
  798.         if (StageTime > 110.0f && StageTime < 111.0f)
  799.         { 
  800.             SpitFire.DrawMessage("Go Go Go!",
  801.                                  "Pohyb, pohyb, pohyb!",3.0f);        
  802.         }
  803.  
  804.     break;
  805.  
  806.     //---------
  807.     //Level2
  808.     //---------
  809.     case 2:
  810.     
  811.         //Structures
  812.         //----------
  813.         AddCountryBasic();
  814.  
  815.         Structure[136].Target = true;
  816.         Structure[137].Target = true;
  817.         
  818.         //vehicles
  819.         //-----------
  820.         AddMesserSchmitt(0,100,0,Get3D(-4000.0f,600.0f,-7000.0f),Get3D(0.0f,0.0f,0.0f),12.0f);
  821.         AddMesserSchmitt(1,100,0,Get3D(-4500.0f,600.0f,-7000.0f),Get3D(0.0f,0.0f,0.0f),12.0f);
  822.     
  823.         
  824.         //configuracia
  825.         //--------------
  826.         if(StageTime == 0.0f)
  827.         {
  828.             MaxTime = 300.0f;
  829.  
  830.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  831.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  832.             SpitFire.Bombs = 5;
  833.             SpitFire.ModelMode = 1;
  834.  
  835.             Krajina.Mode = 0;
  836.         }
  837.  
  838.         //Skript
  839.         //----------
  840.  
  841.         //message
  842.         if(StageTime > 12.0f && StageTime < 13.0f) 
  843.         {
  844.             SpitFire.DrawMessage("Incoming enemy fighters! Destroy them all!",
  845.                                  "Mßte spoleΦnost, zniΦte ty stφhaΦky",4.0f);
  846.         }
  847.  
  848.         //dobra praca
  849.         if(Level.MesserSchmitt[0].Life <= 0 &&
  850.            Level.MesserSchmitt[1].Life <= 0 && 
  851.            Structure[136].Life <= 0 && 
  852.            Structure[137].Life <= 0)
  853.         {
  854.             if (TimeBuffer1 == 0.0f)
  855.             {
  856.                 TimeBuffer1 = StageTime;
  857.                 SpitFire.DrawMessage("Good work, fly back to the air base!",
  858.                                      "Dobrß prßce, vra¥ se na zßkladnu",7.0f);
  859.             }
  860.         }
  861.  
  862.     
  863.         //mission failed
  864.         if (StageTime > MaxTime)
  865.         {
  866.             SpitFire.MissionFailed();
  867.         }
  868.  
  869.         //mission completed
  870.         if (Structure[136].Life <= 0 && Structure[137].Life <= 0 &&
  871.             MesserSchmitt[0].Life <= 0 && MesserSchmitt[1].Life <= 0 &&
  872.             StageTime > 20.0f &&
  873.             SpitFire.Pos.X > -7000.0f && SpitFire.Pos.X < -6000.0f  &&
  874.             SpitFire.Pos.Z >  4000.0f && SpitFire.Pos.Z <  5000.0f) 
  875.         {
  876.             SpitFire.MissionCompleted();
  877.         }
  878.  
  879.  
  880.  
  881.     break;
  882.  
  883.     //---------
  884.     //Level3
  885.     //---------
  886.     case 3:
  887.     
  888.         //Structures
  889.         //----------
  890.         AddCountryBasic();
  891.  
  892.         DestroyStructure(136);
  893.         DestroyStructure(137);
  894.         
  895.         //vehicles
  896.         //-----------
  897.         AddMesserSchmitt(0,130,0,Get3D(-8064.0f,600.0f,-5849.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  898.         AddMesserSchmitt(1,130,0,Get3D(-6386.0f,600.0f,-4124.0f),Get3D(0.0f,0.0f,0.0f),5.0f);
  899.         AddMesserSchmitt(2,100,1,Get3D(-3319.0f,600.0f,-5000.0f),Get3D(0.0f,-157.0f,0.0f),10.0f);
  900.     
  901.         AddBombarder(0,400,0,Get3D(-5826.0f,0.0f,-6281.0f),Get3D(-6723.0f,750.0f,-7175.0f),Get3D(0.0f,3.14f,0.0f),0.0f);
  902.             
  903.         //configuracia
  904.         //--------------
  905.         if(StageTime == 0.0f)
  906.         {
  907.             MaxTime = 300.0f;
  908.  
  909.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  910.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  911.             SpitFire.Bombs = 0;
  912.             SpitFire.ModelMode = 1;
  913.  
  914.             Krajina.Mode = 0;
  915.         }
  916.  
  917.         //Skript
  918.         //----------
  919.  
  920.         //mission completed
  921.         if (Bombarder[0].Life <= 0 && 
  922.             MesserSchmitt[0].Life <= 0 &&
  923.             MesserSchmitt[1].Life <= 0 &&
  924.             MesserSchmitt[2].Life <= 0 && StageTime > 20.0f )
  925.         {
  926.             SpitFire.MissionCompleted();
  927.         }
  928.  
  929.         //mission failed
  930.         if (StageTime > MaxTime)
  931.         {
  932.             SpitFire.MissionFailed();
  933.         }
  934.  
  935.  
  936.     break;
  937.  
  938.     //---------
  939.     //Level4
  940.     //---------
  941.     case 4:
  942.     
  943.         //Structures
  944.         //----------
  945.         AddCountryBasic();
  946.  
  947.         DestroyStructure(136);
  948.         DestroyStructure(137);
  949.         
  950.         //vehicles
  951.         //-----------
  952.         AddStructure( 200,13,0,Get3D(3099.6f,0.0f,-2128.6f),Get3D(0.0f,-18.6f,0.0f));
  953.         AddStructure( 201,12,0,Get3D(3248.4f,0.0f,-2175.9f),Get3D(0.0f,-18.6f,0.0f));
  954.         AddStructure( 202,12,0,Get3D(3398.9f,0.0f,-2210.5f),Get3D(0.0f,-18.6f,0.0f));
  955.         AddStructure( 203,11,0,Get3D(2916.6f,0.0f,-2077.0f),Get3D(0.0f,-18.5f,0.0f));
  956.             
  957.         AddTruck(0,0,Get3D(3592.5f,0.0f,-2306.4f),Get3D(0.0f,-0.8f,0.0f));
  958.             
  959.         //configuracia
  960.         //--------------
  961.         if(StageTime == 0.0f)
  962.         {
  963.             MaxTime = 420.0f;
  964.  
  965.             SpitFire.Pos = Get3D(-6884.0f,250.0f,6302.0f);
  966.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  967.             SpitFire.Bombs = 0;
  968.             SpitFire.ModelMode = 1;
  969.             SpitFire.BulletActive = false;
  970.  
  971.             Krajina.Mode = 0;
  972.         }
  973.  
  974.         //Skript
  975.         //----------
  976.         
  977.         //zlom misie
  978.         if (TimeBuffer1 == 0.0f &&
  979.             SpitFire.Pos.X >  1651 && SpitFire.Pos.X <  5023 &&
  980.             SpitFire.Pos.Z > -3646 && SpitFire.Pos.Z < -898)
  981.         {
  982.             TimeBuffer1 = StageTime;
  983.  
  984.             SpitFire.DrawMessage("Fly back to the base! You have company",
  985.                                  "Rychle se vra¥ na zßkladnu, mßÜ spoleΦnost!",8.0f);
  986.  
  987.             AddMesserSchmitt(0,50,1,Get3D(4443.0f,600.0f,-3873.0f),Get3D(0.0f,-0.8f,0.0f),StageTime);
  988.             AddMesserSchmitt(1,50,1,Get3D(4998.0f,600.0f,-3725.0f),Get3D(0.0f,-0.8f,0.0f),StageTime);
  989.             AddMesserSchmitt(2,50,1,Get3D(5511.0f,600.0f,-3377.0f),Get3D(0.0f,-0.8f,0.0f),StageTime);
  990.  
  991.         }
  992.  
  993.         //dr₧ sa pri zemy
  994.         if (StageTime > 3.0f && StageTime < 4.0f)
  995.         {
  996.             SpitFire.DrawMessage("Keep close to the ground!",
  997.                                  "Dr₧ se p°i zemi aby t∞ neodhalil radar!",4.0f);
  998.         }
  999.         //naboje nemas
  1000.         if (Input.MouseLeftDown == true && StageTime > 8.0f && StageTime < 20.0f)
  1001.         {
  1002.             SpitFire.DrawMessage("You have spying equipment instead of armaments",
  1003.                                  "NemßÜ nßboje, proto₧e mßÜ Üpionß₧nφ vybavenφ!",4.0f);
  1004.         }
  1005.  
  1006.         //mission completed
  1007.         if (SpitFire.Pos.X > -7000.0f && SpitFire.Pos.X < -6000.0f  &&
  1008.             SpitFire.Pos.Z >  4000.0f && SpitFire.Pos.Z <  5000.0f  &&
  1009.             TimeBuffer1 != 0.0f )
  1010.         {
  1011.             SpitFire.MissionCompleted();
  1012.         }
  1013.  
  1014.         //mission failed
  1015.         if (StageTime > MaxTime || (TimeBuffer1 == 0.0f && SpitFire.Pos.Y > 400.0f))
  1016.         {
  1017.             SpitFire.MissionFailed();
  1018.         }
  1019.  
  1020.  
  1021.     break;
  1022.  
  1023.     //---------
  1024.     //Level5
  1025.     //---------
  1026.     case 5:
  1027.     
  1028.         //Structures
  1029.         //----------
  1030.         AddCountryBasic();
  1031.  
  1032.         DestroyStructure(136);
  1033.         DestroyStructure(137);
  1034.         
  1035.         AddStructure( 200,13,0,Get3D(5638.4f,0.0f,2129.0f),Get3D(0.0f,-13.2f,0.0f));
  1036.         AddStructure( 201,11,0,Get3D(5365.3f,0.0f,1960.3f),Get3D(0.0f,-12.9f,0.0f));
  1037.         AddStructure( 202,13,0,Get3D(5053.2f,0.0f,1838.6f),Get3D(0.0f,-13.1f,0.0f));
  1038.         AddStructure( 203,10,0,Get3D(4897.9f,0.0f,1741.9f),Get3D(0.0f,-13.1f,0.0f));
  1039.         AddStructure( 204,12,0,Get3D(4590.6f,0.0f,1546.1f),Get3D(0.0f,-13.1f,0.0f));
  1040.         AddStructure( 205,12,0,Get3D(4436.1f,0.0f,1463.8f),Get3D(0.0f,-12.9f,0.0f));
  1041.         AddStructure( 206,12,0,Get3D(3903.2f,0.0f,1323.7f),Get3D(0.0f,-12.7f,0.0f));
  1042.         AddStructure( 207,13,0,Get3D(3586.6f,0.0f,1245.4f),Get3D(0.0f,-12.7f,0.0f));
  1043.         AddStructure( 208,11,0,Get3D(3404.3f,0.0f,1223.8f),Get3D(0.0f,-12.7f,0.0f));
  1044.         AddStructure( 209,11,0,Get3D(3262.2f,0.0f,1223.9f),Get3D(0.0f,-12.7f,0.0f));
  1045.         AddStructure( 210,11,0,Get3D(3068.5f,0.0f,1220.7f),Get3D(0.0f,-12.7f,0.0f));
  1046.         
  1047.         AddTruck( 3,0,Get3D(5203.7f,0.0f,1907.0f),Get3D(0.0f,-12.9f,0.0f));
  1048.         AddTruck( 4,0,Get3D(3730.6f,0.0f,1285.5f),Get3D(0.0f,-12.7f,0.0f));
  1049.         AddTruck( 5,0,Get3D(4756.1f,0.0f,1642.8f),Get3D(0.0f,-13.1f,0.0f));
  1050.         AddTruck( 6,0,Get3D(5509.4f,0.0f,2025.3f),Get3D(0.0f,-13.2f,0.0f));
  1051.  
  1052.         AddTruck( 0,1,Get3D(2161.4f,0.0f,1506.0f),Get3D(0.0f,-12.1f,0.0f));
  1053.         AddTruck( 1,1,Get3D(2047.5f,0.0f,1304.3f),Get3D(0.0f,-13.2f,0.0f));
  1054.         AddTruck( 2,1,Get3D(2280.6f,0.0f,1265.1f),Get3D(0.0f,-11.3f,0.0f));
  1055.     
  1056.         //configuracia
  1057.         //--------------
  1058.         MaxTime = StageTime;
  1059.  
  1060.         if(StageTime == 0.0f)
  1061.         {
  1062.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1063.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1064.             SpitFire.Bombs = 25;
  1065.             SpitFire.ModelMode = 1;
  1066.             SpitFire.BulletActive = true;
  1067.  
  1068.             Krajina.Mode = 0;
  1069.         }
  1070.         
  1071.         //---------------
  1072.         // Skript
  1073.         //---------------
  1074.         
  1075.         //dobra praca + zvasty okolo toho
  1076.         if(Structure[200].Life <= 0 && Structure[201].Life <= 0 &&
  1077.            Structure[202].Life <= 0 && Structure[203].Life <= 0 &&
  1078.            Structure[204].Life <= 0 && Structure[205].Life <= 0 &&
  1079.            Structure[206].Life <= 0 && Structure[207].Life <= 0 &&
  1080.            Structure[208].Life <= 0 && Structure[209].Life <= 0 &&
  1081.            Structure[210].Life <= 0 && 
  1082.            Truck[3].Life <= 0 && Truck[4].Life <= 0 &&
  1083.            Truck[5].Life <= 0 && Truck[6].Life <= 0 && TimeBuffer1 == 0.0f)
  1084.         {
  1085.             TimeBuffer1 = StageTime;
  1086.  
  1087.             AddMesserSchmitt(0,150,1,Get3D(11500.0f,600.0f,4000.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1088.             AddMesserSchmitt(1,150,1,Get3D(11500.0f,300.0f,4300.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1089.             AddMesserSchmitt(2,150,1,Get3D(11500.0f,600.0f,4600.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1090.         }
  1091.  
  1092.         if (TimeBuffer1 != 0.0f && StageTime >= TimeBuffer1 && StageTime < TimeBuffer1 + 2.0f)
  1093.         {
  1094.             SpitFire.DrawMessage("Good work",
  1095.                                  "Dobrß prßce!",4.0f);
  1096.         }
  1097.         if (TimeBuffer1 != 0.0f && StageTime >= TimeBuffer1+8.0f && StageTime < TimeBuffer1 + 9.0f)
  1098.         {
  1099.             SpitFire.DrawMessage("Be careful. Incoming squadron of enemy fighters",
  1100.                                  "Mßme informace ₧e k ostrovu se blφ₧φ stφhaΦky",4.0f);
  1101.         }
  1102.         if (TimeBuffer1 != 0.0f && StageTime >= TimeBuffer1+16.0f && StageTime < TimeBuffer1 + 17.0f)
  1103.         {
  1104.             SpitFire.DrawMessage("Hold position, destroy them!",
  1105.                                  "Setrvejte na svΘ pozici, a zniΦte stφhaΦky",4.0f);
  1106.         }
  1107.         
  1108.         //mission failed
  1109.         if (StageTime > MaxTime)
  1110.         {
  1111.             SpitFire.MissionFailed();
  1112.         }
  1113.  
  1114.         //mission completed
  1115.         if (TimeBuffer1 != 0.0f &&
  1116.             MesserSchmitt[0].Life <= 0 &&
  1117.             MesserSchmitt[1].Life <= 0 &&
  1118.             MesserSchmitt[2].Life <= 0)
  1119.         {
  1120.             SpitFire.MissionCompleted();
  1121.         }
  1122.  
  1123.     break;
  1124.  
  1125.     //---------
  1126.     //Level6
  1127.     //---------
  1128.     case 6:
  1129.     
  1130.         //Structures
  1131.         //----------
  1132.         AddDesertBasic();
  1133.  
  1134.         
  1135.         //vehicles
  1136.         //-----------
  1137.         AddVolker(0,120,Get3D(-7500.0f,600.0f,-4000.0f),Get3D(0.0f,1.57f,0.0f),0.0f);
  1138.         AddVolker(1,120,Get3D(-7500.0f,600.0f,-2000.0f),Get3D(0.0f,1.57f,0.0f),60.0f);
  1139.         AddVolker(2,120,Get3D(-7500.0f,600.0f,0.0f),Get3D(0.0f,1.57f,0.0f),60.0f);
  1140.         AddVolker(3,120,Get3D(-7500.0f,600.0f,2000.0f),Get3D(0.0f,1.57f,0.0f),0.0f);
  1141.         AddVolker(4,120,Get3D(-7500.0f,600.0f,6000.0f),Get3D(0.0f,1.57f,0.0f),0.0f);
  1142.         //AddVolker(3,120,Get3D(-7500.0f,600.0f,2000.0f),Get3D(0.0f,1.57f,0.0f),100.0f);
  1143.  
  1144.         AddMesserSchmitt(0,150,1,Get3D(7500.0f,600.0f,-5000.0f),Get3D(0.0f,-1.57f,0.0f),0.0f);
  1145.         AddMesserSchmitt(1,150,1,Get3D(7500.0f,600.0f,-3000.0f),Get3D(0.0f,-1.57f,0.0f),0.0f);
  1146.         AddMesserSchmitt(2,150,1,Get3D(7500.0f,600.0f,0.0f),Get3D(0.0f,-1.57f,0.0f),0.0f);
  1147.         AddMesserSchmitt(3,150,1,Get3D(7500.0f,600.0f,-2500.0f),Get3D(0.0f,-1.57f,0.0f),60.0f);
  1148.         AddMesserSchmitt(4,150,1,Get3D(7500.0f,600.0f,-7000.0f),Get3D(0.0f,-1.57f,0.0f),60.0f);
  1149.         AddMesserSchmitt(2,150,1,Get3D(7500.0f,600.0f,0.0f),Get3D(0.0f,-1.57f,0.0f),100.0f);
  1150.     
  1151.         //configuracia
  1152.         //--------------
  1153.         if(StageTime == 0.0f)
  1154.         {
  1155.             MaxTime = 180.0f;
  1156.  
  1157.             SpitFire.Pos = Get3D(0.0f,450.0f,-8702.0f);
  1158.             SpitFire.Rot = Get3D(0.0f,0.0f,0.0f);
  1159.             SpitFire.Bombs = 0;
  1160.             SpitFire.ModelMode = 1;
  1161.             SpitFire.BulletActive = true;
  1162.  
  1163.             Krajina.Mode = 1;
  1164.         }
  1165.         
  1166.         //---------------
  1167.         // Skript
  1168.         //---------------
  1169.         
  1170.         if (StageTime > 150.0f && StageTime < 152.0f)
  1171.         {
  1172.             SpitFire.DrawMessage("You have only 60 seconds left!",
  1173.                                  "MßÜ poslednφch 60 sekund!",4.0f);
  1174.         }
  1175.  
  1176.         //mission failed
  1177.         if (StageTime > MaxTime)
  1178.         {
  1179.             SpitFire.MissionFailed();
  1180.         }
  1181.  
  1182.         //mission completed
  1183.         if (MesserSchmitt[0].Life <= 0 && 
  1184.             MesserSchmitt[1].Life <= 0 &&
  1185.             MesserSchmitt[2].Life <= 0 &&
  1186.             MesserSchmitt[3].Life <= 0 &&
  1187.             MesserSchmitt[4].Life <= 0 &&
  1188.             Volker[0].Life <= 0 &&
  1189.             Volker[1].Life <= 0 &&
  1190.             Volker[2].Life <= 0 &&
  1191.             Volker[3].Life <= 0 &&
  1192.             Volker[4].Life <= 0 && StageTime > 90.0f)
  1193.         {
  1194.             SpitFire.MissionCompleted();
  1195.         }
  1196.  
  1197.  
  1198.     break;
  1199.  
  1200.     //---------
  1201.     //Level7
  1202.     //---------
  1203.     case 7:
  1204.     
  1205.         //Structures
  1206.         //----------
  1207.         AddCountryBasic();
  1208.  
  1209.         DestroyStructure(136);
  1210.         DestroyStructure(137);
  1211.         
  1212.         //vehicles
  1213.         //-----------
  1214.         AddTruck(0 ,0,Get3D(-5677.9f,0.0f,-750.7f),Get3D(0.0f,-19.6f,0.0f));
  1215.         AddTruck(1 ,0,Get3D(-5572.9f,0.0f,-780.2f),Get3D(0.0f,-19.6f,0.0f));
  1216.         AddTruck(2 ,0,Get3D(-7007.2f,0.0f,-5005.7f),Get3D(0.0f,-18.2f,0.0f));
  1217.         AddTruck(3 ,0,Get3D(-6894.5f,0.0f,-5001.8f),Get3D(0.0f,-17.8f,0.0f));
  1218.         AddTruck(4 ,0,Get3D(-1464.5f,0.0f,-3898.6f),Get3D(0.0f,-19.7f,0.0f));
  1219.         AddTruck(5 ,0,Get3D(-1414.4f,0.0f,-4071.0f),Get3D(0.0f,-19.3f,0.0f));
  1220.         AddTruck(6 ,0,Get3D(-1582.1f,0.0f,-4070.8f),Get3D(0.0f,-20.4f,0.0f));
  1221.         AddTruck(7 ,0,Get3D(4070.6f,0.0f,-3836.5f),Get3D(0.0f,-19.1f,0.0f));
  1222.         AddTruck(8 ,0,Get3D(4171.0f,0.0f,-3922.6f),Get3D(0.0f,-19.7f,0.0f));
  1223.         AddTruck(9 ,0,Get3D(3237.3f,0.0f,-1814.9f),Get3D(0.0f,-19.4f,0.0f));
  1224.         AddTruck(10 ,0,Get3D(4597.7f,0.0f,2260.9f),Get3D(0.0f,-19.7f,0.0f));
  1225.         AddTruck(11 ,0,Get3D(4680.1f,0.0f,2138.7f),Get3D(0.0f,-20.4f,0.0f));
  1226.         AddTruck(12 ,0,Get3D(-2960.9f,0.0f,3172.9f),Get3D(0.0f,-18.1f,0.0f));
  1227.         AddTruck(13 ,0,Get3D(-3530.1f,0.0f,4016.0f),Get3D(0.0f,-19.4f,0.0f));
  1228.         AddTruck(14 ,0,Get3D(-4009.4f,0.0f,4520.9f),Get3D(0.0f,-18.4f,0.0f));
  1229.         AddTruck(15 ,0,Get3D(-2769.8f,0.0f,7238.0f),Get3D(0.0f,-19.5f,0.0f));
  1230.         
  1231.         //configuracia
  1232.         //--------------
  1233.         if(StageTime == 0.0f)
  1234.         {
  1235.             MaxTime = 180.0f;
  1236.  
  1237.             SpitFire.Pos = Get3D(-6884.0f,450.0f,5702.0f);
  1238.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1239.             SpitFire.Bombs = 12;
  1240.             SpitFire.ModelMode = 1;
  1241.             SpitFire.BulletActive = true;
  1242.  
  1243.             Krajina.Mode = 0;
  1244.         }
  1245.         
  1246.         //---------------
  1247.         // Skript
  1248.         //---------------
  1249.         //mission completed
  1250.         if (Truck[0].Life <= 0 &&
  1251.             Truck[1].Life <= 0 && Truck[2].Life <= 0 &&
  1252.             Truck[3].Life <= 0 && Truck[4].Life <= 0 &&
  1253.             Truck[5].Life <= 0 && Truck[6].Life <= 0 &&
  1254.             Truck[7].Life <= 0 && Truck[8].Life <= 0 &&
  1255.             Truck[9].Life <= 0 && Truck[10].Life <= 0 &&
  1256.             Truck[11].Life <= 0 && Truck[12].Life <= 0 &&
  1257.             Truck[13].Life <= 0 && Truck[14].Life <= 0 &&
  1258.             Truck[15].Life <= 0 )
  1259.         {
  1260.             SpitFire.MissionCompleted();
  1261.         }
  1262.  
  1263.         if (StageTime > 150.0f && StageTime < 152.0f)
  1264.         {
  1265.             SpitFire.DrawMessage("Move your arse! Time is shortening!",
  1266.                                  "Pozor! mßÜ mßlo Φasu",4.0f);
  1267.         }
  1268.  
  1269.         //mission failed
  1270.         if (StageTime > MaxTime)
  1271.         {
  1272.             SpitFire.MissionFailed();
  1273.         }
  1274.  
  1275.     break;
  1276.  
  1277.     //---------
  1278.     //Level8
  1279.     //---------
  1280.     case 8:
  1281.     
  1282.         //Structures
  1283.         //----------
  1284.         AddCountryBasic();
  1285.  
  1286.         DestroyStructure(136);
  1287.         DestroyStructure(137);
  1288.         
  1289.         //vehicles
  1290.         //-----------
  1291.  
  1292.         AddBombarder(0,400,1,Get3D(13000.0f,0.0f,13000.0f),Get3D(-4600.0f,500.0f,-4600.0f),Get3D(0.0f,0.7f,0.0f),0.0f);
  1293.         AddBombarder(1,400,1,Get3D(13300.0f,0.0f,13300.0f),Get3D(-4300.0f,600.0f,-4300.0f),Get3D(0.0f,0.7f,0.0f),0.0f);
  1294.  
  1295.         AddVolker(1,100,Get3D(4500.0f,600.0f,-4300.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1296.         AddVolker(4,100,Get3D(-4500.0f,600.0f,-8300.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1297.  
  1298.         AddTruck( 0,1,Get3D(4407.2f,0.0f,4902.6f),Get3D(0.0f,-1.0f,0.0f));
  1299.         AddTruck( 1,1,Get3D(4707.7f,0.0f,4264.9f),Get3D(0.0f,-0.5f,0.0f));
  1300.         AddTruck( 2,1,Get3D(3980.9f,0.0f,4080.8f),Get3D(0.0f,-1.5f,0.0f));
  1301.         AddTruck( 3,1,Get3D(5188.5f,0.0f,5182.8f),Get3D(0.0f,-0.3f,0.0f));
  1302.         AddTruck( 4,1,Get3D(4517.8f,0.0f,4488.6f),Get3D(0.0f,-0.6f,0.0f));
  1303.  
  1304.         //configuracia
  1305.         //--------------
  1306.         MaxTime = StageTime;
  1307.         if(StageTime == 0.0f)
  1308.         {
  1309.             SpitFire.Pos = Get3D(-6884.0f,450.0f,5702.0f);
  1310.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1311.             SpitFire.Bombs = 13;
  1312.             SpitFire.ModelMode = 1;
  1313.             SpitFire.BulletActive = true;
  1314.  
  1315.             Krajina.Mode = 0;
  1316.         }
  1317.         
  1318.         //---------------
  1319.         // Skript
  1320.         //---------------
  1321.         
  1322.         //mission failed
  1323.         if ((Bombarder[0].Pos.X > 8500.0f && Bombarder[0].Life > 0) || 
  1324.             (Bombarder[1].Pos.X > 8500.0f && Bombarder[1].Life > 0))
  1325.         {
  1326.             SpitFire.MissionFailed();
  1327.         }
  1328.  
  1329.         //mission completed
  1330.         if (Bombarder[0].Life <= 0 && Bombarder[1].Life <= 0)
  1331.         {
  1332.             SpitFire.MissionCompleted();
  1333.         }
  1334.  
  1335.         //rada1
  1336.         if (StageTime > 20.0f && StageTime < 22.0f)
  1337.         {
  1338.             SpitFire.DrawMessage("Concentrate on bombers!",
  1339.                                  "Soust°e∩ se hlavn∞ na bombardΘry",4.0f);
  1340.         }
  1341.  
  1342.         //rada2
  1343.         if (StageTime > 27.0f && StageTime < 29.0f)
  1344.         {
  1345.             SpitFire.DrawMessage("They won`t leave the island!",
  1346.                                  "Nesmφ opustit ostrov",4.0f);
  1347.         }
  1348.  
  1349.     break;
  1350.  
  1351.     //---------
  1352.     //Level9
  1353.     //---------
  1354.     case 9:
  1355.     
  1356.         //Structures
  1357.         //----------
  1358.         AddCountryBasic();
  1359.  
  1360.         DestroyStructure(136);
  1361.         DestroyStructure(137);
  1362.  
  1363.         Structure[0].Target = true;
  1364.         Structure[1].Target = true;
  1365.         Structure[2].Target = true;
  1366.         Structure[3].Target = true;
  1367.         Structure[4].Target = true;
  1368.  
  1369.         AddStructure( 200,11,0,Get3D(-940.8f,0.0f,306.3f),Get3D(0.0f,-19.4f,0.0f));
  1370.         AddStructure( 201,11,0,Get3D(-940.8f,0.0f,427.4f),Get3D(0.0f,-19.4f,0.0f));
  1371.         AddStructure( 202,11,0,Get3D(-940.8f,0.0f,548.1f),Get3D(0.0f,-19.4f,0.0f));
  1372.         AddStructure( 203,13,0,Get3D(-1047.0f,0.0f,-373.9f),Get3D(0.0f,-19.5f,0.0f));
  1373.         AddStructure( 204,13,0,Get3D(-999.8f,0.0f,-536.1f),Get3D(0.0f,-19.5f,0.0f));
  1374.         AddStructure( 205,13,0,Get3D(-1377.4f,0.0f,-201.8f),Get3D(0.0f,-21.0f,0.0f));
  1375.  
  1376.         //vehicles
  1377.         //-----------
  1378.         AddMesserSchmitt(0,150,1,Get3D(4000.0f,600.0f,2000.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1379.         AddMesserSchmitt(1,150,1,Get3D(4500.0f,600.0f,1000.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1380.     
  1381.         AddVolker(0,150,Get3D(4000.0f,600.0f,0.0f),Get3D(0.0f,0.0f,0.0f),60.0f);
  1382.         AddVolker(1,150,Get3D(4500.0f,600.0f,2500.0f),Get3D(0.0f,0.0f,0.0f),60.0f);
  1383.         AddVolker(2,150,Get3D(8000.0f,600.0f,-1500.0f),Get3D(0.0f,0.0f,0.0f),100.0f);
  1384.         AddVolker(3,150,Get3D(8000.0f,600.0f,500.0f),Get3D(0.0f,0.0f,0.0f),100.0f);
  1385.         
  1386.         AddTruck(0,0,Get3D(-1912.0f,0.0f,-138.7f),Get3D(0.0f,-11.5f,0.0f));
  1387.         AddTruck(1,0,Get3D(-1672.0f,0.0f,553.2f),Get3D(0.0f,-12.7f,0.0f));
  1388.         AddTruck(2,0,Get3D(-1337.7f,0.0f,696.1f),Get3D(0.0f,-14.0f,0.0f));
  1389.         AddTruck(3,0,Get3D(-754.2f,0.0f,318.4f),Get3D(0.0f,-13.6f,0.0f));
  1390.         AddTruck(4,0,Get3D(-641.2f,0.0f,-443.4f),Get3D(0.0f,-18.2f,0.0f));
  1391.         AddTruck(5,0,Get3D(-1197.3f,0.0f,-760.4f),Get3D(0.0f,-19.8f,0.0f));
  1392.  
  1393.         //configuracia
  1394.         //--------------
  1395.         
  1396.         if(StageTime == 0.0f)
  1397.         {
  1398.             MaxTime = 300.0f;
  1399.  
  1400.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1401.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1402.             SpitFire.Bombs = 30;
  1403.             SpitFire.ModelMode = 1;
  1404.  
  1405.             Krajina.Mode = 0;
  1406.         }
  1407.  
  1408.         //Skript
  1409.         //----------
  1410.         
  1411.         //mission failed
  1412.         if (StageTime > MaxTime)
  1413.         {
  1414.             SpitFire.MissionFailed();
  1415.         }
  1416.  
  1417.         //mission completed
  1418.         if (Structure[0].Life <= 0 && 
  1419.             Structure[1].Life <= 0 &&
  1420.             Structure[2].Life <= 0 &&
  1421.             Structure[3].Life <= 0 &&
  1422.             Structure[4].Life <= 0 &&
  1423.             Structure[0].Life <= 0 &&
  1424.             Structure[200].Life <= 0 &&
  1425.             Structure[201].Life <= 0 &&
  1426.             Structure[202].Life <= 0 &&
  1427.             Structure[203].Life <= 0 &&
  1428.             Structure[204].Life <= 0 &&
  1429.             Structure[205].Life <= 0 &&
  1430.             Volker[0].Life <= 0 &&
  1431.             Volker[1].Life <= 0 &&
  1432.             Volker[2].Life <= 0 &&
  1433.             Volker[3].Life <= 0 &&
  1434.             MesserSchmitt[0].Life <= 0 &&
  1435.             MesserSchmitt[1].Life <= 0 &&
  1436.             Truck[0].Life <= 0 && Truck[1].Life <= 0 &&
  1437.             Truck[2].Life <= 0 && Truck[3].Life <= 0 &&
  1438.             Truck[4].Life <= 0 && Truck[5].Life <= 0) 
  1439.         {
  1440.             SpitFire.MissionCompleted();
  1441.         }
  1442.  
  1443.  
  1444.  
  1445.     break;
  1446.  
  1447.     //---------
  1448.     //Level10
  1449.     //---------
  1450.     case 10:
  1451.     
  1452.         //Structures
  1453.         //----------
  1454.         AddCountryBasic();
  1455.  
  1456.         DestroyStructure(136);
  1457.         DestroyStructure(137);
  1458.         DestroyStructure(0);
  1459.         DestroyStructure(1);
  1460.         DestroyStructure(2);
  1461.         DestroyStructure(3);
  1462.         DestroyStructure(4);
  1463.  
  1464.         Structure[18].Target = true;
  1465.         
  1466.         //vehicles
  1467.         //-----------
  1468.  
  1469.         AddStructure( 200,10,0,Get3D(-3630.2f,0.0f,-4149.2f),Get3D(0.0f,-15.8f,0.0f));
  1470.         AddStructure( 201,10,0,Get3D(-3318.0f,0.0f,-4132.8f),Get3D(0.0f,-15.7f,0.0f));
  1471.         AddStructure( 202,11,0,Get3D(-3036.1f,0.0f,-4132.5f),Get3D(0.0f,-15.4f,0.0f));
  1472.         AddStructure( 203,12,0,Get3D(4877.7f,0.0f,-5640.8f),Get3D(0.0f,-25.0f,0.0f));
  1473.         AddStructure( 204,11,0,Get3D(4911.8f,0.0f,-5758.6f),Get3D(0.0f,-25.0f,0.0f));
  1474.         AddStructure( 205,4,0,Get3D(4999.7f,0.0f,-5617.7f),Get3D(0.0f,-22.6f,0.0f));
  1475.         AddStructure( 206,4,0,Get3D(5015.8f,0.0f,-5753.5f),Get3D(0.0f,-22.6f,0.0f));
  1476.         AddStructure( 207,4,0,Get3D(5084.4f,0.0f,-5720.7f),Get3D(0.0f,-22.6f,0.0f));
  1477.         AddStructure( 208,14,0,Get3D(2833.0f,0.0f,738.4f),Get3D(0.0f,-21.4f,0.0f));
  1478.         AddStructure( 209,13,0,Get3D(-366.7f,0.0f,5693.5f),Get3D(0.0f,-19.7f,0.0f));
  1479.         AddStructure( 210,13,0,Get3D(-276.7f,0.0f,5861.9f),Get3D(0.0f,-20.2f,0.0f));
  1480.     
  1481.         AddTruck( 0,0,Get3D(-2830.1f,0.0f,-4198.4f),Get3D(0.0f,-16.9f,0.0f));
  1482.         AddTruck( 1,0,Get3D(-3824.7f,0.0f,-4180.2f),Get3D(0.0f,-17.5f,0.0f));
  1483.         AddTruck( 2,0,Get3D(4912.8f,0.0f,-5470.3f),Get3D(0.0f,-26.2f,0.0f));
  1484.         AddTruck( 3,0,Get3D(4643.7f,0.0f,-5740.9f),Get3D(0.0f,-25.0f,0.0f));
  1485.         AddTruck( 4,0,Get3D(2684.6f,0.0f,649.2f),Get3D(0.0f,-21.7f,0.0f));
  1486.  
  1487.         //configuracia
  1488.         //--------------
  1489.         MaxTime = StageTime;
  1490.         if(StageTime == 0.0f)
  1491.         {
  1492.  
  1493.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1494.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1495.             SpitFire.Bombs = 25;
  1496.             SpitFire.ModelMode = 1;
  1497.  
  1498.             Krajina.Mode = 0;
  1499.         }
  1500.  
  1501.         //Skript
  1502.         //----------
  1503.                 
  1504.         //pozicia 1
  1505.         if(SpitFire.Pos.X > -4347 && SpitFire.Pos.X < -2443 &&
  1506.            SpitFire.Pos.Z > -5271 && SpitFire.Pos.Z < -3508 )
  1507.         {
  1508.             if (TimeBuffer1 == 0.0f)
  1509.             {
  1510.                 TimeBuffer1 = StageTime;
  1511.                 AddMesserSchmitt(0,150,1,Get3D(-3853.0f,600.0f,-6768.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1512.             }
  1513.         }
  1514.  
  1515.         //pozicia 2
  1516.         if(SpitFire.Pos.X > 4035 && SpitFire.Pos.X < 5809 &&
  1517.            SpitFire.Pos.Z > -6090 && SpitFire.Pos.Z < -4886 )
  1518.         {
  1519.             if (TimeBuffer2 == 0.0f)
  1520.             {
  1521.                 TimeBuffer2 = StageTime;
  1522.                 AddVolker(0,150,Get3D(7392.0f,700.0f,-6042.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1523.                 AddVolker(1,150,Get3D(7374.0f,700.0f,-5807.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1524.             
  1525.             }
  1526.         }
  1527.  
  1528.         //pozicia 3
  1529.         if(SpitFire.Pos.X > 2136 && SpitFire.Pos.X < 3558 &&
  1530.            SpitFire.Pos.Z > -541 && SpitFire.Pos.Z < 1576 )
  1531.         {
  1532.             if (TimeBuffer3 == 0.0f)
  1533.             {
  1534.                 TimeBuffer3 = StageTime;
  1535.                 AddMesserSchmitt(1,150,1,Get3D(2595.0f,700.0f,4036.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1536.                 AddMesserSchmitt(2,150,1,Get3D(2263.0f,700.0f,4288.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1537.                 AddMesserSchmitt(3,150,1,Get3D(2804.0f,700.0f,4380.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1538.             }
  1539.         }
  1540.  
  1541.         //pozicia 4
  1542.         if(SpitFire.Pos.X > -2059 && SpitFire.Pos.X < 2035 &&
  1543.            SpitFire.Pos.Z > 4591 && SpitFire.Pos.Z < 7253 )
  1544.         {
  1545.             if (TimeBuffer4 == 0.0f)
  1546.             {
  1547.                 TimeBuffer4 = StageTime;
  1548.                 AddVolker(2,100,Get3D(-257.0f,600.0f,8913.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1549.             }
  1550.         }
  1551.  
  1552.         //mission completed
  1553.         if (MesserSchmitt[0].Life <= 0 && MesserSchmitt[1].Life <= 0 &&
  1554.             MesserSchmitt[2].Life <= 0 && MesserSchmitt[3].Life <= 0 &&
  1555.             Volker[0].Life <= 0 && Volker[1].Life <= 0 &&
  1556.             Volker[2].Life <= 0 && 
  1557.             Truck[0].Life <= 0 &&
  1558.             Truck[1].Life <= 0 &&
  1559.             Truck[2].Life <= 0 &&
  1560.             Structure[200].Life <= 0 &&
  1561.             Structure[201].Life <= 0 &&
  1562.             Structure[202].Life <= 0 &&
  1563.             Structure[203].Life <= 0 &&
  1564.             Structure[204].Life <= 0 &&
  1565.             Structure[205].Life <= 0 &&
  1566.             Structure[206].Life <= 0 &&
  1567.             Structure[207].Life <= 0 &&
  1568.             Structure[208].Life <= 0 &&
  1569.             Structure[209].Life <= 0 &&
  1570.             Structure[210].Life <= 0 )
  1571.         {
  1572.             SpitFire.MissionCompleted();
  1573.         }
  1574.  
  1575.         
  1576.  
  1577.  
  1578.     break;
  1579.  
  1580.     //---------
  1581.     //Level11
  1582.     //---------
  1583.     case 11:
  1584.     
  1585.         //Structures
  1586.         //----------
  1587.         AddCountryBasic();
  1588.  
  1589.         DestroyStructure(136);
  1590.         DestroyStructure(137);
  1591.         DestroyStructure(0);
  1592.         DestroyStructure(1);
  1593.         DestroyStructure(2);
  1594.         DestroyStructure(3);
  1595.         DestroyStructure(4);
  1596.  
  1597.         //vehicles
  1598.         //-----------
  1599.         AddVolker(0,150,Get3D(10175.0f,400.0f,-8023.9f),Get3D(0.0f,-2.4f,0.0f),0.0f);
  1600.         AddVolker(1,150,Get3D(10121.8f,400.0f,-7448.8f),Get3D(0.0f,-2.4f,0.0f),0.0f);
  1601.         AddVolker(2,150,Get3D(10344.7f,400.0f,-7783.9f),Get3D(0.0f,-2.4f,0.0f),0.0f);
  1602.         AddVolker(3,150,Get3D(9853.4f,400.0f,-10107.7f),Get3D(0.0f,-1.1f,0.0f),0.0f);
  1603.  
  1604.         //configuracia
  1605.         //--------------
  1606.         MaxTime = StageTime;
  1607.         if(StageTime == 0.0f)
  1608.         {
  1609.             SpitFire.Pos = Get3D(8904.0f,350.0f,-9592.0f);
  1610.             SpitFire.Rot = Get3D(0.0f,-0.8f,0.0f);
  1611.             SpitFire.Bombs = 2;
  1612.             SpitFire.ModelMode = 3;
  1613.  
  1614.             Krajina.Mode = 0;
  1615.         }
  1616.  
  1617.         //Skript
  1618.         //----------
  1619.             
  1620.         //mission completed
  1621.         if (SpitFire.Pos.X > -7000.0f && SpitFire.Pos.X < -6000.0f  &&
  1622.             SpitFire.Pos.Z >  4000.0f && SpitFire.Pos.Z <  5000.0f  &&
  1623.             Volker[0].Life <= 0.0f &&
  1624.             Volker[1].Life <= 0.0f &&
  1625.             Volker[2].Life <= 0.0f &&
  1626.             Volker[3].Life <= 0.0f )
  1627.         {
  1628.             SpitFire.MissionCompleted();
  1629.         }
  1630.  
  1631.     break;
  1632.  
  1633.     //---------
  1634.     //Level12
  1635.     //---------
  1636.     case 12:
  1637.     
  1638.         //Structures
  1639.         //----------
  1640.         AddCountryBasic();
  1641.  
  1642.         DestroyStructure(136);
  1643.         DestroyStructure(137);
  1644.         DestroyStructure(0);
  1645.         DestroyStructure(1);
  1646.         DestroyStructure(2);
  1647.         DestroyStructure(3);
  1648.         DestroyStructure(4);
  1649.  
  1650.         Structure[130].Friendly = true;
  1651.         Structure[131].Friendly = true;
  1652.         Structure[133].Friendly = true;
  1653.         Structure[126].Friendly = true;
  1654.         Structure[134].Friendly = true;
  1655.         Structure[132].Friendly = true;
  1656.         Structure[129].Friendly = true;
  1657.         Structure[128].Friendly = true;
  1658.         Structure[127].Friendly = true;
  1659.         Structure[124].Friendly = true;
  1660.         Structure[125].Friendly = true;
  1661.  
  1662.         //vehicles
  1663.         //-----------
  1664.         AddTruck(0,0,Get3D(-5072.0f,0.0f,-4118.9f),Get3D(0.0f,-16.3f,0.0f));
  1665.         AddTruck(1,0,Get3D(-4922.5f,0.0f,-4202.4f),Get3D(0.0f,-17.0f,0.0f));
  1666.         AddTruck(2,0,Get3D(-4774.4f,0.0f,-4253.3f),Get3D(0.0f,-17.0f,0.0f));
  1667.         AddTruck(3,0,Get3D(-5097.6f,0.0f,-3411.4f),Get3D(0.0f,-16.3f,0.0f));
  1668.         AddTruck(4,0,Get3D(-5352.0f,0.0f,-4077.9f),Get3D(0.0f,-17.4f,0.0f));
  1669.     
  1670.         //configuracia
  1671.         //--------------
  1672.         MaxTime = StageTime;
  1673.         if(StageTime == 0.0f)
  1674.         {
  1675.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1676.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1677.             SpitFire.Bombs = 10;
  1678.             SpitFire.ModelMode = 1;
  1679.  
  1680.             Krajina.Mode = 0;
  1681.         }
  1682.  
  1683.         //Skript
  1684.         //----------
  1685.                 
  1686.         //pozicia 1
  1687.         if(SpitFire.Pos.Z < 0.0f)
  1688.         {
  1689.             if (TimeBuffer1 == 0.0f)
  1690.             {
  1691.                 TimeBuffer1 = StageTime;
  1692.  
  1693.                 AddMesserSchmitt(0,150,1,Get3D(-6368.2f,600.0f,-12209.7f),Get3D(0.0f,-18.3f,0.0f),StageTime);
  1694.                 AddMesserSchmitt(1,150,1,Get3D(-3816.0f,600.0f,-12200.9f),Get3D(0.0f,-19.2f,0.0f),StageTime);
  1695.                 AddMesserSchmitt(2,150,1,Get3D(-1859.2f,600.0f,-10082.3f),Get3D(0.0f,-19.8f,0.0f),StageTime);
  1696.                 AddVolker(0,150,Get3D(458.4f,600.0f,-11082.7f),Get3D(0.0f,-20.0f,0.0f),StageTime);
  1697.                 AddVolker(1,150,Get3D(-4877.7f,600.0f,-12319.0f),Get3D(0.0f,-20.0f,0.0f),StageTime);
  1698.             }
  1699.         }
  1700.  
  1701.         //mission failed
  1702.         if (Structure[130].Life <= 0 ||
  1703.             Structure[131].Life <= 0 ||
  1704.             Structure[133].Life <= 0 ||
  1705.             Structure[126].Life <= 0 ||
  1706.             Structure[134].Life <= 0 ||
  1707.             Structure[132].Life <= 0 ||
  1708.             Structure[129].Life <= 0 ||
  1709.             Structure[128].Life <= 0 ||
  1710.             Structure[127].Life <= 0 ||
  1711.             Structure[124].Life <= 0 ||
  1712.             Structure[125].Life <= 0)
  1713.         {
  1714.             SpitFire.MissionFailed();
  1715.         }
  1716.  
  1717.  
  1718.         //mission completed
  1719.         if (Truck[0].Life <= 0.0f &&
  1720.             Truck[1].Life <= 0.0f &&
  1721.             Truck[2].Life <= 0.0f &&
  1722.             Truck[3].Life <= 0.0f &&
  1723.             Truck[4].Life <= 0.0f &&
  1724.             MesserSchmitt[0].Life <= 0.0f &&
  1725.             MesserSchmitt[1].Life <= 0.0f &&
  1726.             MesserSchmitt[2].Life <= 0.0f &&
  1727.             Volker[0].Life <= 0.0f &&
  1728.             Volker[1].Life <= 0.0f && TimeBuffer1 != 0.0f)
  1729.         {
  1730.             SpitFire.MissionCompleted();
  1731.         }
  1732.  
  1733.     break;
  1734.  
  1735.     //---------
  1736.     //Level13
  1737.     //---------
  1738.     case 13:
  1739.     
  1740.         //Structures
  1741.         //----------
  1742.         AddCountryBasic();
  1743.  
  1744.         DestroyStructure(136);
  1745.         DestroyStructure(137);
  1746.         DestroyStructure(0);
  1747.         DestroyStructure(1);
  1748.         DestroyStructure(2);
  1749.         DestroyStructure(3);
  1750.         DestroyStructure(4);
  1751.  
  1752.         //vehicles
  1753.         //-----------
  1754.  
  1755.         AddBombarder(0,400,1,Get3D(4079.0f,0.0f,-7978.0f),Get3D(5279.0f,500.0f,-12235.0f-6500.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1756.         AddBombarder(1,400,1,Get3D(4532.0f,0.0f,-2956.0f),Get3D(4302.0f,500.0f,-5889.0f-6500.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1757.         AddBombarder(2,400,1,Get3D(6423.0f,0.0f,4766.0f),Get3D(6764.0f,500.0f,1082.0f-6500.0f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1758.     
  1759.         AddTruck(0,0,Get3D(4737.0f,0.0f,-6816.0f),Get3D(0.0f,-18.1f,0.0f));
  1760.         AddTruck(1,0,Get3D(4828.3f,0.0f,-6682.3f),Get3D(0.0f,-18.4f,0.0f));
  1761.         AddTruck(2,0,Get3D(4777.1f,0.0f,1660.3f),Get3D(0.0f,-17.8f,0.0f));
  1762.         AddTruck(3,0,Get3D(4940.1f,0.0f,1761.6f),Get3D(0.0f,-18.1f,0.0f));
  1763.         AddTruck(4,0,Get3D(4924.1f,0.0f,1374.9f),Get3D(0.0f,-18.1f,0.0f));
  1764.         
  1765.         //configuracia
  1766.         //--------------
  1767.         MaxTime = StageTime;
  1768.         if(StageTime == 0.0f)
  1769.         {
  1770.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1771.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1772.             SpitFire.Bombs = 5;
  1773.             SpitFire.ModelMode = 1;
  1774.  
  1775.             Krajina.Mode = 0;
  1776.         }
  1777.  
  1778.         //Skript
  1779.         //----------
  1780.                 
  1781.         //pozicia 1
  1782.         if(SpitFire.Pos.X > Bombarder[0].Pos.X-2000.0f && SpitFire.Pos.X < Bombarder[0].Pos.X+2000.0f &&
  1783.            SpitFire.Pos.Z > Bombarder[0].Pos.Z-2000.0f && SpitFire.Pos.Z < Bombarder[0].Pos.Z+2000.0f )
  1784.         {
  1785.             if (TimeBuffer1 == 0.0f)
  1786.             {
  1787.                 TimeBuffer1 = StageTime;
  1788.                 AddMesserSchmitt(0,150,1,Get3D(7939.0f,600.0f,-8700.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1789.                 AddMesserSchmitt(1,150,1,Get3D(8353.0f,600.0f,-8353.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1790.                 AddMesserSchmitt(2,150,1,Get3D(8462.0f,600.0f,-7893.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1791.             }
  1792.         }
  1793.  
  1794.         //pozicia 2
  1795.         if(SpitFire.Pos.X > Bombarder[1].Pos.X-2000.0f && SpitFire.Pos.X < Bombarder[1].Pos.X+2000.0f &&
  1796.            SpitFire.Pos.Z > Bombarder[1].Pos.Z-2000.0f && SpitFire.Pos.Z < Bombarder[1].Pos.Z+2000.0f )
  1797.         {
  1798.             if (TimeBuffer2 == 0.0f)
  1799.             {
  1800.                 TimeBuffer2 = StageTime;
  1801.                 AddVolker(0,150,Get3D(8523.0f,600.0f,-3231.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1802.                 AddVolker(1,150,Get3D(8504.0f,600.0f,-3685.0f),Get3D(0.0f,-1.57f,0.0f),StageTime);
  1803.             
  1804.             }
  1805.         }
  1806.  
  1807.         //pozicia 3
  1808.         if(SpitFire.Pos.X > Bombarder[2].Pos.X-2000.0f && SpitFire.Pos.X < Bombarder[2].Pos.X+2000.0f &&
  1809.            SpitFire.Pos.Z > Bombarder[2].Pos.Z-2000.0f && SpitFire.Pos.Z < Bombarder[2].Pos.Z+2000.0f )
  1810.         {
  1811.             if (TimeBuffer3 == 0.0f)
  1812.             {
  1813.                 TimeBuffer3 = StageTime;
  1814.                 AddMesserSchmitt(3,150,0,Get3D(6216.0f,600.0f,8385.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1815.                 AddVolker(2,150,Get3D(6878.0f,600.0f,8169.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1816.                 AddVolker(3,150,Get3D(5677.0f,600.0f,8753.0f),Get3D(0.0f,-3.14f,0.0f),StageTime);
  1817.             
  1818.             }
  1819.         }
  1820.  
  1821.     
  1822.         //mission completed
  1823.         if (TimeBuffer1 != 0.0f && TimeBuffer2 != 0.0f &&
  1824.             TimeBuffer3 != 0.0f && Bombarder[1].Life <= 0 &&
  1825.             Bombarder[0].Life <= 0 && Bombarder[2].Life <= 0 &&
  1826.             MesserSchmitt[0].Life <= 0 && MesserSchmitt[1].Life <= 0 &&
  1827.             MesserSchmitt[2].Life <= 0 && MesserSchmitt[3].Life <= 0 &&
  1828.             Volker[0].Life <= 0 && Volker[1].Life <= 0 &&
  1829.             Volker[2].Life <= 0 && Volker[3].Life <= 0)
  1830.         {
  1831.             SpitFire.MissionCompleted();
  1832.         }
  1833.  
  1834.         
  1835.  
  1836.  
  1837.     break;
  1838.  
  1839.     //---------
  1840.     //Level14
  1841.     //---------
  1842.     case 14:
  1843.     
  1844.         //Structures
  1845.         //----------
  1846.         AddCountryBasic();
  1847.  
  1848.         DestroyStructure(136);
  1849.         DestroyStructure(137);
  1850.         DestroyStructure(0);
  1851.         DestroyStructure(1);
  1852.         DestroyStructure(2);
  1853.         DestroyStructure(3);
  1854.         DestroyStructure(4);
  1855.  
  1856.         AddTruck( 0,0,Get3D(-5096.9f,0.0f,-3388.9f),Get3D(0.0f,-19.2f,0.0f));
  1857.         AddTruck( 1,0,Get3D(-5212.6f,0.0f,-3078.9f),Get3D(0.0f,-19.0f,0.0f));
  1858.         AddTruck( 2,0,Get3D(-5287.7f,0.0f,-2704.5f),Get3D(0.0f,-18.6f,0.0f));
  1859.         AddTruck( 3,0,Get3D(-5493.1f,0.0f,-4638.5f),Get3D(0.0f,-19.7f,0.0f));
  1860.         AddTruck( 4,0,Get3D(-5345.5f,0.0f,-4641.5f),Get3D(0.0f,-19.7f,0.0f));
  1861.         
  1862.         //vehicles
  1863.         //-----------
  1864.         AddMesserSchmitt(0,150,1,Get3D(-4044.9f,600.0f,-9456.4f),Get3D(0.0f,-18.7f,0.0f),0.0f);
  1865.         AddMesserSchmitt(1,150,1,Get3D(-3272.3f,600.0f,-8858.7f),Get3D(0.0f,-18.7f,0.0f),5.0f);
  1866.         AddMesserSchmitt(2,150,1,Get3D(-3737.1f,600.0f,-9110.1f),Get3D(0.0f,-18.7f,0.0f),10.0f);
  1867.         AddVolker(0,150,Get3D(-2785.4f,600.0f,-8762.1f),Get3D(0.0f,-18.7f,0.0f),0.0f);
  1868.         AddVolker(1,150,Get3D(2348.8f,600.0f,-3798.8f),Get3D(0.0f,-21.0f,0.0f),5.0f);
  1869.         AddVolker(2,150,Get3D(1492.8f,600.0f,-2727.1f),Get3D(0.0f,-19.6f,0.0f),10.0f);
  1870.     
  1871.         AddBombarder(0,550,1,Get3D(-4869.3f,0.0f,-4426.7f),Get3D(-4148.4f,600.0f,-8779.2f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1872.         AddBombarder(1,550,1,Get3D(-3820.8f,0.0f,-5224.2f),Get3D(-3107.7f,600.0f,-9281.8f),Get3D(0.0f,0.0f,0.0f),0.0f);
  1873.             
  1874.         //configuracia
  1875.         //--------------
  1876.         if(StageTime == 0.0f)
  1877.         {
  1878.             MaxTime = 300.0f;
  1879.  
  1880.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1881.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1882.             SpitFire.Bombs = 7;
  1883.             SpitFire.ModelMode = 1;
  1884.  
  1885.             Krajina.Mode = 0;
  1886.         }
  1887.  
  1888.         //Skript
  1889.         //----------
  1890.  
  1891.         //mission completed
  1892.         if (Bombarder[0].Life <= 0 && 
  1893.             Bombarder[1].Life <= 0 &&
  1894.             MesserSchmitt[0].Life <= 0 &&
  1895.             MesserSchmitt[1].Life <= 0 &&
  1896.             MesserSchmitt[2].Life <= 0 &&
  1897.             Volker[0].Life <= 0 &&
  1898.             Volker[1].Life <= 0 &&
  1899.             Volker[2].Life <= 0 &&
  1900.             Truck[0].Life <= 0 &&
  1901.             Truck[1].Life <= 0 &&
  1902.             Truck[2].Life <= 0 &&
  1903.             Truck[3].Life <= 0 &&
  1904.             Truck[4].Life <= 0 &&
  1905.             StageTime > 20.0f )
  1906.         {
  1907.             SpitFire.MissionCompleted();
  1908.         }
  1909.  
  1910.         //mission failed
  1911.         if (0)
  1912.         {
  1913.             SpitFire.MissionFailed();
  1914.         }
  1915.  
  1916.  
  1917.     break;
  1918.  
  1919.     //---------
  1920.     //Level15
  1921.     //---------
  1922.     case 15:
  1923.     
  1924.         //Structures
  1925.         //----------
  1926.         AddCountryBasic();
  1927.  
  1928.         DestroyStructure(136);
  1929.         DestroyStructure(137);
  1930.         DestroyStructure(0);
  1931.         DestroyStructure(1);
  1932.         DestroyStructure(2);
  1933.         DestroyStructure(3);
  1934.         DestroyStructure(4);
  1935.         DestroyStructure(18);
  1936.             
  1937.         //vehicles
  1938.         //-----------
  1939.  
  1940.         //configuracia
  1941.         //--------------
  1942.         MaxTime = StageTime;
  1943.         if(StageTime == 0.0f)
  1944.         {
  1945.  
  1946.             SpitFire.Pos = Get3D(-6884.0f,408.0f,5302.0f);
  1947.             SpitFire.Rot = Get3D(0.4f,3.14f,0.0f);
  1948.             SpitFire.Bombs = 25;
  1949.             SpitFire.ModelMode = 1;
  1950.  
  1951.             Krajina.Mode = 0;
  1952.         }
  1953.  
  1954.         //Skript
  1955.         //----------
  1956.                 
  1957.         //pozicia 1
  1958.         if(SpitFire.Pos.Z < -2500)
  1959.         {
  1960.             if (TimeBuffer1 == 0.0f)
  1961.             {
  1962.                 TimeBuffer1 = StageTime;
  1963.                 AddMesserSchmitt(0,150,1,Get3D(-200.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1964.                 AddMesserSchmitt(1,150,1,Get3D(-2300.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1965.                 AddMesserSchmitt(2,150,1,Get3D(-2600.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1966.                 AddMesserSchmitt(3,150,1,Get3D(-2900.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1967.                 AddMesserSchmitt(4,150,1,Get3D(-3200.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1968.                 AddVolker(0,150,Get3D(200.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1969.                 AddVolker(1,150,Get3D(2300.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1970.                 AddVolker(2,150,Get3D(2600.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1971.                 AddVolker(3,150,Get3D(2900.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1972.                 AddVolker(4,150,Get3D(3200.0f,600.0f,-6068.0f),Get3D(0.0f,0.0f,0.0f),StageTime);
  1973.             }
  1974.         }
  1975.  
  1976.         //znicte este
  1977.         if (TimeBuffer1 > 2.0f && StageTime >= TimeBuffer1 && StageTime <= TimeBuffer1+1.0f)
  1978.         {
  1979.             SpitFire.DrawMessage("Unexpected enemy squadron. Eliminate that fighters",
  1980.                                  "Tady zßkladna! ZniΦte jeÜt∞ t∞ch pßr letadel!",4.0f);
  1981.         }
  1982.  
  1983.         //teraz rychle domov
  1984.         if (Volker[0].Life <= 0 && Volker[1].Life <= 0 &&
  1985.             Volker[2].Life <= 0 && Volker[3].Life <= 0 &&
  1986.             Volker[4].Life <= 0 &&
  1987.             MesserSchmitt[0].Life <= 0 && MesserSchmitt[1].Life <= 0 &&
  1988.             MesserSchmitt[2].Life <= 0 && MesserSchmitt[3].Life <= 0 &&
  1989.             MesserSchmitt[4].Life <= 0 )
  1990.         {
  1991.             if (TimeBuffer2 == 0.0f)
  1992.             {
  1993.                 TimeBuffer2 = StageTime;
  1994.             }
  1995.         }
  1996.  
  1997.         if (TimeBuffer2 > 2.0f && StageTime >= TimeBuffer2 && StageTime <= TimeBuffer2+1.0f)
  1998.         {
  1999.             SpitFire.DrawMessage("Our freedom is there!",
  2000.                                  "Vysn∞nß svoboda je zde",4.0f);
  2001.         }
  2002.  
  2003.         if (TimeBuffer2 > 2.0f && StageTime >= TimeBuffer2+6.0f && StageTime <= TimeBuffer2+7.0f)
  2004.         {
  2005.             SpitFire.DrawMessage("Fly south direction to your home",
  2006.                                  "Rychle ji₧nφm sm∞rem k domovu",4.0f);
  2007.         }
  2008.  
  2009.         //mission completed
  2010.         if (SpitFire.Pos.Z < -7500.0f && TimeBuffer1 != 0.0f &&
  2011.             Volker[0].Life <= 0 && Volker[1].Life <= 0 &&
  2012.             Volker[2].Life <= 0 && Volker[3].Life <= 0 &&
  2013.             Volker[4].Life <= 0 &&
  2014.             MesserSchmitt[0].Life <= 0 && MesserSchmitt[1].Life <= 0 &&
  2015.             MesserSchmitt[2].Life <= 0 && MesserSchmitt[3].Life <= 0 &&
  2016.             MesserSchmitt[4].Life <= 0 )
  2017.         {
  2018.             SpitFire.MissionCompleted();
  2019.         }
  2020.  
  2021.         
  2022.  
  2023.  
  2024.     break;
  2025.  
  2026.     }
  2027.  
  2028.     //Casovac
  2029.     //---------
  2030.     StageTime += PowerTime(0.001f);
  2031. }
  2032.  
  2033. //
  2034. //-----------------------------------------------------------------
  2035. void LEVEL::AddCountryBasic()
  2036. {
  2037.  
  2038.     if (StageTime != 0.0f)
  2039.         return;
  2040.  
  2041.     AddStructure( 0,5,1,Get3D(-1084.8f,7.0f,57.3f),Get3D(0.0f,1.5f,0.0f));
  2042.     AddStructure( 1,6,1,Get3D(-1266.9f,0.0f,109.7f),Get3D(0.0f,3.0f,0.0f));
  2043.     AddStructure( 2,6,1,Get3D(-1257.6f,0.0f,-32.0f),Get3D(0.0f,3.0f,0.0f));
  2044.     AddStructure( 3,4,1,Get3D(-1197.2f,0.0f,-158.2f),Get3D(0.0f,3.0f,0.0f));
  2045.     AddStructure( 4,4,1,Get3D(-1177.6f,0.0f,-274.4f),Get3D(0.0f,3.0f,0.0f));
  2046.     AddStructure( 5,9,1,Get3D(-2639.7f,0.0f,915.0f),Get3D(0.0f,4.0f,0.0f));
  2047.     AddStructure( 6,15,1,Get3D(-2428.1f,0.0f,952.4f),Get3D(0.0f,4.5f,0.0f));
  2048.     AddStructure( 7,16,1,Get3D(-2300.2f,0.0f,648.8f),Get3D(0.0f,-0.1f,0.0f));
  2049.     AddStructure( 8,17,1,Get3D(-2421.1f,0.0f,693.1f),Get3D(0.0f,1.4f,0.0f));
  2050.     AddStructure( 9,17,1,Get3D(-2377.7f,0.0f,822.6f),Get3D(0.0f,1.4f,0.0f));
  2051.     AddStructure( 10,1,1,Get3D(942.5f,0.0f,-958.5f),Get3D(0.0f,2.7f,0.0f));
  2052.     AddStructure( 11,2,1,Get3D(826.5f,0.0f,-938.8f),Get3D(0.0f,2.7f,0.0f));
  2053.     AddStructure( 12,6,1,Get3D(983.5f,0.0f,-1176.1f),Get3D(0.0f,2.7f,0.0f));
  2054.     AddStructure( 13,0,1,Get3D(789.1f,0.0f,-1305.8f),Get3D(0.0f,4.3f,0.0f));
  2055.     AddStructure( 14,1,1,Get3D(725.8f,0.0f,-1035.8f),Get3D(0.0f,1.2f,0.0f));
  2056.     AddStructure( 15,2,1,Get3D(608.2f,0.0f,-1018.3f),Get3D(0.0f,1.2f,0.0f));
  2057.     AddStructure( 16,3,1,Get3D(2265.1f,0.0f,-1604.9f),Get3D(0.0f,2.5f,0.0f));
  2058.     AddStructure( 17,3,1,Get3D(2368.9f,0.0f,-1710.9f),Get3D(0.0f,2.5f,0.0f));
  2059.     AddStructure( 18,6,1,Get3D(2928.8f,0.0f,881.5f),Get3D(0.0f,2.2f,0.0f));
  2060.     AddStructure( 19,1,1,Get3D(3090.0f,0.0f,1032.3f),Get3D(0.0f,-2.5f,0.0f));
  2061.     AddStructure( 20,2,1,Get3D(3208.7f,0.0f,1117.0f),Get3D(0.0f,0.7f,0.0f));
  2062.     AddStructure( 21,9,1,Get3D(1457.6f,0.0f,2422.8f),Get3D(0.0f,0.8f,0.0f));
  2063.     AddStructure( 22,16,1,Get3D(1239.4f,0.0f,2650.5f),Get3D(0.0f,-2.5f,0.0f));
  2064.     AddStructure( 23,0,1,Get3D(1750.2f,0.0f,2238.5f),Get3D(0.0f,-0.6f,0.0f));
  2065.     AddStructure( 24,0,1,Get3D(1763.2f,0.0f,2060.9f),Get3D(0.0f,-5.3f,0.0f));
  2066.     AddStructure( 25,3,1,Get3D(2175.5f,0.0f,1905.1f),Get3D(0.0f,-5.3f,0.0f));
  2067.     AddStructure( 26,3,1,Get3D(2076.1f,0.0f,1814.9f),Get3D(0.0f,-5.3f,0.0f));
  2068.     AddStructure( 27,15,1,Get3D(1944.6f,0.0f,2148.2f),Get3D(0.0f,-5.3f,0.0f));
  2069.     AddStructure( 28,18,1,Get3D(1950.3f,0.0f,1932.1f),Get3D(0.0f,-5.3f,0.0f));
  2070.     AddStructure( 29,20,1,Get3D(2118.9f,0.0f,2010.0f),Get3D(0.0f,-2.8f,0.0f));
  2071.     AddStructure( 30,20,1,Get3D(2237.7f,0.0f,2041.1f),Get3D(0.0f,-3.7f,0.0f));
  2072.     AddStructure( 31,21,1,Get3D(2154.0f,0.0f,2115.1f),Get3D(0.0f,-4.8f,0.0f));
  2073.     AddStructure( 32,16,1,Get3D(6300.2f,0.0f,4915.7f),Get3D(0.0f,-9.7f,0.0f));
  2074.     AddStructure( 33,17,1,Get3D(6400.4f,0.0f,4806.2f),Get3D(0.0f,-9.7f,0.0f));
  2075.     AddStructure( 34,18,1,Get3D(6515.9f,0.0f,4932.1f),Get3D(0.0f,-9.7f,0.0f));
  2076.     AddStructure( 35,16,1,Get3D(6533.2f,0.0f,4698.6f),Get3D(0.0f,-12.8f,0.0f));
  2077.     AddStructure( 36,9,1,Get3D(6318.1f,0.0f,4670.2f),Get3D(0.0f,-11.2f,0.0f));
  2078.     AddStructure( 37,1,1,Get3D(5039.1f,0.0f,4092.1f),Get3D(0.0f,-11.2f,0.0f));
  2079.     AddStructure( 38,2,1,Get3D(5140.4f,0.0f,4192.6f),Get3D(0.0f,-11.2f,0.0f));
  2080.     AddStructure( 39,4,1,Get3D(5108.5f,0.0f,3943.7f),Get3D(0.0f,-11.2f,0.0f));
  2081.     AddStructure( 40,4,1,Get3D(5197.7f,0.0f,3993.4f),Get3D(0.0f,-11.2f,0.0f));
  2082.     AddStructure( 41,4,1,Get3D(5299.6f,0.0f,3993.2f),Get3D(0.0f,-11.2f,0.0f));
  2083.     AddStructure( 42,4,1,Get3D(5237.8f,0.0f,4089.1f),Get3D(0.0f,-11.2f,0.0f));
  2084.     AddStructure( 43,4,1,Get3D(5197.5f,0.0f,3824.7f),Get3D(0.0f,-11.2f,0.0f));
  2085.     AddStructure( 44,4,1,Get3D(5276.4f,0.0f,3896.5f),Get3D(0.0f,-11.2f,0.0f));
  2086.     AddStructure( 45,4,1,Get3D(5392.1f,0.0f,3886.1f),Get3D(0.0f,-11.2f,0.0f));
  2087.     AddStructure( 46,4,1,Get3D(-3389.9f,0.0f,5169.9f),Get3D(0.0f,-11.6f,0.0f));
  2088.     AddStructure( 47,4,1,Get3D(-3295.3f,0.0f,5223.5f),Get3D(0.0f,-11.6f,0.0f));
  2089.     AddStructure( 48,4,1,Get3D(-3218.8f,0.0f,5270.3f),Get3D(0.0f,-11.6f,0.0f));
  2090.     AddStructure( 49,15,1,Get3D(-3786.0f,0.0f,5072.7f),Get3D(0.0f,-10.9f,0.0f));
  2091.     AddStructure( 50,17,1,Get3D(-3502.9f,0.0f,4982.4f),Get3D(0.0f,-10.1f,0.0f));
  2092.     AddStructure( 51,0,1,Get3D(-3713.5f,0.0f,5348.5f),Get3D(0.0f,-9.6f,0.0f));
  2093.     AddStructure( 52,3,1,Get3D(-3551.4f,0.0f,5423.6f),Get3D(0.0f,-9.6f,0.0f));
  2094.     AddStructure( 53,3,1,Get3D(-3415.2f,0.0f,5478.9f),Get3D(0.0f,-9.6f,0.0f));
  2095.     AddStructure( 54,9,1,Get3D(-5007.9f,0.0f,5536.6f),Get3D(0.0f,-9.4f,0.0f));
  2096.     AddStructure( 55,16,1,Get3D(-5077.7f,0.0f,5877.3f),Get3D(0.0f,-9.4f,0.0f));
  2097.     AddStructure( 56,16,1,Get3D(-4738.0f,0.0f,5829.0f),Get3D(0.0f,-9.4f,0.0f));
  2098.     AddStructure( 57,17,1,Get3D(-4962.6f,0.0f,5806.5f),Get3D(0.0f,-7.8f,0.0f));
  2099.     AddStructure( 58,0,1,Get3D(-4707.2f,0.0f,5457.0f),Get3D(0.0f,-9.2f,0.0f));
  2100.     AddStructure( 59,3,1,Get3D(-4515.4f,0.0f,5357.6f),Get3D(0.0f,-8.8f,0.0f));
  2101.     AddStructure( 60,20,1,Get3D(-3608.7f,0.0f,4945.5f),Get3D(0.0f,-10.2f,0.0f));
  2102.     AddStructure( 61,22,1,Get3D(-3535.4f,0.0f,4864.3f),Get3D(0.0f,-12.3f,0.0f));
  2103.     AddStructure( 62,22,1,Get3D(-3411.2f,0.0f,4805.8f),Get3D(0.0f,-13.5f,0.0f));
  2104.     AddStructure( 63,22,1,Get3D(-3476.4f,0.0f,5198.0f),Get3D(0.0f,-14.5f,0.0f));
  2105.     AddStructure( 64,5,2,Get3D(-6886.3f,7.0f,4962.3f),Get3D(0.0f,-14.4f,0.0f));
  2106.     AddStructure( 65,6,2,Get3D(-7011.2f,0.0f,4684.9f),Get3D(0.0f,-15.9f,0.0f));
  2107.     AddStructure( 66,6,2,Get3D(-6964.6f,0.0f,4532.5f),Get3D(0.0f,-15.9f,0.0f));
  2108.     AddStructure( 67,6,2,Get3D(-6918.1f,0.0f,4380.2f),Get3D(0.0f,-15.9f,0.0f));
  2109.     AddStructure( 68,1,2,Get3D(-6770.3f,0.0f,5116.0f),Get3D(0.0f,-19.0f,0.0f));
  2110.     AddStructure( 69,1,2,Get3D(-6606.3f,0.0f,5089.1f),Get3D(0.0f,-19.0f,0.0f));
  2111.     AddStructure( 70,2,1,Get3D(-6760.3f,0.0f,4994.0f),Get3D(0.0f,-19.0f,0.0f));
  2112.     AddStructure( 71,4,1,Get3D(-7092.5f,0.0f,4390.7f),Get3D(0.0f,-15.9f,0.0f));
  2113.     AddStructure( 72,4,1,Get3D(-7093.7f,0.0f,4504.7f),Get3D(0.0f,-15.9f,0.0f));
  2114.     AddStructure( 73,4,1,Get3D(-7148.4f,0.0f,4614.9f),Get3D(0.0f,-15.9f,0.0f));
  2115.     AddStructure( 74,4,1,Get3D(-7231.6f,0.0f,4706.3f),Get3D(0.0f,-15.9f,0.0f));
  2116.     AddStructure( 75,4,1,Get3D(-7222.3f,0.0f,4597.2f),Get3D(0.0f,-15.9f,0.0f));
  2117.     AddStructure( 76,4,1,Get3D(-7176.7f,0.0f,4467.0f),Get3D(0.0f,-15.9f,0.0f));
  2118.     AddStructure( 77,2,1,Get3D(-6606.8f,0.0f,4959.0f),Get3D(0.0f,-15.9f,0.0f));
  2119.     AddStructure( 78,12,1,Get3D(-6719.5f,0.0f,4881.6f),Get3D(0.0f,-15.3f,0.0f));
  2120.     AddStructure( 79,12,1,Get3D(-6812.0f,0.0f,4580.8f),Get3D(0.0f,-17.0f,0.0f));
  2121.     AddStructure( 80,1,1,Get3D(-25.1f,0.0f,7212.0f),Get3D(0.0f,-16.5f,0.0f));
  2122.     AddStructure( 81,1,1,Get3D(-234.8f,0.0f,7137.4f),Get3D(0.0f,-18.0f,0.0f));
  2123.     AddStructure( 82,2,1,Get3D(-147.1f,0.0f,7241.2f),Get3D(0.0f,-18.0f,0.0f));
  2124.     AddStructure( 83,2,1,Get3D(-221.5f,0.0f,7015.4f),Get3D(0.0f,-18.0f,0.0f));
  2125.     AddStructure( 84,0,1,Get3D(436.7f,0.0f,7093.6f),Get3D(0.0f,-17.2f,0.0f));
  2126.     AddStructure( 85,0,1,Get3D(320.4f,0.0f,6983.2f),Get3D(0.0f,-17.2f,0.0f));
  2127.     AddStructure( 86,3,1,Get3D(191.3f,0.0f,6939.5f),Get3D(0.0f,-17.2f,0.0f));
  2128.     AddStructure( 87,16,1,Get3D(311.6f,0.0f,7546.3f),Get3D(0.0f,-14.7f,0.0f));
  2129.     AddStructure( 88,17,1,Get3D(217.5f,0.0f,7428.7f),Get3D(0.0f,-14.8f,0.0f));
  2130.     AddStructure( 89,3,1,Get3D(108.4f,0.0f,7499.9f),Get3D(0.0f,-14.8f,0.0f));
  2131.     AddStructure( 90,3,1,Get3D(1268.6f,0.0f,2547.0f),Get3D(0.0f,-15.0f,0.0f));
  2132.     AddStructure( 91,3,1,Get3D(1521.3f,0.0f,2527.3f),Get3D(0.0f,-18.0f,0.0f));
  2133.     AddStructure( 92,15,1,Get3D(5858.3f,0.0f,-1736.0f),Get3D(0.0f,-18.1f,0.0f));
  2134.     AddStructure( 93,0,1,Get3D(5734.6f,0.0f,-1872.1f),Get3D(0.0f,-18.1f,0.0f));
  2135.     AddStructure( 94,0,1,Get3D(5665.2f,0.0f,-1968.7f),Get3D(0.0f,-18.1f,0.0f));
  2136.     AddStructure( 95,23,1,Get3D(5886.4f,0.0f,-1936.0f),Get3D(0.0f,-18.1f,0.0f));
  2137.     AddStructure( 96,3,1,Get3D(6009.7f,0.0f,-1834.6f),Get3D(0.0f,-18.1f,0.0f));
  2138.     AddStructure( 97,3,1,Get3D(5867.5f,0.0f,-2043.9f),Get3D(0.0f,-18.1f,0.0f));
  2139.     AddStructure( 98,9,1,Get3D(4347.6f,0.0f,-2868.3f),Get3D(0.0f,-17.9f,0.0f));
  2140.     AddStructure( 99,3,1,Get3D(4471.0f,0.0f,-2844.5f),Get3D(0.0f,-17.9f,0.0f));
  2141.     AddStructure( 100,16,1,Get3D(4689.4f,0.0f,-3039.4f),Get3D(0.0f,-19.5f,0.0f));
  2142.     AddStructure( 101,18,1,Get3D(4541.3f,0.0f,-3035.5f),Get3D(0.0f,-19.5f,0.0f));
  2143.     AddStructure( 102,1,1,Get3D(3620.1f,0.0f,-2538.9f),Get3D(0.0f,-18.3f,0.0f));
  2144.     AddStructure( 103,1,1,Get3D(3784.8f,0.0f,-2628.0f),Get3D(0.0f,-18.3f,0.0f));
  2145.     AddStructure( 104,2,1,Get3D(3620.4f,0.0f,-2672.5f),Get3D(0.0f,-18.3f,0.0f));
  2146.     AddStructure( 105,2,1,Get3D(3745.4f,0.0f,-2758.1f),Get3D(0.0f,-18.3f,0.0f));
  2147.     AddStructure( 106,0,1,Get3D(3867.9f,0.0f,-2741.4f),Get3D(0.0f,-16.6f,0.0f));
  2148.     AddStructure( 107,0,1,Get3D(3953.4f,0.0f,-2802.0f),Get3D(0.0f,-16.6f,0.0f));
  2149.     AddStructure( 108,16,1,Get3D(3928.8f,0.0f,-7861.0f),Get3D(0.0f,-16.2f,0.0f));
  2150.     AddStructure( 109,16,1,Get3D(4124.5f,0.0f,-7788.4f),Get3D(0.0f,-16.2f,0.0f));
  2151.     AddStructure( 110,17,1,Get3D(4044.5f,0.0f,-7953.2f),Get3D(0.0f,-16.2f,0.0f));
  2152.     AddStructure( 111,18,1,Get3D(4263.0f,0.0f,-7885.3f),Get3D(0.0f,-16.2f,0.0f));
  2153.     AddStructure( 112,15,1,Get3D(4121.7f,0.0f,-8146.0f),Get3D(0.0f,-14.7f,0.0f));
  2154.     AddStructure( 113,20,1,Get3D(4371.0f,0.0f,-8056.7f),Get3D(0.0f,-15.7f,0.0f));
  2155.     AddStructure( 114,20,1,Get3D(4184.8f,0.0f,-7998.9f),Get3D(0.0f,-15.7f,0.0f));
  2156.     AddStructure( 115,1,1,Get3D(-560.6f,0.0f,-5882.7f),Get3D(0.0f,-17.6f,0.0f));
  2157.     AddStructure( 116,6,1,Get3D(-446.0f,0.0f,-6093.5f),Get3D(0.0f,-15.9f,0.0f));
  2158.     AddStructure( 117,0,1,Get3D(-393.4f,0.0f,-5870.0f),Get3D(0.0f,-17.5f,0.0f));
  2159.     AddStructure( 118,2,1,Get3D(-612.5f,0.0f,-6005.9f),Get3D(0.0f,-17.5f,0.0f));
  2160.     AddStructure( 119,16,1,Get3D(-3945.6f,0.0f,-5089.3f),Get3D(0.0f,-18.2f,0.0f));
  2161.     AddStructure( 120,15,1,Get3D(-4029.6f,0.0f,-4845.5f),Get3D(0.0f,-18.2f,0.0f));
  2162.     AddStructure( 121,18,1,Get3D(-3799.7f,0.0f,-4895.8f),Get3D(0.0f,-19.8f,0.0f));
  2163.     AddStructure( 122,17,1,Get3D(-3877.7f,0.0f,-4939.9f),Get3D(0.0f,-21.3f,0.0f));
  2164.     AddStructure( 123,3,1,Get3D(-4151.6f,0.0f,-5028.2f),Get3D(0.0f,-21.3f,0.0f));
  2165.     AddStructure( 124,9,1,Get3D(-5246.5f,0.0f,-3868.0f),Get3D(0.0f,-19.8f,0.0f));
  2166.     AddStructure( 125,15,1,Get3D(-5478.6f,0.0f,-3905.1f),Get3D(0.0f,-20.3f,0.0f));
  2167.     AddStructure( 126,17,1,Get3D(-5071.4f,0.0f,-4423.5f),Get3D(0.0f,-20.0f,0.0f));
  2168.     AddStructure( 127,0,1,Get3D(-4974.4f,0.0f,-3856.8f),Get3D(0.0f,-20.0f,0.0f));
  2169.     AddStructure( 128,0,1,Get3D(-4903.7f,0.0f,-3973.0f),Get3D(0.0f,-20.0f,0.0f));
  2170.     AddStructure( 129,0,1,Get3D(-4820.9f,0.0f,-4066.5f),Get3D(0.0f,-20.0f,0.0f));
  2171.     AddStructure( 130,3,1,Get3D(-5059.0f,0.0f,-4275.8f),Get3D(0.0f,-20.0f,0.0f));
  2172.     AddStructure( 131,3,1,Get3D(-4930.7f,0.0f,-4329.6f),Get3D(0.0f,-20.0f,0.0f));
  2173.     AddStructure( 132,3,1,Get3D(-4679.6f,0.0f,-4154.1f),Get3D(0.0f,-20.0f,0.0f));
  2174.     AddStructure( 133,17,1,Get3D(-4764.3f,0.0f,-4361.3f),Get3D(0.0f,-20.0f,0.0f));
  2175.     AddStructure( 134,16,1,Get3D(-4822.9f,0.0f,-4515.1f),Get3D(0.0f,-18.4f,0.0f));
  2176.     AddStructure( 135,21,1,Get3D(-4843.2f,0.0f,-4457.7f),Get3D(0.0f,-19.2f,0.0f));
  2177.     AddStructure( 136,1,1,Get3D(-6893.3f,0.0f,-3905.9f),Get3D(0.0f,-16.0f,0.0f));
  2178.     AddStructure( 137,1,1,Get3D(-6763.2f,0.0f,-4082.9f),Get3D(0.0f,-16.0f,0.0f));
  2179.     AddStructure( 138,2,1,Get3D(-6779.3f,0.0f,-3946.8f),Get3D(0.0f,-16.0f,0.0f));
  2180.     AddStructure( 139,2,1,Get3D(-6662.2f,0.0f,-4224.1f),Get3D(0.0f,-16.0f,0.0f));
  2181.     AddStructure( 140,10,1,Get3D(-6885.5f,0.0f,-4091.9f),Get3D(0.0f,-14.4f,0.0f));
  2182.     AddStructure( 141,4,1,Get3D(-698.2f,0.0f,-5667.6f),Get3D(0.0f,-14.4f,0.0f));
  2183.     AddStructure( 142,4,1,Get3D(-598.5f,0.0f,-5636.4f),Get3D(0.0f,-14.4f,0.0f));
  2184.     AddStructure( 143,4,1,Get3D(-483.9f,0.0f,-5604.1f),Get3D(0.0f,-14.4f,0.0f));
  2185.     AddStructure( 144,20,1,Get3D(854.5f,0.0f,-1140.0f),Get3D(0.0f,-15.3f,0.0f));
  2186.     AddStructure( 145,21,1,Get3D(853.6f,0.0f,-1221.3f),Get3D(0.0f,-17.1f,0.0f));
  2187.     AddStructure( 146,22,1,Get3D(-2197.1f,0.0f,432.9f),Get3D(0.0f,-18.0f,0.0f));
  2188.     AddStructure( 147,22,1,Get3D(-2159.3f,0.0f,507.8f),Get3D(0.0f,-20.6f,0.0f));
  2189.     AddStructure( 148,9,1,Get3D(-5153.9f,0.0f,-1104.5f),Get3D(0.0f,-20.7f,0.0f));
  2190.     AddStructure( 149,15,1,Get3D(-5082.8f,0.0f,-903.4f),Get3D(0.0f,-20.5f,0.0f));
  2191.     AddStructure( 150,18,1,Get3D(-5015.4f,0.0f,-1268.2f),Get3D(0.0f,-17.7f,0.0f));
  2192.     AddStructure( 151,17,1,Get3D(-5016.3f,0.0f,-1078.9f),Get3D(0.0f,-15.9f,0.0f));
  2193.     AddStructure( 152,17,1,Get3D(-16.8f,0.0f,4901.0f),Get3D(0.0f,-15.2f,0.0f));
  2194.     AddStructure( 153,18,1,Get3D(132.7f,0.0f,4873.2f),Get3D(0.0f,-16.7f,0.0f));
  2195.     AddStructure( 154,16,1,Get3D(342.2f,0.0f,4706.4f),Get3D(0.0f,-13.6f,0.0f));
  2196.     AddStructure( 155,15,1,Get3D(70.5f,0.0f,4660.3f),Get3D(0.0f,-12.0f,0.0f));
  2197.     AddStructure( 156,17,1,Get3D(211.5f,0.0f,4584.4f),Get3D(0.0f,-8.9f,0.0f));
  2198.     AddStructure( 157,3,1,Get3D(-65.5f,0.0f,4718.5f),Get3D(0.0f,-8.9f,0.0f));
  2199.     AddStructure( 158,22,1,Get3D(284.8f,0.0f,4499.0f),Get3D(0.0f,-8.9f,0.0f));
  2200.     AddStructure( 159,22,1,Get3D(223.5f,0.0f,4447.5f),Get3D(0.0f,-10.3f,0.0f));
  2201.     AddStructure( 160,20,1,Get3D(-744.6f,0.0f,5096.6f),Get3D(0.0f,-10.4f,0.0f));
  2202.     AddStructure( 161,20,1,Get3D(-673.6f,0.0f,5012.5f),Get3D(0.0f,-11.5f,0.0f));
  2203.     AddStructure( 162,20,1,Get3D(-600.4f,0.0f,4925.7f),Get3D(0.0f,-12.8f,0.0f));
  2204.     AddStructure( 163,20,1,Get3D(-500.5f,0.0f,4884.2f),Get3D(0.0f,-13.8f,0.0f));
  2205.     AddStructure( 164,20,1,Get3D(-390.7f,0.0f,4829.4f),Get3D(0.0f,-13.8f,0.0f));
  2206.     AddStructure( 165,20,1,Get3D(-2568.0f,0.0f,749.8f),Get3D(0.0f,-13.8f,0.0f));
  2207.     AddStructure( 166,21,1,Get3D(-4239.0f,0.0f,-4441.9f),Get3D(0.0f,-14.2f,0.0f));
  2208.     AddStructure( 167,21,1,Get3D(-4175.6f,0.0f,-4517.1f),Get3D(0.0f,-16.1f,0.0f));
  2209.     AddStructure( 168,21,1,Get3D(-4150.4f,0.0f,-4622.5f),Get3D(0.0f,-17.3f,0.0f));
  2210.     AddStructure( 169,19,1,Get3D(-6346.3f,0.0f,5354.4f),Get3D(0.0f,4.6f,0.0f));
  2211.     AddStructure( 170,19,1,Get3D(-6358.7f,0.0f,3903.1f),Get3D(0.0f,-16.5f,0.0f));
  2212.  
  2213. }
  2214.  
  2215. //
  2216. //-----------------------------------------------------------------
  2217. void LEVEL::AddDesertBasic()
  2218. {
  2219.     AddStructure( 0,5,1,Get3D(-2808.0f,0.0f,1182.3f),Get3D(0.0f,1.8f,0.0f));
  2220.     AddStructure( 1,6,1,Get3D(-2980.3f,0.0f,1419.3f),Get3D(0.0f,3.4f,0.0f));
  2221.     AddStructure( 2,6,1,Get3D(-3033.3f,0.0f,1207.4f),Get3D(0.0f,3.4f,0.0f));
  2222.     AddStructure( 3,4,1,Get3D(-2645.1f,0.0f,1315.8f),Get3D(0.0f,5.8f,0.0f));
  2223.     AddStructure( 4,4,1,Get3D(-2684.9f,0.0f,1198.5f),Get3D(0.0f,5.8f,0.0f));
  2224.     AddStructure( 5,4,1,Get3D(-2593.3f,0.0f,1186.5f),Get3D(0.0f,5.8f,0.0f));
  2225.     AddStructure( 6,4,1,Get3D(-2714.3f,0.0f,1078.6f),Get3D(0.0f,5.8f,0.0f));
  2226.     AddStructure( 7,4,1,Get3D(-2609.3f,0.0f,1078.7f),Get3D(0.0f,5.8f,0.0f));
  2227.     AddStructure( 8,8,1,Get3D(-3523.7f,0.0f,1349.4f),Get3D(0.0f,8.3f,0.0f));
  2228.     AddStructure( 9,8,1,Get3D(-3587.1f,0.0f,1192.8f),Get3D(0.0f,8.9f,0.0f));
  2229.     AddStructure( 10,8,1,Get3D(-3394.0f,0.0f,1138.3f),Get3D(0.0f,8.9f,0.0f));
  2230.     AddStructure( 11,7,1,Get3D(-3272.3f,0.0f,1267.7f),Get3D(0.0f,8.9f,0.0f));
  2231.     AddStructure( 12,7,1,Get3D(-3581.0f,0.0f,995.9f),Get3D(0.0f,8.4f,0.0f));
  2232.     AddStructure( 13,24,1,Get3D(-3504.8f,0.0f,1009.3f),Get3D(0.0f,8.4f,0.0f));
  2233.     AddStructure( 14,24,1,Get3D(-3227.2f,0.0f,1034.3f),Get3D(0.0f,6.9f,0.0f));
  2234.     AddStructure( 15,24,1,Get3D(-3185.4f,0.0f,1016.2f),Get3D(0.0f,2.2f,0.0f));
  2235.     AddStructure( 16,24,1,Get3D(-3342.4f,0.0f,1339.6f),Get3D(0.0f,2.2f,0.0f));
  2236.     AddStructure( 17,24,1,Get3D(-3607.9f,0.0f,1385.1f),Get3D(0.0f,0.4f,0.0f));
  2237.     AddStructure( 18,24,1,Get3D(-3607.3f,0.0f,1235.9f),Get3D(0.0f,-0.7f,0.0f));
  2238.     AddStructure( 19,24,1,Get3D(-3492.4f,0.0f,1133.3f),Get3D(0.0f,-2.1f,0.0f));
  2239.     AddStructure( 20,24,1,Get3D(-3406.8f,0.0f,1258.2f),Get3D(0.0f,-4.0f,0.0f));
  2240.     AddStructure( 21,25,1,Get3D(-3227.3f,0.0f,1026.8f),Get3D(0.0f,-5.2f,0.0f));
  2241.     AddStructure( 22,25,1,Get3D(-3316.1f,0.0f,1134.9f),Get3D(0.0f,-5.2f,0.0f));
  2242.     AddStructure( 23,25,1,Get3D(-3450.9f,0.0f,1039.9f),Get3D(0.0f,-5.2f,0.0f));
  2243.     AddStructure( 24,25,1,Get3D(-3660.1f,0.0f,1126.1f),Get3D(0.0f,-8.5f,0.0f));
  2244.     AddStructure( 25,25,1,Get3D(-3618.7f,0.0f,1052.1f),Get3D(0.0f,-10.3f,0.0f));
  2245.     AddStructure( 26,25,1,Get3D(-3438.4f,0.0f,1364.0f),Get3D(0.0f,-11.2f,0.0f));
  2246.     AddStructure( 27,8,1,Get3D(3770.9f,0.0f,-2122.8f),Get3D(0.0f,-15.5f,0.0f));
  2247.     AddStructure( 28,8,1,Get3D(3983.6f,0.0f,-2146.3f),Get3D(0.0f,-16.6f,0.0f));
  2248.     AddStructure( 29,24,1,Get3D(3926.4f,0.0f,-2188.4f),Get3D(0.0f,-16.6f,0.0f));
  2249.     AddStructure( 30,24,1,Get3D(3792.6f,0.0f,-2069.8f),Get3D(0.0f,-17.7f,0.0f));
  2250.     AddStructure( 31,24,1,Get3D(3675.2f,0.0f,-2299.2f),Get3D(0.0f,-20.8f,0.0f));
  2251.     AddStructure( 32,25,1,Get3D(3643.5f,0.0f,-2128.8f),Get3D(0.0f,-22.5f,0.0f));
  2252.     AddStructure( 33,25,1,Get3D(3716.7f,0.0f,-2178.5f),Get3D(0.0f,-23.9f,0.0f));
  2253.     AddStructure( 34,25,1,Get3D(3952.7f,0.0f,-2068.9f),Get3D(0.0f,-25.4f,0.0f));
  2254.     AddStructure( 35,25,1,Get3D(4055.6f,0.0f,-2273.3f),Get3D(0.0f,-25.5f,0.0f));
  2255.     AddStructure( 36,25,1,Get3D(3831.3f,0.0f,-2201.4f),Get3D(0.0f,-26.5f,0.0f));
  2256.     AddStructure( 37,8,1,Get3D(6062.8f,0.0f,2822.8f),Get3D(0.0f,-29.2f,0.0f));
  2257.     AddStructure( 38,8,1,Get3D(6454.6f,0.0f,2720.9f),Get3D(0.0f,-26.8f,0.0f));
  2258.     AddStructure( 39,7,1,Get3D(6429.2f,0.0f,2969.1f),Get3D(0.0f,-24.5f,0.0f));
  2259.     AddStructure( 40,7,1,Get3D(6305.7f,0.0f,2936.9f),Get3D(0.0f,-24.5f,0.0f));
  2260.     AddStructure( 41,24,1,Get3D(6031.0f,0.0f,2784.4f),Get3D(0.0f,-27.4f,0.0f));
  2261.     AddStructure( 42,24,1,Get3D(6372.6f,0.0f,2908.0f),Get3D(0.0f,-28.6f,0.0f));
  2262.     AddStructure( 43,24,1,Get3D(6489.2f,0.0f,2921.3f),Get3D(0.0f,-29.5f,0.0f));
  2263.     AddStructure( 44,24,1,Get3D(6374.2f,0.0f,2740.7f),Get3D(0.0f,-30.1f,0.0f));
  2264.     AddStructure( 45,24,1,Get3D(6299.7f,0.0f,2755.1f),Get3D(0.0f,-31.9f,0.0f));
  2265.     AddStructure( 46,25,1,Get3D(6192.5f,0.0f,2617.1f),Get3D(0.0f,-33.5f,0.0f));
  2266.     AddStructure( 47,25,1,Get3D(6203.1f,0.0f,2861.0f),Get3D(0.0f,-34.5f,0.0f));
  2267.     AddStructure( 48,25,1,Get3D(6285.6f,0.0f,2862.3f),Get3D(0.0f,-36.0f,0.0f));
  2268.     AddStructure( 49,25,1,Get3D(6147.5f,0.0f,2812.6f),Get3D(0.0f,-37.0f,0.0f));
  2269.     AddStructure( 50,25,1,Get3D(6111.5f,0.0f,3068.3f),Get3D(0.0f,-37.8f,0.0f));
  2270.     AddStructure( 51,24,1,Get3D(6171.6f,0.0f,3019.9f),Get3D(0.0f,-37.9f,0.0f));
  2271.     AddStructure( 52,24,1,Get3D(6056.5f,0.0f,2949.8f),Get3D(0.0f,-40.0f,0.0f));
  2272.     AddStructure( 53,24,1,Get3D(791.7f,0.0f,4689.3f),Get3D(0.0f,-46.0f,0.0f));
  2273.     AddStructure( 54,24,1,Get3D(831.4f,0.0f,4850.3f),Get3D(0.0f,-46.8f,0.0f));
  2274.     AddStructure( 55,24,1,Get3D(928.7f,0.0f,4885.5f),Get3D(0.0f,-48.4f,0.0f));
  2275.     AddStructure( 56,24,1,Get3D(936.9f,0.0f,4999.6f),Get3D(0.0f,-50.8f,0.0f));
  2276.     AddStructure( 57,24,1,Get3D(1081.4f,0.0f,4803.8f),Get3D(0.0f,-52.7f,0.0f));
  2277.     AddStructure( 58,24,1,Get3D(976.3f,0.0f,4679.1f),Get3D(0.0f,-53.8f,0.0f));
  2278.     AddStructure( 59,25,1,Get3D(777.4f,0.0f,4745.9f),Get3D(0.0f,-55.7f,0.0f));
  2279.     AddStructure( 60,25,1,Get3D(838.9f,0.0f,4856.6f),Get3D(0.0f,-57.4f,0.0f));
  2280.     AddStructure( 61,25,1,Get3D(978.6f,0.0f,4756.2f),Get3D(0.0f,-58.7f,0.0f));
  2281.     AddStructure( 62,25,1,Get3D(1056.1f,0.0f,4645.9f),Get3D(0.0f,-59.4f,0.0f));
  2282.     AddStructure( 63,4,1,Get3D(-4765.2f,0.0f,6126.5f),Get3D(0.0f,-59.4f,0.0f));
  2283.     AddStructure( 64,4,1,Get3D(-4797.0f,0.0f,6249.0f),Get3D(0.0f,-59.4f,0.0f));
  2284.     AddStructure( 65,4,1,Get3D(-4828.9f,0.0f,6373.7f),Get3D(0.0f,-59.4f,0.0f));
  2285.     AddStructure( 66,4,1,Get3D(-4876.1f,0.0f,6504.5f),Get3D(0.0f,-59.4f,0.0f));
  2286.     AddStructure( 67,4,1,Get3D(-4595.6f,0.0f,6197.1f),Get3D(0.0f,-59.4f,0.0f));
  2287.     AddStructure( 68,4,1,Get3D(-4937.3f,0.0f,6248.6f),Get3D(0.0f,-58.5f,0.0f));
  2288.     AddStructure( 69,4,1,Get3D(-5026.1f,0.0f,6215.0f),Get3D(0.0f,-58.5f,0.0f));
  2289.     AddStructure( 70,8,1,Get3D(-5049.4f,0.0f,6028.3f),Get3D(0.0f,-61.0f,0.0f));
  2290.     AddStructure( 71,24,1,Get3D(-4995.4f,0.0f,6179.5f),Get3D(0.0f,-61.0f,0.0f));
  2291.     AddStructure( 72,24,1,Get3D(-4911.8f,0.0f,6209.7f),Get3D(0.0f,-62.2f,0.0f));
  2292.     AddStructure( 73,24,1,Get3D(-4811.5f,0.0f,6153.2f),Get3D(0.0f,-63.1f,0.0f));
  2293.     AddStructure( 74,24,1,Get3D(-4853.9f,0.0f,6270.7f),Get3D(0.0f,-64.9f,0.0f));
  2294.     AddStructure( 75,24,1,Get3D(-4702.6f,0.0f,6594.1f),Get3D(0.0f,-65.9f,0.0f));
  2295.     AddStructure( 76,24,1,Get3D(-4642.9f,0.0f,6427.9f),Get3D(0.0f,-67.4f,0.0f));
  2296.     AddStructure( 77,25,1,Get3D(-4642.9f,0.0f,6427.9f),Get3D(0.0f,-67.5f,0.0f));
  2297.     AddStructure( 78,25,1,Get3D(-4565.1f,0.0f,6062.9f),Get3D(0.0f,-68.4f,0.0f));
  2298.     AddStructure( 79,25,1,Get3D(-4931.5f,0.0f,6023.7f),Get3D(0.0f,-70.3f,0.0f));
  2299.     AddStructure( 80,25,1,Get3D(2831.3f,0.0f,-7553.8f),Get3D(0.0f,-70.3f,0.0f));
  2300.     AddStructure( 81,25,1,Get3D(2946.3f,0.0f,-7512.2f),Get3D(0.0f,-72.0f,0.0f));
  2301.     AddStructure( 82,25,1,Get3D(3051.3f,0.0f,-7804.5f),Get3D(0.0f,-72.8f,0.0f));
  2302.     AddStructure( 83,25,1,Get3D(3119.9f,0.0f,-7579.7f),Get3D(0.0f,-74.5f,0.0f));
  2303.     AddStructure( 84,25,1,Get3D(3334.2f,0.0f,-7667.7f),Get3D(0.0f,-75.6f,0.0f));
  2304.     AddStructure( 85,25,1,Get3D(3202.9f,0.0f,-7815.0f),Get3D(0.0f,-78.1f,0.0f));
  2305.     AddStructure( 86,25,1,Get3D(3028.1f,0.0f,-7708.1f),Get3D(0.0f,-78.8f,0.0f));
  2306.     AddStructure( 87,25,1,Get3D(2972.0f,0.0f,-7880.5f),Get3D(0.0f,-79.7f,0.0f));
  2307.     AddStructure( 88,25,1,Get3D(2901.3f,0.0f,-7684.7f),Get3D(0.0f,-80.7f,0.0f));
  2308.     AddStructure( 89,25,1,Get3D(3121.8f,0.0f,-7825.3f),Get3D(0.0f,-82.0f,0.0f));
  2309.     AddStructure( 90,25,1,Get3D(2975.9f,0.0f,-7801.7f),Get3D(0.0f,-84.2f,0.0f));
  2310.     AddStructure( 91,25,1,Get3D(3172.5f,0.0f,-7606.2f),Get3D(0.0f,-85.3f,0.0f));
  2311.     AddStructure( 92,24,1,Get3D(2936.8f,0.0f,-7691.0f),Get3D(0.0f,-86.0f,0.0f));
  2312.     AddStructure( 93,24,1,Get3D(2982.8f,0.0f,-7567.7f),Get3D(0.0f,-87.1f,0.0f));
  2313.     AddStructure( 94,24,1,Get3D(3177.3f,0.0f,-7659.2f),Get3D(0.0f,-88.1f,0.0f));
  2314.     AddStructure( 95,24,1,Get3D(3110.0f,0.0f,-7771.8f),Get3D(0.0f,-89.3f,0.0f));
  2315.     AddStructure( 96,7,1,Get3D(-1010.2f,0.0f,-5743.0f),Get3D(0.0f,-89.3f,0.0f));
  2316.     AddStructure( 97,7,1,Get3D(-1131.2f,0.0f,-5997.8f),Get3D(0.0f,-90.4f,0.0f));
  2317.     AddStructure( 98,8,1,Get3D(-1193.5f,0.0f,-5825.2f),Get3D(0.0f,-92.6f,0.0f));
  2318.     AddStructure( 99,24,1,Get3D(-921.1f,0.0f,-5691.4f),Get3D(0.0f,-92.6f,0.0f));
  2319.     AddStructure( 100,24,1,Get3D(-935.3f,0.0f,-5804.2f),Get3D(0.0f,-95.2f,0.0f));
  2320.     AddStructure( 101,24,1,Get3D(-888.5f,0.0f,-5984.3f),Get3D(0.0f,-96.8f,0.0f));
  2321.     AddStructure( 102,25,1,Get3D(-1142.3f,0.0f,-5930.1f),Get3D(0.0f,-98.2f,0.0f));
  2322.     AddStructure( 103,25,1,Get3D(-1033.8f,0.0f,-5783.1f),Get3D(0.0f,-100.9f,0.0f));
  2323.     AddStructure( 104,25,1,Get3D(-1190.0f,0.0f,-5749.9f),Get3D(0.0f,-102.0f,0.0f));
  2324.     AddStructure( 105,24,1,Get3D(-1023.8f,0.0f,-5962.0f),Get3D(0.0f,-102.2f,0.0f));
  2325.     AddStructure( 106,24,1,Get3D(-1047.1f,0.0f,-5644.5f),Get3D(0.0f,-104.0f,0.0f));
  2326.     AddStructure( 107,24,1,Get3D(-918.9f,0.0f,-5598.1f),Get3D(0.0f,-105.2f,0.0f));
  2327.     AddStructure( 108,24,1,Get3D(-1234.3f,0.0f,-5931.2f),Get3D(0.0f,-108.1f,0.0f));
  2328.     AddStructure( 109,24,1,Get3D(-5349.3f,0.0f,-3586.3f),Get3D(0.0f,-108.1f,0.0f));
  2329.     AddStructure( 110,24,1,Get3D(-5290.3f,0.0f,-3531.5f),Get3D(0.0f,-111.5f,0.0f));
  2330.     AddStructure( 111,24,1,Get3D(-5307.2f,0.0f,-3313.7f),Get3D(0.0f,-114.1f,0.0f));
  2331.     AddStructure( 112,25,1,Get3D(-5427.9f,0.0f,-3644.6f),Get3D(0.0f,-115.5f,0.0f));
  2332.     AddStructure( 113,25,1,Get3D(-5484.1f,0.0f,-3488.9f),Get3D(0.0f,-117.5f,0.0f));
  2333.     AddStructure( 114,25,1,Get3D(-5243.0f,0.0f,-3627.1f),Get3D(0.0f,-117.6f,0.0f));
  2334.     AddStructure( 115,25,1,Get3D(-5232.8f,0.0f,-3655.6f),Get3D(0.0f,-119.9f,0.0f));
  2335.     AddStructure( 116,25,1,Get3D(-5091.4f,0.0f,-3604.5f),Get3D(0.0f,-121.0f,0.0f));
  2336.     AddStructure( 117,8,1,Get3D(-5083.6f,0.0f,-3489.3f),Get3D(0.0f,-120.9f,0.0f));
  2337.     AddStructure( 118,8,1,Get3D(-5260.7f,0.0f,-3405.6f),Get3D(0.0f,-123.6f,0.0f));
  2338.     AddStructure( 119,8,1,Get3D(-5404.7f,0.0f,-3457.4f),Get3D(0.0f,-124.0f,0.0f));
  2339.     AddStructure( 120,8,1,Get3D(-7118.0f,0.0f,-3986.1f),Get3D(0.0f,-122.7f,0.0f));
  2340.     AddStructure( 121,8,1,Get3D(-7245.2f,0.0f,-4031.8f),Get3D(0.0f,-123.3f,0.0f));
  2341.     AddStructure( 122,8,1,Get3D(-7178.8f,0.0f,-4218.6f),Get3D(0.0f,-120.2f,0.0f));
  2342.     AddStructure( 123,24,1,Get3D(-7020.9f,0.0f,-4161.5f),Get3D(0.0f,-120.2f,0.0f));
  2343.     AddStructure( 124,24,1,Get3D(-7126.7f,0.0f,-4181.9f),Get3D(0.0f,-121.3f,0.0f));
  2344.     AddStructure( 125,24,1,Get3D(-7209.0f,0.0f,-3953.7f),Get3D(0.0f,-122.1f,0.0f));
  2345.     AddStructure( 126,24,1,Get3D(-7169.2f,0.0f,-4018.8f),Get3D(0.0f,-123.3f,0.0f));
  2346.     AddStructure( 127,25,1,Get3D(-7208.7f,0.0f,-4000.2f),Get3D(0.0f,-123.3f,0.0f));
  2347.     AddStructure( 128,25,1,Get3D(-7360.8f,0.0f,-4303.2f),Get3D(0.0f,-123.3f,0.0f));
  2348.     AddStructure( 129,24,1,Get3D(-7342.4f,0.0f,-4081.7f),Get3D(0.0f,-123.3f,0.0f));
  2349.     AddStructure( 130,24,1,Get3D(-7371.1f,0.0f,-4142.8f),Get3D(0.0f,-124.2f,0.0f));
  2350.     AddStructure( 131,24,1,Get3D(-7240.0f,0.0f,-4278.4f),Get3D(0.0f,-125.6f,0.0f));
  2351.  
  2352. }