UFO: Alien Invasion
|
Campaign missions code. More...
#include "../../cl_shared.h"
#include "../../cl_team.h"
#include "../cl_game.h"
#include "../../ui/ui_dataids.h"
#include "cp_campaign.h"
#include "cp_character.h"
#include "cp_geoscape.h"
#include "cp_ufo.h"
#include "cp_alienbase.h"
#include "cp_alien_interest.h"
#include "cp_missions.h"
#include "cp_mission_triggers.h"
#include "cp_time.h"
#include "cp_xvi.h"
#include "save/save_missions.h"
#include "save/save_interest.h"
#include "cp_mission_callbacks.h"
#include "missions/cp_mission_baseattack.h"
#include "missions/cp_mission_buildbase.h"
#include "missions/cp_mission_harvest.h"
#include "missions/cp_mission_intercept.h"
#include "missions/cp_mission_recon.h"
#include "missions/cp_mission_rescue.h"
#include "missions/cp_mission_supply.h"
#include "missions/cp_mission_terror.h"
#include "missions/cp_mission_xvi.h"
#include "missions/cp_mission_ufocarrier.h"
Go to the source code of this file.
Typedefs | |
typedef enum missionDetectionStatus_s | missionDetectionStatus_t |
possible mission detection status More... | |
Enumerations | |
enum | missionDetectionStatus_s { MISDET_CANT_BE_DETECTED, MISDET_ALWAYS_DETECTED, MISDET_MAY_BE_DETECTED } |
possible mission detection status More... | |
Functions | |
void | BATTLE_SetVars (const battleParam_t *battleParameters) |
Set some needed cvars from a battle definition. More... | |
void | BATTLE_Start (mission_t *mission, const battleParam_t *battleParameters) |
Select the mission type and start the map from mission definition. More... | |
static bool | CP_IsAlienTeamForCategory (const alienTeamCategory_t *cat, const interestCategory_t missionCat) |
Check if an alien team category may be used for a mission category. More... | |
static void | CP_SetAlienTeamByInterest (mission_t *mission, battleParam_t *battleParameters) |
Sets the alien races used for a mission. More... | |
static bool | CP_IsAlienEquipmentSelectable (const mission_t *mission, const equipDef_t *equip, linkedList_t *equipPack) |
Check if an alien equipment may be used with a mission. More... | |
static void | CP_SetAlienEquipmentByInterest (const mission_t *mission, linkedList_t *equipPack, battleParam_t *battleParameters) |
Set alien equipment for a mission (depends on the interest values) More... | |
static void | MIS_CreateAlienTeam (mission_t *mission, battleParam_t *battleParam) |
Set number of aliens in mission. More... | |
static void | CP_CreateCivilianTeam (const mission_t *mission, battleParam_t *param) |
Create civilian team. More... | |
void | CP_CreateBattleParameters (mission_t *mission, battleParam_t *param, const aircraft_t *aircraft) |
Create parameters needed for battle. This is the data that is used for starting the tactical part of the mission. More... | |
mission_t * | CP_GetMissionByIDSilent (const char *missionId) |
Get a mission in ccs.missions by Id without error messages. More... | |
mission_t * | CP_GetMissionByID (const char *missionId) |
Get a mission in ccs.missions by Id. More... | |
mission_t * | MIS_GetByIdx (int id) |
Find mission corresponding to idx. More... | |
int | MIS_GetIdx (const mission_t *mis) |
Find idx corresponding to mission. More... | |
const char * | MIS_GetName (const mission_t *mission) |
Returns a short translated name for a mission. More... | |
int | CP_CountMissionOnGeoscape (void) |
Count the number of mission active and displayed on geoscape. More... | |
const char * | MIS_GetModel (const mission_t *mission) |
Get mission model that should be shown on the geoscape. More... | |
static missionDetectionStatus_t | CP_CheckMissionVisibleOnGeoscape (const mission_t *mission) |
Check if a mission should be visible on geoscape. More... | |
void | CP_MissionRemoveFromGeoscape (mission_t *mission) |
Removes a mission from geoscape: make it non visible and call notify functions. More... | |
static messageType_t | CP_MissionGetMessageLevel (const mission_t *mission) |
Decides which message level to take for the given mission. More... | |
static const char * | CP_MissionGetMessage (const mission_t *mission) |
Assembles a message that is send to the gamer once the given mission is added to geoscape. More... | |
void | CP_MissionAddToGeoscape (mission_t *mission, bool force) |
Add a mission to geoscape: make it visible and stop time. More... | |
bool | CP_CheckNewMissionDetectedOnGeoscape (void) |
Check if mission has been detected by radar. More... | |
void | CP_UpdateMissionVisibleOnGeoscape (void) |
Update all mission visible on geoscape (in base radar range). More... | |
void | CP_UFORemoveFromGeoscape (mission_t *mission, bool destroyed) |
Removes (temporarily or permanently) a UFO from geoscape: make it land and call notify functions. More... | |
void | CP_MissionRemove (mission_t *mission) |
Removes a mission from mission global array. More... | |
void | CP_MissionDisableTimeLimit (mission_t *mission) |
Disable time limit for given mission. More... | |
bool | CP_CheckMissionLimitedInTime (const mission_t *mission) |
Check if mission should end because of limited time. More... | |
void | CP_MissionNotifyBaseDestroyed (const base_t *base) |
Notify that a base has been removed. More... | |
void | CP_MissionNotifyInstallationDestroyed (const installation_t *installation) |
Notify missions that an installation has been destroyed. More... | |
static bool | CP_MapIsSelectable (const mission_t *mission, const mapDef_t *md, const vec2_t pos) |
Check if a map may be selected for mission. More... | |
bool | CP_ChooseMap (mission_t *mission, const vec2_t pos) |
Choose a map for given mission. More... | |
void | CP_MissionStageEnd (const campaign_t *campaign, mission_t *mission) |
Determine what action should be performed when a mission stage ends. More... | |
void | CP_MissionIsOver (mission_t *mission) |
Mission is finished because Phalanx team won it. More... | |
void | CP_MissionIsOverByUFO (aircraft_t *ufocraft) |
Mission is finished because Phalanx team ended it. More... | |
void | CP_MissionEndActions (mission_t *mission, aircraft_t *aircraft, bool won) |
Actions to be done after mission finished. More... | |
void | CP_MissionEnd (const campaign_t *campaign, mission_t *mission, const battleParam_t *battleParameters, bool won) |
Closing actions after fighting a battle. More... | |
bool | CP_CheckNextStageDestination (const campaign_t *campaign, aircraft_t *ufocraft) |
Check if a stage mission is over when UFO reached destination. More... | |
void | CP_UFOProceedMission (const campaign_t *campaign, aircraft_t *ufo) |
Make UFO proceed with its mission when the fight with another aircraft is over (and UFO survived). More... | |
void | CP_SpawnCrashSiteMission (aircraft_t *ufo) |
Spawn a new crash site after a UFO has been destroyed. More... | |
void | CP_SpawnRescueMission (aircraft_t *aircraft, aircraft_t *ufo) |
Spawn a new rescue mission for a crashed (phalanx) aircraft. More... | |
static bool | MIS_IsSpawnedFromGround (const mission_t *mission) |
Decides if the mission should be spawned from the ground (without UFO) More... | |
bool | CP_MissionBegin (mission_t *mission) |
mission begins: UFO arrive on earth. More... | |
ufoType_t | CP_MissionChooseUFO (const mission_t *mission) |
Choose UFO type for a given mission category. More... | |
static void | CP_SetMissionName (mission_t *mission) |
Set mission name. More... | |
mission_t * | CP_CreateNewMission (interestCategory_t category, bool beginNow) |
Create a new mission of given category. More... | |
static interestCategory_t | CP_SelectNewMissionType (void) |
Select new mission type. More... | |
void | CP_SpawnNewMissions (void) |
Spawn new missions. More... | |
void | CP_InitializeSpawningDelay (void) |
Initialize spawning delay. More... | |
bool | MIS_SaveXML (xmlNode_t *parent) |
Save callback for savegames in XML Format. More... | |
bool | MIS_LoadXML (xmlNode_t *parent) |
Load callback for savegames in XML Format. More... | |
void | MIS_InitStartup (void) |
Init actions for missions-subsystem. More... | |
void | MIS_Shutdown (void) |
Closing actions for missions-subsystem. More... | |
Variables | |
const int | MAX_POS_LOOP = 10 |
static const float | MIN_CRASHEDUFO_CONDITION = 0.2f |
static const float | MAX_CRASHEDUFO_CONDITION = 0.81f |
static const cmdList_t | debugMissionCmds [] |
Campaign missions code.
Definition in file cp_missions.cpp.
typedef enum missionDetectionStatus_s missionDetectionStatus_t |
possible mission detection status
possible mission detection status
Definition at line 54 of file cp_missions.cpp.
void BATTLE_SetVars | ( | const battleParam_t * | battleParameters | ) |
Set some needed cvars from a battle definition.
[in] | battleParameters | battle definition pointer with the needed data to set the cvars to |
Definition at line 78 of file cp_missions.cpp.
References alienTeamGroup_s::alienChrTemplates, csi_s::alienChrTemplates, battleParam_s::alienEquipment, battleParam_s::aliens, battleParam_s::alienTeamGroup, alienTeamGroup_s::alienTeams, csi_s::alienTeams, cgi, battleParam_s::civilians, battleParam_s::civTeam, cgame_import_s::csi, cgame_import_s::Cvar_Set(), i, MAX_TEAMS_PER_MISSION, alienTeamGroup_s::numAlienTeams, and csi_s::numAlienTeams.
Referenced by CP_StartSelectedMission().
void BATTLE_Start | ( | mission_t * | mission, |
const battleParam_t * | battleParameters | ||
) |
Select the mission type and start the map from mission definition.
[in] | mission | Mission definition to start the map from |
[in] | battleParameters | Context data of the battle |
Definition at line 106 of file cp_missions.cpp.
References B_AssembleMap(), mission_s::missionData_t::base, mission_s::category, ccs, cgi, mission_s::crashed, ccs_s::curCampaign, cgame_import_s::Cvar_Set(), mission_s::data, campaign_s::difficulty, ERR_DROP, GEO_IsNight(), mission_s::id, INTERESTCATEGORY_BASE_ATTACK, cgame_import_s::LIST_GetRandom(), mission_s::mapDef, mapDef_s::mapTheme, battleParam_s::param, mapDef_s::params, base_s::pos, mission_s::pos, and battleParam_s::zoneType.
Referenced by CP_StartSelectedMission().
bool CP_CheckMissionLimitedInTime | ( | const mission_t * | mission | ) |
Check if mission should end because of limited time.
Definition at line 904 of file cp_missions.cpp.
References date_s::day, and mission_s::finalDate.
Referenced by CP_CheckMissionEnd(), and CP_EndRescueMission().
|
static |
Check if a mission should be visible on geoscape.
[in] | mission | Pointer to mission we want to check visibility. |
Definition at line 638 of file cp_missions.cpp.
References mission_s::category, mission_s::crashed, aircraft_s::detected, INTERESTCATEGORY_RESCUE, aircraft_s::landed, MISDET_ALWAYS_DETECTED, MISDET_CANT_BE_DETECTED, MISDET_MAY_BE_DETECTED, mission_s::pos, mission_s::posAssigned, RADAR_CheckRadarSensored(), mission_s::stage, STAGE_BASE_ATTACK, STAGE_BASE_DISCOVERED, STAGE_BUILD_BASE, STAGE_COME_FROM_ORBIT, STAGE_HARVEST, STAGE_INTERCEPT, STAGE_MISSION_GOTO, STAGE_NOT_ACTIVE, STAGE_OVER, STAGE_RECON_AIR, STAGE_RECON_GROUND, STAGE_RETURN_TO_ORBIT, STAGE_SPREAD_XVI, STAGE_SUBVERT_GOV, STAGE_SUPPLY, STAGE_TERROR_MISSION, and mission_s::ufo.
Referenced by CP_CheckNewMissionDetectedOnGeoscape(), CP_MissionAddToGeoscape(), and CP_UpdateMissionVisibleOnGeoscape().
bool CP_CheckNewMissionDetectedOnGeoscape | ( | void | ) |
Check if mission has been detected by radar.
DETECTION_INTERVAL
. Definition at line 769 of file cp_missions.cpp.
References CP_CheckMissionVisibleOnGeoscape(), CP_MissionAddToGeoscape(), DETECTION_INTERVAL, frand(), MIS_Foreach, MISDET_MAY_BE_DETECTED, and UFO_DetectNewUFO().
Referenced by CP_CampaignFunctionPeriodicCall().
bool CP_CheckNextStageDestination | ( | const campaign_t * | campaign, |
aircraft_t * | ufocraft | ||
) |
Check if a stage mission is over when UFO reached destination.
[in] | campaign | The campaign data structure |
[in] | ufocraft | Pointer to the ufo that reached destination. |
Definition at line 1301 of file cp_missions.cpp.
References CP_MissionStageEnd(), aircraft_s::mission, mission_s::stage, STAGE_COME_FROM_ORBIT, STAGE_MISSION_GOTO, and STAGE_RETURN_TO_ORBIT.
Referenced by UFO_CampaignRunUFOs().
Choose a map for given mission.
[in,out] | mission | Pointer to the mission where a new map should be added |
[in] | pos | position of the mission (nullptr if the position will be chosen afterwards) |
< Number of maps fulfilling mission conditions and appeared less often during game.
Definition at line 995 of file cp_missions.cpp.
References mission_s::category, cgi, cgame_import_s::Com_GetMapDefinitionByID(), cgame_import_s::Com_UFOTypeToShortName(), CP_MapIsSelectable(), cp_missiontest, mission_s::crashed, DEBUG_CLIENT, ERR_DROP, GEO_GetColor(), aircraft_s::getUfoType(), mapDef_s::id, cvar_s::integer, INTERESTCATEGORY_RESCUE, mission_s::mapDef, MapDef_ForeachSingleplayerCampaign, MapIsWater, MAPTYPE_TERRAIN, mapDef_s::timesAlreadyUsed, and mission_s::ufo.
Referenced by CP_HarvestMissionGo(), CP_ReconMissionGroundGo(), CP_SpawnCrashSiteMission(), CP_SpawnRescueMission(), CP_TerrorMissionGo(), and TEST_F().
Count the number of mission active and displayed on geoscape.
Definition at line 566 of file cp_missions.cpp.
References MIS_Foreach.
Referenced by GEO_GetGeoscapeAngle().
void CP_CreateBattleParameters | ( | mission_t * | mission, |
battleParam_t * | param, | ||
const aircraft_t * | aircraft | ||
) |
Create parameters needed for battle. This is the data that is used for starting the tactical part of the mission.
[in] | mission | Pointer to the mission that generates the battle |
[out] | param | The battle parameters to set |
[in] | aircraft | the aircraft to go to the mission with |
Definition at line 338 of file cp_missions.cpp.
References _, mission_s::missionData_t::aircraft, mapDef_s::aircraft, mission_s::category, cgi, cgame_import_s::Com_GetRandomMapAssemblyNameForCraft(), cgame_import_s::Com_GetRandomMapAssemblyNameForCrashedCraft(), Com_sprintf(), cgame_import_s::Com_UFOCrashedTypeToShortName(), cgame_import_s::Com_UFOTypeToShortName(), cp_campaignPool, CP_CreateCivilianTeam(), mission_s::crashed, cgame_import_s::csi, cgame_import_s::Cvar_Set(), mission_s::data, frand(), GEO_GetColor(), TerrainDefs::getTerrainName(), aircraft_s::getUfoType(), TerrainDefs::getWeather(), aircraft_s::id, mapDef_s::id, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_RESCUE, cgame_import_s::LIST_ContainsString(), mission_s::mapDef, mapDef_s::mapTheme, MAPTYPE_TERRAIN, MAX_CRASHEDUFO_CONDITION, MIN_CRASHEDUFO_CONDITION, MIS_CreateAlienTeam(), battleParam_s::mission, aircraft_s::model, mission_s::onwin, battleParam_s::param, cgame_import_s::PoolStrDup(), mission_s::pos, mission_s::posAssigned, Q_streq, battleParam_s::retriable, csi_s::terrainDefs, mission_s::ufo, UFO_GetName(), mapDef_s::ufos, and battleParam_s::zoneType.
Referenced by AM_Go_f(), CP_StartSelectedMission(), and TEST_F().
|
static |
Create civilian team.
[in] | mission | Pointer to the mission that generates the battle |
[out] | param | The battlescape parameter container |
Definition at line 309 of file cp_missions.cpp.
References battleParam_s::civilians, battleParam_s::civTeam, mapDef_s::civTeam, GEO_GetCivilianNumberByPosition(), GEO_GetNation(), nation_s::id, mission_s::mapDef, battleParam_s::nation, mission_s::pos, mission_s::posAssigned, and Q_strncpyz().
Referenced by CP_CreateBattleParameters().
mission_t* CP_CreateNewMission | ( | interestCategory_t | category, |
bool | beginNow | ||
) |
Create a new mission of given category.
[in] | category | category of the mission |
[in] | beginNow | true if the mission should begin now |
Definition at line 1673 of file cp_missions.cpp.
References ccs_s::campaignStats, mission_s::category, ccs, CP_BaseAttackMissionOnSpawn(), CP_BuildBaseMissionOnSpawn(), CP_SetMissionName(), CP_TerrorMissionOnSpawn(), ccs_s::date, Date_Add(), Date_Random(), date_s::day, mission_s::finalDate, mission_s::idx, mission_s::initialIndividualInterest, mission_s::initialOverallInterest, ccs_s::interest, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_MAX, INTERESTCATEGORY_TERROR_ATTACK, LIST_Add(), stats_s::missions, ccs_s::missions, OBJZERO, ccs_s::overallInterest, date_s::sec, mission_s::stage, STAGE_NOT_ACTIVE, mission_s::startDate, and mission_s::ufo.
Referenced by CP_SpawnAlienBaseMission(), CP_SpawnNewMissions(), CP_SpawnRescueMission(), CP_SpawnUFOCarrier_f(), CP_StartXVISpreading_f(), and TEST_F().
mission_t* CP_GetMissionByID | ( | const char * | missionId | ) |
Get a mission in ccs.missions by Id.
[in] | missionId | Unique string id for the mission |
Definition at line 432 of file cp_missions.cpp.
References cgi, and CP_GetMissionByIDSilent().
Referenced by AIR_PostLoadInitMissions().
mission_t* CP_GetMissionByIDSilent | ( | const char * | missionId | ) |
Get a mission in ccs.missions by Id without error messages.
[in] | missionId | Unique string id for the mission |
Definition at line 414 of file cp_missions.cpp.
References MIS_Foreach, and Q_streq.
Referenced by CP_GetMissionByID(), and CP_SetMissionName().
Initialize spawning delay.
Definition at line 1786 of file cp_missions.cpp.
References ccs, DELAY_BETWEEN_MISSION_SPAWNING, ccs_s::lastMissionSpawnedDelay, and ccs_s::missionSpawnCallback.
Referenced by CP_CampaignInit().
|
static |
Check if an alien equipment may be used with a mission.
[in] | mission | Pointer to the mission. |
[in] | equip | Pointer to the alien equipment to check. |
[in] | equipPack | Equipment definitions that may be used |
Definition at line 220 of file cp_missions.cpp.
References equipDef_s::id, mission_s::initialOverallInterest, LIST_Foreach, equipDef_s::maxInterest, equipDef_s::minInterest, name, and Q_strstart().
Referenced by CP_SetAlienEquipmentByInterest().
|
static |
Check if an alien team category may be used for a mission category.
[in] | cat | Pointer to the alien team category. |
[in] | missionCat | Mission category to check. |
Definition at line 161 of file cp_missions.cpp.
References i, alienTeamCategory_s::missionCategories, and alienTeamCategory_s::numMissionCategories.
Referenced by CP_SetAlienTeamByInterest().
|
static |
Check if a map may be selected for mission.
[in] | mission | Pointer to the mission where mapDef should be added |
[in] | pos | position of the mission (nullptr if the position will be chosen afterwards) |
[in] | md | The map description data (what it is suitable for) |
Definition at line 959 of file cp_missions.cpp.
References cgi, cgame_import_s::Com_UFOCrashedTypeToShortName(), cgame_import_s::Com_UFOTypeToShortName(), mission_s::crashed, mapDef_s::cultures, GEO_PositionFitsTCPNTypes(), aircraft_s::getUfoType(), cgame_import_s::LIST_ContainsString(), mapDef_s::populations, mapDef_s::storyRelated, mapDef_s::terrains, type, mission_s::ufo, and mapDef_s::ufos.
Referenced by CP_ChooseMap().
Add a mission to geoscape: make it visible and stop time.
[in] | mission | Pointer to added mission. |
[in] | force | true if the mission should be added even for mission needing a probabilty test to be seen. |
Definition at line 740 of file cp_missions.cpp.
References _, cgi, CP_CheckMissionVisibleOnGeoscape(), CP_GameTimeStop(), CP_MissionGetMessage(), CP_MissionGetMessageLevel(), aircraft_s::detected, GEO_UpdateGeoscapeDock(), MISDET_CANT_BE_DETECTED, MISDET_MAY_BE_DETECTED, MS_AddNewMessage(), mission_s::onGeoscape, mission_s::pos, aircraft_s::pos, mission_s::stage, and mission_s::ufo.
Referenced by CP_BeginRescueMission(), CP_BuildBaseSubvertGovernment(), CP_CheckNewMissionDetectedOnGeoscape(), CP_HarvestMissionStart(), CP_ReconMissionGround(), CP_SpawnAlienBaseMission(), CP_SpawnCrashSiteMission(), CP_TerrorMissionStart(), CP_UpdateMissionVisibleOnGeoscape(), and CP_XVIMissionStart().
bool CP_MissionBegin | ( | mission_t * | mission | ) |
mission begins: UFO arrive on earth.
[in] | mission | The mission to change the state for |
Definition at line 1536 of file cp_missions.cpp.
References ccs_s::campaignStats, ccs, cgi, cgame_import_s::Com_UFOTypeToShortName(), CP_MissionChooseUFO(), CP_MissionDisableTimeLimit(), CP_MissionRemove(), ccs_s::date, mission_s::finalDate, mission_s::id, mission_s::idx, MIS_IsSpawnedFromGround(), stats_s::missions, mission_s::stage, STAGE_COME_FROM_ORBIT, mission_s::ufo, UFO_AddToGeoscape(), and UFO_NONE.
Referenced by CP_BaseAttackMissionNextStage(), CP_BuildBaseMissionNextStage(), CP_HarvestMissionNextStage(), CP_InterceptNextStage(), CP_ReconMissionNextStage(), CP_TerrorMissionNextStage(), and CP_XVIMissionNextStage().
Choose UFO type for a given mission category.
[in] | mission | Pointer to the mission where the UFO will be added |
Definition at line 1572 of file cp_missions.cpp.
References mission_s::category, cgi, CP_BasemissionIsSubvertingGovernmentMission(), ERR_DROP, frand(), int(), INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_HARVEST, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_INTERCEPTBOMBING, INTERESTCATEGORY_MAX, INTERESTCATEGORY_NONE, INTERESTCATEGORY_RECON, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUBVERT, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, INTERESTCATEGORY_UFOCARRIER, INTERESTCATEGORY_XVI, UFO_GetAvailableUFOsForMission(), UFO_MAX, and UFO_NONE.
Referenced by CP_MissionBegin(), and CP_SupplyMissionCreate().
Disable time limit for given mission.
Definition at line 893 of file cp_missions.cpp.
References date_s::day, and mission_s::finalDate.
Referenced by CP_BaseAttackGoToBase(), CP_BaseAttackMissionLeave(), CP_BaseAttackStartMission(), CP_BuildBaseGovernmentLeave(), CP_BuildBaseMissionLeave(), CP_HarvestMissionGo(), CP_InterceptGoToInstallation(), CP_InterceptMissionLeave(), CP_LeaveRescueMission(), CP_MissionBegin(), CP_ReconMissionGroundGo(), CP_ReconMissionLeave(), CP_SpawnAlienBaseMission(), CP_SpawnRescueMission(), CP_SupplyMissionCreate(), CP_SupplyMissionLeave(), and CP_TerrorMissionGo().
void CP_MissionEnd | ( | const campaign_t * | campaign, |
mission_t * | mission, | ||
const battleParam_t * | battleParameters, | ||
bool | won | ||
) |
Closing actions after fighting a battle.
[in] | campaign | The campaign we play |
[in,out] | mission | The mission the battle was on |
[in] | battleParameters | Parameters of the battle |
[in] | won | if PHALANX won |
Definition at line 1249 of file cp_missions.cpp.
References AIR_IsEmployeeInAircraft(), base_s::aircraftCurrent, mission_s::missionData_t::base, ccs_s::campaignStats, ccs, cgi, CHAR_UpdateData(), CHAR_UpdateStats(), CP_CheckLostCondition(), CP_ExecuteMissionTrigger(), CP_HandleNationData(), CP_MissionEndActions(), mission_s::data, DEBUG_CLIENT, E_DeleteEmployee(), E_Foreach, ccs_s::eMission, EMPL_SOLDIER, GEO_GetMissionAircraft, aircraft_s::homebase, campaign_s::minhappiness, mission_s::missionResults, stats_s::missionsLost, stats_s::missionsWon, battleParam_s::nation, mission_s::stage, STAGE_BASE_ATTACK, base_s::storage, and ccs_s::updateCharacters.
Referenced by GAME_CP_Results_f().
void CP_MissionEndActions | ( | mission_t * | mission, |
aircraft_t * | aircraft, | ||
bool | won | ||
) |
Actions to be done after mission finished.
[in,out] | mission | Pointer to the finished mission |
[in,out] | aircraft | Pointer to the dropship done the mission |
[in] | won | Boolean flag if thew mission was successful (from PHALANX's PoV) |
Definition at line 1214 of file cp_missions.cpp.
References _, AIR_AircraftReturnToBase(), B_DumpAircraftToHomeBase(), mission_s::category, Com_sprintf(), CP_BaseAttackMissionDestroyBase(), CP_BaseAttackMissionIsFailure(), CP_EndRescueMission(), cp_messageBuffer, CP_MissionIsOver(), aircraft_s::homebase, INTERESTCATEGORY_RESCUE, MS_AddNewMessage(), base_s::name, mission_s::stage, and STAGE_BASE_ATTACK.
Referenced by CP_MissionEnd().
|
inlinestatic |
Assembles a message that is send to the gamer once the given mission is added to geoscape.
[in] | mission | The mission that was added to the geoscape and for that a message should be created |
Definition at line 720 of file cp_missions.cpp.
References _, mission_s::missionData_t::aircraft, mission_s::category, Com_sprintf(), cp_messageBuffer, mission_s::data, GEO_GetNation(), INTERESTCATEGORY_RESCUE, nation_s::name, aircraft_s::name, and mission_s::pos.
Referenced by CP_MissionAddToGeoscape().
|
inlinestatic |
Decides which message level to take for the given mission.
[in] | mission | The mission to chose the message level for |
Definition at line 699 of file cp_missions.cpp.
References mission_s::crashed, MSG_BASEATTACK, MSG_CRASHSITE, MSG_STANDARD, MSG_TERRORSITE, mission_s::stage, STAGE_BASE_ATTACK, and STAGE_TERROR_MISSION.
Referenced by CP_MissionAddToGeoscape().
Mission is finished because Phalanx team won it.
[in] | mission | Pointer to the mission that is ended. |
Definition at line 1139 of file cp_missions.cpp.
References mission_s::category, cgi, CP_BaseAttackMissionIsFailure(), CP_BaseAttackMissionIsSuccess(), CP_BuildBaseMissionBaseDestroyed(), CP_BuildBaseMissionIsFailure(), CP_BuildBaseMissionIsSuccess(), CP_HarvestMissionIsFailure(), CP_InterceptMissionIsFailure(), CP_InterceptMissionIsSuccess(), CP_MissionRemove(), CP_ReconMissionIsFailure(), CP_SupplyMissionIsFailure(), CP_SupplyMissionIsSuccess(), CP_TerrorMissionIsFailure(), CP_XVIMissionIsFailure(), CP_XVIMissionIsSuccess(), INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_HARVEST, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_INTERCEPTBOMBING, INTERESTCATEGORY_MAX, INTERESTCATEGORY_NONE, INTERESTCATEGORY_RECON, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUBVERT, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, INTERESTCATEGORY_UFOCARRIER, INTERESTCATEGORY_XVI, mission_s::stage, STAGE_BASE_ATTACK, STAGE_BUILD_BASE, STAGE_INTERCEPT, STAGE_SPREAD_XVI, and STAGE_SUPPLY.
Referenced by CP_MissionEndActions(), CP_MissionIsOverByUFO(), and CP_MissionStageEnd().
void CP_MissionIsOverByUFO | ( | aircraft_t * | ufocraft | ) |
Mission is finished because Phalanx team ended it.
[in] | ufocraft | Pointer to the UFO involved in this mission |
Definition at line 1202 of file cp_missions.cpp.
References CP_MissionIsOver(), and aircraft_s::mission.
Referenced by AIRFIGHT_ActionsAfterAirfight().
Notify that a base has been removed.
Definition at line 919 of file cp_missions.cpp.
References CP_BaseAttackMissionLeave(), INTERESTCATEGORY_BASE_ATTACK, and MIS_Foreach.
Referenced by B_Destroy().
void CP_MissionNotifyInstallationDestroyed | ( | const installation_t * | installation | ) |
Notify missions that an installation has been destroyed.
[in] | installation | Pointer to the installation that has been destroyed. |
Definition at line 936 of file cp_missions.cpp.
References CP_InterceptMissionLeave(), INTERESTCATEGORY_INTERCEPT, and MIS_Foreach.
Referenced by INS_DestroyInstallation().
Removes a mission from mission global array.
Definition at line 870 of file cp_missions.cpp.
References ccs_s::battleParameters, ccs, cgi, CP_MissionRemoveFromGeoscape(), CP_UFORemoveFromGeoscape(), ERR_DROP, mission_s::id, battleParam_s::mission, ccs_s::missions, and mission_s::ufo.
Referenced by CP_BaseAttackGoToBase(), CP_BaseAttackMissionIsFailure(), CP_BaseAttackMissionIsSuccess(), CP_BaseAttackMissionNextStage(), CP_BeginRescueMission(), CP_BuildBaseMissionBaseDestroyed(), CP_BuildBaseMissionIsFailure(), CP_BuildBaseMissionIsSuccess(), CP_BuildBaseMissionNextStage(), CP_BuildBaseSetUpBase(), CP_HarvestMissionGo(), CP_HarvestMissionIsFailure(), CP_HarvestMissionIsSuccess(), CP_HarvestMissionNextStage(), CP_InterceptGoToInstallation(), CP_InterceptMissionIsFailure(), CP_InterceptMissionIsSuccess(), CP_InterceptNextStage(), CP_MissionBegin(), CP_MissionIsOver(), CP_MissionStageEnd(), CP_ReconMissionGroundGo(), CP_ReconMissionIsFailure(), CP_ReconMissionIsSuccess(), CP_ReconMissionNextStage(), CP_RescueNextStage(), CP_SetAlienTeamByInterest(), CP_SpawnCrashSiteMission(), CP_SpawnRescueMission(), CP_SupplyGoToBase(), CP_SupplyMissionCreate(), CP_SupplyMissionIsFailure(), CP_SupplyMissionIsSuccess(), CP_SupplyMissionNextStage(), CP_SupplySetStayAtBase(), CP_TerrorMissionGo(), CP_TerrorMissionIsFailure(), CP_TerrorMissionIsSuccess(), CP_TerrorMissionNextStage(), CP_XVIMissionIsFailure(), CP_XVIMissionIsSuccess(), and CP_XVIMissionNextStage().
Removes a mission from geoscape: make it non visible and call notify functions.
Definition at line 682 of file cp_missions.cpp.
References AIR_AircraftsNotifyMissionRemoved(), mission_s::category, GEO_NotifyMissionRemoved(), INTERESTCATEGORY_BASE_ATTACK, and mission_s::onGeoscape.
Referenced by CP_InterceptMissionLeave(), CP_LeaveRescueMission(), CP_MissionRemove(), CP_ReconMissionGroundGo(), CP_ReconMissionLeave(), and CP_UpdateMissionVisibleOnGeoscape().
void CP_MissionStageEnd | ( | const campaign_t * | campaign, |
mission_t * | mission | ||
) |
Determine what action should be performed when a mission stage ends.
[in] | campaign | The campaign data structure |
[in] | mission | Pointer to the mission which stage ended. |
Definition at line 1083 of file cp_missions.cpp.
References mission_s::category, ccs, cgi, CP_BaseAttackMissionNextStage(), CP_BuildBaseMissionNextStage(), CP_HarvestMissionNextStage(), CP_InterceptNextStage(), CP_MissionIsOver(), CP_MissionRemove(), CP_ReconMissionNextStage(), CP_RescueNextStage(), CP_SupplyMissionNextStage(), CP_TerrorMissionNextStage(), CP_UFOCarrierNextStage(), CP_XVIMissionNextStage(), mission_s::crashed, ccs_s::date, date_s::day, DEBUG_CLIENT, mission_s::id, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_HARVEST, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_INTERCEPTBOMBING, INTERESTCATEGORY_MAX, INTERESTCATEGORY_NONE, INTERESTCATEGORY_RECON, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUBVERT, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, INTERESTCATEGORY_UFOCARRIER, INTERESTCATEGORY_XVI, date_s::sec, and mission_s::stage.
Referenced by CP_CheckMissionEnd(), CP_CheckNextStageDestination(), and CP_UFOProceedMission().
|
static |
Select new mission type.
Definition at line 1717 of file cp_missions.cpp.
References ccs, frand(), i, ccs_s::interest, and INTERESTCATEGORY_MAX.
Referenced by CP_SpawnNewMissions().
|
static |
Set alien equipment for a mission (depends on the interest values)
[in] | mission | Pointer to the mission that generates the battle. |
[in] | equipPack | Equipment definitions that may be used |
[in] | battleParameters | Context data of the battle |
Definition at line 242 of file cp_missions.cpp.
References battleParam_s::alienEquipment, cgi, Com_sprintf(), CP_IsAlienEquipmentSelectable(), cgame_import_s::csi, DEBUG_CLIENT, csi_s::eds, ERR_DROP, i, mission_s::id, equipDef_s::id, and csi_s::numEDs.
Referenced by MIS_CreateAlienTeam().
|
static |
Sets the alien races used for a mission.
[in] | mission | Pointer to the mission. |
[out] | battleParameters | The battlescape parameter the alien team is stored in |
Definition at line 176 of file cp_missions.cpp.
References ccs_s::alienCategories, battleParam_s::alienTeamGroup, alienTeamCategory_s::alienTeamGroups, mission_s::category, ccs, cgi, CP_IsAlienTeamForCategory(), CP_MissionRemove(), ERR_DROP, i, mission_s::id, mission_s::initialOverallInterest, alienTeamGroup_s::maxInterest, alienTeamGroup_s::minInterest, ccs_s::numAlienCategories, and alienTeamCategory_s::numAlienTeamGroups.
Referenced by MIS_CreateAlienTeam().
Set mission name.
[out] | mission | The mission to set the name for |
Definition at line 1644 of file cp_missions.cpp.
References mission_s::category, ccs, cgi, Com_sprintf(), CP_GetMissionByIDSilent(), mission_s::id, mission_s::initialOverallInterest, and ccs_s::missions.
Referenced by CP_CreateNewMission().
void CP_SpawnCrashSiteMission | ( | aircraft_t * | ufo | ) |
Spawn a new crash site after a UFO has been destroyed.
[in,out] | ufo | The ufo to spawn a crash site mission for |
Definition at line 1353 of file cp_missions.cpp.
References ccs, cgi, CP_ChooseMap(), CP_MissionAddToGeoscape(), CP_MissionRemove(), CP_UFORemoveFromGeoscape(), mission_s::crashed, ccs_s::date, Date_Add(), Date_Random(), ERR_DROP, mission_s::finalDate, aircraft_s::id, mission_s::mapDef, aircraft_s::mission, mission_s::pos, aircraft_s::pos, mission_s::posAssigned, and Vector2Copy.
Referenced by AIRFIGHT_ActionsAfterAirfight(), and CP_AttackUFOCarrier_f().
Spawn new missions.
Definition at line 1738 of file cp_missions.cpp.
References AB_GetAlienBaseNumber(), ccs, cgi, CP_CreateNewMission(), CP_SelectNewMissionType(), ccs_s::curCampaign, DEBUG_CLIENT, DELAY_BETWEEN_MISSION_SPAWNING, EARLY_UFO_RUSH_INTEREST, f, FINAL_OVERALL_INTEREST, frand(), i, campaign_s::initialInterest, int(), INT_ChangeIndividualInterest(), INTERESTCATEGORY_SUPPLY, ccs_s::lastMissionSpawnedDelay, campaign_s::maxMissions, campaign_s::minMissions, ccs_s::overallInterest, type, and campaign_s::ufoReductionRate.
Referenced by CP_ResetCampaignData().
void CP_SpawnRescueMission | ( | aircraft_t * | aircraft, |
aircraft_t * | ufo | ||
) |
Spawn a new rescue mission for a crashed (phalanx) aircraft.
[in] | aircraft | The crashed aircraft to spawn the rescue mission for. |
[in] | ufo | The UFO that shot down the phalanx aircraft, can also be nullptr if the UFO was destroyed. |
Definition at line 1394 of file cp_missions.cpp.
References aircraft_s::acTeam, AIR_CRASHED, AIR_DestroyAircraft(), AIR_GetFirstFromBase(), AIR_GetHangarCapacityType(), AIR_GetPilot(), AIR_PilotSurvivedCrash(), mission_s::missionData_t::aircraft, base_s::aircraftCurrent, CAP_AddCurrent(), cgi, CP_ChooseMap(), CP_CreateNewMission(), CP_MissionDisableTimeLimit(), CP_MissionRemove(), mission_s::data, E_DeleteEmployee(), ERR_DROP, GEO_IsAircraftSelected, GEO_SetSelectedAircraft, aircraft_s::homebase, mission_s::id, INTERESTCATEGORY_RESCUE, LIST_Foreach, mission_s::mapDef, MAX_CAP, aircraft_s::mission, mission_s::pos, aircraft_s::pos, character_s::score, mission_s::stage, STAGE_MISSION_GOTO, aircraft_s::status, mission_s::ufo, and Vector2Copy.
Referenced by AIRFIGHT_ActionsAfterAirfight(), and B_MoveAircraftOnGeoscapeToOtherBases().
void CP_UFOProceedMission | ( | const campaign_t * | campaign, |
aircraft_t * | ufo | ||
) |
Make UFO proceed with its mission when the fight with another aircraft is over (and UFO survived).
[in] | campaign | The campaign data structure |
[in] | ufo | Pointer to the ufo that should proceed a mission. |
Definition at line 1327 of file cp_missions.cpp.
References AIR_TRANSIT, mission_s::missionData_t::aircraft, AIRFIGHT_ChooseWeapon(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, mission_s::category, CP_MissionStageEnd(), mission_s::data, INTERESTCATEGORY_INTERCEPT, aircraft_s::maxWeapons, aircraft_s::mission, mission_s::pos, aircraft_s::pos, mission_s::stage, STAGE_MISSION_GOTO, STAGE_RETURN_TO_ORBIT, aircraft_s::status, UFO_SendToDestination(), UFO_SetRandomDest(), and aircraft_s::weapons.
Referenced by AIRFIGHT_ActionsAfterAirfight(), AIRFIGHT_ExecuteActions(), and UFO_CheckShootBack().
Removes (temporarily or permanently) a UFO from geoscape: make it land and call notify functions.
[in] | mission | Pointer to mission. |
[in] | destroyed | True if the UFO has been destroyed, false if it's only landed. |
Definition at line 827 of file cp_missions.cpp.
References AIR_AircraftsNotifyUFORemoved(), AIRFIGHT_RemoveProjectileAimingAircraft(), aircraft_s::detected, GEO_NotifyUFORemoved(), aircraft_s::landed, MIS_Foreach, aircraft_s::pos, RADAR_CheckRadarSensored(), RADAR_NotifyUFORemoved(), mission_s::ufo, and UFO_RemoveFromGeoscape().
Referenced by CP_BaseAttackStartMission(), CP_BuildBaseSetUpBase(), CP_BuildBaseSubvertGovernment(), CP_HarvestMissionStart(), CP_MissionRemove(), CP_ReconMissionGround(), CP_SpawnCrashSiteMission(), CP_SupplySetStayAtBase(), CP_TerrorMissionStart(), and CP_XVIMissionStart().
Update all mission visible on geoscape (in base radar range).
Definition at line 806 of file cp_missions.cpp.
References CP_CheckMissionVisibleOnGeoscape(), CP_MissionAddToGeoscape(), CP_MissionRemoveFromGeoscape(), MIS_Foreach, MISDET_ALWAYS_DETECTED, and MISDET_CANT_BE_DETECTED.
Referenced by RADAR_UpdateBaseRadarCoverage_f(), and RADAR_UpdateInstallationRadarCoverage().
|
static |
Set number of aliens in mission.
[in,out] | mission | Pointer to the mission that generates the battle. |
[in,out] | battleParam | The battlescape parameter container |
Definition at line 282 of file cp_missions.cpp.
References ccs_s::alienCategories, battleParam_s::aliens, battleParam_s::alienTeamGroup, alienTeamGroup_s::categoryIdx, ccs, CP_SetAlienEquipmentByInterest(), CP_SetAlienTeamByInterest(), alienTeamCategory_s::equipment, mission_s::mapDef, alienTeamGroup_s::maxAlienCount, mapDef_s::maxAliens, aircraft_s::maxTeamSize, alienTeamGroup_s::minAlienCount, mission_s::posAssigned, and mission_s::ufo.
Referenced by CP_CreateBattleParameters().
Find mission corresponding to idx.
Definition at line 447 of file cp_missions.cpp.
References MIS_Foreach.
Referenced by AIR_SendAircraftToMission_f(), GEO_GetMissionAngle(), and MIS_GeoSelectMission_f().
Find idx corresponding to mission.
Definition at line 460 of file cp_missions.cpp.
References mission_s::idx.
Referenced by GEO_Click().
const char* MIS_GetModel | ( | const mission_t * | mission | ) |
Get mission model that should be shown on the geoscape.
[in] | mission | Pointer to the mission drawn on geoscape |
Definition at line 589 of file cp_missions.cpp.
References mission_s::category, cgi, mission_s::crashed, DEBUG_CLIENT, ERR_DROP, mission_s::id, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_HARVEST, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_INTERCEPTBOMBING, INTERESTCATEGORY_MAX, INTERESTCATEGORY_NONE, INTERESTCATEGORY_RECON, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUBVERT, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, INTERESTCATEGORY_UFOCARRIER, INTERESTCATEGORY_XVI, mission_s::mapDef, and mapDef_s::storyRelated.
Referenced by GEO_DrawMapOneMission(), and GEO_UpdateGeoscapeDock().
const char* MIS_GetName | ( | const mission_t * | mission | ) |
Returns a short translated name for a mission.
[in] | mission | Pointer to the mission to get name for |
Definition at line 469 of file cp_missions.cpp.
References _, mission_s::missionData_t::aircraft, mission_s::missionData_t::base, mission_s::category, mission_s::missionData_t::city, mission_s::crashed, mission_s::data, aircraft_s::detected, GEO_GetNation(), INTERESTCATEGORY_RESCUE, aircraft_s::landed, nation_s::name, city_s::name, base_s::name, aircraft_s::name, mission_s::pos, mission_s::stage, STAGE_BASE_ATTACK, STAGE_BASE_DISCOVERED, STAGE_TERROR_MISSION, mission_s::ufo, UFO_GetName(), and va().
Referenced by AIR_GeoSelectAircraft_f(), AIR_Move(), GEO_Click(), GEO_DrawMapOneMission(), GEO_GetMissionText(), and GEO_UpdateGeoscapeDock().
Init actions for missions-subsystem.
Definition at line 2210 of file cp_missions.cpp.
References cgi, and MIS_InitCallbacks().
Referenced by CP_InitStartup().
|
static |
Decides if the mission should be spawned from the ground (without UFO)
[in] | mission | Pointer to the mission |
< Typical XVI average value for spreading mission from earth
Definition at line 1489 of file cp_missions.cpp.
References mission_s::category, cgi, CP_GetAverageXVIRate(), ERR_DROP, f, cgame_import_s::f, frand(), INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_HARVEST, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_INTERCEPTBOMBING, INTERESTCATEGORY_MAX, INTERESTCATEGORY_NONE, INTERESTCATEGORY_RECON, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUBVERT, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, INTERESTCATEGORY_UFOCARRIER, and INTERESTCATEGORY_XVI.
Referenced by CP_MissionBegin().
bool MIS_LoadXML | ( | xmlNode_t * | parent | ) |
Load callback for savegames in XML Format.
[in] | parent | XML Node structure, where we get the information from |
Definition at line 2064 of file cp_missions.cpp.
References AB_GetByIDX(), mission_s::active, AIR_AircraftGetFromIDX(), mission_s::missionData_t::aircraft, mission_s::missionData_t::alienBase, B_GetBaseByIDX(), B_IsUnderAttack, mission_s::missionData_t::base, mission_s::category, ccs, cgi, mission_s::missionData_t::city, CITY_GetByPos(), cgame_import_s::Com_GetMapDefinitionByID(), CP_BasemissionIsSubvertingGovernmentMission(), mission_s::crashed, mission_s::data, date_s::day, mission_s::finalDate, mission_s::id, base_s::idx, mission_s::idx, mission_s::initialIndividualInterest, mission_s::initialOverallInterest, INS_GetByIDX(), mission_s::missionData_t::installation, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUPPLY, INTERESTCATEGORY_TERROR_ATTACK, LIST_Add(), mission_s::mapDef, ccs_s::missions, base_s::name, name, OBJZERO, mission_s::onGeoscape, mission_s::onlose, mission_s::onwin, mission_s::pos, mission_s::posAssigned, Q_strncpyz(), SAVE_INTERESTCAT_NAMESPACE, SAVE_MISSIONS, SAVE_MISSIONS_ACTIVE, SAVE_MISSIONS_ALIENBASEINDEX, SAVE_MISSIONS_BASEINDEX, SAVE_MISSIONS_CATEGORY, SAVE_MISSIONS_CRASHED, SAVE_MISSIONS_CRASHED_AIRCRAFT, SAVE_MISSIONS_FINALDATE, SAVE_MISSIONS_ID, SAVE_MISSIONS_INITIALINDIVIDUALINTEREST, SAVE_MISSIONS_INITIALOVERALLINTEREST, SAVE_MISSIONS_INSTALLATIONINDEX, SAVE_MISSIONS_MAPDEF_ID, SAVE_MISSIONS_MISSION, SAVE_MISSIONS_MISSION_IDX, SAVE_MISSIONS_ONGEOSCAPE, SAVE_MISSIONS_ONLOSE, SAVE_MISSIONS_ONWIN, SAVE_MISSIONS_POS, SAVE_MISSIONS_POSASSIGNED, SAVE_MISSIONS_STAGE, SAVE_MISSIONS_STARTDATE, SAVE_MISSIONSTAGE_NAMESPACE, saveInterestConstants, saveMissionConstants, date_s::sec, mission_s::stage, STAGE_BASE_ATTACK, STAGE_BUILD_BASE, STAGE_INTERCEPT, STAGE_MISSION_GOTO, STAGE_TERROR_MISSION, mission_s::startDate, cgame_import_s::XML_GetDate(), cgame_import_s::XML_GetNextNode(), cgame_import_s::XML_GetNode(), cgame_import_s::XML_GetPos2(), cgame_import_s::XML_GetString(), and xmlNode_t.
Referenced by SAV_Init().
bool MIS_SaveXML | ( | xmlNode_t * | parent | ) |
Save callback for savegames in XML Format.
[out] | parent | XML Node structure, where we write the information to |
Definition at line 1992 of file cp_missions.cpp.
References mission_s::active, mission_s::missionData_t::aircraft, mission_s::missionData_t::alienBase, mission_s::missionData_t::base, mission_s::category, cgi, cgame_import_s::Com_GetConstVariable(), mission_s::crashed, mission_s::data, date_s::day, mission_s::finalDate, mission_s::id, mapDef_s::id, alienBase_s::idx, installation_s::idx, base_s::idx, mission_s::idx, aircraft_s::idx, mission_s::initialIndividualInterest, mission_s::initialOverallInterest, mission_s::missionData_t::installation, INTERESTCATEGORY_ALIENBASE, INTERESTCATEGORY_BASE_ATTACK, INTERESTCATEGORY_BUILDING, INTERESTCATEGORY_INTERCEPT, INTERESTCATEGORY_RESCUE, INTERESTCATEGORY_SUPPLY, mission_s::mapDef, MIS_Foreach, mission_s::onGeoscape, mission_s::onlose, mission_s::onwin, mission_s::pos, mission_s::posAssigned, SAVE_INTERESTCAT_NAMESPACE, SAVE_MISSIONS, SAVE_MISSIONS_ACTIVE, SAVE_MISSIONS_ALIENBASEINDEX, SAVE_MISSIONS_BASEINDEX, SAVE_MISSIONS_CATEGORY, SAVE_MISSIONS_CRASHED, SAVE_MISSIONS_CRASHED_AIRCRAFT, SAVE_MISSIONS_FINALDATE, SAVE_MISSIONS_ID, SAVE_MISSIONS_INITIALINDIVIDUALINTEREST, SAVE_MISSIONS_INITIALOVERALLINTEREST, SAVE_MISSIONS_INSTALLATIONINDEX, SAVE_MISSIONS_MAPDEF_ID, SAVE_MISSIONS_MISSION, SAVE_MISSIONS_MISSION_IDX, SAVE_MISSIONS_ONGEOSCAPE, SAVE_MISSIONS_ONLOSE, SAVE_MISSIONS_ONWIN, SAVE_MISSIONS_POS, SAVE_MISSIONS_POSASSIGNED, SAVE_MISSIONS_STAGE, SAVE_MISSIONS_STARTDATE, SAVE_MISSIONSTAGE_NAMESPACE, saveInterestConstants, saveMissionConstants, date_s::sec, mission_s::stage, STAGE_BASE_ATTACK, STAGE_INTERCEPT, STAGE_MISSION_GOTO, mission_s::startDate, cgame_import_s::XML_AddNode(), and xmlNode_t.
Referenced by SAV_Init().
Closing actions for missions-subsystem.
Definition at line 2219 of file cp_missions.cpp.
References ccs, cgi, MIS_ShutdownCallbacks(), and ccs_s::missions.
Referenced by CP_Shutdown().
|
static |
Definition at line 2196 of file cp_missions.cpp.
|
static |
Definition at line 65 of file cp_missions.cpp.
Referenced by CP_CreateBattleParameters().
const int MAX_POS_LOOP = 10 |
Maximum number of loops to choose a mission position (to avoid infinite loops)
Definition at line 61 of file cp_missions.cpp.
Referenced by CP_HarvestMissionGo(), CP_ReconMissionGroundGo(), and CP_TerrorMissionGo().
|
static |
Condition limits for crashed UFOs - used for disassemlies
Definition at line 64 of file cp_missions.cpp.
Referenced by CP_CreateBattleParameters().