X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcampaign.qc;h=826a0b4f2d7c6d81cf22f906f3fd7230dbc99a32;hb=fbb96108e5828a7557694db4469c2d0d7c582846;hp=126b728c8fc1a563f12e6cbeb603b348ebf5cd42;hpb=d99a102842ced06e6e1a0c9358c07c3b64523968;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/campaign.qc b/qcsrc/menu/xonotic/campaign.qc index 126b728c8..826a0b4f2 100644 --- a/qcsrc/menu/xonotic/campaign.qc +++ b/qcsrc/menu/xonotic/campaign.qc @@ -1,5 +1,9 @@ -#ifdef INTERFACE -CLASS(XonoticCampaignList) EXTENDS(XonoticListBox) +#include "../../common/campaign_common.qh" + +#ifndef CAMPAIGN_H +#define CAMPAIGN_H +#include "listbox.qc" +CLASS(XonoticCampaignList, XonoticListBox) METHOD(XonoticCampaignList, configureXonoticCampaignList, void(entity)) ATTRIB(XonoticCampaignList, rowsPerItem, float, 10) METHOD(XonoticCampaignList, draw, void(entity)) @@ -48,8 +52,9 @@ string campaign_longdesc_wrapped[CAMPAIGN_MAX_ENTRIES]; void rewrapCampaign(float w, float l0, float emptyheight, vector theFontSize) { - float i, j; - float n, l; + int i, j; + int n; + float l; string r, s; for(i = 0; i < campaign_entries; ++i) { @@ -89,14 +94,14 @@ void rewrapCampaign(float w, float l0, float emptyheight, vector theFontSize) entity makeXonoticCampaignList() { entity me; - me = spawnXonoticCampaignList(); + me = NEW(XonoticCampaignList); me.configureXonoticCampaignList(me); return me; } void XonoticCampaignList_configureXonoticCampaignList(entity me) { me.configureXonoticListBox(me); - me.campaignGlob = search_begin("maps/campaign*.txt", TRUE, TRUE); + me.campaignGlob = search_begin("maps/campaign*.txt", true, true); me.loadCvars(me); me.campaignGo(me, 0); // takes care of enabling/disabling buttons too } @@ -212,19 +217,19 @@ void XonoticCampaignList_resizeNotify(entity me, vector relOrigin, vector relSiz me.itemAbsSize = '0 0 0'; SUPER(XonoticCampaignList).resizeNotify(me, relOrigin, relSize, absOrigin, absSize); - me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight)); - me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth))); - me.realUpperMargin1 = 0.5 * me.realFontSize_y; - me.realUpperMargin2 = me.realUpperMargin1 + 2 * me.realFontSize_y; + me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize.y * me.itemHeight)); + me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize.x * (1 - me.controlWidth))); + me.realUpperMargin1 = 0.5 * me.realFontSize.y; + me.realUpperMargin2 = me.realUpperMargin1 + 2 * me.realFontSize.y; - me.checkMarkSize = (eX * (me.itemAbsSize_y / me.itemAbsSize_x) + eY) * 0.5; + me.checkMarkSize = (eX * (me.itemAbsSize.y / me.itemAbsSize.x) + eY) * 0.5; me.columnPreviewOrigin = 0; - me.columnPreviewSize = me.itemAbsSize_y / me.itemAbsSize_x * 4 / 3; - me.columnCheckMarkSize = me.checkMarkSize_x; - me.columnNameSize = 1 - me.columnPreviewSize - me.columnCheckMarkSize - 4 * me.realFontSize_x; - me.columnNameOrigin = me.columnPreviewOrigin + me.columnPreviewSize + me.realFontSize_x; - me.columnCheckMarkOrigin = me.columnNameOrigin + me.columnNameSize + me.realFontSize_x * 2; + me.columnPreviewSize = me.itemAbsSize.y / me.itemAbsSize.x * 4 / 3; + me.columnCheckMarkSize = me.checkMarkSize.x; + me.columnNameSize = 1 - me.columnPreviewSize - me.columnCheckMarkSize - 4 * me.realFontSize.x; + me.columnNameOrigin = me.columnPreviewOrigin + me.columnPreviewSize + me.realFontSize.x; + me.columnCheckMarkOrigin = me.columnNameOrigin + me.columnNameSize + me.realFontSize.x * 2; me.checkMarkOrigin = eY + eX * (me.columnCheckMarkOrigin + me.columnCheckMarkSize) - me.checkMarkSize; @@ -234,7 +239,7 @@ void XonoticCampaignList_doubleClickListBoxItem(entity me, float i, vector where { CampaignList_LoadMap(me, me); } -void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, float isSelected) +void XonoticCampaignList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected) { string s; vector theColor; @@ -284,10 +289,10 @@ void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, flo if(argv(j) != "") { draw_Text(o, argv(j), me.realFontSize, theColor, theAlpha * SKINALPHA_CAMPAIGN_DESCRIPTION, 0); - o_y += me.realFontSize_y; + o.y += me.realFontSize.y; } else - o_y += me.realFontSize_y * me.emptyLineHeight; + o.y += me.realFontSize.y * me.emptyLineHeight; } } void CampaignList_LoadMap(entity btn, entity me)