diff --git a/fteqtv/cmd.h b/fteqtv/cmd.h new file mode 100755 index 000000000..22c1c8c35 --- /dev/null +++ b/fteqtv/cmd.h @@ -0,0 +1,25 @@ +#define MAX_ARGS 8 +#define ARG_LEN 512 + +typedef struct cmdctxt_s cmdctxt_t; +struct cmdctxt_s { + cluster_t *cluster; + sv_t *qtv; + char *arg[MAX_ARGS]; + int argc; + void (*printfunc)(cmdctxt_t *ctx, char *str); + void *printcookie; + int printcookiesize; //tis easier + qboolean localcommand; +}; + +typedef void (*consolecommand_t) (cmdctxt_t *ctx); + +void Cmd_Printf(cmdctxt_t *ctx, char *fmt, ...); +#define Cmd_Argc(ctx) ctx->argc +#define Cmd_Argv(ctx, num) (((unsigned int)ctx->argc <= (unsigned int)(num))?"": ctx->arg[num]) +#define Cmd_IsLocal(ctx) ctx->localcommand + + +void Cmd_ExecuteNow(cmdctxt_t *ctx, char *command); +char *Rcon_Command(cluster_t *cluster, sv_t *source, char *command, char *resultbuffer, int resultbuffersize, int islocalcommand);//prints the command prints to an internal buffer