|
UFO: Alien Invasion
|
Header file for airfights. More...

Go to the source code of this file.
Data Structures | |
| struct | aircraftProjectile_t |
| 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 |
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. | |
| int | AIRFIGHT_CheckWeapon (const aircraftSlot_t *slot, float distance) |
| Check if the selected weapon can shoot. | |
| 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. | |
| 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. | |
| bool | AIRFIGHT_SaveXML (xmlNode_t *parent) |
| Save callback for savegames in XML Format. | |
| bool | AIRFIGHT_LoadXML (xmlNode_t *parent) |
| Load callback for savegames in XML Format. | |
| 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().
| 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 ) |
References xmlNode_t.
Run base defences.
| [in] | dt | Time elapsed since last call of this function. |
Definition at line 829 of file cp_airfight.cpp.
References AII_BaseCanShoot(), AII_InstallationCanShoot(), AII_ReloadWeapon(), AIRFIGHT_BaseShoot(), AIRFIGHT_InstallationShoot(), aircraftSlot_t::ammoLeft, B_DEFENCE_LASER, B_DEFENCE_MISSILE, B_GetBuildingStatus(), B_GetNext(), B_IsUnderAttack, base_t::batteries, aircraftSlot_t::delayNextShot, INS_Foreach, INSTALLATION_WORKING, base_t::lasers, base_t::numBatteries, base_t::numLasers, and baseWeapon_t::slot.
Referenced by CP_CampaignFunctionPeriodicCall().
| 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 201 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_t::ammo, aircraftSlot_t::ammoLeft, objDef_t::craftitem, aircraftSlot_t::delayNextShot, aircraftSlot_t::installationTime, aircraftSlot_t::item, and craftItem::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 235 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 998 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 937 of file cp_airfight.cpp.
References aircraftProjectile_t::aimedAircraft, AIR_AircraftGetFromIDX(), AIRCRAFT_INVALID, aircraftProjectile_t::aircraftItem, aircraftProjectile_t::angle, aircraftProjectile_t::attackerPos, aircraftProjectile_t::attackingAircraft, aircraftProjectile_t::beam, aircraftProjectile_t::bullets, ccs, cgi, i, aircraftProjectile_t::idleTarget, INVSH_GetItemByID(), MAX_MULTIPLE_PROJECTILES, MAX_PROJECTILESONGEOSCAPE, aircraftProjectile_t::numProjectiles, aircraftProjectile_t::pos, technology_t::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_t::time, UFO_GetByIDX(), 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 414 of file cp_airfight.cpp.
References aircraftProjectile_t::aimedAircraft, AIR_AircraftReturnToBase(), AIR_IsUFO, AIRFIGHT_MissTarget(), aircraftProjectile_t::attackingAircraft, ccs, and aircraft_t::homebase.
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 892 of file cp_airfight.cpp.
References aircraftProjectile_t::aimedAircraft, AIR_IsUFO, aircraftProjectile_t::aircraftItem, aircraftProjectile_t::angle, aircraftProjectile_t::attackerPos, aircraftProjectile_t::attackingAircraft, aircraftProjectile_t::beam, aircraftProjectile_t::bullets, ccs, cgi, i, objDef_t::id, aircraftProjectile_t::idleTarget, aircraft_t::idx, aircraftProjectile_t::numProjectiles, aircraftProjectile_t::pos, 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_t::time, UFO_GetGeoscapeIDX, and xmlNode_t.
Referenced by AIR_SaveXML().