cp_aliencont.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_ALIENCONT_H
00027 #define CLIENT_CL_ALIENCONT_H
00028 
00029 #define MAX_ALIENCONT_CAP   32
00030 
00032 #define BREATHINGAPPARATUS_TECH "rs_alien_breathing"
00033 
00035 typedef enum {
00036     AL_RESEARCH,            
00037     AL_KILL,            
00038     AL_KILLONE,         
00039     AL_ADDALIVE,            
00040     AL_ADDDEAD          
00041 } alienCalcType_t;
00042 
00044 typedef struct aliensCont_s {
00045     const teamDef_t* teamDef;       
00046     int amountAlive;        
00047     int amountDead;     
00048     technology_t *tech;     
00049 } aliensCont_t;
00050 
00055 void AL_FillInContainment(struct base_s *base);
00056 const char *AL_AlienTypeToName(int teamDescIdx);
00057 void AL_CollectingAliens(struct aircraft_s *aircraft);
00058 void AL_AddAliens(struct aircraft_s *aircraft);
00059 void AL_RemoveAliens(struct base_s *base, const teamDef_t *alienType, int amount, const alienCalcType_t action);
00060 int AL_GetAlienGlobalIDX(int idx);
00061 int AL_GetAlienAmount(const teamDef_t *alienType, requirementType_t reqtype, const struct base_s *base);
00062 void AL_ChangeAliveAlienNumber(struct base_s *base, aliensCont_t *containment, int num);
00063 qboolean AL_CheckAliveFreeSpace(const struct base_s *base, const aliensCont_t *containment, const int num);
00064 int AL_CountInBase(const struct base_s *base);
00065 #define AL_GetAircraftAlienCargo(a) (a)->alienCargo
00066 #define AL_GetAircraftAlienCargoTypes(a) ((a)->alienCargoTypes)
00067 #define AL_SetAircraftAlienCargoTypes(a, i) (a)->alienCargoTypes = (i)
00068 qboolean AL_AddAlienTypeToAircraftCargo(struct aircraft_s *aircraft, const teamDef_t *teamDef, int amount, qboolean dead);
00069 
00073 int AL_CountAll(void);
00074 void AC_InitStartup(void);
00075 void AC_KillAll(struct base_s *base);
00076 
00077 #endif /* CLIENT_CL_ALIENCONT_H */

Generated by  doxygen 1.6.2