1 /* Catacomb Armageddon Source Code
\r
2 * Copyright (C) 1993-2014 Flat Rock Software
\r
4 * This program is free software; you can redistribute it and/or modify
\r
5 * it under the terms of the GNU General Public License as published by
\r
6 * the Free Software Foundation; either version 2 of the License, or
\r
7 * (at your option) any later version.
\r
9 * This program is distributed in the hope that it will be useful,
\r
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
12 * GNU General Public License for more details.
\r
14 * You should have received a copy of the GNU General Public License along
\r
15 * with this program; if not, write to the Free Software Foundation, Inc.,
\r
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
\r
29 #include <PROCESS.H>
\r
33 #include <SYS\STAT.H>
\r
37 //--------------------------------------------------------------------------
\r
41 extern char far introscn;
\r
43 #include "GFXE_ARM.H"
\r
44 #include "AUDIOARM.H"
\r
45 #include "MAPSARM.H"
\r
47 //--------------------------------------------------------------------------
\r
50 // DEFINES THE TILE ATTRIBUTE CHECKING CONVENTION (macros).
\r
52 // DEFINE CUSTOM BIT-FLAG NAMES...
\r
56 #define tf_SOLID 0x01
\r
57 #define tf_SPECIAL 0x02
\r
58 #define tf_EMBEDDED_KEY_COLOR 0x04
\r
59 #define tf_INVISIBLE_WALL 0x09
\r
60 #define tf_MARKED 0x80
\r
62 #define ANIM_FLAGS(tile) (tinf[ANIM+(tile)])
\r
63 #define TILE_FLAGS(tile) (tinf[FLAGS+(tile)])
\r
65 #define GATE_KEY_COLOR(tile) ((unsigned char)(TILE_FLAGS(tile)>>4))
\r
74 #define EGA320GR 10 // MDM (GAMERS EDGE)
\r
75 #define EGA640GR 11 // MDM (GAMERS EDGE)
\r
77 #define GRMODE EGAGR
\r
90 // Types.h - Generic types, #defines, etc.
\r
97 typedef enum {false,true} boolean;
\r
98 typedef unsigned char byte;
\r
99 typedef unsigned int word;
\r
100 typedef unsigned long longword;
\r
101 typedef byte * Ptr;
\r
112 #define nil ((void *)0)
\r
124 void Quit (char *error, ...); // defined in user program
\r
127 // replacing refresh manager with custom routines
\r
130 #define PORTTILESWIDE 21 // all drawing takes place inside a
\r
131 #define PORTTILESHIGH 14 // non displayed port of this size
\r
133 #define UPDATEWIDE (PORTTILESWIDE+1)
\r
134 #define UPDATEHIGH PORTTILESHIGH
\r
139 #define UPDATETERMINATE 0x0301
\r
141 extern unsigned mapwidth,mapheight,tics,realtics;
\r
142 extern boolean compatability;
\r
144 extern byte *updateptr;
\r
145 extern unsigned uwidthtable[UPDATEHIGH];
\r
146 extern unsigned blockstarts[UPDATEWIDE*UPDATEHIGH];
\r