3 CampaignFile_Load(0, CAMPAIGN_MAX_ENTRIES);
6 void Campaign_Shutdown()
11 void Campaign_DumpLevels()
15 imax = cvar("g_campaign_index") - campaign_offset;
16 if(imax >= campaign_entries)
17 imax = campaign_entries - 1;
18 for(i = 0; i <= imax; ++i)
21 print(ftos(i + campaign_offset));
23 print(campaign_gametype[i]);
25 print(campaign_mapname[i]);
27 print(campaign_shortdesc[i]);
33 void Campaign_JumpLevel(float n)
37 current = cvar("g_campaign_index");
43 n = n - campaign_offset;
44 if(n >= 0 && n < campaign_entries)
50 void() Nex_Action_Campaign_Start =
52 Campaign_JumpLevel(campaign_index);
54 // force the menu to hide
58 void() Nex_Action_Campaign_Update =
61 local string longdesc;
62 local string shortdesc;
63 lItem = Menu_GetItem( "ShortDescription" );
64 shortdesc = campaign_shortdesc[campaign_index];
65 shortdesc = strcat("Level ", ftos(campaign_index + 1), ": ", shortdesc);
66 String_EntitySet( lItem, text, shortdesc);
68 lItem = Menu_GetItem( "LongDescription" );
69 longdesc = Campaign_wordwrap(campaign_longdesc[campaign_index], lItem.wrap - 1);
70 String_EntitySet( lItem, text, longdesc );
72 lItem = Menu_GetItem( "Picture" );
73 String_EntitySet( lItem, picture, strcat("maps/",campaign_mapname[campaign_index], ".jpg") );
76 void() Nex_Action_Campaign_Init =
78 campaign_index = cvar("g_campaign_index");
80 Nex_Action_Campaign_Update();
83 void() Nex_Action_Campaign_Prev =
85 if (campaign_index <= 0) {
86 campaign_index = min(campaign_entries, cvar("g_campaign_index"));
91 Nex_Action_Campaign_Update();
94 void() Nex_Action_Campaign_Next =
96 if (campaign_index >= min(campaign_entries, cvar("g_campaign_index"))) {
102 Nex_Action_Campaign_Update();