diff -ur /proj/Mud/servers/rom2.3/src/act_comm.c ./rom2.3-colour/src/act_comm.c --- /proj/Mud/servers/rom2.3/src/act_comm.c Mon Dec 27 22:10:11 1993 +++ ./rom2.3-colour/src/act_comm.c Sat Jan 13 23:59:00 1996 @@ -741,7 +741,7 @@ REMOVE_BIT(ch->comm,COMM_NOAUCTION); } - sprintf( buf, "You auction '%s'\n\r", argument ); + sprintf( buf, "{yYou auction '%s'{x\n\r", argument ); send_to_char( buf, ch ); for ( d = descriptor_list; d != NULL; d = d->next ) { @@ -754,7 +754,7 @@ !IS_SET(victim->comm,COMM_NOAUCTION) && !IS_SET(victim->comm,COMM_QUIET) ) { - act_new("$n auctions '$t'", + act_new("{y$n auctions '$t'{x", ch,argument,d->character,TO_VICT,POS_DEAD); } } @@ -797,7 +797,7 @@ REMOVE_BIT(ch->comm,COMM_NOGOSSIP); - sprintf( buf, "You gossip '%s'\n\r", argument ); + sprintf( buf, "{mYou gossip '%s'{x\n\r", argument ); send_to_char( buf, ch ); for ( d = descriptor_list; d != NULL; d = d->next ) { @@ -810,7 +810,7 @@ !IS_SET(victim->comm,COMM_NOGOSSIP) && !IS_SET(victim->comm,COMM_QUIET) ) { - act_new( "$n gossips '$t'", + act_new( "{m$n gossips '$t'{x", ch,argument, d->character, TO_VICT,POS_SLEEPING ); } } @@ -852,7 +852,7 @@ REMOVE_BIT(ch->comm,COMM_NOQUESTION); - sprintf( buf, "You question '%s'\n\r", argument ); + sprintf( buf, "{yYou question '%s'{x\n\r", argument ); send_to_char( buf, ch ); for ( d = descriptor_list; d != NULL; d = d->next ) { @@ -865,7 +865,7 @@ !IS_SET(victim->comm,COMM_NOQUESTION) && !IS_SET(victim->comm,COMM_QUIET) ) { - act_new("$n questions '$t'", + act_new("{y$n questions '$t'{x", ch,argument,d->character,TO_VICT,POS_SLEEPING); } } @@ -907,7 +907,7 @@ REMOVE_BIT(ch->comm,COMM_NOQUESTION); - sprintf( buf, "You answer '%s'\n\r", argument ); + sprintf( buf, "{yYou answer '%s'{x\n\r", argument ); send_to_char( buf, ch ); for ( d = descriptor_list; d != NULL; d = d->next ) { @@ -920,7 +920,7 @@ !IS_SET(victim->comm,COMM_NOQUESTION) && !IS_SET(victim->comm,COMM_QUIET) ) { - act_new("$n answers '$t'", + act_new("{y$n answers '$t'{x", ch,argument,d->character,TO_VICT,POS_SLEEPING); } } @@ -962,9 +962,9 @@ REMOVE_BIT(ch->comm,COMM_NOMUSIC); - sprintf( buf, "You MUSIC: '%s'\n\r", argument ); + sprintf( buf, "{yYou MUSIC: '%s'{x\n\r", argument ); send_to_char( buf, ch ); - sprintf( buf, "$n MUSIC: '%s'", argument ); + sprintf( buf, "{y$n MUSIC: '%s'{x", argument ); for ( d = descriptor_list; d != NULL; d = d->next ) { CHAR_DATA *victim; @@ -976,7 +976,7 @@ !IS_SET(victim->comm,COMM_NOMUSIC) && !IS_SET(victim->comm,COMM_QUIET) ) { - act_new("$n MUSIC: '$t'", + act_new("{y$n MUSIC: '$t'{x", ch,argument,d->character,TO_VICT,POS_SLEEPING); } } @@ -1005,15 +1005,15 @@ REMOVE_BIT(ch->comm,COMM_NOWIZ); - sprintf( buf, "$n: %s", argument ); - act_new("$n: $t",ch,argument,NULL,TO_CHAR,POS_DEAD); + sprintf( buf, "{c[{y$n{c]: %s{x", argument ); + act_new("{c[{y$n{c]: $t{x",ch,argument,NULL,TO_CHAR,POS_DEAD); for ( d = descriptor_list; d != NULL; d = d->next ) { if ( d->connected == CON_PLAYING && IS_HERO(d->character) && !IS_SET(d->character->comm,COMM_NOWIZ) ) { - act_new("$n: $t",ch,argument,d->character,TO_VICT,POS_DEAD); + act_new("{c[{y$n{c]: $t{x",ch,argument,d->character,TO_VICT,POS_DEAD); } } @@ -1030,8 +1030,8 @@ return; } - act( "$n says '$T'", ch, NULL, argument, TO_ROOM ); - act( "You say '$T'", ch, NULL, argument, TO_CHAR ); + act( "{g$n says '$T'{x", ch, NULL, argument, TO_ROOM ); + act( "{gYou say '$T'{x", ch, NULL, argument, TO_CHAR ); return; } @@ -2049,4 +2049,36 @@ if ( ach->leader != NULL ) ach = ach->leader; if ( bch->leader != NULL ) bch = bch->leader; return ach == bch; +} + +/* + * Colour setting and unsetting, way cool, Lope Oct '94 + */ +void do_colour( CHAR_DATA *ch, char *argument ) +{ + char arg[ MAX_STRING_LENGTH ]; + + argument = one_argument( argument, arg ); + + if( !*arg ) + { + if( !IS_SET( ch->act, PLR_COLOUR ) ) + { + SET_BIT( ch->act, PLR_COLOUR ); + send_to_char( "{bC{ro{yl{co{mu{gr{x is now {rON{x, Way Cool!\n\r", ch ); + } + else + { + send_to_char_bw( "Colour is now OFF, <sigh>\n\r", ch ); + REMOVE_BIT( ch->act, PLR_COLOUR ); + } + return; + } + else + { + send_to_char_bw( "Colour Configuration is unavailable in this\n\r", ch ); + send_to_char_bw( "version of colour, sorry\n\r", ch ); + } + + return; } diff -ur /proj/Mud/servers/rom2.3/src/comm.c ./rom2.3-colour/src/comm.c --- /proj/Mud/servers/rom2.3/src/comm.c Fri Mar 18 23:50:49 1994 +++ ./rom2.3-colour/src/comm.c Fri Oct 25 22:50:38 1996 @@ -1251,7 +1251,9 @@ { int percent; char wound[100]; - char buf[MAX_STRING_LENGTH]; + char *pbuff; + char buf[ MAX_STRING_LENGTH ]; + char buffer[ MAX_STRING_LENGTH*2 ]; if (victim->max_hit > 0) percent = victim->hit * 100 / victim->max_hit; @@ -1278,7 +1280,9 @@ sprintf(buf,"%s %s \n\r", IS_NPC(victim) ? victim->short_descr : victim->name,wound); buf[0] = UPPER(buf[0]); - write_to_buffer( d, buf, 0); + pbuff = buffer; + colourconv( pbuff, buf, d->character ); + write_to_buffer( d, buffer, 0 ); } @@ -1288,11 +1292,15 @@ if ( IS_SET(ch->comm, COMM_PROMPT) ) { + char *pbuff; + char buffer[ 80 ]; char buf[40]; ch = d->character; - sprintf( buf, "<%dhp %dm %dmv> ", ch->hit,ch->mana,ch->move); - write_to_buffer( d, buf, 0 ); + sprintf( buf, "{c<%dhp %dm %dmv>{x ", ch->hit,ch->mana,ch->move); + pbuff = buffer; + colourconv( pbuff, buf, ch ); + write_to_buffer( d, buffer, 0 ); } if (IS_SET(ch->comm,COMM_TELNET_GA)) @@ -2129,7 +2137,7 @@ /* * Write to one char. */ -void send_to_char( const char *txt, CHAR_DATA *ch ) +void send_to_char_bw( const char *txt, CHAR_DATA *ch ) { if ( txt != NULL && ch->desc != NULL ) write_to_buffer( ch->desc, txt, strlen(txt) ); @@ -2137,9 +2145,60 @@ } /* + * Write to one char, new colour version, by Lope. + */ +void send_to_char( const char *txt, CHAR_DATA *ch ) +{ + const char *point; + char *point2; + char buf[ MAX_STRING_LENGTH*4 ]; + int skip = 0; + + buf[0] = '\0'; + point2 = buf; + if( txt && ch->desc ) + { + if( IS_SET( ch->act, PLR_COLOUR ) ) + { + for( point = txt ; *point ; point++ ) + { + if( *point == '{' ) + { + point++; + skip = colour( *point, ch, point2 ); + while( skip-- > 0 ) + ++point2; + continue; + } + *point2 = *point; + *++point2 = '\0'; + } + *point2 = '\0'; + write_to_buffer( ch->desc, buf, point2 - buf ); + } + else + { + for( point = txt ; *point ; point++ ) + { + if( *point == '{' ) + { + point++; + continue; + } + *point2 = *point; + *++point2 = '\0'; + } + *point2 = '\0'; + write_to_buffer( ch->desc, buf, point2 - buf ); + } + } + return; +} + +/* * Send a page to one char. */ -void page_to_char( const char *txt, CHAR_DATA *ch ) +void page_to_char_bw( const char *txt, CHAR_DATA *ch ) { if ( txt == NULL || ch->desc == NULL) return; @@ -2154,6 +2213,63 @@ #endif } +/* + * Page to one char, new colour version, by Lope. + */ +void page_to_char( const char *txt, CHAR_DATA *ch ) +{ + const char *point; + char *point2; + char buf[ MAX_STRING_LENGTH * 4 ]; + int skip = 0; + + buf[0] = '\0'; + point2 = buf; + if( txt && ch->desc ) + { + if( IS_SET( ch->act, PLR_COLOUR ) ) + { + for( point = txt ; *point ; point++ ) + { + if( *point == '{' ) + { + point++; + skip = colour( *point, ch, point2 ); + while( skip-- > 0 ) + ++point2; + continue; + } + *point2 = *point; + *++point2 = '\0'; + } + *point2 = '\0'; + free_string( ch->desc->showstr_head ); + ch->desc->showstr_head = str_dup( buf ); + ch->desc->showstr_point = ch->desc->showstr_head; + show_string( ch->desc, "" ); + } + else + { + for( point = txt ; *point ; point++ ) + { + if( *point == '{' ) + { + point++; + continue; + } + *point2 = *point; + *++point2 = '\0'; + } + *point2 = '\0'; + free_string( ch->desc->showstr_head ); + ch->desc->showstr_head = str_dup( buf ); + ch->desc->showstr_point = ch->desc->showstr_head; + show_string( ch->desc, "" ); + } + } + return; +} + /* string pager */ void show_string(struct descriptor_data *d, char *input) @@ -2224,138 +2340,192 @@ act_new(format,ch,arg1,arg2,type,POS_RESTING); } +/* + * The colour version of the act( ) function, -Lope + */ void act_new( const char *format, CHAR_DATA *ch, const void *arg1, - const void *arg2, int type, int min_pos) + const void *arg2, int type, int min_pos ) { static char * const he_she [] = { "it", "he", "she" }; static char * const him_her [] = { "it", "him", "her" }; static char * const his_her [] = { "its", "his", "her" }; - char buf[MAX_STRING_LENGTH]; - char fname[MAX_INPUT_LENGTH]; - CHAR_DATA *to; - CHAR_DATA *vch = (CHAR_DATA *) arg2; - OBJ_DATA *obj1 = (OBJ_DATA *) arg1; - OBJ_DATA *obj2 = (OBJ_DATA *) arg2; - const char *str; - const char *i; - char *point; - - /* - * Discard null and zero-length messages. - */ - if ( format == NULL || format[0] == '\0' ) + CHAR_DATA *to; + CHAR_DATA *vch = ( CHAR_DATA * ) arg2; + OBJ_DATA *obj1 = ( OBJ_DATA * ) arg1; + OBJ_DATA *obj2 = ( OBJ_DATA * ) arg2; + const char *str; + char *i; + char *point; + char *pbuff; + char buf[ MAX_STRING_LENGTH ]; + char buffer[ MAX_STRING_LENGTH*2 ]; + char fname[ MAX_INPUT_LENGTH ]; + bool fColour = FALSE; + + if( !format || !*format ) return; - /* discard null rooms and chars */ - if (ch == NULL || ch->in_room == NULL) + if( !ch || !ch->in_room ) return; to = ch->in_room->people; - if ( type == TO_VICT ) + if( type == TO_VICT ) { - if ( vch == NULL ) + if( !vch ) { bug( "Act: null vch with TO_VICT.", 0 ); return; } - if (vch->in_room == NULL) + if( !vch->in_room ) return; to = vch->in_room->people; } - for ( ; to != NULL; to = to->next_in_room ) + for( ; to ; to = to->next_in_room ) { - if ( to->desc == NULL || to->position < min_pos ) + if( !to->desc || to->position < min_pos ) continue; - if ( type == TO_CHAR && to != ch ) + if( type == TO_CHAR && to != ch ) continue; - if ( type == TO_VICT && ( to != vch || to == ch ) ) + if( type == TO_VICT && ( to != vch || to == ch ) ) continue; - if ( type == TO_ROOM && to == ch ) + if( type == TO_ROOM && to == ch ) continue; - if ( type == TO_NOTVICT && (to == ch || to == vch) ) + if( type == TO_NOTVICT && ( to == ch || to == vch ) ) continue; point = buf; str = format; - while ( *str != '\0' ) + while( *str ) { - if ( *str != '$' ) + if( *str != '$' ) { *point++ = *str++; continue; } - ++str; - - if ( arg2 == NULL && *str >= 'A' && *str <= 'Z' ) - { - bug( "Act: missing arg2 for code %d.", *str ); - i = " <@@@> "; - } - else - { - switch ( *str ) - { - default: bug( "Act: bad code %d.", *str ); - i = " <@@@> "; break; - /* Thx alex for 't' idea */ - case 't': i = (char *) arg1; break; - case 'T': i = (char *) arg2; break; - case 'n': i = PERS( ch, to ); break; - case 'N': i = PERS( vch, to ); break; - case 'e': i = he_she [URANGE(0, ch ->sex, 2)]; break; - case 'E': i = he_she [URANGE(0, vch ->sex, 2)]; break; - case 'm': i = him_her [URANGE(0, ch ->sex, 2)]; break; - case 'M': i = him_her [URANGE(0, vch ->sex, 2)]; break; - case 's': i = his_her [URANGE(0, ch ->sex, 2)]; break; - case 'S': i = his_her [URANGE(0, vch ->sex, 2)]; break; - - case 'p': - i = can_see_obj( to, obj1 ) - ? obj1->short_descr - : "something"; - break; + + i = NULL; + switch( *str ) + { + case '$': + fColour = TRUE; + ++str; + i = " <@@@> "; + if ( !arg2 && *str >= 'A' && *str <= 'Z' ) + { + bug( "Act: missing arg2 for code %d.", *str ); + i = " <@@@> "; + } + else + { + switch ( *str ) + { + default: + bug( "Act: bad code %d.", *str ); + i = " <@@@> "; + break; + + case 't': + i = (char *) arg1; + break; + + case 'T': + i = (char *) arg2; + break; + + case 'n': + i = PERS( ch, to ); + break; + + case 'N': + i = PERS( vch, to ); + break; + + case 'e': + i = he_she [URANGE(0, ch ->sex, 2)]; + break; + + case 'E': + i = he_she [URANGE(0, vch ->sex, 2)]; + break; + + case 'm': + i = him_her [URANGE(0, ch ->sex, 2)]; + break; + + case 'M': + i = him_her [URANGE(0, vch ->sex, 2)]; + break; + + case 's': + i = his_her [URANGE(0, ch ->sex, 2)]; + break; + + case 'S': + i = his_her [URANGE(0, vch ->sex, 2)]; + break; - case 'P': - i = can_see_obj( to, obj2 ) - ? obj2->short_descr - : "something"; - break; + case 'p': + i = can_see_obj( to, obj1 ) + ? obj1->short_descr + : "something"; + break; - case 'd': - if ( arg2 == NULL || ((char *) arg2)[0] == '\0' ) - { - i = "door"; - } - else - { - one_argument( (char *) arg2, fname ); - i = fname; - } - break; - } - } + case 'P': + i = can_see_obj( to, obj2 ) + ? obj2->short_descr + : "something"; + break; + case 'd': + if ( !arg2 || ((char *) arg2)[0] == '\0' ) + { + i = "door"; + } + else + { + one_argument( (char *) arg2, fname ); + i = fname; + } + break; + } + } + break; + + default: + fColour = FALSE; + *point++ = *str++; + break; + } + ++str; - while ( ( *point = *i ) != '\0' ) - ++point, ++i; + if( i ) + { + while( ( *point = *i ) != '\0' ) + { + ++point; + ++i; + } + } } - *point++ = '\n'; - *point++ = '\r'; - buf[0] = UPPER(buf[0]); - write_to_buffer( to->desc, buf, point - buf ); + *point++ = '\n'; + *point++ = '\r'; + *point = '\0'; + buf[0] = UPPER( buf[0] ); + pbuff = buffer; + colourconv( pbuff, buf, to ); + if( to->desc ) + write_to_buffer( to->desc, buffer, 0 ); } - + return; } - - /* * Macintosh support functions. */ @@ -2366,3 +2536,127 @@ tp->tv_usec = 0; } #endif + +int colour( char type, CHAR_DATA *ch, char *string ) +{ + char code[ 20 ]; + char *p = '\0'; + + if( IS_NPC( ch ) ) + return( 0 ); + + switch( type ) + { + default: + sprintf( code, CLEAR ); + break; + case 'x': + sprintf( code, CLEAR ); + break; + case 'b': + sprintf( code, C_BLUE ); + break; + case 'c': + sprintf( code, C_CYAN ); + break; + case 'g': + sprintf( code, C_GREEN ); + break; + case 'm': + sprintf( code, C_MAGENTA ); + break; + case 'r': + sprintf( code, C_RED ); + break; + case 'w': + sprintf( code, C_WHITE ); + break; + case 'y': + sprintf( code, C_YELLOW ); + break; + case 'B': + sprintf( code, C_B_BLUE ); + break; + case 'C': + sprintf( code, C_B_CYAN ); + break; + case 'G': + sprintf( code, C_B_GREEN ); + break; + case 'M': + sprintf( code, C_B_MAGENTA ); + break; + case 'R': + sprintf( code, C_B_RED ); + break; + case 'W': + sprintf( code, C_B_WHITE ); + break; + case 'Y': + sprintf( code, C_B_YELLOW ); + break; + case 'D': + sprintf( code, C_D_GREY ); + break; + case '*': + sprintf( code, "%c", 007 ); + break; + case '/': + sprintf( code, "%c", 012 ); + break; + case '{': + sprintf( code, "%c", '{' ); + break; + } + + p = code; + while( *p != '\0' ) + { + *string = *p++; + *++string = '\0'; + } + + return( strlen( code ) ); +} + +void colourconv( char *buffer, const char *txt , CHAR_DATA *ch ) +{ + const char *point; + int skip = 0; + + if( ch->desc && txt ) + { + if( IS_SET( ch->act, PLR_COLOUR ) ) + { + for( point = txt ; *point ; point++ ) + { + if( *point == '{' ) + { + point++; + skip = colour( *point, ch, buffer ); + while( skip-- > 0 ) + ++buffer; + continue; + } + *buffer = *point; + *++buffer = '\0'; + } + *buffer = '\0'; + } + else + { + for( point = txt ; *point ; point++ ) + { + if( *point == '{' ) + { + point++; + continue; + } + *buffer = *point; + *++buffer = '\0'; + } + *buffer = '\0'; + } + } + return; +} diff -ur /proj/Mud/servers/rom2.3/src/db.c ./rom2.3-colour/src/db.c --- /proj/Mud/servers/rom2.3/src/db.c Mon Jan 10 21:30:58 1994 +++ ./rom2.3-colour/src/db.c Thu Oct 17 20:18:58 1996 @@ -32,11 +32,6 @@ #include "db.h" -#if defined(unix) -extern int getrlimit(int resource, struct rlimit *rlp); -extern int setrlimit(int resource, struct rlimit *rlp); -#endif - #if !defined(macintosh) extern int _filbuf args( (FILE *) ); #endif @@ -2654,7 +2649,7 @@ if (argument[0] != '\0') { - send_to_char("No argument is used with this command.\n\r",ch); + send_to_char_bw("No argument is used with this command.\n\r",ch); return; } @@ -2668,7 +2663,7 @@ { sprintf( buf, "%-39s%-39s\n\r", pArea1->name, (pArea2 != NULL) ? pArea2->name : "" ); - send_to_char( buf, ch ); + send_to_char_bw( buf, ch ); pArea1 = pArea1->next; if ( pArea2 != NULL ) pArea2 = pArea2->next; diff -ur /proj/Mud/servers/rom2.3/src/handler.c ./rom2.3-colour/src/handler.c --- /proj/Mud/servers/rom2.3/src/handler.c Sat Jan 15 05:14:24 1994 +++ ./rom2.3-colour/src/handler.c Sat Jan 13 17:41:17 1996 @@ -2186,6 +2186,7 @@ else { strcat(buf," player"); + if (act_flags & PLR_COLOUR ) strcat(buf, " colour"); if (act_flags & PLR_BOUGHT_PET ) strcat(buf, " owner"); if (act_flags & PLR_AUTOASSIST ) strcat(buf, " autoassist"); if (act_flags & PLR_AUTOEXIT ) strcat(buf, " autoexit"); diff -ur /proj/Mud/servers/rom2.3/src/interp.c ./rom2.3-colour/src/interp.c --- /proj/Mud/servers/rom2.3/src/interp.c Sat Jan 15 05:09:31 1994 +++ ./rom2.3-colour/src/interp.c Sat Jan 13 17:38:56 1996 @@ -139,6 +139,7 @@ { "autosplit", do_autosplit, POS_DEAD, 0, LOG_NORMAL, 1 }, { "brief", do_brief, POS_DEAD, 0, LOG_NORMAL, 1 }, /* { "channels", do_channels, POS_DEAD, 0, LOG_NORMAL, 1 }, */ + { "colour", do_colour, POS_DEAD, 0, LOG_NORMAL, 1 }, { "combine", do_combine, POS_DEAD, 0, LOG_NORMAL, 1 }, { "compact", do_compact, POS_DEAD, 0, LOG_NORMAL, 1 }, { "description", do_description, POS_DEAD, 0, LOG_NORMAL, 1 }, diff -ur /proj/Mud/servers/rom2.3/src/interp.h ./rom2.3-colour/src/interp.h --- /proj/Mud/servers/rom2.3/src/interp.h Thu Nov 4 05:48:11 1993 +++ ./rom2.3-colour/src/interp.h Sat Jan 13 17:37:53 1996 @@ -62,6 +62,7 @@ DECLARE_DO_FUN( do_channels ); DECLARE_DO_FUN( do_clone ); DECLARE_DO_FUN( do_close ); +DECLARE_DO_FUN( do_colour ); /* Colour Command By Lope */ DECLARE_DO_FUN( do_commands ); DECLARE_DO_FUN( do_combine ); DECLARE_DO_FUN( do_compact ); diff -ur /proj/Mud/servers/rom2.3/src/merc.h ./rom2.3-colour/src/merc.h --- /proj/Mud/servers/rom2.3/src/merc.h Mon Feb 7 12:33:41 1994 +++ ./rom2.3-colour/src/merc.h Fri Oct 25 21:51:28 1996 @@ -142,6 +142,25 @@ #define AVATAR (MAX_LEVEL - 8) #define HERO LEVEL_HERO +/* + * Colour stuff by Lope of Loping Through The MUD + */ +#define CLEAR "[0m" /* Resets Colour */ +#define C_RED "[0;31m" /* Normal Colours */ +#define C_GREEN "[0;32m" +#define C_YELLOW "[0;33m" +#define C_BLUE "[0;34m" +#define C_MAGENTA "[0;35m" +#define C_CYAN "[0;36m" +#define C_WHITE "[0;37m" +#define C_D_GREY "[1;30m" /* Light Colors */ +#define C_B_RED "[1;31m" +#define C_B_GREEN "[1;32m" +#define C_B_YELLOW "[1;33m" +#define C_B_BLUE "[1;34m" +#define C_B_MAGENTA "[1;35m" +#define C_B_CYAN "[1;36m" +#define C_B_WHITE "[1;37m" /* @@ -1060,6 +1079,11 @@ #define PLR_NOFOLLOW (R) /* 4 bits reserved, S-V */ +/* + * Colour stuff by Lope of Loping Through The MUD + */ +#define PLR_COLOUR (T) /* Colour Flag By Lope */ + /* penalty flags */ #define PLR_LOG (W) @@ -1833,6 +1857,13 @@ void act_new args( ( const char *format, CHAR_DATA *ch, const void *arg1, const void *arg2, int type, int min_pos) ); +/* + * Colour stuff by Lope of Loping Through The MUD + */ +int colour args( ( char type, CHAR_DATA *ch, char *string ) ); +void colourconv args( ( char *buffer, const char *txt, CHAR_DATA *ch ) ); +void send_to_char_bw args( ( const char *txt, CHAR_DATA *ch ) ); +void page_to_char_bw args( ( const char *txt, CHAR_DATA *ch ) ); /* db.c */ void boot_db args( ( void ) ); diff -ur /proj/Mud/servers/rom2.3/src/startup ./rom2.3-colour/src/startup --- /proj/Mud/servers/rom2.3/src/startup Sat Oct 23 10:08:57 1993 +++ ./rom2.3-colour/src/startup Sat Jan 13 18:18:07 1996 @@ -1,3 +1,4 @@ +#! /bin/csh -f # Written by Furey. # With additions from Tony.