X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcampaign.qh;h=825c6af72eabb00e157baf1aec6c414d57b6512f;hb=a3e71389992c582ccf77ca5b11d1f0ceee50eb9f;hp=6f70f09beec2219624baeca92e2cd7deaa104fb4;hpb=826222f84e886d85179a032b07edc71d99982040;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/campaign.qh b/qcsrc/menu/xonotic/campaign.qh index 6f70f09be..825c6af72 100644 --- a/qcsrc/menu/xonotic/campaign.qh +++ b/qcsrc/menu/xonotic/campaign.qh @@ -1 +1,49 @@ #pragma once + +#include "listbox.qh" +CLASS(XonoticCampaignList, XonoticListBox) + METHOD(XonoticCampaignList, configureXonoticCampaignList, void(entity)); + ATTRIB(XonoticCampaignList, rowsPerItem, float, 10); + METHOD(XonoticCampaignList, draw, void(entity)); + METHOD(XonoticCampaignList, drawListBoxItem, void(entity, int, vector, bool, bool)); + METHOD(XonoticCampaignList, doubleClickListBoxItem, void(entity, float, vector)); + METHOD(XonoticCampaignList, resizeNotify, void(entity, vector, vector, vector, vector)); + METHOD(XonoticCampaignList, setSelected, void(entity, float)); + METHOD(XonoticCampaignList, keyDown, float(entity, float, float, float)); + METHOD(XonoticCampaignList, campaignGo, void(entity, float)); + METHOD(XonoticCampaignList, destroy, void(entity)); + + ATTRIB(XonoticCampaignList, campaignGlob, float, 0); + ATTRIB(XonoticCampaignList, realFontSize, vector, '0 0 0'); + ATTRIB(XonoticCampaignList, columnPreviewOrigin, float, 0); + ATTRIB(XonoticCampaignList, columnPreviewSize, float, 0); + ATTRIB(XonoticCampaignList, columnNameOrigin, float, 0); + ATTRIB(XonoticCampaignList, columnNameSize, float, 0); + ATTRIB(XonoticCampaignList, columnCheckMarkOrigin, float, 0); + 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); + + ATTRIB(XonoticCampaignList, origin, vector, '0 0 0'); + ATTRIB(XonoticCampaignList, itemAbsSize, vector, '0 0 0'); + ATTRIB(XonoticCampaignList, emptyLineHeight, float, 0.5); + + ATTRIB(XonoticCampaignList, campaignIndex, float, 0); + ATTRIB(XonoticCampaignList, controlledCvar, string); + METHOD(XonoticCampaignList, loadCvars, void(entity)); + METHOD(XonoticCampaignList, saveCvars, void(entity)); + ATTRIB(XonoticCampaignList, hasNextCampaign, bool, false); + ATTRIB(XonoticCampaignList, hasPrevCampaign, bool, false); + + ATTRIB(XonoticCampaignList, buttonNext, entity); + ATTRIB(XonoticCampaignList, buttonPrev, entity); + ATTRIB(XonoticCampaignList, labelTitle, entity); +ENDCLASS(XonoticCampaignList) +entity makeXonoticCampaignList(); +void CampaignList_LoadMap(entity btn, entity me); +void MultiCampaign_Next(entity btn, entity me); +void MultiCampaign_Prev(entity btn, entity me);