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.