X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fdialog_singleplayer.qc;h=c490b699c2e0225e3b5492cf429d45cccdee9bf9;hb=a293c700fbbf3a18f25f08c1837fa4f29e8e360b;hp=8dab35f9974ba36d8fd8455b0f134ac2dd3078c1;hpb=867ce0406b74601b6d74a4ac412ac30063490d88;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/dialog_singleplayer.qc b/qcsrc/menu/xonotic/dialog_singleplayer.qc index 8dab35f99..c490b699c 100644 --- a/qcsrc/menu/xonotic/dialog_singleplayer.qc +++ b/qcsrc/menu/xonotic/dialog_singleplayer.qc @@ -1,25 +1,16 @@ -#ifndef DIALOG_SINGLEPLAYER_H -#define DIALOG_SINGLEPLAYER_H -#include "dialog.qc" -CLASS(XonoticSingleplayerDialog, XonoticDialog) - METHOD(XonoticSingleplayerDialog, fill, void(entity)); - ATTRIB(XonoticSingleplayerDialog, title, string, _("Singleplayer")) - ATTRIB(XonoticSingleplayerDialog, color, vector, SKINCOLOR_DIALOG_SINGLEPLAYER) - ATTRIB(XonoticSingleplayerDialog, intendedWidth, float, 0.80) - ATTRIB(XonoticSingleplayerDialog, rows, float, 24) - ATTRIB(XonoticSingleplayerDialog, columns, float, 5) - ATTRIB(XonoticSingleplayerDialog, campaignBox, entity, NULL) -ENDCLASS(XonoticSingleplayerDialog) -#endif +#include "dialog_singleplayer.qh" -#ifdef IMPLEMENTATION +#include +#include "bigbutton.qh" +#include "radiobutton.qh" +#include "textlabel.qh" +#include "campaign.qh" void InstantAction_LoadMap(entity btn, entity dummy) { float pmin = 2, pmax = 16, pstep = 1; cvar_set("timelimit_override", "10"); - cvar_set("g_lms_lives_override", "9"); if(random() < 0.4) // 40% are DM { @@ -96,6 +87,12 @@ void InstantAction_LoadMap(entity btn, entity dummy) s = MapInfo_BSPName_ByID(m); } while(!fexists(sprintf("maps/%s.waypoints", s))); + + // these commands are also executed when starting a map from Multiplayer / Create + // in the menu_loadmap_prepare alias + localcmd("disconnect\n"); + localcmd("g_campaign 0\n"); + MapInfo_LoadMap(s, 1); // configure bots @@ -137,11 +134,10 @@ void XonoticSingleplayerDialog_fill(entity me) me.gotoRC(me, me.rows - 2, 0); me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Campaign Difficulty:"))); me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-2", ZCTX(_("CSKL^Easy")))); - me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-1", ZCTX(_("CSKL^Medium")))); - me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "0", ZCTX(_("CSKL^Hard")))); + me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "0", ZCTX(_("CSKL^Medium")))); + me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "2", ZCTX(_("CSKL^Hard")))); me.TR(me); me.TD(me, 1, me.columns, e = makeXonoticButton(_("Start Singleplayer!"), '0 0 0')); e.onClick = CampaignList_LoadMap; e.onClickEntity = me.campaignBox; } -#endif