/**************************************************************************** * [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame | \\._.// * * -----------------------------------------------------------| (0...0) * * SMAUG 1.4 (C) 1994, 1995, 1996, 1998 by Derek Snider | ).:.( * * -----------------------------------------------------------| {o o} * * SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus, | / ' ' \ * * Scryn, Rennard, Swordbearer, Gorog, Grishnakh, Nivek, |~'~.VxvxV.~'~* * Tricops and Fireblade | * * ------------------------------------------------------------------------ * * Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * Win32 port by Nick Gammon * **************************************************************************** * Color Module -- Allow user customizable Colors. * * --Matthew * * Enhanced ANSI parser by Samson * ****************************************************************************/ #define SAMSONCOLOR /* To interact with other snippets */ #ifndef MSL #define MSL MAX_STRING_LENGTH #endif #ifndef MIL #define MIL MAX_INPUT_LENGTH #endif DECLARE_DO_FUN( do_color ); void reset_colors( CHAR_DATA *ch ); void set_char_color( sh_int AType, CHAR_DATA *ch ); void set_pager_color( sh_int AType, CHAR_DATA *ch ); char *color_str( sh_int AType, CHAR_DATA *ch ); const char *const_color_align( const char *argument, int size, int align ); /* * Color Alignment Parameters */ #define ALIGN_LEFT 1 #define ALIGN_CENTER 2 #define ALIGN_RIGHT 3 /* These are the ANSI codes for foreground text colors */ #define ANSI_BLACK "\033[0;30m" #define ANSI_DRED "\033[0;31m" #define ANSI_DGREEN "\033[0;32m" #define ANSI_ORANGE "\033[0;33m" #define ANSI_DBLUE "\033[0;34m" #define ANSI_PURPLE "\033[0;35m" #define ANSI_CYAN "\033[0;36m" #define ANSI_GREY "\033[0;37m" #define ANSI_DGREY "\033[1;30m" #define ANSI_RED "\033[1;31m" #define ANSI_GREEN "\033[1;32m" #define ANSI_YELLOW "\033[1;33m" #define ANSI_BLUE "\033[1;34m" #define ANSI_PINK "\033[1;35m" #define ANSI_LBLUE "\033[1;36m" #define ANSI_WHITE "\033[1;37m" #define ANSI_RESET "\033[0m" /* These are the ANSI codes for blinking foreground text colors */ #define BLINK_BLACK "\033[0;5;30m" #define BLINK_DRED "\033[0;5;31m" #define BLINK_DGREEN "\033[0;5;32m" #define BLINK_ORANGE "\033[0;5;33m" #define BLINK_DBLUE "\033[0;5;34m" #define BLINK_PURPLE "\033[0;5;35m" #define BLINK_CYAN "\033[0;5;36m" #define BLINK_GREY "\033[0;5;37m" #define BLINK_DGREY "\033[1;5;30m" #define BLINK_RED "\033[1;5;31m" #define BLINK_GREEN "\033[1;5;32m" #define BLINK_YELLOW "\033[1;5;33m" #define BLINK_BLUE "\033[1;5;34m" #define BLINK_PINK "\033[1;5;35m" #define BLINK_LBLUE "\033[1;5;36m" #define BLINK_WHITE "\033[1;5;37m" /* These are the ANSI codes for background colors */ #define BACK_BLACK "\033[40m" #define BACK_DRED "\033[41m" #define BACK_DGREEN "\033[42m" #define BACK_ORANGE "\033[43m" #define BACK_DBLUE "\033[44m" #define BACK_PURPLE "\033[45m" #define BACK_CYAN "\033[46m" #define BACK_GREY "\033[47m" /* Other miscelaneous ANSI tags that can be used */ #define ANSI_BOLD "\033[1m" /* For bright color stuff */ #define ANSI_ITALIC "\033[3m" /* Italic text */ #define ANSI_UNDERLINE "\033[4m" /* Underline text */ #define ANSI_BLINK "\033[5m" /* Blinking text */ #define ANSI_REVERSE "\033[7m" /* Reverse colors */ #define ANSI_STRIKEOUT "\033[9m" /* Overstrike line */ #define AT_BLACK 0 #define AT_BLOOD 1 #define AT_DGREEN 2 #define AT_ORANGE 3 #define AT_DBLUE 4 #define AT_PURPLE 5 #define AT_CYAN 6 #define AT_GREY 7 #define AT_DGREY 8 #define AT_RED 9 #define AT_GREEN 10 #define AT_YELLOW 11 #define AT_BLUE 12 #define AT_PINK 13 #define AT_LBLUE 14 #define AT_WHITE 15 #define AT_BLINK 16 #define AT_WHITE_BLINK AT_WHITE + AT_BLINK #define AT_RED_BLINK AT_RED + AT_BLINK #define AT_PLAIN 17 #define AT_ACTION 18 #define AT_SAY 19 #define AT_GOSSIP 20 #define AT_YELL 21 #define AT_TELL 22 #define AT_HIT 23 #define AT_HITME 24 #define AT_IMMORT 25 #define AT_HURT 26 #define AT_FALLING 27 #define AT_DANGER 28 #define AT_MAGIC 29 #define AT_CONSIDER 30 #define AT_REPORT 31 #define AT_POISON 32 #define AT_SOCIAL 33 #define AT_DYING 34 #define AT_DEAD 35 #define AT_SKILL 36 #define AT_CARNAGE 37 #define AT_DAMAGE 38 #define AT_FLEE 39 #define AT_RMNAME 40 #define AT_RMDESC 41 #define AT_OBJECT 42 #define AT_PERSON 43 #define AT_LIST 44 #define AT_BYE 45 #define AT_GOLD 46 #define AT_GTELL 47 #define AT_NOTE 48 #define AT_HUNGRY 49 #define AT_THIRSTY 50 #define AT_FIRE 51 #define AT_SOBER 52 #define AT_WEAROFF 53 #define AT_EXITS 54 #define AT_SCORE 55 #define AT_RESET 56 #define AT_LOG 57 #define AT_DIEMSG 58 #define AT_WARTALK 59 #define AT_ARENA 60 #define AT_MUSE 61 #define AT_THINK 62 #define AT_AFLAGS 63 /* Added by Samson 9-29-98 for area flag display line */ #define AT_WHO 64 /* Added by Samson 9-29-98 for wholist */ #define AT_RACETALK 65 /* Added by Samson 9-29-98 for version 1.4 code */ #define AT_IGNORE 66 /* Added by Samson 9-29-98 for version 1.4 code */ #define AT_WHISPER 67 /* Added by Samson 9-29-98 for version 1.4 code */ #define AT_DIVIDER 68 /* Added by Samson 9-29-98 for version 1.4 code */ #define AT_MORPH 69 /* Added by Samson 9-29-98 for version 1.4 code */ #define AT_SHOUT 70 /* Added by Samson 9-29-98 for shout channel */ #define AT_RFLAGS 71 /* Added by Samson 12-20-98 for room flag display line */ #define AT_STYPE 72 /* Added by Samson 12-20-98 for sector display line */ #define AT_ANAME 73 /* Added by Samson 12-20-98 for filename display line */ #define AT_AUCTION 74 /* Added by Samson 12-25-98 for auction channel */ #define AT_SCORE2 75 /* Added by Samson 2-3-99 for DOTD code */ #define AT_SCORE3 76 /* Added by Samson 2-3-99 for DOTD code */ #define AT_SCORE4 77 /* Added by Samson 2-3-99 for DOTD code */ #define AT_WHO2 78 /* Added by Samson 2-3-99 for DOTD code */ #define AT_WHO3 79 /* Added by Samson 2-3-99 for DOTD code */ #define AT_WHO4 80 /* Added by Samson 2-3-99 for DOTD code */ #define AT_INTERMUD 81 /* Added by Samson 1-15-01 for Intermud3 Channels */ #define AT_HELP 82 /* Added by Samson 1-15-01 for helpfiles */ #define AT_WHO5 83 /* Added by Samson 2-7-01 for guild names on who */ #define AT_SCORE5 84 /* Added by Samson 1-14-02 */ #define AT_WHO6 85 /* Added by Samson 1-14-02 */ #define AT_WHO7 86 /* Added by Samson 1-14-02 */ #define AT_PRAC 87 /* Added by Samson 1-21-02 */ #define AT_PRAC2 88 /* Added by Samson 1-21-02 */ #define AT_PRAC3 89 /* Added by Samson 1-21-02 */ #define AT_PRAC4 90 /* Added by Samson 1-21-02 */ #define AT_MXPPROMPT 91 /* Added by Samson 2-27-02 */ #define AT_GUILDTALK 92 /* Added by Tarl 28 Nov 02 */ /* Should ALWAYS be one more than the last numerical value in the list */ #define MAX_COLORS 93 extern const sh_int default_set [MAX_COLORS];