From 8f11f5f73b877d8a8b99ce29d8b9b3ef8d032ef1 Mon Sep 17 00:00:00 2001 From: Spoike Date: Tue, 6 Oct 2009 00:35:33 +0000 Subject: [PATCH] Acting as a Q3 server is now more robust. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3389 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/common/q3common.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/engine/common/q3common.c b/engine/common/q3common.c index a84474c71..ab3f77b7e 100644 --- a/engine/common/q3common.c +++ b/engine/common/q3common.c @@ -315,7 +315,12 @@ cvar_t *q3cvlist[MAX_VMQ3_CVARS]; int VMQ3_Cvar_Register(vmcvar_t *v, char *name, char *defval, int flags) { int i; - cvar_t *c = Cvar_Get(name, defval, 0, "Q3VM cvars"); + int fteflags = 0; + cvar_t *c; + + fteflags = flags & (CVAR_ARCHIVE | CVAR_USERINFO | CVAR_SERVERINFO); + + c = Cvar_Get(name, defval, fteflags, "Q3VM cvars"); if (!c) //command name, etc return 0; for (i = 0; i < MAX_VMQ3_CVARS; i++) @@ -763,6 +768,9 @@ void Netchan_TransmitQ3( netchan_t *chan, int length, const qbyte *data ) Con_Printf( "%s: unsent fragments\n", NET_AdrToString( adr, sizeof(adr), chan->remote_address ) ); return; } + /*drop the outgoing packet if we fragmented*/ + /*failure to do this results in the wrong encoding due to the outgoing sequence*/ + return; } // See if this message is too large and should be fragmented