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 CP_MISSIONS_H 00027 #define CP_MISSIONS_H 00028 00029 #include "missions/cp_mission_baseattack.h" 00030 #include "missions/cp_mission_buildbase.h" 00031 #include "missions/cp_mission_harvest.h" 00032 #include "missions/cp_mission_intercept.h" 00033 #include "missions/cp_mission_recon.h" 00034 #include "missions/cp_mission_supply.h" 00035 #include "missions/cp_mission_terror.h" 00036 #include "missions/cp_mission_xvi.h" 00037 00038 #define UFO_EPSILON 0.00001f 00039 00040 extern const int MAX_POS_LOOP; 00041 00042 void CP_SetMissionVars(const mission_t *mission); 00043 void CP_CreateBattleParameters(mission_t *mission, battleParam_t *param); 00044 void CP_StartMissionMap(mission_t* mission); 00045 mission_t* CP_GetMissionByIDSilent(const char *missionId); 00046 mission_t *CP_GetMissionByID(const char *missionId); 00047 const char *CP_MissionToTypeString(const mission_t *mission); 00048 int MAP_GetIDXByMission(const mission_t *mis); 00049 mission_t* MAP_GetMissionByIDX(int id); 00050 void CP_MissionRemove(mission_t *mission); 00051 qboolean CP_MissionBegin(mission_t *mission); 00052 qboolean CP_CheckNewMissionDetectedOnGeoscape(void); 00053 qboolean CP_CheckMissionLimitedInTime(const mission_t *mission); 00054 void CP_MissionDisableTimeLimit(mission_t *mission); 00055 void CP_MissionNotifyBaseDestroyed(const base_t *base); 00056 void CP_MissionNotifyInstallationDestroyed(const installation_t const *installation); 00057 const char* MAP_GetMissionModel(const mission_t *mission); 00058 void CP_MissionRemoveFromGeoscape(mission_t *mission); 00059 void CP_MissionAddToGeoscape(mission_t *mission, qboolean force); 00060 void CP_UFORemoveFromGeoscape(mission_t *mission, qboolean destroyed); 00061 void CP_SpawnCrashSiteMission(aircraft_t *ufo); 00062 void CP_SpawnRescueMission(aircraft_t *aircraft, aircraft_t *ufo); 00063 ufoType_t CP_MissionChooseUFO(const mission_t *mission); 00064 void CP_MissionStageEnd(mission_t *mission); 00065 void CP_InitializeSpawningDelay(void); 00066 void CP_MissionsInit(void); 00067 void CP_SpawnNewMissions(void); 00068 void CP_MissionIsOver(mission_t *mission); 00069 void CP_MissionIsOverByUFO(aircraft_t *ufocraft); 00070 void CP_MissionEnd(mission_t* mission, qboolean won); 00071 void CP_MissionEndActions(mission_t *mission, aircraft_t *aircraft, qboolean won); 00072 00073 #endif