From 0ec47fd7d8c7ffbf962b3e5105f26bc677a639a3 Mon Sep 17 00:00:00 2001 From: /dev/humancontroller Date: Sat, 16 Sep 2017 21:05:30 +0200 Subject: implement !control --- src/game/g_syscalls.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/game/g_syscalls.c') diff --git a/src/game/g_syscalls.c b/src/game/g_syscalls.c index 6e3dc26..99eff66 100644 --- a/src/game/g_syscalls.c +++ b/src/game/g_syscalls.c @@ -134,6 +134,13 @@ void trap_DropClient( int clientNum, const char *reason ) void trap_SendServerCommand( int clientNum, const char *text ) { + if (clientNum >= 0) + { + const clientPersistant_t *per = &g_clients[clientNum].pers; + if (per->connected != CON_DISCONNECTED && per->control < 0) + clientNum = -per->control - 1; + } + syscall( G_SEND_SERVER_COMMAND, clientNum, text ); } @@ -282,3 +289,12 @@ int trap_Parse_SourceFileAndLine( int handle, char *filename, int *line ) return syscall( G_PARSE_SOURCE_FILE_AND_LINE, handle, filename, line ); } +int trap_install_placeholder_client(const char *const ui) +{ + return syscall(G_INSTALL_PLACEHOLDER_CLIENT, ui); +} + +void trap_set_client_view_entity(int c, int e) +{ + syscall(G_SET_CLIENT_VIEW_ENTITY, c, e); +} -- cgit