2 CLASS(VoretSingleplayerDialog) EXTENDS(VoretDialog)
\r
3 METHOD(VoretSingleplayerDialog, fill, void(entity))
\r
4 ATTRIB(VoretSingleplayerDialog, title, string, "Singleplayer")
\r
5 ATTRIB(VoretSingleplayerDialog, color, vector, SKINCOLOR_DIALOG_SINGLEPLAYER)
\r
6 ATTRIB(VoretSingleplayerDialog, intendedWidth, float, 0.80)
\r
7 ATTRIB(VoretSingleplayerDialog, rows, float, 25)
\r
8 ATTRIB(VoretSingleplayerDialog, columns, float, 5)
\r
9 ATTRIB(VoretSingleplayerDialog, campaignBox, entity, NULL)
\r
10 ENDCLASS(VoretSingleplayerDialog)
\r
13 #ifdef IMPLEMENTATION
\r
15 void InstantAction_LoadMap(entity btn, entity dummy)
\r
17 float glob, i, n, fh;
\r
19 glob = search_begin("maps/*.instantaction", TRUE, TRUE);
\r
22 i = ceil(random() * search_getsize(glob)) - 1;
\r
23 fh = fopen(search_getfilename(glob, i), FILE_READ);
\r
27 while((s = fgets(fh)))
\r
29 if(substring(s, 0, 4) == "set ")
\r
30 s = substring(s, 4, strlen(s) - 4);
\r
31 n = tokenize_console(s);
\r
32 if(argv(0) == "bot_number")
\r
33 cvar_set("bot_number", argv(1));
\r
34 else if(argv(0) == "skill")
\r
35 cvar_set("skill", argv(1));
\r
36 else if(argv(0) == "timelimit")
\r
37 cvar_set("timelimit_override", argv(1));
\r
38 else if(argv(0) == "fraglimit")
\r
39 cvar_set("fraglimit_override", argv(1));
\r
40 else if(argv(0) == "gametype")
\r
41 MapInfo_SwitchGameType(MapInfo_Type_FromString(argv(1)));
\r
42 else if(argv(0) == "changelevel")
\r
45 localcmd("\nmenu_loadmap_prepare\n");
\r
46 MapInfo_LoadMap(argv(1));
\r
47 cvar_set("lastlevel", "1");
\r
54 void fillVoretSingleplayerDialog(entity me)
\r
56 entity e, btnPrev, btnNext, lblTitle;
\r
59 me.TDempty(me, (me.columns - 3) / 2);
\r
60 me.TD(me, 2, 3, e = makeVoretBigButton("Instant action! (random map with bots)", '0 0 0'));
\r
61 e.onClick = InstantAction_LoadMap;
\r
62 e.onClickEntity = NULL;
\r
65 me.TDempty(me, (me.columns - 3) / 2);
\r
66 me.TD(me, 1, 3, makeVoretCommandButton("Tutorial", '0 0 0', "map tutorial", COMMANDBUTTON_APPLY));
\r
69 me.TD(me, 1, 1, btnPrev = makeVoretButton("<<", '0 0 0'));
\r
70 me.TD(me, 1, me.columns - 2, lblTitle = makeVoretTextLabel(0.5, "???"));
\r
71 me.TD(me, 1, 1, btnNext = makeVoretButton(">>", '0 0 0'));
\r
73 me.TD(me, me.rows - 6, me.columns, me.campaignBox = makeVoretCampaignList());
\r
74 btnPrev.onClick = MultiCampaign_Prev;
\r
75 btnPrev.onClickEntity = me.campaignBox;
\r
76 btnNext.onClick = MultiCampaign_Next;
\r
77 btnNext.onClickEntity = me.campaignBox;
\r
78 me.campaignBox.buttonNext = btnNext;
\r
79 me.campaignBox.buttonPrev = btnPrev;
\r
80 me.campaignBox.labelTitle = lblTitle;
\r
81 me.campaignBox.campaignGo(me.campaignBox, 0);
\r
83 me.gotoRC(me, me.rows - 1, 0);
\r
84 //me.TD(me, 1, 2, e = makeVoretModButton("Singleplayer"));
\r
85 me.TD(me, 1, me.columns, e = makeVoretButton("Start Singleplayer!", '0 0 0'));
\r
86 e.onClick = CampaignList_LoadMap;
\r
87 e.onClickEntity = me.campaignBox;
\r