From: havoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Date: Sat, 23 Oct 2004 10:41:43 +0000 (+0000)
Subject: added DP_SV_DROPCLIENT extension
X-Git-Tag: xonotic-v0.1.0preview~5429
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=fb01b14cb91a3537fcde574a7c9574032f33f347;p=xonotic%2Fdarkplaces.git

added DP_SV_DROPCLIENT extension


git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4699 d7cf8633-e32d-0410-b094-e92efae38249
---

diff --git a/pr_cmds.c b/pr_cmds.c
index 06803886..af947598 100644
--- a/pr_cmds.c
+++ b/pr_cmds.c
@@ -131,6 +131,7 @@ char *ENGINE_EXTENSIONS =
 "DP_SOLIDCORPSE "
 "DP_SPRITE32 "
 "DP_SV_DRAWONLYTOCLIENT "
+"DP_SV_DROPCLIENT "
 "DP_SV_EFFECT "
 "DP_SV_EXTERIORMODELTOCLIENT "
 "DP_SV_NODRAWTOCLIENT "
@@ -3479,6 +3480,21 @@ void PF_cvar_string (void)
 	G_INT(OFS_RETURN) = PR_SetString(tmp);
 }
 
+//void(entity clent) dropclient (DP_SV_DROPCLIENT)
+void PF_dropclient (void)
+{
+	int clientnum;
+	client_t *oldhostclient;
+	clientnum = G_EDICTNUM(OFS_PARM0) - 1;
+	if (clientnum < 0 || clientnum >= svs.maxclients)
+		PF_WARNING("dropclient: not a client\n");
+	if (!svs.clients[clientnum].active)
+		PF_WARNING("dropclient: that client slot is not connected\n");
+	oldhostclient = host_client;
+	host_client = svs.clients + clientnum;
+	SV_DropClient(false);
+	host_client = oldhostclient;
+}
 
 
 builtin_t pr_builtin[] =
@@ -3660,7 +3676,7 @@ PF_findflags,				// #449 entity(entity start, .float fld, float match) findflags
 PF_findchainflags,			// #450 entity(.float fld, float match) findchainflags (DP_QC_FINDCHAINFLAGS)
 PF_gettagindex,				// #451 float(entity ent, string tagname) gettagindex (DP_QC_GETTAGINFO)
 PF_gettaginfo,				// #452 vector(entity ent, float tagindex) gettaginfo (DP_QC_GETTAGINFO)
-NULL,						// #453
+PF_dropclient,				// #453 void(entity clent) dropclient (DP_SV_DROPCLIENT)
 NULL,						// #454
 NULL,						// #455
 NULL,						// #456