// this is a new move
move->time = bound(sv.time - 1, move->time, sv.time); // prevent slowhack/speedhack combos
move->time = max(move->time, host_client->cmd.time); // prevent backstepping of time
- moveframetime = bound(0, move->time - host_client->cmd.time, sv.frametime * sv_clmovement_waitforinput.integer);
+ moveframetime = bound(0, move->time - host_client->cmd.time, min(0.1, sv.frametime * sv_clmovement_waitforinput.integer));
//Con_Printf("movesequence = %i (%i lost), moveframetime = %f\n", move->sequence, move->sequence ? move->sequence - host_client->movesequence - 1 : 0, moveframetime);
host_client->cmd = *move;
host_client->movesequence = move->sequence;
void SV_FrameLost(int framenum)
{
if (host_client->entitydatabase5)
+ {
EntityFrame5_LostFrame(host_client->entitydatabase5, framenum);
+ EntityFrameCSQC_LostFrame(host_client, framenum);
+ }
}
void SV_FrameAck(int framenum)
int crc;
unsigned char *temp;
FS_Seek(host_client->download_file, 0, SEEK_SET);
- temp = Mem_Alloc(tempmempool, size);
+ temp = (unsigned char *) Mem_Alloc(tempmempool, size);
FS_Read(host_client->download_file, temp, size);
crc = CRC_Block(temp, size);
Mem_Free(temp);
// calculated crc, send the file info to the client
// (so that it can verify the data)
- Host_ClientCommands(va("\ncl_downloadfinished %i %i %s\n", size, crc, host_client->download_name));
+ Host_ClientCommands("\ncl_downloadfinished %i %i %s\n", size, crc, host_client->download_name);
Con_DPrintf("Download of %s by %s has finished\n", host_client->download_name, host_client->name);
FS_Close(host_client->download_file);
host_client->download_file = NULL;