rendered paste bodystatic void ParsePrint(sv_t *tv, netmsg_t *m, int to, unsigned int mask){ char text[1024]; char buffer[1024]; int level; level = ReadByte(m); ReadString(m, text, sizeof(text)-2); if (level == 3) { char buf[512]; char *str; int i, j; str = m->data+1; // Strip color codes for older clients: FuhQuake, mqwcl if (strcmp(Info_ValueForKey(tv->players[tv->thisplayer].userinfo, "*FuhQuake", buf, sizeof(buf)), "") || strncmp(Info_ValueForKey(tv->players[tv->thisplayer].userinfo, "*client", buf, sizeof(buf)), "mqwcl", 5)) { for (i = 0; i < strlen(str); i++) { if (i < strlen(str) - 5 && str[i] == '&' && str[i+1] == 'c') { if (isextendedcode(str[i+2]) && isextendedcode(str[i+3]) && isextendedcode(str[i+4])) { for (j = i; j+5 < m->cursize-2; j++) { str[j] = str[j+5]; } m->cursize -= 5; } } if (text[i] == '\0') break; } } Sys_Printf(NULL, "str: %s\n", str); strcpy(buffer+2, text); buffer[1] = 1; } else { strcpy(buffer+1, text); } buffer[0] = svc_print; if ((to&dem_mask) == dem_all || to == dem_read) { if (level > 1) { QTV_Printf(tv, "%s", text); } } Multicast(tv, (char*)m->data+m->startpos, m->readpos - m->startpos, to, mask, QW|CONNECTING);// Multicast(tv, buffer, strlen(buffer), to, mask, NQ);}