mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-20 09:21:09 +00:00
minor cleanups
This commit is contained in:
parent
8220d6d3c9
commit
c1d5f230a9
2 changed files with 29 additions and 25 deletions
|
@ -26,13 +26,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#include "server.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct dbuffer_s {
|
||||
byte *data;
|
||||
int start, end, last;
|
||||
int maxsize;
|
||||
} dbuffer_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct header_s {
|
||||
byte type;
|
||||
byte full;
|
||||
int to;
|
||||
|
@ -40,7 +40,7 @@ typedef struct {
|
|||
byte data[1]; // gcc doesn't allow [] (?)
|
||||
} header_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct demoinfo_s {
|
||||
vec3_t origin;
|
||||
vec3_t angles;
|
||||
int weaponframe;
|
||||
|
@ -49,7 +49,7 @@ typedef struct {
|
|||
int effects;
|
||||
} demoinfo_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct demo_client_s {
|
||||
demoinfo_t info;
|
||||
float sec;
|
||||
int parsecount;
|
||||
|
@ -60,13 +60,13 @@ typedef struct {
|
|||
int frame;
|
||||
} demo_client_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct demobuf_s {
|
||||
sizebuf_t sz;
|
||||
int bufsize;
|
||||
header_t *h;
|
||||
} demobuf_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct demo_frame_s {
|
||||
demo_client_t clients[MAX_CLIENTS];
|
||||
double time;
|
||||
demobuf_t buf;
|
||||
|
@ -75,33 +75,38 @@ typedef struct {
|
|||
#define DEMO_FRAMES 64
|
||||
#define DEMO_FRAMES_MASK (DEMO_FRAMES - 1)
|
||||
|
||||
typedef struct {
|
||||
typedef struct demo_s {
|
||||
QFile *file;
|
||||
|
||||
demobuf_t *dbuf;
|
||||
|
||||
dbuffer_t dbuffer;
|
||||
byte buffer[20 * MAX_MSGLEN];
|
||||
|
||||
sizebuf_t datagram;
|
||||
byte datagram_data[MAX_DATAGRAM];
|
||||
|
||||
int lastto;
|
||||
int lasttype;
|
||||
double time, pingtime;
|
||||
int stats[MAX_CLIENTS][MAX_CL_STATS]; // ouch!
|
||||
|
||||
client_t recorder;
|
||||
int stats[MAX_CLIENTS][MAX_CL_STATS]; // ouch!
|
||||
qboolean fixangle[MAX_CLIENTS];
|
||||
float fixangletime[MAX_CLIENTS];
|
||||
vec3_t angles[MAX_CLIENTS];
|
||||
struct dstring_s *name;
|
||||
struct dstring_s *text;
|
||||
demoinfo_t info[MAX_CLIENTS];
|
||||
demo_frame_t frames[DEMO_FRAMES];
|
||||
|
||||
int parsecount;
|
||||
int lastwritten;
|
||||
demo_frame_t frames[DEMO_FRAMES];
|
||||
demoinfo_t info[MAX_CLIENTS];
|
||||
|
||||
int size;
|
||||
qboolean disk;
|
||||
void *dest;
|
||||
byte *mfile;
|
||||
byte buffer[20 * MAX_MSGLEN];
|
||||
int bufsize;
|
||||
struct dstring_s *name;
|
||||
struct dstring_s *text;
|
||||
|
||||
int forceFrame;
|
||||
} demo_t;
|
||||
|
||||
|
|
|
@ -519,16 +519,16 @@ SV_WriteClientdataToMessage (client_t *client, sizebuf_t *msg)
|
|||
|
||||
// a fixangle might get lost in a dropped packet. Oh well.
|
||||
if (SVfloat (ent, fixangle)) {
|
||||
vec_t *angles = SVvector (ent, angles);
|
||||
MSG_WriteByte (msg, svc_setangle);
|
||||
MSG_WriteAngleV (msg, SVvector (ent, angles));
|
||||
VectorCopy (SVvector (ent, angles), demo.angles[clnum]);
|
||||
MSG_WriteAngleV (msg, angles);
|
||||
SVfloat (ent, fixangle) = 0;
|
||||
demo.fixangle[clnum] = true;
|
||||
|
||||
if (sv.demorecording) {
|
||||
MSG_WriteByte (&demo.datagram, svc_setangle);
|
||||
MSG_WriteByte (&demo.datagram, clnum);
|
||||
MSG_WriteAngleV (&demo.datagram, demo.angles[clnum]);
|
||||
MSG_WriteAngleV (&demo.datagram, angles);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -856,12 +856,6 @@ SV_SendDemoMessage (void)
|
|||
SZ_Clear (&demo.datagram);
|
||||
return;
|
||||
}
|
||||
|
||||
msg.data = buf;
|
||||
msg.maxsize = sizeof (buf);
|
||||
msg.cursize = 0;
|
||||
msg.allowoverflow = true;
|
||||
msg.overflowed = false;
|
||||
|
||||
for (i = 0, c = svs.clients; i < MAX_CLIENTS; i++, c++) {
|
||||
if (c->state != cs_spawned && c->state != cs_server)
|
||||
|
@ -892,7 +886,12 @@ SV_SendDemoMessage (void)
|
|||
// send over all the objects that are in the PVS
|
||||
// this will include clients, a packetentities, and
|
||||
// possibly a nails update
|
||||
msg.data = buf;
|
||||
msg.maxsize = sizeof (buf);
|
||||
msg.cursize = 0;
|
||||
msg.allowoverflow = true;
|
||||
msg.overflowed = false;
|
||||
|
||||
if (!demo.recorder.delta_sequence)
|
||||
demo.recorder.delta_sequence = -1;
|
||||
SV_WriteEntitiesToClient (&demo.recorder, &msg, true);
|
||||
|
@ -911,7 +910,7 @@ SV_SendDemoMessage (void)
|
|||
demo.recorder.netchan.incoming_sequence++;
|
||||
demo.frames[demo.parsecount & DEMO_FRAMES_MASK].time = demo.time = sv.time;
|
||||
|
||||
// that's a backup of 3sec in 20fps, should be enough
|
||||
// that's a backup of 3sec at 20fps, should be enough
|
||||
// FIXME make this framerate dependent.
|
||||
// eg. sv_fps->int_val * sv_packetdelay->float_val
|
||||
if (demo.parsecount - demo.lastwritten > 60) {
|
||||
|
|
Loading…
Reference in a new issue