From: Mircea Kitsune Date: Fri, 25 Nov 2011 15:26:31 +0000 (+0200) Subject: Attempt to make "no preview" images skin dependent. Works for the client part, but... X-Git-Tag: xonotic-v0.6.0~188^2~16^2~3^2~20 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2b84b4c6515479ed4bd1134b119ea974f7813a57;p=xonotic%2Fxonotic-data.pk3dir.git Attempt to make "no preview" images skin dependent. Works for the client part, but the menu does not see it yet --- diff --git a/gfx/menu/luminos/nopreview_map.tga b/gfx/menu/luminos/nopreview_map.tga new file mode 100644 index 000000000..27842cca4 Binary files /dev/null and b/gfx/menu/luminos/nopreview_map.tga differ diff --git a/gfx/menu/luminos/nopreview_player.tga b/gfx/menu/luminos/nopreview_player.tga new file mode 100644 index 000000000..393b5ee93 Binary files /dev/null and b/gfx/menu/luminos/nopreview_player.tga differ diff --git a/gfx/nopreview_map.tga b/gfx/nopreview_map.tga deleted file mode 100644 index 27842cca4..000000000 Binary files a/gfx/nopreview_map.tga and /dev/null differ diff --git a/gfx/nopreview_player.tga b/gfx/nopreview_player.tga deleted file mode 100644 index 393b5ee93..000000000 Binary files a/gfx/nopreview_player.tga and /dev/null differ diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 326bae22b..d9f56199b 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -167,6 +167,8 @@ void CSQC_Init(void) hud_configure_prev = -1; tab_panel = -1; + + draw_currentSkin = strzone(strcat("gfx/menu/", cvar_string("menu_skin"))); } // CSQC_Shutdown : Called every time the CSQC code is shutdown (changing maps, quitting, etc) diff --git a/qcsrc/client/mapvoting.qc b/qcsrc/client/mapvoting.qc index 901a3e271..7871f09ce 100644 --- a/qcsrc/client/mapvoting.qc +++ b/qcsrc/client/mapvoting.qc @@ -91,7 +91,7 @@ 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); + drawpic(pos, draw_UseSkinFor("nopreview_player"), img_size, '1 1 1', alpha, DRAWFLAG_NORMAL); } if(id == mv_ownvote) diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 5ffef8f09..aed228455 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -39,6 +39,16 @@ void wordwrap_sprint(string s, float l) #endif #endif +#ifndef SVQC +string draw_UseSkinFor(string pic) +{ + if(substring(pic, 0, 1) == "/") + return substring(pic, 1, strlen(pic)-1); + else + return strcat(draw_currentSkin, "/", pic); +} +#endif + string unescape(string in) { float i, len; diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index b2e77484e..96ae0040e 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -20,6 +20,11 @@ void wordwrap_sprint(string s, float l); #endif void wordwrap_cb(string s, float l, void(string) callback) +#ifndef SVQC +string draw_currentSkin; +string draw_UseSkinFor(string pic); +#endif + float GameCommand_Generic(string cmd); // returns TRUE if handled, FALSE otherwise // tokenizes its input! diff --git a/qcsrc/menu/draw.qc b/qcsrc/menu/draw.qc index 12b56d8da..0a041940e 100644 --- a/qcsrc/menu/draw.qc +++ b/qcsrc/menu/draw.qc @@ -2,14 +2,6 @@ string draw_mousepointer; vector draw_mousepointer_offset; vector draw_mousepointer_size; -string draw_UseSkinFor(string pic) -{ - if(substring(pic, 0, 1) == "/") - return substring(pic, 1, strlen(pic)-1); - else - return strcat(draw_currentSkin, "/", pic); -} - void draw_setMousePointer(string pic, vector theSize, vector theOffset) { draw_mousepointer = strzone(draw_UseSkinFor(pic)); diff --git a/qcsrc/menu/draw.qh b/qcsrc/menu/draw.qh index 63e22bd63..579f84f28 100644 --- a/qcsrc/menu/draw.qh +++ b/qcsrc/menu/draw.qh @@ -38,7 +38,5 @@ vector globalToBoxSize(vector v, vector scale); float draw_NeedResizeNotify; -string draw_currentSkin; - float draw_TextWidth_WithColors(string s, vector size); float draw_TextWidth_WithoutColors(string s, vector size); diff --git a/qcsrc/menu/xonotic/campaign.c b/qcsrc/menu/xonotic/campaign.c index 75df2abe9..83b93ffef 100644 --- a/qcsrc/menu/xonotic/campaign.c +++ b/qcsrc/menu/xonotic/campaign.c @@ -278,7 +278,7 @@ void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, flo 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); + draw_Picture(me.columnPreviewOrigin * eX, draw_UseSkinFor("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); diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c index ec1e61520..10eb23f11 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c @@ -57,7 +57,7 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, float i, entity mlb) 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"; + me.previewImage.src = draw_UseSkinFor("nopreview_player"); for(i = 0; i < GameType_GetCount(); ++i) { diff --git a/qcsrc/menu/xonotic/maplist.c b/qcsrc/menu/xonotic/maplist.c index f55a20000..b6772e43e 100644 --- a/qcsrc/menu/xonotic/maplist.c +++ b/qcsrc/menu/xonotic/maplist.c @@ -189,7 +189,7 @@ void XonoticMapList_drawListBoxItem(entity me, float i, vector absSize, float is 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); + draw_Picture(me.columnPreviewOrigin * eX, draw_UseSkinFor("nopreview_map"), 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 9fc836cc5..a29698668 100644 --- a/qcsrc/menu/xonotic/playermodel.c +++ b/qcsrc/menu/xonotic/playermodel.c @@ -140,7 +140,7 @@ void XonoticPlayerModelSelector_go(entity me, float d) 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"))) me.src = me.currentModelImage; else - me.src = "/gfx/nopreview_player"; + me.src = draw_UseSkinFor("nopreview_player"); me.updateAspect(me); }