00001 00005 /* 00006 Copyright (C) 2002-2010 UFO: Alien Invasion. 00007 00008 This program is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU General Public License 00010 as published by the Free Software Foundation; either version 2 00011 of the License, or (at your option) any later version. 00012 00013 This program is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 00017 See the GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00022 00023 */ 00024 00025 #ifndef CLIENT_CL_UFO_H 00026 #define CLIENT_CL_UFO_H 00027 00028 enum { 00029 UFO_IS_NO_TARGET, 00030 UFO_IS_TARGET_OF_MISSILE, 00031 UFO_IS_TARGET_OF_LASER 00032 }; 00033 00034 const char* UFO_TypeToName(ufoType_t type); 00035 const technology_t* UFO_GetTechnologyFromType(const ufoType_t type); 00036 const aircraft_t* UFO_GetByType(const ufoType_t type); 00037 qboolean UFO_ShouldAppearOnGeoscape(const ufoType_t type); 00038 const char* UFO_AircraftToIDOnGeoscape(const aircraft_t *ufocraft); 00039 const char* UFO_MissionResultToString(void); 00040 void UFO_SetRandomDest(aircraft_t* ufo); 00041 void UFO_SetRandomDestAround(aircraft_t* ufocraft, vec2_t pos); 00042 void UFO_FleePhalanxAircraft(aircraft_t *ufo, const vec2_t v); 00043 void UFO_CheckShootBack(aircraft_t *ufo, aircraft_t* phalanxAircraft); 00044 void UFO_CampaignRunUFOs(int dt); 00045 void UFO_UpdateAlienInterestForAllBasesAndInstallations(void); 00046 void UFO_DetectNewUFO(aircraft_t *ufocraft); 00047 qboolean UFO_CampaignCheckEvents(void); 00048 void UFO_InitStartup(void); 00049 aircraft_t *UFO_AddToGeoscape(ufoType_t ufotype, vec2_t destination, mission_t *mission); 00050 void UFO_RemoveFromGeoscape(aircraft_t* ufo); 00051 void UFO_SendToDestination(aircraft_t* ufo, vec2_t dest); 00052 qboolean UFO_SendPursuingAircraft(aircraft_t* ufo, aircraft_t* aircraft); 00053 void UFO_NotifyPhalanxAircraftRemoved(const aircraft_t *const aircraft); 00054 qboolean UFO_IsUFOSeenOnGeoscape(const aircraft_t const *ufo); 00055 aircraft_t* UFO_GetByIDX(const int idx); 00056 00057 #endif