mirror of
https://git.code.sf.net/p/quake/newtree
synced 2025-05-30 00:30:38 +00:00
zlib support (gzipped pack contents). if you have a probelm with gzgets, you
have 3 choices: remove /usr/X11R6/lib/libz.a, --diable-zlib, or fix configure. I do intend on fixing it myself.
This commit is contained in:
parent
7c12c9b4c7
commit
86f87122c0
39 changed files with 537 additions and 328 deletions
|
@ -69,7 +69,7 @@ void CL_StopPlayback (void)
|
|||
if (!cls.demoplayback)
|
||||
return;
|
||||
|
||||
fclose (cls.demofile);
|
||||
Qclose (cls.demofile);
|
||||
cls.demofile = NULL;
|
||||
cls.state = ca_disconnected;
|
||||
cls.demoplayback = 0;
|
||||
|
@ -99,10 +99,10 @@ void CL_WriteDemoCmd (usercmd_t *pcmd)
|
|||
//Con_Printf("write: %ld bytes, %4.4f\n", msg->cursize, realtime);
|
||||
|
||||
fl = LittleFloat((float)realtime);
|
||||
fwrite (&fl, sizeof(fl), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &fl, sizeof(fl));
|
||||
|
||||
c = dem_cmd;
|
||||
fwrite (&c, sizeof(c), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &c, sizeof(c));
|
||||
|
||||
// correct for byte order, bytes don't matter
|
||||
cmd = *pcmd;
|
||||
|
@ -113,15 +113,15 @@ void CL_WriteDemoCmd (usercmd_t *pcmd)
|
|||
cmd.sidemove = LittleShort(cmd.sidemove);
|
||||
cmd.upmove = LittleShort(cmd.upmove);
|
||||
|
||||
fwrite(&cmd, sizeof(cmd), 1, cls.demofile);
|
||||
Qwrite(cls.demofile, &cmd, sizeof(cmd));
|
||||
|
||||
for (i=0 ; i<3 ; i++)
|
||||
{
|
||||
fl = LittleFloat (cl.viewangles[i]);
|
||||
fwrite (&fl, 4, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &fl, 4);
|
||||
}
|
||||
|
||||
fflush (cls.demofile);
|
||||
Qflush (cls.demofile);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -143,16 +143,16 @@ void CL_WriteDemoMessage (sizebuf_t *msg)
|
|||
return;
|
||||
|
||||
fl = LittleFloat((float)realtime);
|
||||
fwrite (&fl, sizeof(fl), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &fl, sizeof(fl));
|
||||
|
||||
c = dem_read;
|
||||
fwrite (&c, sizeof(c), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &c, sizeof(c));
|
||||
|
||||
len = LittleLong (msg->cursize);
|
||||
fwrite (&len, 4, 1, cls.demofile);
|
||||
fwrite (msg->data, msg->cursize, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &len, 4);
|
||||
Qwrite (cls.demofile, msg->data, msg->cursize);
|
||||
|
||||
fflush (cls.demofile);
|
||||
Qflush (cls.demofile);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -171,7 +171,7 @@ qboolean CL_GetDemoMessage (void)
|
|||
usercmd_t *pcmd;
|
||||
|
||||
// read the time from the packet
|
||||
fread(&demotime, sizeof(demotime), 1, cls.demofile);
|
||||
Qread(cls.demofile, &demotime, sizeof(demotime));
|
||||
demotime = LittleFloat(demotime);
|
||||
|
||||
// decide if it is time to grab the next message
|
||||
|
@ -181,7 +181,7 @@ qboolean CL_GetDemoMessage (void)
|
|||
else if (demotime > cls.td_lastframe) {
|
||||
cls.td_lastframe = demotime;
|
||||
// rewind back to time
|
||||
fseek(cls.demofile, ftell(cls.demofile) - sizeof(demotime),
|
||||
Qseek(cls.demofile, Qtell(cls.demofile) - sizeof(demotime),
|
||||
SEEK_SET);
|
||||
return 0; // allready read this frame's message
|
||||
}
|
||||
|
@ -195,12 +195,12 @@ qboolean CL_GetDemoMessage (void)
|
|||
// too far back
|
||||
realtime = demotime - 1.0;
|
||||
// rewind back to time
|
||||
fseek(cls.demofile, ftell(cls.demofile) - sizeof(demotime),
|
||||
Qseek(cls.demofile, Qtell(cls.demofile) - sizeof(demotime),
|
||||
SEEK_SET);
|
||||
return 0;
|
||||
} else if (realtime < demotime) {
|
||||
// rewind back to time
|
||||
fseek(cls.demofile, ftell(cls.demofile) - sizeof(demotime),
|
||||
Qseek(cls.demofile, Qtell(cls.demofile) - sizeof(demotime),
|
||||
SEEK_SET);
|
||||
return 0; // don't need another message yet
|
||||
}
|
||||
|
@ -211,15 +211,15 @@ qboolean CL_GetDemoMessage (void)
|
|||
Host_Error ("CL_GetDemoMessage: cls.state != ca_active");
|
||||
|
||||
// get the msg type
|
||||
fread (&c, sizeof(c), 1, cls.demofile);
|
||||
Qread (cls.demofile, &c, sizeof(c));
|
||||
|
||||
switch (c) {
|
||||
case dem_cmd :
|
||||
// user sent input
|
||||
i = cls.netchan.outgoing_sequence & UPDATE_MASK;
|
||||
pcmd = &cl.frames[i].cmd;
|
||||
r = fread (pcmd, sizeof(*pcmd), 1, cls.demofile);
|
||||
if (r != 1)
|
||||
r = Qread (cls.demofile, pcmd, sizeof(*pcmd));
|
||||
if (r != sizeof(*pcmd))
|
||||
{
|
||||
CL_StopPlayback ();
|
||||
return 0;
|
||||
|
@ -235,21 +235,21 @@ qboolean CL_GetDemoMessage (void)
|
|||
cls.netchan.outgoing_sequence++;
|
||||
for (i=0 ; i<3 ; i++)
|
||||
{
|
||||
r = fread (&f, 4, 1, cls.demofile);
|
||||
Qread (cls.demofile, &f, 4);
|
||||
cl.viewangles[i] = LittleFloat (f);
|
||||
}
|
||||
break;
|
||||
|
||||
case dem_read:
|
||||
// get the next message
|
||||
fread (&net_message.cursize, 4, 1, cls.demofile);
|
||||
Qread (cls.demofile, &net_message.cursize, 4);
|
||||
net_message.cursize = LittleLong (net_message.cursize);
|
||||
//Con_Printf("read: %ld bytes\n", net_message.cursize);
|
||||
if (net_message.cursize > MAX_MSGLEN)
|
||||
// Sys_Error ("Demo message > MAX_MSGLEN");
|
||||
Host_EndGame ("Demo message > MAX_MSGLEN");
|
||||
r = fread (net_message.data, net_message.cursize, 1, cls.demofile);
|
||||
if (r != 1)
|
||||
r = Qread (cls.demofile, net_message.data, net_message.cursize);
|
||||
if (r != net_message.cursize)
|
||||
{
|
||||
CL_StopPlayback ();
|
||||
return 0;
|
||||
|
@ -257,9 +257,9 @@ qboolean CL_GetDemoMessage (void)
|
|||
break;
|
||||
|
||||
case dem_set :
|
||||
fread (&i, 4, 1, cls.demofile);
|
||||
Qread (cls.demofile, &i, 4);
|
||||
cls.netchan.outgoing_sequence = LittleLong(i);
|
||||
fread (&i, 4, 1, cls.demofile);
|
||||
Qread (cls.demofile, &i, 4);
|
||||
cls.netchan.incoming_sequence = LittleLong(i);
|
||||
break;
|
||||
|
||||
|
@ -316,7 +316,7 @@ void CL_Stop_f (void)
|
|||
CL_WriteDemoMessage (&net_message);
|
||||
|
||||
// finish up
|
||||
fclose (cls.demofile);
|
||||
Qclose (cls.demofile);
|
||||
cls.demofile = NULL;
|
||||
cls.demorecording = false;
|
||||
Con_Printf ("Completed demo\n");
|
||||
|
@ -343,21 +343,21 @@ void CL_WriteRecordDemoMessage (sizebuf_t *msg, int seq)
|
|||
return;
|
||||
|
||||
fl = LittleFloat((float)realtime);
|
||||
fwrite (&fl, sizeof(fl), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &fl, sizeof(fl));
|
||||
|
||||
c = dem_read;
|
||||
fwrite (&c, sizeof(c), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &c, sizeof(c));
|
||||
|
||||
len = LittleLong (msg->cursize + 8);
|
||||
fwrite (&len, 4, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &len, 4);
|
||||
|
||||
i = LittleLong(seq);
|
||||
fwrite (&i, 4, 1, cls.demofile);
|
||||
fwrite (&i, 4, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &i, 4);
|
||||
Qwrite (cls.demofile, &i, 4);
|
||||
|
||||
fwrite (msg->data, msg->cursize, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, msg->data, msg->cursize);
|
||||
|
||||
fflush (cls.demofile);
|
||||
Qflush (cls.demofile);
|
||||
}
|
||||
|
||||
|
||||
|
@ -373,17 +373,17 @@ void CL_WriteSetDemoMessage (void)
|
|||
return;
|
||||
|
||||
fl = LittleFloat((float)realtime);
|
||||
fwrite (&fl, sizeof(fl), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &fl, sizeof(fl));
|
||||
|
||||
c = dem_set;
|
||||
fwrite (&c, sizeof(c), 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &c, sizeof(c));
|
||||
|
||||
len = LittleLong(cls.netchan.outgoing_sequence);
|
||||
fwrite (&len, 4, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &len, 4);
|
||||
len = LittleLong(cls.netchan.incoming_sequence);
|
||||
fwrite (&len, 4, 1, cls.demofile);
|
||||
Qwrite (cls.demofile, &len, 4);
|
||||
|
||||
fflush (cls.demofile);
|
||||
Qflush (cls.demofile);
|
||||
}
|
||||
|
||||
|
||||
|
@ -432,7 +432,7 @@ void CL_Record_f (void)
|
|||
//
|
||||
COM_DefaultExtension (name, ".qwd");
|
||||
|
||||
cls.demofile = fopen (name, "wb");
|
||||
cls.demofile = Qopen (name, "wb");
|
||||
if (!cls.demofile)
|
||||
{
|
||||
Con_Printf ("ERROR: couldn't open.\n");
|
||||
|
@ -718,7 +718,7 @@ void CL_ReRecord_f (void)
|
|||
//
|
||||
COM_DefaultExtension (name, ".qwd");
|
||||
|
||||
cls.demofile = fopen (name, "wb");
|
||||
cls.demofile = Qopen (name, "wb");
|
||||
if (!cls.demofile)
|
||||
{
|
||||
Con_Printf ("ERROR: couldn't open.\n");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue