diff options
author | nlanza <nlanza@c06c8d41-db1a-0410-9941-cceddc491573> | 2006-08-13 02:19:00 +0000 |
---|---|---|
committer | nlanza <nlanza@c06c8d41-db1a-0410-9941-cceddc491573> | 2006-08-13 02:19:00 +0000 |
commit | aa88fdd8c6ad2da5eb5bd933e2d53d56cd8c176f (patch) | |
tree | d0551b96eaebb5b55694579fb8dae4abc7a38407 /crawl-ref/source/defines.h | |
parent | 2b32f164e6ca1c4b3d587789f6cf46f46fe02fe8 (diff) | |
download | crawl-ref-aa88fdd8c6ad2da5eb5bd933e2d53d56cd8c176f.tar.gz crawl-ref-aa88fdd8c6ad2da5eb5bd933e2d53d56cd8c176f.zip |
Clean up a mistake in the SVN import.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/defines.h')
-rw-r--r-- | crawl-ref/source/defines.h | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/crawl-ref/source/defines.h b/crawl-ref/source/defines.h new file mode 100644 index 0000000000..9f61c2961b --- /dev/null +++ b/crawl-ref/source/defines.h @@ -0,0 +1,168 @@ +/* + * File: defines.h + * Summary: Various definess used by Crawl. + * Written by: Linley Henzel + * + * Abstract: A variety of miscellaneous constant values are found here. + * I think we should move the colors into an enum or something + * because there are in numerical order. But I'm too lazy to + * do it myself. + * + * Copyright © 1999 Brian Robinson. // Me? How come? + * + * Change History (most recent first): + * + * <4> 7/29/00 JDJ Renamed MNG NON_MONSTER, MNST MAX_MONSTERS, ITEMS MAX_ITEMS, + * ING NON_ITEM, CLOUDS MAX_CLOUDS, CNG EMPTY_CLOUD, NTRAPS MAX_TRAPS. + * <3> 9/25/99 CDL linuxlib -> liblinux + * <2> 6/17/99 BCR indented and added header + * <1> --/--/-- LRH Created + */ + +#ifndef DEFINES_H +#define DEFINES_H + +#define ESCAPE '\x1b' // most ansi-friendly way I can think of defining this. + +// there's got to be a better way... +#ifdef _LIBUNIX_IMPLEMENTATION +#elif macintosh +#else + #ifndef TRUE + #define TRUE 1 + #endif + + #ifndef FALSE + #define FALSE 0 + #endif +#endif + + +// max size of inventory array {dlb}: +#define ENDOFPACK 52 + +// max size of monter array {dlb}: +#define MAX_MONSTERS 200 +// number of monster enchantments +#define NUM_MON_ENCHANTS 6 +// non-monster for mgrd[][] -- (MNST + 1) {dlb}: +#define NON_MONSTER 201 + +// max size of item list {dlb}: +#define MAX_ITEMS 500 +// non-item -- (ITEMS + 1) {dlb} +#define NON_ITEM 501 + +// max size of cloud array {dlb}: +#define MAX_CLOUDS 100 + +// empty cloud -- (CLOUDS + 1) {dlb}: +#define EMPTY_CLOUD 101 + +// max x-bound for level generation {dlb} +#define GXM 80 +// max y-bound for level generation {dlb} +#define GYM 70 + +// max traps per level +#define MAX_TRAPS 30 + +// max shops per level +#define MAX_SHOPS 5 + +// lowest grid value which can be passed by walking etc. +#define MINMOVE 31 + +// lowest grid value which can be seen through +#define MINSEE 11 + + +// some shortcuts: +#define menv env.mons +#define mitm env.item +#define grd env.grid +#define mgrd env.mgrid +#define igrd env.igrid + +#define ENVF_FLAGS 0xFF00U +#define ENVF_DETECT_MONS 0x0100U +#define ENVF_DETECT_ITEM 0x0200U + +// This square is known because of detect-creatures/detect-items +#define ENVF_DETECTED 0x0800U + +#define ENVF_COLOR(x) (((x) >> 12) & 0xF) + +// (MNG) -- for a reason! see usage {dlb}: +#define MHITNOT 201 +// (MNG + 1) -- for a reason! see usage {dlb}: +#define MHITYOU 202 + +// colors, such pretty colors ... +#ifndef DOS + #define BLACK 0 + #define BLUE 1 + #define GREEN 2 + #define CYAN 3 + #define RED 4 + #define MAGENTA 5 + #define BROWN 6 + #define LIGHTGREY 7 + #define DARKGREY 8 + #define LIGHTBLUE 9 + #define LIGHTGREEN 10 + #define LIGHTCYAN 11 + #define LIGHTRED 12 + #define LIGHTMAGENTA 13 + #define YELLOW 14 + #define WHITE 15 + + #define LIGHTGRAY LIGHTGREY + #define DARKGRAY DARKGREY +#else + #include <conio.h> + #define LIGHTGREY LIGHTGRAY + #define DARKGREY DARKGRAY +#endif + +// Colour options... these are used as bit flags along with the colour +// value in the low byte. + +// This is used to signal curses (which has seven base colours) to +// try to get a brighter version using recommisioned attribute flags. +#define COLFLAG_CURSES_BRIGHTEN 0x0080 + +//#ifdef USE_COLOUR_OPTS + + #define COLFLAG_FRIENDLY_MONSTER 0x0100 + #define COLFLAG_ITEM_HEAP 0x0200 + #define COLFLAG_WILLSTAB 0x0400 + #define COLFLAG_MAYSTAB 0x0800 + + enum CHAR_ATTRIBUTES + { + CHATTR_NORMAL, /* 0 */ + CHATTR_STANDOUT, + CHATTR_BOLD, + CHATTR_BLINK, + CHATTR_UNDERLINE, + CHATTR_REVERSE, /* 5 */ + CHATTR_DIM, + CHATTR_HILITE, + + CHATTR_ATTRMASK = 0xF, /* 15 (well, obviously) */ + + CHATTR_COLMASK = 0xF00, // Mask with this to get extra colour info. + }; + +//#endif + +#define MINIMUM( xxx, yyy ) (((xxx) < (yyy)) ? (xxx) : (yyy)) +#define MAXIMUM( xxx, yyy ) (((xxx) > (yyy)) ? (xxx) : (yyy)) + +// Convert capital letters into mystic numbers representing +// CTRL sequences. This is a macro because a lot of the type +// it wants to be used in case labels. +#define CONTROL( xxx ) (xxx - 'A' + 1) + +#endif |