Progress on map changing with qtv clients

Rename SV_DemoSendMessages to SVR_SendMessages, and make sure SVR_SendMessages
and SV_qtvSendMessages get called when SV_SendMessagesToAll is called.
This commit is contained in:
Bill Currie 2010-01-13 06:45:43 +00:00 committed by Jeff Teunissen
parent 465d5572dd
commit 53cd9be90a
7 changed files with 25 additions and 11 deletions

View file

@ -315,9 +315,10 @@ Netchan_Transmit (netchan_t *chan, int length, byte *data)
chan->cleartime = *net_realtime;
if (showpackets->int_val & 1)
Sys_Printf ("--> s=%i(%i) a=%i(%i) %-4i %i\n", chan->outgoing_sequence,
send_reliable, chan->incoming_sequence,
chan->incoming_reliable_sequence, send.cursize,
Sys_Printf ("--> s=%i(%i) a=%i(%i) %-4i %i\n",
chan->outgoing_sequence, send_reliable,
chan->incoming_sequence, chan->incoming_reliable_sequence,
send.cursize,
chan->outgoing_sequence - chan->incoming_sequence);
}

View file

@ -46,6 +46,6 @@ struct sizebuf_s *SVR_WriteBegin (byte type, int to, int size);
struct sizebuf_s *SVR_Datagram (void);
void SVR_ForceFrame (void);
void SVR_SetDelta (recorder_t *r, int delta, int in_frame);
void SV_SendDemoMessage (void);
void SVR_SendMessages (void);
#endif//__sv_recorder_h

View file

@ -1984,7 +1984,7 @@ SV_Frame (float time)
demo_start = Sys_DoubleTime ();
if (sv.recorders)
SV_SendDemoMessage ();
SVR_SendMessages ();
demo_end = Sys_DoubleTime ();
svs.stats.demo += demo_end - demo_start;

View file

@ -372,7 +372,7 @@ PF_forcedemoframe (progs_t *pr)
{
SVR_ForceFrame ();
if (P_FLOAT (pr, 0) == 1)
SV_SendDemoMessage ();
SVR_SendMessages ();
}

View file

@ -331,6 +331,9 @@ qtv_parse (sv_qtv_t *proxy)
proxy->netchan.outgoing_sequence = proxy->netchan.incoming_sequence;
proxy->packet = true;
} else {
SV_Printf ("qtv_parse: slipped sequence: %d %d\n",
proxy->netchan.incoming_sequence,
proxy->netchan.outgoing_sequence);
proxy->packet = false; // don't reply, sequences have slipped
return; // FIXME right thing?
}
@ -338,7 +341,7 @@ qtv_parse (sv_qtv_t *proxy)
SVR_SetDelta (proxy->recorder, -1, proxy->netchan.incoming_sequence);
while (1) {
if (net_message->badread) {
SV_Printf ("SV_ReadClientMessage: badread\n");
SV_Printf ("qtv_parse: badread\n");
drop_proxy (proxy);
return;
}
@ -349,7 +352,7 @@ qtv_parse (sv_qtv_t *proxy)
switch (c) {
default:
SV_Printf ("SV_ReadClientMessage: unknown command char\n");
SV_Printf ("qtv_parse: unknown command char\n");
drop_proxy (proxy);
return;
case qtv_nop:

View file

@ -217,7 +217,7 @@ write_to_msg (int type, int to, float time, sizebuf_t *dst)
size = p->size;
pos += HEADER + size;
// no type means we are writing to disk everything
// no type means we are writing everything to disk
if (!type || (p->type == type && p->to == to)) {
if (size) {
msg.data = p->data;
@ -225,7 +225,7 @@ write_to_msg (int type, int to, float time, sizebuf_t *dst)
write_msg (&msg, p->type, p->to, time, dst);
}
// data is written so it need to be cleard from demobuf
// data is written so it needs to be cleard from demobuf
if (rec.dbuf->sz.data != (byte *) p)
memmove (rec.dbuf->sz.data + size + HEADER,
rec.dbuf->sz.data, (byte *) p - rec.dbuf->sz.data);
@ -553,7 +553,7 @@ demo_pings (void)
}
void
SV_SendDemoMessage (void)
SVR_SendMessages (void)
{
int i, j;
client_t *c;

View file

@ -53,6 +53,7 @@ static __attribute__ ((used)) const char rcsid[] =
#include "compat.h"
#include "server.h"
#include "sv_progs.h"
#include "sv_qtv.h"
#include "sv_recorder.h"
#define CHAN_AUTO 0
@ -821,12 +822,21 @@ SV_SendMessagesToAll (void)
{
client_t *c;
int i;
double demo_start, demo_end;
for (i = 0, c = svs.clients; i < MAX_CLIENTS; i++, c++)
if (c->state < cs_zombie) // FIXME: should this send to only active?
c->send_message = true;
SV_SendClientMessages ();
demo_start = Sys_DoubleTime ();
if (sv.recorders)
SVR_SendMessages ();
demo_end = Sys_DoubleTime ();
svs.stats.demo += demo_end - demo_start;
SV_qtvSendMessages ();
}
void