Compare commits

...
5 Commits
8 changed files with 60 additions and 68 deletions

No files matched your search

+16 -13
View File
@@ -27,6 +27,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "../qcommon/tiki.h"
#include "../qcommon/cm_terrain.h"
#include "../qcommon/localization.h"
#include "../qcommon/bg_compat.h"
#include "../sys/sys_local.h"
#ifdef USE_RENDERER_DLL
#include "../sys/sys_loadlib.h"
@@ -366,14 +367,14 @@ void CL_Record_f( void ) {
if ( Cmd_Argc() == 2 ) {
s = Cmd_Argv(1);
Q_strncpyz( demoName, s, sizeof( demoName ) );
Com_sprintf (name, sizeof(name), "demos/%s.dm_%d", demoName, PROTOCOL_VERSION );
Com_sprintf (name, sizeof(name), "demos/%s.dm_%d", demoName, com_protocol->integer );
} else {
int number;
// scan for a free demo name
for ( number = 0 ; number <= 9999 ; number++ ) {
CL_DemoFilename( number, demoName );
Com_sprintf (name, sizeof(name), "demos/%s.dm_%d", demoName, PROTOCOL_VERSION );
Com_sprintf (name, sizeof(name), "demos/%s.dm_%d", demoName, com_protocol->integer );
if (!FS_FileExists(name))
break; // file doesn't exist
@@ -408,8 +409,8 @@ void CL_Record_f( void ) {
// NOTE, MRE: all server->client messages now acknowledge
MSG_WriteLong( &buf, clc.reliableSequence );
MSG_WriteByte (&buf, svc_gamestate);
MSG_WriteLong (&buf, clc.serverCommandSequence );
MSG_WriteByte ( &buf, svc_gamestate );
MSG_WriteLong ( &buf, clc.serverCommandSequence );
// configstrings
for ( i = 0 ; i < MAX_CONFIGSTRINGS ; i++ ) {
@@ -417,21 +418,20 @@ void CL_Record_f( void ) {
continue;
}
s = cl.gameState.stringData + cl.gameState.stringOffsets[i];
MSG_WriteByte (&buf, svc_configstring);
MSG_WriteShort (&buf, i);
MSG_WriteBigString (&buf, s);
MSG_WriteByte ( &buf, svc_configstring );
MSG_WriteShort ( &buf, CPT_DenormalizeConfigstring( i ) );
MSG_WriteScrambledBigString ( &buf, s );
}
// baselines
Com_Memset (&nullstate, 0, sizeof(nullstate));
MSG_GetNullEntityState(&nullstate);
for ( i = 0; i < MAX_GENTITIES ; i++ ) {
ent = &cl.entityBaselines[i];
if ( !ent->number ) {
continue;
}
MSG_WriteByte (&buf, svc_baseline);
// FIXME
MSG_WriteDeltaEntity (&buf, &nullstate, ent, qtrue, 0.0 );
MSG_WriteByte ( &buf, svc_baseline );
MSG_WriteDeltaEntity ( &buf, &nullstate, ent, qtrue, cls.serverFrameTime );
}
MSG_WriteByte( &buf, svc_EOF );
@@ -441,7 +441,10 @@ void CL_Record_f( void ) {
// write the client num
MSG_WriteLong(&buf, clc.clientNum);
// write the checksum feed
MSG_WriteLong(&buf, clc.checksumFeed);
MSG_WriteLong(&buf, clc.checksumFeed);
// write the server frametime to the client (only on TA/TT)
MSG_WriteServerFrameTime( &buf, cls.serverFrameTime );
// finished writing the client packet
MSG_WriteByte( &buf, svc_EOF );
@@ -596,7 +599,7 @@ void CL_ReadDemoMessage( void ) {
return;
}
buf.cursize = LittleLong( buf.cursize );
if ( buf.cursize == -1 ) {
if ( buf.cursize == (uint32_t)-1) {
CL_DemoCompleted ();
return;
}
+2 -36
View File
@@ -514,40 +514,6 @@ static void CL_ParseServerInfo(void)
sizeof(clc.sv_dlURL));
}
char* MSG_ReadGameStateChar_ver_15(msg_t* msg) {
return MSG_ReadScrambledBigString(msg);
}
float MSG_ReadServerFrameTime_ver_15(msg_t* msg) {
return MSG_ReadFloat(msg);
}
char* MSG_ReadGameStateChar_ver_6(msg_t* msg) {
return MSG_ReadString(msg);
}
float MSG_ReadServerFrameTime_ver_6(msg_t* msg) {
return 1.f / atof(Info_ValueForKey(cl.gameState.stringData + cl.gameState.stringOffsets[CS_SYSTEMINFO], "sv_fps"));
}
char* MSG_ReadGameStateChar(msg_t* msg) {
if (MSG_IsProtocolVersion15()) {
return MSG_ReadGameStateChar_ver_15(msg);
} else {
// smaller below version 15
return MSG_ReadGameStateChar_ver_6(msg);
}
}
float MSG_ReadServerFrameTime(msg_t* msg) {
if (MSG_IsProtocolVersion15()) {
return MSG_ReadServerFrameTime_ver_15(msg);
} else {
// smaller below version 15
return MSG_ReadServerFrameTime_ver_6(msg);
}
}
/*
==================
CL_ParseGamestate
@@ -591,7 +557,7 @@ void CL_ParseGamestate( msg_t *msg ) {
if (csNum < 0 || csNum >= MAX_CONFIGSTRINGS) {
Com_Error(ERR_DROP, "configstring > MAX_CONFIGSTRINGS");
}
s = MSG_ReadGameStateChar(msg);
s = MSG_ReadScrambledBigString(msg);
len = strlen(s);
if (len + 1 + cl.gameState.dataCount > MAX_GAMESTATE_CHARS) {
@@ -620,7 +586,7 @@ void CL_ParseGamestate( msg_t *msg ) {
clc.clientNum = MSG_ReadLong(msg);
// read the checksum feed
clc.checksumFeed = MSG_ReadLong( msg );
cls.serverFrameTime = MSG_ReadServerFrameTime(msg);
cls.serverFrameTime = MSG_ReadServerFrameTime(msg, &cl.gameState);
// parse serverId and other cvars
CL_SystemInfoChanged();
+3 -1
View File
@@ -49,7 +49,7 @@ cvar_t *g_scriptcheck;
cvar_t *g_showopcodes;
int demo_protocols[] =
{ 8, 0 };
{ 0, 0 }; // the first value of the array will be replaced by com_protocol
#define MAX_NUM_ARGVS 50
@@ -1757,6 +1757,8 @@ void Com_Init( char *commandLine ) {
con_autochat = Cvar_Get("con_autochat", "1", CVAR_ARCHIVE);
#endif
demo_protocols[0] = com_protocol->integer;
Sys_Init();
Netchan_Init( Com_Milliseconds() & 0xffff ); // pick a port value that should be nice and random
SV_Init();
+34
View File
@@ -3551,6 +3551,40 @@ void MSG_ReadDeltaPlayerstate(msg_t *msg, playerState_t *from, playerState_t *to
}
}
float MSG_ReadServerFrameTime_ver_15(msg_t* msg) {
return MSG_ReadFloat(msg);
}
float MSG_ReadServerFrameTime_ver_6(msg_t* msg, gameState_t* gameState) {
return 1.f / atof(Info_ValueForKey(gameState->stringData + gameState->stringOffsets[CS_SERVERINFO], "sv_fps"));
}
float MSG_ReadServerFrameTime(msg_t* msg, gameState_t* gameState) {
if (MSG_IsProtocolVersion15()) {
return MSG_ReadServerFrameTime_ver_15(msg);
} else {
// smaller below version 15
return MSG_ReadServerFrameTime_ver_6(msg, gameState);
}
}
void MSG_WriteServerFrameTime_ver_15(msg_t* msg, float value) {
MSG_WriteFloat(msg, value);
}
void MSG_WriteServerFrameTime_ver_6(msg_t* msg, float value) {
// Nothing to write
}
void MSG_WriteServerFrameTime(msg_t* msg, float value) {
if (MSG_IsProtocolVersion15()) {
MSG_WriteServerFrameTime_ver_15(msg, value);
}
else {
MSG_WriteServerFrameTime_ver_6(msg, value);
}
}
int msg_hData[256] = {
250315, // 0
41193, // 1
+1 -1
View File
@@ -32,7 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
// These values are the only one that must be set for the version
#define PRODUCT_VERSION_MAJOR 0
#define PRODUCT_VERSION_MINOR 58
#define PRODUCT_VERSION_PATCH 0
#define PRODUCT_VERSION_PATCH 1
#define PRODUCT_VERSION_SUFFIX "alpha"
//
+3
View File
@@ -138,6 +138,9 @@ void MSG_WriteDeltaEyeInfo (msg_t *msg, usereyes_t *from, usereyes_t *to);
void MSG_WriteDeltaPlayerstate(msg_t* msg, struct playerState_s* from, struct playerState_s* to, float frameTime);
void MSG_ReadDeltaPlayerstate(msg_t* msg, struct playerState_s* from, struct playerState_s* to, float frameTime);
float MSG_ReadServerFrameTime(msg_t* msg, gameState_t* gameState);
void MSG_WriteServerFrameTime(msg_t* msg, float value);
void MSG_ReportChangeVectors_f( void );
//====================
-16
View File
@@ -579,22 +579,6 @@ void SV_DropClient( client_t *drop, const char *reason ) {
}
}
void MSG_WriteServerFrameTime_ver_15(msg_t* msg, float f) {
MSG_WriteFloat(msg, f);
}
void MSG_WriteServerFrameTime_ver_6(msg_t* msg, float f) {
// Nothing to write
}
void MSG_WriteServerFrameTime(msg_t* msg, float f) {
if (MSG_IsProtocolVersion15()) {
MSG_WriteServerFrameTime_ver_15(msg, f);
} else {
MSG_WriteServerFrameTime_ver_6(msg, f);
}
}
/*
================
SV_SendClientGameState
+1 -1
View File
@@ -1002,7 +1002,7 @@ void SV_Init( void ) {
// server vars
sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP );
sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP );
sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP );
sv_fps = Cvar_Get ("sv_fps", "20", CVAR_SAVEGAME | CVAR_SERVERINFO );
sv_timeout = Cvar_Get ("sv_timeout", "120", CVAR_TEMP );
sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP );
Cvar_Get ("nextmap", "", CVAR_TEMP );