#include "gui/button.hpp"
 
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 Font* Button::info_font = 0;
 
 
 #include "gui/button_group.hpp"
 
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 extern SDL_Surface* g_screen;
 
 #include "control/joystickkeyboardcontroller.hpp"
 #include "gui/menu_item.hpp"
 #include "gui/mousecursor.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/resources.hpp"
 #include "supertux/timer.hpp"
 
 
 #include <SDL.h>
 
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 MouseCursor* MouseCursor::current_ = 0;
 
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "object/background.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "util/reader.hpp"
 
 
 #include "object/bullet.hpp"
 #include "object/camera.hpp"
 #include "sprite/sprite_manager.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/sector.hpp"
 
 namespace {
 
 #include "object/player.hpp"
 #include "scripting/camera.hpp"
 #include "scripting/squirrel_util.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/sector.hpp"
 
 /* this is the fractional distance toward the peek
 
 #include <math.h>
 
 #include "math/random_generator.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 CloudParticleSystem::CloudParticleSystem() :
 
 #include "object/display_effect.hpp"
 
 #include "scripting/squirrel_util.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 static const float BORDER_SIZE = 75;
 
 #include "object/falling_coin.hpp"
 
 #include "sprite/sprite_manager.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 
 FallingCoin::FallingCoin(const Vector& start_position, const int vel_x) :
   physic(),
 
 #include "object/camera.hpp"
 #include "object/fireworks.hpp"
 #include "object/particles.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/sector.hpp"
 #include "video/drawing_context.hpp"
 
 
 #include "object/floating_image.hpp"
 #include "sprite/sprite.hpp"
 #include "sprite/sprite_manager.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 
 FloatingImage::FloatingImage(const std::string& spritefile) :
   sprite(),
 
 #include <math.h>
 
 #include "math/random_generator.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 //FIXME: Sometimes both ghosts have the same image
 
 #include "object/player.hpp"
 #include "scripting/level_time.hpp"
 #include "scripting/squirrel_util.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "supertux/resources.hpp"
 #include "supertux/sector.hpp"
 
 #include "object/camera.hpp"
 #include "object/magicblock.hpp"
 #include "sprite/sprite.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "supertux/sector.hpp"
 
 
 
 #include "math/random_generator.hpp"
 #include "object/camera.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/sector.hpp"
 #include "video/drawing_context.hpp"
 
 
 #include <math.h>
 
 #include "math/random_generator.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 ParticleSystem::ParticleSystem(float max_particle_size) :
 
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "object/particlesystem_interactive.hpp"
-#include "supertux/main.hpp"
 
 #include "math/aatriangle.hpp"
 #include "math/random_generator.hpp"
 #include "object/rainsplash.hpp"
 #include "object/tilemap.hpp"
 #include "supertux/collision.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/tile.hpp"
 
 //TODO: Find a way to make rain collide with objects like bonus blocks
 
 #include "object/sprite_particle.hpp"
 #include "scripting/squirrel_util.hpp"
 #include "supertux/game_session.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/sector.hpp"
 #include "supertux/tile.hpp"
 #include "trigger/climbable.hpp"
 
 #include <math.h>
 
 #include "math/random_generator.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 SnowParticleSystem::SnowParticleSystem()
 
 
 #include "object/camera.hpp"
 #include "object/sprite_particle.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/sector.hpp"
 
 SpriteParticle::SpriteParticle(std::string sprite_name, std::string action, 
 
 #include "object/text_object.hpp"
 
 #include "scripting/squirrel_util.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/resources.hpp"
 #include "video/drawing_context.hpp"
 
 
 #include "audio/sound_manager.hpp"
 #include "object/electrifier.hpp"
 #include "scripting/squirrel_util.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "supertux/sector.hpp"
 #include "util/reader.hpp"
 
 #include "object/tilemap.hpp"
 #include "scripting/squirrel_util.hpp"
 #include "scripting/tilemap.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "supertux/tile_manager.hpp"
 #include "supertux/tile_set.hpp"
 
 #include "supertux/fadeout.hpp"
 #include "supertux/game_session.hpp"
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/sector.hpp"
 #include "supertux/shrinkfade.hpp"
 
 #include "physfs/ifile_stream.hpp"
 #include "scripting/squirrel_util.hpp"
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 /// speed (pixels/s) the console closes
 
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "supertux/fadeout.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_context.hpp"
 
 FadeOut::FadeOut(float fade_time, Color color)
 
 #include "scripting/squirrel_util.hpp"
 #include "supertux/gameconfig.hpp"
 #include "supertux/levelintro.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/options_menu.hpp"
 #include "supertux/sector.hpp"
 
 #include "lisp/lisp.hpp"
 #include "lisp/writer.hpp"
 #include "lisp/parser.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 
 Config* g_config = 0;
 
 
--- /dev/null
+//  SuperTux
+//  Copyright (C) 2009 Ingo Ruhnke <grumbel@gmx.de>
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#include "supertux/globals.hpp"
+#include "tinygettext/tinygettext.hpp"
+
+SDL_Surface* g_screen;
+JoystickKeyboardController* g_main_controller = 0;
+TinyGetText::DictionaryManager dictionary_manager;
+
+int SCREEN_WIDTH;
+int SCREEN_HEIGHT;
+
+/* EOF */
 
--- /dev/null
+//  SuperTux
+//  Copyright (C) 2009 Ingo Ruhnke <grumbel@gmx.de>
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#ifndef HEADER_SUPERTUX_SUPERTUX_GLOBALS_HPP
+#define HEADER_SUPERTUX_SUPERTUX_GLOBALS_HPP
+
+#include <SDL.h>
+
+/** The width of the display (this is a logical value, not the
+    physical value, since aspect_ration and projection_area might
+    shrink or scale things) */
+extern int SCREEN_WIDTH;
+
+/** The width of the display (this is a logical value, not the
+    physical value, since aspect_ration and projection_area might
+    shrink or scale things) */
+extern int SCREEN_HEIGHT;
+
+// global variables
+class  JoystickKeyboardController;
+extern JoystickKeyboardController* g_main_controller;
+
+extern SDL_Surface* g_screen;
+
+#endif
+
+/* EOF */
 
 
 #include "supertux/info_box.hpp"
 
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/info_box_line.hpp"
 #include "util/log.hpp"
 #include "video/drawing_context.hpp"
 
 #include "math/random_generator.hpp"
 #include "sprite/sprite_manager.hpp"
 #include "supertux/fadeout.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/resources.hpp"
 #include "util/gettext.hpp"
 
 #include "supertux/gameconfig.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/resources.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/title_screen.hpp"
 #include "util/file_system.hpp"
 #include "util/gettext.hpp"
 #include "video/drawing_context.hpp"
+#include "supertux/globals.hpp"
 #include "worldmap/worldmap.hpp"
 
 namespace { DrawingContext *context_pointer; }
 
-SDL_Surface* g_screen;
-JoystickKeyboardController* g_main_controller = 0;
-TinyGetText::DictionaryManager dictionary_manager;
-
-int SCREEN_WIDTH;
-int SCREEN_HEIGHT;
-
 static void init_config()
 {
   g_config = new Config();
 
 void init_video();
 void wait_for_event(float min_delay, float max_delay);
 
-/** The width of the display (this is a logical value, not the
-    physical value, since aspect_ration and projection_area might
-    shrink or scale things) */
-extern int SCREEN_WIDTH;
-
-/** The width of the display (this is a logical value, not the
-    physical value, since aspect_ration and projection_area might
-    shrink or scale things) */
-extern int SCREEN_HEIGHT;
-
-// global variables
-class  JoystickKeyboardController;
-extern JoystickKeyboardController* g_main_controller;
-
 int supertux_main(int argc, char** argv);
 
 #endif
 
 #include "supertux/constants.hpp"
 #include "supertux/console.hpp"
 #include "supertux/gameconfig.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/main.hpp"
 #include "supertux/player_status.hpp"
 #include "supertux/resources.hpp"
 
 #include "gui/menu.hpp"
 #include "gui/menu_item.hpp"
 #include "supertux/gameconfig.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/main.hpp"
 #include "supertux/profile_menu.hpp"
 #include "supertux/language_menu.hpp"
 
 #include "audio/sound_manager.hpp"
 #include "lisp/lisp.hpp"
 #include "util/writer.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/player_status.hpp"
 #include "supertux/resources.hpp"
 #include "supertux/timer.hpp"
 
 #include "supertux/collision.hpp"
 #include "supertux/constants.hpp"
 #include "supertux/level.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "supertux/spawn_point.hpp"
 #include "supertux/tile.hpp"
 
 //  You should have received a copy of the GNU General Public License
 //  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/shrinkfade.hpp"
 #include "video/drawing_context.hpp"
 
 
 #include <limits>
 
 #include "scripting/squirrel_util.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/resources.hpp"
 #include "util/gettext.hpp"
 #include "video/drawing_context.hpp"
 
 #include "lisp/parser.hpp"
 #include "supertux/fadeout.hpp"
 #include "supertux/info_box_line.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/resources.hpp"
 #include "video/drawing_context.hpp"
 
 #include "object/player.hpp"
 #include "supertux/fadeout.hpp"
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/options_menu.hpp"
 #include "supertux/resources.hpp"
 
 #include "trigger/climbable.hpp"
 
 #include "object/player.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "util/gettext.hpp"
 #include "util/reader.hpp"
 
 
 #include "object/tilemap.hpp"
 #include "supertux/level.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/object_factory.hpp"
 #include "supertux/resources.hpp"
 #include "supertux/sector.hpp"
 
 
 #include "obstack/obstackpp.hpp"
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_request.hpp"
 #include "video/lightmap.hpp"
 #include "video/renderer.hpp"
 
 
 #include "obstack/obstackpp.hpp"
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/lightmap.hpp"
 #include "video/drawing_context.hpp"
 #include "video/drawing_request.hpp"
 
 #include <physfs.h>
 
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/drawing_request.hpp"
 #include "video/gl/gl_surface_data.hpp"
 #include "video/gl/gl_texture.hpp"
 
 #include <config.h>
 
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/surface.hpp"
 #include "video/texture.hpp"
 
 
 #include <config.h>
 
 #include "supertux/gameconfig.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "video/color.hpp"
 #include "video/sdl/sdl_texture.hpp"
 
 
 #include "scripting/squirrel_util.hpp"
 #include "sprite/sprite.hpp"
 #include "sprite/sprite_manager.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/player_status.hpp"
 #include "supertux/tile.hpp"
 #include "worldmap/level.hpp"
 
 #include "sprite/sprite.hpp"
 #include "sprite/sprite_manager.hpp"
 #include "supertux/game_session.hpp"
-#include "supertux/main.hpp"
+#include "supertux/globals.hpp"
 #include "supertux/mainloop.hpp"
 #include "supertux/options_menu.hpp"
 #include "supertux/player_status.hpp"