From b83d751d474db1a5a1c3d346489f5a4eac2863a0 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 29 Jan 2025 18:25:28 +0000 Subject: [PATCH] Improve menu performance with Quake 3 maps installed --- qcsrc/menu/xonotic/maplist.qc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/qcsrc/menu/xonotic/maplist.qc b/qcsrc/menu/xonotic/maplist.qc index 84e408196..e65ff7fa8 100644 --- a/qcsrc/menu/xonotic/maplist.qc +++ b/qcsrc/menu/xonotic/maplist.qc @@ -158,7 +158,7 @@ void XonoticMapList_drawListBoxItem(entity me, int i, vector absSize, bool isSel if(draw_PictureSize(strcat("/maps/", MapInfo_Map_bspname)) == '0 0 0') { - if(!draw_PictureExists(strcat("/levelshots/", MapInfo_Map_bspname))) + if(draw_PictureSize(strcat("/levelshots/", MapInfo_Map_bspname)) == '0 0 0') draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); else draw_Picture(me.columnPreviewOrigin * eX, strcat("/levelshots/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); @@ -188,7 +188,10 @@ void XonoticMapList_refilter(entity me) me.nItems = MapInfo_count; for(i = 0; i < MapInfo_count; ++i) - draw_PreloadPicture(strcat("/maps/", MapInfo_BSPName_ByID(i))); + { + if(draw_PreloadPicture(strcat("/maps/", MapInfo_BSPName_ByID(i))) == "") + draw_PreloadPicture(strcat("/levelshots/", MapInfo_BSPName_ByID(i))); + } s = "0"; for(i = 1; i < MapInfo_count; i *= 2) s = strcat(s, s); -- 2.39.5