/* ************************************************************************
*   File: screen.h                                      Part of CircleMUD *
*  Usage: header file with ANSI color codes for online color              *
*                                                                         *
*  All rights reserved.  See license.doc for complete information.        *
*                                                                         *
*  Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University *
*  CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.               *
************************************************************************ */

#define KNRM  "\x1B[0;0m"
#define KRED  "\x1B[0;31m"
#define KGRN  "\x1B[0;32m"
#define KYEL  "\x1B[0;33m"
#define KBLU  "\x1B[0;34m"
#define KMAG  "\x1B[0;35m"
#define KCYN  "\x1B[0;36m"
#define KWHT  "\x1B[0;37m"
#define KNUL  ""
#define BNRM  "\x1B[40m"
#define BRED  "\x1B[41m"
#define BGRN  "\x1B[42m"
#define BYEL  "\x1B[43m"
#define BBLU  "\x1B[44m"
#define BMAG  "\x1B[45m"
#define BCYN  "\x1B[46m"
#define BWHT  "\x1B[47m"

/* conditional color.  pass it a pointer to a char_data and a color level. */
#define C_OFF	0
#define C_SPR	1
#define C_NRM	2
#define C_CMP	3
#define _clrlevel(ch) (!IS_NPC(ch) ? (PRF_FLAGGED((ch), PRF_COLOR_1) ? 1 : 0) + \
		       (PRF_FLAGGED((ch), PRF_COLOR_2) ? 2 : 0) : 0)
#define clr(ch,lvl) (_clrlevel(ch) >= (lvl))
#define CCNRM(ch,lvl)  (clr((ch),(lvl))?KNRM:KNUL)
#define CCRED(ch,lvl)  (clr((ch),(lvl))?KRED:KNUL)
#define CCGRN(ch,lvl)  (clr((ch),(lvl))?KGRN:KNUL)
#define CCYEL(ch,lvl)  (clr((ch),(lvl))?KYEL:KNUL)
#define CCBLU(ch,lvl)  (clr((ch),(lvl))?KBLU:KNUL)
#define CCMAG(ch,lvl)  (clr((ch),(lvl))?KMAG:KNUL)
#define CCCYN(ch,lvl)  (clr((ch),(lvl))?KCYN:KNUL)
#define CCWHT(ch,lvl)  (clr((ch),(lvl))?KWHT:KNUL)

#define BGNRM(ch,lvl)  (clr((ch),(lvl))?BNRM:KNUL)
#define BGRED(ch,lvl)  (clr((ch),(lvl))?BRED:KNUL)
#define BGGRN(ch,lvl)  (clr((ch),(lvl))?BGRN:KNUL)
#define BGYEL(ch,lvl)  (clr((ch),(lvl))?BYEL:KNUL)
#define BGBLU(ch,lvl)  (clr((ch),(lvl))?BBLU:KNUL)
#define BGMAG(ch,lvl)  (clr((ch),(lvl))?BMAG:KNUL)
#define BGCYN(ch,lvl)  (clr((ch),(lvl))?BCYN:KNUL)
#define BGWHT(ch,lvl)  (clr((ch),(lvl))?BWHT:KNUL)

#define COLOR_LEV(ch) (_clrlevel(ch))

#define QNRM(ch,lvl) CCNRM(ch,C_SPR)
#define QRED(ch,lvl) CCRED(ch,C_SPR)
#define QGRN(ch,lvl) CCGRN(ch,C_SPR)
#define QYEL(ch,lvl) CCYEL(ch,C_SPR)
#define QBLU(ch,lvl) CCBLU(ch,C_SPR)
#define QMAG(ch,lvl) CCMAG(ch,C_SPR)
#define QCYN(ch,lvl) CCCYN(ch,C_SPR)
#define QWHT(ch,lvl) CCWHT(ch,C_SPR)