31 #define MAX_CAMPAIGNS 16
58 #define MAX_ALIEN_GROUP_PER_CATEGORY 8
60 #define ALIENCATEGORY_MAX 64
61 #define MAX_PROJECTILESONGEOSCAPE 32
66 #define HOURS_PER_ONE_INTEREST 24
71 #define INITIAL_OVERALL_INTEREST 20
72 #define FINAL_OVERALL_INTEREST 400
77 #define DELAY_BETWEEN_MISSION_SPAWNING 12
83 #define EARLY_UFO_RUSH_INTEREST 50
88 #define NON_OCCURRENCE_PROBABILITY 0.75
400 #define MAX_CREDITS 10000000
402 #include "../cgame.h"
technology_t * objDefTechs[MAX_OBJDEFS]
aircraft_t ufos[MAX_UFOONGEOSCAPE]
int numCampaignEventDefinitions
alienTeamCategory_t alienCategories[ALIENCATEGORY_MAX]
msgCategory_t messageCategories[MAX_MESSAGECATEGORIES]
const equipDef_t * marketDef
const equipDef_t * asymptoticMarketDef
int numCampaignTriggerEvents
#define MAX_UFOONGEOSCAPE
A building with all it's data.
Header file for Aircraft and item components.
void CP_UpdateCredits(int credits)
Sets credits and update mn_credits cvar.
alien team category definition
#define MAX_PEDIACHAPTERS
aircraft_t * selectedAircraft
bool CP_IsRunning(void)
Checks whether a campaign mode game is running.
struct ccs_s::@1 geoscape
Describes a rank that a recruit can gain.
missionSpawnFunction_t missionSpawnCallback
This is a cvar definition. Cvars can be user modified and used in our menus e.g.
void CP_EndCampaign(bool won)
Function to handle the campaign end.
struct alienTeamGroup_s alienTeamGroup_t
alien team group definition.
int numInstallationTemplates
const teamDef_t * alienTeams[MAX_TEAMS_PER_MISSION]
#define MAX_MESSAGECATEGORIES
Header for single player market stuff.
char firstBaseTemplate[MAX_VAR]
Header for installation management related stuff.
installationTemplate_t installationTemplates[MAX_INSTALLATION_TEMPLATES]
int lastInterestIncreaseDelay
Defines some savefile structures.
Header file for Transfer stuff.
void CP_InitStartup(void)
Header for research related stuff.
template for creating a base
enum mapAction_s mapAction_t
struct mission_s * selectedMission
Header file for messageoptions related stuff.
alienTeamGroup_t alienTeamGroups[MAX_ALIEN_GROUP_PER_CATEGORY]
linkedList_t * initialCraft
Header for geoscape event related stuff.
A base with all it's data.
technology_t * teamDefTechs[MAX_TEAMDEFS]
void CP_ReadCampaignData(const campaign_t *campaign)
struct campaign_s campaign_t
aircraft_t * missionAircraft
const chrTemplate_t * alienChrTemplates[MAX_TEAMS_PER_MISSION]
Header file for UFOpaedia script interpreter.
struct mission_s * mission
Header for employee related stuff.
const int DETECTION_INTERVAL
delay between actions that must be executed independently of time scale
components_t components[MAX_ASSEMBLIES]
int CP_GetSalaryUpKeepBase(const salary_t *salary, const base_t *base)
battleParam_t battleParameters
const cgame_import_t * cgi
linkedList_t * storedUFOs
void CP_ParseCampaignData(void)
Read the data for campaigns.
#define MAX_PROJECTILESONGEOSCAPE
char asymptoticMarket[MAX_VAR]
pediaChapter_t upChapters[MAX_PEDIACHAPTERS]
char alienEquipment[MAX_VAR]
Header for production related stuff.
UFO recovery and storing.
This is the technology parsed from research.ufo.
int maxAllowedXVIRateUntilLost
campaign_t * CP_GetCampaign(const char *name)
Returns the campaign pointer from global campaign array.
Engine-side time information in the game.
linkedList_t * employees[MAX_EMPL]
aircraft_t aircraftTemplates[MAX_AIRCRAFT]
alien team group definition.
client campaign structure
msgCategoryEntry_t msgCategoryEntries[NT_NUM_NOTIFYTYPE+MAX_MESSAGECATEGORIES]
Campaign statistic headers.
void CP_CampaignInit(campaign_t *campaign, bool load)
Called at new game and load game.
void CP_Shutdown(void)
Campaign closing actions.
#define MAX_INSTALLATION_TEMPLATES
void CP_CheckLostCondition(const campaign_t *campaign)
Checks whether the player has lost the campaign.
linkedList_t * installations
void CP_ResetCampaignData(void)
Will clear most of the parsed singleplayer data.
const GLuint *typedef void(APIENTRY *GenRenderbuffersEXT_t)(GLsizei
int numBuildings[MAX_BASES]
available mails for a tech - mail and mail_pre in script files
The definition of a "components" entry (i.e. an assembly of several items) parsed from a ufo-file...
linkedList_t * updateCharacters
campaignEvents_t campaignEvents[MAX_CAMPAIGNS]
eventMail_t eventMails[MAX_EVENTMAILS]
enum interestCategory_s interestCategory_t
Header file for aircraft stuff.
memPool_t * cp_campaignPool
int numMsgCategoryEntries
aircraftProjectile_t projectiles[MAX_PROJECTILESONGEOSCAPE]
#define MAX_CAMPAIGN_TRIGGER_EVENTS
technology_t technologies[MAX_TECHNOLOGIES]
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
campaignTriggerEvent_t campaignTriggerEvents[MAX_CAMPAIGN_TRIGGER_EVENTS]
struct ccs_s ccs_t
client campaign structure
Header file for airfights.
#define MAX_TEAMS_PER_MISSION
building_t buildingTemplates[MAX_BUILDINGS]
char soldierEquipment[MAX_VAR]
building_t buildings[MAX_BASES][MAX_BUILDINGS]
bool CP_CheckCredits(int costs)
Checks whether you have enough credits for something.
projectile used during fight between two or more aircraft
bool CP_OnGeoscape(void)
Returns if we are currently on the Geoscape.
An aircraft with all it's data.
const campaignEvents_t * events
void(* missionResultFunction_t)(const struct missionResults_s *results)
missionResultFunction_t missionResultCallback
#define ALIENCATEGORY_MAX
int lastMissionSpawnedDelay
Header for base management related stuff.
linkedList_t * alienBases
void CP_StartSelectedMission(void)
Starts a selected mission.
int negativeCreditsUntilLost
#define MAX_BASETEMPLATES
baseTemplate_t baseTemplates[MAX_BASETEMPLATES]
Structure with mission info needed to create results summary at menu won.
campaign_t campaigns[MAX_CAMPAIGNS]
alienTeamGroup_t * alienTeamGroup
interestCategory_t missionCategories[INTERESTCATEGORY_MAX]
void(* missionSpawnFunction_t)(void)
struct battleParam_s battleParam_t
void CP_CampaignRun(campaign_t *campaign, float secondsSinceLastFrame)
Called every frame when we are in geoscape view.
struct alienTeamCategory_s alienTeamCategory_t
alien team category definition
int interest[INTERESTCATEGORY_MAX]
aircraft_t * interceptAircraft
#define MAX_ALIEN_GROUP_PER_CATEGORY