gurba-0.40/
gurba-0.40/bin/
gurba-0.40/lib/
gurba-0.40/lib/cmds/guild/fighter/
gurba-0.40/lib/cmds/monster/
gurba-0.40/lib/cmds/race/catfolk/
gurba-0.40/lib/cmds/race/dwarf/
gurba-0.40/lib/cmds/verb/
gurba-0.40/lib/daemons/data/
gurba-0.40/lib/data/boards/
gurba-0.40/lib/data/messages/
gurba-0.40/lib/data/players/
gurba-0.40/lib/design/
gurba-0.40/lib/domains/gurba/
gurba-0.40/lib/domains/gurba/guilds/fighter/
gurba-0.40/lib/domains/gurba/monsters/
gurba-0.40/lib/domains/gurba/objects/armor/
gurba-0.40/lib/domains/gurba/objects/clothing/
gurba-0.40/lib/domains/gurba/objects/weapons/
gurba-0.40/lib/domains/gurba/vendors/
gurba-0.40/lib/kernel/cmds/admin/
gurba-0.40/lib/kernel/daemons/
gurba-0.40/lib/kernel/include/
gurba-0.40/lib/kernel/lib/
gurba-0.40/lib/kernel/net/
gurba-0.40/lib/kernel/sys/
gurba-0.40/lib/logs/
gurba-0.40/lib/pub/
gurba-0.40/lib/std/modules/languages/
gurba-0.40/lib/std/races/
gurba-0.40/lib/std/races/monsters/
gurba-0.40/lib/wiz/fudge/
gurba-0.40/lib/wiz/spud/
gurba-0.40/src/host/beos/
gurba-0.40/src/host/pc/res/
gurba-0.40/src/kfun/
gurba-0.40/src/lpc/
gurba-0.40/src/parser/
gurba-0.40/tmp/
#define RESET ""
#define BOLD ""
#define FLASH ""
#define BLACK ""
#define RED ""
#define GREEN ""
#define ORANGE ""
#define YELLOW BOLD + ORANGE
#define BLUE ""
#define CYAN ""
#define MAGENTA ""
#define WHITE ""
#define B_RED ""
#define B_GREEN ""
#define B_ORANGE ""
#define B_YELLOW BOLD + B_ORANGE
#define B_BLUE ""
#define B_CYAN ""
#define B_BLACK ""
#define B_WHITE ""
#define CLEARLINE ""
#define B_MAGENTA ""
#define INITTERM ""
#define ENDTERM ""
#define SAVE "7"
#define RESTORE "8"
#define HOME ""

mapping translations; 

void create( void ) {
  translations = ([
		   "RESET" : RESET,
		   "BOLD" : BOLD,
		   "FLASH" : FLASH,
		   "RED" : RED,
		   "GREEN" : GREEN,
		   "ORANGE" : ORANGE,
		   "YELLOW" : YELLOW,
		   "BLUE" : BLUE,
		   "CYAN" : CYAN,
		   "MAGENTA" : MAGENTA,
		   "WHITE" : WHITE,
		   "B_RED" : B_RED,
		   "B_GREEN" : B_GREEN,
		   "B_ORANGE" : B_ORANGE,
		   "B_YELLOW" : B_YELLOW,
		   "B_BLUE" : B_BLUE,
		   "B_CYAN" : B_CYAN,
		   "B_BLACK" : B_BLACK,
		   "B_WHITE" : B_WHITE,
		   "B_MAGENTA" : B_MAGENTA,
		   "CLEARLINE" : CLEARLINE,
		   "INITTERM" : INITTERM,
		   "ENDTERM" : ENDTERM,
		   "SAVE" : SAVE,
		   "RESTORE" : RESTORE,
		   "HOME" : HOME,
		   ]);
}

string strip_colors( string str ) {
  string* tmp;
  string msg;
  int i;

  tmp = explode( str, "%^" );

  for( i=0; i < sizeof( tmp ); i++ ) {
    if( member_array( tmp[i], map_indices(translations) ) != -1 ) {
      tmp[i] = "";
    }
  }
  msg = implode( tmp, "" );
  return( msg );
}

string parse_colors( string str ) {

  string* tmp;
  string msg;
  int i;

  tmp = explode( str, "%^" );

  for( i=0; i < sizeof( tmp ); i++ ) {
    if( member_array( tmp[i], map_indices(translations) ) != -1 ) {
      tmp[i] = translations[ tmp[i] ];
    }
  }
  msg = implode( tmp, "" );
  return( msg );

}