- added 1up to tileset
[supertux.git] / src / globals.cpp
1 //
2 // C Implementation: globals
3 //
4 // Description:
5 //
6 //
7 // Author: Tobias Glaesser <tobi.web@gmx.de>, (C) 2004
8 //
9 // Copyright: See COPYING file that comes with this distribution
10 //
11 //
12
13 #include "globals.h"
14
15 /** The datadir prefix prepended when loading game data file */
16 std::string datadir;
17
18 SDL_Surface * screen;
19 Text* black_text;
20 Text* gold_text;
21 Text* blue_text;
22 Text* red_text;
23 Text* yellow_nums;
24 Text* white_text;
25 Text* white_small_text;
26 Text* white_big_text;
27
28 MouseCursor * mouse_cursor;
29
30 bool use_gl;
31 bool use_joystick;
32 bool use_fullscreen;
33 bool debug_mode;
34 bool show_fps;
35
36 int joystick_num = 0;
37 char* level_startup_file = 0;
38 bool launch_worldmap_mode = false;
39
40 /* SuperTux directory ($HOME/.supertux) and save directory($HOME/.supertux/save) */
41 char *st_dir, *st_save_dir;
42
43 SDL_Joystick * js;
44
45 /* Returns 1 for every button event, 2 for a quit event and 0 for no event. */
46 int wait_for_event(SDL_Event& event,unsigned int min_delay, unsigned int max_delay, bool empty_events)
47 {
48   int i;
49   Timer maxdelay;
50   Timer mindelay;
51   
52   maxdelay.init(false);
53   mindelay.init(false);
54
55   if(max_delay < min_delay)
56     max_delay = min_delay;
57
58   maxdelay.start(max_delay);
59   mindelay.start(min_delay);
60
61   if(empty_events)
62     while (SDL_PollEvent(&event))
63     {}
64
65   /* Handle events: */
66
67   for(i = 0; maxdelay.check() || !i; ++i)
68     {
69       while (SDL_PollEvent(&event))
70         {
71           if(!mindelay.check())
72             {
73               if (event.type == SDL_QUIT)
74                 {
75                   /* Quit event - quit: */
76                   return 2;
77                 }
78               else if (event.type == SDL_KEYDOWN)
79                 {
80                   /* Keypress - skip intro: */
81
82                   return 1;
83                 }
84               else if (event.type == SDL_JOYBUTTONDOWN)
85                 {
86                   /* Fire button - skip intro: */
87
88                   return 1;
89                 }
90               else if (event.type == SDL_MOUSEBUTTONDOWN)
91                 {
92                   /* Mouse button - skip intro: */
93                   return 1;
94                 }
95             }
96         }
97       SDL_Delay(10);
98     }
99
100   return 0;
101 }