1stMUD/corefiles/
1stMUD/gods/
1stMUD/notes/
1stMUD/player/
1stMUD/win32/
1stMUD/win32/ROM/
/**************************************************************************
*  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
*  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
*                                                                         *
*  Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael         *
*  Chastain, Michael Quan, and Mitchell Tse.                              *
*                                                                         *
*  In order to use any part of this Merc Diku Mud, you must comply with   *
*  both the original Diku license in 'license.doc' as well the Merc       *
*  license in 'license.txt'.  In particular, you may not remove either of *
*  these copyright notices.                                               *
*                                                                         *
*  Much time and thought has gone into this software and you are          *
*  benefiting.  We hope that you share your changes too.  What goes       *
*  around, comes around.                                                  *
***************************************************************************
*       ROM 2.4 is copyright 1993-1998 Russ Taylor                        *
*       ROM has been brought to you by the ROM consortium                 *
*           Russ Taylor (rtaylor@hypercube.org)                           *
*           Gabrielle Taylor (gtaylor@hypercube.org)                      *
*           Brian Moore (zump@rom.org)                                    *
*       By using this code, you have agreed to follow the terms of the    *
*       ROM license, in the file Rom24/doc/rom.license                    *
***************************************************************************
*       1stMUD ROM Derivative (c) 2001-2002 by Ryan Jennings              *
*            http://1stmud.dlmud.com/  <r-jenn@shaw.ca>                   *
***************************************************************************/
#if !defined(ANSI_H)
#define ANSI_H

#define	ANSI_KEY        '{'
#define	ANSI_CUSTOM     '\x11'
#define ANSI_END	    '\x12'

#define	C_BLANK         "\x01B[%d;%dm"
#define	C_REVERSE       "\x01B[7m"
#define	C_FLASH         "\x01B[5m"
#define	C_UNDERSCORE    "\x01B[4m"
#define	C_TILDE         '~'
#define	C_BEEP          '\a'

#define	C_BLACK         "\x01B[0;30m"
#define	C_RED           "\x01B[0;31m"
#define	C_GREEN         "\x01B[0;32m"
#define	C_YELLOW        "\x01B[0;33m"
#define	C_BLUE          "\x01B[0;34m"
#define	C_MAGENTA       "\x01B[0;35m"
#define	C_CYAN          "\x01B[0;36m"
#define	C_WHITE         "\x01B[0;37m"
#define	CB_BLACK        "\x01B[1;30m"
#define	CB_RED          "\x01B[1;31m"
#define	CB_GREEN        "\x01B[1;32m"
#define	CB_YELLOW       "\x01B[1;33m"
#define	CB_BLUE         "\x01B[1;34m"
#define	CB_MAGENTA      "\x01B[1;35m"
#define	CB_CYAN         "\x01B[1;36m"
#define	CB_WHITE        "\x01B[1;37m"
#define	C_CLEAR         "\x01B[0m"
#define C_RANDOM        "{`"

#define	RED_BG          "\x01B[0;41m"
#define	BLUE_BG         "\x01B[0;44m"
#define	GREEN_BG        "\x01B[0;42m"
#define	BLACK_BG        "\x01B[0;40m"
#define	WHITE_BG        "\x01B[0;47m"
#define	MAGENTA_BG      "\x01B[0;45m"
#define	YELLOW_BG       "\x01B[0;43m"
#define	CYAN_BG         "\x01B[0;46m"
#define	RED_BBG         "\x01B[1;41m"
#define	BLUE_BBG        "\x01B[1;44m"
#define	GREEN_BBG       "\x01B[1;42m"
#define	BLACK_BBG       "\x01B[1;40m"
#define	WHITE_BBG       "\x01B[1;47m"
#define	MAGENTA_BBG     "\x01B[1;45m"
#define	YELLOW_BBG      "\x01B[1;43m"
#define	CYAN_BBG        "\x01B[1;46m"
#define RANDOM_BG       "{="

#define ALIGN_NONE   0
#define ALIGN_LEFT   1
#define ALIGN_CENTER 2
#define ALIGN_RIGHT  3

#define _DEFAULT    0
#define	_GOSSIP1    1
#define	_GOSSIP2    2
#define	_GOSSIP3    3
#define	_MUSIC1     4
#define	_MUSIC2     5
#define	_MUSIC3     6
#define	_QA1        7
#define	_QA2        8
#define	_QA3        9
#define	_QUOTE1     10
#define	_QUOTE2     11
#define	_QUOTE3     12
#define	_GRATS1     13
#define	_GRATS2     14
#define	_GRATS3     15
#define	_SHOUT1     16
#define	_SHOUT2     17
#define	_IMMTALK1   18
#define	_IMMTALK2   19
#define	_IMMTALK3   20
#define	_TELLS1     21
#define	_TELLS2     22
#define	_SAY1       23
#define	_SAY2       24
#define	_SKILL      25
#define	_YHIT       26
#define	_OHIT       27
#define	_VHIT       28
#define	_WRACE      29
#define	_WCLASS     30
#define	_WLEVEL     31
#define	_RTITLE     32
#define	_SCORE1     33
#define	_SCORE2     34
#define	_SCORE3     35
#define	_SCOREB     36
#define	_WIZNET     37
#define _GTELL1     38
#define _GTELL2     39
#define _WHOIS1     40
#define _WHOIS2     41
#define _WHOISB     42
#define _BTALK1     43
#define _BTALK2     44
#define MAX_CUSTOM_COLOUR 45

/* ANSI_CUSTOM AND ANSI_END CHARACTERS IN STRING FORM */
#define C_START  "\x11"
#define C_END	 "\x12"

/* Convert slot numbers into strings with ANSI_CUSTOM codes */
#define cstr(s) C_START #s C_END
#define CTAG(s) cstr(s)

/* CTAG USAGE: 

    act("" CTAG(_SAY1) "$n says " CTAG(_SAY2) "' have a nice day!", ch, NULL, NULL, TO_ROOM);
    or
    sprintf(buf, "%s%s says %s' have a nice day!'\n\r", CTAG(_SAY1), ch->name, CTAG(_SAY2));
*/

#endif