cvar_t vid_conheight = {CVAR_SAVE, "vid_conheight", "480"};
cvar_t scr_screenshot_jpeg = {CVAR_SAVE, "scr_screenshot_jpeg","0"};
cvar_t scr_screenshot_jpeg_quality = {CVAR_SAVE, "scr_screenshot_jpeg_quality","0.9"};
+cvar_t scr_screenshot_name = {0, "scr_screenshot_name","dp"};
cvar_t cl_avidemo = {0, "cl_avidemo", "0"};
int jpeg_supported = false;
for a few moments
==============
*/
-void SCR_CenterPrint (char *str)
+void SCR_CenterPrint(char *str)
{
strlcpy (scr_centerstring, str, sizeof (scr_centerstring));
scr_centertime_off = scr_centertime.value;
Cmd_AddCommand ("screenshot",SCR_ScreenShot_f);
Cmd_AddCommand ("envmap", R_Envmap_f);
- // different default in GAME_FNIGGIUM
- if (gamemode == GAME_FNIGGIUM)
- Cvar_SetQuick(&scr_conforcewhiledisconnected, 0);
-
scr_initialized = true;
}
dq->scalex = 0;
dq->scaley = 0;
p = (void *)(dq + 1);
- m = p;(qbyte *)p += sizeof(drawqueuemesh_t);
+ m = p;p = (qbyte*)p + sizeof(drawqueuemesh_t);
m->num_triangles = mesh->num_triangles;
m->num_vertices = mesh->num_vertices;
m->texture = mesh->texture;
- m->data_element3i = p;memcpy(m->data_element3i , mesh->data_element3i , m->num_triangles * sizeof(int[3]));(qbyte *)p += m->num_triangles * sizeof(int[3]);
- m->data_vertex3f = p;memcpy(m->data_vertex3f , mesh->data_vertex3f , m->num_vertices * sizeof(float[3]));(qbyte *)p += m->num_vertices * sizeof(float[3]);
- m->data_texcoord2f = p;memcpy(m->data_texcoord2f, mesh->data_texcoord2f, m->num_vertices * sizeof(float[2]));(qbyte *)p += m->num_vertices * sizeof(float[2]);
- m->data_color4f = p;memcpy(m->data_color4f , mesh->data_color4f , m->num_vertices * sizeof(float[4]));(qbyte *)p += m->num_vertices * sizeof(float[4]);
+ m->data_element3i = p;memcpy(m->data_element3i , mesh->data_element3i , m->num_triangles * sizeof(int[3]));p = (qbyte*)p + m->num_triangles * sizeof(int[3]);
+ m->data_vertex3f = p;memcpy(m->data_vertex3f , mesh->data_vertex3f , m->num_vertices * sizeof(float[3]));p = (qbyte*)p + m->num_vertices * sizeof(float[3]);
+ m->data_texcoord2f = p;memcpy(m->data_texcoord2f, mesh->data_texcoord2f, m->num_vertices * sizeof(float[2]));p = (qbyte*)p + m->num_vertices * sizeof(float[2]);
+ m->data_color4f = p;memcpy(m->data_color4f , mesh->data_color4f , m->num_vertices * sizeof(float[4]));p = (qbyte*)p + m->num_vertices * sizeof(float[4]);
r_refdef.drawqueuesize += dq->size;
}
drawqueue_t * dq;
if(r_refdef.drawqueuesize + (int)sizeof(*dq) > r_refdef.maxdrawqueuesize)
{
- Con_DPrintf("DrawQueue full !\n");
+ Con_DPrint("DrawQueue full !\n");
return;
}
dq = (void*) (r_refdef.drawqueue + r_refdef.drawqueuesize);
drawqueue_t *dq;
if(r_refdef.drawqueuesize + (int)sizeof(*dq) > r_refdef.maxdrawqueuesize)
{
- Con_DPrintf("DrawQueue full !\n");
+ Con_DPrint("DrawQueue full !\n");
return;
}
dq = (void*) (r_refdef.drawqueue + r_refdef.drawqueuesize);
*/
void SCR_ScreenShot_f (void)
{
- static int shotnumber = 0;
- const char *base;
- char filename[64];
+ int shotnumber;
+ char base[MAX_QPATH];
+ char filename[MAX_QPATH];
qboolean jpeg = (scr_screenshot_jpeg.integer != 0);
- base = "screenshots/dp";
- if (gamemode == GAME_FNIGGIUM)
- base = "screenshots/fniggium";
+ sprintf (base, "screenshots/%s", scr_screenshot_name.string);
// find a file name to save it to
- for (;shotnumber < 1000000;shotnumber++)
+ for (shotnumber=0;shotnumber < 1000000;shotnumber++)
if (!FS_SysFileExists(va("%s/%s%06d.tga", fs_gamedir, base, shotnumber)) && !FS_SysFileExists(va("%s/%s%06d.jpg", fs_gamedir, base, shotnumber)))
break;
if (shotnumber >= 1000000)
{
- Con_Printf("SCR_ScreenShot_f: Couldn't create the image file\n");
+ Con_Print("SCR_ScreenShot_f: Couldn't create the image file\n");
return;
}
else
sprintf(filename, "%s%06d.tga", base, shotnumber);
- if (SCR_ScreenShot(filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, jpeg))
+ if (SCR_ScreenShot(filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, false, false, false, jpeg))
Con_Printf("Wrote %s\n", filename);
else
Con_Printf("unable to write %s\n", filename);
else
sprintf(filename, "video/dp%06d.tga", cl_avidemo_frame);
- if (SCR_ScreenShot(filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, jpeg))
+ if (SCR_ScreenShot(filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, false, false, false, jpeg))
cl_avidemo_frame++;
else
{
{
float angles[3];
char *name;
+ qboolean flipx, flipy;
}
envmapinfo[6] =
{
- {{ 0, 0, 0}, "ft"},
- {{ 0, 90, 0}, "rt"},
- {{ 0, 180, 0}, "bk"},
- {{ 0, 270, 0}, "lf"},
- {{-90, 90, 0}, "up"},
- {{ 90, 90, 0}, "dn"}
+ {{ 0, 0, 0}, "rt", true, false},
+ {{ 0, 90, 0}, "ft", true, false},
+ {{ 0, 180, 0}, "lf", true, false},
+ {{ 0, 270, 0}, "bk", true, false},
+ {{-90, 180, 0}, "up", false, true},
+ {{ 90, 180, 0}, "dn", false, true}
};
static void R_Envmap_f (void)
if (Cmd_Argc() != 3)
{
- Con_Printf ("envmap <basename> <size>: save out 6 cubic environment map images, usable with loadsky, note that size must one of 128, 256, 512, or 1024 and can't be bigger than your current resolution\n");
+ Con_Print("envmap <basename> <size>: save out 6 cubic environment map images, usable with loadsky, note that size must one of 128, 256, 512, or 1024 and can't be bigger than your current resolution\n");
return;
}
size = atoi(Cmd_Argv(2));
if (size != 128 && size != 256 && size != 512 && size != 1024)
{
- Con_Printf("envmap: size must be one of 128, 256, 512, or 1024\n");
+ Con_Print("envmap: size must be one of 128, 256, 512, or 1024\n");
return;
}
if (size > vid.realwidth || size > vid.realheight)
{
- Con_Printf("envmap: your resolution is not big enough to render that size\n");
+ Con_Print("envmap: your resolution is not big enough to render that size\n");
return;
}
sprintf(filename, "env/%s%s.tga", basename, envmapinfo[j].name);
Matrix4x4_CreateFromQuakeEntity(&r_refdef.viewentitymatrix, r_vieworigin[0], r_vieworigin[1], r_vieworigin[2], envmapinfo[j].angles[0], envmapinfo[j].angles[1], envmapinfo[j].angles[2], 1);
R_ClearScreen();
+ R_Mesh_Start();
R_RenderView();
- SCR_ScreenShot(filename, vid.realx, vid.realy + vid.realheight - (r_refdef.y + r_refdef.height), size, size, false);
+ R_Mesh_Finish();
+ SCR_ScreenShot(filename, vid.realx, vid.realy + vid.realheight - (r_refdef.y + r_refdef.height), size, size, envmapinfo[j].flipx, envmapinfo[j].flipy, false, false);
}
envmap = false;
{
SHOWLMP_clear();
}
-