1 string campaign_index_var;
5 campaign_name = strzone(cvar_string("g_campaign_name"));
6 campaign_index_var = strzone(strcat("g_campaign", campaign_name, "_index"));
7 CampaignFile_Load(0, CAMPAIGN_MAX_ENTRIES);
10 void Campaign_Shutdown()
12 CampaignFile_Unload();
13 strunzone(campaign_index_var);
14 strunzone(campaign_name);
18 void Campaign_DumpLevels()
22 imax = cvar(campaign_index_var) - campaign_offset;
23 if(imax >= campaign_entries)
24 imax = campaign_entries - 1;
25 for(i = 0; i <= imax; ++i)
28 print(ftos(i + campaign_offset));
30 print(campaign_gametype[i]);
32 print(campaign_mapname[i]);
34 print(campaign_shortdesc[i]);
40 void Campaign_JumpLevel(float n)
44 current = cvar(campaign_index_var);
50 n = n - campaign_offset;
51 if(n >= 0 && n < campaign_entries)
57 void() Nex_Action_Campaign_Start =
59 Campaign_JumpLevel(campaign_index);
61 // force the menu to hide
65 void() Nex_Action_Campaign_Update =
68 local string longdesc;
69 local string shortdesc;
70 lItem = Menu_GetItem( "ShortDescription" );
71 shortdesc = campaign_shortdesc[campaign_index];
72 shortdesc = strcat("Level ", ftos(campaign_index + 1), ": ", shortdesc);
73 String_EntitySet( lItem, text, shortdesc);
75 lItem = Menu_GetItem( "LongDescription" );
76 longdesc = wordwrap(campaign_longdesc[campaign_index], lItem.wrap - 1);
77 String_EntitySet( lItem, text, longdesc );
79 lItem = Menu_GetItem( "Picture" );
80 String_EntitySet( lItem, picture, strcat("maps/",campaign_mapname[campaign_index], ".jpg") );
83 void() Nex_Action_Campaign_Init =
85 campaign_index = cvar(campaign_index_var);
87 Nex_Action_Campaign_Update();
90 void() Nex_Action_Campaign_Prev =
92 if (campaign_index <= 0) {
93 campaign_index = min(campaign_entries, cvar(campaign_index_var));
98 Nex_Action_Campaign_Update();
101 void() Nex_Action_Campaign_Next =
103 if (campaign_index >= min(campaign_entries, cvar(campaign_index_var))) {
109 Nex_Action_Campaign_Update();