mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-31 16:51:08 +00:00
[nq,qw] Get demo capture working again
It turns it it had been broken for some time: it was attempting to write the files to the wrong place.
This commit is contained in:
parent
86e95fc1d0
commit
0880fab909
4 changed files with 34 additions and 24 deletions
|
@ -103,7 +103,7 @@ typedef struct {
|
||||||
|
|
||||||
QFile *demofile;
|
QFile *demofile;
|
||||||
qboolean demorecording;
|
qboolean demorecording;
|
||||||
qboolean demo_capture;
|
int demo_capture;
|
||||||
qboolean demoplayback;
|
qboolean demoplayback;
|
||||||
int forcetrack; // -1 = use normal cd track
|
int forcetrack; // -1 = use normal cd track
|
||||||
qboolean timedemo;
|
qboolean timedemo;
|
||||||
|
|
|
@ -633,6 +633,19 @@ Host_ClientFrame (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
write_capture (tex_t *tex, void *data)
|
||||||
|
{
|
||||||
|
QFile *file = QFS_Open (va (0, "%s/qfmv%06d.png",
|
||||||
|
qfs_gamedir->dir.shots,
|
||||||
|
cls.demo_capture++), "wb");
|
||||||
|
if (file) {
|
||||||
|
WritePNG (file, tex);
|
||||||
|
Qclose (file);
|
||||||
|
}
|
||||||
|
free (tex);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Host_Frame
|
Host_Frame
|
||||||
|
|
||||||
|
@ -699,19 +712,11 @@ _Host_Frame (float time)
|
||||||
Host_ClientFrame ();
|
Host_ClientFrame ();
|
||||||
else
|
else
|
||||||
host_time += host_frametime; //FIXME is this needed? vcr stuff
|
host_time += host_frametime; //FIXME is this needed? vcr stuff
|
||||||
#if 0
|
|
||||||
if (cls.demo_capture) {
|
if (cls.demo_capture) {
|
||||||
tex_t *tex = r_funcs->SCR_CaptureBGR ();
|
r_funcs->capture_screen (write_capture, 0);
|
||||||
QFile *file = Qopen (va (0, "%s/qfmv%06d.png",
|
|
||||||
qfs_gamedir->dir.shots,
|
|
||||||
cls.demo_capture++), "wb");
|
|
||||||
if (file) {
|
|
||||||
WritePNG (file, tex->data, tex->width, tex->height);
|
|
||||||
Qclose (file);
|
|
||||||
}
|
|
||||||
free (tex);
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
host_framecount++;
|
host_framecount++;
|
||||||
fps_count++;
|
fps_count++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,7 +136,7 @@ typedef struct {
|
||||||
|
|
||||||
QFile *demofile;
|
QFile *demofile;
|
||||||
qboolean demorecording;
|
qboolean demorecording;
|
||||||
qboolean demo_capture;
|
int demo_capture;
|
||||||
qboolean demoplayback;
|
qboolean demoplayback;
|
||||||
qboolean demoplayback2;
|
qboolean demoplayback2;
|
||||||
qboolean findtrack;
|
qboolean findtrack;
|
||||||
|
|
|
@ -1617,6 +1617,19 @@ Host_SimulationTime (float time)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
write_capture (tex_t *tex, void *data)
|
||||||
|
{
|
||||||
|
QFile *file = QFS_Open (va (0, "%s/qfmv%06d.png",
|
||||||
|
qfs_gamedir->dir.shots,
|
||||||
|
cls.demo_capture++), "wb");
|
||||||
|
if (file) {
|
||||||
|
WritePNG (file, tex);
|
||||||
|
Qclose (file);
|
||||||
|
}
|
||||||
|
free (tex);
|
||||||
|
}
|
||||||
|
|
||||||
int nopacketcount;
|
int nopacketcount;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1749,19 +1762,11 @@ Host_Frame (float time)
|
||||||
Sys_Printf ("%3i tot %3i server %3i gfx %3i snd\n",
|
Sys_Printf ("%3i tot %3i server %3i gfx %3i snd\n",
|
||||||
pass1 + pass2 + pass3, pass1, pass2, pass3);
|
pass1 + pass2 + pass3, pass1, pass2, pass3);
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
if (cls.demo_capture) {
|
if (cls.demo_capture) {
|
||||||
tex_t *tex = r_funcs->SCR_CaptureBGR ();
|
r_funcs->capture_screen (write_capture, 0);
|
||||||
QFile *file = Qopen (va (0, "%s/qfmv%06d.png",
|
|
||||||
qfs_gamedir->dir.shots, cls.demo_capture++),
|
|
||||||
"wb");
|
|
||||||
if (file) {
|
|
||||||
WritePNG (file, tex->data, tex->width, tex->height);
|
|
||||||
Qclose (file);
|
|
||||||
}
|
|
||||||
free (tex);
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
host_framecount++;
|
host_framecount++;
|
||||||
fps_count++;
|
fps_count++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue