]> git.mxchange.org Git - quix0rs-blobwars.git/blob - src/CGameData.h
Don't link pak tool with SDL.
[quix0rs-blobwars.git] / src / CGameData.h
1 /*
2 Copyright (C) 2004-2011 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         public:
24                 
25                 bool completedWorld;
26
27                 List dataList;
28
29         void clear();
30         void destroy();
31         
32         void addCompletedObjective(const char *key, const char *value, int current, int target);
33         void addCompletedObjective(Data *newData);
34         
35         void setMIARescueCount(const char *key, int rescues, int total);
36         bool MIARescued(const char *stageName, char *name);
37         
38         bool objectiveCompleted(const char *stageName, const char *name);
39         void getObjectiveValues(const char *stageName, const char *name, int *current, int *target);
40         
41         bool stagePreviouslyCleared(const char *stageName);
42         bool isCompleted(const char *key, const char *value);
43         int getPercentageComplete();
44         
45         bool levelPrefectlyCleared(const char *level);
46         bool requiredLevelCleared(const char *requiredLevel);
47         
48         void calculateWorldCompleted();
49         void calculateAllCompleted();
50
51         GameData();
52
53 };