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);
}
}
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);
if(MapInfo_FindName_firstResult >= 0)
me.setSelected(me, MapInfo_FindName_firstResult);
}
- else if(shift & S_CTRL && scan == 'f') // ctrl-f (as in "F"ind)
+ else if((shift & S_CTRL) && scan == 'f') // ctrl-f (as in "F"ind)
{
me.parent.setFocus(me.parent, me.stringFilterBox);
}
- else if(shift & S_CTRL && scan == 'u') // ctrl-u (remove stringFilter line
+ else if((shift & S_CTRL) && scan == 'u') // ctrl-u (remove stringFilter line
{
me.stringFilterBox.setText(me.stringFilterBox, "");
MapList_StringFilterBox_Change(me.stringFilterBox, me);