From 24da50d8c47399ca7b76ea962a9975d12fe93842 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Fri, 25 Nov 2011 17:57:26 +0200 Subject: [PATCH] Use a better way to check that the normal preview image exists. Instead of checking if the filename with that extension is present, verify if the image has been precached --- qcsrc/client/mapvoting.qc | 6 +++--- qcsrc/menu/xonotic/campaign.c | 6 +++--- qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c | 6 +++--- qcsrc/menu/xonotic/maplist.c | 6 +++--- qcsrc/menu/xonotic/playermodel.c | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/qcsrc/client/mapvoting.qc b/qcsrc/client/mapvoting.qc index 7871f09ce..a7ef9a192 100644 --- a/qcsrc/client/mapvoting.qc +++ b/qcsrc/client/mapvoting.qc @@ -88,10 +88,10 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin } else { - 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 + if(precache_pic(pic) == "") drawpic(pos, draw_UseSkinFor("nopreview_player"), img_size, '1 1 1', alpha, DRAWFLAG_NORMAL); + else + drawpic(pos, pic, 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 c7679494c..694ebafc7 100644 --- a/qcsrc/menu/xonotic/campaign.c +++ b/qcsrc/menu/xonotic/campaign.c @@ -275,10 +275,10 @@ void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, flo draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED); 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 + if(precache_pic(strcat("maps/", campaign_mapname[i])) == "") draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + else + draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", campaign_mapname[i]), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); if(i < me.campaignIndex) draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1); diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c index 63351282a..fb2553e73 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c @@ -54,10 +54,10 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, float i, entity mlb) me.authorLabel.setText(me.authorLabel, me.currentMapAuthor); me.descriptionLabel.setText(me.descriptionLabel, me.currentMapDescription); 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 + if(precache_pic(strcat("maps/", currentMapPreviewImage)) == "") me.previewImage.src = "nopreview_map"; + else + me.previewImage.src = me.currentMapPreviewImage; for(i = 0; i < GameType_GetCount(); ++i) { diff --git a/qcsrc/menu/xonotic/maplist.c b/qcsrc/menu/xonotic/maplist.c index c580f66c9..7cf5f1a41 100644 --- a/qcsrc/menu/xonotic/maplist.c +++ b/qcsrc/menu/xonotic/maplist.c @@ -186,10 +186,10 @@ void XonoticMapList_drawListBoxItem(entity me, float i, vector absSize, float is draw_Fill('0 0 0', '1 1 0', SKINCOLOR_MAPLIST_INCLUDEDBG, SKINALPHA_MAPLIST_INCLUDEDBG); 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 + if(precache_pic(strcat("maps/", 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("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); if(included) draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1); diff --git a/qcsrc/menu/xonotic/playermodel.c b/qcsrc/menu/xonotic/playermodel.c index a29698668..b61a0d4d4 100644 --- a/qcsrc/menu/xonotic/playermodel.c +++ b/qcsrc/menu/xonotic/playermodel.c @@ -137,7 +137,7 @@ void XonoticPlayerModelSelector_go(entity me, float d) me.currentModelDescription = strzone(bufstr_get(me.bufModels, BUFMODELS_COUNT*me.idxModels+BUFMODELS_DESC)); // fix the image - if(fexists(strcat(me.currentModel, "_", ftos(me.currentSkin), ".jpg")) || fexists(strcat(me.currentModel, "_", ftos(me.currentSkin), ".png")) || fexists(strcat(me.currentModel, "_", ftos(me.currentSkin), ".tga"))) + if(precache_pic(strcat(me.currentModel, "_", ftos(me.currentSkin))) == "") me.src = me.currentModelImage; else me.src = draw_UseSkinFor("nopreview_player"); -- 2.39.2