Skip to content

Commit

Permalink
Revert "server: delta snapshot developer print fix"
Browse files Browse the repository at this point in the history
  • Loading branch information
ec- committed Jan 26, 2025
1 parent 8aa6fa1 commit 424b3fb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 8 deletions.
3 changes: 1 addition & 2 deletions code/server/server.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,7 @@ typedef struct client_s {
qboolean downloadEOF; // We have sent the EOF block
int downloadSendTime; // time we last got an ack from the client

qboolean deltaActive; // delta snapshots enabled
int deltaMessage; // message to create delta snapshot from
int deltaMessage; // frame last client usercmd message
int lastPacketTime; // svs.time when packet was last received
int lastConnectTime; // svs.time when connection started
int lastDisconnectTime;
Expand Down
11 changes: 7 additions & 4 deletions code/server/sv_client.c
Original file line number Diff line number Diff line change
Expand Up @@ -1167,7 +1167,7 @@ void SV_ClientEnterWorld( client_t *client ) {
ent->s.number = clientNum;
client->gentity = ent;

client->deltaActive = qfalse;
client->deltaMessage = client->netchan.outgoingSequence - (PACKET_BACKUP + 1); // force delta reset
client->lastSnapshotTime = svs.time - 9999; // generate a snapshot immediately

// call the game begin function
Expand Down Expand Up @@ -2135,8 +2135,11 @@ static void SV_UserMove( client_t *cl, msg_t *msg, qboolean delta ) {
usercmd_t cmds[MAX_PACKET_USERCMDS], *cmd;
const usercmd_t *oldcmd;

cl->deltaActive = delta;
cl->deltaMessage = cl->messageAcknowledge;
if ( delta ) {
cl->deltaMessage = cl->messageAcknowledge;
} else {
cl->deltaMessage = cl->netchan.outgoingSequence - ( PACKET_BACKUP + 1 ); // force delta reset
}

cmdCount = MSG_ReadByte( msg );

Expand Down Expand Up @@ -2191,7 +2194,7 @@ static void SV_UserMove( client_t *cl, msg_t *msg, qboolean delta ) {
}

if ( cl->state != CS_ACTIVE ) {
cl->deltaActive = qfalse;
cl->deltaMessage = cl->netchan.outgoingSequence - ( PACKET_BACKUP + 1 ); // force delta reset
return;
}

Expand Down
9 changes: 7 additions & 2 deletions code/server/sv_snapshot.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,17 @@ static void SV_WriteSnapshotToClient( const client_t *client, msg_t *msg ) {
frame = &client->frames[ client->netchan.outgoingSequence & PACKET_MASK ];

// try to use a previous frame as the source for delta compressing the snapshot
if ( !client->deltaActive || client->state != CS_ACTIVE ) {
if ( /* client->deltaMessage <= 0 || */ client->state != CS_ACTIVE ) {
// client is asking for a retransmit
oldframe = NULL;
lastframe = 0;
} else if ( client->netchan.outgoingSequence - client->deltaMessage >= (PACKET_BACKUP - 3) ) {
// client hasn't gotten a good message through in a long time
Com_DPrintf( "%s: Delta request from out of date packet.\n", client->name );
if ( com_developer->integer ) {
if ( client->deltaMessage != client->netchan.outgoingSequence - ( PACKET_BACKUP + 1 ) ) {
Com_Printf( "%s: Delta request from out of date packet.\n", client->name );
}
}
oldframe = NULL;
lastframe = 0;
} else {
Expand Down

0 comments on commit 424b3fb

Please sign in to comment.