1 #ifndef INC_CONFIG_H
2 #define INC_CONFIG_H
3 
4 #include <string>
5 #include <vector>
6 using namespace std;
7 
8 #include "settings.h"
9 #include "keybindings.h"
10 
11 const int CONFFILE_VERSION_CURRENT = 1;
12 const int CONFFILE_VERSION_FIRST = 1;
13 
14 class Config
15 {
16     public:
17 	double rating[3];
18 	double highestRating[3];
19 
20 	UseAALevel useAA;
21 	bool showGrid;
22 	bool zoomEnabled;
23 	bool rotatingView;
24 	float turnRateFactor;
25 	int fps;
26 	bool showFPS;
27 	bool sound;
28 	float volume;
29 	int soundFreq;
30 	double aaGamma;
31 	int speed;
32 
33 	bool shouldUpdateRating;
34 	char username[17];
35 	unsigned int uuid;
36 
37 	Keybindings rebindings;
38 
39 	BGType bgType;
40 
41 	int width;
42 	int height;
43 	int bpp;
44 	bool fullscreen;
45 
46 	int confFileVersion;
47 
48 	void read();
49 	void write() const;
50 	void importSettings(const Settings& settings);
51 	void exportSettings(Settings& settings) const;
52 
53 	Config();
54 };
55 
56 int obfuscatedRating(double rating);
57 
58 extern Config config;
59 
60 #endif /* INC_CONFIG_H */
61