diff --git a/code/client/client.h b/code/client/client.h index 19f00249..3d620030 100644 --- a/code/client/client.h +++ b/code/client/client.h @@ -87,7 +87,7 @@ typedef struct { // the parseEntities array must be large enough to hold PACKET_BACKUP frames of // entities, so that when a delta compressed message arives from the server // it can be un-deltad from the original -#define MAX_PARSE_ENTITIES 2048 +#define MAX_PARSE_ENTITIES ( PACKET_BACKUP * MAX_SNAPSHOT_ENTITIES ) extern int g_console_field_width; diff --git a/code/qcommon/qcommon.h b/code/qcommon/qcommon.h index 0a923124..ad7e900a 100644 --- a/code/qcommon/qcommon.h +++ b/code/qcommon/qcommon.h @@ -133,6 +133,8 @@ NET #define MAX_PACKET_USERCMDS 32 // max number of usercmd_t in a packet +#define MAX_SNAPSHOT_ENTITIES 256 + #define PORT_ANY -1 #define MAX_RELIABLE_COMMANDS 64 // max string commands buffered for restransmit diff --git a/code/server/server.h b/code/server/server.h index 3fefb602..be7e5baa 100644 --- a/code/server/server.h +++ b/code/server/server.h @@ -236,7 +236,7 @@ typedef struct { int snapFlagServerBit; // ^= SNAPFLAG_SERVERCOUNT every SV_SpawnServer() client_t *clients; // [sv_maxclients->integer]; - int numSnapshotEntities; // sv_maxclients->integer*PACKET_BACKUP*MAX_PACKET_ENTITIES + int numSnapshotEntities; // sv_maxclients->integer*PACKET_BACKUP*MAX_SNAPSHOT_ENTITIES int nextSnapshotEntities; // next snapshotEntities to use entityState_t *snapshotEntities; // [numSnapshotEntities] int nextHeartbeatTime; diff --git a/code/server/sv_init.c b/code/server/sv_init.c index 89f4ceb4..71c789f6 100644 --- a/code/server/sv_init.c +++ b/code/server/sv_init.c @@ -271,10 +271,10 @@ static void SV_Startup( void ) { svs.clients = Z_Malloc (sizeof(client_t) * sv_maxclients->integer ); if ( com_dedicated->integer ) { - svs.numSnapshotEntities = sv_maxclients->integer * PACKET_BACKUP * 64; + svs.numSnapshotEntities = sv_maxclients->integer * PACKET_BACKUP * MAX_SNAPSHOT_ENTITIES; } else { // we don't need nearly as many when playing locally - svs.numSnapshotEntities = sv_maxclients->integer * 4 * 64; + svs.numSnapshotEntities = sv_maxclients->integer * 4 * MAX_SNAPSHOT_ENTITIES; } svs.initialized = qtrue; @@ -349,10 +349,10 @@ void SV_ChangeMaxClients( void ) { // allocate new snapshot entities if ( com_dedicated->integer ) { - svs.numSnapshotEntities = sv_maxclients->integer * PACKET_BACKUP * 64; + svs.numSnapshotEntities = sv_maxclients->integer * PACKET_BACKUP * MAX_SNAPSHOT_ENTITIES; } else { // we don't need nearly as many when playing locally - svs.numSnapshotEntities = sv_maxclients->integer * 4 * 64; + svs.numSnapshotEntities = sv_maxclients->integer * 4 * MAX_SNAPSHOT_ENTITIES; } } diff --git a/code/server/sv_snapshot.c b/code/server/sv_snapshot.c index 2499f040..6e4f2907 100644 --- a/code/server/sv_snapshot.c +++ b/code/server/sv_snapshot.c @@ -235,7 +235,6 @@ Build a client snapshot structure ============================================================================= */ -#define MAX_SNAPSHOT_ENTITIES 1024 typedef struct { int numSnapshotEntities; int snapshotEntities[MAX_SNAPSHOT_ENTITIES];