From dd448c8e197e0baef7a9f6bc3864fb4d66294837 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Mon, 30 Dec 2019 22:26:47 +0200 Subject: [PATCH] Draw the gametype icon on campaign entries --- qcsrc/menu/xonotic/campaign.qc | 7 +++++++ qcsrc/menu/xonotic/campaign.qh | 2 ++ 2 files changed, 9 insertions(+) diff --git a/qcsrc/menu/xonotic/campaign.qc b/qcsrc/menu/xonotic/campaign.qc index a3ad36355d..0f64aefdbc 100644 --- a/qcsrc/menu/xonotic/campaign.qc +++ b/qcsrc/menu/xonotic/campaign.qc @@ -183,6 +183,9 @@ void XonoticCampaignList_resizeNotify(entity me, vector relOrigin, vector relSiz me.checkMarkOrigin = eY + eX * (me.columnCheckMarkOrigin + me.columnCheckMarkSize) - me.checkMarkSize; + me.typeIconOrigin = vec3(me.columnPreviewSize - me.checkMarkSize.x, me.checkMarkOrigin.y, 0); + me.typeIconSize = me.checkMarkSize; + rewrapCampaign(me.columnNameSize, me.rowsPerItem - 3, me.emptyLineHeight, me.realFontSize); } void XonoticCampaignList_doubleClickListBoxItem(entity me, float i, vector where) @@ -226,6 +229,10 @@ void XonoticCampaignList_drawListBoxItem(entity me, int i, vector absSize, bool else draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", campaign_mapname[i]), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + s = strcat("/gfx/menu/", cvar_string("menu_skin"), "/gametype_", campaign_gametype[i]); + if(i <= me.campaignIndex && draw_PictureSize(s) != '0 0 0') + draw_Picture(me.typeIconOrigin, s, me.typeIconSize, '1 1 1', 1); + 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/campaign.qh b/qcsrc/menu/xonotic/campaign.qh index 298e275874..d6c674e8d6 100644 --- a/qcsrc/menu/xonotic/campaign.qh +++ b/qcsrc/menu/xonotic/campaign.qh @@ -23,6 +23,8 @@ CLASS(XonoticCampaignList, XonoticListBox) ATTRIB(XonoticCampaignList, columnCheckMarkSize, float, 0); ATTRIB(XonoticCampaignList, checkMarkOrigin, vector, '0 0 0'); ATTRIB(XonoticCampaignList, checkMarkSize, vector, '0 0 0'); + ATTRIB(XonoticCampaignList, typeIconOrigin, vector, '0 0 0'); + ATTRIB(XonoticCampaignList, typeIconSize, vector, '0 0 0'); ATTRIB(XonoticCampaignList, realUpperMargin1, float, 0); ATTRIB(XonoticCampaignList, realUpperMargin2, float, 0); -- 2.39.2