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 */
#undef QF_VERSION
#undef VERSION
#undef QSG_STANDARD
/* Define if you want to use QF-style defaults instead of Id-style */
#undef NEWSTYLE

View file

@ -767,6 +767,14 @@ void CL_FullServerinfo_f (void)
Con_Printf("Version %s Server\n", 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

View file

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

View file

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

View file

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

View file

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