2 Copyright (C) 2004-2011 Parallel Realities
3 Copyright (C) 2011-2015 Perpendicular Dimensions
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 See the GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 // Read in the define list used by the map data also
25 #define min(a, b) ((a) < (b) ? (a) : (b))
26 #define max(a, b) ((a) > (b) ? (a) : (b))
28 #define PI 3.14159265359
30 /* ############## errors ########### */
32 #define ERR_FILE "A required file (%s) was not found in PAK file"
33 #define ERR_LOCALE "Locale information missing for section '%s' (contains only partial translation)"
35 /* ########### maximums ############ */
39 #define MAX_WEAPONS 25
41 #define MAX_ENEMIES 25
47 /* ########### dead flags ############ */
53 /* ########### game sections ######## */
55 #define SECTION_INTRO 0
56 #define SECTION_TITLE 1
58 #define SECTION_GAME 3
59 #define SECTION_GAMEOVER 4
60 #define SECTION_CREDITS 5
61 #define SECTION_EASYOVER 6
63 /* ############ sounds ############ */
117 SND_CHEAT = MAX_SOUNDS - 3,
118 SND_HIGHLIGHT = MAX_SOUNDS - 2,
119 SND_SELECT = MAX_SOUNDS - 1
123 /* ########### channels ########### */
131 #define CH_AMBIANCE 6
134 /* ########## keyboard ############# */
153 /* ############ replay ############ */
165 /* ########### widgets ############ */
167 const char widgetName[][25] = {
182 #define WG_SMOOTH_SLIDER 2
185 #define WG_KEYBOARD 5
188 /* ############## skill ############# */
190 const char skill[][10] = {
199 /* ############## text ############## */
202 #define TXT_CENTERED 1
205 #define INFO_NORMAL 0
206 #define INFO_OBJECTIVE 1
208 #define INFO_ACTIVATE 3
211 /* ########## weapons ############# */
214 #define WP_MACHINEGUN 1
216 #define WP_GRENADES 3
220 #define WP_PLASMARIFLE 6
221 #define WP_FLAMETHROWER 7
223 #define WP_LAVABALL1 9
224 #define WP_LAVABALL2 10
225 #define WP_AIMEDPISTOL 11
226 #define WP_ALIENSPREAD 12
229 #define WP_STALAGTITE 15
231 #define WP_ALIENLASER 17
232 #define WP_ALIENGRENADE 18
233 #define WP_AIMEDMACHINE 19
235 /* ########### entity defs ######### */
247 #define PLAYER_WALK_SPEED 4
248 #define PLAYER_FLY_SPEED 8
249 #define PLAYER_JUMP_SPEED -10.25
251 /* ######### paticle flags ########### */
253 #define PAR_WEIGHTLESS 1
254 #define PAR_COLLIDES 2
257 /* ######### effect flags ########### */
260 #define EFF_TRAILSFIRE 2
262 #define EFF_WEIGHTLESS 8
263 #define EFF_COLORED 16
265 /* ########## item defs ############ */
290 /* ########### map ############ */
293 #define MAPHEIGHT 300
304 #define MAP_BREAKABLE 4
305 #define MAP_BREAKABLE2 8
307 #define MAP_NORESET 115
308 #define MAP_DECORATION 120
309 #define MAP_EXITSIGN 196
310 #define MAP_WATERANIM 200
311 #define MAP_SLIMEANIM 207
312 #define MAP_LAVAANIM 214
313 #define MAP_TOPLAYER 221
315 #define MAP_AIR_WALL_1 127
316 #define MAP_AIR_WALL_2 129
317 #define MAP_AIR_CEILING_1 242
318 #define MAP_AIR_WALL_3 243
319 #define MAP_AIR_WALL_4 244
320 #define MAP_AIR_CEILING_2 247
322 #define MAP_WATER_WALL 246
324 #define MAP_SHAKEAMOUNT 2
326 /* ########### mia stuff ############## */
328 #define MIAPERCENT 0.70
330 /* ########### mission stuff ############ */
332 #define MIS_INPROGRESS 0
333 #define MIS_COMPLETE 1
334 #define MIS_PLAYEROUT 2
335 #define MIS_PLAYERDEAD 3
336 #define MIS_PLAYERQUIT 4
337 #define MIS_PLAYERESCAPE 5
338 #define MIS_GAMECOMPLETE 6
340 #define MIS_PLAYERRESTART 8
342 /* ########### pak file stuff ######## */
344 #define PAK_MAX_FILENAME 60
350 #define PAKLOCATION ""
353 #define PAKNAME "blobwars.pak"
356 #define PAKFULLPATH PAKLOCATION PAKNAME
359 #define PATH_MAX 4096
361 #ifndef GAMEPLAYMANUAL
362 #define GAMEPLAYMANUAL "manual.html"
364 #ifndef MEDAL_SERVER_HOST
365 #define MEDAL_SERVER_HOST "localhost"
367 #ifndef MEDAL_SERVER_PORT
368 #define MEDAL_SERVER_PORT 80
381 /* ######### miscellaneous ############## */
387 /* ############# debug ################## */
390 #define debug(x) {printf("*** DEBUG: "); printf x;}
395 #ifndef IGNORE_FLAGTOKEN_ERRORS
396 #define IGNORE_FLAGTOKEN_ERRORS 0