cp_mapfightequip.h

Go to the documentation of this file.
00001 
00006 /*
00007 Copyright (C) 2002-2010 UFO: Alien Invasion.
00008 
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2
00012 of the License, or (at your option) any later version.
00013 
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00017 
00018 See the GNU General Public License for more details.
00019 
00020 You should have received a copy of the GNU General Public License
00021 along with this program; if not, write to the Free Software
00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00023 
00024 */
00025 
00026 #ifndef CLIENT_CL_MAPFIGHTEQUIP_H
00027 #define CLIENT_CL_MAPFIGHTEQUIP_H
00028 
00034 typedef enum {
00035     ZONE_NONE,  
00036     ZONE_MAIN,  
00037     ZONE_AMMO,  
00040     ZONE_MAX
00041 } zoneaircraftParams_t;
00042 
00047 typedef enum {
00048     AMMO_STATUS_NOT_SET = -1,           
00050     AMMO_STATUS_NO_MORE_AMMO = 0        
00051     /* positive values are used for number of ammo left in the weapon */
00052 } ammoStatus_t;
00053 
00058 typedef enum {
00059     BASEDEF_RANDOM,     
00060     BASEDEF_MISSILE,    
00061     BASEDEF_LASER,      
00063     BASEDEF_MAX
00064 } basedefenceType_t;
00065 
00067 void BDEF_AddBattery(basedefenceType_t basedefType, base_t* base);
00068 void BDEF_RemoveBattery(base_t *base, basedefenceType_t basedefType, int idx);
00069 void BDEF_InitialiseBaseSlots(base_t *base);
00070 void BDEF_InitialiseInstallationSlots(installation_t *installation);
00071 void BDEF_ReloadBattery(void);
00072 void BDEF_AutoSelectTarget(void);
00073 
00074 technology_t **AII_GetCraftitemTechsByType(int type);
00075 void AII_UpdateInstallationDelay(void);
00076 qboolean AII_AddItemToSlot(base_t* base, const technology_t *tech, aircraftSlot_t *slot, qboolean nextItem);
00077 qboolean AII_AddAmmoToSlot(base_t* base, const technology_t *tech, aircraftSlot_t *slot);
00078 void AII_RemoveItemFromSlot(base_t* base, aircraftSlot_t *slot, qboolean ammo);
00079 void AII_RemoveNextItemFromSlot(base_t* base, aircraftSlot_t *slot, qboolean ammo);
00080 qboolean AIM_PilotAssignedAircraft(const base_t* base, const employee_t* pilot);
00081 void AIM_AutoEquipAircraft(aircraft_t *aircraft);
00082 void AII_InitialiseSlot(aircraftSlot_t *slot, aircraft_t *aircraft, base_t *base, installation_t *installation, aircraftItemType_t type);
00083 float AIR_GetMaxAircraftWeaponRange(const aircraftSlot_t *slot, int maxSlot);
00084 void AII_RepairAircraft(void);
00085 void AII_UpdateAircraftStats(aircraft_t *aircraft);
00086 int AII_BaseCanShoot(const base_t *base);
00087 qboolean AII_InstallationCanShoot(const installation_t *installation);
00088 
00089 itemWeight_t AII_GetItemWeightBySize(const objDef_t *od);
00090 
00091 const char* AII_WeightToName(itemWeight_t weight);
00092 void AII_AutoAddAmmo(aircraftSlot_t *slot);
00093 qboolean AIM_SelectableCraftItem(const aircraftSlot_t *slot, const technology_t *tech);
00094 
00095 aircraftSlot_t *BDEF_GetBaseSlotByIDX(base_t *base, aircraftItemType_t type, int idx);
00096 aircraftSlot_t *BDEF_GetInstallationSlotByIDX(installation_t *installation, aircraftItemType_t type, int idx);
00097 aircraftSlot_t *AII_GetAircraftSlotByIDX(aircraft_t *aircraft, aircraftItemType_t type, int idx);
00098 
00099 qboolean AII_ReloadWeapon(aircraftSlot_t *slot);
00100 void AII_ReloadAircraftWeapons(aircraft_t *aircraft);
00101 void BDEF_ReloadBaseWeapons(base_t *base, installation_t *installation);
00102 
00103 void AII_SaveOneSlotXML(mxml_node_t *p, const aircraftSlot_t *slot, qboolean weapon);
00104 void AII_LoadOneSlotXML(mxml_node_t *node, aircraftSlot_t* slot, qboolean weapon);
00105 
00106 #endif /* CLIENT_CL_MAPFIGHTEQUIP_H */

Generated by  doxygen 1.6.2