summaryrefslogtreecommitdiff
path: root/src/game/g_active.c
diff options
context:
space:
mode:
author/dev/humancontroller <devhc@example.com>2017-09-16 21:05:30 +0200
committer/dev/humancontroller <devhc@example.com>2017-09-16 21:24:55 +0200
commit0ec47fd7d8c7ffbf962b3e5105f26bc677a639a3 (patch)
tree7321558c918796a8c94fa7681e8a3f95b78f05a1 /src/game/g_active.c
parentf48a7610eef092d8ce5c6b2ae761571745a9db3e (diff)
implement !control
Diffstat (limited to 'src/game/g_active.c')
-rw-r--r--src/game/g_active.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game/g_active.c b/src/game/g_active.c
index 5bee472..72e070e 100644
--- a/src/game/g_active.c
+++ b/src/game/g_active.c
@@ -2050,6 +2050,9 @@ void ClientThink( int clientNum )
gentity_t *ent;
ent = g_entities + clientNum;
+ if (ent->client->pers.control > 0)
+ ent = &g_entities[ent->client->pers.control - 1];
+
trap_GetUsercmd( clientNum, &ent->client->pers.cmd );
// mark the time we got info, so we can display the
@@ -2063,7 +2066,12 @@ void ClientThink( int clientNum )
void G_RunClient( gentity_t *ent )
{
- if( !g_synchronousClients.integer )
+ if (ent->client->pers.control > 0
+ || (ent->client->pers.isPlaceholder && ent->client->pers.control >= 0))
+ {
+ ent->client->lastCmdTime = level.time;
+ }
+ else if (!g_synchronousClients.integer)
return;
ent->client->pers.cmd.serverTime = level.time;