Airfight related stuff. More...
#include "../cl_shared.h"
#include "cp_campaign.h"
#include "cp_mapfightequip.h"
#include "cp_map.h"
#include "cp_ufo.h"
#include "cp_missions.h"
#include "save/save_airfight.h"
Go to the source code of this file.
Functions | |
static qboolean | AIRFIGHT_RemoveProjectile (aircraftProjectile_t *projectile) |
Remove a projectile from ccs.projectiles. | |
static qboolean | AIRFIGHT_AddProjectile (const base_t *attackingBase, const installation_t *attackingInstallation, aircraft_t *attacker, aircraft_t *target, aircraftSlot_t *weaponSlot) |
Add a projectile in ccs.projectiles. | |
static void | AIRFIGHT_MissTarget (aircraftProjectile_t *projectile, qboolean returnToBase) |
Change destination of projectile to an idle point of the map, close to its former target. | |
int | AIRFIGHT_CheckWeapon (const aircraftSlot_t *slot, float distance) |
Check if the selected weapon can shoot. | |
int | AIRFIGHT_ChooseWeapon (const aircraftSlot_t const *slot, int maxSlot, const vec3_t pos, const vec3_t targetPos) |
Choose the weapon an attacking aircraft will use to fire on a target. | |
static float | AIRFIGHT_ProbabilityToHit (const aircraft_t *shooter, const aircraft_t *target, const aircraftSlot_t *slot) |
Calculate the probability to hit the enemy. | |
void | AIRFIGHT_ExecuteActions (aircraft_t *shooter, aircraft_t *target) |
Decide what an attacking aircraft can do. | |
static void | AIRFIGHT_RemoveProjectileAimingAircraft (const aircraft_t *aircraft) |
Set all projectile aiming a given aircraft to an idle destination. | |
static void | AIRFIGHT_UpdateProjectileForDestroyedAircraft (const aircraft_t *aircraft) |
Set all projectile attackingAircraft pointers to NULL. | |
void | AIRFIGHT_ActionsAfterAirfight (aircraft_t *shooter, aircraft_t *aircraft, qboolean phalanxWon) |
Actions to execute when a fight is done. | |
static qboolean | AIRFIGHT_ProjectileReachedTarget (const aircraftProjectile_t *projectile, float movement) |
Check if some projectiles on geoscape reached their destination. | |
static int | AIRFIGHT_GetDamage (const objDef_t *od, const aircraft_t *target) |
Calculates the damage value for the airfight. | |
static void | AIRFIGHT_ProjectileHits (aircraftProjectile_t *projectile) |
Solve the result of one projectile hitting an aircraft. | |
static void | AIRFIGHT_GetNextPointInPathFromVector (const float *movement, const vec2_t originalPoint, const vec3_t orthogonalVector, vec2_t finalPoint) |
Get the next point in the object path based on movement converting the positions from polar coordinates to vector for the calculation and back again to be returned. | |
static void | AIRFIGHT_GetNextPointInPath (const float *movement, const vec2_t originalPoint, const vec2_t targetPoint, float *angle, vec2_t finalPoint, vec3_t orthogonalVector) |
Get the next point in the object path based on movement. | |
void | AIRFIGHT_CampaignRunProjectiles (int dt) |
Update values of projectiles. | |
static void | AIRFIGHT_BaseShoot (const base_t *base, baseWeapon_t *weapons, int maxWeapons) |
Check if one type of battery (missile or laser) can shoot now. | |
static void | AIRFIGHT_InstallationShoot (const installation_t *installation, baseWeapon_t *weapons, int maxWeapons) |
Check if one type of battery (missile or laser) can shoot now. | |
void | AIRFIGHT_CampaignRunBaseDefence (int dt) |
Run base defences. | |
qboolean | AIRFIGHT_SaveXML (mxml_node_t *parent) |
Save callback for savegames in XML Format. | |
qboolean | AIRFIGHT_LoadXML (mxml_node_t *parent) |
Load callback for savegames in XML Format. | |
void | AIRFIGHT_InitStartup (void) |
Airfight related stuff.
Definition in file cp_airfight.c.
void AIRFIGHT_ActionsAfterAirfight | ( | aircraft_t * | shooter, | |
aircraft_t * | aircraft, | |||
qboolean | phalanxWon | |||
) |
Actions to execute when a fight is done.
[in] | shooter | Pointer to the aircraft that fired the projectile. |
[in] | aircraft | Pointer to the aircraft which was destroyed (alien or phalanx). |
[in] | phalanxWon | qtrue if PHALANX won, qfalse if UFO won. |
Definition at line 409 of file cp_airfight.c.
References _, AIR_DestroyAircraft(), AIRFIGHT_RemoveProjectileAimingAircraft(), AIRFIGHT_UpdateProjectileForDestroyedAircraft(), byte, Com_DPrintf(), CP_MissionIsOverByUFO(), CP_SpawnCrashSiteMission(), CP_SpawnRescueMission(), CP_UFOProceedMission(), DEBUG_CLIENT, MAP_GetColor(), MAP_GetTerrainType(), MapIsWater, MAPTYPE_TERRAIN, MS_AddNewMessage(), MSG_DEATH, MSG_STANDARD, aircraft_s::pos, qfalse, and UFO_NotifyPhalanxAircraftRemoved().
Referenced by AIRFIGHT_ProjectileHits().
static qboolean AIRFIGHT_AddProjectile | ( | const base_t * | attackingBase, | |
const installation_t * | attackingInstallation, | |||
aircraft_t * | attacker, | |||
aircraft_t * | target, | |||
aircraftSlot_t * | weaponSlot | |||
) | [static] |
Add a projectile in ccs.projectiles.
[in] | attackingBase | the attacking base in ccs.bases[]. NULL is the attacker is an aircraft or a samsite. |
[in] | attackingInstallation | the attacking samsite in ccs.installations[]. NULL is the attacker is an aircraft or a base. |
[in] | attacker | Pointer to the attacking aircraft |
[in] | target | Pointer to the target aircraft |
[in] | weaponSlot | Pointer to the weapon slot that fires the projectile. |
Definition at line 59 of file cp_airfight.c.
References AII_ReloadWeapon(), aircraftProjectile_s::aimedAircraft, aircraftProjectile_s::aircraftItem, aircraftSlot_s::ammo, aircraftSlot_s::ammoLeft, aircraftProjectile_s::angle, aircraftProjectile_s::attackerPos, aircraftProjectile_s::attackingAircraft, craftitem_s::beam, aircraftProjectile_s::beam, craftitem_s::bullets, aircraftProjectile_s::bullets, ccs, Com_DPrintf(), Com_Printf(), objDef_s::craftitem, DEBUG_CLIENT, aircraftProjectile_s::idleTarget, aircraftSlot_s::item, MAX_PROJECTILESONGEOSCAPE, aircraftProjectile_s::numProjectiles, ccs_s::numProjectiles, aircraft_s::pos, installation_s::pos, base_s::pos, aircraftProjectile_s::pos, ccs_s::projectiles, qfalse, qtrue, aircraftProjectile_s::time, and VectorSet.
Referenced by AIRFIGHT_BaseShoot(), AIRFIGHT_ExecuteActions(), and AIRFIGHT_InstallationShoot().
static void AIRFIGHT_BaseShoot | ( | const base_t * | base, | |
baseWeapon_t * | weapons, | |||
int | maxWeapons | |||
) | [static] |
Check if one type of battery (missile or laser) can shoot now.
[in] | base | Pointer to the firing base. |
[in] | weapons | The base weapon to check and fire. |
[in] | maxWeapons |
Definition at line 639 of file cp_airfight.c.
References AIR_STATS_WRANGE, AIRFIGHT_AddProjectile(), AIRFIGHT_CheckWeapon(), AIRFIGHT_MissTarget(), AIRFIGHT_ProbabilityToHit(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, aircraftSlot_s::ammo, ccs, objDef_s::craftitem, aircraftSlot_s::delayNextShot, frand(), GetDistanceOnGlobe(), aircraftSlot_s::installationTime, ccs_s::numProjectiles, aircraft_s::pos, base_s::pos, ccs_s::projectiles, qfalse, baseWeapon_s::slot, craftitem_s::stats, baseWeapon_s::target, UFO_IsUFOSeenOnGeoscape(), and craftitem_s::weaponDelay.
Referenced by AIRFIGHT_CampaignRunBaseDefence().
void AIRFIGHT_CampaignRunBaseDefence | ( | int | dt | ) |
Run base defences.
[in] | dt | Time elapsed since last call of this function. |
Definition at line 751 of file cp_airfight.c.
References AII_BaseCanShoot(), AII_InstallationCanShoot(), AII_ReloadWeapon(), AIRFIGHT_BaseShoot(), AIRFIGHT_InstallationShoot(), aircraftSlot_s::ammoLeft, B_DEFENCE_LASER, B_DEFENCE_MISSILE, B_GetBuildingStatus(), B_GetFoundedBaseByIDX(), BASE_UNDER_ATTACK, base_s::baseStatus, installation_s::batteries, base_s::batteries, aircraftSlot_s::delayNextShot, INS_GetFoundedInstallationByIDX(), installation_s::installationTemplate, base_s::lasers, MAX_BASES, MAX_INSTALLATIONS, installationTemplate_s::maxBatteries, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.
Referenced by CL_CampaignFunctionPeriodicCall().
void AIRFIGHT_CampaignRunProjectiles | ( | int | dt | ) |
Update values of projectiles.
[in] | dt | Time elapsed since last call of this function. |
Definition at line 592 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, aircraftProjectile_s::aircraftItem, AIRFIGHT_GetNextPointInPath(), AIRFIGHT_ProjectileHits(), AIRFIGHT_ProjectileReachedTarget(), AIRFIGHT_RemoveProjectile(), aircraftProjectile_s::angle, ccs, objDef_s::craftitem, aircraftProjectile_s::hasMoved, aircraftProjectile_s::idleTarget, aircraftProjectile_s::numInterpolationPoints, ccs_s::numProjectiles, aircraft_s::pos, aircraftProjectile_s::pos, aircraftProjectile_s::projectedPos, ccs_s::projectiles, qtrue, SECONDS_PER_HOUR, aircraftProjectile_s::time, VectorCopy, and craftitem_s::weaponSpeed.
Referenced by CL_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 194 of file cp_airfight.c.
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 const * | slot, | |
int | maxSlot, | |||
const vec3_t | pos, | |||
const vec3_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 228 of file cp_airfight.c.
References AIRFIGHT_CheckWeapon(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, AIRFIGHT_WEAPON_CAN_SHOOT, and GetDistanceOnGlobe().
Referenced by AIRFIGHT_ExecuteActions(), CL_DisplayPopupInterceptUFO(), CP_InterceptNextStage(), CP_UFOProceedMission(), and UFO_SendPursuingAircraft().
void AIRFIGHT_ExecuteActions | ( | aircraft_t * | shooter, | |
aircraft_t * | target | |||
) |
Decide what an attacking aircraft can do.
[in] | shooter | The aircraft we attack with. |
[in] | target | The ufo we are going to attack. |
Definition at line 304 of file cp_airfight.c.
References _, AIR_AircraftReturnToBase(), AIR_SendAircraftPursuingUFO(), AIRCRAFT_UFO, aircraft_s::aircraftTarget, AIRFIGHT_AddProjectile(), AIRFIGHT_ChooseWeapon(), AIRFIGHT_MissTarget(), AIRFIGHT_ProbabilityToHit(), AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, AIRFIGHT_WEAPON_CAN_SHOOT, aircraftSlot_s::ammo, ccs, CP_UFOProceedMission(), objDef_s::craftitem, aircraftSlot_s::delayNextShot, aircraft_s::detected, frand(), aircraft_s::maxWeapons, MS_AddNewMessage(), MSG_STANDARD, MSO_CheckAddNewMessage(), aircraft_s::name, NT_UFO_ATTACKING, ccs_s::numProjectiles, aircraft_s::pos, ccs_s::projectiles, qfalse, RADAR_AddDetectedUFOToEveryRadar(), RADAR_CheckRadarSensored(), aircraft_s::type, UFO_CheckShootBack(), UFO_DetectNewUFO(), UFO_SendPursuingAircraft(), va(), craftitem_s::weaponDelay, and aircraft_s::weapons.
Referenced by CL_CampaignRunAircraft(), UFO_CheckShootBack(), and UFO_SearchAircraftTarget().
static int AIRFIGHT_GetDamage | ( | const objDef_t * | od, | |
const aircraft_t * | target | |||
) | [static] |
Calculates the damage value for the airfight.
[in] | od | The ammo object definition of the craft item |
[in] | target | The aircraft the ammo hits |
Definition at line 505 of file cp_airfight.c.
References AIR_STATS_SHIELD, objDef_s::craftitem, aircraft_s::damage, aircraft_s::stats, and craftitem_s::weaponDamage.
Referenced by AIRFIGHT_ProjectileHits().
static void AIRFIGHT_GetNextPointInPath | ( | const float * | movement, | |
const vec2_t | originalPoint, | |||
const vec2_t | targetPoint, | |||
float * | angle, | |||
vec2_t | finalPoint, | |||
vec3_t | orthogonalVector | |||
) | [static] |
Get the next point in the object path based on movement.
[in] | movement | The distance that the object needs to move. |
[in] | originalPoint | The point from which the object is moving. |
[in] | targetPoint | The final point to which the object is moving. |
[out] | angle | The direction that the object moving in. |
[out] | finalPoint | The next point from the original point + movement in "angle" direction. |
[out] | orthogonalVector | The orthogonal vector. |
Definition at line 582 of file cp_airfight.c.
References AIRFIGHT_GetNextPointInPathFromVector(), and MAP_AngleOfPath().
Referenced by AIRFIGHT_CampaignRunProjectiles().
static void AIRFIGHT_GetNextPointInPathFromVector | ( | const float * | movement, | |
const vec2_t | originalPoint, | |||
const vec3_t | orthogonalVector, | |||
vec2_t | finalPoint | |||
) | [static] |
Get the next point in the object path based on movement converting the positions from polar coordinates to vector for the calculation and back again to be returned.
[in] | movement | The distance that the object needs to move. |
[in] | originalPoint | The point from which the object is moving. |
[in] | orthogonalVector | The orthogonal vector. |
[out] | finalPoint | The next point from the original point + movement in "angle" direction. |
Definition at line 564 of file cp_airfight.c.
References PolarToVec(), RotatePointAroundVector(), and VecToPolar().
Referenced by AIRFIGHT_GetNextPointInPath().
void AIRFIGHT_InitStartup | ( | void | ) |
Definition at line 923 of file cp_airfight.c.
References Cmd_AddCommand().
Referenced by CP_InitStartup().
static void AIRFIGHT_InstallationShoot | ( | const installation_t * | installation, | |
baseWeapon_t * | weapons, | |||
int | maxWeapons | |||
) | [static] |
Check if one type of battery (missile or laser) can shoot now.
[in] | installation | Pointer to the firing intallation. |
[in] | weapons | The installation weapon to check and fire. |
[in] | maxWeapons |
Definition at line 696 of file cp_airfight.c.
References AIR_STATS_WRANGE, AIRFIGHT_AddProjectile(), AIRFIGHT_CheckWeapon(), AIRFIGHT_MissTarget(), AIRFIGHT_ProbabilityToHit(), AIRFIGHT_WEAPON_CAN_NEVER_SHOOT, AIRFIGHT_WEAPON_CAN_NOT_SHOOT_AT_THE_MOMENT, aircraftSlot_s::ammo, ccs, objDef_s::craftitem, aircraftSlot_s::delayNextShot, frand(), GetDistanceOnGlobe(), aircraftSlot_s::installationTime, ccs_s::numProjectiles, aircraft_s::pos, installation_s::pos, ccs_s::projectiles, qfalse, baseWeapon_s::slot, craftitem_s::stats, baseWeapon_s::target, UFO_IsUFOSeenOnGeoscape(), and craftitem_s::weaponDelay.
Referenced by AIRFIGHT_CampaignRunBaseDefence().
qboolean AIRFIGHT_LoadXML | ( | mxml_node_t * | parent | ) |
Load callback for savegames in XML Format.
[in] | parent | XML Node structure, where we get the information from |
Definition at line 866 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, AIR_AircraftGetFromIDX(), AIRCRAFT_INVALID, aircraftProjectile_s::aircraftItem, aircraftProjectile_s::angle, aircraftProjectile_s::attackingAircraft, aircraftProjectile_s::beam, aircraftProjectile_s::bullets, ccs, Com_Printf(), aircraftProjectile_s::idleTarget, INVSH_GetItemByID(), MAX_MULTIPLE_PROJECTILES, MAX_PROJECTILESONGEOSCAPE, mxml_GetBool(), mxml_GetFloat(), mxml_GetInt(), mxml_GetNextNode(), mxml_GetNextPos2(), mxml_GetNode(), mxml_GetPos2(), mxml_GetPos3(), mxml_GetString(), ccs_s::numProjectiles, aircraftProjectile_s::numProjectiles, aircraftProjectile_s::pos, ccs_s::projectiles, technology_s::provides, qfalse, qtrue, RS_GetTechByProvided(), SAVE_AIRFIGHT_AIMEDAIRCRAFT, SAVE_AIRFIGHT_AIRCRAFTIDX, SAVE_AIRFIGHT_ANGLE, 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, and ccs_s::ufos.
Referenced by AIR_LoadXML().
static void AIRFIGHT_MissTarget | ( | aircraftProjectile_t * | projectile, | |
qboolean | returnToBase | |||
) | [static] |
Change destination of projectile to an idle point of the map, close to its former target.
[in] | projectile | The projectile to update |
[in] | returnToBase |
Definition at line 145 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, AIR_AircraftReturnToBase(), AIR_IsUFO, aircraftProjectile_s::attackingAircraft, f, frand(), GetDistanceOnGlobe(), aircraft_s::homebase, aircraftProjectile_s::idleTarget, aircraftProjectile_s::pos, aircraft_s::pos, and VectorCopy.
Referenced by AIRFIGHT_BaseShoot(), AIRFIGHT_ExecuteActions(), AIRFIGHT_InstallationShoot(), and AIRFIGHT_RemoveProjectileAimingAircraft().
static float AIRFIGHT_ProbabilityToHit | ( | const aircraft_t * | shooter, | |
const aircraft_t * | target, | |||
const aircraftSlot_t * | slot | |||
) | [static] |
Calculate the probability to hit the enemy.
[in] | shooter | Pointer to the attacking aircraft (may be NULL if a base fires the projectile). |
[in] | target | Pointer to the aimed aircraft (may be NULL if a target is a base). |
[in] | slot | Slot containing the weapon firing. |
Definition at line 268 of file cp_airfight.c.
References AIR_STATS_ACCURACY, AIR_STATS_ECM, aircraftSlot_s::ammo, Com_DPrintf(), Com_Printf(), objDef_s::craftitem, DEBUG_CLIENT, aircraftSlot_s::item, aircraft_s::stats, and craftitem_s::stats.
Referenced by AIRFIGHT_BaseShoot(), AIRFIGHT_ExecuteActions(), and AIRFIGHT_InstallationShoot().
static void AIRFIGHT_ProjectileHits | ( | aircraftProjectile_t * | projectile | ) | [static] |
Solve the result of one projectile hitting an aircraft.
[in] | projectile | Pointer to the projectile. |
Definition at line 529 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, AIR_IsAircraftInBase(), AIRCRAFT_UFO, aircraftProjectile_s::aircraftItem, AIRFIGHT_ActionsAfterAirfight(), AIRFIGHT_GetDamage(), aircraftProjectile_s::attackingAircraft, aircraft_s::damage, and aircraft_s::type.
Referenced by AIRFIGHT_CampaignRunProjectiles().
static qboolean AIRFIGHT_ProjectileReachedTarget | ( | const aircraftProjectile_t * | projectile, | |
float | movement | |||
) | [static] |
Check if some projectiles on geoscape reached their destination.
[in] | projectile | Pointer to the projectile |
[in] | movement | distance that the projectile will do up to next draw of geoscape |
Definition at line 471 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, AIR_STATS_WRANGE, aircraftProjectile_s::aircraftItem, objDef_s::craftitem, GetDistanceOnGlobe(), aircraftProjectile_s::idleTarget, aircraft_s::pos, aircraftProjectile_s::pos, qfalse, qtrue, SECONDS_PER_HOUR, craftitem_s::stats, aircraftProjectile_s::time, and craftitem_s::weaponSpeed.
Referenced by AIRFIGHT_CampaignRunProjectiles().
static qboolean AIRFIGHT_RemoveProjectile | ( | aircraftProjectile_t * | projectile | ) | [static] |
Remove a projectile from ccs.projectiles.
[in] | projectile | The projectile to remove |
Definition at line 41 of file cp_airfight.c.
References ccs, ccs_s::numProjectiles, ccs_s::projectiles, qtrue, and REMOVE_ELEM_ADJUST_IDX.
Referenced by AIRFIGHT_CampaignRunProjectiles().
static void AIRFIGHT_RemoveProjectileAimingAircraft | ( | const aircraft_t * | aircraft | ) | [static] |
Set all projectile aiming a given aircraft to an idle destination.
[in] | aircraft | Pointer to the aimed aircraft. |
aircraft
is destroyed. Definition at line 366 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, AIRFIGHT_MissTarget(), ccs, ccs_s::numProjectiles, ccs_s::projectiles, and qtrue.
Referenced by AIRFIGHT_ActionsAfterAirfight().
qboolean AIRFIGHT_SaveXML | ( | mxml_node_t * | parent | ) |
Save callback for savegames in XML Format.
[out] | parent | XML Node structure, where we write the information to |
Definition at line 819 of file cp_airfight.c.
References aircraftProjectile_s::aimedAircraft, AIRCRAFT_UFO, aircraftProjectile_s::aircraftItem, aircraftProjectile_s::angle, aircraftProjectile_s::attackingAircraft, aircraftProjectile_s::beam, aircraftProjectile_s::bullets, ccs, objDef_s::id, aircraftProjectile_s::idleTarget, aircraft_s::idx, mxml_AddBoolValue(), mxml_AddFloat(), mxml_AddInt(), mxml_AddNode(), mxml_AddPos2(), mxml_AddPos3(), mxml_AddString(), aircraftProjectile_s::numProjectiles, ccs_s::numProjectiles, aircraftProjectile_s::pos, ccs_s::projectiles, qtrue, SAVE_AIRFIGHT_AIMEDAIRCRAFT, SAVE_AIRFIGHT_AIRCRAFTIDX, SAVE_AIRFIGHT_ANGLE, 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, aircraft_s::type, and ccs_s::ufos.
Referenced by AIR_SaveXML().
static void AIRFIGHT_UpdateProjectileForDestroyedAircraft | ( | const aircraft_t * | aircraft | ) | [static] |
Set all projectile attackingAircraft pointers to NULL.
[in] | aircraft | Pointer to the destroyed aircraft. |
aircraft
is destroyed. Definition at line 385 of file cp_airfight.c.
References aircraftProjectile_s::attackingAircraft, ccs, ccs_s::numProjectiles, and ccs_s::projectiles.
Referenced by AIRFIGHT_ActionsAfterAirfight().