Fixing the spectator_free mode not being predicted in the client.

This commit is contained in:
Richard Allen 2002-02-26 02:58:47 +00:00
parent d438579604
commit a9f3719918
4 changed files with 28 additions and 9 deletions

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.15 2002/02/26 02:58:47 jbravo
// Fixing the spectator_free mode not being predicted in the client.
//
// Revision 1.14 2002/01/27 13:33:28 jbravo
// Teamplay antistick system.
//
@ -442,7 +445,8 @@ void CG_PredictPlayerState( void ) {
if ( cg.demoPlayback || (cg.snap->ps.pm_flags & PMF_FOLLOW)
#ifdef __ZCAM__
/* camera jitter fix (client side) */
|| (cg.snap->ps.persistant[PERS_TEAM] == TEAM_SPECTATOR)
// || (cg.snap->ps.persistant[PERS_TEAM] == TEAM_SPECTATOR)
|| ((cg.snap->ps.stats[STAT_RQ3] & RQ3_ZCAM) == RQ3_ZCAM)
#endif /* __ZCAM__ */
) {
CG_InterpolatePlayerState( qfalse );

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.48 2002/02/26 02:58:47 jbravo
// Fixing the spectator_free mode not being predicted in the client.
//
// Revision 1.47 2002/02/25 19:41:53 jbravo
// Fixed the use ESC and join menu to join teams when dead players are
// spectating in TP mode.
@ -551,6 +554,7 @@ typedef enum {
#define RQ3_QUEUERELOAD 256 // auto-reload if set
#define RQ3_RELOADWEAPON1 512 // flag off EV_RELOAD_WEAPON1 event so no dupes occur
#define RQ3_PLAYERSOLID 1024 // JBravo: Flag set when player is solid.
#define RQ3_ZCAM 2048 // JBravo: Flag to tell cgame when zcam is on.
// player_state->persistant[] indexes
// these fields are the only part of player_state that isn't

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.56 2002/02/26 02:58:47 jbravo
// Fixing the spectator_free mode not being predicted in the client.
//
// Revision 1.55 2002/02/25 19:41:53 jbravo
// Fixed the use ESC and join menu to join teams when dead players are
// spectating in TP mode.
@ -1525,9 +1528,11 @@ void ClientThink( int clientNum ) {
if ( !(ent->r.svFlags & SVF_BOT) && !g_synchronousClients.integer
#ifdef __ZCAM__
/* camera jitter fix (server side) */
&& (ent->client->sess.sessionTeam != TEAM_SPECTATOR
|| (ent->client->sess.sessionTeam == TEAM_SPECTATOR
&& ent->client->sess.spectatorState == SPECTATOR_FOLLOW))
// JBravo: Take SPECTATOR_ZCAM into account
&& (ent->client->sess.sessionTeam != TEAM_SPECTATOR ||
(ent->client->sess.sessionTeam == TEAM_SPECTATOR &&
(ent->client->sess.spectatorState == SPECTATOR_FOLLOW ||
ent->client->sess.spectatorState == SPECTATOR_FREE)))
#endif /* __ZCAM__ */
) {
ClientThink_real( ent );
@ -1537,12 +1542,14 @@ void ClientThink( int clientNum ) {
void G_RunClient( gentity_t *ent ) {
if ( !(ent->r.svFlags & SVF_BOT) && !g_synchronousClients.integer
#ifdef __ZCAM__
#ifdef __ZCAM__
/* camera jitter fix (server side) */
&& (ent->client->sess.sessionTeam != TEAM_SPECTATOR
|| (ent->client->sess.sessionTeam == TEAM_SPECTATOR
&& ent->client->sess.spectatorState == SPECTATOR_FOLLOW))
#endif /* __ZCAM__ */
// JBravo: Take SPECTATOR_ZCAM into account
&& (ent->client->sess.sessionTeam != TEAM_SPECTATOR ||
(ent->client->sess.sessionTeam == TEAM_SPECTATOR &&
(ent->client->sess.spectatorState == SPECTATOR_FOLLOW ||
ent->client->sess.spectatorState == SPECTATOR_FREE)))
#endif /* __ZCAM__ */
)
{
return;

View file

@ -5,6 +5,9 @@
//-----------------------------------------------------------------------------
//
// $Log$
// Revision 1.38 2002/02/26 02:58:47 jbravo
// Fixing the spectator_free mode not being predicted in the client.
//
// Revision 1.37 2002/02/10 21:21:22 slicer
// Saving persistant and other data on some events..
//
@ -1082,6 +1085,7 @@ char *ClientConnect( int clientNum, qboolean firstTime, qboolean isBot ) {
// JBravo: Antistick
client->ps.stats[STAT_RQ3] &= ~RQ3_PLAYERSOLID;
client->ps.stats[STAT_RQ3] &= ~RQ3_ZCAM;
// read or initialize the session data
if ( firstTime || level.newSession ) {