cp_mapfightequip.h File Reference

Header for slot management related stuff. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  zoneaircraftParams_t { ZONE_NONE, ZONE_MAIN, ZONE_AMMO, ZONE_MAX }
 

Zone number in airequip menu or base defence menu.

More...
enum  ammoStatus_t { AMMO_STATUS_NOT_SET = -1, AMMO_STATUS_NO_MORE_AMMO = 0 }
 

Different status for numAmmo.

More...
enum  basedefenceType_t { BASEDEF_RANDOM, BASEDEF_MISSILE, BASEDEF_LASER, BASEDEF_MAX }
 

The different possible types of base defence systems.

More...

Functions

void BDEF_AddBattery (basedefenceType_t basedefType, base_t *base)
 Adds a defence system to base.
void BDEF_RemoveBattery (base_t *base, basedefenceType_t basedefType, int idx)
 Remove a base defence sytem from base.
void BDEF_InitialiseBaseSlots (base_t *base)
 Initialise all values of base slot defence.
void BDEF_InitialiseInstallationSlots (installation_t *installation)
 Initialise all values of installation slot defence.
void BDEF_ReloadBattery (void)
void BDEF_AutoSelectTarget (void)
 Chooses target for all base defences and sam sites.
technology_t ** AII_GetCraftitemTechsByType (int type)
 Returns a list of craftitem technologies for the given type.
void AII_UpdateInstallationDelay (void)
 Update the installation delay of all slots of a given aircraft.
qboolean AII_AddItemToSlot (base_t *base, const technology_t *tech, aircraftSlot_t *slot, qboolean nextItem)
 Add an item to an aircraft slot.
qboolean AII_AddAmmoToSlot (base_t *base, const technology_t *tech, aircraftSlot_t *slot)
 Add an ammo to an aircraft weapon slot.
void AII_RemoveItemFromSlot (base_t *base, aircraftSlot_t *slot, qboolean ammo)
 Remove the item from the slot (or optionally its ammo only) and put it the base storage.
void AII_RemoveNextItemFromSlot (base_t *base, aircraftSlot_t *slot, qboolean ammo)
 Cancel replacing item, move nextItem (or optionally its ammo only) back to the base storage.
qboolean AIM_PilotAssignedAircraft (const base_t *base, const employee_t *pilot)
 Checks to see if the pilot is in any aircraft at this base.
void AIM_AutoEquipAircraft (aircraft_t *aircraft)
 Auto Add weapon and ammo to an aircraft.
void AII_InitialiseSlot (aircraftSlot_t *slot, aircraft_t *aircraft, base_t *base, installation_t *installation, aircraftItemType_t type)
 Initialise values of one slot of an aircraft or basedefence common to all types of items.
float AIR_GetMaxAircraftWeaponRange (const aircraftSlot_t *slot, int maxSlot)
 Get the maximum weapon range of aircraft.
void AII_RepairAircraft (void)
 Repair aircraft.
void AII_UpdateAircraftStats (aircraft_t *aircraft)
 Update the value of stats array of an aircraft.
int AII_BaseCanShoot (const base_t *base)
 Check if the base has weapon and ammo.
qboolean AII_InstallationCanShoot (const installation_t *installation)
 Check if the installation has a weapon and ammo.
itemWeight_t AII_GetItemWeightBySize (const objDef_t *od)
 Returns craftitem weight based on size.
const char * AII_WeightToName (itemWeight_t weight)
 Translate a weight int to a translated string.
void AII_AutoAddAmmo (aircraftSlot_t *slot)
 Auto add ammo corresponding to weapon, if there is enough in storage.
qboolean AIM_SelectableCraftItem (const aircraftSlot_t *slot, const technology_t *tech)
 Check if an aircraft item should or should not be displayed in airequip menu.
aircraftSlot_tBDEF_GetBaseSlotByIDX (base_t *base, aircraftItemType_t type, int idx)
 returns the aircraftSlot of a base at an index or the first free slot
aircraftSlot_tBDEF_GetInstallationSlotByIDX (installation_t *installation, aircraftItemType_t type, int idx)
 returns the aircraftSlot of an installaion at an index or the first free slot
aircraftSlot_tAII_GetAircraftSlotByIDX (aircraft_t *aircraft, aircraftItemType_t type, int idx)
 returns the aircraftSlot of an aircraft at an index or the first free slot
qboolean AII_ReloadWeapon (aircraftSlot_t *slot)
 Reloads an aircraft/defence-system weapon.
void AII_ReloadAircraftWeapons (aircraft_t *aircraft)
 Reload the weapons of an aircraft.
void BDEF_ReloadBaseWeapons (base_t *base, installation_t *installation)
 Reload the weapons of a base or intallation.
void AII_SaveOneSlotXML (mxml_node_t *p, const aircraftSlot_t *slot, qboolean weapon)
 Save callback for savegames in XML Format.
void AII_LoadOneSlotXML (mxml_node_t *node, aircraftSlot_t *slot, qboolean weapon)
 Loads one slot (base, installation or aircraft).

Detailed Description

Header for slot management related stuff.

Definition in file cp_mapfightequip.h.


Enumeration Type Documentation

Different status for numAmmo.

Todo:
do we still need this?
Enumerator:
AMMO_STATUS_NOT_SET 

This weapon can't shoot yet.

AMMO_STATUS_NO_MORE_AMMO 

This weapon has no ammo.

Definition at line 47 of file cp_mapfightequip.h.

The different possible types of base defence systems.

See also:
BDEF_RemoveBattery_f: BASEDEF_LASER must be just after BASEDEF_MISSILE
Enumerator:
BASEDEF_RANDOM 

The base defence system should be randomly selected.

BASEDEF_MISSILE 

The base defence system is a missile battery.

BASEDEF_LASER 

The base defence system is a laser battery.

BASEDEF_MAX 

Definition at line 58 of file cp_mapfightequip.h.

Zone number in airequip menu or base defence menu.

Note:
A zone is the rectangular box in the upper right of the screen.
A zone is different from a slot or the type of an item.
Enumerator:
ZONE_NONE 

This is not a zone (used when no zone is selected).

ZONE_MAIN 

This is the upper (1st) zone containing the current item installed in the slot.

ZONE_AMMO 

This is the lowest (3rd) zone containing the ammo fitting the weapon in ZONE_MAIN Therefore, this zone should only be used when 1st zone contain an WEAPON.

ZONE_MAX 

Definition at line 34 of file cp_mapfightequip.h.


Function Documentation

qboolean AII_AddAmmoToSlot ( base_t base,
const technology_t tech,
aircraftSlot_t slot 
)

Add an ammo to an aircraft weapon slot.

Note:
No check for the _type_ of item is done here, so it must be done before.
Parameters:
[in] base Pointer to the base which provides items (NULL if items shouldn't be removed of storage)
[in] tech Pointer to the tech to add to slot
[in] slot Pointer to the slot where you want to add ammos
See also:
AII_AddItemToSlot

Definition at line 701 of file cp_mapfightequip.c.

References AC_ITEM_AMMO, AII_ReloadWeapon(), AII_RemoveItemFromSlot(), AII_RemoveNextItemFromSlot(), aircraftSlot_s::ammo, objDef_s::ammos, B_BaseHasItem(), B_UpdateStorageAndCapacity(), Com_Printf(), objDef_s::craftitem, objDef_s::id, objDef_s::idx, INVSH_GetItemByID(), aircraftSlot_s::item, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, objDef_s::numAmmos, technology_s::provides, qfalse, qtrue, and craftitem_s::type.

Referenced by AII_AutoAddAmmo(), AII_LoadOneSlotXML(), and AIM_AircraftEquipAddItem_f().

qboolean AII_AddItemToSlot ( base_t base,
const technology_t tech,
aircraftSlot_t slot,
qboolean  nextItem 
)

Add an item to an aircraft slot.

Parameters:
[in] base Pointer to the base where item will be removed (NULL for ufos, virtual ammos or while loading game)
[in] tech Pointer to the tech that will be added in this slot.
[in] slot Pointer to the aircraft, base, or installation slot.
[in] nextItem False if we are changing current item in slot, true if this is the item to install after current removal is over.
Note:
No check for the _type_ of item is done here.
See also:
AII_UpdateOneInstallationDelay
AII_AddAmmoToSlot

Definition at line 779 of file cp_mapfightequip.c.

References AC_ITEM_AMMO, AII_GetItemWeightBySize(), B_BaseHasItem(), B_UpdateStorageAndCapacity(), Com_Printf(), objDef_s::craftitem, objDef_s::id, aircraftSlot_s::idx, craftitem_s::installationTime, aircraftSlot_s::installationTime, INVSH_GetItemByID(), aircraftSlot_s::item, aircraftSlot_s::nextItem, technology_s::provides, qfalse, qtrue, objDef_s::size, aircraftSlot_s::size, aircraftSlot_s::type, and craftitem_s::type.

Referenced by AII_LoadOneSlotXML(), AIM_AircraftEquipAddItem_f(), AIM_AutoEquipAircraft(), and BDEF_AddItem_f().

void AII_AutoAddAmmo ( aircraftSlot_t slot  ) 
int AII_BaseCanShoot ( const base_t base  ) 

Check if the base has weapon and ammo.

Parameters:
[in] base Pointer to the base you want to check (may not be NULL)
Returns:
qtrue if the base can shoot, qflase else
See also:
AII_AircraftCanShoot

Definition at line 1204 of file cp_mapfightequip.c.

References AII_WeaponsCanShoot(), B_DEFENCE_LASER, B_DEFENCE_MISSILE, B_GetBuildingStatus(), base_s::batteries, base_s::lasers, base_s::numBatteries, base_s::numLasers, qfalse, and qtrue.

Referenced by AIRFIGHT_CampaignRunBaseDefence(), CL_DisplayPopupInterceptUFO(), CL_PopupInterceptBaseClick_f(), and MAP_DrawMapOneBase().

aircraftSlot_t* AII_GetAircraftSlotByIDX ( aircraft_t aircraft,
aircraftItemType_t  type,
int  idx 
)

returns the aircraftSlot of an aircraft at an index or the first free slot

Parameters:
[in] aircraft Pointer to aircraft
[in] type base defence type, see aircraftItemType_t
[in] idx index of aircraftslot
Returns:
the aircraftSlot at the index idx if idx non-negative the first free slot otherwise

Definition at line 1016 of file cp_mapfightequip.c.

References AC_ITEM_ELECTRONICS, AC_ITEM_SHIELD, AC_ITEM_WEAPON, aircraft_s::electronics, i, aircraftSlot_s::item, aircraft_s::maxElectronics, aircraft_s::maxWeapons, aircraftSlot_s::nextItem, aircraft_s::shield, and aircraft_s::weapons.

technology_t** AII_GetCraftitemTechsByType ( int  type  ) 

Returns a list of craftitem technologies for the given type.

Note:
This list is terminated by a NULL pointer.
Parameters:
[in] type Type of the craft-items to return.

Definition at line 46 of file cp_mapfightequip.c.

References Com_Printf(), objDef_s::craftitem, csi, i, INVSH_GetItemByIDX(), MAX_TECHNOLOGIES, csi_s::numODs, RS_GetTechForItem(), and craftitem_s::type.

Referenced by AIM_UpdateAircraftItemList(), BDEF_AddItem_f(), BDEF_SelectItem_f(), and BDEF_UpdateAircraftItemList().

itemWeight_t AII_GetItemWeightBySize ( const objDef_t od  ) 

Returns craftitem weight based on size.

Parameters:
[in] od Pointer to objDef_t object being craftitem.
Returns:
itemWeight_t
See also:
AII_WeightToName

Definition at line 76 of file cp_mapfightequip.c.

References objDef_s::craftitem, ITEM_HEAVY, ITEM_LIGHT, ITEM_MEDIUM, objDef_s::size, and craftitem_s::type.

Referenced by AII_AddItemToSlot(), AIM_AutoEquipAircraft(), AIM_CheckTechnologyIntoSlot(), AIM_SelectableCraftItem(), AIR_ScriptSanityCheck(), and UP_AircraftItemDescription().

void AII_InitialiseSlot ( aircraftSlot_t slot,
aircraft_t aircraftTemplate,
base_t base,
installation_t installation,
aircraftItemType_t  type 
)

Initialise values of one slot of an aircraft or basedefence common to all types of items.

Parameters:
[in] slot Pointer to the slot to initialize.
[in] aircraftTemplate Template Pointer to aircraft template.
[in] base Pointer to base.
[in] installation Pointer to the thing being installed.
[in] type 

sa BDEF_AddBattery: it needs to be AMMO_STATUS_NOT_SET and not 0

See also:
B_SaveBaseSlots

Definition at line 904 of file cp_mapfightequip.c.

References aircraftSlot_s::aircraft, aircraftSlot_s::ammo, AMMO_STATUS_NOT_SET, aircraftSlot_s::ammoLeft, aircraftSlot_s::base, aircraftSlot_s::installation, aircraftSlot_s::installationTime, aircraftSlot_s::item, ITEM_HEAVY, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, aircraftSlot_s::size, and aircraftSlot_s::type.

Referenced by AII_InitialiseAircraftSlots(), BDEF_InitialiseBaseSlots(), BDEF_InitialiseInstallationSlots(), and BDEF_RemoveBattery().

qboolean AII_InstallationCanShoot ( const installation_t installation  ) 

Check if the installation has a weapon and ammo.

Parameters:
[in] installation Pointer to the installation you want to check (may not be NULL)
Returns:
qtrue if the installation can shoot, qflase else
See also:
AII_AircraftCanShoot

Definition at line 1227 of file cp_mapfightequip.c.

References AII_WeaponsCanShoot(), installation_s::batteries, installation_s::founded, INSTALLATION_WORKING, installation_s::installationStatus, installation_s::installationTemplate, installationTemplate_s::maxBatteries, and qfalse.

Referenced by AIRFIGHT_CampaignRunBaseDefence(), CL_DisplayPopupInterceptUFO(), CL_PopupInterceptBaseClick_f(), and MAP_DrawMapOneInstallation().

void AII_LoadOneSlotXML ( mxml_node_t node,
aircraftSlot_t slot,
qboolean  weapon 
)

Loads one slot (base, installation or aircraft).

Parameters:
[in] node XML Node structure, where we get the information from
[out] slot Pointer to the slot where item should be added.
[in] weapon True if the slot is a weapon slot.
See also:
B_Load
B_SaveAircraftSlots

Definition at line 1401 of file cp_mapfightequip.c.

References AII_AddAmmoToSlot(), AII_AddItemToSlot(), aircraftSlot_s::ammoLeft, aircraftSlot_s::delayNextShot, aircraftSlot_s::installationTime, mxml_GetInt(), mxml_GetString(), name, qfalse, qtrue, RS_GetTechByProvided(), SAVE_SLOT_AMMOID, SAVE_SLOT_AMMOLEFT, SAVE_SLOT_DELAYNEXTSHOT, SAVE_SLOT_INSTALLATIONTIME, SAVE_SLOT_ITEMID, SAVE_SLOT_NEXTAMMOID, and SAVE_SLOT_NEXTITEMID.

Referenced by AIR_LoadAircraftSlotsXML(), and B_LoadBaseSlotsXML().

void AII_ReloadAircraftWeapons ( aircraft_t aircraft  ) 

Reload the weapons of an aircraft.

Parameters:
[in,out] aircraft Pointer to the aircraft to reload

Definition at line 653 of file cp_mapfightequip.c.

References AII_ReloadWeapon(), i, aircraft_s::maxWeapons, and aircraft_s::weapons.

Referenced by AIM_AircraftStart_f(), AIR_SendAircraftPursuingUFO(), AIR_SendAircraftToMission(), B_AircraftReturnedToHomeBase(), and UFO_AddToGeoscape().

qboolean AII_ReloadWeapon ( aircraftSlot_t slot  ) 
void AII_RemoveItemFromSlot ( base_t base,
aircraftSlot_t slot,
qboolean  ammo 
)

Remove the item from the slot (or optionally its ammo only) and put it the base storage.

Note:
if there is another item to install after removal, begin this installation.
virtual items cannot be removed!
Parameters:
[in] base The base to add the item to (may be NULL if item shouldn't be removed from any base).
[in] slot The slot to remove the item from.
[in] ammo qtrue if we want to remove only ammo. qfalse if the whole item should be removed.
See also:
AII_AddItemToSlot
AII_AddAmmoToSlot
AII_RemoveNextItemFromSlot

Definition at line 509 of file cp_mapfightequip.c.

References AII_RemoveItemFromSlot(), objDef_s::ammo, aircraftSlot_s::ammo, aircraftSlot_s::ammoLeft, B_UpdateStorageAndCapacity(), objDef_s::craftitem, craftitem_s::installationTime, aircraftSlot_s::installationTime, objDef_s::isVirtual, aircraftSlot_s::item, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, qfalse, and qtrue.

Referenced by AII_AddAmmoToSlot(), AII_RemoveItemFromSlot(), AII_UpdateOneInstallationDelay(), AIM_AircraftEquipAddItem_f(), AIM_AircraftEquipRemoveItem_f(), AIR_DeleteAircraft(), BDEF_AddItem_f(), and BDEF_RemoveItem_f().

void AII_RemoveNextItemFromSlot ( base_t base,
aircraftSlot_t slot,
qboolean  ammo 
)

Cancel replacing item, move nextItem (or optionally its ammo only) back to the base storage.

Parameters:
[in] base The base to add the item to (may be NULL if item shouldn't be removed from any base).
[in] slot The slot to remove the item from.
[in] ammo qtrue if we want to remove only ammo. qfalse if the whole item should be removed.
See also:
AII_AddItemToSlot
AII_AddAmmoToSlot
AII_RemoveItemFromSlot

Definition at line 562 of file cp_mapfightequip.c.

References AII_RemoveNextItemFromSlot(), B_UpdateStorageAndCapacity(), objDef_s::isVirtual, aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, qfalse, and qtrue.

Referenced by AII_AddAmmoToSlot(), AII_RemoveNextItemFromSlot(), AIM_AircraftEquipAddItem_f(), and AIM_AircraftEquipRemoveItem_f().

void AII_RepairAircraft ( void   ) 

Repair aircraft.

Note:
Hourly called.

< Number of damage points repaired per hour

Definition at line 1085 of file cp_mapfightequip.c.

References AIR_GetNextFromBase(), AIR_IsAircraftInBase(), AIR_STATS_DAMAGE, B_GetFoundedBaseByIDX(), aircraft_s::damage, MAX_BASES, and aircraft_s::stats.

Referenced by CL_CampaignRun().

void AII_SaveOneSlotXML ( mxml_node_t p,
const aircraftSlot_t slot,
qboolean  weapon 
)

Save callback for savegames in XML Format.

Parameters:
[out] p XML Node structure, where we write the information to
[in] slot The aircraftslot to save
[in] weapon True if this is a weapon slot

Definition at line 1377 of file cp_mapfightequip.c.

References aircraftSlot_s::ammo, aircraftSlot_s::ammoLeft, aircraftSlot_s::delayNextShot, objDef_s::id, aircraftSlot_s::installationTime, aircraftSlot_s::item, mxml_AddIntValue(), mxml_AddStringValue(), aircraftSlot_s::nextAmmo, aircraftSlot_s::nextItem, SAVE_SLOT_AMMOID, SAVE_SLOT_AMMOLEFT, SAVE_SLOT_DELAYNEXTSHOT, SAVE_SLOT_INSTALLATIONTIME, SAVE_SLOT_ITEMID, SAVE_SLOT_NEXTAMMOID, and SAVE_SLOT_NEXTITEMID.

Referenced by AIR_SaveAircraftSlotsXML(), and B_SaveBaseSlotsXML().

void AII_UpdateAircraftStats ( aircraft_t aircraft  ) 
void AII_UpdateInstallationDelay ( void   ) 
const char* AII_WeightToName ( itemWeight_t  weight  ) 

Translate a weight int to a translated string.

See also:
itemWeight_t
AII_GetItemWeightBySize

Definition at line 1353 of file cp_mapfightequip.c.

References _, ITEM_HEAVY, ITEM_LIGHT, and ITEM_MEDIUM.

Referenced by AIM_AircraftEquipMenuUpdate(), and UP_AircraftItemDescription().

void AIM_AutoEquipAircraft ( aircraft_t aircraft  ) 

Auto Add weapon and ammo to an aircraft.

Parameters:
[in] aircraft Pointer to the aircraft
Note:
This is used to auto equip interceptor of first base.
See also:
B_SetUpBase

Todo:
Eliminate hardcoded techs here.

Definition at line 841 of file cp_mapfightequip.c.

References AII_AddItemToSlot(), AII_AutoAddAmmo(), AII_GetItemWeightBySize(), AII_UpdateAircraftStats(), B_BaseHasItem(), Com_Error(), ERR_DROP, aircraft_s::homebase, i, aircraftSlot_s::installationTime, INVSH_GetItemByID(), aircraftSlot_s::item, aircraft_s::maxWeapons, technology_s::provides, qfalse, RS_GetTechByID(), aircraftSlot_s::size, and aircraft_s::weapons.

Referenced by B_SetUpFirstBase().

qboolean AIM_PilotAssignedAircraft ( const base_t base,
const employee_t pilot 
)

Checks to see if the pilot is in any aircraft at this base.

Parameters:
[in] base Which base has the aircraft to search for the employee in.
[in] pilot Which employee to search for.
Returns:
qtrue or qfalse depending on if the employee was found on the base aircraft.

Definition at line 169 of file cp_mapfightequip.c.

References AIR_GetNextFromBase(), aircraft_s::pilot, qfalse, and qtrue.

qboolean AIM_SelectableCraftItem ( const aircraftSlot_t slot,
const technology_t tech 
)

Check if an aircraft item should or should not be displayed in airequip menu.

Parameters:
[in] slot Pointer to an aircraft slot (can be base/installation too)
[in] tech Pointer to the technology to test
Returns:
qtrue if the craft item should be displayed, qfalse else

Todo:
maybe this isn't working, aircraft slot type can't be an AMMO
Todo:
This only works for ammo that is usable in exactly one weapon check the weap_idx array and not only the first value

Definition at line 95 of file cp_mapfightequip.c.

References AC_ITEM_AMMO, AII_GetItemWeightBySize(), aircraftSlot_s::aircraft, objDef_s::ammos, B_BaseHasItem(), aircraftSlot_s::base, objDef_s::craftitem, aircraft_s::homebase, objDef_s::idx, craftitem_s::installationTime, INVSH_GetItemByID(), aircraftSlot_s::item, aircraftSlot_s::nextItem, objDef_s::numAmmos, technology_s::provides, qfalse, qtrue, RS_IsResearched_ptr(), aircraftSlot_s::size, aircraftSlot_s::type, craftitem_s::type, and objDef_s::weapons.

Referenced by AII_AutoAddAmmo(), AIM_UpdateAircraftItemList(), BDEF_AddItem_f(), BDEF_SelectItem_f(), and BDEF_UpdateAircraftItemList().

float AIR_GetMaxAircraftWeaponRange ( const aircraftSlot_t slot,
int  maxSlot 
)

Get the maximum weapon range of aircraft.

Parameters:
[in] slot Pointer to the aircrafts weapon slot list.
[in] maxSlot maximum number of weapon slots in aircraft.
Returns:
Maximum weapon range for this aircaft as an angle.

Definition at line 1054 of file cp_mapfightequip.c.

References AII_CheckUpdateAircraftStats(), AIR_STATS_WRANGE, aircraftSlot_s::ammo, objDef_s::craftitem, i, and craftitem_s::stats.

Referenced by AII_UpdateAircraftStats().

void BDEF_AddBattery ( basedefenceType_t  basedefType,
base_t base 
)

Adds a defence system to base.

Base defence functions.

Parameters:
[in] basedefType Base defence type (see basedefenceType_t)
[in] base Pointer to the base in which the battery will be added
See also:
BDEF_RemoveBattery

Definition at line 191 of file cp_mapfightequip.c.

References AMMO_STATUS_NOT_SET, aircraftSlot_s::ammoLeft, baseWeapon_s::autofire, BASEDEF_LASER, BASEDEF_MISSILE, base_s::batteries, Com_Printf(), base_s::lasers, MAX_BASE_SLOT, base_s::numBatteries, base_s::numLasers, qtrue, and baseWeapon_s::slot.

Referenced by BDEF_AddBattery_f().

void BDEF_AutoSelectTarget ( void   ) 
aircraftSlot_t* BDEF_GetBaseSlotByIDX ( base_t base,
aircraftItemType_t  type,
int  idx 
)

returns the aircraftSlot of a base at an index or the first free slot

Parameters:
[in] base Pointer to base
[in] type defence type, see aircraftItemType_t
[in] idx index of aircraftslot
Returns:
the aircraftSlot at the index idx if idx non-negative the first free slot otherwise

Definition at line 957 of file cp_mapfightequip.c.

References AC_ITEM_BASE_LASER, AC_ITEM_BASE_MISSILE, base_s::batteries, i, aircraftSlot_s::item, base_s::lasers, aircraftSlot_s::nextItem, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.

Referenced by BDEF_AddItem_f(), BDEF_RemoveItem_f(), and BDEF_SelectItem_f().

aircraftSlot_t* BDEF_GetInstallationSlotByIDX ( installation_t installation,
aircraftItemType_t  type,
int  idx 
)

returns the aircraftSlot of an installaion at an index or the first free slot

Parameters:
[in] installation Pointer to the installation
[in] type defence type, see aircraftItemType_t
[in] idx index of aircraftslot
Returns:
the aircraftSlot at the index idx if idx non-negative the first free slot otherwise

Definition at line 991 of file cp_mapfightequip.c.

References AC_ITEM_BASE_MISSILE, installation_s::batteries, i, aircraftSlot_s::item, aircraftSlot_s::nextItem, installation_s::numBatteries, and baseWeapon_s::slot.

Referenced by BDEF_AddItem_f(), BDEF_RemoveItem_f(), and BDEF_SelectItem_f().

void BDEF_InitialiseBaseSlots ( base_t base  ) 

Initialise all values of base slot defence.

Parameters:
[in] base Pointer to the base which needs initalisation of its slots.

Definition at line 289 of file cp_mapfightequip.c.

References AC_ITEM_BASE_LASER, AC_ITEM_BASE_MISSILE, AII_InitialiseSlot(), baseWeapon_s::autofire, base_s::batteries, i, base_s::lasers, MAX_BASE_SLOT, qtrue, baseWeapon_s::slot, and baseWeapon_s::target.

Referenced by B_LoadXML(), and B_SetUpBase().

void BDEF_InitialiseInstallationSlots ( installation_t installation  ) 

Initialise all values of installation slot defence.

Parameters:
[in] installation Pointer to the installation which needs initialisation of its slots.

Definition at line 309 of file cp_mapfightequip.c.

References AC_ITEM_BASE_MISSILE, AII_InitialiseSlot(), baseWeapon_s::autofire, installation_s::batteries, i, installation_s::installationTemplate, installationTemplate_s::maxBatteries, qtrue, baseWeapon_s::slot, and baseWeapon_s::target.

Referenced by INS_FinishInstallation(), and INS_LoadXML().

void BDEF_ReloadBaseWeapons ( base_t base,
installation_t installation 
)

Reload the weapons of a base or intallation.

Parameters:
[in,out] base Pointer to the base to reload
[in,out] installation Pointer to the samsite to reload
Note:
only one of the parameters can be non-NULL

Definition at line 670 of file cp_mapfightequip.c.

References AII_ReloadWeapon(), installation_s::batteries, base_s::batteries, Com_Error(), ERR_DROP, i, base_s::lasers, installation_s::numBatteries, base_s::numBatteries, base_s::numLasers, and baseWeapon_s::slot.

void BDEF_ReloadBattery ( void   ) 
void BDEF_RemoveBattery ( base_t base,
basedefenceType_t  basedefType,
int  idx 
)

Remove a base defence sytem from base.

Parameters:
[in] base The base that is affected
[in] basedefType (see basedefenceType_t)
[in] idx index of the battery to destroy
Note:
if idx is negative the function looks for an empty battery to remove, it removes the last one if every one equipped
See also:
BDEF_AddBattery

Definition at line 235 of file cp_mapfightequip.c.

References AC_ITEM_BASE_LASER, AC_ITEM_BASE_MISSILE, AII_InitialiseSlot(), BASEDEF_LASER, BASEDEF_MISSILE, base_s::batteries, Com_Printf(), i, aircraftSlot_s::item, base_s::lasers, base_s::numBatteries, base_s::numLasers, REMOVE_ELEM, and baseWeapon_s::slot.

Referenced by BDEF_RemoveBattery_f().


Generated by  doxygen 1.6.2