Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

CMap.h

Go to the documentation of this file.
00001 /* 00002 Copyright (C) 2004 Parallel Realities 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public License 00006 as published by the Free Software Foundation; either version 2 00007 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 See the GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 00019 */ 00020 00021 class Map { 00022 00023 private: 00024 00025 Entity *allowableEnemy[10]; 00026 int maxAllowableEnemies; 00027 00028 public: 00029 00030 char name[255]; 00031 00032 unsigned char data[MAPWIDTH][MAPHEIGHT]; 00033 00034 int offsetX, offsetY; 00035 int limitLeft, limitRight, limitUp, limitDown; 00036 00037 int foundItems, totalItems; 00038 int foundMIAs, totalMIAs; 00039 int requiredMIAs; 00040 00041 // time limit for extreme setting 00042 int remainingMinutes; 00043 int remainingSeconds; 00044 00045 // special for ice levels 00046 bool isIceLevel; 00047 00048 // special for flooded tunnel #4 00049 float waterLevel; 00050 int requiredWaterLevel; 00051 00052 // special for arctic wastes 00053 bool isBlizzardLevel; 00054 int windChangeTime; 00055 float windPower; 00056 00057 // Boss Stuff 00058 bool fightingGaldov; 00059 bool isBossMission; 00060 unsigned int bossNextThink; 00061 void (*doBossLevelAction) (void); 00062 Boss *boss[10]; 00063 Boss *mainBossPart; 00064 float bossEnergyMeterBit; 00065 00066 List persistantList; 00067 00068 List trainList; 00069 List itemList; 00070 List bulletList; 00071 List enemyList; 00072 List miaList; 00073 List obstacleList; 00074 List particleList; 00075 List switchList; 00076 List spawnList; 00077 List effectList; 00078 List objectiveList; 00079 List teleportList; 00080 List lineList; 00081 List trapList; 00082 00083 Map(); 00084 00085 void clear(); 00086 void destroy(); 00087 00088 bool isPracticeMission(); 00089 bool isSolid(int x, int y); 00090 bool isBreakable(int x, int y); 00091 bool isNoReset(int x, int y); 00092 bool isLiquid(int x, int y); 00093 bool isTopLayer(int x, int y); 00094 00095 Persistant *getPersistant(char *name); 00096 Persistant *createPersistant(char *name); 00097 void destroyPersistant(char *name); 00098 00099 void setName(char *name); 00100 void setClipping(int limitLeft, int limitRight, int limitUp, int limitDown); 00101 void addTrain(char *name, int startX, int startY, int endX, int endY, int pause, bool atStart, bool active); 00102 void addDoor(char *name, int type, int startX, int startY, int endX, int endY, bool active); 00103 void addSwitch(char *name, char *linkName, char *requiredObjectName, char *activateMessage, int type, int x, int y, bool activated); 00104 void addItem(Entity *item); 00105 void addBullet(Entity *bullet); 00106 void addParticle(float x, float y, float dx, float dy, int health, int color, Sprite *sprite, int flags); 00107 void addEnemy(Entity *enemy); 00108 void addMIA(Entity *mia); 00109 void addObstacle(Entity *obstacle); 00110 void addSpawnPoint(char *name, int x, int y, int type, int subtype, int min, int max, bool active); 00111 void addEffect(Effect *effect); 00112 void addObjective(char *description, char *target, int targetValue, bool required); 00113 void addTeleporter(Teleporter *teleporter); 00114 void addLineDef(LineDef *lineDef); 00115 void addTrap(Trap *trap); 00116 00117 void killAllEnemies(); 00118 00119 void setAllowableEnemy(Entity *enemy); 00120 char *getSpawnableEnemy(); 00121 char *getSpawnableEnemy(int i); 00122 00123 void getRandomEntityPosition(int *x, int *y); 00124 void setMainBossPart(Boss *boss); 00125 };

Generated on Thu Dec 2 20:26:02 2004 for Blob Wars : Metal Blob Solid by doxygen 1.3.7