home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Inne / Gry / Atomic_Tanks / Atomic-Tanks-5.1.exe / src / globals.h < prev    next >
C/C++ Source or Header  |  2009-12-13  |  6KB  |  296 lines

  1. #ifndef GLOBALS_DEFINE
  2. #define GLOBALS_DEFINE
  3.  
  4. /*
  5.  * atanks - obliterate each other with oversize weapons
  6.  * Copyright (C) 2003  Thomas Hudson
  7.  *
  8.  * This program is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU General Public License
  10.  * as published by the Free Software Foundation; either version 2
  11.  * of the License, or (at your option) any later version.
  12.  *
  13.  * This program is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  * GNU General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU General Public License
  19.  * along with this program; if not, write to the Free Software
  20.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  21.  * */
  22.  
  23.  
  24. /*
  25. #include "virtobj.h"
  26. #include "floattext.h"
  27. #include "physobj.h"
  28. #include "tank.h"
  29. #include "missile.h"
  30. #include "explosion.h"
  31. #include "player.h"
  32. #include "environment.h"
  33. */
  34. #include "globaldata.h"
  35. /*
  36. #include "teleport.h"
  37. #include "decor.h"
  38. #include "beam.h"
  39. */
  40. using namespace std;
  41.  
  42. char    *errorMessage;
  43. int    errorX, errorY;
  44.  
  45. int    WHITE, BLACK, PINK, RED, GREEN, DARK_GREEN, BLUE, PURPLE, YELLOW;
  46.  
  47. int    k;
  48. int    ctrlUsedUp;
  49.  
  50. const gradient topbar_gradient[] =
  51. {
  52.   {{200,200,200,0}, 0.0},
  53.   {{255,255,255,0}, 0.5},
  54.   {{128,128,128,0}, 1.0},
  55.   {{0,0,0,0}, -1}
  56. };
  57.  
  58. const gradient stuff_bar_gradient[] =
  59. {
  60.   {{  0,120,  0,0}, 0.0},
  61.   {{ 10,210, 50,0}, 0.1},
  62.   {{100,150,150,0}, 0.28},
  63.   {{100,170,170,0}, 0.31},
  64.   {{200,200,200,0}, 0.33},
  65.   {{120,150,120,0}, 0.35},
  66.   {{180,190,180,0}, 0.5},
  67.   {{210,210,210,0}, 0.55},
  68.   {{200,220,200,0}, 0.57},
  69.   {{255,255,255,0}, 1.0},
  70.   {{0,0,0,0}, -1}
  71. };
  72.  
  73. const gradient circles_gradient[] =
  74. {
  75.   {{100, 75, 50,0}, 0.0},
  76.   {{  0,100,  0,0}, 0.5},
  77.   {{255,255,255,0}, 1.0},
  78.   {{0,0,0,0}, -1}
  79. };
  80.  
  81. // Explosion gradient
  82. const gradient explosion_gradient1[] =
  83. {
  84.   {{150, 75, 30,0}, 0.0},
  85.   {{255,255,255,0}, 1.0},
  86.   {{0,0,0,0}, -1}
  87. };
  88.  
  89. // Explosion gradient
  90. const gradient explosion_gradient2[] =
  91. {
  92.   {{255,255,102,0}, 0.0}, // ff6
  93.   {{255,136, 0,0}, 1.0}, // f80
  94.   {{0,0,0,0}, -1}
  95. };
  96.  
  97. const gradient * const explosion_gradients[] =
  98. {
  99.   explosion_gradient1,
  100.   explosion_gradient2
  101. };
  102.  
  103. /*
  104. // Sky gradients, first line is top of screen
  105. const gradient sky_gradient1[] =
  106. {
  107.   {{255,255,255,0}, 0.0},
  108.   {{100,100,100,0}, 0.1},
  109.   {{ 80,100,100,0}, 0.5},
  110.   {{0,0,0,0}, -1}
  111. };
  112.  
  113. const gradient sky_gradient2[] =
  114. {
  115.   {{  0,  0, 40,0}, 0.0},
  116.   {{ 40, 40,100,0}, 0.5},
  117.   {{ 80,80,100,0}, 0.75},
  118.   {{0,0,0,0}, -1}
  119. };
  120.  
  121. const gradient sky_gradient3[] =
  122. {
  123.   {{240,  0, 40,0}, 0.0},
  124.   {{140, 40,100,0}, 0.15},
  125.   {{ 80, 80,100,0}, 0.75},
  126.   {{0,0,0,0}, -1}
  127. };
  128.  
  129. const gradient sky_gradient4[] =
  130. {
  131.   {{ 40, 40, 40,0}, 0.0},
  132.   {{100, 40,100,0}, 0.2},
  133.   {{ 80, 80,100,0}, 0.75},
  134.   {{0,0,0,0}, -1}
  135. };
  136.  
  137. const gradient sky_gradient5[] =
  138. {
  139.   {{  0, 90, 40,0}, 0.0},
  140.   {{  0,120,100,0}, 0.2},
  141.   {{ 40,200,100,0}, 0.75},
  142.   {{0,0,0,0}, -1}
  143. };
  144.  
  145. // Sunset
  146. const gradient sky_gradient6[] =
  147. {
  148.   {{ 70,240,240,0}, 0.0},
  149.   {{ 70,200,200,0}, 0.3},
  150.   {{ 70,200,160,0}, 0.35},
  151.   {{255,200, 70,0}, 0.6},
  152.   {{255,255,128,0}, 1.0},
  153.   {{0,0,0,0}, -1}
  154. };
  155.  
  156. // Burning sky
  157. const gradient sky_gradient7[] =
  158. {
  159.   {{ 20, 20, 20,0}, 0.0},
  160.   {{255,200,  0,0}, 0.08},
  161.   {{255,255,  0,0}, 0.13},
  162.   {{ 20, 20, 20,0}, 0.16},
  163.   {{255,200,  0,0}, 0.5},
  164.   {{255,255,  0,0}, 1.0},
  165.   {{0,0,0,0}, -1}
  166. };
  167.  
  168. // Burning landscape, black skies
  169. const gradient sky_gradient8[] =
  170. {
  171.   {{  0,  0,  0,0}, 0.0},
  172.   {{100,  0,  0,0}, 0.4},
  173.   {{255,255,255,0}, 0.8},
  174.   {{0,0,0,0}, -1}
  175. };
  176.  
  177. // Sky gradients, first line is top of screen
  178. // dark blue to darker blue
  179. const gradient sky_gradient9[] =
  180. {
  181.   {{ 90, 90,255,0}, 0.0},
  182.   {{ 60, 60,200,0}, 0.3},
  183.   {{ 30, 30,150,0}, 1.0},
  184.   {{0,0,0,0}, -1}
  185. };
  186.  
  187. // dark blue to blue-grey
  188. const gradient sky_gradient10[] =
  189. {
  190.   {{110,110,255,0}, 0.0},
  191.   {{150,150,255,0}, 0.3},
  192.   {{200,200,255,0}, 1.0},
  193.   {{0,0,0,0}, -1}
  194. };
  195.  
  196. // white to grey-blue to dark blue
  197. const gradient sky_gradient11[] =
  198. {
  199.   {{255,255,255,0}, 0.0},
  200.   {{200,200,255,0}, 0.3},
  201.   {{ 80, 80,180,0}, 1.0},
  202.   {{0,0,0,0}, -1}
  203. };
  204.  
  205. // simple purple: dark to light
  206. const gradient sky_gradient12[] =
  207. {
  208.   {{133, 33,133,0}, 0.0},
  209.   {{220,120,220,0}, 1.0},
  210.   {{0,0,0,0}, -1}
  211. };
  212.  
  213. // night sky: black to dark purple
  214. const gradient sky_gradient13[] =
  215. {
  216.   {{  0,  0,  0,0}, 0.0},
  217.   {{ 50,  0, 50,0}, 1.0},
  218.   {{0,0,0,0}, -1}
  219. };
  220.  
  221. // Sunset
  222. const gradient sky_gradient14[] =
  223. {
  224.   {{  0,  0,  0,0}, 0.0},
  225.   {{ 50,  0, 50,0}, 0.1},
  226.   {{ 90, 20,  0,0}, 0.3},
  227.   {{180, 50,  0,0}, 0.7},
  228.   {{255,150,150,0}, 0.9},
  229.   {{255,255,100,0}, 1.0},
  230.   {{0,0,0,0}, -1}
  231. };
  232.  
  233. // Burning sky
  234. const gradient sky_gradient15[] =
  235. {
  236.   {{185, 60, 60,0}, 0.0},
  237.   {{240,110,110,0}, 0.5},
  238.   {{255,110,110,0}, 1.0},
  239.   {{0,0,0,0}, -1}
  240. };
  241.  
  242. // Burning landscape, black skies
  243. const gradient sky_gradient16[] =
  244. {
  245.   {{  0,  0,  0,0}, 0.0},
  246.   {{170, 50, 50,0}, 0.5},
  247.   {{220,110,110,0}, 1.0},
  248.   {{0,0,0,0}, -1}
  249. };
  250.  
  251.  
  252. const gradient * const sky_gradients[] =
  253. {
  254.   sky_gradient1,
  255.   sky_gradient2,
  256.   sky_gradient3,
  257.   sky_gradient4,
  258.   sky_gradient5,
  259.   sky_gradient6,
  260.   sky_gradient7,
  261.   sky_gradient8,
  262.   sky_gradient9,
  263.   sky_gradient10,
  264.   sky_gradient11,
  265.   sky_gradient12,
  266.   sky_gradient13,
  267.   sky_gradient14,
  268.   sky_gradient15,
  269.   sky_gradient16
  270. };
  271. */
  272.  
  273. int        cclock,
  274. fps, frames,
  275. fi, lx, ly;
  276. #define CLOCK_MAX 10
  277.  
  278. int        steep=2, mheight=200, mbase=0;
  279. double        msteep=.2, smooth=.00;
  280.  
  281. int winner;
  282.  
  283. char buf[100];
  284.  
  285. bool quit_right_now;
  286.  
  287. WEAPON  weapon[WEAPONS];
  288. WEAPON  naturals[NATURALS];
  289. ITEM    item[ITEMS];
  290.  
  291. GLOBALDATA *my_global;
  292.  
  293.  
  294. #endif
  295.  
  296.