new serverinfo key: *qsg_standard, set to 1.

How view height changes in QW are passed from server to client HAS CHANGED
and you will need to update both client and server for things not to act
weird.  You may also need to distclean before rebuilding..
This commit is contained in:
Joseph Carter 2000-04-15 11:20:28 +00:00
parent 3e73b3fb3c
commit 47bed98da1
7 changed files with 22 additions and 6 deletions

View File

@ -1,6 +1,7 @@
/* Version strings */ /* Version strings */
#undef QF_VERSION #undef QF_VERSION
#undef VERSION #undef VERSION
#undef QSG_STANDARD
/* Define if you want to use QF-style defaults instead of Id-style */ /* Define if you want to use QF-style defaults instead of Id-style */
#undef NEWSTYLE #undef NEWSTYLE

View File

@ -767,6 +767,14 @@ void CL_FullServerinfo_f (void)
Con_Printf("Version %s Server\n", p); Con_Printf("Version %s Server\n", p);
server_version = strdup(p); server_version = strdup(p);
} }
if ((p = Info_ValueForKey(cl.serverinfo, "*qsg_standard")) && *p)
{
if ((cl.stdver = Q_atoi (p)))
Con_Printf("QSG standards version %i\n", cl.stdver);
else
Con_Printf("Invalid standards version: %s", p);
}
} }
#endif #endif

View File

@ -297,6 +297,7 @@ typedef struct
int playernum; int playernum;
int gametype; int gametype;
int maxclients; int maxclients;
int stdver;
// QW specific! // QW specific!
// all player information // all player information

View File

@ -754,8 +754,11 @@ V_CalcRefdef ( void )
vec3_t forward, right, up; vec3_t forward, right, up;
float bob; float bob;
static float oldz = 0; static float oldz = 0;
#ifdef QUAKEWORLD #ifdef QUAKEWORLD
int zofs = 22;
if (cl.stdver)
zofs = cl.stats[STAT_VIEWHEIGHT];
#endif #endif
V_DriftPitch (); V_DriftPitch ();
@ -818,7 +821,7 @@ V_CalcRefdef ( void )
else if (view_message->flags & PF_DEAD) else if (view_message->flags & PF_DEAD)
r_refdef.vieworg[2] -= 16; // corpse view height r_refdef.vieworg[2] -= 16; // corpse view height
else else
r_refdef.vieworg[2] += cl.stats[STAT_VIEWHEIGHT] + 22; // view height r_refdef.vieworg[2] += zofs; // view height
if (view_message->flags & PF_DEAD) // PF_GIB will also set PF_DEAD if (view_message->flags & PF_DEAD) // PF_GIB will also set PF_DEAD
r_refdef.viewangles[ROLL] = 80; // dead view angle r_refdef.viewangles[ROLL] = 80; // dead view angle
@ -859,7 +862,7 @@ V_CalcRefdef ( void )
#ifdef QUAKEWORLD #ifdef QUAKEWORLD
VectorCopy (cl.simorg, view->origin); VectorCopy (cl.simorg, view->origin);
view->origin[2] += cl.stats[STAT_VIEWHEIGHT] + 22; view->origin[2] += zofs;
#else #else
VectorCopy (ent->origin, view->origin); VectorCopy (ent->origin, view->origin);
view->origin[2] += cl.viewheight; view->origin[2] += cl.viewheight;

View File

@ -5,8 +5,11 @@ AC_INIT(common/crc.h)
dnl Version of this release dnl Version of this release
QF_VERSION=0.2-d QF_VERSION=0.2-d
VERSION=2.40 VERSION=2.40
QSG_STANDARD=1
AC_DEFINE_UNQUOTED(QF_VERSION,"$QF_VERSION") AC_DEFINE_UNQUOTED(QF_VERSION,"$QF_VERSION")
AC_DEFINE_UNQUOTED(VERSION,"$VERSION") AC_DEFINE_UNQUOTED(VERSION,"$VERSION")
AC_DEFINE_UNQUOTED(QSG_STANDARD,"$QSG_STANDARD")
dnl Set to yes for releases dnl Set to yes for releases
RELEASE=no RELEASE=no

View File

@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifdef HAVE_STRINGS_H #ifdef HAVE_STRINGS_H
#include <strings.h> #include <strings.h>
#endif #endif
#include "sys.h" #include <sys.h>
#include <quakedef.h> #include <quakedef.h>
@ -914,7 +914,6 @@ typedef struct
ipfilter_t ipfilters[MAX_IPFILTERS]; ipfilter_t ipfilters[MAX_IPFILTERS];
int numipfilters; int numipfilters;
//cvar_t filterban = {"filterban", "1"};
cvar_t *filterban; cvar_t *filterban;
/* /*
@ -1436,6 +1435,7 @@ void SV_InitLocal (void)
Info_SetValueForStarKey (svs.info, "*qf_version", QF_VERSION, MAX_SERVERINFO_STRING); Info_SetValueForStarKey (svs.info, "*qf_version", QF_VERSION, MAX_SERVERINFO_STRING);
Info_SetValueForStarKey (svs.info, "*version", VERSION, MAX_SERVERINFO_STRING); Info_SetValueForStarKey (svs.info, "*version", VERSION, MAX_SERVERINFO_STRING);
Info_SetValueForStarKey (svs.info, "*qsg_standard", QSG_STANDARD, MAX_SERVERINFO_STRING);
// init fraglog stuff // init fraglog stuff
svs.logsequence = 1; svs.logsequence = 1;

View File

@ -556,7 +556,7 @@ void SV_UpdateClientStats (client_t *client)
stats[STAT_ITEMS] = (int)ent->v.items | ((int)pr_global_struct->serverflags << 28); stats[STAT_ITEMS] = (int)ent->v.items | ((int)pr_global_struct->serverflags << 28);
// Extensions to the QW 2.40 protocol for MegaTF // Extensions to the QW 2.40 protocol for MegaTF
stats[STAT_VIEWHEIGHT] = (int)ent->v.view_ofs[2] - 22; stats[STAT_VIEWHEIGHT] = (int)ent->v.view_ofs[2];
stats[STAT_FLYMODE] = (ent->v.movetype == MOVETYPE_FLY); stats[STAT_FLYMODE] = (ent->v.movetype == MOVETYPE_FLY);
for (i=0 ; i<MAX_CL_STATS ; i++) for (i=0 ; i<MAX_CL_STATS ; i++)