X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=cmd.c;h=f8c3f1fcf633fd42eab313aa570b777d106d87c7;hp=a074795410fd9bdbd558accf55803abff9dc62ed;hb=8a092a84b4409b8e2fa4fd5a03e88c2c2ea7d255;hpb=212d1573c452cddb1b1931890be811f43b4ef09c diff --git a/cmd.c b/cmd.c index a0747954..f8c3f1fc 100644 --- a/cmd.c +++ b/cmd.c @@ -252,6 +252,7 @@ void Cmd_StuffCmds_f (void) build[l++] = '\n'; build[l++] = 0; Cbuf_InsertText (build); + i--; } } } @@ -454,6 +455,18 @@ void Cmd_Init (void) Cmd_AddCommand ("cmdlist", Cmd_List_f); // Added/Modified by EvilTypeGuy eviltypeguy@qeradiant.com Cmd_AddCommand ("cvarlist", Cvar_List_f); // 2000-01-09 CmdList, CvarList commands // By Matthias "Maddes" Buecher + Cmd_AddCommand ("set", Cvar_Set_f); + Cmd_AddCommand ("seta", Cvar_SetA_f); +} + +/* +============ +Cmd_Shutdown +============ +*/ +void Cmd_Shutdown(void) +{ + Mem_FreePool(&cmd_mempool); } /* @@ -780,7 +793,7 @@ void Cmd_ExecuteString (const char *text, cmd_source_t src) } // check functions (only after host_initialized) - if (host_initialized || !strcasecmp(cmd_argv[0], "exec")) + if (host_initialized || !strcasecmp(cmd_argv[0], "exec") || !strcasecmp(cmd_argv[0], "set") || !strcasecmp(cmd_argv[0], "seta")) { for (cmd=cmd_functions ; cmd ; cmd=cmd->next) { @@ -817,17 +830,16 @@ void Cmd_ExecuteString (const char *text, cmd_source_t src) /* =================== -Cmd_ForwardToServer +Cmd_ForwardStringToServer -Sends the entire command line over to the server +Sends an entire command string over to the server, unprocessed =================== */ -void Cmd_ForwardToServer (void) +void Cmd_ForwardStringToServer (const char *s) { - const char *s; if (cls.state != ca_connected) { - Con_Printf("Can't \"%s\", not connected\n", Cmd_Argv(0)); + Con_Printf("Can't \"%s\", not connected\n", s); return; } @@ -837,14 +849,27 @@ void Cmd_ForwardToServer (void) // LordHavoc: thanks to Fuh for bringing the pure evil of SZ_Print to my // attention, it has been eradicated from here, its only (former) use in // all of darkplaces. - if (strcasecmp(Cmd_Argv(0), "cmd") != 0) - s = va("%s %s", Cmd_Argv(0), Cmd_Argc() > 1 ? Cmd_Args() : "\n"); - else - s = Cmd_Argc() > 1 ? Cmd_Args() : "\n"; MSG_WriteByte(&cls.message, clc_stringcmd); SZ_Write(&cls.message, s, strlen(s) + 1); } +/* +=================== +Cmd_ForwardToServer + +Sends the entire command line over to the server +=================== +*/ +void Cmd_ForwardToServer (void) +{ + const char *s; + if (strcasecmp(Cmd_Argv(0), "cmd")) + s = va("%s %s", Cmd_Argv(0), Cmd_Argc() > 1 ? Cmd_Args() : ""); + else + s = Cmd_Argc() > 1 ? Cmd_Args() : ""; + Cmd_ForwardStringToServer(s); +} + /* ================