Add current level to another debug message
[supertux.git] / src / supertux / gameconfig.hpp
index 0fd89e6..3b7dd06 100644 (file)
 #ifndef HEADER_SUPERTUX_SUPERTUX_GAMECONFIG_HPP
 #define HEADER_SUPERTUX_SUPERTUX_GAMECONFIG_HPP
 
-#include "video/video_systems.hpp"
+#include "control/joystick_config.hpp"
+#include "control/keyboard_config.hpp"
+#include "math/size.hpp"
+#include "video/video_system.hpp"
 
 class Config
 {
@@ -30,29 +33,30 @@ public:
 
   int profile;
 
-  // the width/height to be used to display the game in fullscreen
-  int fullscreen_width;
-  int fullscreen_height;
+  /** the width/height to be used to display the game in fullscreen */
+  Size fullscreen_size;
 
-  // the width/height of the window managers window 
-  int window_width;
-  int window_height;
+  /** refresh rate for use in fullscreen, 0 for auto */
+  int fullscreen_refresh_rate;
+
+  /** the width/height of the window managers window */
+  Size window_size;
+
+  /** the aspect ratio */
+  Size aspect_size;
 
-  // the aspect ratio
-  int aspect_width;
-  int aspect_height;
-  
   float magnification;
 
   bool use_fullscreen;
-  VideoSystem video;
+  VideoSystem::Enum video;
   bool try_vsync;
   bool show_fps;
   bool sound_enabled;
   bool music_enabled;
   bool console_enabled;
 
-  int random_seed;            // initial random seed.  0 ==> set from time()
+  /** initial random seed.  0 ==> set from time() */
+  int random_seed;
 
   /** this variable is set if supertux should start in a specific level */
   std::string start_level;
@@ -60,10 +64,23 @@ public:
   std::string start_demo;
   std::string record_demo;
 
-  std::string locale; /**< force SuperTux language to this locale, e.g. "de". A file "data/locale/xx.po" must exist for this to work. An empty string means autodetect. */
-};
+  /** force SuperTux language to this locale, e.g. "de". A file
+      "data/locale/xx.po" must exist for this to work. An empty string
+      means autodetect. */
+  std::string locale;
 
-extern Config* g_config;
+  KeyboardConfig keyboard_config;
+  JoystickConfig joystick_config;
+
+  struct Addon
+  {
+    std::string id;
+    bool enabled;
+  };
+  std::vector<Addon> addons;
+
+  bool developer_mode;
+};
 
 #endif