diff -u --recursive src-original/channel.c src/channel.c --- src-original/channel.c Wed Feb 14 11:42:18 2001 +++ src/channel.c Wed Feb 14 13:10:15 2001 @@ -942,6 +942,12 @@ ADDSTACK("<ignoring>\n"); } + ADDSTACK("Coloured names "); + if (p2->misc_flags & NO_CNAME) + ADDSTACK("<ignoring>\n"); + else + ADDSTACK("<seeing>\n"); + ENDSTACK("\n" LINE); tell_player(p, oldstack); stack = oldstack; @@ -963,6 +969,8 @@ toggle_yes_dynatext(p, ""); else if (strstr(str, "deb") && p->residency & DEBUG) toggle_debug_channel(p, ""); + else if (strstr(str, "cna") || strstr(str, "col")) + toggle_cname(p); else { tell_player(p, " Format: muffle <section>\n" @@ -971,7 +979,7 @@ tell_player(p, ", spod"); if (p->residency & DEBUG) tell_player(p, ", debug"); - tell_player(p, ", session, clock, dynatext\n"); + tell_player(p, ", session, clock, dynatext, cname\n"); } } diff -u --recursive src-original/commands.c src/commands.c --- src-original/commands.c Wed Feb 14 11:42:18 2001 +++ src/commands.c Wed Feb 14 13:17:01 2001 @@ -512,10 +512,10 @@ { if (emote_no_break(*p->idle_msg)) TELLPLAYER(p, " Idle message set to ....\n%s%s\nuntil you type a" - " new command.\n", full_name(p), p->idle_msg); + " new command.\n", full_name(p,p), p->idle_msg); else TELLPLAYER(p, " Idle message set to ....\n%s %s\nuntil you type a" - " new command.\n", full_name(p), p->idle_msg); + " new command.\n", full_name(p,p), p->idle_msg); } } else diff -u --recursive src-original/dynatext.c src/dynatext.c --- src-original/dynatext.c Wed Feb 14 11:42:18 2001 +++ src/dynatext.c Wed Feb 14 14:23:43 2001 @@ -228,14 +228,14 @@ { static char buf[64]; - if(!strcmp(mask, "name")) return t->name; + if(!strcmp(mask, "name")) return get_cname(t, p)); if(!strcmp(mask, "fullname")) { if(!t->pretitle[0] || p->custom_flags & NOEPREFIX) { - return t->name; + return get_cname(t, p); } - sprintf(buf, "%s %s", t->pretitle, t->name); + sprintf(buf, "%s %s", t->pretitle, get_cname(t, p)); return buf; } if(!strcmp(mask, "time")) return time_diff(t->jetlag); @@ -448,7 +448,7 @@ return masks_player(p, current_player, mask); } if(!strcmp(mask, "USERNAME")) - return current_player->name; + return get_cname(current_player, p); if(!strcmp(mask, "USERGENDER")) return gstring_possessive(current_player); if(!strcmp(mask, "USERGENDER1")) @@ -488,7 +488,7 @@ return masks_player(p, targ, mask); } if(!strcmp(mask, "TARGET")) - return targ->name; + return get_cname(targ, p); if(!strcmp(mask, "TPREFIX")) return targ->pretitle; if(!strcmp(mask, "TGENDER")) diff -u --recursive src-original/examine.c src/examine.c --- src-original/examine.c Wed Feb 14 11:42:18 2001 +++ src/examine.c Wed Feb 14 13:17:22 2001 @@ -688,7 +688,7 @@ if (p2 != &dummy) { sprintf(stack, "%s has been logged in for %s since\n%s.\n", - full_name(p2), word_time(time(0) - (p2->on_since)), + full_name(p2,p), word_time(time(0) - (p2->on_since)), convert_time(p2->on_since)); } else if (p2->saved) @@ -935,14 +935,14 @@ { if (emote_no_break(*p2->title)) ADDSTACK(LINE "%s %s%s^N \n" - LINE, p2->pretitle, p2->name, p2->title); + LINE, p2->pretitle, get_cname(p2, p), p2->title); else ADDSTACK(LINE "%s %s %s^N \n" - LINE, p2->pretitle, p2->name, p2->title); + LINE, p2->pretitle, get_cname(p2,p), p2->title); } else ADDSTACK(LINE "%s %s^N \n" - LINE, p2->name, p2->title); + LINE, get_cname(p2,p), p2->title); if (p->jetlag) { @@ -1170,9 +1170,9 @@ if (*p2->pretitle) ADDSTACK("%s ", p2->pretitle); if (emote_no_break(*p2->title)) - ADDSTACK("%s%s^N \n", p2->name, p2->title); + ADDSTACK("%s%s^N \n", get_cname(p2, p), p2->title); else - ADDSTACK("%s %s^N \n", p2->name, p2->title); + ADDSTACK("%s %s^N \n", get_cname(p2, p), p2->title); pstack_mid("Description"); ADDSTACK("%s^N \n" LINE, p2->description); @@ -1181,10 +1181,10 @@ { if (emote_no_break(*p2->title)) ADDSTACK(LINE - "%s %s%s^N \n" LINE, p2->pretitle, p2->name, p2->title); + "%s %s%s^N \n" LINE, p2->pretitle, get_cname(p2, p), p2->title); else ADDSTACK(LINE - "%s %s %s^N \n" LINE, p2->pretitle, p2->name, p2->title); + "%s %s %s^N \n" LINE, p2->pretitle, get_cname(p2, p), p2->title); } if (p == p2 || p->residency & SU || p2->custom_flags & PUBLIC_SITE || (l && l->flags & FRIEND && p2->custom_flags & FRIEND_SITE)) diff -u --recursive src-original/glue.c src/glue.c --- src-original/glue.c Wed Feb 14 11:42:18 2001 +++ src/glue.c Wed Feb 14 13:18:07 2001 @@ -708,12 +708,12 @@ /* returns the 'full' name of someone, that is their pretitle and name */ -char *full_name(player * p) +char *full_name(player * p, player *t) { - static char fname[MAX_PRETITLE + MAX_NAME]; + static char fname[(MAX_PRETITLE + MAX_NAME) * 4]; if ((!(sys_flags & NO_PRETITLES)) && (p->residency & BASE) && p->pretitle[0]) { - sprintf(fname, "%s %s", p->pretitle, p->name); + sprintf(fname, "%s %s", p->pretitle, get_cname(p, t)); return fname; } - return p->name; + return get_cname(p, t); diff -u --recursive src-original/include/clist.h src/include/clist.h --- src-original/include/clist.h Wed Feb 14 11:42:18 2001 +++ src/include/clist.h Wed Feb 14 12:14:41 2001 @@ -217,6 +217,8 @@ extern command_func list_channels, join_channel, leave_channel, hichan, block_all_channels, iu, ie, is, it, i_who; +extern command_func cname; + /* dummy commands for stack checks */ struct command input_to = {"input_to fn", 0, 0, 0, 0, 0, 0}; @@ -625,6 +627,7 @@ {"clist", clear_list, LIST, 0, 1, 0, LISTc}, {"clog", show_logs, SU, 0, 1, 0, SUPERc}, {"cls", clear_screen, 0, 0, 1, 0, MISCc}, +{"cname", cname, BASE, 0, 1, 0, DESCc}, {"color", toggle_color, 0, 0, 1, 0, SYSc}, {"colorize", customize_colors, 0, 0, 1, 0, SYSc}, {"colour", toggle_color, 0, 0, 1, 0, INVISc}, diff -u --recursive src-original/include/player.h src/include/player.h --- src-original/include/player.h Wed Feb 14 11:42:18 2001 +++ src/include/player.h Wed Feb 14 12:13:15 2001 @@ -356,6 +356,8 @@ #define edPADBIT3 (1<<28) #define edINSERT_BEFORE (1<<29) /* obvious really */ +#define NO_CNAME (1<<30) /* whether you see cname's */ + /* list flags */ #define NOISY (1<<0) @@ -866,6 +868,7 @@ finger_message[MAX_MQUIT + 2], /* mquit message, shown on finger */ swarn_sender[MAX_NAME + 2], /* su that made saved warn */ swarn_message[MAX_SWARN + 2], /* saved warn message */ + cname[MAX_NAME + 1], /* coloured names - ick! */ /* non saved */ diff -u --recursive src-original/include/proto.h src/include/proto.h --- src-original/include/proto.h Wed Feb 14 11:42:18 2001 +++ src/include/proto.h Wed Feb 14 14:19:04 2001 @@ -26,7 +26,7 @@ extern char *do_pipe(player *, char *); extern char *end_string(char *); extern char *first_char(player *); -extern char *full_name(player *); +extern char *full_name(player *, player *); extern char *gender_raw(player *); /* EWE */ extern void ewe_version(void); @@ -564,6 +564,7 @@ extern file config_msg, admin_msg, shutdowns_msg, frogs_msg, plists_msg, pdefaults_msg, session_msg, deflog_msg, rooms_msg; - - - +extern char *get_cname(player *, player *); +extern int valid_char_col(char); +extern void toggle_cname(player *); +extern void cname_version(void); diff -u --recursive src-original/intercom_glue.c src/intercom_glue.c --- src-original/intercom_glue.c Wed Feb 14 11:42:18 2001 +++ src/intercom_glue.c Thu Feb 15 11:02:45 2001 @@ -572,7 +572,7 @@ dummy.residency = NON_RESIDENT; dummy.term_width = 79; /* will cause probs for people with <79 widths */ - dummy.misc_flags = NOCOLOR; /* PG+ specific */ + dummy.misc_flags = NOCOLOR|NO_CNAME; /* PG+ specific */ return (&dummy); } diff -u --recursive src-original/plists.c src/plists.c --- src-original/plists.c Wed Feb 14 11:42:18 2001 +++ src/plists.c Wed Feb 14 12:21:02 2001 @@ -771,6 +771,8 @@ stack = store_string(stack, p->channels[i]); stack = store_int(stack, p->dsc_flags); + stack = store_string(stack, p->cname); + /* end of my spooning... (well, not the end of me spooning, but the end of this mega-batch) */ d.length = (int) stack - (int) d.where; stack = d.where; @@ -1073,6 +1075,7 @@ r = get_string_safe(p->channels[i], r, sp->data); r = get_int_safe(&p->dsc_flags, r, sp->data); + r = get_string_safe(p->cname, r, sp->data); if (((p->term_width) >> 1) <= (p->word_wrap)) p->word_wrap = (p->term_width) >> 1; diff -u --recursive src-original/room.c src/room.c --- src-original/room.c Wed Feb 14 11:42:18 2001 +++ src/room.c Wed Feb 14 13:29:01 2001 @@ -1440,9 +1440,9 @@ for (i = count; i; i--, list++) { if (emote_no_break(*(*list)->title)) - sprintf(stack, "%s%s^N\n", (*list)->name, (*list)->title); + sprintf(stack, "%s%s^N\n", get_cname(*list, p), (*list)->title); else - sprintf(stack, "%s %s^N\n", (*list)->name, (*list)->title); + sprintf(stack, "%s %s^N\n", get_cname(*list, p), (*list)->title); stack = strchr(stack, 0); } } @@ -3074,7 +3074,7 @@ (!l || (l && !(l->flags & FIND)))) { sprintf(stack, " %s is in hiding, so you don't know where %s is.\n", - full_name(p2), gstring(p2)); + full_name(p2,p), gstring(p2)); stack = end_string(stack); tell_player(p, oldstack); stack = oldstack; @@ -3083,7 +3083,7 @@ r = p2->location; if (!r) { - sprintf(stack, " %s doesn't appear to be anywhere !\n", full_name(p2)); + sprintf(stack, " %s doesn't appear to be anywhere !\n", full_name(p2,p)); stack = end_string(stack); tell_player(p, oldstack); stack = oldstack; @@ -3092,7 +3092,7 @@ if (r == p->location) { sprintf(stack, " You are already in the same room as %s.\n", - full_name(p2)); + full_name(p2,p)); stack = end_string(stack); tell_player(p, oldstack); stack = oldstack; @@ -3563,7 +3563,7 @@ sprintf(stack, " %s %s (%s idle)\n", inroom->name, inroom->title, word_time(inroom->idle)); else - sprintf(stack, " %s %s (%s idle)\n", full_name(inroom), + sprintf(stack, " %s %s (%s idle)\n", full_name(inroom,p), inroom->title, word_time(inroom->idle)); stack = strchr(stack, 0); inroom = inroom->room_next; diff -u --recursive src-original/socials.c src/socials.c --- src-original/socials.c Wed Feb 14 11:42:18 2001 +++ src/socials.c Wed Feb 14 13:19:36 2001 @@ -424,13 +424,13 @@ strncpy(ret, replace(ret, "%himher", get_gender_string(p)), siz); strncpy(ret, replace(ret, "%heshe", gstring(p)), siz); - strncpy(ret, replace(ret, "%name", p->name), siz); + strncpy(ret, replace(ret, "%name", get_cname(p, current_player)), siz); - strncpy(ret, single_replace(ret, "%fullname", full_name(p)), siz); + strncpy(ret, single_replace(ret, "%fullname", full_name(p,current_player)), siz); strncpy(ret, replace(ret, "%t_hisher", gstring_possessive(targ)), siz); strncpy(ret, replace(ret, "%t_himher", get_gender_string(targ)), siz); strncpy(ret, replace(ret, "%t_heshe", gstring(targ)), siz); - strncpy(ret, replace(ret, "%t_name", targ->name), siz); + strncpy(ret, replace(ret, "%t_name", get_cname(targ, current_player)), siz); - strncpy(ret, single_replace(ret, "%t_fullname", full_name(targ)), siz); + strncpy(ret, single_replace(ret, "%t_fullname", full_name(targ, current_player)), siz); strncpy(ret, single_replace(ret, "%str", arg), siz); diff -u --recursive src-original/tag.c src/tag.c --- src-original/tag.c Wed Feb 14 11:42:18 2001 +++ src/tag.c Wed Feb 14 14:13:27 2001 @@ -31,7 +31,7 @@ if (current_player->custom_flags & NOPREFIX) len = strlen((*scan)->name) + 1; else - len = strlen(full_name(*scan)) + 1; + len = (strlen((*scan)->name) + strlen((*scan)->pretitle)) + 1; if (len > max_length) max_length = len; } @@ -44,10 +44,15 @@ for (scan = list, n = count; n; n--, scan++) { if (current_player->custom_flags & NOPREFIX) - fname = (*scan)->name; + { + fname = get_cname(*scan, current_player); + len = strlen((*scan)->name); + } else - fname = full_name(*scan); - len = strlen(fname); + { + fname = full_name(*scan, current_player); + len = (strlen((*scan)->name) + strlen((*scan)->pretitle)); + } for (m = (max_length - len); m; m--) *stack++ = ' '; @@ -541,7 +546,7 @@ } if (tagged == p) return "you"; - return tagged->name; + return get_cname(tagged, p); } /* self string */ diff -u --recursive src-original/talking.c src/talking.c --- src-original/talking.c Wed Feb 14 11:42:18 2001 +++ src/talking.c Wed Feb 14 14:10:43 2001 @@ -32,20 +32,20 @@ void do_format(player * p, player * s, char *str, char *mid, char *pip, int type) { - char tname[MAX_PRETITLE + MAX_NAME + 3]; + char tname[(MAX_PRETITLE + MAX_NAME + 3) * 4]; if (s->custom_flags & (NOPREFIX | NOEPREFIX)) - strcpy(tname, p->name); + strcpy(tname, get_cname(p, s)); else - strcpy(tname, full_name(p)); + strcpy(tname, full_name(p,s)); switch (type) { case 0: /* say */ if (s->custom_flags & NOPREFIX) - sprintf(stack, "%s %s '%s^N'\n", p->name, mid, pip); + sprintf(stack, "%s %s '%s^N'\n", get_cname(p, s), mid, pip); else - sprintf(stack, "%s %s '%s^N'\n", full_name(p), mid, pip); + sprintf(stack, "%s %s '%s^N'\n", full_name(p,s), mid, pip); break; case 1: /* emote, pemote, socials */ if (emote_no_break(*str)) @@ -58,15 +58,15 @@ break; case 3: /* think */ if (s->custom_flags & NOPREFIX) - sprintf(stack, "%s thinks . o O ( %s ^N)\n", p->name, pip); + sprintf(stack, "%s thinks . o O ( %s ^N)\n", get_cname(p, s), pip); else - sprintf(stack, "%s thinks . o O ( %s ^N)\n", full_name(p), pip); + sprintf(stack, "%s thinks . o O ( %s ^N)\n", full_name(p,s), pip); break; case 4: /* sing */ if (s->custom_flags & NOPREFIX) - sprintf(stack, "%s sings o/~ %s ^No/~\n", p->name, pip); + sprintf(stack, "%s sings o/~ %s ^No/~\n", get_cname(p, s), pip); else - sprintf(stack, "%s sings o/~ %s ^No/~\n", full_name(p), pip); + sprintf(stack, "%s sings o/~ %s ^No/~\n", full_name(p,s), pip); break; default: break; @@ -680,7 +680,7 @@ void emote(player * p, char *str) { char *oldstack, *text, *pip; - char tname[MAX_PRETITLE + MAX_NAME + 3]; + char tname[(MAX_PRETITLE + MAX_NAME + 3) * 4]; char *temp; temp = str; @@ -728,9 +728,9 @@ } text = stack; if (p->custom_flags & (NOPREFIX | NOEPREFIX)) - strcpy(tname, p->name); + strcpy(tname, get_cname(p,p)); else - strcpy(tname, full_name(p)); + strcpy(tname, full_name(p,p)); if (emote_no_break(*str)) sprintf(stack, " You emote : %s%s\n", tname, pip); else @@ -942,9 +942,9 @@ pstring = tag_string(*step, list, n); final = stack; if ((*step)->custom_flags & NOPREFIX) - sprintf(stack, "%s %s %s '%s^N'\n", p->name, mid, pstring, msg); + sprintf(stack, "%s %s %s '%s^N'\n", get_cname(p, *step), mid, pstring, msg); else - sprintf(stack, "%s %s %s '%s^N'\n", full_name(p), mid, pstring, msg); + sprintf(stack, "%s %s %s '%s^N'\n", full_name(p, *step), mid, pstring, msg); stack = end_string(stack); tell_player(*step, final); #ifdef INTELLIBOTS @@ -1017,7 +1017,7 @@ "to you.\n", p->name); else sprintf(stack, "!!!!!!!!!! OI !!!!!!!!!!! WAKE UP, %s wants to speak " - "to you.\n", full_name(p)); + "to you.\n", full_name(p, p2)); } else { @@ -1026,7 +1026,7 @@ "to you.\007\n", p->name); else sprintf(stack, "!!!!!!!!!! OI !!!!!!!!!!! WAKE UP, %s wants to speak " - "to you.\007\n", full_name(p)); + "to you.\007\n", full_name(p, p2)); } stack = end_string(stack); sys_color_atm = TELsc; @@ -1040,7 +1040,7 @@ } stack = oldstack; sprintf(stack, " You scream loudly at %s in an attempt to wake %s up.\n", - full_name(p2), get_gender_string(p2)); + full_name(p2, p), get_gender_string(p2)); stack = strchr(stack, 0); if (p2->idle_msg[0] != 0) sprintf(stack, " Idling> %s %s\n", p2->name, p2->idle_msg); @@ -1196,7 +1196,7 @@ if ((*step)->custom_flags & (NOPREFIX | NOEPREFIX)) strcpy(tname, p->name); else - strcpy(tname, full_name(p)); + strcpy(tname, full_name(p, *step)); if (*step != p) { final = stack; @@ -1225,7 +1225,7 @@ if (p->custom_flags & (NOPREFIX | NOEPREFIX)) strcpy(tname, p->name); else - strcpy(tname, full_name(p)); + strcpy(tname, full_name(p, p)); if (emote_no_break(*msg)) sprintf(stack, " You emote '%s%s^N' to %s.\n", tname, msg, pstring); else @@ -1442,7 +1442,7 @@ if (scan->custom_flags & NOPREFIX) sprintf(stack, "%s %s '%s^N' to %s.\n", p->name, mid, msg, pstring); else - sprintf(stack, "%s %s '%s^N' to %s.\n", full_name(p), mid, msg, + sprintf(stack, "%s %s '%s^N' to %s.\n", full_name(p,scan), mid, msg, pstring); stack = end_string(stack); sys_color_atm = TELsc; @@ -1537,7 +1537,7 @@ pstring = tag_string(scan, list, n); text = stack; sprintf(stack, "%s tells everyone something about %s\n", - full_name(p), pstring); + full_name(p,scan), pstring); stack = end_string(stack); tell_player(scan, text); stack = pstring; @@ -1546,7 +1546,7 @@ { text = stack; sprintf(stack, "%s %s everyone but %s '%s^N'\n", - full_name(p), mid, everyone, msg); + full_name(p,scan), mid, everyone, msg); stack = end_string(stack); tell_player(scan, text); #ifdef INTELLIBOTS @@ -1858,9 +1858,9 @@ else { if (emote_no_break(*str)) - sprintf(stack, " You yemote: %s%s\n", full_name(p), pip); + sprintf(stack, " You yemote: %s%s\n", full_name(p,p), pip); else - sprintf(stack, " You yemote: %s %s\n", full_name(p), pip); + sprintf(stack, " You yemote: %s %s\n", full_name(p,p), pip); } stack = end_string(stack); tell_player(p, text); @@ -2255,7 +2255,7 @@ if ((*step)->custom_flags & NOPREFIX) sprintf(stack, "%s %s o/~ %s ^No/~ to %s.\n", p->name, mid, msg, pstring); else - sprintf(stack, "%s %s o/~ %s ^No/~ to %s.\n", full_name(p), mid, msg, pstring); + sprintf(stack, "%s %s o/~ %s ^No/~ to %s.\n", full_name(p, *step), mid, msg, pstring); stack = end_string(stack); tell_player(*step, final); #ifdef INTELLIBOTS @@ -2499,7 +2499,7 @@ if ((*step)->custom_flags & NOPREFIX) sprintf(stack, "%s %s %s -> %s ^N<-\n", p->name, mid, pstring, msg); else - sprintf(stack, "%s %s %s -> %s ^N<-\n", full_name(p), mid, pstring, + sprintf(stack, "%s %s %s -> %s ^N<-\n", full_name(p, *step), mid, pstring, msg); } else @@ -2508,7 +2508,7 @@ sprintf(stack, "%s %s %s -> %s ^N<-\007\n", p->name, mid, pstring, msg); else - sprintf(stack, "%s %s %s -> %s ^N<-\007\n", full_name(p), mid, + sprintf(stack, "%s %s %s -> %s ^N<-\007\n", full_name(p, *step), mid, pstring, msg); } stack = end_string(stack); diff -u --recursive src-original/version.c src/version.c --- src-original/version.c Wed Feb 14 11:42:18 2001 +++ src/version.c Wed Feb 14 14:18:51 2001 @@ -166,6 +166,8 @@ /* EWE */ ewe_version(); + cname_version(); + /* A warning that people are using debugging mode. This means sysops can slap silly people who use this mode in live usage -- Silver */