home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / xgalaga-2_0_tar.gz / xgalaga-2_0_tar / xgalaga-2.0 / paths.c < prev    next >
C/C++ Source or Header  |  1998-04-30  |  46KB  |  1,239 lines

  1. /* $Id: paths.c,v 1.2 1998/04/30 05:11:57 mrogre Exp $ */
  2. /* Copyright (c) 1998 Joe Rumsey (mrogre@mediaone.net) */
  3. #include "copyright.h"
  4. #include <config.h>
  5.  
  6. #include "struct.h"
  7. #include "defs.h"
  8. #include "paths.h"
  9. #include "data.h"
  10. #include "proto.h"
  11.  
  12. #define MAXPATH 50
  13.  
  14. int paths[NUMPATHS][MAXPATH][2] = {
  15.     { /* PEELLEFT = 0*/
  16.     0, 3,
  17.     15,3,
  18.     14,3,
  19.     13,3,
  20.     12,3,
  21.     11,3,
  22.     10,3,
  23.     9,3,
  24.     8,3,
  25.     -1,-1,
  26.     },
  27.     { /* PEELRIGHT = 1 */
  28.     0,3,
  29.     1,3,
  30.     2,3,
  31.     3,3,
  32.     4,3,
  33.     5,3,
  34.     6,3,
  35.     7,3,
  36.     8,3,
  37.     -1,-1,
  38.     },
  39.     { /* LOOP = 2 */
  40.     8,2,
  41.     9,2,
  42.     10,2,
  43.     11,2,
  44.     12,2,
  45.     13,2,
  46.     14,2,
  47.     15,2,
  48.     0,2,
  49.     1,2,
  50.     2,2,
  51.     3,2,
  52.     4,2,
  53.     5,2,
  54.     6,2,
  55.     7,2,
  56.     8,2,
  57.     -1,-1,
  58.     },
  59.     { /* SWOOP1 = 3 */
  60.     8,20,
  61.     9,3,
  62.     10,3,
  63.     11,3,
  64.     12,3,
  65.     -1,-1,
  66.     },
  67.     { /* SWOOP2 = 4 */
  68.     8,20,
  69.     7,3,
  70.     6,3,
  71.     5,3,
  72.     4,3,
  73.     -1,-1,
  74.     },
  75.     { /* ZIGZAG = 5 */
  76.     7,15,    8,2,
  77.     9,15,    8,2,
  78.     7,15,    8,2,
  79.     9,15,   8,2,
  80.     -1,-1,
  81.     },
  82.     { /* LOOP2 = 6 */
  83.     8,2, 7,2, 6,2, 5,2, 4,2, 3,2, 2,2, 1,2, 0,2, 15,2, 14,2, 13,2, 12,2, 11,2, 10,2, 9,2, 8,2,
  84.     -1,-1,
  85.     },
  86.     { /* SPIN = 7 */
  87.     8,1, 7,1, 6,1, 5,1, 4,1, 3,1, 2,1, 1,1, 0,1, 15,1, 14,1, 13,1, 12,1, 11,1, 10,1, 9,1, 8,1,
  88.     -1,-1,
  89.     },
  90.     { /* LEFTDIAG */
  91.     8,2,
  92.     9,2,
  93.     10,30,
  94.     9,2,
  95.     8,1,
  96.     -1,-1,
  97.     },
  98.     { /* RIGHTDIAG */
  99.     8,2,
  100.     7,2,
  101.     6,30,
  102.     7,2,
  103.     8,1,
  104.     -1,-1,
  105.     },
  106.     { /* ENTER1 */
  107.     8,65, 9,5, 10,5, 11,5, 12,5, 13,5, 14,20, -1,-1,
  108.     },      
  109.     { /* ENTER2 */
  110.     8,65, 7,5, 6,5, 5,5, 4,5, 3,5, 2,20, -1,-1,
  111.     },
  112.         /* ENTER3 */
  113.     {-1,-1},
  114.     /* ENTER4 */
  115.     { 10,45, 11,5, 12,20, 13,5, 14,10, -1,-1, },
  116.     /* ENTER5 */
  117.     { 6,45, 5,5, 4,20, 3,5, 2,10, -1,-1, },
  118.     /* ENTER6 */
  119.     { 8,80, 6,10, 4,40, 0,20, 14,30, -1,-1},
  120.     /* ENTER7 */
  121.     { 8,80, 10,10, 12,40, 0,20, 2,30, -1,-1},
  122.     /* ENTER8 */
  123.     { 0,50, 2,50, 3,5, 4,5, 5,5, 6,5, 7,5, 8,5, 9,5, 10,5, 11,5, 12,30, 13,5, 14,5, 15,5, 0,5, -1,-1},
  124.     /* ENTER9 */
  125.     { 0,50, 14,50, 13,5, 12,5, 11,5, 10,5, 9,5, 8,5, 7,5, 6,5, 5,5, 4,30, 3,5, 2,5, 1,5, 0,5, -1,-1},
  126.     /* ENTER10 */
  127.     { 4,80, 10,30, 0,70, -1,-1 },
  128.     /* ENTER11 */
  129.     { 12,80, 6,30, 0,70, -1,-1 },
  130.     /* ENTER12 */
  131.     { 14,80, -1, -1},
  132.     /* ENTER13 */
  133.     { 2,80, -1,-1},
  134.     /* ENTER14 */                                         
  135.     { 4,8, 3,6, 2,8, 1,10, 2,8, 3,6, 4,4, 5,6, 6,8, 7,10, 6,8, 5,6, 4,4, 3,6, 2,8, 1,10, 0,20, -1,-1},
  136.     /* 15 */
  137.     { 12,60, 11,3, 10,3, 9,3, 8,3, 7,3, 6,3, 5,3, 4,3, 3,3, 2,3, 1,3, 0,3,    
  138.       15,3, 14,3, 13,3, 12,3, 11,3, 10,3, 9,3, 8,3, 7,3, 6,3, 5,3, 4,3, 3,3, 2,3, 1,3, 0,3,        
  139.       15,3, 14,3, 13,3, 12,3, 11,3, 10,3, 9,3, 8,3, 7,3, 6,3, 5,3, 4,3, 3,3, 2,3, 1,3, 0,20, -1,-1},    
  140.     /* 16 */
  141.     { 4,60, 5,3, 6,3, 7,3, 8,3, 9,3, 10,3, 11,3, 12,3, 13,3, 14,3, 15,3, 0,3,
  142.       1,3, 2,3, 3,3, 4,3, 5,3, 6,3, 7,3, 8,3, 9,3, 10,3, 11,3, 12,3, 13,3, 14,3, 15,3, 0,3,
  143.       1,3, 2,3, 3,3, 4,3, 5,3, 6,3, 7,3, 8,3, 9,3, 10,3, 11,3, 12,3, 13,3, 14,3, 15,3, 0,20, -1, -1},
  144.     /* 17 */
  145.     {
  146.     7,15,    8,3,
  147.     9,15,    8,3,
  148.     7,15,    8,3,
  149.     9,15,   8,3,
  150.     7,15,    8,3,
  151.     9,15,    8,3,
  152.     -1,-1,      
  153.     },
  154.     /* 18 */
  155.     { 12,60, 4,30, 12,30, 4,30, 12,30, 8,20, -1,-1 },
  156.     /* 19 */
  157.     { 10,80, -1,-1, },
  158.     /* 20 */
  159.     { 6,80, -1,-1, },
  160. };    
  161.  
  162. /* enter_paths are for new ships.  consists of starting co-ordinates, number of frames
  163.    to wait at the start (presumably offscreen) and a path to follow.
  164.    path -1 means this ship is not used on this level
  165.    at end of path, ship flies into convoy position on it's own from wherever it winds up
  166. */
  167.  
  168. /* Not that anyone else is likely to touch this mess, but if you do, I highly recommend doing it
  169.    in emacs M-x picture-mode. */
  170.  
  171. /* Well, (says gc918206@gbar.dtu.dk (Martin Eskildsen)) I touched... ;-)
  172.  * The problem with the previous implementation was that it relied on the manifest
  173.  * constants WINWIDTH and WINHEIGHT being 400 and 500, respectively (they are in file
  174.  * defs.h) which caused some of the aliens to start on-screen instead of off-screen
  175.  * if you tried to enlarge the window by changing the constants (it's somewhat small
  176.  * on my 14 inch monitor otherwise).
  177.  * I therefore made a couple of scaling macros, below, and applied them to all X- and
  178.  * Y coordinates (it took only one, admittedly, big and ugly emacs macro to do this :-).
  179.  */
  180. #define SX(n) ((WINWIDTH*(n))/400)
  181. #define SY(n) ((WINHEIGHT*(n))/500)
  182.       
  183. struct enter_path ep[NUMLEVELS][MAXALIENS] = {
  184.     {      
  185.     { 0, SX(-1), SY(-1), -1, -1},
  186.     { 0, SX(-1), SY(-1), -1, -1},
  187.     { 0, SX(-1), SY(-1), -1, -1},
  188.     { 0, SX(200), SY(-30), 435, P_ENTER1 },
  189.     { 0, SX(-1), SY(-1), -1, -1},
  190.         { 0, SX(-1), SY(-1), -1, -1},
  191.     { 0, SX(200), SY(-30), 430, P_ENTER2 },
  192.     { 0, SX(-1), SY(-1), -1, -1},
  193.     { 0, SX(-1), SY(-1), -1, -1},
  194.     { 0, SX(-1), SY(-1), -1, -1},
  195.       
  196.     { 1, SX(-1), SY(-1), -1, -1},
  197.     { 1, SX(-1), SY(-1), -1, -1},
  198.     { 1, SX(200), SY(-30),425, P_ENTER1 },
  199.     { 1, SX(200), SY(-30),420, P_ENTER2 },
  200.     { 1, SX(200), SY(-30),415, P_ENTER1 },
  201.     { 1, SX(200), SY(-30),410, P_ENTER2 },
  202.     { 1, SX(200), SY(-30),405, P_ENTER1 },
  203.     { 1, SX(200), SY(-30),400, P_ENTER2 },
  204.     { 1, SX(-1), SY(-1), -1, -1},
  205.     { 1, SX(-1), SY(-1), -1, -1},
  206.                  
  207.     { 2, SX(200), SY(-30),345, P_ENTER1 },
  208.     { 2, SX(200), SY(-30),340,P_ENTER2 },
  209.     { 2, SX(200), SY(-30),335, P_ENTER1 },
  210.     { 2, SX(200), SY(-30),330, P_ENTER2 },
  211.     { 2, SX(200), SY(-30),325, P_ENTER1 },
  212.     { 2, SX(200), SY(-30),320, P_ENTER2 },
  213.     { 2, SX(200), SY(-30),315, P_ENTER1 },
  214.     { 2, SX(200), SY(-30),310, P_ENTER2 },
  215.     { 2, SX(200), SY(-30),305, P_ENTER1 },
  216.     { 2, SX(200), SY(-30),300, P_ENTER2 },
  217.                   
  218.     { 3, SX(200), SY(-30),245, P_ENTER1 },
  219.     { 3, SX(200), SY(-30),240, P_ENTER2 },
  220.     { 3, SX(200), SY(-30),235, P_ENTER1 },
  221.     { 3, SX(200), SY(-30),230, P_ENTER2 },
  222.     { 3, SX(200), SY(-30),225, P_ENTER1 },
  223.     { 3, SX(200), SY(-30),220, P_ENTER2 },
  224.     { 3, SX(200), SY(-30),215, P_ENTER1 },
  225.     { 3, SX(200), SY(-30),210, P_ENTER2 },
  226.     { 3, SX(200), SY(-30),205, P_ENTER1 },
  227.     { 3, SX(200), SY(-30),200, P_ENTER2 },
  228.                  
  229.     { 4, SX(200), SY(-30),145, P_ENTER1 },
  230.     { 4, SX(200), SY(-30),140, P_ENTER2 },
  231.     { 4, SX(200), SY(-30),135, P_ENTER1 },
  232.     { 4, SX(200), SY(-30),130, P_ENTER2 },
  233.     { 4, SX(200), SY(-30),125, P_ENTER1 },
  234.     { 4, SX(200), SY(-30),120, P_ENTER2 },
  235.     { 4, SX(200), SY(-30),115, P_ENTER1 },
  236.     { 4, SX(200), SY(-30),110, P_ENTER2 },
  237.     { 4, SX(200), SY(-30),105, P_ENTER1 },
  238.     { 4, SX(200), SY(-30),100, P_ENTER2 },
  239.                  
  240.     { 5, SX(200), SY(-30), 50, P_ENTER1 },
  241.     { 5, SX(200), SY(-30), 45, P_ENTER2 },
  242.     { 5, SX(200), SY(-30), 40, P_ENTER1 },
  243.     { 5, SX(200), SY(-30), 35, P_ENTER2 },
  244.     { 5, SX(200), SY(-30), 30, P_ENTER1 },
  245.     { 5, SX(200), SY(-30), 25, P_ENTER2 },
  246.     { 5, SX(200), SY(-30), 20, P_ENTER1 },
  247.     { 5, SX(200), SY(-30), 15, P_ENTER2 },
  248.     { 5, SX(200), SY(-30), 10, P_ENTER1 },
  249.     { 5, SX(200), SY(-30),  5, P_ENTER2 },
  250.       
  251.     },
  252.     {
  253.     { 0, SX( -1), SY(  -1),  -1, -1},
  254.     { 0, SX( -1), SY(  -1),  -1, -1},
  255.     { 0, SX( -1), SY(  -1),  -1, -1},
  256.     { 0, SX(200), SY( -30), 435, P_ENTER1 },
  257.     { 0, SX( -1), SY(  -1),  -1, -1},     
  258.     { 0, SX( -1), SY(  -1),  -1, -1},
  259.     { 0, SX(200), SY( -30), 430, P_ENTER2 },
  260.     { 0, SX( -1), SY(  -1),  -1, -1},     
  261.     { 0, SX( -1), SY(  -1),  -1, -1},
  262.     { 0, SX( -1), SY(  -1),  -1, -1},
  263.  
  264.     { 1, SX( -1), SY(  -1),  -1, -1},
  265.     { 1, SX( -1), SY(  -1),  -1, -1},
  266.     { 1, SX(200), SY( -30), 425, P_ENTER1 },
  267.     { 1, SX(200), SY( -30), 420, P_ENTER2 },
  268.     { 1, SX(200), SY( -30), 415, P_ENTER1 },
  269.     { 1, SX(200), SY( -30), 410, P_ENTER2 },
  270.     { 1, SX(200), SY( -30), 405, P_ENTER1 },
  271.     { 1, SX(200), SY( -30), 400, P_ENTER2 },
  272.     { 1, SX( -1), SY(  -1),  -1, -1},     
  273.     { 1, SX( -1), SY(  -1),  -1, -1},
  274.                  
  275.     { 2, SX(410), SY( 125), 345, P_ENTER4 },
  276.     { 2, SX(410), SY( 125), 340, P_ENTER4 },
  277.     { 2, SX(410), SY( 125), 335, P_ENTER4 },
  278.     { 2, SX(410), SY( 125), 330, P_ENTER4 },
  279.     { 2, SX(410), SY( 125), 325, P_ENTER4 },
  280.     { 2, SX(410), SY( 125), 320, P_ENTER4 },
  281.     { 2, SX(410), SY( 125), 315, P_ENTER4 },
  282.     { 2, SX(410), SY( 125), 310, P_ENTER4 },
  283.     { 2, SX(410), SY( 125), 305, P_ENTER4 },
  284.     { 2, SX(410), SY( 125), 300, P_ENTER4 },
  285.                             
  286.     { 3, SX(-30), SY( 125), 245, P_ENTER5 },
  287.     { 3, SX(-30), SY( 125), 240, P_ENTER5 },
  288.     { 3, SX(-30), SY( 125), 235, P_ENTER5 },
  289.     { 3, SX(-30), SY( 125), 230, P_ENTER5 },
  290.     { 3, SX(-30), SY( 125), 225, P_ENTER5 },
  291.     { 3, SX(-30), SY( 125), 220, P_ENTER5 },
  292.     { 3, SX(-30), SY( 125), 215, P_ENTER5 },
  293.     { 3, SX(-30), SY( 125), 210, P_ENTER5 },
  294.     { 3, SX(-30), SY( 125), 205, P_ENTER5 },
  295.     { 3, SX(-30), SY( 125), 200, P_ENTER5 },
  296.                            
  297.     { 4, SX(410), SY( 125), 145, P_ENTER4 },
  298.     { 4, SX(410), SY( 125), 140, P_ENTER4 },
  299.     { 4, SX(410), SY( 125), 135, P_ENTER4 },
  300.     { 4, SX(410), SY( 125), 130, P_ENTER4 },
  301.     { 4, SX(410), SY( 125), 125, P_ENTER4 },
  302.     { 4, SX(410), SY( 125), 120, P_ENTER4 },
  303.     { 4, SX(410), SY( 125), 115, P_ENTER4 },
  304.     { 4, SX(410), SY( 125), 110, P_ENTER4 },
  305.     { 4, SX(410), SY( 125), 105, P_ENTER4 },
  306.     { 4, SX(410), SY( 125), 100, P_ENTER4 },
  307.                            
  308.     { 6, SX(-30), SY( 125),  50, P_ENTER5 },
  309.     { 6, SX(-30), SY( 125),  45, P_ENTER5 },
  310.     { 6, SX(-30), SY( 125),  40, P_ENTER5 },
  311.     { 6, SX(-30), SY( 125),  35, P_ENTER5 },
  312.     { 6, SX(-30), SY( 125),  30, P_ENTER5 },
  313.     { 6, SX(-30), SY( 125),  25, P_ENTER5 },
  314.     { 6, SX(-30), SY( 125),  20, P_ENTER5 },
  315.     { 6, SX(-30), SY( 125),  15, P_ENTER5 },
  316.     { 6, SX(-30), SY( 125),  10, P_ENTER5 },
  317.     { 6, SX(-30), SY( 125),   5, P_ENTER5 },
  318.                      
  319.     },
  320.     { /* level 3*/
  321.     { 0, SX( -1), SY(  -1),  -1, -1},
  322.     { 0, SX( -1), SY(  -1),  -1, -1},
  323.     { 0, SX( -1), SY(  -1),  -1, -1},
  324.     { 0, SX(-30), SY( 125), 405, P_ENTER5 },
  325.     { 0, SX( -1), SY(  -1),  -1, -1},     
  326.     { 0, SX( -1), SY(  -1),  -1, -1},
  327.     { 0, SX(-30), SY( 125), 400, P_ENTER5 },
  328.     { 0, SX( -1), SY(  -1),  -1, -1},     
  329.     { 0, SX( -1), SY(  -1),  -1, -1},
  330.     { 0, SX( -1), SY(  -1),  -1, -1},
  331.  
  332.     { 1, SX( -1), SY(  -1),  -1, -1},
  333.     { 1, SX( -1), SY(  -1),  -1, -1},
  334.     { 1, SX(-30), SY( 125), 435, P_ENTER5 },
  335.     { 1, SX(-30), SY( 125), 430, P_ENTER5 },
  336.     { 1, SX(-30), SY( 125), 425, P_ENTER5 },
  337.     { 1, SX(-30), SY( 125), 420, P_ENTER5 },
  338.     { 1, SX(-30), SY( 125), 415, P_ENTER5 },
  339.     { 1, SX(-30), SY( 125), 410, P_ENTER5 },
  340.     { 1, SX( -1), SY(  -1),  -1, -1},     
  341.     { 1, SX( -1), SY(  -1),  -1, -1},
  342.                        
  343.     { 2, SX(100), SY( -30), 345, P_ENTER6 },
  344.     { 2, SX(300), SY( -30), 340, P_ENTER7 },
  345.     { 2, SX(100), SY( -30), 335, P_ENTER6 },
  346.     { 2, SX(300), SY( -30), 330, P_ENTER7 },
  347.     { 2, SX(100), SY( -30), 325, P_ENTER6 },
  348.     { 2, SX(300), SY( -30), 320, P_ENTER7 },
  349.     { 2, SX(100), SY( -30), 315, P_ENTER6 },
  350.     { 2, SX(300), SY( -30), 310, P_ENTER7 },
  351.     { 2, SX(100), SY( -30), 305, P_ENTER6 },
  352.     { 2, SX(300), SY( -30), 300, P_ENTER7 },
  353. /*--*/  { 6, SX(100), SY( -30), 245, P_ENTER6 },
  354.     { 6, SX(300), SY( -30), 240, P_ENTER7 },
  355.     { 6, SX(100), SY( -30), 235, P_ENTER6 },
  356.     { 6, SX(300), SY( -30), 230, P_ENTER7 },
  357.     { 6, SX(100), SY( -30), 225, P_ENTER6 },
  358.     { 6, SX(300), SY( -30), 220, P_ENTER7 },
  359.     { 6, SX(100), SY( -30), 215, P_ENTER6 },
  360.     { 6, SX(300), SY( -30), 210, P_ENTER7 },
  361.     { 6, SX(100), SY( -30), 205, P_ENTER6 },
  362.     { 6, SX(300), SY( -30), 200, P_ENTER7 },
  363. /*--*/  { 7, SX(100), SY( -30), 145, P_ENTER6 },
  364.     { 7, SX(300), SY( -30), 140, P_ENTER7 },
  365.     { 7, SX(100), SY( -30), 135, P_ENTER6 },
  366.     { 7, SX(300), SY( -30), 130, P_ENTER7 },
  367.     { 7, SX(100), SY( -30), 125, P_ENTER6 },
  368.     { 7, SX(300), SY( -30), 120, P_ENTER7 },
  369.     { 7, SX(100), SY( -30), 115, P_ENTER6 },
  370.     { 7, SX(300), SY( -30), 110, P_ENTER7 },
  371.     { 7, SX(100), SY( -30), 105, P_ENTER6 },
  372.     { 7, SX(300), SY( -30), 100, P_ENTER7 },
  373. /*--*/  { 7, SX(100), SY( -30),  45, P_ENTER6 },
  374.     { 7, SX(300), SY( -30),  40, P_ENTER7 },
  375.     { 7, SX(100), SY( -30),  35, P_ENTER6 },
  376.     { 7, SX(300), SY( -30),  30, P_ENTER7 },
  377.     { 7, SX(100), SY( -30),  25, P_ENTER6 },
  378.     { 7, SX(300), SY( -30),  20, P_ENTER7 },
  379.     { 7, SX(100), SY( -30),  15, P_ENTER6 },
  380.     { 7, SX(300), SY( -30),  10, P_ENTER7 },
  381.     { 7, SX(100), SY( -30),   5, P_ENTER6 },
  382.     { 7, SX(300), SY( -30),   0, P_ENTER7 },
  383.                          
  384.     },
  385.     { /*level 4*/
  386.     { 0, SX( -1), SY(  -1),  -1, -1},
  387.     { 0, SX( -1), SY(  -1),  -1, -1},
  388.     { 0, SX( -1), SY(  -1),  -1, -1},
  389.     { 0, SX(100), SY( 530), 405, P_ENTER8 },
  390.     { 0, SX( -1), SY(  -1),  -1, -1},      
  391.     { 0, SX( -1), SY(  -1),  -1, -1},     
  392.     { 0, SX(100), SY( 530), 400, P_ENTER8 },
  393.     { 0, SX( -1), SY(  -1),  -1, -1},      
  394.     { 0, SX( -1), SY(  -1),  -1, -1},
  395.     { 0, SX( -1), SY(  -1),  -1, -1},
  396.  
  397.     { 1, SX( -1), SY(  -1),  -1, -1},
  398.     { 1, SX( -1), SY(  -1),  -1, -1},
  399.     { 1, SX(100), SY( 530), 435, P_ENTER8 },
  400.     { 1, SX(100), SY( 530), 430, P_ENTER8 },
  401.     { 1, SX(100), SY( 530), 425, P_ENTER8 },
  402.     { 1, SX(100), SY( 530), 420, P_ENTER8 },
  403.     { 1, SX(100), SY( 530), 415, P_ENTER8 },
  404.     { 1, SX(100), SY( 530), 410, P_ENTER8 },
  405.     { 1, SX( -1), SY(  -1),  -1, -1},      
  406.     { 1, SX( -1), SY(  -1),  -1, -1},
  407.                        
  408.     { 2, SX(430), SY( 530), 345, P_ENTER12},
  409.     { 2, SX(430), SY( 530), 340, P_ENTER12},
  410.     { 2, SX(430), SY( 530), 335, P_ENTER12},
  411.     { 2, SX(430), SY( 530), 330, P_ENTER12},
  412.     { 2, SX(430), SY( 530), 325, P_ENTER12},
  413.     { 2, SX(430), SY( 530), 320, P_ENTER12},
  414.     { 2, SX(430), SY( 530), 315, P_ENTER12},
  415.     { 2, SX(430), SY( 530), 310, P_ENTER12},
  416.     { 2, SX(430), SY( 530), 305, P_ENTER12},
  417.     { 2, SX(430), SY( 530), 300, P_ENTER12},
  418. /*--*/  { 3, SX(-30), SY( 530), 245, P_ENTER13},
  419.     { 3, SX(-30), SY( 530), 240, P_ENTER13},
  420.     { 3, SX(-30), SY( 530), 235, P_ENTER13},
  421.     { 3, SX(-30), SY( 530), 230, P_ENTER13},
  422.     { 3, SX(-30), SY( 530), 225, P_ENTER13},
  423.     { 3, SX(-30), SY( 530), 220, P_ENTER13},
  424.     { 3, SX(-30), SY( 530), 215, P_ENTER13},
  425.     { 3, SX(-30), SY( 530), 210, P_ENTER13},
  426.     { 3, SX(-30), SY( 530), 205, P_ENTER13},
  427.     { 3, SX(-30), SY( 530), 200, P_ENTER13},
  428. /*--*/  { 7, SX(-30), SY( 250), 145, P_ENTER16},
  429.     { 7, SX(-30), SY( 250), 140, P_ENTER16},
  430.     { 7, SX(-30), SY( 250), 135, P_ENTER16},
  431.     { 7, SX(-30), SY( 250), 130, P_ENTER16},
  432.     { 7, SX(-30), SY( 250), 125, P_ENTER16},
  433.     { 7, SX(-30), SY( 250), 120, P_ENTER16},
  434.     { 7, SX(-30), SY( 250), 115, P_ENTER16},
  435.     { 7, SX(-30), SY( 250), 110, P_ENTER16},
  436.     { 7, SX(-30), SY( 250), 105, P_ENTER16},
  437.     { 7, SX(-30), SY( 250), 100, P_ENTER16},
  438. /*--*/  { 7, SX(430), SY( 250),  45, P_ENTER15},
  439.     { 7, SX(430), SY( 250),  40, P_ENTER15},
  440.     { 7, SX(430), SY( 250),  35, P_ENTER15},
  441.     { 7, SX(430), SY( 250),  30, P_ENTER15},
  442.     { 7, SX(430), SY( 250),  25, P_ENTER15},
  443.     { 7, SX(430), SY( 250),  20, P_ENTER15},
  444.     { 7, SX(430), SY( 250),  15, P_ENTER15},
  445.     { 7, SX(430), SY( 250),  10, P_ENTER15},
  446.     { 7, SX(430), SY( 250),   5, P_ENTER15},
  447.     { 7, SX(430), SY( 250),   0, P_ENTER15},
  448.                          
  449.     },
  450.     { /*level 5*/
  451.     { 0, SX( -1), SY(  -1),  -1, -1},
  452.     { 0, SX( -1), SY(  -1),  -1, -1},
  453.     { 0, SX( -1), SY(  -1),  -1, -1},
  454.     { 0, SX(100), SY( 530), 405, P_ENTER8 },
  455.     { 0, SX( -1), SY(  -1),  -1, -1},      
  456.     { 0, SX( -1), SY(  -1),  -1, -1},     
  457.     { 0, SX(100), SY( 530), 400, P_ENTER8 },
  458.     { 0, SX( -1), SY(  -1),  -1, -1},      
  459.     { 0, SX( -1), SY(  -1),  -1, -1},
  460.     { 0, SX( -1), SY(  -1),  -1, -1},
  461.  
  462.     { 1, SX( -1), SY(  -1),  -1, -1},
  463.     { 1, SX( -1), SY(  -1),  -1, -1},
  464.     { 1, SX(100), SY( 530), 435, P_ENTER8 },
  465.     { 1, SX(100), SY( 530), 430, P_ENTER8 },
  466.     { 1, SX(100), SY( 530), 425, P_ENTER8 },
  467.     { 1, SX(100), SY( 530), 420, P_ENTER8 },
  468.     { 1, SX(100), SY( 530), 415, P_ENTER8 },
  469.     { 1, SX(100), SY( 530), 410, P_ENTER8 },
  470.     { 1, SX( -1), SY(  -1),  -1, -1},      
  471.     { 1, SX( -1), SY(  -1),  -1, -1},
  472.                        
  473.     { 2, SX(430), SY( 530), 345, P_ENTER12},
  474.     { 2, SX(430), SY( 530), 340, P_ENTER12},
  475.     { 2, SX(430), SY( 530), 335, P_ENTER12},
  476.     { 2, SX(430), SY( 530), 330, P_ENTER12},
  477.     { 2, SX(430), SY( 530), 325, P_ENTER12},
  478.     { 2, SX(430), SY( 530), 320, P_ENTER12},
  479.     { 2, SX(430), SY( 530), 315, P_ENTER12},
  480.     { 2, SX(430), SY( 530), 310, P_ENTER12},
  481.     { 2, SX(430), SY( 530), 305, P_ENTER12},
  482.     { 2, SX(430), SY( 530), 300, P_ENTER12},
  483. /*--*/  { 3, SX(-30), SY( 530), 245, P_ENTER13},
  484.     { 3, SX(-30), SY( 530), 240, P_ENTER13},
  485.     { 3, SX(-30), SY( 530), 235, P_ENTER13},
  486.     { 3, SX(-30), SY( 530), 230, P_ENTER13},
  487.     { 3, SX(-30), SY( 530), 225, P_ENTER13},
  488.     { 3, SX(-30), SY( 530), 220, P_ENTER13},
  489.     { 3, SX(-30), SY( 530), 215, P_ENTER13},
  490.     { 3, SX(-30), SY( 530), 210, P_ENTER13},
  491.     { 3, SX(-30), SY( 530), 205, P_ENTER13},
  492.     { 3, SX(-30), SY( 530), 200, P_ENTER13},
  493. /*--*/  { 7, SX(100), SY( 530), 140, P_ENTER8 },
  494.     { 7, SX(300), SY( 530), 140, P_ENTER9 },
  495.     { 7, SX(100), SY( 530), 130, P_ENTER8 },
  496.     { 7, SX(300), SY( 530), 130, P_ENTER9 },
  497.     { 7, SX(100), SY( 530), 120, P_ENTER8 },
  498.     { 7, SX(300), SY( 530), 120, P_ENTER9 },
  499.     { 7, SX(100), SY( 530), 110, P_ENTER8 },
  500.     { 7, SX(300), SY( 530), 110, P_ENTER9 },
  501.     { 7, SX(100), SY( 530), 100, P_ENTER8 },
  502.     { 7, SX(300), SY( 530), 100, P_ENTER9 },
  503. /*--*/  { 7, SX(200), SY( -30),  45, P_ENTER1 },
  504.     { 7, SX(200), SY( -30),  40, P_ENTER2 },
  505.     { 7, SX(200), SY( -30),  35, P_ENTER1 },
  506.     { 7, SX(200), SY( -30),  30, P_ENTER2 },
  507.     { 7, SX(200), SY( -30),  25, P_ENTER1 },
  508.     { 7, SX(200), SY( -30),  20, P_ENTER2 },
  509.     { 7, SX(200), SY( -30),  15, P_ENTER1 },
  510.     { 7, SX(200), SY( -30),  10, P_ENTER2 },
  511.     { 7, SX(200), SY( -30),   5, P_ENTER1 },
  512.     { 7, SX(200), SY( -30),   0, P_ENTER2 },
  513.                          
  514.     },
  515.     { /*level 6*/
  516.     { 0, SX( -1), SY(  -1),  -1, -1},
  517.     { 0, SX( -1), SY(  -1),  -1, -1},
  518.     { 0, SX( -1), SY(  -1),  -1, -1},    
  519.     { 0, SX(-30), SY( 350), 405, P_ENTER14},
  520.     { 0, SX( -1), SY(  -1),  -1, -1},      
  521.     { 0, SX( -1), SY(  -1),  -1, -1},        
  522.     { 0, SX(-30), SY( 350), 400, P_ENTER14},
  523.     { 0, SX( -1), SY(  -1),  -1, -1},      
  524.     { 0, SX( -1), SY(  -1),  -1, -1},
  525.     { 0, SX( -1), SY(  -1),  -1, -1},
  526.  
  527.     { 1, SX( -1), SY(  -1),  -1, -1},
  528.     { 1, SX( -1), SY(  -1),  -1, -1},    
  529.     { 1, SX(-30), SY( 350), 435, P_ENTER14},
  530.     { 1, SX(-30), SY( 350), 430, P_ENTER14},
  531.     { 1, SX(-30), SY( 350), 425, P_ENTER14},
  532.     { 1, SX(-30), SY( 350), 420, P_ENTER14},
  533.     { 1, SX(-30), SY( 350), 415, P_ENTER14},
  534.     { 1, SX(-30), SY( 350), 410, P_ENTER14},
  535.     { 1, SX( -1), SY(  -1),  -1, -1},      
  536.     { 1, SX( -1), SY(  -1),  -1, -1},
  537.                        
  538.     { 2, SX(430), SY( 530), 345, P_ENTER12},
  539.     { 2, SX(430), SY( 530), 340, P_ENTER12},
  540.     { 2, SX(430), SY( 530), 335, P_ENTER12},
  541.     { 2, SX(430), SY( 530), 330, P_ENTER12},
  542.     { 2, SX(430), SY( 530), 325, P_ENTER12},
  543.     { 2, SX(430), SY( 530), 320, P_ENTER12},
  544.     { 2, SX(430), SY( 530), 315, P_ENTER12},
  545.     { 2, SX(430), SY( 530), 310, P_ENTER12},
  546.     { 2, SX(430), SY( 530), 305, P_ENTER12},
  547.     { 2, SX(430), SY( 530), 300, P_ENTER12},
  548. /*--*/  { 6, SX(-30), SY( 530), 245, P_ENTER13},
  549.     { 6, SX(-30), SY( 530), 240, P_ENTER13},
  550.     { 6, SX(-30), SY( 530), 235, P_ENTER13},
  551.     { 6, SX(-30), SY( 530), 230, P_ENTER13},
  552.     { 6, SX(-30), SY( 530), 225, P_ENTER13},
  553.     { 6, SX(-30), SY( 530), 220, P_ENTER13},
  554.     { 6, SX(-30), SY( 530), 215, P_ENTER13},
  555.     { 6, SX(-30), SY( 530), 210, P_ENTER13},
  556.     { 6, SX(-30), SY( 530), 205, P_ENTER13},
  557.     { 6, SX(-30), SY( 530), 200, P_ENTER13},
  558. /*--*/  { 7, SX(100), SY( 530), 145, P_ENTER8 },
  559.     { 7, SX(100), SY( 530), 140, P_ENTER8 },
  560.     { 7, SX(100), SY( 530), 135, P_ENTER8 },
  561.     { 7, SX(100), SY( 530), 130, P_ENTER8 },
  562.     { 7, SX(100), SY( 530), 125, P_ENTER8 },
  563.     { 7, SX(100), SY( 530), 120, P_ENTER8 },
  564.     { 7, SX(100), SY( 530), 115, P_ENTER8 },
  565.     { 7, SX(100), SY( 530), 110, P_ENTER8 },
  566.     { 7, SX(100), SY( 530), 105, P_ENTER8 },
  567.     { 7, SX(100), SY( 530), 100, P_ENTER8 },
  568. /*--*/  { 7, SX(-30), SY( 250),  45, P_ENTER14},
  569.     { 7, SX(-30), SY( 250),  40, P_ENTER14},
  570.     { 7, SX(-30), SY( 250),  35, P_ENTER14},
  571.     { 7, SX(-30), SY( 250),  30, P_ENTER14},
  572.     { 7, SX(-30), SY( 250),  25, P_ENTER14},
  573.     { 7, SX(-30), SY( 250),  20, P_ENTER14},
  574.     { 7, SX(-30), SY( 250),  15, P_ENTER14},
  575.     { 7, SX(-30), SY( 250),  10, P_ENTER14},
  576.     { 7, SX(-30), SY( 250),   5, P_ENTER14},
  577.     { 7, SX(-30), SY( 250),   0, P_ENTER14},                             
  578.     },
  579.  
  580.     { /* level 7 */
  581.     { 0, SX( -1), SY(  -1),  -1, -1},
  582.     { 0, SX( -1), SY(  -1),  -1, -1},
  583.     { 0, SX( -1), SY(  -1),  -1, -1},
  584.     { 0, SX(-30), SY( 250), 406, P_ENTER10},
  585.     { 0, SX( -1), SY(  -1),  -1, -1},      
  586.     { 0, SX( -1), SY(  -1),  -1, -1},     
  587.     { 0, SX(430), SY( 250), 400, P_ENTER11},
  588.     { 0, SX( -1), SY(  -1),  -1, -1},      
  589.     { 0, SX( -1), SY(  -1),  -1, -1},
  590.     { 0, SX( -1), SY(  -1),  -1, -1},
  591.  
  592.     { 1, SX( -1), SY(  -1),  -1, -1},
  593.     { 1, SX( -1), SY(  -1),  -1, -1},
  594.     { 1, SX(-30), SY( 250), 435, P_ENTER10},
  595.     { 1, SX(430), SY( 250), 430, P_ENTER11},
  596.     { 1, SX(-30), SY( 250), 425, P_ENTER10},
  597.     { 1, SX(430), SY( 250), 420, P_ENTER11},
  598.     { 1, SX(-30), SY( 250), 415, P_ENTER10},
  599.     { 1, SX(430), SY( 250), 410, P_ENTER11},
  600.     { 1, SX( -1), SY(  -1),  -1, -1},      
  601.     { 1, SX( -1), SY(  -1),  -1, -1},
  602.                      
  603.     { 2, SX(100), SY( 530), 340, P_ENTER8 },
  604.     { 2, SX(300), SY( 530), 340, P_ENTER9 },
  605.     { 2, SX(100), SY( 530), 330, P_ENTER8 },
  606.     { 2, SX(300), SY( 530), 330, P_ENTER9 },
  607.     { 2, SX(100), SY( 530), 320, P_ENTER8 },
  608.     { 2, SX(300), SY( 530), 320, P_ENTER9 },
  609.     { 2, SX(100), SY( 530), 310, P_ENTER8 },
  610.     { 2, SX(300), SY( 530), 310, P_ENTER9 },
  611.     { 2, SX(100), SY( 530), 300, P_ENTER8 },
  612.     { 2, SX(300), SY( 530), 300, P_ENTER9 },
  613. /*--*/  { 3, SX(100), SY( 530), 240, P_ENTER8 },
  614.     { 3, SX(300), SY( 530), 240, P_ENTER9 },
  615.     { 3, SX(100), SY( 530), 230, P_ENTER8 },
  616.     { 3, SX(300), SY( 530), 230, P_ENTER9 },
  617.     { 3, SX(100), SY( 530), 220, P_ENTER8 },
  618.     { 3, SX(300), SY( 530), 220, P_ENTER9 },
  619.     { 3, SX(100), SY( 530), 210, P_ENTER8 },
  620.     { 3, SX(300), SY( 530), 210, P_ENTER9 },
  621.     { 3, SX(100), SY( 530), 200, P_ENTER8 },
  622.     { 3, SX(300), SY( 530), 200, P_ENTER9 },
  623. /*--*/  { 6, SX(100), SY( 530), 140, P_ENTER8 },
  624.     { 6, SX(300), SY( 530), 140, P_ENTER9 },
  625.     { 6, SX(100), SY( 530), 130, P_ENTER8 },
  626.     { 6, SX(300), SY( 530), 130, P_ENTER9 },
  627.     { 6, SX(100), SY( 530), 120, P_ENTER8 },
  628.     { 6, SX(300), SY( 530), 120, P_ENTER9 },
  629.     { 6, SX(100), SY( 530), 110, P_ENTER8 },
  630.     { 6, SX(300), SY( 530), 110, P_ENTER9 },
  631.     { 6, SX(100), SY( 530), 100, P_ENTER8 },
  632.     { 6, SX(300), SY( 530), 100, P_ENTER9 },
  633. /*--*/  { 6, SX(100), SY( 530),  40, P_ENTER8 },
  634.     { 6, SX(300), SY( 530),  40, P_ENTER9 },
  635.     { 6, SX(100), SY( 530),  30, P_ENTER8 },
  636.     { 6, SX(300), SY( 530),  30, P_ENTER9 },
  637.     { 6, SX(100), SY( 530),  20, P_ENTER8 },
  638.     { 6, SX(300), SY( 530),  20, P_ENTER9 },
  639.     { 6, SX(100), SY( 530),  10, P_ENTER8 },
  640.     { 6, SX(300), SY( 530),  10, P_ENTER9 },
  641.     { 6, SX(100), SY( 530),   0, P_ENTER8 },
  642.     { 6, SX(300), SY( 530),   0, P_ENTER9 },
  643.                          
  644.     },
  645.     { /* level 8 */
  646.     { 0, SX( -1), SY(  -1),  -1, -1},
  647.     { 0, SX( -1), SY(  -1),  -1, -1},
  648.     { 0, SX( -1), SY(  -1),  -1, -1},
  649.     { 0, SX(-30), SY( 250), 405, P_ENTER16},
  650.     { 0, SX( -1), SY(  -1),  -1, -1},         
  651.     { 0, SX( -1), SY(  -1),  -1, -1},        
  652.     { 0, SX(-30), SY( 250), 400, P_ENTER16},
  653.     { 0, SX( -1), SY(  -1),  -1, -1},         
  654.     { 0, SX( -1), SY(  -1),  -1, -1},     
  655.     { 0, SX( -1), SY(  -1),  -1, -1},     
  656.                       
  657.     { 1, SX( -1), SY(  -1),  -1, -1},     
  658.     { 1, SX( -1), SY(  -1),  -1, -1},     
  659.     { 1, SX(-30), SY( 250), 435, P_ENTER16},
  660.     { 1, SX(-30), SY( 250), 430, P_ENTER16},
  661.     { 1, SX(-30), SY( 250), 425, P_ENTER16},
  662.     { 1, SX(-30), SY( 250), 420, P_ENTER16},
  663.     { 1, SX(-30), SY( 250), 415, P_ENTER16},
  664.     { 1, SX(-30), SY( 250), 410, P_ENTER16},
  665.     { 1, SX( -1), SY(  -1),  -1, -1},         
  666.     { 1, SX( -1), SY(  -1),  -1, -1},
  667.                      
  668.     { 6, SX(-30), SY( 530), 340, P_ENTER13},
  669.     { 6, SX(430), SY( 530), 340, P_ENTER12},
  670.     { 6, SX(-30), SY( 530), 330, P_ENTER13},
  671.     { 6, SX(430), SY( 530), 330, P_ENTER12},
  672.     { 6, SX(-30), SY( 530), 320, P_ENTER13},
  673.     { 6, SX(430), SY( 530), 320, P_ENTER12},
  674.     { 6, SX(-30), SY( 530), 310, P_ENTER13},
  675.     { 6, SX(430), SY( 530), 310, P_ENTER12},
  676.     { 6, SX(-30), SY( 530), 300, P_ENTER13},
  677.     { 6, SX(430), SY( 530), 300, P_ENTER12},
  678. /*--*/  { 7, SX(200), SY( -30), 245, P_ENTER2 },
  679.     { 7, SX(200), SY( -30), 240, P_ENTER2 },
  680.     { 7, SX(200), SY( -30), 235, P_ENTER2 },
  681.     { 7, SX(200), SY( -30), 230, P_ENTER2 },
  682.     { 7, SX(200), SY( -30), 225, P_ENTER2 },
  683.     { 7, SX(200), SY( -30), 220, P_ENTER2 },
  684.     { 7, SX(200), SY( -30), 215, P_ENTER2 },
  685.     { 7, SX(200), SY( -30), 210, P_ENTER2 },
  686.     { 7, SX(200), SY( -30), 205, P_ENTER2 },
  687.     { 7, SX(200), SY( -30), 200, P_ENTER2 },
  688. /*--*/  { 8, SX(200), SY( -30),  95, P_ENTER17},
  689.     { 8, SX(200), SY( -30),  90, P_ENTER17},
  690.     { 8, SX(200), SY( -30),  85, P_ENTER17},
  691.     { 8, SX(200), SY( -30),  80, P_ENTER17},
  692.     { 8, SX(200), SY( -30),  75, P_ENTER17},
  693.     { 8, SX(200), SY( -30),  70, P_ENTER17},
  694.     { 8, SX(200), SY( -30),  65, P_ENTER17},
  695.     { 8, SX(200), SY( -30),  60, P_ENTER17},
  696.     { 8, SX(200), SY( -30),  55, P_ENTER17},
  697.     { 8, SX(200), SY( -30),  50, P_ENTER17},
  698. /*--*/  { 8, SX(200), SY( -30),  45, P_ENTER17},
  699.     { 8, SX(200), SY( -30),  40, P_ENTER17},
  700.     { 8, SX(200), SY( -30),  35, P_ENTER17},
  701.     { 8, SX(200), SY( -30),  30, P_ENTER17},
  702.     { 8, SX(200), SY( -30),  25, P_ENTER17},
  703.     { 8, SX(200), SY( -30),  20, P_ENTER17},
  704.     { 8, SX(200), SY( -30),  15, P_ENTER17},
  705.     { 8, SX(200), SY( -30),  10, P_ENTER17},
  706.     { 8, SX(200), SY( -30),   5, P_ENTER17},
  707.     { 8, SX(200), SY( -30),   0, P_ENTER17},
  708.                          
  709.     },
  710.     { /* level 9 */
  711.     { 0, SX( -1), SY(  -1),  -1, -1},
  712.     { 0, SX( -1), SY(  -1),  -1, -1},
  713.     { 0, SX( -1), SY(  -1),  -1, -1},
  714.     { 0, SX(-30), SY( 250), 405, P_ENTER16},
  715.     { 0, SX( -1), SY(  -1),  -1, -1},         
  716.     { 0, SX( -1), SY(  -1),  -1, -1},        
  717.     { 0, SX(-30), SY( 250), 400, P_ENTER16},
  718.     { 0, SX( -1), SY(  -1),  -1, -1},         
  719.     { 0, SX( -1), SY(  -1),  -1, -1},     
  720.     { 0, SX( -1), SY(  -1),  -1, -1},     
  721.                           
  722.     { 1, SX( -1), SY(  -1),  -1, -1},     
  723.     { 1, SX( -1), SY(  -1),  -1, -1},     
  724.     { 1, SX(-30), SY( 250), 435, P_ENTER16},
  725.     { 1, SX(-30), SY( 250), 430, P_ENTER16},
  726.     { 1, SX(-30), SY( 250), 425, P_ENTER16},
  727.     { 1, SX(-30), SY( 250), 420, P_ENTER16},
  728.     { 1, SX(-30), SY( 250), 415, P_ENTER16},
  729.     { 1, SX(-30), SY( 250), 410, P_ENTER16},
  730.     { 1, SX( -1), SY(  -1),  -1, -1},         
  731.     { 1, SX( -1), SY(  -1),  -1, -1},
  732.                      
  733.     { 6, SX(100), SY( 530), 340, P_ENTER8 },
  734.     { 6, SX(300), SY( 530), 340, P_ENTER9 },
  735.     { 6, SX(100), SY( 530), 330, P_ENTER8 },
  736.     { 6, SX(300), SY( 530), 330, P_ENTER9 },
  737.     { 6, SX(100), SY( 530), 320, P_ENTER8 },
  738.     { 6, SX(300), SY( 530), 320, P_ENTER9 },
  739.     { 6, SX(100), SY( 530), 310, P_ENTER8 },
  740.     { 6, SX(300), SY( 530), 310, P_ENTER9 },
  741.     { 6, SX(100), SY( 530), 300, P_ENTER8 },
  742.     { 6, SX(300), SY( 530), 300, P_ENTER9 },
  743. /*--*/  { 7, SX(200), SY( -30), 245, P_ENTER1 },
  744.     { 7, SX(200), SY( -30), 240, P_ENTER1 },
  745.     { 7, SX(200), SY( -30), 235, P_ENTER1 },
  746.     { 7, SX(200), SY( -30), 230, P_ENTER1 },
  747.     { 7, SX(200), SY( -30), 225, P_ENTER1 },
  748.     { 7, SX(200), SY( -30), 220, P_ENTER1 },
  749.     { 7, SX(200), SY( -30), 215, P_ENTER1 },
  750.     { 7, SX(200), SY( -30), 210, P_ENTER1 },
  751.     { 7, SX(200), SY( -30), 205, P_ENTER1 },
  752.     { 7, SX(200), SY( -30), 200, P_ENTER1 },
  753. /*--*/  { 8, SX(430), SY( 530), 145, P_ENTER12},
  754.     { 8, SX(430), SY( 530), 140, P_ENTER12},
  755.     { 8, SX(430), SY( 530), 135, P_ENTER12},
  756.     { 8, SX(430), SY( 530), 130, P_ENTER12},
  757.     { 8, SX(430), SY( 530), 125, P_ENTER12},
  758.     { 8, SX(430), SY( 530), 120, P_ENTER12},
  759.     { 8, SX(430), SY( 530), 115, P_ENTER12},
  760.     { 8, SX(430), SY( 530), 110, P_ENTER12},
  761.     { 8, SX(430), SY( 530), 105, P_ENTER12},
  762.     { 8, SX(430), SY( 530), 100, P_ENTER12},
  763. /*--*/  { 9, SX(360), SY( -30),   0, P_ENTER17},/* muahaha! */ 
  764.     { 9, SX(320), SY( -30),   0, P_ENTER17},
  765.     { 9, SX(280), SY( -30),   0, P_ENTER17},
  766.     { 9, SX(240), SY( -30),   0, P_ENTER17},
  767.     { 9, SX(200), SY( -30),   0, P_ENTER17},
  768.     { 9, SX(160), SY( -30),   0, P_ENTER17},
  769.     { 9, SX(120), SY( -30),   0, P_ENTER17},
  770.     { 9, SX( 80), SY( -30),   0, P_ENTER17},
  771.     { 9, SX( 40), SY( -30),   0, P_ENTER17},
  772.     { 9, SX(  0), SY( -30),   0, P_ENTER17},
  773.                             
  774.     },
  775.     { /* level 10 */
  776.     { 0, SX( -1), SY(  -1),  -1, -1},
  777.     { 0, SX( -1), SY(  -1),  -1, -1},
  778.     { 0, SX( -1), SY(  -1),  -1, -1},
  779.     { 0, SX(-30), SY( 250), 405, P_ENTER10},
  780.     { 0, SX( -1), SY(  -1),  -1, -1},      
  781.     { 0, SX( -1), SY(  -1),  -1, -1},     
  782.     { 0, SX(430), SY( 250), 400, P_ENTER11},
  783.     { 0, SX( -1), SY(  -1),  -1, -1},      
  784.     { 0, SX( -1), SY(  -1),  -1, -1},
  785.     { 0, SX( -1), SY(  -1),  -1, -1},
  786.       
  787.     { 1, SX( -1), SY(  -1),  -1, -1},
  788.     { 1, SX( -1), SY(  -1),  -1, -1},
  789.     { 1, SX(-30), SY( 250), 435, P_ENTER10},
  790.     { 1, SX(430), SY( 250), 430, P_ENTER11},
  791.     { 1, SX(-30), SY( 250), 425, P_ENTER10},
  792.     { 1, SX(430), SY( 250), 420, P_ENTER11},
  793.     { 1, SX(-30), SY( 250), 415, P_ENTER10},
  794.     { 1, SX(430), SY( 250), 410, P_ENTER11},
  795.     { 1, SX( -1), SY(  -1),  -1, -1},      
  796.     { 1, SX( -1), SY(  -1),  -1, -1},
  797.                                  
  798.     { 7, SX(200), SY( -30), 345, P_ENTER2 },
  799.     { 7, SX(200), SY( -30), 340, P_ENTER1 },
  800.     { 7, SX(200), SY( -30), 335, P_ENTER2 },
  801.     { 7, SX(200), SY( -30), 330, P_ENTER1 },
  802.     { 7, SX(200), SY( -30), 325, P_ENTER2 },
  803.     { 7, SX(200), SY( -30), 320, P_ENTER1 },
  804.     { 7, SX(200), SY( -30), 315, P_ENTER2 },
  805.     { 7, SX(200), SY( -30), 310, P_ENTER1 },
  806.     { 7, SX(200), SY( -30), 305, P_ENTER2 },
  807.     { 7, SX(200), SY( -30), 300, P_ENTER1 },
  808. /*--*/  { 8, SX(430), SY( 250), 245, P_ENTER15},
  809.     { 8, SX(-30), SY( 250), 240, P_ENTER16},
  810.     { 8, SX(430), SY( 250), 235, P_ENTER15},
  811.     { 8, SX(-30), SY( 250), 230, P_ENTER16},
  812.     { 8, SX(430), SY( 250), 225, P_ENTER15},
  813.     { 8, SX(-30), SY( 250), 220, P_ENTER16},
  814.     { 8, SX(430), SY( 250), 215, P_ENTER15},
  815.     { 8, SX(-30), SY( 250), 210, P_ENTER16},
  816.     { 8, SX(430), SY( 250), 205, P_ENTER15},
  817.     { 8, SX(-30), SY( 250), 200, P_ENTER16},
  818. /*--*/  { 9, SX(100), SY( 530), 145, P_ENTER8 },
  819.     { 9, SX(300), SY( 530), 140, P_ENTER9 },
  820.     { 9, SX(100), SY( 530), 135, P_ENTER8 },
  821.     { 9, SX(300), SY( 530), 130, P_ENTER9 },
  822.     { 9, SX(100), SY( 530), 125, P_ENTER8 },
  823.     { 9, SX(300), SY( 530), 120, P_ENTER9 },
  824.     { 9, SX(100), SY( 530), 115, P_ENTER8 },
  825.     { 9, SX(300), SY( 530), 110, P_ENTER9 },
  826.     { 9, SX(100), SY( 530), 105, P_ENTER8 },
  827.     { 9, SX(300), SY( 530), 100, P_ENTER9 },
  828. /*--*/  {10, SX(430), SY( 250),  45, P_ENTER18},
  829.     {10, SX(430), SY( 250),  40, P_ENTER18},
  830.     {10, SX(430), SY( 250),  35, P_ENTER18},
  831.     {10, SX(430), SY( 250),  30, P_ENTER18},
  832.     {10, SX(430), SY( 250),  25, P_ENTER18},
  833.     {10, SX(430), SY( 250),  20, P_ENTER18},
  834.     {10, SX(430), SY( 250),  15, P_ENTER18},
  835.     {10, SX(430), SY( 250),  10, P_ENTER18},
  836.     {10, SX(430), SY( 250),   5, P_ENTER18},
  837.     {10, SX(430), SY( 250),   0, P_ENTER18},
  838.                          
  839.     },
  840.     { /* level 11 */
  841.     {11, SX( -1), SY(  -1),  -1, -1},
  842.     {11, SX( -1), SY(  -1),  -1, -1},
  843.     {11, SX( -1), SY(  -1),  -1, -1},
  844.     {11, SX(-30), SY( 250), 405, P_ENTER10},
  845.     {11, SX( -1), SY(  -1),  -1, -1},      
  846.     {11, SX( -1), SY(  -1),  -1, -1},     
  847.     {11, SX(430), SY( 250), 400, P_ENTER11},
  848.     {11, SX( -1), SY(  -1),  -1, -1},      
  849.     {11, SX( -1), SY(  -1),  -1, -1},
  850.     {11, SX( -1), SY(  -1),  -1, -1},
  851.       
  852.     {12, SX( -1), SY(  -1),  -1, -1},
  853.     {12, SX( -1), SY(  -1),  -1, -1},
  854.     {12, SX(-30), SY( 250), 435, P_ENTER10},
  855.     {12, SX(430), SY( 250), 430, P_ENTER11},
  856.     {12, SX(-30), SY( 250), 425, P_ENTER10},
  857.     {12, SX(430), SY( 250), 420, P_ENTER11},
  858.     {12, SX(-30), SY( 250), 415, P_ENTER10},
  859.     {12, SX(430), SY( 250), 410, P_ENTER11},
  860.     {12, SX( -1), SY(  -1),  -1, -1},      
  861.     {12, SX( -1), SY(  -1),  -1, -1},
  862.                                  
  863.     {13, SX(200), SY( -30), 345, P_ENTER2 },
  864.     {13, SX(200), SY( -30), 340, P_ENTER1 },
  865.     {13, SX(200), SY( -30), 335, P_ENTER2 },
  866.     {13, SX(200), SY( -30), 330, P_ENTER1 },
  867.     {13, SX(200), SY( -30), 325, P_ENTER2 },
  868.     {13, SX(200), SY( -30), 320, P_ENTER1 },
  869.     {13, SX(200), SY( -30), 315, P_ENTER2 },
  870.     {13, SX(200), SY( -30), 310, P_ENTER1 },
  871.     {13, SX(200), SY( -30), 305, P_ENTER2 },
  872.     {13, SX(200), SY( -30), 300, P_ENTER1 },
  873. /*--*/  {14, SX(430), SY( 530), 245, P_ENTER12},
  874.     {14, SX(-30), SY( 530), 240, P_ENTER13},
  875.     {14, SX(430), SY( 530), 235, P_ENTER12},
  876.     {14, SX(-30), SY( 530), 230, P_ENTER13},
  877.     {14, SX(430), SY( 530), 225, P_ENTER12},
  878.     {14, SX(-30), SY( 530), 220, P_ENTER13},
  879.     {14, SX(430), SY( 530), 215, P_ENTER12},
  880.     {14, SX(-30), SY( 530), 210, P_ENTER13},
  881.     {14, SX(430), SY( 530), 205, P_ENTER12},
  882.     {14, SX(-30), SY( 530), 200, P_ENTER13},
  883. /*--*/  {15, SX(-30), SY( 530), 145, P_ENTER13},
  884.     {15, SX(-30), SY( 530), 140, P_ENTER13},
  885.     {15, SX(-30), SY( 530), 135, P_ENTER13},
  886.     {15, SX(-30), SY( 530), 130, P_ENTER13},
  887.     {15, SX(-30), SY( 530), 125, P_ENTER13},
  888.     {15, SX(-30), SY( 530), 120, P_ENTER13},
  889.     {15, SX(-30), SY( 530), 115, P_ENTER13},
  890.     {15, SX(-30), SY( 530), 110, P_ENTER13},
  891.     {15, SX(-30), SY( 530), 105, P_ENTER13},
  892.     {15, SX(-30), SY( 530), 100, P_ENTER13},
  893. /*--*/  {16, SX(430), SY( 530),  45, P_ENTER12},
  894.     {16, SX(430), SY( 530),  40, P_ENTER12},
  895.     {16, SX(430), SY( 530),  35, P_ENTER12},
  896.     {16, SX(430), SY( 530),  30, P_ENTER12},
  897.     {16, SX(430), SY( 530),  25, P_ENTER12},
  898.     {16, SX(430), SY( 530),  20, P_ENTER12},
  899.     {16, SX(430), SY( 530),  15, P_ENTER12},
  900.     {16, SX(430), SY( 530),  10, P_ENTER12},
  901.     {16, SX(430), SY( 530),   5, P_ENTER12},
  902.     {16, SX(430), SY( 530),   0, P_ENTER12},
  903.     },                           
  904.     { /* level 12 */                    
  905.         {11, SX( -1), SY(  -1),  -1, -1},       
  906.         {11, SX( -1), SY(  -1),  -1, -1},       
  907.         {11, SX( -1), SY(  -1),  -1, -1},       
  908.         {11, SX(-30), SY( 250), 405, P_ENTER10},
  909.         {11, SX( -1), SY(  -1),  -1, -1},         
  910.         {11, SX( -1), SY(  -1),  -1, -1},        
  911.         {11, SX(430), SY( 250), 400, P_ENTER11},
  912.         {11, SX( -1), SY(  -1),  -1, -1},         
  913.         {11, SX( -1), SY(  -1),  -1, -1},       
  914.         {11, SX( -1), SY(  -1),  -1, -1},       
  915.                                         
  916.         {12, SX( -1), SY(  -1),  -1, -1},       
  917.         {12, SX( -1), SY(  -1),  -1, -1},       
  918.         {12, SX(-30), SY( 250), 435, P_ENTER10},
  919.         {12, SX(430), SY( 250), 430, P_ENTER11},
  920.         {12, SX(-30), SY( 250), 425, P_ENTER10},
  921.         {12, SX(430), SY( 250), 420, P_ENTER11},
  922.         {12, SX(-30), SY( 250), 415, P_ENTER10},
  923.         {12, SX(430), SY( 250), 410, P_ENTER11},
  924.         {12, SX( -1), SY(  -1),  -1, -1},         
  925.         {12, SX( -1), SY(  -1),  -1, -1},       
  926.                                         
  927.         {13, SX(200), SY( -30), 345, P_ENTER2 },
  928.         {13, SX(200), SY( -30), 340, P_ENTER1 },
  929.         {13, SX(200), SY( -30), 335, P_ENTER2 },
  930.         {13, SX(200), SY( -30), 330, P_ENTER1 },
  931.         {13, SX(200), SY( -30), 325, P_ENTER2 },
  932.         {13, SX(200), SY( -30), 320, P_ENTER1 },
  933.         {13, SX(200), SY( -30), 315, P_ENTER2 },
  934.         {13, SX(200), SY( -30), 310, P_ENTER1 },
  935.         {13, SX(200), SY( -30), 305, P_ENTER2 },
  936.         {13, SX(200), SY( -30), 300, P_ENTER1 },
  937. /*--*/  {14, SX(430), SY( 250), 245, P_ENTER15},
  938.         {14, SX(-30), SY( 250), 240, P_ENTER16},
  939.         {14, SX(430), SY( 250), 235, P_ENTER15},
  940.         {14, SX(-30), SY( 250), 230, P_ENTER16},
  941.         {14, SX(430), SY( 250), 225, P_ENTER15},
  942.         {14, SX(-30), SY( 250), 220, P_ENTER16},
  943.         {14, SX(430), SY( 250), 215, P_ENTER15},
  944.         {14, SX(-30), SY( 250), 210, P_ENTER16},
  945.         {14, SX(430), SY( 250), 205, P_ENTER15},
  946.         {14, SX(-30), SY( 250), 200, P_ENTER16},
  947. /*--*/  {15, SX(360), SY( -30), 100, P_ENTER17},
  948.         {15, SX(320), SY( -30), 100, P_ENTER17},
  949.         {15, SX(280), SY( -30), 100, P_ENTER17},
  950.         {15, SX(240), SY( -30), 100, P_ENTER17},
  951.         {15, SX(200), SY( -30), 100, P_ENTER17},
  952.         {15, SX(160), SY( -30), 100, P_ENTER17},
  953.         {15, SX(120), SY( -30), 100, P_ENTER17},
  954.         {15, SX( 80), SY( -30), 100, P_ENTER17},
  955.         {15, SX( 40), SY( -30), 100, P_ENTER17},
  956.         {15, SX(  0), SY( -30), 100, P_ENTER17},
  957. /*--*/  {16, SX(360), SY( -30),   0, P_ENTER17},
  958.         {16, SX(320), SY( -30),   0, P_ENTER17},
  959.         {16, SX(280), SY( -30),   0, P_ENTER17},
  960.         {16, SX(240), SY( -30),   0, P_ENTER17},
  961.         {16, SX(200), SY( -30),   0, P_ENTER17},
  962.         {16, SX(160), SY( -30),   0, P_ENTER17},
  963.         {16, SX(120), SY( -30),   0, P_ENTER17},
  964.         {16, SX( 80), SY( -30),   0, P_ENTER17},
  965.         {16, SX( 40), SY( -30),   0, P_ENTER17},
  966.         {16, SX(  0), SY( -30),   0, P_ENTER17},
  967.     },                                 
  968.     { /* level 13 */                    
  969.         {11, SX( -1), SY(  -1),  -1, -1},       
  970.         {11, SX( -1), SY(  -1),  -1, -1},       
  971.         {11, SX( -1), SY(  -1),  -1, -1},       
  972.         {11, SX(-30), SY( 250), 405, P_ENTER10},
  973.         {11, SX( -1), SY(  -1),  -1, -1},         
  974.         {11, SX( -1), SY(  -1),  -1, -1},        
  975.         {11, SX(430), SY( 250), 400, P_ENTER11},
  976.         {11, SX( -1), SY(  -1),  -1, -1},         
  977.         {11, SX( -1), SY(  -1),  -1, -1},       
  978.         {11, SX( -1), SY(  -1),  -1, -1},       
  979.                                         
  980.         {12, SX( -1), SY(  -1),  -1, -1},       
  981.         {12, SX( -1), SY(  -1),  -1, -1},       
  982.         {12, SX(-30), SY( 250), 435, P_ENTER10},
  983.         {12, SX(430), SY( 250), 430, P_ENTER11},
  984.         {12, SX(-30), SY( 250), 425, P_ENTER10},
  985.         {12, SX(430), SY( 250), 420, P_ENTER11},
  986.         {12, SX(-30), SY( 250), 415, P_ENTER10},
  987.         {12, SX(430), SY( 250), 410, P_ENTER11},
  988.         {12, SX( -1), SY(  -1),  -1, -1},         
  989.         {12, SX( -1), SY(  -1),  -1, -1},       
  990.                                         
  991.         {13, SX(200), SY( -30), 345, P_ENTER2 },
  992.         {13, SX(200), SY( -30), 340, P_ENTER1 },
  993.         {13, SX(200), SY( -30), 335, P_ENTER2 },
  994.         {13, SX(200), SY( -30), 330, P_ENTER1 },
  995.         {13, SX(200), SY( -30), 325, P_ENTER2 },
  996.         {13, SX(200), SY( -30), 320, P_ENTER1 },
  997.         {13, SX(200), SY( -30), 315, P_ENTER2 },
  998.         {13, SX(200), SY( -30), 310, P_ENTER1 },
  999.         {13, SX(200), SY( -30), 305, P_ENTER2 },
  1000.         {13, SX(200), SY( -30), 300, P_ENTER1 },
  1001. /*--*/  {14, SX(430), SY( 250), 245, P_ENTER15},
  1002.         {14, SX(-30), SY( 250), 240, P_ENTER16},
  1003.         {14, SX(430), SY( 250), 235, P_ENTER15},
  1004.         {14, SX(-30), SY( 250), 230, P_ENTER16},
  1005.         {14, SX(430), SY( 250), 225, P_ENTER15},
  1006.         {14, SX(-30), SY( 250), 220, P_ENTER16},
  1007.         {14, SX(430), SY( 250), 215, P_ENTER15},
  1008.         {14, SX(-30), SY( 250), 210, P_ENTER16},
  1009.         {14, SX(430), SY( 250), 205, P_ENTER15},
  1010.         {14, SX(-30), SY( 250), 200, P_ENTER16},
  1011. /*--*/  {15, SX(100), SY( 530), 145, P_ENTER8 },
  1012.         {15, SX(300), SY( 530), 140, P_ENTER9 },
  1013.         {15, SX(100), SY( 530), 135, P_ENTER8 },
  1014.         {15, SX(300), SY( 530), 130, P_ENTER9 },
  1015.         {15, SX(100), SY( 530), 125, P_ENTER8 },
  1016.         {15, SX(300), SY( 530), 120, P_ENTER9 },
  1017.         {15, SX(100), SY( 530), 115, P_ENTER8 },
  1018.         {15, SX(300), SY( 530), 110, P_ENTER9 },
  1019.         {15, SX(100), SY( 530), 105, P_ENTER8 },
  1020.         {15, SX(300), SY( 530), 100, P_ENTER9 },
  1021. /*--*/  {16, SX(100), SY( 530),  40, P_ENTER8 },
  1022.         {16, SX(300), SY( 530),  40, P_ENTER9 },
  1023.         {16, SX(100), SY( 530),  30, P_ENTER8 },
  1024.         {16, SX(300), SY( 530),  30, P_ENTER9 },
  1025.         {16, SX(100), SY( 530),  20, P_ENTER8 },
  1026.         {16, SX(300), SY( 530),  20, P_ENTER9 },
  1027.         {16, SX(100), SY( 530),  10, P_ENTER8 },
  1028.         {16, SX(300), SY( 530),  10, P_ENTER9 },
  1029.         {16, SX(100), SY( 530),   0, P_ENTER8 },
  1030.         {16, SX(300), SY( 530),   0, P_ENTER9 },
  1031.     },
  1032.     { /* level 14 */                    
  1033.         {11, SX( -1), SY(  -1),  -1, -1},       
  1034.         {11, SX( -1), SY(  -1),  -1, -1},       
  1035.         {11, SX( -1), SY(  -1),  -1, -1},       
  1036.         {11, SX(-30), SY( 250), 405, P_ENTER10},
  1037.         {11, SX( -1), SY(  -1),  -1, -1},         
  1038.         {11, SX( -1), SY(  -1),  -1, -1},        
  1039.         {11, SX(430), SY( 250), 400, P_ENTER11},
  1040.         {11, SX( -1), SY(  -1),  -1, -1},         
  1041.         {11, SX( -1), SY(  -1),  -1, -1},       
  1042.         {11, SX( -1), SY(  -1),  -1, -1},       
  1043.                                         
  1044.         {12, SX( -1), SY(  -1),  -1, -1},       
  1045.         {12, SX( -1), SY(  -1),  -1, -1},       
  1046.         {12, SX(-30), SY( 250), 435, P_ENTER10},
  1047.         {12, SX(430), SY( 250), 430, P_ENTER11},
  1048.         {12, SX(-30), SY( 250), 425, P_ENTER10},
  1049.         {12, SX(430), SY( 250), 420, P_ENTER11},
  1050.         {12, SX(-30), SY( 250), 415, P_ENTER10},
  1051.         {12, SX(430), SY( 250), 410, P_ENTER11},
  1052.         {12, SX( -1), SY(  -1),  -1, -1},         
  1053.         {12, SX( -1), SY(  -1),  -1, -1},       
  1054.                                         
  1055.         {13, SX(430), SY( 250), 345, P_ENTER18},
  1056.         {13, SX(430), SY( 250), 340, P_ENTER18},
  1057.         {13, SX(430), SY( 250), 335, P_ENTER18},
  1058.         {13, SX(430), SY( 250), 330, P_ENTER18},
  1059.         {13, SX(430), SY( 250), 325, P_ENTER18},
  1060.         {13, SX(430), SY( 250), 320, P_ENTER18},
  1061.         {13, SX(430), SY( 250), 315, P_ENTER18},
  1062.         {13, SX(430), SY( 250), 310, P_ENTER18},
  1063.         {13, SX(430), SY( 250), 305, P_ENTER18},
  1064.         {13, SX(430), SY( 250), 300, P_ENTER18},
  1065. /*--*/  {14, SX(430), SY( 250), 245, P_ENTER18},
  1066.         {14, SX(430), SY( 250), 240, P_ENTER18},
  1067.         {14, SX(430), SY( 250), 235, P_ENTER18},
  1068.         {14, SX(430), SY( 250), 230, P_ENTER18},
  1069.         {14, SX(430), SY( 250), 225, P_ENTER18},
  1070.         {14, SX(430), SY( 250), 220, P_ENTER18},
  1071.         {14, SX(430), SY( 250), 215, P_ENTER18},
  1072.         {14, SX(430), SY( 250), 210, P_ENTER18},
  1073.         {14, SX(430), SY( 250), 205, P_ENTER18},
  1074.         {14, SX(430), SY( 250), 200, P_ENTER18},
  1075. /*--*/  {15, SX(-30), SY( -30), 145, P_ENTER20},
  1076.         {15, SX(-30), SY( -30), 140, P_ENTER20},
  1077.         {15, SX(-30), SY( -30), 135, P_ENTER20},
  1078.         {15, SX(-30), SY( -30), 130, P_ENTER20},
  1079.         {15, SX(-30), SY( -30), 125, P_ENTER20},
  1080.         {15, SX(-30), SY( -30), 120, P_ENTER20},
  1081.         {15, SX(-30), SY( -30), 115, P_ENTER20},
  1082.         {15, SX(-30), SY( -30), 110, P_ENTER20},
  1083.         {15, SX(-30), SY( -30), 105, P_ENTER20},
  1084.         {15, SX(-30), SY( -30), 100, P_ENTER20},
  1085. /*--*/  {16, SX(430), SY( -30),  45, P_ENTER19},
  1086.         {16, SX(430), SY( -30),  40, P_ENTER19},
  1087.         {16, SX(430), SY( -30),  35, P_ENTER19},
  1088.         {16, SX(430), SY( -30),  30, P_ENTER19},
  1089.         {16, SX(430), SY( -30),  25, P_ENTER19},
  1090.         {16, SX(430), SY( -30),  20, P_ENTER19},
  1091.         {16, SX(430), SY( -30),  15, P_ENTER19},
  1092.         {16, SX(430), SY( -30),  10, P_ENTER19},
  1093.         {16, SX(430), SY( -30),   5, P_ENTER19},
  1094.         {16, SX(430), SY( -30),   0, P_ENTER19},
  1095.     },                               
  1096.     { /* level 15 */                    
  1097.         {11, SX( -1), SY(  -1),  -1, -1},       
  1098.         {11, SX( -1), SY(  -1),  -1, -1},       
  1099.         {11, SX( -1), SY(  -1),  -1, -1},       
  1100.         {11, SX(-30), SY( 250), 405, P_ENTER10},
  1101.         {11, SX( -1), SY(  -1),  -1, -1},         
  1102.         {11, SX( -1), SY(  -1),  -1, -1},        
  1103.         {11, SX(430), SY( 250), 400, P_ENTER11},
  1104.         {11, SX( -1), SY(  -1),  -1, -1},         
  1105.         {11, SX( -1), SY(  -1),  -1, -1},       
  1106.         {11, SX( -1), SY(  -1),  -1, -1},       
  1107.                                         
  1108.         {12, SX( -1), SY(  -1),  -1, -1},       
  1109.         {12, SX( -1), SY(  -1),  -1, -1},       
  1110.         {12, SX(-30), SY( 250), 435, P_ENTER10},
  1111.         {12, SX(430), SY( 250), 430, P_ENTER11},
  1112.         {12, SX(-30), SY( 250), 425, P_ENTER10},
  1113.         {12, SX(430), SY( 250), 420, P_ENTER11},
  1114.         {12, SX(-30), SY( 250), 415, P_ENTER10},
  1115.         {12, SX(430), SY( 250), 410, P_ENTER11},
  1116.         {12, SX( -1), SY(  -1),  -1, -1},         
  1117.         {12, SX( -1), SY(  -1),  -1, -1},       
  1118.                                         
  1119.         {13, SX(200), SY( -30), 345, P_ENTER2 },
  1120.         {13, SX(200), SY( -30), 340, P_ENTER1 },
  1121.         {13, SX(200), SY( -30), 335, P_ENTER2 },
  1122.         {13, SX(200), SY( -30), 330, P_ENTER1 },
  1123.         {13, SX(200), SY( -30), 325, P_ENTER2 },
  1124.         {13, SX(200), SY( -30), 320, P_ENTER1 },
  1125.         {13, SX(200), SY( -30), 315, P_ENTER2 },
  1126.         {13, SX(200), SY( -30), 310, P_ENTER1 },
  1127.         {13, SX(200), SY( -30), 305, P_ENTER2 },
  1128.         {13, SX(200), SY( -30), 300, P_ENTER1 },
  1129. /*--*/  {14, SX(430), SY( 250), 245, P_ENTER15},
  1130.         {14, SX(-30), SY( 250), 240, P_ENTER16},
  1131.         {14, SX(430), SY( 250), 235, P_ENTER15},
  1132.         {14, SX(-30), SY( 250), 230, P_ENTER16},
  1133.         {14, SX(430), SY( 250), 225, P_ENTER15},
  1134.         {14, SX(-30), SY( 250), 220, P_ENTER16},
  1135.         {14, SX(430), SY( 250), 215, P_ENTER15},
  1136.         {14, SX(-30), SY( 250), 210, P_ENTER16},
  1137.         {14, SX(430), SY( 250), 205, P_ENTER15},
  1138.         {14, SX(-30), SY( 250), 200, P_ENTER16},
  1139. /*--*/  {15, SX(100), SY( 530), 145, P_ENTER8 },
  1140.         {15, SX(300), SY( 530), 140, P_ENTER9 },
  1141.         {15, SX(100), SY( 530), 135, P_ENTER8 },
  1142.         {15, SX(300), SY( 530), 130, P_ENTER9 },
  1143.         {15, SX(100), SY( 530), 125, P_ENTER8 },
  1144.         {15, SX(300), SY( 530), 120, P_ENTER9 },
  1145.         {15, SX(100), SY( 530), 115, P_ENTER8 },
  1146.         {15, SX(300), SY( 530), 110, P_ENTER9 },
  1147.         {15, SX(100), SY( 530), 105, P_ENTER8 },
  1148.         {15, SX(300), SY( 530), 100, P_ENTER9 },
  1149. /*--*/  {16, SX(100), SY( 530),  40, P_ENTER8 },
  1150.         {16, SX(300), SY( 530),  40, P_ENTER9 },
  1151.         {16, SX(100), SY( 530),  30, P_ENTER8 },
  1152.         {16, SX(300), SY( 530),  30, P_ENTER9 },
  1153.         {16, SX(100), SY( 530),  20, P_ENTER8 },
  1154.         {16, SX(300), SY( 530),  20, P_ENTER9 },
  1155.         {16, SX(100), SY( 530),  10, P_ENTER8 },
  1156.         {16, SX(300), SY( 530),  10, P_ENTER9 },
  1157.         {16, SX(100), SY( 530),   0, P_ENTER8 },
  1158.         {16, SX(300), SY( 530),   0, P_ENTER9 },
  1159.     },
  1160. };
  1161.  
  1162. void path_dir(int path, int pos, int *dir, int *steer)
  1163. {
  1164.     *dir =   paths[path][pos][0];
  1165.     *steer = paths[path][pos][1];
  1166. }
  1167.  
  1168. void enter_path_dir(int path, int pos, int *dir, int *steer)
  1169. {
  1170.     *dir =   get_dir(path,pos);
  1171.     *steer = get_duration(path, pos);
  1172. }
  1173.  
  1174. void start_path(int path, struct alien *al)
  1175. {
  1176.     int i;
  1177.  
  1178.     for(i=0;(i<MAXPATH) && (paths[path][i][0] >= 0);i++) {
  1179.     if(paths[path][i][0] == al->dir)
  1180.         break;
  1181.     if(paths[path][i][0] < 0) {
  1182.         al->steer = TURNSPEED;
  1183.         al->path = -1;
  1184.         return;
  1185.     }
  1186.     }
  1187.     if(i >= MAXPATH) {
  1188.     al->steer = TURNSPEED;
  1189.     al->path = -1;
  1190.     return;
  1191.     }
  1192.  
  1193.     al->path = path;
  1194.     al->path_pos = i;
  1195.     al->steer = paths[path][i][1];
  1196. }
  1197.  
  1198. void new_alien(int level, int anum, struct alien *al)
  1199. {
  1200.     int l = (level-1) % NUMLEVELS;
  1201.  
  1202.     if(get_shape(anum) >= 0) {
  1203.     al->alive = 1;
  1204.     al->dying = 0;
  1205.     al->entering = 1;
  1206.     get_xy(anum, &al->x, &al->y);
  1207.     al->enterdelay = get_delay(anum);
  1208.     al->enterdelay /= 1 + ((metaLevel -1) * .5);
  1209.  
  1210.     al->path = get_path(anum);
  1211.     al->path_pos = 0;
  1212.     al->dir = get_dir(al->path, 0);
  1213.     al->steer = get_duration(al->path, 0);
  1214.     if(metaLevel > 1)
  1215.         al->steer /= 1 + ((metaLevel - 1) * .5);
  1216.     /*al->steer -= (metaLevel - 1) * (al->steer / 3);*/
  1217.  
  1218.     al->escorting = -1;
  1219.     al->shape = getImage(alien_shape[get_shape(anum)]);
  1220.     } else {
  1221.     al->alive = 0;
  1222.     }
  1223.  
  1224.     /*
  1225.     al->alive = 1;
  1226.     al->dying = 0;
  1227.     al->x = ep[l][anum].x;
  1228.     al->y = ep[l][anum].y;
  1229.     al->entering = 1;
  1230.     al->enterdelay = ep[l][anum].delay;
  1231.     al->path = ep[l][i].path;
  1232.     al->path_pos = 0;
  1233.     al->dir = paths[ep[l][anum].path][0][0];
  1234.     al->steer = 2*(paths[ep[l][anum].path][0][1]/3);
  1235.     al->escorting = -1;
  1236.     al->shape = getImage(alien_shape[ep[l][i].shape]);
  1237.     */
  1238. }
  1239.