ijontichy

tetDefs.h

Dec 2nd, 2012
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 9.54 KB | None | 0 0
  1. #define BLOCKCOUNT 7
  2. #define ROTCOUNT 4
  3. #define NEXTCOUNT 14
  4. #define BLOCK_XMAX 4
  5. #define BLOCK_YMAX 4
  6.  
  7. #define GRAPHIC_SIZE 12
  8.  
  9. #define LOCKTIME 24
  10. #define LOCKTIME2 70
  11.  
  12. #define B_I 1
  13. #define B_J 2
  14. #define B_L 3
  15. #define B_S 4
  16. #define B_Z 5
  17. #define B_T 6
  18. #define B_O 7
  19.  
  20. int PieceLetters[BLOCKCOUNT+1] = {"?", "I", "J", "L", "S", "Z", "T", "O"};
  21.  
  22. int TetrisColors[BLOCKCOUNT+1] =
  23. {
  24.     "Untranslated",
  25.     "TetrisCyan",
  26.     "TetrisBlue",
  27.     "TetrisOrange",
  28.     "TetrisGreen",
  29.     "TetrisRed",
  30.     "TetrisViolet",
  31.     "TetrisYellow",
  32. };
  33.  
  34. int GhostColors[BLOCKCOUNT+1] =
  35. {
  36.     "Untranslated_Ghost",
  37.     "TetrisCyan_Ghost",
  38.     "TetrisBlue_Ghost",
  39.     "TetrisOrange_Ghost",
  40.     "TetrisGreen_Ghost",
  41.     "TetrisRed_Ghost",
  42.     "TetrisViolet_Ghost",
  43.     "TetrisYellow_Ghost",
  44. };
  45.  
  46. int TetrisBlocks[BLOCKCOUNT][ROTCOUNT][BLOCK_YMAX][BLOCK_XMAX] =
  47. {
  48.     {   // I block
  49.         {   {0, 0, 0, 0},
  50.             {1, 1, 1, 1},
  51.             {0, 0, 0, 0},
  52.             {0, 0, 0, 0}    },
  53.  
  54.         {   {0, 0, 1, 0},
  55.             {0, 0, 1, 0},
  56.             {0, 0, 1, 0},
  57.             {0, 0, 1, 0}    },
  58.  
  59.         {   {0, 0, 0, 0},
  60.             {0, 0, 0, 0},
  61.             {1, 1, 1, 1},
  62.             {0, 0, 0, 0}    },
  63.  
  64.         {   {0, 1, 0, 0},
  65.             {0, 1, 0, 0},
  66.             {0, 1, 0, 0},
  67.             {0, 1, 0, 0}    },
  68.     },
  69.     {   // J block
  70.         {   {1, 0, 0, 0},
  71.             {1, 1, 1, 0},
  72.             {0, 0, 0, 0},
  73.             {0, 0, 0, 0},   },
  74.  
  75.         {   {0, 1, 1, 0},
  76.             {0, 1, 0, 0},
  77.             {0, 1, 0, 0},
  78.             {0, 0, 0, 0},   },
  79.  
  80.         {   {0, 0, 0, 0},
  81.             {1, 1, 1, 0},
  82.             {0, 0, 1, 0},
  83.             {0, 0, 0, 0},   },
  84.  
  85.         {   {0, 1, 0, 0},
  86.             {0, 1, 0, 0},
  87.             {1, 1, 0, 0},
  88.             {0, 0, 0, 0},   },
  89.     },
  90.     {   // L block
  91.         {   {0, 0, 1, 0},
  92.             {1, 1, 1, 0},
  93.             {0, 0, 0, 0},
  94.             {0, 0, 0, 0},   },
  95.  
  96.         {   {0, 1, 0, 0},
  97.             {0, 1, 0, 0},
  98.             {0, 1, 1, 0},
  99.             {0, 0, 0, 0},   },
  100.  
  101.         {   {0, 0, 0, 0},
  102.             {1, 1, 1, 0},
  103.             {1, 0, 0, 0},
  104.             {0, 0, 0, 0},   },
  105.  
  106.         {   {1, 1, 0, 0},
  107.             {0, 1, 0, 0},
  108.             {0, 1, 0, 0},
  109.             {0, 0, 0, 0},   },
  110.     },
  111.     {   // S block
  112.         {   {0, 1, 1, 0},
  113.             {1, 1, 0, 0},
  114.             {0, 0, 0, 0},
  115.             {0, 0, 0, 0},   },
  116.  
  117.         {   {0, 1, 0, 0},
  118.             {0, 1, 1, 0},
  119.             {0, 0, 1, 0},
  120.             {0, 0, 0, 0},   },
  121.  
  122.         {   {0, 0, 0, 0},
  123.             {0, 1, 1, 0},
  124.             {1, 1, 0, 0},
  125.             {0, 0, 0, 0},   },
  126.  
  127.         {   {1, 0, 0, 0},
  128.             {1, 1, 0, 0},
  129.             {0, 1, 0, 0},
  130.             {0, 0, 0, 0},   },
  131.     },
  132.     {   // Z block
  133.         {   {1, 1, 0, 0},
  134.             {0, 1, 1, 0},
  135.             {0, 0, 0, 0},
  136.             {0, 0, 0, 0},   },
  137.  
  138.         {   {0, 0, 1, 0},
  139.             {0, 1, 1, 0},
  140.             {0, 1, 0, 0},
  141.             {0, 0, 0, 0},   },
  142.  
  143.         {   {0, 0, 0, 0},
  144.             {1, 1, 0, 0},
  145.             {0, 1, 1, 0},
  146.             {0, 0, 0, 0},   },
  147.  
  148.         {   {0, 1, 0, 0},
  149.             {1, 1, 0, 0},
  150.             {1, 0, 0, 0},
  151.             {0, 0, 0, 0},   },
  152.     },
  153.     {   // T block
  154.         {   {0, 1, 0, 0},
  155.             {1, 1, 1, 0},
  156.             {0, 0, 0, 0},
  157.             {0, 0, 0, 0},   },
  158.  
  159.         {   {0, 1, 0, 0},
  160.             {0, 1, 1, 0},
  161.             {0, 1, 0, 0},
  162.             {0, 0, 0, 0},   },
  163.  
  164.         {   {0, 0, 0, 0},
  165.             {1, 1, 1, 0},
  166.             {0, 1, 0, 0},
  167.             {0, 0, 0, 0},   },
  168.  
  169.         {   {0, 1, 0, 0},
  170.             {1, 1, 0, 0},
  171.             {0, 1, 0, 0},
  172.             {0, 0, 0, 0},   },
  173.     },
  174.     {   // O block
  175.         {   {0, 1, 1, 0},
  176.             {0, 1, 1, 0},
  177.             {0, 0, 0, 0},
  178.             {0, 0, 0, 0},   },
  179.  
  180.         {   {0, 1, 1, 0},
  181.             {0, 1, 1, 0},
  182.             {0, 0, 0, 0},
  183.             {0, 0, 0, 0},   },
  184.  
  185.         {   {0, 1, 1, 0},
  186.             {0, 1, 1, 0},
  187.             {0, 0, 0, 0},
  188.             {0, 0, 0, 0},   },
  189.  
  190.         {   {0, 1, 1, 0},
  191.             {0, 1, 1, 0},
  192.             {0, 0, 0, 0},
  193.             {0, 0, 0, 0},   },
  194.     },
  195. };
  196.  
  197. #define KICKCOUNT 5
  198.  
  199. // Order of rotations: spawn, 90 degrees, 180 degrees, 270 degrees (0, R, 2, L)
  200.  
  201. int SRSKicks[ROTCOUNT * 2][KICKCOUNT][2] =
  202. {
  203.     { { 0, 0}, {-1, 0}, {-1, 1}, { 0,-2}, {-1,-2} },
  204.     { { 0, 0}, { 1, 0}, { 1,-1}, { 0, 2}, { 1, 2} },
  205.  
  206.     { { 0, 0}, { 1, 0}, { 1,-1}, { 0, 2}, { 1, 2} },
  207.     { { 0, 0}, {-1, 0}, {-1, 1}, { 0,-2}, {-1,-2} },
  208.  
  209.     { { 0, 0}, { 1, 0}, { 1, 1}, { 0,-2}, { 1,-2} },
  210.     { { 0, 0}, {-1, 0}, {-1,-1}, { 0, 2}, {-1, 2} },
  211.  
  212.     { { 0, 0}, {-1, 0}, {-1,-1}, { 0, 2}, {-1, 2} },
  213.     { { 0, 0}, { 1, 0}, { 1, 1}, { 0,-2}, { 1,-2} }
  214. };
  215.  
  216.  
  217. int SRSKicks_I[ROTCOUNT*2][KICKCOUNT][2] =
  218. {
  219.     { { 0, 0}, {-2, 0}, { 1, 0}, {-2,-1}, { 1, 2} },
  220.     { { 0, 0}, { 2, 0}, {-1, 0}, { 2, 1}, {-1,-2} },
  221.  
  222.     { { 0, 0}, {-1, 0}, { 2, 0}, {-1, 2}, { 2,-1} },
  223.     { { 0, 0}, { 1, 0}, {-2, 0}, { 1,-2}, {-2, 1} },
  224.  
  225.     { { 0, 0}, { 2, 0}, {-1, 0}, { 2, 1}, {-1,-2} },
  226.     { { 0, 0}, {-2, 0}, { 1, 0}, {-2,-1}, { 1, 2} },
  227.  
  228.     { { 0, 0}, { 1, 0}, {-2, 0}, { 1,-2}, {-2, 1} },
  229.     { { 0, 0}, {-1, 0}, { 2, 0}, {-1, 2}, { 2,-1} },
  230. };
  231.  
  232. int SRSBases[BLOCKCOUNT][ROTCOUNT][KICKCOUNT][2] =
  233. {
  234.     // I block - this deviates slightly from the SRS kick table in that check 5
  235.     //   has the X offset distributed among all four rotations, not just the
  236.     //   vertical rotations - this is so the I block won't get "stuck" on a
  237.     //   wall when rotating a certain way
  238.     {
  239.         { { 0, 0},  {-1, 0},  { 2, 0},  {-1, 0},  { 2, 0}  },
  240.         { {-1, 0},  { 0, 0},  { 0, 0},  { 0, 1},  { 0, -2} },
  241.         { {-1, 1},  { 1, 1},  {-2, 1},  { 1, 0},  {-2, 0}  },
  242.         { { 0, 1},  { 0, 1},  { 0, 1},  { 0, -1}, { 0, 2}  },
  243.     },
  244.     // J block
  245.     {
  246.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  247.         { { 0, 0},  { 1, 0},  { 1, -1}, { 0, 2},  { 1, 2}  },
  248.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  249.         { { 0, 0},  {-1, 0},  {-1, -1}, { 0, 2},  {-1, 2}  },
  250.     },
  251.     // L block
  252.     {
  253.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  254.         { { 0, 0},  { 1, 0},  { 1, -1}, { 0, 2},  { 1, 2}  },
  255.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  256.         { { 0, 0},  {-1, 0},  {-1, -1}, { 0, 2},  {-1, 2}  },
  257.     },
  258.     // S block
  259.     {
  260.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  261.         { { 0, 0},  { 1, 0},  { 1, -1}, { 0, 2},  { 1, 2}  },
  262.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  263.         { { 0, 0},  {-1, 0},  {-1, -1}, { 0, 2},  {-1, 2}  },
  264.     },
  265.     // Z block
  266.     {
  267.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  268.         { { 0, 0},  { 1, 0},  { 1, -1}, { 0, 2},  { 1, 2}  },
  269.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  270.         { { 0, 0},  {-1, 0},  {-1, -1}, { 0, 2},  {-1, 2}  },
  271.     },
  272.     // T block
  273.     {
  274.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  275.         { { 0, 0},  { 1, 0},  { 1, -1}, { 0, 2},  { 1, 2}  },
  276.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  277.         { { 0, 0},  {-1, 0},  {-1, -1}, { 0, 2},  {-1, 2}  },
  278.     },
  279.     // O block
  280.     {
  281.         { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },
  282.         { { 0, -1}, { 0, -1}, { 0, -1}, { 0, -1}, { 0, -1} },
  283.         { {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1} },
  284.         { {-1, 0},  {-1, 0},  {-1, 0},  {-1, 0},  {-1, 0}  },
  285.     },
  286. };
  287.  
  288. int SRS180Kicks[BLOCKCOUNT][KICKCOUNT][2]=
  289. {
  290.     { { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0},  { 0, 0}  },  // I block
  291.     { { 0,-1},  { 0, 1},  { 1, 0},  {-1, 0},  { 0, -2} },
  292.     { { 0,-1},  { 0, 1},  { 1, 0},  {-1, 0},  { 0, -2} },
  293.     { { 0,-1},  { 0, 1},  { 1, 0},  {-1, 0},  { 0, -2} },
  294.     { { 0,-1},  { 0, 1},  { 1, 0},  {-1, 0},  { 0, -2} },
  295.     { { 0,-1},  { 0, 1},  { 1, 0},  {-1, 0},  { 0, -2} },  // T block
  296.     { { 1, 1},  { 1, 1},  { 1, 1},  { 1, 1},  { 1, 1}  },  // O block
  297. };
  298.  
  299. #define KEYCOUNT 8
  300.  
  301. #define KEY_LEFT    0
  302. #define KEY_RIGHT   1
  303. #define KEY_DOWN    2
  304. #define KEY_UP      3
  305. #define KEY_JUMP    4
  306. #define KEY_CROUCH  5
  307. #define KEY_SPEED   6
  308. #define KEY_HOLD    7
  309.  
  310. int Keymaps[KEYCOUNT] =
  311. {
  312.     BT_MOVELEFT | BT_LEFT,
  313.     BT_MOVERIGHT | BT_RIGHT,
  314.     BT_LOOKDOWN | BT_BACK,
  315.     BT_LOOKUP | BT_FORWARD,
  316.     BT_JUMP,
  317.     BT_CROUCH,
  318.     BT_SPEED,
  319.     BT_USER1,
  320. };
  321.  
  322. #define MATRIX_X 10
  323. #define MATRIX_Y 22
  324.  
  325. #define MATRIX_DRAWX (320 - (MATRIX_X * (GRAPHIC_SIZE / 2)))
  326. #define MATRIX_DRAWY (240 + (MATRIX_Y * (GRAPHIC_SIZE / 2)))
  327.  
  328.  
  329. #define LINETYPES 4
  330.  
  331. int LineBreaks[LINETYPES] =
  332. {
  333.     "acstris/single",
  334.     "acstris/double",
  335.     "acstris/triple",
  336.     "acstris/tetris",
  337. };
  338.  
  339. int SpinBreaks[LINETYPES] =
  340. {
  341.     "acstris/spinsingle",
  342.     "acstris/spindouble",
  343.     "acstris/spintriple",
  344.     "acstris/spintriple",
  345. };
  346.  
  347. #define COMBOSOUNDS 20
  348.  
  349. int Combos[COMBOSOUNDS] =
  350. {
  351.     "acstris/combo1",
  352.     "acstris/combo2",
  353.     "acstris/combo3",
  354.     "acstris/combo4",
  355.     "acstris/combo5",
  356.     "acstris/combo6",
  357.     "acstris/combo7",
  358.     "acstris/combo8",
  359.     "acstris/combo9",
  360.     "acstris/combo10",
  361.     "acstris/combo11",
  362.     "acstris/combo12",
  363.     "acstris/combo13",
  364.     "acstris/combo14",
  365.     "acstris/combo15",
  366.     "acstris/combo16",
  367.     "acstris/combo17",
  368.     "acstris/combo18",
  369.     "acstris/combo19",
  370.     "acstris/combo20",
  371. };
  372.  
  373. int LineNames[LINETYPES][2] =
  374. {
  375.     {"Single", "Light Blue"},
  376.     {"Double", "White"},
  377.     {"Triple", "Gold"},
  378.     {"Tetris", "Green"},
  379. };
  380.  
  381. int NextSounds[BLOCKCOUNT] =
  382. {
  383.     "acstris/next_i",
  384.     "acstris/next_j",
  385.     "acstris/next_l",
  386.     "acstris/next_s",
  387.     "acstris/next_z",
  388.     "acstris/next_t",
  389.     "acstris/next_o",
  390. };
  391.  
  392. int PauseSounds[2] =
  393. {
  394.     "acstris/unpause",
  395.     "acstris/pause",
  396. };
  397.  
  398. #define FONTCOUNT 4
  399.  
  400. int TetrisFonts[FONTCOUNT] =
  401. {
  402.     "TETRIS1", "TETRIS2", "TETRIS3", "TETRIS4",
  403. };
Advertisement
Add Comment
Please, Sign In to add comment