mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-20 09:21:09 +00:00
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:
parent
465d5572dd
commit
53cd9be90a
7 changed files with 25 additions and 11 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -372,7 +372,7 @@ PF_forcedemoframe (progs_t *pr)
|
|||
{
|
||||
SVR_ForceFrame ();
|
||||
if (P_FLOAT (pr, 0) == 1)
|
||||
SV_SendDemoMessage ();
|
||||
SVR_SendMessages ();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue