From 6b87abe636501dca03a60680893e1889b7736198 Mon Sep 17 00:00:00 2001
From: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Date: Fri, 25 Nov 2011 15:19:42 +0200
Subject: [PATCH] Show the "no map preview" image when a map preview isn't
 found. This will need a better texture

---
 qcsrc/client/mapvoting.qc                              | 2 ++
 qcsrc/menu/xonotic/campaign.c                          | 3 +++
 qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c | 2 ++
 qcsrc/menu/xonotic/maplist.c                           | 3 +++
 4 files changed, 10 insertions(+)

diff --git a/qcsrc/client/mapvoting.qc b/qcsrc/client/mapvoting.qc
index 5492d51940..901a3e271e 100644
--- a/qcsrc/client/mapvoting.qc
+++ b/qcsrc/client/mapvoting.qc
@@ -90,6 +90,8 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin
 	{
 		if(fexists(strcat(pic, ".jpg")) || fexists(strcat(pic, ".png")) || fexists(strcat(pic, ".tga")))
 			drawpic(pos, pic, img_size, '1 1 1', alpha, DRAWFLAG_NORMAL);
+		else
+			drawpic(pos, "gfx/nopreview_map", img_size, '1 1 1', alpha, DRAWFLAG_NORMAL);
 	}
 
 	if(id == mv_ownvote)
diff --git a/qcsrc/menu/xonotic/campaign.c b/qcsrc/menu/xonotic/campaign.c
index 9737014d31..75df2abe9f 100644
--- a/qcsrc/menu/xonotic/campaign.c
+++ b/qcsrc/menu/xonotic/campaign.c
@@ -277,6 +277,9 @@ void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, flo
 	s = ftos(p);
 	if(fexists(strcat("maps/", campaign_mapname[i], ".jpg")) || fexists(strcat("maps/", campaign_mapname[i], ".png")) || fexists(strcat("maps/", campaign_mapname[i], ".tga")))
 		draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", campaign_mapname[i]), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
+	else
+		draw_Picture(me.columnPreviewOrigin * eX, "/gfx/nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
+
 	if(i < me.campaignIndex)
 		draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1);
 	if(i <= me.campaignIndex)
diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c
index 732b4468b0..ec1e61520b 100644
--- a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c
+++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c
@@ -56,6 +56,8 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, float i, entity mlb)
 	me.featuresLabel.setText(me.featuresLabel, me.currentMapFeaturesText);
 	if(fexists(strcat("maps/", me.currentMapPreviewImage, ".jpg")) || fexists(strcat("maps/", me.currentMapPreviewImage, ".png")) || fexists(strcat("maps/", me.currentMapPreviewImage, ".tga")))
 		me.previewImage.src = me.currentMapPreviewImage;
+	else
+		me.previewImage.src = "/gfx/nopreview_map";
 
 	for(i = 0; i < GameType_GetCount(); ++i)
 	{
diff --git a/qcsrc/menu/xonotic/maplist.c b/qcsrc/menu/xonotic/maplist.c
index 1edb222cd9..f55a200006 100644
--- a/qcsrc/menu/xonotic/maplist.c
+++ b/qcsrc/menu/xonotic/maplist.c
@@ -188,6 +188,9 @@ void XonoticMapList_drawListBoxItem(entity me, float i, vector absSize, float is
 	s = ftos(p);
 	if(fexists(strcat("maps/", MapInfo_Map_bspname, ".jpg")) || fexists(strcat("maps/", MapInfo_Map_bspname, ".png")) || fexists(strcat("maps/", MapInfo_Map_bspname, ".tga")))
 		draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
+	else
+		draw_Picture(me.columnPreviewOrigin * eX, "/gfx/nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha);
+
 	if(included)
 		draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1);
 	s = draw_TextShortenToWidth(MapInfo_Map_titlestring, me.columnNameSize, 0, me.realFontSize);
-- 
2.39.5