+/*
+=================
+PF_copyentity
+
+copies data from one entity to another
+
+copyentity(src, dst)
+=================
+*/
+void PF_copyentity (void)
+{
+ edict_t *in, *out;
+ in = G_EDICT(OFS_PARM0);
+ out = G_EDICT(OFS_PARM1);
+ memcpy(out, in, pr_edict_size);
+}
+
+/*
+=================
+PF_setcolor
+
+sets the color of a client and broadcasts the update to all connected clients
+
+setcolor(clientent, value)
+=================
+*/
+void PF_setcolor (void)
+{
+ client_t *client;
+ int entnum, i;
+
+ entnum = G_EDICTNUM(OFS_PARM0);
+ i = G_FLOAT(OFS_PARM1);
+
+ if (entnum < 1 || entnum > svs.maxclients)
+ {
+ Con_Printf ("tried to setcolor a non-client\n");
+ return;
+ }
+
+ client = &svs.clients[entnum-1];
+ client->colors = i;
+ client->edict->v.team = (i & 15) + 1;
+
+ MSG_WriteByte (&sv.reliable_datagram, svc_updatecolors);
+ MSG_WriteByte (&sv.reliable_datagram, entnum - 1);
+ MSG_WriteByte (&sv.reliable_datagram, i);
+}
+