From 176db0d8c03f85c51f9afdb7f8478ad89cb91aa8 Mon Sep 17 00:00:00 2001
From: havoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Date: Tue, 21 Mar 2006 09:56:14 +0000
Subject: [PATCH] changed all Draw_CachePic calls to precache the pic except
 for two calls in the menu qc vm

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6161 d7cf8633-e32d-0410-b094-e92efae38249
---
 cl_screen.c |   8 +-
 cl_video.c  |   6 +-
 console.c   |   2 +-
 gl_draw.c   |   2 +-
 menu.c      |  52 +++++-----
 prvm_cmds.c |   4 +-
 sbar.c      | 272 ++++++++++++++++++++++++++--------------------------
 7 files changed, 173 insertions(+), 173 deletions(-)

diff --git a/cl_screen.c b/cl_screen.c
index dde64f3c..57c3e260 100644
--- a/cl_screen.c
+++ b/cl_screen.c
@@ -196,7 +196,7 @@ void SCR_DrawTurtle (void)
 	if (count < 3)
 		return;
 
-	DrawQ_Pic (0, 0, Draw_CachePic("gfx/turtle", false), 0, 0, 1, 1, 1, 1, 0);
+	DrawQ_Pic (0, 0, Draw_CachePic("gfx/turtle", true), 0, 0, 1, 1, 1, 1, 0);
 }
 
 /*
@@ -213,7 +213,7 @@ void SCR_DrawNet (void)
 	if (cls.demoplayback)
 		return;
 
-	DrawQ_Pic (64, 0, Draw_CachePic("gfx/net", false), 0, 0, 1, 1, 1, 1, 0);
+	DrawQ_Pic (64, 0, Draw_CachePic("gfx/net", true), 0, 0, 1, 1, 1, 1, 0);
 }
 
 /*
@@ -1077,7 +1077,7 @@ void SHOWLMP_drawall(void)
 	int i;
 	for (i = 0;i < SHOWLMP_MAXLABELS;i++)
 		if (showlmp[i].isactive)
-			DrawQ_Pic(showlmp[i].x, showlmp[i].y, Draw_CachePic(showlmp[i].pic, false), 0, 0, 1, 1, 1, 1, 0);
+			DrawQ_Pic(showlmp[i].x, showlmp[i].y, Draw_CachePic(showlmp[i].pic, true), 0, 0, 1, 1, 1, 1, 0);
 }
 
 void SHOWLMP_clear(void)
@@ -1312,7 +1312,7 @@ void SCR_UpdateLoadingScreen (void)
 	R_Mesh_Start();
 	R_Mesh_Matrix(&identitymatrix);
 	// draw the loading plaque
-	pic = Draw_CachePic("gfx/loading", false);
+	pic = Draw_CachePic("gfx/loading", true);
 	x = (vid_conwidth.integer - pic->width)/2;
 	y = (vid_conheight.integer - pic->height)/2;
 	GL_Color(1,1,1,1);
diff --git a/cl_video.c b/cl_video.c
index 5f56b889..fabce36c 100644
--- a/cl_video.c
+++ b/cl_video.c
@@ -62,7 +62,7 @@ static qboolean WakeVideo( clvideo_t * video )
 
 	video->imagedata = Mem_Alloc( cls.permanentmempool, video->cpif.width * video->cpif.height * cl_videobytesperpixel );
 	video->cpif.tex = R_LoadTexture2D( cl_videotexturepool, video->cpif.name,
-		video->cpif.width, video->cpif.height, NULL, TEXTYPE_RGBA, 0, NULL );
+		video->cpif.width, video->cpif.height, NULL, TEXTYPE_RGBA, TEXF_ALWAYSPRECACHE, NULL );
 
 	// update starttime
 	video->starttime += realtime - video->lasttime;
@@ -89,7 +89,7 @@ static clvideo_t* OpenVideo( clvideo_t *video, const char *filename, const char
 	video->cpif.width = dpvsimpledecode_getwidth( video->stream );
 	video->cpif.height = dpvsimpledecode_getheight( video->stream );
 	video->cpif.tex = R_LoadTexture2D( cl_videotexturepool, video->cpif.name,
-		video->cpif.width, video->cpif.height, NULL, TEXTYPE_RGBA, 0, NULL );
+		video->cpif.width, video->cpif.height, NULL, TEXTYPE_RGBA, TEXF_ALWAYSPRECACHE, NULL );
 
     video->imagedata = Mem_Alloc( cls.permanentmempool, video->cpif.width * video->cpif.height * cl_videobytesperpixel );
 
@@ -314,7 +314,7 @@ static void cl_video_start( void )
 	for( video = cl_videos, i = 0 ; i < cl_num_videos ; i++, video++ )
 		if( video->state != CLVIDEO_UNUSED && !video->suspended )
 			video->cpif.tex = R_LoadTexture2D( cl_videotexturepool, video->cpif.name,
-				video->cpif.width, video->cpif.height, NULL, TEXTYPE_RGBA, 0, NULL );
+				video->cpif.width, video->cpif.height, NULL, TEXTYPE_RGBA, TEXF_ALWAYSPRECACHE, NULL );
 }
 
 static void cl_video_shutdown( void )
diff --git a/console.c b/console.c
index 9c92e816..d72e24bf 100644
--- a/console.c
+++ b/console.c
@@ -841,7 +841,7 @@ void Con_DrawConsole (int lines)
 		return;
 
 // draw the background
-	DrawQ_Pic(0, lines - vid_conheight.integer, scr_conbrightness.value >= 0.01f ? Draw_CachePic("gfx/conback", false) : NULL, vid_conwidth.integer, vid_conheight.integer, scr_conbrightness.value, scr_conbrightness.value, scr_conbrightness.value, scr_conalpha.value, 0);
+	DrawQ_Pic(0, lines - vid_conheight.integer, scr_conbrightness.value >= 0.01f ? Draw_CachePic("gfx/conback", true) : NULL, vid_conwidth.integer, vid_conheight.integer, scr_conbrightness.value, scr_conbrightness.value, scr_conbrightness.value, scr_conalpha.value, 0);
 	DrawQ_String(vid_conwidth.integer - strlen(engineversion) * con_textsize.value - con_textsize.value, lines - con_textsize.value, engineversion, 0, con_textsize.value, con_textsize.value, 1, 0, 0, 1, 0);
 
 // draw the text
diff --git a/gl_draw.c b/gl_draw.c
index 66a5cd19..a4d4425e 100644
--- a/gl_draw.c
+++ b/gl_draw.c
@@ -470,7 +470,7 @@ static void gl_draw_start(void)
 
 	char_texture = Draw_CachePic("gfx/conchars", true)->tex;
 	for (i = 1;i <= NUMCROSSHAIRS;i++)
-		r_crosshairs[i] = Draw_CachePic(va("gfx/crosshair%i", i), false);
+		r_crosshairs[i] = Draw_CachePic(va("gfx/crosshair%i", i), true);
 }
 
 static void gl_draw_shutdown(void)
diff --git a/menu.c b/menu.c
index cfa3bf38..4467e666 100644
--- a/menu.c
+++ b/menu.c
@@ -209,7 +209,7 @@ static void M_ItemPrint(float cx, float cy, const char *str, int unghosted)
 
 static void M_DrawPic(float cx, float cy, const char *picname)
 {
-	DrawQ_Pic(menu_x + cx, menu_y + cy, Draw_CachePic(picname, false), 0, 0, 1, 1, 1, 1, 0);
+	DrawQ_Pic(menu_x + cx, menu_y + cy, Draw_CachePic(picname, true), 0, 0, 1, 1, 1, 1, 0);
 }
 
 static unsigned char identityTable[256];
@@ -420,7 +420,7 @@ static void M_Main_Draw (void)
 	if (gamemode == GAME_TRANSFUSION) {
 		int y1, y2, y3;
 		M_Background(640, 480);
-		p = Draw_CachePic ("gfx/menu/tb-transfusion", false);
+		p = Draw_CachePic ("gfx/menu/tb-transfusion", true);
 		M_DrawPic (640/2 - p->width/2, 40, "gfx/menu/tb-transfusion");
 		y2 = 120;
 		// 8 rather than MAIN_ITEMS to skip a number and not miss the last option
@@ -452,7 +452,7 @@ static void M_Main_Draw (void)
 	}
 	M_Background(320, 200);
 	M_DrawPic (16, 4, "gfx/qplaque");
-	p = Draw_CachePic ("gfx/ttl_main", false);
+	p = Draw_CachePic ("gfx/ttl_main", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/ttl_main");
 // Nehahra
 	if (gamemode == GAME_NEHAHRA)
@@ -753,7 +753,7 @@ static void M_SinglePlayer_Draw (void)
 	M_Background(320, 200);
 
 	M_DrawPic (16, 4, "gfx/qplaque");
-	p = Draw_CachePic ("gfx/ttl_sgl", false);
+	p = Draw_CachePic ("gfx/ttl_sgl", true);
 
 	// Some mods don't have a single player mode
 	if (gamemode == GAME_GOODVSBAD2 || gamemode == GAME_BATTLEMECH)
@@ -917,7 +917,7 @@ static void M_Load_Draw (void)
 
 	M_Background(320, 200);
 
-	p = Draw_CachePic ("gfx/p_load", false);
+	p = Draw_CachePic ("gfx/p_load", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/p_load" );
 
 	for (i=0 ; i< MAX_SAVEGAMES; i++)
@@ -935,7 +935,7 @@ static void M_Save_Draw (void)
 
 	M_Background(320, 200);
 
-	p = Draw_CachePic ("gfx/p_save", false);
+	p = Draw_CachePic ("gfx/p_save", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/p_save");
 
 	for (i=0 ; i<MAX_SAVEGAMES ; i++)
@@ -1041,7 +1041,7 @@ static void M_Transfusion_Episode_Draw (void)
 	cachepic_t *p;
 	M_Background(640, 480);
 
-	p = Draw_CachePic ("gfx/menu/tb-episodes", false);
+	p = Draw_CachePic ("gfx/menu/tb-episodes", true);
 	M_DrawPic (640/2 - p->width/2, 40, "gfx/menu/tb-episodes");
 	for (y = 0; y < EPISODE_ITEMS; y++){
 		M_DrawPic (0, 160 + y * 40, va("gfx/menu/episode%i", y+1));
@@ -1098,7 +1098,7 @@ static void M_Transfusion_Skill_Draw (void)
 	cachepic_t	*p;
 	M_Background(640, 480);
 
-	p = Draw_CachePic ("gfx/menu/tb-difficulty", false);
+	p = Draw_CachePic ("gfx/menu/tb-difficulty", true);
 	M_DrawPic(640/2 - p->width/2, 40, "gfx/menu/tb-difficulty");
 
 	for (y = 0; y < SKILL_ITEMS; y++)
@@ -1202,7 +1202,7 @@ static void M_MultiPlayer_Draw (void)
 	if (gamemode == GAME_TRANSFUSION)
 	{
 		M_Background(640, 480);
-		p = Draw_CachePic ("gfx/menu/tb-online", false);
+		p = Draw_CachePic ("gfx/menu/tb-online", true);
 		M_DrawPic (640/2 - p->width/2, 140, "gfx/menu/tb-online");
 		for (f = 1; f <= MULTIPLAYER_ITEMS; f++)
 			M_DrawPic (0, 180 + f*40, va("gfx/menu/online%i", f));
@@ -1212,7 +1212,7 @@ static void M_MultiPlayer_Draw (void)
 	M_Background(320, 200);
 
 	M_DrawPic (16, 4, "gfx/qplaque");
-	p = Draw_CachePic ("gfx/p_multi", false);
+	p = Draw_CachePic ("gfx/p_multi", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/p_multi");
 	M_DrawPic (72, 32, "gfx/mp_menu");
 
@@ -1330,7 +1330,7 @@ static void M_Setup_Draw (void)
 	M_Background(320, 200);
 
 	M_DrawPic (16, 4, "gfx/qplaque");
-	p = Draw_CachePic ("gfx/p_multi", false);
+	p = Draw_CachePic ("gfx/p_multi", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/p_multi");
 
 	M_Print(64, 40, "Your name");
@@ -1681,7 +1681,7 @@ static void M_Options_Draw (void)
 	M_Background(320, bound(200, 32 + OPTIONS_ITEMS * 8, vid_conheight.integer));
 
 	M_DrawPic(16, 4, "gfx/qplaque");
-	p = Draw_CachePic("gfx/p_option", false);
+	p = Draw_CachePic("gfx/p_option", true);
 	M_DrawPic((320-p->width)/2, 4, "gfx/p_option");
 
 	optnum = 0;
@@ -1876,7 +1876,7 @@ static void M_Options_Effects_Draw (void)
 	M_Background(320, bound(200, 32 + OPTIONS_EFFECTS_ITEMS * 8, vid_conheight.integer));
 
 	M_DrawPic(16, 4, "gfx/qplaque");
-	p = Draw_CachePic("gfx/p_option", false);
+	p = Draw_CachePic("gfx/p_option", true);
 	M_DrawPic((320-p->width)/2, 4, "gfx/p_option");
 
 	optcursor = options_effects_cursor;
@@ -2016,7 +2016,7 @@ static void M_Options_Graphics_Draw (void)
 	M_Background(320, bound(200, 32 + OPTIONS_GRAPHICS_ITEMS * 8, vid_conheight.integer));
 
 	M_DrawPic(16, 4, "gfx/qplaque");
-	p = Draw_CachePic("gfx/p_option", false);
+	p = Draw_CachePic("gfx/p_option", true);
 	M_DrawPic((320-p->width)/2, 4, "gfx/p_option");
 
 	optcursor = options_graphics_cursor;
@@ -2198,12 +2198,12 @@ static void M_Options_ColorControl_Draw (void)
 	float x, c, s, t, u, v;
 	cachepic_t	*p, *dither;
 
-	dither = Draw_CachePic("gfx/colorcontrol/ditherpattern", false);
+	dither = Draw_CachePic("gfx/colorcontrol/ditherpattern", true);
 
 	M_Background(320, 256);
 
 	M_DrawPic(16, 4, "gfx/qplaque");
-	p = Draw_CachePic("gfx/p_option", false);
+	p = Draw_CachePic("gfx/p_option", true);
 	M_DrawPic((320-p->width)/2, 4, "gfx/p_option");
 
 	optcursor = options_colorcontrol_cursor;
@@ -2591,7 +2591,7 @@ static void M_Keys_Draw (void)
 
 	M_Background(320, 48 + 8 * numcommands);
 
-	p = Draw_CachePic ("gfx/ttl_cstm", false);
+	p = Draw_CachePic ("gfx/ttl_cstm", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/ttl_cstm");
 
 	if (bind_grab)
@@ -2877,7 +2877,7 @@ static void M_Video_Draw (void)
 	M_Background(320, 200);
 
 	M_DrawPic(16, 4, "gfx/qplaque");
-	p = Draw_CachePic("gfx/vidmodes", false);
+	p = Draw_CachePic("gfx/vidmodes", true);
 	M_DrawPic((320-p->width)/2, 4, "gfx/vidmodes");
 
 	// Current Resolution
@@ -3282,7 +3282,7 @@ static void M_LanConfig_Draw (void)
 	M_Background(320, 200);
 
 	M_DrawPic (16, 4, "gfx/qplaque");
-	p = Draw_CachePic ("gfx/p_multi", false);
+	p = Draw_CachePic ("gfx/p_multi", true);
 	basex = (320-p->width)/2;
 	M_DrawPic (basex, 4, "gfx/p_multi");
 
@@ -3892,7 +3892,7 @@ void M_GameOptions_Draw (void)
 	M_Background(320, 200);
 
 	M_DrawPic (16, 4, "gfx/qplaque");
-	p = Draw_CachePic ("gfx/p_multi", false);
+	p = Draw_CachePic ("gfx/p_multi", true);
 	M_DrawPic ( (320-p->width)/2, 4, "gfx/p_multi");
 
 	M_DrawTextBox (152, 32, 10, 1);
@@ -4339,7 +4339,7 @@ static void M_ServerList_Draw (void)
 	start = bound(0, slist_cursor - (visible >> 1), serverlist_viewcount - visible);
 	end = min(start + visible, serverlist_viewcount);
 
-	p = Draw_CachePic("gfx/p_multi", false);
+	p = Draw_CachePic("gfx/p_multi", true);
 	M_DrawPic((640 - p->width) / 2, 4, "gfx/p_multi");
 	if (end > start)
 	{
@@ -4612,10 +4612,10 @@ void M_Draw (void)
 			g = (int)(realtime * 64)%96;
 			scale_y_rate = (float)(g+1) / 96;
 			top_offset = (g+12)/12;
-			p = Draw_CachePic (va("gfx/menu/blooddrip%i", top_offset), false);
-			drop1 = Draw_CachePic("gfx/menu/blooddrop1", false);
-			drop2 = Draw_CachePic("gfx/menu/blooddrop2", false);
-			drop3 = Draw_CachePic("gfx/menu/blooddrop3", false);
+			p = Draw_CachePic (va("gfx/menu/blooddrip%i", top_offset), true);
+			drop1 = Draw_CachePic("gfx/menu/blooddrop1", true);
+			drop2 = Draw_CachePic("gfx/menu/blooddrop2", true);
+			drop3 = Draw_CachePic("gfx/menu/blooddrop3", true);
 			for (scale_x = 0; scale_x <= vid_conwidth.integer; scale_x += p->width) {
 				for (scale_y = -scale_y_repeat; scale_y <= vid_conheight.integer; scale_y += scale_y_repeat) {
 					DrawQ_Pic (scale_x + 21, scale_y_repeat * .5 + scale_y + scale_y_rate * scale_y_repeat, drop3, 0, 0, 1, 1, 1, 1, 0);
@@ -4630,7 +4630,7 @@ void M_Draw (void)
 					DrawQ_Pic (scale_x + 557, scale_y_repeat * .9425 + scale_y + scale_y_rate * scale_y_repeat, drop1, 0, 0, 1, 1, 1, 1, 0);
 					DrawQ_Pic (scale_x + 606, scale_y_repeat * .5 + scale_y + scale_y_rate * scale_y_repeat, drop2, 0, 0, 1, 1, 1, 1, 0);
 				}
-				DrawQ_Pic (scale_x, -1, Draw_CachePic(va("gfx/menu/blooddrip%i", top_offset), false), 0, 0, 1, 1, 1, 1, 0);
+				DrawQ_Pic (scale_x, -1, Draw_CachePic(va("gfx/menu/blooddrip%i", top_offset), true), 0, 0, 1, 1, 1, 1, 0);
 			}
 		}
 	}
diff --git a/prvm_cmds.c b/prvm_cmds.c
index 8f0a3fd9..4fe245f2 100644
--- a/prvm_cmds.c
+++ b/prvm_cmds.c
@@ -2522,7 +2522,7 @@ void VM_drawpic(void)
 	if(pos[2] || size[2])
 		Con_Printf("VM_drawstring: z value%c from %s discarded\n",(pos[2] && size[2]) ? 's' : 0,((pos[2] && size[2]) ? "pos and size" : (pos[2] ? "pos" : "size")));
 
-	DrawQ_Pic(pos[0], pos[1], Draw_CachePic(picname, false), size[0], size[1], rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag);
+	DrawQ_Pic(pos[0], pos[1], Draw_CachePic(picname, true), size[0], size[1], rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag);
 	PRVM_G_FLOAT(OFS_RETURN) = 1;
 }
 
@@ -2972,7 +2972,7 @@ void VM_R_PolygonBegin (void)
 	p = &vm_polygons[vm_drawpolygons_num];
 	picname = PRVM_G_STRING(OFS_PARM0);
 	if(picname[0])
-		p->tex = Draw_CachePic(picname, false)->tex;
+		p->tex = Draw_CachePic(picname, true)->tex;
 	else
 		p->tex = r_texture_notexture;
 	p->flags = (unsigned char)PRVM_G_FLOAT(OFS_PARM1);
diff --git a/sbar.c b/sbar.c
index 486eb15a..b95f6fb5 100644
--- a/sbar.c
+++ b/sbar.c
@@ -132,187 +132,187 @@ void sbar_start(void)
 	}
 	else if (gamemode == GAME_SOM)
 	{
-		sb_disc = Draw_CachePic("gfx/disc", false);
+		sb_disc = Draw_CachePic("gfx/disc", true);
 
 		for (i = 0;i < 10;i++)
-			sb_nums[0][i] = Draw_CachePic (va("gfx/num_%i",i), false);
-
-		somsb_health = Draw_CachePic("gfx/hud_health", false);
-		somsb_ammo[0] = Draw_CachePic("gfx/sb_shells", false);
-		somsb_ammo[1] = Draw_CachePic("gfx/sb_nails", false);
-		somsb_ammo[2] = Draw_CachePic("gfx/sb_rocket", false);
-		somsb_ammo[3] = Draw_CachePic("gfx/sb_cells", false);
-		somsb_armor[0] = Draw_CachePic("gfx/sb_armor1", false);
-		somsb_armor[1] = Draw_CachePic("gfx/sb_armor2", false);
-		somsb_armor[2] = Draw_CachePic("gfx/sb_armor3", false);
+			sb_nums[0][i] = Draw_CachePic (va("gfx/num_%i",i), true);
+
+		somsb_health = Draw_CachePic("gfx/hud_health", true);
+		somsb_ammo[0] = Draw_CachePic("gfx/sb_shells", true);
+		somsb_ammo[1] = Draw_CachePic("gfx/sb_nails", true);
+		somsb_ammo[2] = Draw_CachePic("gfx/sb_rocket", true);
+		somsb_ammo[3] = Draw_CachePic("gfx/sb_cells", true);
+		somsb_armor[0] = Draw_CachePic("gfx/sb_armor1", true);
+		somsb_armor[1] = Draw_CachePic("gfx/sb_armor2", true);
+		somsb_armor[2] = Draw_CachePic("gfx/sb_armor3", true);
 	}
 	else if (gamemode == GAME_NEXUIZ)
 	{
 		for (i = 0;i < 10;i++)
-			sb_nums[0][i] = Draw_CachePic (va("gfx/num_%i",i), false);
-		sb_nums[0][10] = Draw_CachePic ("gfx/num_minus", false);
+			sb_nums[0][i] = Draw_CachePic (va("gfx/num_%i",i), true);
+		sb_nums[0][10] = Draw_CachePic ("gfx/num_minus", true);
 
-		sb_ammo[0] = Draw_CachePic ("gfx/sb_shells", false);
-		sb_ammo[1] = Draw_CachePic ("gfx/sb_bullets", false);
-		sb_ammo[2] = Draw_CachePic ("gfx/sb_rocket", false);
-		sb_ammo[3] = Draw_CachePic ("gfx/sb_cells", false);
+		sb_ammo[0] = Draw_CachePic ("gfx/sb_shells", true);
+		sb_ammo[1] = Draw_CachePic ("gfx/sb_bullets", true);
+		sb_ammo[2] = Draw_CachePic ("gfx/sb_rocket", true);
+		sb_ammo[3] = Draw_CachePic ("gfx/sb_cells", true);
 
-		sb_items[2] = Draw_CachePic ("gfx/sb_slowmo", false);
-		sb_items[3] = Draw_CachePic ("gfx/sb_invinc", false);
-		sb_items[4] = Draw_CachePic ("gfx/sb_energy", false);
-		sb_items[5] = Draw_CachePic ("gfx/sb_str", false);
+		sb_items[2] = Draw_CachePic ("gfx/sb_slowmo", true);
+		sb_items[3] = Draw_CachePic ("gfx/sb_invinc", true);
+		sb_items[4] = Draw_CachePic ("gfx/sb_energy", true);
+		sb_items[5] = Draw_CachePic ("gfx/sb_str", true);
 
-		sb_sbar = Draw_CachePic("gfx/sbar", false);
-		sb_sbar_minimal = Draw_CachePic("gfx/sbar_minimal", false);
-		sb_sbar_overlay = Draw_CachePic("gfx/sbar_overlay", false);
+		sb_sbar = Draw_CachePic("gfx/sbar", true);
+		sb_sbar_minimal = Draw_CachePic("gfx/sbar_minimal", true);
+		sb_sbar_overlay = Draw_CachePic("gfx/sbar_overlay", true);
 
 		for(i = 0; i < 9;i++)
-			sb_weapons[0][i] = Draw_CachePic(va("gfx/inv_weapon%i",i), false);
+			sb_weapons[0][i] = Draw_CachePic(va("gfx/inv_weapon%i",i), true);
 	}
 	else if (gamemode == GAME_ZYMOTIC)
 	{
-		zymsb_crosshair_center = Draw_CachePic ("gfx/hud/crosshair_center", false);
-		zymsb_crosshair_line = Draw_CachePic ("gfx/hud/crosshair_line", false);
-		zymsb_crosshair_health = Draw_CachePic ("gfx/hud/crosshair_health", false);
-		zymsb_crosshair_clip = Draw_CachePic ("gfx/hud/crosshair_clip", false);
-		zymsb_crosshair_ammo = Draw_CachePic ("gfx/hud/crosshair_ammo", false);
-		zymsb_crosshair_background = Draw_CachePic ("gfx/hud/crosshair_background", false);
-		zymsb_crosshair_left1 = Draw_CachePic ("gfx/hud/crosshair_left1", false);
-		zymsb_crosshair_left2 = Draw_CachePic ("gfx/hud/crosshair_left2", false);
-		zymsb_crosshair_right = Draw_CachePic ("gfx/hud/crosshair_right", false);
+		zymsb_crosshair_center = Draw_CachePic ("gfx/hud/crosshair_center", true);
+		zymsb_crosshair_line = Draw_CachePic ("gfx/hud/crosshair_line", true);
+		zymsb_crosshair_health = Draw_CachePic ("gfx/hud/crosshair_health", true);
+		zymsb_crosshair_clip = Draw_CachePic ("gfx/hud/crosshair_clip", true);
+		zymsb_crosshair_ammo = Draw_CachePic ("gfx/hud/crosshair_ammo", true);
+		zymsb_crosshair_background = Draw_CachePic ("gfx/hud/crosshair_background", true);
+		zymsb_crosshair_left1 = Draw_CachePic ("gfx/hud/crosshair_left1", true);
+		zymsb_crosshair_left2 = Draw_CachePic ("gfx/hud/crosshair_left2", true);
+		zymsb_crosshair_right = Draw_CachePic ("gfx/hud/crosshair_right", true);
 	}
 	else
 	{
-		sb_disc = Draw_CachePic("gfx/disc", false);
+		sb_disc = Draw_CachePic("gfx/disc", true);
 
 		for (i = 0;i < 10;i++)
 		{
-			sb_nums[0][i] = Draw_CachePic (va("gfx/num_%i",i), false);
-			sb_nums[1][i] = Draw_CachePic (va("gfx/anum_%i",i), false);
+			sb_nums[0][i] = Draw_CachePic (va("gfx/num_%i",i), true);
+			sb_nums[1][i] = Draw_CachePic (va("gfx/anum_%i",i), true);
 		}
 
-		sb_nums[0][10] = Draw_CachePic ("gfx/num_minus", false);
-		sb_nums[1][10] = Draw_CachePic ("gfx/anum_minus", false);
+		sb_nums[0][10] = Draw_CachePic ("gfx/num_minus", true);
+		sb_nums[1][10] = Draw_CachePic ("gfx/anum_minus", true);
 
-		sb_colon = Draw_CachePic ("gfx/num_colon", false);
-		sb_slash = Draw_CachePic ("gfx/num_slash", false);
+		sb_colon = Draw_CachePic ("gfx/num_colon", true);
+		sb_slash = Draw_CachePic ("gfx/num_slash", true);
 
-		sb_weapons[0][0] = Draw_CachePic ("gfx/inv_shotgun", false);
-		sb_weapons[0][1] = Draw_CachePic ("gfx/inv_sshotgun", false);
-		sb_weapons[0][2] = Draw_CachePic ("gfx/inv_nailgun", false);
-		sb_weapons[0][3] = Draw_CachePic ("gfx/inv_snailgun", false);
-		sb_weapons[0][4] = Draw_CachePic ("gfx/inv_rlaunch", false);
-		sb_weapons[0][5] = Draw_CachePic ("gfx/inv_srlaunch", false);
-		sb_weapons[0][6] = Draw_CachePic ("gfx/inv_lightng", false);
+		sb_weapons[0][0] = Draw_CachePic ("gfx/inv_shotgun", true);
+		sb_weapons[0][1] = Draw_CachePic ("gfx/inv_sshotgun", true);
+		sb_weapons[0][2] = Draw_CachePic ("gfx/inv_nailgun", true);
+		sb_weapons[0][3] = Draw_CachePic ("gfx/inv_snailgun", true);
+		sb_weapons[0][4] = Draw_CachePic ("gfx/inv_rlaunch", true);
+		sb_weapons[0][5] = Draw_CachePic ("gfx/inv_srlaunch", true);
+		sb_weapons[0][6] = Draw_CachePic ("gfx/inv_lightng", true);
 
-		sb_weapons[1][0] = Draw_CachePic ("gfx/inv2_shotgun", false);
-		sb_weapons[1][1] = Draw_CachePic ("gfx/inv2_sshotgun", false);
-		sb_weapons[1][2] = Draw_CachePic ("gfx/inv2_nailgun", false);
-		sb_weapons[1][3] = Draw_CachePic ("gfx/inv2_snailgun", false);
-		sb_weapons[1][4] = Draw_CachePic ("gfx/inv2_rlaunch", false);
-		sb_weapons[1][5] = Draw_CachePic ("gfx/inv2_srlaunch", false);
-		sb_weapons[1][6] = Draw_CachePic ("gfx/inv2_lightng", false);
+		sb_weapons[1][0] = Draw_CachePic ("gfx/inv2_shotgun", true);
+		sb_weapons[1][1] = Draw_CachePic ("gfx/inv2_sshotgun", true);
+		sb_weapons[1][2] = Draw_CachePic ("gfx/inv2_nailgun", true);
+		sb_weapons[1][3] = Draw_CachePic ("gfx/inv2_snailgun", true);
+		sb_weapons[1][4] = Draw_CachePic ("gfx/inv2_rlaunch", true);
+		sb_weapons[1][5] = Draw_CachePic ("gfx/inv2_srlaunch", true);
+		sb_weapons[1][6] = Draw_CachePic ("gfx/inv2_lightng", true);
 
 		for (i = 0;i < 5;i++)
 		{
-			sb_weapons[2+i][0] = Draw_CachePic (va("gfx/inva%i_shotgun",i+1), false);
-			sb_weapons[2+i][1] = Draw_CachePic (va("gfx/inva%i_sshotgun",i+1), false);
-			sb_weapons[2+i][2] = Draw_CachePic (va("gfx/inva%i_nailgun",i+1), false);
-			sb_weapons[2+i][3] = Draw_CachePic (va("gfx/inva%i_snailgun",i+1), false);
-			sb_weapons[2+i][4] = Draw_CachePic (va("gfx/inva%i_rlaunch",i+1), false);
-			sb_weapons[2+i][5] = Draw_CachePic (va("gfx/inva%i_srlaunch",i+1), false);
-			sb_weapons[2+i][6] = Draw_CachePic (va("gfx/inva%i_lightng",i+1), false);
+			sb_weapons[2+i][0] = Draw_CachePic (va("gfx/inva%i_shotgun",i+1), true);
+			sb_weapons[2+i][1] = Draw_CachePic (va("gfx/inva%i_sshotgun",i+1), true);
+			sb_weapons[2+i][2] = Draw_CachePic (va("gfx/inva%i_nailgun",i+1), true);
+			sb_weapons[2+i][3] = Draw_CachePic (va("gfx/inva%i_snailgun",i+1), true);
+			sb_weapons[2+i][4] = Draw_CachePic (va("gfx/inva%i_rlaunch",i+1), true);
+			sb_weapons[2+i][5] = Draw_CachePic (va("gfx/inva%i_srlaunch",i+1), true);
+			sb_weapons[2+i][6] = Draw_CachePic (va("gfx/inva%i_lightng",i+1), true);
 		}
 
-		sb_ammo[0] = Draw_CachePic ("gfx/sb_shells", false);
-		sb_ammo[1] = Draw_CachePic ("gfx/sb_nails", false);
-		sb_ammo[2] = Draw_CachePic ("gfx/sb_rocket", false);
-		sb_ammo[3] = Draw_CachePic ("gfx/sb_cells", false);
-
-		sb_armor[0] = Draw_CachePic ("gfx/sb_armor1", false);
-		sb_armor[1] = Draw_CachePic ("gfx/sb_armor2", false);
-		sb_armor[2] = Draw_CachePic ("gfx/sb_armor3", false);
-
-		sb_items[0] = Draw_CachePic ("gfx/sb_key1", false);
-		sb_items[1] = Draw_CachePic ("gfx/sb_key2", false);
-		sb_items[2] = Draw_CachePic ("gfx/sb_invis", false);
-		sb_items[3] = Draw_CachePic ("gfx/sb_invuln", false);
-		sb_items[4] = Draw_CachePic ("gfx/sb_suit", false);
-		sb_items[5] = Draw_CachePic ("gfx/sb_quad", false);
-
-		sb_sigil[0] = Draw_CachePic ("gfx/sb_sigil1", false);
-		sb_sigil[1] = Draw_CachePic ("gfx/sb_sigil2", false);
-		sb_sigil[2] = Draw_CachePic ("gfx/sb_sigil3", false);
-		sb_sigil[3] = Draw_CachePic ("gfx/sb_sigil4", false);
-
-		sb_faces[4][0] = Draw_CachePic ("gfx/face1", false);
-		sb_faces[4][1] = Draw_CachePic ("gfx/face_p1", false);
-		sb_faces[3][0] = Draw_CachePic ("gfx/face2", false);
-		sb_faces[3][1] = Draw_CachePic ("gfx/face_p2", false);
-		sb_faces[2][0] = Draw_CachePic ("gfx/face3", false);
-		sb_faces[2][1] = Draw_CachePic ("gfx/face_p3", false);
-		sb_faces[1][0] = Draw_CachePic ("gfx/face4", false);
-		sb_faces[1][1] = Draw_CachePic ("gfx/face_p4", false);
-		sb_faces[0][0] = Draw_CachePic ("gfx/face5", false);
-		sb_faces[0][1] = Draw_CachePic ("gfx/face_p5", false);
-
-		sb_face_invis = Draw_CachePic ("gfx/face_invis", false);
-		sb_face_invuln = Draw_CachePic ("gfx/face_invul2", false);
-		sb_face_invis_invuln = Draw_CachePic ("gfx/face_inv2", false);
-		sb_face_quad = Draw_CachePic ("gfx/face_quad", false);
-
-		sb_sbar = Draw_CachePic ("gfx/sbar", false);
-		sb_ibar = Draw_CachePic ("gfx/ibar", false);
-		sb_scorebar = Draw_CachePic ("gfx/scorebar", false);
+		sb_ammo[0] = Draw_CachePic ("gfx/sb_shells", true);
+		sb_ammo[1] = Draw_CachePic ("gfx/sb_nails", true);
+		sb_ammo[2] = Draw_CachePic ("gfx/sb_rocket", true);
+		sb_ammo[3] = Draw_CachePic ("gfx/sb_cells", true);
+
+		sb_armor[0] = Draw_CachePic ("gfx/sb_armor1", true);
+		sb_armor[1] = Draw_CachePic ("gfx/sb_armor2", true);
+		sb_armor[2] = Draw_CachePic ("gfx/sb_armor3", true);
+
+		sb_items[0] = Draw_CachePic ("gfx/sb_key1", true);
+		sb_items[1] = Draw_CachePic ("gfx/sb_key2", true);
+		sb_items[2] = Draw_CachePic ("gfx/sb_invis", true);
+		sb_items[3] = Draw_CachePic ("gfx/sb_invuln", true);
+		sb_items[4] = Draw_CachePic ("gfx/sb_suit", true);
+		sb_items[5] = Draw_CachePic ("gfx/sb_quad", true);
+
+		sb_sigil[0] = Draw_CachePic ("gfx/sb_sigil1", true);
+		sb_sigil[1] = Draw_CachePic ("gfx/sb_sigil2", true);
+		sb_sigil[2] = Draw_CachePic ("gfx/sb_sigil3", true);
+		sb_sigil[3] = Draw_CachePic ("gfx/sb_sigil4", true);
+
+		sb_faces[4][0] = Draw_CachePic ("gfx/face1", true);
+		sb_faces[4][1] = Draw_CachePic ("gfx/face_p1", true);
+		sb_faces[3][0] = Draw_CachePic ("gfx/face2", true);
+		sb_faces[3][1] = Draw_CachePic ("gfx/face_p2", true);
+		sb_faces[2][0] = Draw_CachePic ("gfx/face3", true);
+		sb_faces[2][1] = Draw_CachePic ("gfx/face_p3", true);
+		sb_faces[1][0] = Draw_CachePic ("gfx/face4", true);
+		sb_faces[1][1] = Draw_CachePic ("gfx/face_p4", true);
+		sb_faces[0][0] = Draw_CachePic ("gfx/face5", true);
+		sb_faces[0][1] = Draw_CachePic ("gfx/face_p5", true);
+
+		sb_face_invis = Draw_CachePic ("gfx/face_invis", true);
+		sb_face_invuln = Draw_CachePic ("gfx/face_invul2", true);
+		sb_face_invis_invuln = Draw_CachePic ("gfx/face_inv2", true);
+		sb_face_quad = Draw_CachePic ("gfx/face_quad", true);
+
+		sb_sbar = Draw_CachePic ("gfx/sbar", true);
+		sb_ibar = Draw_CachePic ("gfx/ibar", true);
+		sb_scorebar = Draw_CachePic ("gfx/scorebar", true);
 
 	//MED 01/04/97 added new hipnotic weapons
 		if (gamemode == GAME_HIPNOTIC)
 		{
-			hsb_weapons[0][0] = Draw_CachePic ("gfx/inv_laser", false);
-			hsb_weapons[0][1] = Draw_CachePic ("gfx/inv_mjolnir", false);
-			hsb_weapons[0][2] = Draw_CachePic ("gfx/inv_gren_prox", false);
-			hsb_weapons[0][3] = Draw_CachePic ("gfx/inv_prox_gren", false);
-			hsb_weapons[0][4] = Draw_CachePic ("gfx/inv_prox", false);
-
-			hsb_weapons[1][0] = Draw_CachePic ("gfx/inv2_laser", false);
-			hsb_weapons[1][1] = Draw_CachePic ("gfx/inv2_mjolnir", false);
-			hsb_weapons[1][2] = Draw_CachePic ("gfx/inv2_gren_prox", false);
-			hsb_weapons[1][3] = Draw_CachePic ("gfx/inv2_prox_gren", false);
-			hsb_weapons[1][4] = Draw_CachePic ("gfx/inv2_prox", false);
+			hsb_weapons[0][0] = Draw_CachePic ("gfx/inv_laser", true);
+			hsb_weapons[0][1] = Draw_CachePic ("gfx/inv_mjolnir", true);
+			hsb_weapons[0][2] = Draw_CachePic ("gfx/inv_gren_prox", true);
+			hsb_weapons[0][3] = Draw_CachePic ("gfx/inv_prox_gren", true);
+			hsb_weapons[0][4] = Draw_CachePic ("gfx/inv_prox", true);
+
+			hsb_weapons[1][0] = Draw_CachePic ("gfx/inv2_laser", true);
+			hsb_weapons[1][1] = Draw_CachePic ("gfx/inv2_mjolnir", true);
+			hsb_weapons[1][2] = Draw_CachePic ("gfx/inv2_gren_prox", true);
+			hsb_weapons[1][3] = Draw_CachePic ("gfx/inv2_prox_gren", true);
+			hsb_weapons[1][4] = Draw_CachePic ("gfx/inv2_prox", true);
 
 			for (i = 0;i < 5;i++)
 			{
-				hsb_weapons[2+i][0] = Draw_CachePic (va("gfx/inva%i_laser",i+1), false);
-				hsb_weapons[2+i][1] = Draw_CachePic (va("gfx/inva%i_mjolnir",i+1), false);
-				hsb_weapons[2+i][2] = Draw_CachePic (va("gfx/inva%i_gren_prox",i+1), false);
-				hsb_weapons[2+i][3] = Draw_CachePic (va("gfx/inva%i_prox_gren",i+1), false);
-				hsb_weapons[2+i][4] = Draw_CachePic (va("gfx/inva%i_prox",i+1), false);
+				hsb_weapons[2+i][0] = Draw_CachePic (va("gfx/inva%i_laser",i+1), true);
+				hsb_weapons[2+i][1] = Draw_CachePic (va("gfx/inva%i_mjolnir",i+1), true);
+				hsb_weapons[2+i][2] = Draw_CachePic (va("gfx/inva%i_gren_prox",i+1), true);
+				hsb_weapons[2+i][3] = Draw_CachePic (va("gfx/inva%i_prox_gren",i+1), true);
+				hsb_weapons[2+i][4] = Draw_CachePic (va("gfx/inva%i_prox",i+1), true);
 			}
 
-			hsb_items[0] = Draw_CachePic ("gfx/sb_wsuit", false);
-			hsb_items[1] = Draw_CachePic ("gfx/sb_eshld", false);
+			hsb_items[0] = Draw_CachePic ("gfx/sb_wsuit", true);
+			hsb_items[1] = Draw_CachePic ("gfx/sb_eshld", true);
 		}
 		else if (gamemode == GAME_ROGUE)
 		{
-			rsb_invbar[0] = Draw_CachePic ("gfx/r_invbar1", false);
-			rsb_invbar[1] = Draw_CachePic ("gfx/r_invbar2", false);
+			rsb_invbar[0] = Draw_CachePic ("gfx/r_invbar1", true);
+			rsb_invbar[1] = Draw_CachePic ("gfx/r_invbar2", true);
 
-			rsb_weapons[0] = Draw_CachePic ("gfx/r_lava", false);
-			rsb_weapons[1] = Draw_CachePic ("gfx/r_superlava", false);
-			rsb_weapons[2] = Draw_CachePic ("gfx/r_gren", false);
-			rsb_weapons[3] = Draw_CachePic ("gfx/r_multirock", false);
-			rsb_weapons[4] = Draw_CachePic ("gfx/r_plasma", false);
+			rsb_weapons[0] = Draw_CachePic ("gfx/r_lava", true);
+			rsb_weapons[1] = Draw_CachePic ("gfx/r_superlava", true);
+			rsb_weapons[2] = Draw_CachePic ("gfx/r_gren", true);
+			rsb_weapons[3] = Draw_CachePic ("gfx/r_multirock", true);
+			rsb_weapons[4] = Draw_CachePic ("gfx/r_plasma", true);
 
-			rsb_items[0] = Draw_CachePic ("gfx/r_shield1", false);
-			rsb_items[1] = Draw_CachePic ("gfx/r_agrav1", false);
+			rsb_items[0] = Draw_CachePic ("gfx/r_shield1", true);
+			rsb_items[1] = Draw_CachePic ("gfx/r_agrav1", true);
 
 	// PGM 01/19/97 - team color border
-			rsb_teambord = Draw_CachePic ("gfx/r_teambord", false);
+			rsb_teambord = Draw_CachePic ("gfx/r_teambord", true);
 	// PGM 01/19/97 - team color border
 
-			rsb_ammo[0] = Draw_CachePic ("gfx/r_ammolava", false);
-			rsb_ammo[1] = Draw_CachePic ("gfx/r_ammomulti", false);
-			rsb_ammo[2] = Draw_CachePic ("gfx/r_ammoplasma", false);
+			rsb_ammo[0] = Draw_CachePic ("gfx/r_ammolava", true);
+			rsb_ammo[1] = Draw_CachePic ("gfx/r_ammomulti", true);
+			rsb_ammo[2] = Draw_CachePic ("gfx/r_ammoplasma", true);
 		}
 	}
 }
@@ -1358,7 +1358,7 @@ void Sbar_Draw (void)
 		R_Draw2DCrosshair();
 
 	if (cl_prydoncursor.integer)
-		DrawQ_Pic((cl.cmd.cursor_screen[0] + 1) * 0.5 * vid_conwidth.integer, (cl.cmd.cursor_screen[1] + 1) * 0.5 * vid_conheight.integer, Draw_CachePic(va("gfx/prydoncursor%03i", cl_prydoncursor.integer), false), 0, 0, 1, 1, 1, 1, 0);
+		DrawQ_Pic((cl.cmd.cursor_screen[0] + 1) * 0.5 * vid_conwidth.integer, (cl.cmd.cursor_screen[1] + 1) * 0.5 * vid_conheight.integer, Draw_CachePic(va("gfx/prydoncursor%03i", cl_prydoncursor.integer), true), 0, 0, 1, 1, 1, 1, 0);
 }
 
 //=============================================================================
@@ -1504,8 +1504,8 @@ void Sbar_IntermissionOverlay (void)
 	sbar_x = (vid_conwidth.integer - 320) >> 1;
 	sbar_y = (vid_conheight.integer - 200) >> 1;
 
-	DrawQ_Pic (sbar_x + 64, sbar_y + 24, Draw_CachePic("gfx/complete", false), 0, 0, 1, 1, 1, 1 * sbar_alpha_fg.value, 0);
-	DrawQ_Pic (sbar_x + 0, sbar_y + 56, Draw_CachePic("gfx/inter", false), 0, 0, 1, 1, 1, 1 * sbar_alpha_fg.value, 0);
+	DrawQ_Pic (sbar_x + 64, sbar_y + 24, Draw_CachePic("gfx/complete", true), 0, 0, 1, 1, 1, 1 * sbar_alpha_fg.value, 0);
+	DrawQ_Pic (sbar_x + 0, sbar_y + 56, Draw_CachePic("gfx/inter", true), 0, 0, 1, 1, 1, 1 * sbar_alpha_fg.value, 0);
 
 // time
 	dig = cl.completed_time/60;
-- 
2.39.5