Merge branch 'master' into martin-t/globals
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / campaign_common.qh
1 #pragma once
2
3 #ifndef CAMPAIGN_MAX_ENTRIES
4 #define CAMPAIGN_MAX_ENTRIES 64
5 #endif
6
7 // each i-th array element corresponds to the list entry campaign_offset+i
8 int campaign_entries;
9 int campaign_offset;
10 string campaign_gametype[CAMPAIGN_MAX_ENTRIES];
11 string campaign_mapname[CAMPAIGN_MAX_ENTRIES];
12 float campaign_bots[CAMPAIGN_MAX_ENTRIES];
13 float campaign_botskill[CAMPAIGN_MAX_ENTRIES];
14 float campaign_fraglimit[CAMPAIGN_MAX_ENTRIES];
15 float campaign_timelimit[CAMPAIGN_MAX_ENTRIES];
16 string campaign_mutators[CAMPAIGN_MAX_ENTRIES];
17 string campaign_shortdesc[CAMPAIGN_MAX_ENTRIES];
18 string campaign_longdesc[CAMPAIGN_MAX_ENTRIES];
19 string campaign_title; // filled upon loading
20
21 // load the campaign file, but use the given offset and limit the number of
22 // entries being read. Returns the number of entries successfully read (this
23 // number is also stored in campaign_entries).
24 // NOTE: there MUST be a corresponding CampaignFile_Unload() to unzone the
25 // strings.
26 string campaign_name; // set that to the campaign you want to load before calling CampaignFile_Load
27 float CampaignFile_Load(float offset, float entries);
28 void CampaignFile_Unload();
29
30 // Sets up the campaign for the n-th array item (meaning: campaign_offset+nth
31 // level) using localcmd()
32 void CampaignSetup(int n);