changed all Draw_CachePic calls to precache the pic except for two calls in the menu...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 21 Mar 2006 09:56:14 +0000 (09:56 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Tue, 21 Mar 2006 09:56:14 +0000 (09:56 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6161 d7cf8633-e32d-0410-b094-e92efae38249

cl_screen.c
cl_video.c
console.c
gl_draw.c
menu.c
prvm_cmds.c
sbar.c

index dde64f3..57c3e26 100644 (file)
@@ -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);
index 5f56b88..fabce36 100644 (file)
@@ -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 )
index 9c92e81..d72e24b 100644 (file)
--- 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
index 66a5cd1..a4d4425 100644 (file)
--- 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 cfa3bf3..4467e66 100644 (file)
--- 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);
                        }
                }
        }
index 8f0a3fd..4fe245f 100644 (file)
@@ -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 486eb15..b95f6fb 100644 (file)
--- 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;