char buf[NET_MAXMESSAGE];
sizebuf_t sb;
- sb.data = (void *) buf;
+ sb.data = (unsigned char *) buf;
sb.maxsize = sizeof(buf);
i = 0;
while(MakeDownloadPacket(sv.csqc_progname, sv.csqc_progdata, sv.csqc_progsize, sv.csqc_progcrc, i++, &sb, sv.protocol))
void SV_WriteEntitiesToClient(client_t *client, prvm_edict_t *clent, sizebuf_t *msg, int maxsize)
{
+ qboolean need_empty = false;
int i, numsendstates;
entity_state_t *s;
prvm_edict_t *camera;
Con_Printf("client \"%s\" entities: %d total, %d visible, %d culled by: %d pvs %d trace\n", client->name, sv.writeentitiestoclient_stats_totalentities, sv.writeentitiestoclient_stats_visibleentities, sv.writeentitiestoclient_stats_culled_pvs + sv.writeentitiestoclient_stats_culled_trace, sv.writeentitiestoclient_stats_culled_pvs, sv.writeentitiestoclient_stats_culled_trace);
if(client->entitydatabase5)
- EntityFrameCSQC_WriteFrame(msg, maxsize, numsendstates, sv.writeentitiestoclient_sendstates, client->entitydatabase5->latestframenum + 1);
+ need_empty = EntityFrameCSQC_WriteFrame(msg, maxsize, numsendstates, sv.writeentitiestoclient_sendstates, client->entitydatabase5->latestframenum + 1);
else
EntityFrameCSQC_WriteFrame(msg, maxsize, numsendstates, sv.writeentitiestoclient_sendstates, 0);
if (client->entitydatabase5)
- EntityFrame5_WriteFrame(msg, maxsize, client->entitydatabase5, numsendstates, sv.writeentitiestoclient_sendstates, client - svs.clients + 1, client->movesequence);
+ EntityFrame5_WriteFrame(msg, maxsize, client->entitydatabase5, numsendstates, sv.writeentitiestoclient_sendstates, client - svs.clients + 1, client->movesequence, need_empty);
else if (client->entitydatabase4)
{
EntityFrame4_WriteFrame(msg, maxsize, client->entitydatabase4, numsendstates, sv.writeentitiestoclient_sendstates);
stats[STAT_CELLS] = (int)ent->fields.server->ammo_cells;
stats[STAT_ACTIVEWEAPON] = (int)ent->fields.server->weapon;
stats[STAT_VIEWZOOM] = viewzoom;
- stats[STAT_TOTALSECRETS] = prog->globals.server->total_secrets;
- stats[STAT_TOTALMONSTERS] = prog->globals.server->total_monsters;
+ stats[STAT_TOTALSECRETS] = (int)prog->globals.server->total_secrets;
+ stats[STAT_TOTALMONSTERS] = (int)prog->globals.server->total_monsters;
// the QC bumps these itself by sending svc_'s, so we have to keep them
// zero or they'll be corrected by the engine
//stats[STAT_SECRETS] = prog->globals.server->found_secrets;
static void SV_VM_Setup(void)
{
- extern cvar_t csqc_progname; //[515]: csqc crc check and right csprogs name according to progs.dat
PRVM_Begin;
PRVM_InitProg( PRVM_SERVERPROG );