UFO: Alien Invasion
|
Header file for airfights. More...
Go to the source code of this file.
Data Structures | |
struct | aircraftProjectile_s |
projectile used during fight between two or more aircraft More... | |
Macros | |
#define | BULLETS_PER_SHOT 1 |
#define | MAX_MULTIPLE_PROJECTILES 10 |
#define | AIRFIGHT_WEAPON_CAN_SHOOT 0 |
#define | AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT -1 |
#define | AIRFIGHT_WEAPON_CAN_NEVER_SHOOT -2 |
#define | AIRFIGHT_BASE_CAN_T_FIRE -1 |
Typedefs | |
typedef struct aircraftProjectile_s | aircraftProjectile_t |
projectile used during fight between two or more aircraft More... | |
Functions | |
void | AIRFIGHT_ExecuteActions (const struct campaign_s *campaign, aircraft_t *air, aircraft_t *ufo) |
void | AIRFIGHT_ActionsAfterAirfight (const struct campaign_s *campaign, aircraft_t *shooter, aircraft_t *aircraft, bool phalanxWon) |
void | AIRFIGHT_CampaignRunProjectiles (const struct campaign_s *campaign, int dt) |
void | AIRFIGHT_CampaignRunBaseDefence (int dt) |
Run base defences. More... | |
int | AIRFIGHT_CheckWeapon (const aircraftSlot_t *slot, float distance) |
Check if the selected weapon can shoot. More... | |
int | AIRFIGHT_ChooseWeapon (const aircraftSlot_t *slot, int maxSlot, const vec2_t pos, const vec2_t targetPos) |
Choose the weapon an attacking aircraft will use to fire on a target. More... | |
bool | AIRFIGHT_BaseCanTargetUFO (const struct base_s *base, const aircraft_t *ufo) |
void | AIRFIGHT_RemoveProjectileAimingAircraft (const aircraft_t *aircraft) |
Set all projectile aiming a given aircraft to an idle destination. More... | |
bool | AIRFIGHT_SaveXML (xmlNode_t *parent) |
Save callback for savegames in XML Format. More... | |
bool | AIRFIGHT_LoadXML (xmlNode_t *parent) |
Load callback for savegames in XML Format. More... | |
void | AIRFIGHT_InitStartup (void) |
Header file for airfights.
Definition in file cp_airfight.h.
#define AIRFIGHT_BASE_CAN_T_FIRE -1 |
Definition at line 40 of file cp_airfight.h.
#define AIRFIGHT_WEAPON_CAN_NEVER_SHOOT -2 |
Definition at line 38 of file cp_airfight.h.
Referenced by AII_WeaponsCanShoot(), AIRFIGHT_BaseShoot(), AIRFIGHT_CheckWeapon(), AIRFIGHT_ChooseWeapon(), AIRFIGHT_InstallationShoot(), BDEF_AutoTarget(), CL_DisplayPopupInterceptUFO(), CP_InterceptNextStage(), CP_UFOProceedMission(), and UFO_SendPursuingAircraft().
#define AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT -1 |
Definition at line 37 of file cp_airfight.h.
Referenced by AIRFIGHT_BaseShoot(), AIRFIGHT_CheckWeapon(), AIRFIGHT_ChooseWeapon(), AIRFIGHT_ExecuteActions(), AIRFIGHT_InstallationShoot(), and BDEF_AutoTarget().
#define AIRFIGHT_WEAPON_CAN_SHOOT 0 |
Definition at line 36 of file cp_airfight.h.
Referenced by AIRFIGHT_CheckWeapon(), AIRFIGHT_ChooseWeapon(), and AIRFIGHT_ExecuteActions().
#define BULLETS_PER_SHOT 1 |
Definition at line 28 of file cp_airfight.h.
#define MAX_MULTIPLE_PROJECTILES 10 |
Definition at line 29 of file cp_airfight.h.
Referenced by AIRFIGHT_LoadXML().
typedef struct aircraftProjectile_s aircraftProjectile_t |
projectile used during fight between two or more aircraft
void AIRFIGHT_ActionsAfterAirfight | ( | const struct campaign_s * | campaign, |
aircraft_t * | shooter, | ||
aircraft_t * | aircraft, | ||
bool | phalanxWon | ||
) |
bool AIRFIGHT_BaseCanTargetUFO | ( | const struct base_s * | base, |
const aircraft_t * | ufo | ||
) |
Run base defences.
[in] | dt | Time elapsed since last call of this function. |
Definition at line 828 of file cp_airfight.cpp.
References AII_BaseCanShoot(), AII_InstallationCanShoot(), AII_ReloadWeapon(), AIRFIGHT_BaseShoot(), AIRFIGHT_InstallationShoot(), aircraftSlot_s::ammoLeft, B_DEFENCE_LASER, B_DEFENCE_MISSILE, B_GetBuildingStatus(), B_GetNext(), B_IsUnderAttack, base_s::batteries, aircraftSlot_s::delayNextShot, INS_Foreach, INSTALLATION_WORKING, base_s::lasers, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.
Referenced by CP_CampaignFunctionPeriodicCall().
void AIRFIGHT_CampaignRunProjectiles | ( | const struct campaign_s * | campaign, |
int | dt | ||
) |
int AIRFIGHT_CheckWeapon | ( | const aircraftSlot_t * | slot, |
float | distance | ||
) |
Check if the selected weapon can shoot.
[in] | slot | Pointer to the weapon slot to shoot with. |
[in] | distance | distance between the weapon and the target. |
Definition at line 200 of file cp_airfight.cpp.
References AIR_STATS_WRANGE, AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, AIRFIGHT_WEAPON_CAN_SHOOT, aircraftSlot_s::ammo, aircraftSlot_s::ammoLeft, objDef_s::craftitem, aircraftSlot_s::delayNextShot, aircraftSlot_s::installationTime, aircraftSlot_s::item, and craftitem_s::stats.
Referenced by AII_WeaponsCanShoot(), AIRFIGHT_BaseShoot(), AIRFIGHT_ChooseWeapon(), AIRFIGHT_InstallationShoot(), and BDEF_AutoTarget().
int AIRFIGHT_ChooseWeapon | ( | const aircraftSlot_t * | slot, |
int | maxSlot, | ||
const vec2_t | pos, | ||
const vec2_t | targetPos | ||
) |
Choose the weapon an attacking aircraft will use to fire on a target.
[in] | slot | Pointer to the first weapon slot of attacking base or aircraft. |
[in] | maxSlot | maximum number of weapon slots in attacking base or aircraft. |
[in] | pos | position of attacking base or aircraft. |
[in] | targetPos | Pointer to the aimed aircraft. |
Definition at line 234 of file cp_airfight.cpp.
References AIRFIGHT_CheckWeapon(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, AIRFIGHT_WEAPON_CAN_SHOOT, GetDistanceOnGlobe(), and i.
Referenced by AIRFIGHT_ExecuteActions(), CL_DisplayPopupInterceptUFO(), CP_InterceptNextStage(), CP_UFOProceedMission(), and UFO_SendPursuingAircraft().
void AIRFIGHT_ExecuteActions | ( | const struct campaign_s * | campaign, |
aircraft_t * | air, | ||
aircraft_t * | ufo | ||
) |
Definition at line 997 of file cp_airfight.cpp.
References cgi.
Referenced by CP_InitStartup().
bool AIRFIGHT_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 936 of file cp_airfight.cpp.
References aircraftProjectile_s::aimedAircraft, AIR_AircraftGetFromIDX(), AIRCRAFT_INVALID, aircraftProjectile_s::aircraftItem, aircraftProjectile_s::angle, aircraftProjectile_s::attackerPos, aircraftProjectile_s::attackingAircraft, aircraftProjectile_s::beam, aircraftProjectile_s::bullets, ccs, cgi, i, aircraftProjectile_s::idleTarget, INVSH_GetItemByID(), MAX_MULTIPLE_PROJECTILES, MAX_PROJECTILESONGEOSCAPE, aircraftProjectile_s::numProjectiles, ccs_s::numProjectiles, aircraftProjectile_s::pos, ccs_s::projectiles, technology_s::provides, RS_GetTechByProvided(), SAVE_AIRFIGHT_AIMEDAIRCRAFT, SAVE_AIRFIGHT_AIRCRAFTIDX, SAVE_AIRFIGHT_ANGLE, SAVE_AIRFIGHT_ATTACKERPOS, SAVE_AIRFIGHT_ATTACKINGAIRCRAFT, SAVE_AIRFIGHT_BEAM, SAVE_AIRFIGHT_BULLET, SAVE_AIRFIGHT_IDLETARGET, SAVE_AIRFIGHT_ISUFO, SAVE_AIRFIGHT_ITEMID, SAVE_AIRFIGHT_POS, SAVE_AIRFIGHT_PROJECTILE, SAVE_AIRFIGHT_TIME, aircraftProjectile_s::time, UFO_GetByIDX(), cgame_import_s::XML_GetNextNode(), cgame_import_s::XML_GetNextPos2(), cgame_import_s::XML_GetNode(), cgame_import_s::XML_GetPos2(), cgame_import_s::XML_GetPos3(), cgame_import_s::XML_GetString(), and xmlNode_t.
Referenced by AIR_LoadXML().
void AIRFIGHT_RemoveProjectileAimingAircraft | ( | const aircraft_t * | aircraft | ) |
Set all projectile aiming a given aircraft to an idle destination.
[in] | aircraft | Pointer to the aimed aircraft. |
aircraft
is destroyed. Definition at line 413 of file cp_airfight.cpp.
References aircraftProjectile_s::aimedAircraft, AIR_AircraftReturnToBase(), AIR_IsUFO, AIRFIGHT_MissTarget(), aircraftProjectile_s::attackingAircraft, ccs, aircraft_s::homebase, ccs_s::numProjectiles, and ccs_s::projectiles.
Referenced by AIRFIGHT_ActionsAfterAirfight(), B_AircraftReturnedToHomeBase(), and CP_UFORemoveFromGeoscape().
bool AIRFIGHT_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 891 of file cp_airfight.cpp.
References aircraftProjectile_s::aimedAircraft, AIR_IsUFO, aircraftProjectile_s::aircraftItem, aircraftProjectile_s::angle, aircraftProjectile_s::attackerPos, aircraftProjectile_s::attackingAircraft, aircraftProjectile_s::beam, aircraftProjectile_s::bullets, ccs, cgi, i, objDef_s::id, aircraftProjectile_s::idleTarget, aircraft_s::idx, aircraftProjectile_s::numProjectiles, ccs_s::numProjectiles, aircraftProjectile_s::pos, ccs_s::projectiles, SAVE_AIRFIGHT_AIMEDAIRCRAFT, SAVE_AIRFIGHT_AIRCRAFTIDX, SAVE_AIRFIGHT_ANGLE, SAVE_AIRFIGHT_ATTACKERPOS, SAVE_AIRFIGHT_ATTACKINGAIRCRAFT, SAVE_AIRFIGHT_BEAM, SAVE_AIRFIGHT_BULLET, SAVE_AIRFIGHT_IDLETARGET, SAVE_AIRFIGHT_ISUFO, SAVE_AIRFIGHT_ITEMID, SAVE_AIRFIGHT_POS, SAVE_AIRFIGHT_PROJECTILE, SAVE_AIRFIGHT_TIME, aircraftProjectile_s::time, UFO_GetGeoscapeIDX, cgame_import_s::XML_AddNode(), and xmlNode_t.
Referenced by AIR_SaveXML().