X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fmaplist.qc;h=1fa065874554ce666fa883884d2347359d076bf0;hb=a3e71389992c582ccf77ca5b11d1f0ceee50eb9f;hp=a18037db63178830a7e85d675a66564cf01a7a47;hpb=4e21f418ad9e6287efb942c1fa2861a51981110a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/maplist.qc b/qcsrc/menu/xonotic/maplist.qc index a18037db6..1fa065874 100644 --- a/qcsrc/menu/xonotic/maplist.qc +++ b/qcsrc/menu/xonotic/maplist.qc @@ -79,7 +79,8 @@ void XonoticMapList_g_maplistCacheToggle(entity me, float i) void XonoticMapList_draw(entity me) { if(me.startButton) - me.startButton.disabled = ((me.selectedItem < 0) || (me.selectedItem >= me.nItems)); + me.startButton.disabled = ((me.selectedItem < 0) || (me.selectedItem >= me.nItems) + || (gamestatus & (GAME_ISSERVER | GAME_CONNECTED) && cvar("g_campaign"))); SUPER(XonoticMapList).draw(me); } @@ -156,7 +157,12 @@ void XonoticMapList_drawListBoxItem(entity me, int i, vector absSize, bool isSel } if(draw_PictureSize(strcat("/maps/", MapInfo_Map_bspname)) == '0 0 0') - draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + { + if(!draw_PictureExists(strcat("/levelshots/", MapInfo_Map_bspname))) + 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); + } else draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);