-Started to move stuff from library back to main game
[supertux.git] / lib / app / globals.h
1 //  $Id$
2 // 
3 //  SuperTux
4 //  Copyright (C) 2004 Bill Kendrick <bill@newbreedsoftware.com>
5 //                     Tobias Glaesser <tobi.web@gmx.de>
6 //                     Ingo Ruhnke <grumbel@gmx.de>
7 //
8 //  This program is free software; you can redistribute it and/or
9 //  modify it under the terms of the GNU General Public License
10 //  as published by the Free Software Foundation; either version 2
11 //  of the License, or (at your option) any later version.
12 //
13 //  This program is distributed in the hope that it will be useful,
14 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 //  GNU General Public License for more details.
17 // 
18 //  You should have received a copy of the GNU General Public License
19 //  along with this program; if not, write to the Free Software
20 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21
22 #ifndef SUPERTUX_GLOBALS_H
23 #define SUPERTUX_GLOBALS_H
24
25 #include <string>
26
27 #include "SDL.h"
28
29 #include "video/font.h"
30 #include "tinygettext.h"
31
32 namespace SuperTux
33   {
34
35   extern TinyGetText::DictionaryManager dictionary_manager;
36   extern TinyGetText::Dictionary* dictionary;
37   
38   class MouseCursor;
39
40   extern std::string datadir;
41
42   struct JoystickKeymap
43     {
44       int a_button;
45       int b_button;
46       int start_button;
47
48       int x_axis;
49       int y_axis;
50
51       int dead_zone;
52
53       JoystickKeymap();
54     };
55
56   extern JoystickKeymap joystick_keymap;
57
58   extern MouseCursor * mouse_cursor;
59
60 #define SCREEN_WIDTH  800
61 #define SCREEN_HEIGHT 600
62
63   /** The number of the joystick that will be use in the game */
64   extern int joystick_num;
65
66   /* SuperTux directory ($HOME/.supertux) */
67   extern std::string user_dir;
68   
69   extern SDL_Joystick * js;
70
71   int wait_for_event(SDL_Event& event,unsigned int min_delay = 0, unsigned int max_delay = 0, bool empty_events = false);
72
73 } //namespace SuperTux
74
75 #endif /* SUPERTUX_GLOBALS_H */