1 // CampaignFileLoad(offset, n)
2 // - Loads campaign level data (up to n entries starting at offset)
4 // - Returns the number of entries successfully read
5 float CampaignFile_Load(float offset, float n)
12 if(n > CAMPAIGN_MAX_ENTRIES)
13 n = CAMPAIGN_MAX_ENTRIES;
15 campaign_offset = offset;
18 fh = fopen("maps/campaign.txt", FILE_READ);
21 for(lineno = 0; (l = fgets(fh)); )
24 continue; // empty line
25 if(substring(l, 0, 2) == "//")
31 error("syntax error in campaign file");
33 campaign_mapcfgname[campaign_entries] = strzone(argv(0));
34 campaign_bots[campaign_entries] = stof(argv(1));
35 campaign_botskill[campaign_entries] = stof(argv(2));
36 campaign_fraglimit[campaign_entries] = stof(argv(3));
37 campaign_mutators[campaign_entries] = strzone(argv(4));
38 campaign_shortdesc[campaign_entries] = strzone(argv(5));
39 campaign_longdesc[campaign_entries] = strzone(argv(6));
40 campaign_entries = campaign_entries + 1;
42 if(campaign_entries >= n)
50 return campaign_entries;
53 void CampaignFile_Unload()
56 for(i = 0; i < campaign_entries; ++i)
58 strunzone(campaign_mapcfgname[i]);
59 strunzone(campaign_mutators[i]);
60 strunzone(campaign_shortdesc[i]);
61 strunzone(campaign_longdesc[i]);