1 /* 2 Copyright (C) 2004-2011 Parallel Realities 3 Copyright (C) 2011-2015 Perpendicular Dimensions 4 5 This program is free software; you can redistribute it and/or 6 modify it under the terms of the GNU General Public License 7 as published by the Free Software Foundation; either version 2 8 of the License, or (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 14 See the GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 20 */ 21 22 class Game { 23 24 private: 25 26 int objectiveCheckPointX, objectiveCheckPointY; 27 28 public: 29 30 char mapName[50]; 31 char stageName[50]; 32 33 int gore, skill, soundVol, musicVol, output, brightness, autoSaveSlot, autoSave; 34 35 int score, stagesCleared; 36 int totalHours, totalMinutes, totalSeconds; 37 int currentMissionHours, currentMissionMinutes, currentMissionSeconds; 38 int totalEnemiesDefeated, totalItemsCollected, totalBonusesCollected; 39 int currentMissionEnemiesDefeated, currentMissionItemsCollected; 40 int totalObjectivesCompleted, totalMIAsRescued; 41 42 unsigned char currentWeapon; 43 unsigned int bulletsFired[5], bulletsHit[5]; 44 45 int checkPointX, checkPointY; 46 int teleportPointX, teleportPointY; 47 48 bool hasAquaLung, hasJetPack, continueFromCheckPoint; 49 50 int lastComboTime; 51 unsigned char currentComboHits, maxComboHits; 52 53 unsigned int missionOverReason; 54 unsigned long missionOver; 55 56 unsigned int continuesUsed; 57 unsigned int levelsStarted; 58 unsigned int escapes; 59 60 int canContinue; 61 62 Game(); 63 void clear(); 64 void destroy(); 65 void incrementMissionTime(); 66 void setCheckPoint(float x, float y); 67 void getCheckPoint(float *x, float *y) const; 68 void setObjectiveCheckPoint(); 69 void useObjectiveCheckPoint(); 70 void doCombo(); 71 void incBulletsFired(); 72 void incBulletsHit(); 73 int getWeaponAccuracy(int weapon); 74 int getTotalBulletsFired() const; 75 int getTotalAccuracy(); 76 int getMostUsedWeapon(); 77 void totalUpStats(); 78 void setStageName(const char *name); 79 void setMapName(const char *name); 80 void setMissionOver(int reason); 81 void resetMissionOver(); 82 83 }; 84