1 /* 2 Copyright (C) 2004 Parallel Realities 3 4 This program is free software; you can redistribute it and/or 5 modify it under the terms of the GNU General Public License 6 as published by the Free Software Foundation; either version 2 7 of the License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 13 See the GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 19 */ 20 21 class GameData { 22 23 private: 24 25 unsigned int maxDirectories, maxFiles; 26 27 public: 28 29 bool shownTitles; 30 31 int gamma, soundVolume, musicVolume, fullscreen; 32 33 char directorySearchPath[PATH_MAX]; 34 35 List virusList; 36 List directoryList; 37 List particleList; 38 List itemList; 39 40 char map[5][5]; 41 42 Base base[4]; 43 44 HighScore highScore[5][10]; 45 46 int nightmareCount; 47 48 unsigned char skill; 49 50 int score; 51 unsigned int activeViruses; 52 unsigned int activeDirs; 53 unsigned int level; 54 55 unsigned int virusesKilled; 56 unsigned int roundVirusesKilled; 57 58 unsigned int filesLost; 59 unsigned int roundFilesLost; 60 61 unsigned int dirsLost; 62 unsigned int roundDirsLost; 63 64 unsigned int biggestChain; 65 unsigned int roundBiggestChain; 66 67 float lastVirusKilled; 68 69 unsigned int currentChain; 70 71 float kernelPower; 72 float threadStopTimer; 73 unsigned char threadStops; 74 75 unsigned int roundItemsCollected; 76 77 78 GameData(); 79 ~GameData(); 80 void clear(); 81 void resetForNextRound(); 82 void destroy(); 83 84 Directory *addDirectory(const char *name); 85 void addVirus(Virus *virus); 86 void addParticle(Particle *particle); 87 void addItem(Item *item); 88 89 void removeEmptyDirectories(); 90 91 Directory *getRandomDirectory(bool active); 92 void buildActiveDirList(int amount); 93 94 }; 95