cvar_t scr_printspeed = {0, "scr_printspeed","8"};
cvar_t vid_conwidth = {CVAR_SAVE, "vid_conwidth", "640"};
cvar_t vid_conheight = {CVAR_SAVE, "vid_conheight", "480"};
+cvar_t vid_pixelaspect = {CVAR_SAVE, "vid_pixelaspect", "1"};
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"};
+cvar_t r_textshadow = {0, "r_textshadow", "0"};
int jpeg_supported = false;
int clearconsole;
int clearnotify;
+extern int con_vislines;
+
qboolean scr_drawloading = false;
void DrawCrosshair(int num);
}
else
{
+ con_vislines = 0;
if (key_dest == key_game || key_dest == key_message)
Con_DrawNotify (); // only draw notify in game
}
Cvar_RegisterVariable (&scr_printspeed);
Cvar_RegisterVariable (&vid_conwidth);
Cvar_RegisterVariable (&vid_conheight);
+ Cvar_RegisterVariable (&vid_pixelaspect);
Cvar_RegisterVariable (&scr_screenshot_jpeg);
Cvar_RegisterVariable (&scr_screenshot_jpeg_quality);
Cvar_RegisterVariable (&cl_avidemo);
+ Cvar_RegisterVariable (&r_textshadow);
Cmd_AddCommand ("sizeup",SCR_SizeUp_f);
Cmd_AddCommand ("sizedown",SCR_SizeDown_f);
DrawQ_SuperPic(x,y,picname,width,height,0,0,red,green,blue,alpha,1,0,red,green,blue,alpha,0,1,red,green,blue,alpha,1,1,red,green,blue,alpha,flags);
}
-void DrawQ_String(float x, float y, const char *string, int maxlen, float scalex, float scaley, float red, float green, float blue, float alpha, int flags)
+void DrawQ_String_Real(float x, float y, const char *string, int maxlen, float scalex, float scaley, float red, float green, float blue, float alpha, int flags)
{
int size, len;
drawqueue_t *dq;
r_refdef.drawqueuesize += dq->size;
}
+void DrawQ_String(float x, float y, const char *string, int maxlen, float scalex, float scaley, float red, float green, float blue, float alpha, int flags)
+{
+ if (r_textshadow.integer)
+ DrawQ_String_Real(x+scalex*0.25,y+scaley*0.25,string,maxlen,scalex,scaley,0,0,0,alpha*0.8,flags);
+
+ DrawQ_String_Real(x,y,string,maxlen,scalex,scaley,red,green,blue,alpha,flags);
+}
+
void DrawQ_Fill (float x, float y, float w, float h, float red, float green, float blue, float alpha, int flags)
{
DrawQ_SuperPic(x,y,NULL,w,h,0,0,red,green,blue,alpha,1,0,red,green,blue,alpha,0,1,red,green,blue,alpha,1,1,red,green,blue,alpha,flags);
char filename[MAX_QPATH];
qbyte *buffer1;
qbyte *buffer2;
+ qbyte *buffer3;
qboolean jpeg = (scr_screenshot_jpeg.integer != 0);
sprintf (base, "screenshots/%s", scr_screenshot_name.string);
return;
}
- if (jpeg)
- sprintf(filename, "%s%06d.jpg", base, shotnumber);
- else
- sprintf(filename, "%s%06d.tga", base, shotnumber);
+ sprintf(filename, "%s%06d.%s", base, shotnumber, jpeg ? "jpg" : "tga");
buffer1 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3);
buffer2 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3);
+ buffer3 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3 + 18);
- if (SCR_ScreenShot (filename, buffer1, buffer2, vid.realx, vid.realy, vid.realwidth, vid.realheight, false, false, false, jpeg))
+ if (SCR_ScreenShot (filename, buffer1, buffer2, buffer3, 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);
Mem_Free (buffer1);
Mem_Free (buffer2);
+ Mem_Free (buffer3);
shotnumber++;
}
{
static qbyte *avi_buffer1 = NULL;
static qbyte *avi_buffer2 = NULL;
+ static qbyte *avi_buffer3 = NULL;
char filename[32];
qboolean jpeg = (scr_screenshot_jpeg.integer != 0);
- if (cl_avidemo.integer)
- {
- if (avi_buffer1 == NULL)
- {
- avi_buffer1 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3);
- avi_buffer2 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3);
- }
- }
- else
+ if (!cl_avidemo.integer)
{
if (avi_buffer1 != NULL)
{
Mem_Free (avi_buffer1);
Mem_Free (avi_buffer2);
+ Mem_Free (avi_buffer3);
avi_buffer1 = NULL;
avi_buffer2 = NULL;
+ avi_buffer3 = NULL;
}
cl_avidemo_frame = 0;
return;
}
- if (jpeg)
- sprintf(filename, "video/dp%06d.jpg", cl_avidemo_frame);
- else
- sprintf(filename, "video/dp%06d.tga", cl_avidemo_frame);
+ if (avi_buffer1 == NULL)
+ {
+ avi_buffer1 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3);
+ avi_buffer2 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3);
+ avi_buffer3 = Mem_Alloc(tempmempool, vid.realwidth * vid.realheight * 3 + 18);
+ }
+
+ sprintf(filename, "video/dp%06d.%s", cl_avidemo_frame, jpeg ? "jpg" : "tga");
- if (SCR_ScreenShot(filename, avi_buffer1, avi_buffer2, vid.realx, vid.realy, vid.realwidth, vid.realheight, false, false, false, jpeg))
+ if (SCR_ScreenShot(filename, avi_buffer1, avi_buffer2, avi_buffer3, vid.realx, vid.realy, vid.realwidth, vid.realheight, false, false, false, jpeg))
cl_avidemo_frame++;
else
{
char filename[256], basename[256];
qbyte *buffer1;
qbyte *buffer2;
+ qbyte *buffer3;
if (Cmd_Argc() != 3)
{
buffer1 = Mem_Alloc(tempmempool, size * size * 3);
buffer2 = Mem_Alloc(tempmempool, size * size * 3);
+ buffer3 = Mem_Alloc(tempmempool, size * size * 3 + 18);
for (j = 0;j < 12;j++)
{
R_Mesh_Start();
R_RenderView();
R_Mesh_Finish();
- SCR_ScreenShot(filename, buffer1, buffer2, vid.realx, vid.realy + vid.realheight - (r_refdef.y + r_refdef.height), size, size, envmapinfo[j].flipx, envmapinfo[j].flipy, envmapinfo[j].flipdiagonaly, false);
+ SCR_ScreenShot(filename, buffer1, buffer2, buffer3, vid.realx, vid.realy + vid.realheight - (r_refdef.y + r_refdef.height), size, size, envmapinfo[j].flipx, envmapinfo[j].flipy, envmapinfo[j].flipdiagonaly, false);
}
Mem_Free (buffer1);
Mem_Free (buffer2);
+ Mem_Free (buffer3);
envmap = false;
}